@deepdesk/deepdesk-sdk 11.6.0 → 11.6.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +2 -2
- package/dist/index.esm.js +2 -2
- package/dist/index.iife.js +2 -2
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
var Cu=Object.defineProperty;var $=(t,e)=>{for(var o in e)Cu(t,o,{get:e[o],enumerable:!0})};import Gr from"classnames";import Ru,{createContext as Pu,useContext as Jn,useEffect as Iu,useState as Lu}from"react";import wu,{useContext as Tu}from"react";import Eu from"classnames";var Kt=wu.createContext({});function h(t,e){let{debug:o,...n}=Tu(Kt),s=n[t];return Object.entries(e).reduce((r,[i,a])=>{let l=s==null?void 0:s[i];return{...r,[i]:Eu(a,l,o?`${t}__${i}`:!1)}},{})}var qr={root:"dd-4s9wq"};import{jsx as wo,jsxs as ku}from"react/jsx-runtime";var To=()=>ku("svg",{className:qr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[wo("defs",{children:wo("style",{children:".cls-1 { fill: #b3b3b3; }"})}),wo("title",{children:"Failed loading image"}),wo("path",{className:"cls-1",d:"M15 130.896V16.994c0-1.097.898-1.994 2.007-1.994h150.986A2 2 0 0 1 170 16.994v69.147L133.015 51 87.26 120.377l-35.863-17.758L15 130.896zM2 0C.895 0 0 .887 0 2v166c0 1.105.887 2 2 2h181c1.105 0 2-.887 2-2V2c0-1.105-.887-2-2-2H2zm49 72c11.046 0 20-9.178 20-20.5S62.046 31 51 31s-20 9.178-20 20.5S39.954 72 51 72z",fillRule:"evenodd"})]});var Zn={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as at}from"react/jsx-runtime";var Eo=Pu(Zn),Au=({title:t,src:e})=>{let o=Jn(Eo),[n,s]=Lu(!1);return Iu(()=>{s(!1)},[e]),at("div",{className:o.imageWrapper,children:e&&!n?at("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):at(To,{})})},Mu=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=Jn(Eo);return at("div",{className:Gr(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Nu=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=Jn(Eo);return Ru.createElement(t,{className:Gr(r.title,o,{[r.contentIsCropped]:e}),...s},n)},ko=({children:t})=>{let e=h("Card",Zn);return at("div",{className:e.root,children:at(Eo.Provider,{value:e,children:t})})};ko.Image=Au;ko.Content=Mu;ko.Title=Nu;var D=ko;import Ou from"classnames";var jr={root:"dd-llBx9"};import{jsx as Fu}from"react/jsx-runtime";var Du={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},_u=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",jr);return Fu("span",{"data-key":Du[e],className:Ou(t,n.root),...o})},Yn=_u;import Hu from"classnames";var Xr={root:"dd-e6HXZ"};import{jsx as Ku}from"react/jsx-runtime";var Bu=({className:t,children:e,...o})=>{let n=h("Label",Xr);return Ku("span",{...o,className:Hu(t,n.root),children:e})},es=Bu;var Qr={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as ts,jsxs as zu}from"react/jsx-runtime";var Uu=({title:t,children:e,type:o,...n})=>{let s=h("Section",Qr);return zu("section",{...n,className:s.root,"data-section-type":o,children:[t&&ts("div",{className:s.subTitleContainer,children:ts("span",{className:s.subtitle,children:t})}),ts("div",{className:s.suggestions,children:e})]})},ve=Uu;import Vu from"classnames";import Wu from"react";var Zr={root:"dd-uoTXh"};import{jsx as qu}from"react/jsx-runtime";var $u=Wu.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",Zr);return qu("div",{ref:o,className:Vu(n.root,t),children:e})}),os=$u;import Ut from"classnames";import Gu,{createContext as ju,useCallback as Xu,useContext as Ve}from"react";var ns={root:"dd-1g-A9",fadein:"dd-McXxq",isClickable:"dd-CTG8E",isSelected:"dd-yhg27",actions:"dd-Nlm6p",actionsIsFixed:"dd-OK-kw",actionButton:"dd-zbXsQ",dropdownList:"dd-AvwWP",dropdownButton:"dd-piaJi",dropdownItem:"dd-qgkTO",dropdownItemButton:"dd-sTE2D",actionButtonIsPrimary:"dd-mhkWS",actionButtonIsDisabled:"dd-0eKLQ",labels:"dd-QKJu6",label:"dd-aMplE",iconButtons:"dd-zEJFg",iconButton:"dd-MXcDi",iconButtonDisabled:"dd-Uk1yr"};import{jsx as re,jsxs as np}from"react/jsx-runtime";var Ie=ju(ns),Qu=({fixed:t,children:e,...o})=>{let n=Ve(Ie);return re("div",{...o,className:Ut(n.actions,{[n.actionsIsFixed]:t}),children:e})};function Zu({as:t,className:e,icon:o,title:n,disabled:s,...r}){let i=Ve(Ie);return re(t||"button",{type:"button",className:Ut(i.iconButton,{[i.iconButtonDisabled]:s},e),title:n,"aria-label":n,...r,children:o})}var Ju=({children:t})=>{let e=Ve(Ie);return re("div",{className:e.iconButtons,children:t})},Yu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=Ve(Ie);return np("div",{className:Ut(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,re("ul",{className:r.dropdownList,children:s})]})},ep=({index:t,label:e,onClick:o})=>{let n=Ve(Ie);return re("li",{className:n.dropdownItem,children:re("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},tp=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=Ve(Ie);return re("button",{type:"button",className:Ut(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},op=({labels:t})=>{let e=Ve(Ie);return re("div",{className:e.labels,children:t.map(o=>re("span",{className:e.label,children:o},o))})},Le=Gu.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",ns),l=Xu(d=>{d.preventDefault(),o&&o(d)},[o]);return re(s,{...r,ref:i,className:Ut(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:l,children:re(Ie.Provider,{value:a,children:n})})});Le.Labels=op;Le.Actions=Qu;Le.ActionButton=tp;Le.DropdownButton=Yu;Le.DropdownItem=ep;Le.IconButtonContainer=Ju;Le.IconButton=Zu;var A=Le;import sp from"classnames";var Jr={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as ip}from"react/jsx-runtime";var rp=({withDivider:t,children:e})=>{let o=h("SuggestionList",Jr);return ip("div",{"data-testid":"suggestions-overlay-list",className:sp(o.root,{[o.isWithDivider]:t}),children:e})},Y=rp;import ap from"classnames";var Yr={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as ss}from"react/jsx-runtime";var lp=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",Yr);return ss("button",{type:"button",className:ap(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:ss("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:ss("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},lt=lp;var ei=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Ro=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ti=/x-deepdesk-(([a-z0-9\-_])+-version)/,Po=["cues","custom-data"],Ae=(g=>(g.SEARCH="search",g.TEMPLATE="template",g.ELASTIC_SEARCH="search-autocomplete",g.GPT="gpt",g.TRIE="trie",g.TRIE_WITH_TYPOS="trie-with-typos",g.SEMANTIC="semantic",g.TEXT_RECOMMENDATION="text_recommendation",g.URL_RECOMMENDATION="url_recommendation",g.LINK_RECOMMENDATION="link_recommendation",g.PERSONAL_COLLECTION="personal-collection",g.PERSONAL_COLLECTION_SEARCH="personal-collection-search",g.SEARCH_OVERLAY="search-overlay",g.SEARCH_PREVIEW="search-preview",g.SEARCH_URL="search-url",g))(Ae||{}),dt=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(dt||{});import{render as Ht,unmountComponentAtNode as jn}from"react-dom";import{Fragment as vf}from"react";import{createSlice as dp}from"@reduxjs/toolkit";import{useSelector as cp}from"react-redux";var Io=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(Io||{});var up={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,showAutoflows:!1,showCustomMessages:!1,showImages:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!1,showMidSentenceSuggestions:!1,showSuggestionsBeforePattern:!1,showSuggestionsAfterPattern:!1,showTabCompletion:!0,showTextSuggestions:!0,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,textSuggestionsCount:3,recommendTextSuggestions:!0,searchTriggerKey:"k",visible:!0,insertLink:!1,inlineSuggestions:!1,floatingMenu:!1,enableSuggestionFeedback:!1,enableFeedbackForm:!1,adminUrl:void 0,productName:"Deepdesk"},oi=dp({name:"settings",initialState:up,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:Lo}=oi.actions,rs=t=>e=>e.settings[t],C=t=>cp(rs(t)),ni=oi.reducer;import{useSelector as aa}from"react-redux";import{createAsyncThunk as is,createSlice as pp}from"@reduxjs/toolkit";var mp={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},q=t=>t.auth.isLoggedIn,si=t=>t.auth.loginFetchState,ri=t=>t.auth.verifyFetchState,ii=t=>t.auth.showLoginOverlay,Se=is("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),ai=is("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),zt=is("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),li=pp({name:"auth",initialState:mp,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(Se.pending,e=>{e.loginFetchState="loading"}),t.addCase(Se.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(Se.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(zt.pending,e=>{e.verifyFetchState="loading"}),t.addCase(zt.rejected,e=>{e.verifyFetchState="error"}),t.addCase(zt.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:ct,setShowLoginOverlay:di}=li.actions,ci=li.reducer;import{createAction as gt,createSlice as Cp}from"@reduxjs/toolkit";import{diffChars as wp}from"diff";import{useSelector as Tp}from"react-redux";function ui(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Me(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)=>Me(r,e[i],o-1)):ui(t)&&ui(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Me(t[i],e[i],o-1)):!1}function gp(t){return Math.max(...t.map(e=>e.length))}function fp(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 pi(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<gp(n);s++){let r=fp(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 hp=2;function as(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=pi(t,hp);return o&&o.text!==e?o:t[0]}import{createAction as vp,createAsyncThunk as ut,createSlice as Sp}from"@reduxjs/toolkit";var yp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},b=yp;var mi={current:null,isSupported:null},N=vp("resetConversation"),pt=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},Ne=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},mt=t=>t.conversation.isSupported,ls=ut("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Ao=ut("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Mo=ut("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),No=ut("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Ne(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),ds=ut("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:l}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),Oo=ut("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Ne(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),xp=[Ao.rejected,Mo.rejected,No.rejected,Oo.rejected].map(t=>t==null?void 0:t.toString()),bp=Sp({name:"conversation",initialState:mi,reducers:{},extraReducers:t=>{t.addCase(ls.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Ao.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Mo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(ds.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(No.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Oo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(N,()=>mi).addMatcher(e=>xp.includes(e.type),(e,o)=>{var n;throw b.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),gi=bp.reducer;var Oe={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 fi(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 _o=gt("input/replaceText"),Fo=gt("input/keyDown"),We=gt("input/sendMessage"),Ho=gt("input/uiInputChange"),Bo=gt("input/applyImageSuggestion"),G=gt("input/sendEvent");function Do(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:l},eventMetrics:{inputType:d},replace:c}=t.stagedSuggestion,p=o==="search"||o==="personal-collection-search",u=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(p||c==="selection")&&(u=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(u=l),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:u,source:o,abVariant:n,abTestName:s,inputType:d,sourceText:i,trainingJobs:r||[],searchTerm:p?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var hi=Cp({name:"input",initialState:Oe,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,{...Oe,selection:t.selection})},resetToCommitted(t){t.text=t.userCommitted.text,t.selection=t.userCommitted.selection,t.stagedSuggestion=null,t.tabCompletionSuggestion=as(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Me(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&Do(t)))},platformInput(t,e){let{text:o,html:n,selection:s}=e.payload;s&&(t.selection.start=s.start,t.selection.end=s.end),t.text=o,t.html=n||null},userInput(t,e){var r,i,a,l;if(t.previousKeyDownEvent){let{key:d,shiftKey:c,ctrlKey:p,metaKey:u,altKey:m}=t.previousKeyDownEvent;switch(d){case"Enter":c&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:f}=t,{text:g}=e.payload,x=wp(f,g);f.length-g.length>1&&t.metrics.deletions.push(...x.filter(y=>y.removed).map(y=>y.value)),t.metrics.numCharsDeleted+=f.length-g.length;break}case"C":case"V":case"X":if(!p&&!u){t.metrics.numCharsTyped+=1;let f=((r=t.selection)==null?void 0:r.start)!==void 0&&((i=t.selection)==null?void 0:i.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}break;case"Shift":break;default:if(!p&&!u&&!m){t.metrics.numCharsTyped+=1;let f=((a=t.selection)==null?void 0:a.start)!==void 0&&((l=t.selection)==null?void 0:l.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}}}!t.metrics.agentStartedTypingTimestamp&&e.payload.text!==t.text&&(t.metrics.agentStartedTypingTimestamp=Date.now()),e.payload.text===""&&(t.metrics=Oe.metrics,t.textSuggestions=[],t.stagedSuggestion=null),t.text!==e.payload.text&&Do(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"&&Do(t)},commitSuggestion(t){Do(t)},offeredTextSuggestion(t,e){let{text:o,suggestion:{source:n}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===o)||t.metrics.offeredTextSuggestions.push({text:o,source:n})},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics={...t.metrics,numCharsCut:o.numCharsCut+n.length,cuts:[...o.cuts,n]}},registerPaste(t,e){let{metrics:o}=t,{text:n,selectionText:s}=e.payload,r=o.numCharsDeleted+(s&&s.length?s.length:0),i=s&&s.length?[...o.deletions,s]:o.deletions;t.metrics={...t.metrics,numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]}},registerKeyDown(t,e){t.previousKeyDownEvent=e.payload},nextTextSuggestionIndex(t){let e=t.textSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},previousTextSuggestionIndex(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.tabCompletionSuggestion=void 0;return}let o=t.userCommitted.text.substring(0,t.userCommitted.selection.end),n=as(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(N,e=>{e.tabCompletionSuggestion=Oe.tabCompletionSuggestion,e.previousKeyDownEvent=Oe.previousKeyDownEvent,e.textSuggestions=Oe.textSuggestions,e.selectedSuggestionIndex=Oe.selectedSuggestionIndex,e.metrics=Oe.metrics})}}),ft=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),Ep=t=>t.input.selection,yi=()=>Tp(Ep),{userInput:vi,changeSelection:cs,initialInput:Si,nextTextSuggestionIndex:xi,offeredTextSuggestion:bi,previousTextSuggestionIndex:Ci,registerCut:wi,registerKeyDown:Ti,registerPaste:Ei,reset:ki,resetToCommitted:Vt,platformInput:Ri,setSelectedTextSuggestionIndex:De,setTextSuggestions:ue,stageSuggestion:pe,commitSuggestion:xe,setMetrics:Pi}=hi.actions,Ii=hi.reducer;import{createAsyncThunk as Ip,createSlice as Lp}from"@reduxjs/toolkit";import{createAsyncThunk as ps,createSlice as Rp}from"@reduxjs/toolkit";function kp(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,[kp(o)]:L(t[o])}),{}):t}function us(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function F(t){return Array.isArray(t)?t.map(F):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[us(o)]:F(t[o])}),{}):t}var Pp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,fetchState:"idle"},$t=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)||""}},Wt=ps("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))}),ms=ps("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}),gs=ps("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Li=t=>t.info.agentInfo,Ai=t=>t.info.customData,Mi=Rp({name:"info",initialState:Pp,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}},setCustomData(t,e){t.customData=e.payload}},extraReducers:t=>{t.addCase(Wt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Wt.rejected,e=>{e.fetchState="error"}).addCase(Wt.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(ms.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(gs.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(N,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ni,setCustomData:Oi}=Mi.actions,Di=Mi.reducer;var Ko={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},_i=t=>t.search.isOpen,Fi=t=>t.search.page,Hi=t=>t.search.list,Bi=t=>t.search.aggregates;function Ki(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var $e=Ip("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:$t(n)});return{results:r.map(l=>({...l,source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),Ui=Lp({name:"search",initialState:Ko,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=Ko.fetchState,t.list=Ko.list}},extraReducers:t=>{t.addCase($e.pending,e=>{e.fetchState="loading"}).addCase($e.rejected,(e,o)=>{e.fetchState="error",b.error(o.error)}).addCase($e.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(N,()=>Ko)}}),{resetSearch:Uo,setIsOpen:ee,setPage:ie}=Ui.actions,zi=Ui.reducer;var fs="SetCues",ht="ShowLoginOverlay",qt="UserLoggedIn",Ap="UserLoggedOut",_e="ApplySuggestion",hs="ApplyImageSuggestion",Mp="ShowCommandPalette",Np=t=>({[fs]:e=>{t.dispatch({...e,isBroadcasted:!0})},[Mp]:e=>{t.dispatch(ee(e.isOpen)),e.page&&t.dispatch(ie(e.page))},[ht]:e=>{t.dispatch(di(e))},[qt]:()=>{t.dispatch(Se())},[Ap]:()=>{t.dispatch(Se())},[hs]:e=>{t.dispatch(Bo({suggestion:e.suggestion}))},[_e]:e=>{t.dispatch(pe({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(xe())}}),Vi=Np;import Wi,{useContext as Op}from"react";import{jsx as Dp}from"react/jsx-runtime";var $i=Wi.createContext(null),qe=({broadcastEvents:t,children:e})=>{let o=Wi.useMemo(()=>t,[]);return Dp($i.Provider,{value:o,children:e})},se=()=>{let t=Op($i);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import ks from"classnames";import{useCallback as ra,useEffect as rm,useMemo as im,useState as Rs}from"react";import{useDispatch as am,useSelector as lm}from"react-redux";import{createContext as Gp,useContext as jp}from"react";var ys=function(t,e){return ys=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])},ys(t,e)};function Gt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ys(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var te=function(){return te=Object.assign||function(e){for(var o,n=1,s=arguments.length;n<s;n++){o=arguments[n];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},te.apply(this,arguments)};function qi(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 zo(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 Vo;(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"})(Vo||(Vo={}));var Wo=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var ae;(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"})(ae||(ae={}));var $o;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})($o||($o={}));function vs(t){return t.type===ae.literal}function Gi(t){return t.type===ae.argument}function qo(t){return t.type===ae.number}function Go(t){return t.type===ae.date}function jo(t){return t.type===ae.time}function Xo(t){return t.type===ae.select}function Qo(t){return t.type===ae.plural}function ji(t){return t.type===ae.pound}function Zo(t){return t.type===ae.tag}function Jo(t){return!!(t&&typeof t=="object"&&t.type===$o.number)}function jt(t){return!!(t&&typeof t=="object"&&t.type===$o.dateTime)}function Ss(t){t.forEach(function(e){if(delete e.location,Xo(e)||Qo(e))for(var o in e.options)delete e.options[o].location,Ss(e.options[o].value);else qo(e)&&Jo(e.style)||(Go(e)||jo(e))&&jt(e.style)?delete e.style.location:Zo(e)&&Ss(e.children)})}function Xi(t,e){e===void 0&&(e={}),e=te({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Wo(t,e).parse();if(o.err){var n=SyntaxError(Vo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||Ss(o.val),o.val}function Yo(t,e){var o=e&&e.cache?e.cache:Up,n=e&&e.serializer?e.serializer:Kp,s=e&&e.strategy?e.strategy:Fp;return s(t,{cache:o,serializer:n})}function _p(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Qi(t,e,o,n){var s=_p(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function Zi(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 xs(t,e,o,n,s){return o.bind(e,t,n,s)}function Fp(t,e){var o=t.length===1?Qi:Zi;return xs(t,this,o,e.cache.create(),e.serializer)}function Hp(t,e){return xs(t,this,Zi,e.cache.create(),e.serializer)}function Bp(t,e){return xs(t,this,Qi,e.cache.create(),e.serializer)}var Kp=function(){return JSON.stringify(arguments)};function bs(){this.cache=Object.create(null)}bs.prototype.get=function(t){return this.cache[t]};bs.prototype.set=function(t,e){this.cache[t]=e};var Up={create:function(){return new bs}},en={variadic:Hp,monadic:Bp};var Ge;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Ge||(Ge={}));var Xt=function(t){Gt(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 Cs=function(t){Gt(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),Ge.INVALID_VALUE,r)||this}return e}(Xt);var Ji=function(t){Gt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),Ge.INVALID_VALUE,s)||this}return e}(Xt);var Yi=function(t){Gt(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),Ge.MISSING_VALUE,n)||this}return e}(Xt);var W;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(W||(W={}));function zp(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==W.literal||o.type!==W.literal?e.push(o):n.value+=o.value,e},[])}function Vp(t){return typeof t=="function"}function Qt(t,e,o,n,s,r,i){if(t.length===1&&vs(t[0]))return[{type:W.literal,value:t[0].value}];for(var a=[],l=0,d=t;l<d.length;l++){var c=d[l];if(vs(c)){a.push({type:W.literal,value:c.value});continue}if(ji(c)){typeof r=="number"&&a.push({type:W.literal,value:o.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new Yi(p,i);var u=s[p];if(Gi(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?W.literal:W.object,value:u});continue}if(Go(c)){var m=typeof c.style=="string"?n.date[c.style]:jt(c.style)?c.style.parsedOptions:void 0;a.push({type:W.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(jo(c)){var m=typeof c.style=="string"?n.time[c.style]:jt(c.style)?c.style.parsedOptions:n.time.medium;a.push({type:W.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(qo(c)){var m=typeof c.style=="string"?n.number[c.style]:Jo(c.style)?c.style.parsedOptions:void 0;m&&m.scale&&(u=u*(m.scale||1)),a.push({type:W.literal,value:o.getNumberFormat(e,m).format(u)});continue}if(Zo(c)){var f=c.children,g=c.value,x=s[g];if(!Vp(x))throw new Ji(g,"function",i);var y=Qt(f,e,o,n,s,r),S=x(y.map(function(w){return w.value}));Array.isArray(S)||(S=[S]),a.push.apply(a,S.map(function(w){return{type:typeof w=="string"?W.literal:W.object,value:w}}))}if(Xo(c)){var v=c.options[u]||c.options.other;if(!v)throw new Cs(c.value,u,Object.keys(c.options),i);a.push.apply(a,Qt(v.value,e,o,n,s));continue}if(Qo(c)){var v=c.options["=".concat(u)];if(!v){if(!Intl.PluralRules)throw new Xt(`Intl.PluralRules is not available in this environment.
|
|
2
2
|
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
-
`,Ge.MISSING_INTL_API,i);var R=o.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));v=c.options[R]||c.options.other}if(!v)throw new Cs(c.value,u,Object.keys(c.options),i);a.push.apply(a,Qt(v.value,e,o,n,s,u-(c.offset||0)));continue}}return zp(a)}function Wp(t,e){return e?te(te(te({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=te(te({},t[n]),e[n]||{}),o},{})):t}function $p(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Wp(t[n],e[n]),o},te({},t)):t}function ws(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function qp(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Yo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,zo([void 0],o,!1)))},{cache:ws(t.number),strategy:en.variadic}),getDateTimeFormat:Yo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,zo([void 0],o,!1)))},{cache:ws(t.dateTime),strategy:en.variadic}),getPluralRules:Yo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,zo([void 0],o,!1)))},{cache:ws(t.pluralRules),strategy:en.variadic})}}var ea=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(d){var c=r.formatToParts(d);if(c.length===1)return c[0].value;var p=c.reduce(function(u,m){return!u.length||m.type!==W.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(d){return Qt(r.ast,r.locales,r.formatters,r.formats,d,void 0,r.message)},this.resolvedOptions=function(){var d;return{locale:((d=r.resolvedLocale)===null||d===void 0?void 0:d.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,l=qi(i,["formatters"]);this.ast=t.__parse(e,te(te({},l),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=$p(t.formats,n),this.formatters=s&&s.formatters||qp(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=Xi,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 Xp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Qp="dummy",Ts=Gp(null);function E(t){let e=jp(Ts);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=Xp(o,n);return r?new ea(r).format(s):(e!==Qp&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as Zp,useRef as Jp}from"react";var ta={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as oa}from"react/jsx-runtime";var Yp=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let l=Jp(null),d=h("Dialog",ta),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===l.current&&t&&n()};return Zp(()=>{var u,m;!l.current||!t||!e||(m=(u=l.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,l]),t?oa("div",{role:"dialog","data-testid":"dialog",className:d.root,"aria-label":i,ref:l,onKeyDown:c,onMouseDown:p,children:oa("div",{"data-testid":"dialog-content",className:d.content,"aria-label":a,children:o})}):null},tn=Yp;import em from"classnames";var na={root:"dd-ranhW"};import{jsx as om}from"react/jsx-runtime";var tm=({className:t,value:e,...o})=>{let n=h("TextInput",na);return om("input",{className:em(t,n.root),type:"text",value:e,...o})},Zt=tm;var Es={};$(Es,{enUS:()=>nm,nlNL:()=>sm});var nm={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"}]},sm={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 sa={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as Q,jsxs as on}from"react/jsx-runtime";var dm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},cm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=E(Es),i=h("LoginTokenDialog",sa),a=lm(ri),l=am(),d=C("productName"),[c,p]=Rs(t||""),[u,m]=Rs(0),[f,g]=Rs(""),x=ra(async R=>{R.preventDefault(),l(ai({email:c})),m(1)},[o,c]),y=()=>{g(""),m(0)},S=ra(async R=>{R.preventDefault();let w=dm(R.target.elements.token.value);if(!w){g(r("verifyCodeError",{login:v}));return}l(zt({token:w}))},[o]),v=im(()=>R=>Q("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:y,children:R},"back-button"),[]);return rm(()=>{a==="error"&&g(r("verifyCodeError",{login:v})),a==="done"&&n()},[a]),Q(tn,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:d}),overlayAriaLabel:r("promptTitle",{productName:d}),onClose:s,onBack:s,children:on("div",{className:i.root,children:[Q("h1",{className:i.title,children:r("promptTitle",{productName:d})}),u===0&&on("form",{onSubmit:x,children:[Q("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Q("p",{className:i.text,children:r("requestCodeBody",{productName:d})}),Q(Zt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:R=>p(R.target.value)}),Q("div",{className:i.actions,children:Q("button",{type:"submit",className:ks(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&on("form",{onSubmit:S,children:[Q("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Q("p",{className:i.text,children:r("verifyCodeBody")}),Q(Zt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&Q("div",{className:i.errorMessage,children:f}),on("div",{className:i.actions,children:[Q("button",{type:"button",className:ks(i.button),onClick:y,children:r("back")}),Q("button",{type:"submit",className:ks(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},ia=cm;import{jsx as pm}from"react/jsx-runtime";var um=()=>{let t=aa(ii),e=aa(Li),o=C("adminUrl"),n=se(),s=()=>n.send(ht,!1),r=()=>{n.send(ht,!1),n.send(qt)};return pm(ia,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},la=um;import uf from"lodash.debounce";import{Fragment as pf,useCallback as Rl,useEffect as Js,useState as Ys}from"react";import{useDispatch as mf,useSelector as Ze}from"react-redux";import{createAsyncThunk as mm,createSlice as gm}from"@reduxjs/toolkit";var fm={data:null,fetchState:"idle"},da=t=>t.contentTypes.data,Jt=mm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),hm=gm({name:"contentTypes",initialState:fm,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})}}),ca=hm.reducer;function be(t){let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),e.remove()}import{useEffect as ka,useState as zm,useRef as Vm,useCallback as Wm}from"react";import{useState as Sm}from"react";import Ps from"classnames";var oe={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemPrimaryAction:"dd-LdJ8w",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",sourceShowMore:"dd-M1-8j",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var Ce={};$(Ce,{enUS:()=>ym,nlNL:()=>vm});var ym={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}],showAll:[{type:0,value:"Show more"}],sources:[{type:0,value:"Sources"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},vm={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}],sources:[{type:0,value:"Bronnen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};import{jsx as Yt,jsxs as bm}from"react/jsx-runtime";var xm=({src:t,title:e})=>{let o=h("CommandPalette",oe),[n,s]=Sm("loading"),r=E(Ce);return bm("div",{className:o.image,children:[Yt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Ps(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Yt("span",{className:Ps(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Yt("span",{className:Ps(o.imageSrc,o.imageSrcStatus),children:Yt(To,{})}),e&&Yt("span",{className:o.imageTitle,children:e})]})},ua=xm;import Cm from"react";import wm from"classnames";import{jsx as Is,jsxs as pa}from"react/jsx-runtime";function Ls({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=E(Ce),i=h("CommandPalette",oe);return Cm.Children.count(t)===0?null:pa("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&pa("div",{className:i.listHeader,children:[e&&Is("h4",{className:i.listHeading,children:e}),n&&s&&Is("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Is("div",{className:wm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import to from"classnames";import{Interweave as Mm}from"interweave";import{useState as Nm}from"react";var Tm=/[.*+?^${}()|[\]\\]/g,Em=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function km(t){return t.replace(Tm,"\\$&")}function Rm(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Pm(t){return t.search(Em)}function ma(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${km(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ga(t){return t.replace(Ro,'<mark data-type="placeholder">$1</mark>')}function eo(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Im(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 As(t,e,o={}){if(e){let n=Rm(e.toLowerCase(),t.toLowerCase()),s=eo(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),d=Pm(l);return`<span style="opacity: 0.5">${l.substring(d+1)}</span>${s}`}let i=e.split(ei).length>3||e.length>30?Im(e.trim(),n):0;return`${`${i>0?"\u2026":""}${eo(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Lm=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Ms(t){return Lm.test(t)}function fa(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import Ns from"react";import{jsx as Am}from"react/jsx-runtime";var ha=Ns.createContext(void 0);function Fe(){let t=Ns.useContext(ha);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ya=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Ns.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Am(ha.Provider,{value:i,children:t})};import{jsx as je,jsxs as Os}from"react/jsx-runtime";var Om=3,va=({children:t})=>{let e=h("CommandPalette",oe);return je("div",{className:e.listItemActions,children:t})};function Ds({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,extra:s,onSourceClick:r,description:i,sources:a,id:l,styles:d,defaultSourcesAmount:c=Om,...p}){let u=E(Ce),[m,f]=Nm(!1),{selected:g,onChangeOpen:x}=Fe(),y=h("CommandPalette",oe);function S(v){n(v),t&&x(!1)}return Os("div",{className:to(y.listItem,l===g&&y.listItemSelected),children:[je("button",{type:"button",className:to(y.listItemAction,y.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:S,"data-command-palette-item":!0,"data-item-id":l,...p,children:Os("div",{className:y.listItemContent,children:[typeof o=="string"?je("p",{className:to(y.listItemText,y.truncate,d==null?void 0:d.title),children:o}):o,i&&je(Mm,{tagName:"p",allowList:[],content:Ms(i)?fa(i):i,className:to(y.listItemDescription,d==null?void 0:d.description,e?y.lineClamp:y.truncate)})]})}),s,a&&a.length>0&&Os("div",{className:y.sources,children:[je("span",{className:y.sourcesTitle,children:u("sources")}),a.slice(0,m?a.length:c).map(v=>je("a",{className:y.source,href:v.url,target:"_blank",title:v.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>r&&r(v),children:v.name},v.url)),!m&&a.length>c&&je("button",{className:to(y.source,y.sourceShowMore),type:"button",onClick:()=>f(!0),children:u("showMore",{amount:a.length-c})})]})]})}import{jsx as Sa,jsxs as Dm}from"react/jsx-runtime";var xa=()=>Dm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Sa("title",{id:"angleLeftTitle",children:"AngleLeft"}),Sa("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 ba,jsxs as _s}from"react/jsx-runtime";function Fs({children:t,title:e,id:o,onDismiss:n}){let s=E(Ce),r=h("CommandPalette",oe),{page:i}=Fe();return i!==o?null:_s("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&_s("div",{className:r.pageNav,children:[_s("button",{className:r.pageBackButton,type:"button",onClick:n,children:[ba(xa,{}),s("back")]}),e&&ba("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as Fm}from"react";import{jsx as Ca,jsxs as _m}from"react/jsx-runtime";var yt=()=>_m("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ca("path",{d:"M0 0h24v24H0z",fill:"none"}),Ca("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as vt,jsxs as Hs}from"react/jsx-runtime";function Hm({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let l=h("CommandPalette",oe);return Hs("div",{className:l.search,children:[vt("div",{className:l.searchIcon,children:vt(yt,{})}),Hs("div",{className:l.searchInputWrapper,children:[vt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:d=>{t(d.currentTarget.value)},onFocus:d=>{d.currentTarget.select()},className:l.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&vt("div",{className:l.selectWrapper,children:Hs("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:d=>e(d.target.value===n?void 0:d.target.value),value:i||n,children:[n&&vt("option",{children:n}),s.map(d=>vt("option",{value:d.value,children:d.label},d.value))]})})]})]})}var wa=Fm(Hm);import Ta from"classnames";import{jsx as Km,jsxs as Um}from"react/jsx-runtime";var Bm=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",oe);return Um("button",{type:"button",...n,onClick:t,className:Ta(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Km("span",{className:Ta(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Ea=Bm;import{jsx as Ra,jsxs as qm}from"react/jsx-runtime";var $m="[data-command-palette-item]";function Xe({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:d,children:c,isOpen:p,search:u}){let[m,f]=zm(),g=Vm(null),x=()=>{s&&s(o),i(void 0),r(""),a(!1)},y=()=>{var I;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(I=g.current)==null||I.focus();return}if(u.length>0){r("");return}a(!1)},S=()=>{let I=v();I.length!==0&&f(I[0].dataset.itemId)},v=()=>Array.from(document.querySelectorAll($m)||[]),R=I=>document.querySelector(`[data-item-id=${I}]`),w=I=>{let _=R(I);_&&f(_.dataset.itemId)},k=I=>{let _=R(I);_&&_.scrollIntoView({behavior:"smooth"})},M=()=>{if(!m)return;let I=v(),_=R(m);if(!_)return;let ne=I.indexOf(_),X=I[ne+1];X&&X.dataset.itemId?w(X.dataset.itemId):S()},j=()=>{if(!m)return;let I=v(),_=R(m);if(!_)return;let ne=I.indexOf(_),X=I[ne-1];X&&X.dataset.itemId?w(X.dataset.itemId):w(I[I.length-1].dataset.itemId)},z=Wm(I=>{switch(I.key){case"ArrowDown":{I.preventDefault(),M();break}case"ArrowUp":{I.preventDefault(),j();break}case"Enter":{if(m){let _=R(m);_==null||_.click()}break}}},[m]);return ka(()=>{S()},[u,n,l,p]),ka(()=>{m&&k(m)},[m]),Ra(tn,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:y,onClose:x,onKeyDown:z,children:qm(ya,{selected:m,setSelected:f,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&Ra(wa,{ref:g,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:l,types:d,typePlaceholder:e}),c]})})}Xe.Page=Fs;Xe.List=Ls;Xe.Image=ua;Xe.ListItem=Ds;Xe.ListItemActions=va;Xe.Button=Ea;var O=Xe;import{useEffect as Gm}from"react";function Pa(t,e){Gm(()=>{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 Ma,useRef as eg}from"react";import{useSelector as tg,useDispatch as og}from"react-redux";import{createAsyncThunk as jm,createSlice as Xm}from"@reduxjs/toolkit";var Ia={data:null,fetchState:"idle"},nn=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},le=jm("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)}),Qm=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),Zm=Xm({name:"entities",initialState:Ia,reducers:{},extraReducers:t=>{t.addCase(le.pending,e=>{e.fetchState="loading"}).addCase(le.rejected,e=>{e.fetchState="error"}).addCase(le.fulfilled,(e,o)=>{e.fetchState="done",e.data=Qm(e.data?[...e.data,...o.payload]:o.payload)}).addCase(N,()=>Ia)}}),La=Zm.reducer;var Bs={};$(Bs,{enUS:()=>Jm,nlNL:()=>Ym});var Jm={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Ym={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Aa={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Ks,jsxs as sg}from"react/jsx-runtime";var ng=({onCopy:t})=>{let e=eg(null),o=h("EntitiesList",Aa),n=tg(nn),{setSelected:s}=Fe(),r=E(Bs),i=og();return Ma(()=>{i(le())},[]),Ma(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),sg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Ks(O.List,{children:n.map((a,l)=>Ks(O.ListItem,{id:`entity-${l}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Ks("p",{className:o.empty,children:r("noResults")})]})},Na=ng;import{Fragment as yg,useEffect as sn,useRef as vg,useState as Sg}from"react";import{useSelector as $s,useDispatch as xg}from"react-redux";import{createAsyncThunk as rg,createSlice as ig}from"@reduxjs/toolkit";var Oa={data:null,fetchState:"idle"},Da=t=>t.summary.data,_a=t=>t.summary.fetchState==="error",Fa=t=>t.summary.model,we=rg("summary/getSummary",async(t,e)=>{var c,p,u;let o=e.getState().profile.data,n=(c=e.getState().conversation.current)==null?void 0:c.sessionId,s=(u=(p=e.getState().info)==null?void 0:p.agentInfo)==null?void 0:u.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,l=await a();if(l.length===0)return Promise.reject(new Error("No messages are included"));let d=await r.getSummary(l,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return d.summary?d:Promise.reject(new Error("Summary is not provided"))}),ag=ig({name:"summary",initialState:Oa,reducers:{},extraReducers:t=>{t.addCase(we.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(we.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(we.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary,e.model=o.payload.model)}).addCase(N,()=>Oa)}}),Ha=ag.reducer;var Us={};$(Us,{enUS:()=>lg,nlNL:()=>dg});var lg={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."}]},dg={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 Ba={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import Ws from"classnames";import{useState as gg}from"react";import{jsx as Ka}from"react/jsx-runtime";var zs=t=>Ka("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Ka("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 Ua}from"react/jsx-runtime";var za=t=>Ua("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Ua("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 St(t,e){var s;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",e.split(" ").forEach(r=>{o.classList.add(r)}),o.addEventListener("animationend",()=>o.remove()),(s=t.parentElement)==null||s.appendChild(o)}var Vs={};$(Vs,{enUS:()=>cg,nlNL:()=>ug});var cg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},ug={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as mg}from"react-redux";import{createAsyncThunk as pg}from"@reduxjs/toolkit";function Va(t){return pg("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,{conversationId:n,...s,data:e.data})})(t)}function xt(){let t=mg();return async(e,o)=>{await t(Va({name:e,data:o}))}}var Wa={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as $a}from"react-redux";var bt=t=>e=>{let{passwordlessToken:{token:o},settings:{isEmbedded:n,adminUrl:s}}=e;return s?n?o?`${s}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null:`${s}${t}`:null};import{jsx as Ct,jsxs as hg}from"react/jsx-runtime";var fg=({eventName:t,eventData:e,feedbackType:o,feedbackText:n})=>{let s=h("FeedbackThumbs",Wa),r=C("enableFeedbackForm"),i=$a(Ne),a=$a(bt(`/admin/feedback?conversationId=${i}&type=${o}&text=${n}&data=${JSON.stringify(e)}`)),l=E(Vs),d=xt(),[c,p]=gg(null),u=f=>{f.stopPropagation(),St(f.target,s.fadeup),p("up"),d(t,{...e,rating:"up"})},m=f=>{f.stopPropagation(),St(f.target,s.fadedown),p("down"),d(t,{...e,rating:"down"})};return hg("div",{className:s.thumbs,children:[Ct(A.IconButton,{title:l("thumbsUp"),onClick:u,icon:Ct(za,{}),className:Ws(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),r&&a?Ct(A.IconButton,{as:"a",title:l("thumbsDown"),href:a,target:"_blank",rel:"noreferrer",onClick:m,icon:Ct(zs,{}),className:Ws(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):Ct(A.IconButton,{title:l("thumbsDown"),onClick:m,icon:Ct(zs,{}),className:Ws(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},wt=fg;import{jsx as Tt,jsxs as qa}from"react/jsx-runtime";var bg=({onCopy:t})=>{let e=vg(null),o=h("SummaryForm",Ba),[n,s]=Sg(""),r=E(Us),i=$s(Fa),a=$s(Da),l=$s(_a),d=xg(),c=()=>{d(G({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},p=()=>{let u=document.getSelection();u&&d(G({name:"summary copied to clipboard",data:{originalText:a,finalText:u==null?void 0:u.toString(),model:i},options:{includeConversationData:!0}}))};return sn(()=>{d(we())},[]),sn(()=>{s(a||"")},[a]),sn(()=>{e.current&&a&&e.current.focus()},[e,a]),sn(()=>{let u=m=>{m.key==="Enter"&&m.shiftKey&&c()};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u)}},[n]),Tt("div",{className:o.root,tabIndex:-1,children:l?Tt("p",{className:o.error,children:r("error")}):qa(yg,{children:[Tt("div",{className:o.main,children:Tt("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:p,onChange:u=>s(u.target.value)})}),qa("div",{className:o.actions,children:[Tt(wt,{feedbackText:a||"",feedbackType:"summary",eventName:"summary feedback",eventData:{summary:a}}),Tt(O.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})]})]})})},Ga=bg;var oo={};$(oo,{enUS:()=>Cg,nlNL:()=>wg});var Cg={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?"}]},wg={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 ol,{useEffect as js,useRef as Dg}from"react";import{useDispatch as _g,useSelector as nl}from"react-redux";var qs={};$(qs,{enUS:()=>Tg,nlNL:()=>Eg});var Tg={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"}]},Eg={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 ja={root:"dd-fxP4c",title:"dd-vDbMh",empty:"dd-sB0lz",status:"dd--oZ1C",form:"dd-t0hnD",input:"dd-i1v3W",submit:"dd-oo2Oa",question:"dd-WvK17",answer:"dd-HAHcU",alignRight:"dd-oxrX3",listItemFeedback:"dd-POUal"};import{createAction as Lg,createAsyncThunk as Ag,createSlice as Mg}from"@reduxjs/toolkit";import{createAsyncThunk as kg,createSlice as Rg}from"@reduxjs/toolkit";var Pg={data:null,fetchState:"idle"},Xa=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},no=kg("knowledgeAssistant/getKnowledgeAssistant",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");let r=(i=n.profile.data)==null?void 0:i.knowledgeAssistant;return r?o.getKnowledgeAssistant(r):null}),Ig=Rg({name:"knowledgeAssistant",initialState:Pg,reducers:{},extraReducers:t=>{t.addCase(no.pending,e=>{e.fetchState="loading"}).addCase(no.rejected,e=>{e.fetchState="error"}).addCase(no.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Qa=Ig.reducer;var Gs={data:[],fetchState:"idle"},Za=t=>{var e;return(e=t.answer)==null?void 0:e.data},Ja=t=>t.answer.fetchState,Et=Lg("answer/resetKnowledgeSearch"),so=Ag("answer/getAnswer",async(t,e)=>{var l,d,c;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Xa(e.getState()),r=(l=e.getState().conversation.current)==null?void 0:l.sessionId,i=(c=(d=e.getState().info)==null?void 0:d.agentInfo)==null?void 0:c.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({customerInstruction:s.customerInstruction,doNotKnowAnswer:s.doNotKnowAnswer,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Ng=Mg({name:"answer",initialState:Gs,reducers:{},extraReducers:t=>{t.addCase(so.pending,e=>{e.fetchState="loading"}).addCase(so.rejected,e=>{e.fetchState="error"}).addCase(so.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(N,()=>Gs).addCase(Et,()=>Gs)}}),Ya=Ng.reducer;import{jsx as el,jsxs as Og}from"react/jsx-runtime";var tl=()=>Og("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[el("title",{id:"paperPlaneTitle",children:"PaperPlane"}),el("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 de,jsxs as sl}from"react/jsx-runtime";var Fg=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=ol.useState(""),[r,i]=ol.useState(!1),{setSelected:a}=Fe(),l=Dg(null),d=h("KnowledgeSearchStyles",ja),c=E(qs),p=_g(),u=nl(Za),m=nl(Ja),f=async y=>{i(!0),await p(so(y)),l.current&&i(!1)},g=async y=>{y.preventDefault(),y.stopPropagation(),n!==""&&f(n)},x=(y,S)=>{p(G({name:"knowledge assist source viewed",data:{question:S,sourceViewed:y.url||y.name},options:{includeConversationData:!0}}))};return js(()=>{var y;o&&m==="idle"?f(o):(y=l.current)==null||y.focus()},[l,m]),js(()=>{m==="done"&&(p(G({name:"knowledge assist question answered",data:{question:n||o,sources:u[u.length-1].answer.sources,answer:u[u.length-1].answer.answer,isFollowUpQuestion:u.length>1},options:{includeConversationData:!0}})),a(`knowledge-assist-${u.length-1}`),s(""))},[m,u]),js(()=>{l.current&&l.current.scrollIntoView({behavior:"smooth"})},[l,u]),sl("div",{className:d.root,children:[u.length>0&&de("div",{className:d.alignRight,children:de(O.Button,{onClick:e,children:c("reset")})}),u.map(({question:y,answer:S},v)=>de(O.List,{children:de(O.ListItem,{id:`knowledge-assist-${v}`,"data-testid":"knowledge-search-answer",description:S.answer,closeOnSelect:!0,onClick:()=>t(S.answer),onSourceClick:R=>x(R,y),sources:S.sources,styles:{title:d.question,description:d.answer},extra:de("div",{className:d.listItemFeedback,children:de(wt,{feedbackText:S.answer,feedbackType:"knowledge-assist-answer",eventName:"knowledge assist feedback",eventData:{question:y,isAgent:o!==y,isFollowUpQuestion:u.length>1,...S}})}),children:y})},`${S.answer}_${v}`)),m==="loading"&&de("p",{className:d.status,children:c("loading")}),m==="error"&&de("p",{className:d.status,children:c("error")}),sl("form",{className:d.form,onSubmit:g,children:[de("input",{ref:l,placeholder:c("anotherQuestion"),className:d.input,type:"text",value:n,onFocus:()=>{a(void 0)},onChange:y=>{a(void 0),s(y.target.value)}}),de("button",{type:"submit",className:d.submit,disabled:r,children:de(tl,{})})]})]})},rl=Fg;import{createAsyncThunk as Hg,createSlice as Bg}from"@reduxjs/toolkit";var Kg={data:null,fetchState:"idle"},Te=t=>t.profile.data,rn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],il=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,ro=Hg("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)}),Ug=Bg({name:"profile",initialState:Kg,reducers:{},extraReducers:t=>{t.addCase(ro.pending,e=>{e.fetchState="loading"}).addCase(ro.rejected,e=>{e.fetchState="error"}).addCase(ro.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),al=Ug.reducer;import{useEffect as qg}from"react";import{useDispatch as Gg}from"react-redux";import{createAction as Wg,createAsyncThunk as ul,createSlice as $g}from"@reduxjs/toolkit";var zg=["{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}"],Vg=new RegExp(zg.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function ll(t,e){let o=t.split(Vg),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],l=r===o.length-2;n+=i.length;let d=n;if(l){let p=a.charAt(0),u=0;do d=p?e.indexOf(p,d+1):-1,u+=1;while(d!==-1&&a.indexOf(e.slice(d))!==0);if(d===-1&&u>2)return t}else d=a&&a!==""?e.indexOf(a,n):-1;let c=d===-1?e.slice(n):e.slice(n,d);s.push(c),n=d}return s.join("")}function dl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var pl={suggestions:[],fetchState:"idle"},cl={default:pl},ml=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},an=t=>t.textSuggestions,gl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},ln=Wg("textSuggestions/refresh"),ce=ul("textSuggestions/recommendations",async(t,e)=>{var d;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(d=n.conversation.current)==null?void 0:d.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ft(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,$t(n),t);if(t==="default"){let c=i?l.filter(gl(a)):l;e.dispatch(ue(c.slice(0,r)))}return l}),io=ul("textSuggestions/autocompletions",async(t,e)=>{var d;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(d=n.conversation.current)==null?void 0:d.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...$t(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(gl(t))),i&&(l=l.map(c=>({...c,text:c.source!=="trie-with-typos"?ll(c.text,t):c.text}))),l=dl(l,r),e.dispatch(ue(l)),l}),fl=$g({name:"textSuggestions",initialState:cl,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(ce.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||pl;return{...e,[n]:{...s,fetchState:"loading"}}}).addCase(ce.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ce.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(io.pending,e=>{e.default.fetchState="loading"}).addCase(io.rejected,e=>{e.default.fetchState="error"}).addCase(io.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(N,()=>cl)}}),{setTextSuggestions:J1,setSuggestionState:Y1}=fl.actions,hl=fl.reducer;import{useSelector as yl}from"react-redux";import{jsx as dn,jsxs as Xg}from"react/jsx-runtime";var jg=({commands:t,onClick:e})=>{var a,l,d;let o=Gg(),n=E(oo),s=yl(Te),r=yl(an),i=((d=(l=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:l.initialTypes)==null?void 0:d.filter(({isActive:c})=>c))||[];return qg(()=>{i.forEach(({type:c})=>{(!r[c]||r[c].suggestions.length===0)&&o(ce(c))})},[]),Xg("div",{children:[t.length>0&&dn(O.List,{heading:n("commands"),children:t.map((c,p)=>dn(O.ListItem,{id:`command-${p}`,closeOnSelect:!1,onClick:c.onClick,children:c.label},c.label))}),i.map(({type:c,title:p})=>{var u;return dn(O.List,{heading:p,orientation:"vertical",children:(u=r[c])==null?void 0:u.suggestions.map((m,f)=>dn(O.ListItem,{id:`${c}-${f}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},c)})]})},vl=jg;import Qg,{useState as Sl,useEffect as xl,useMemo as Zg,useRef as bl,useCallback as Jg,useContext as Yg}from"react";import ef from"classnames";var Xs={root:"dd-uVyL0",trigger:"dd-KIzQa",content:"dd-Ly3zO",contentOpen:"dd-O-8fR",contentTop:"dd-q3fGa",contentBottom:"dd-SFrvc",item:"dd-HZNy-"};import{jsx as cn,jsxs as sf}from"react/jsx-runtime";var tf=0,Cl=Qg.createContext(null),of=()=>{let t=Yg(Cl);if(!t)throw new Error("Invalid DropdownContext");return t},wl=({trigger:t,children:e,position:o="bottom"})=>{let n=Zg(()=>++tf,[]),s=bl(null),r=bl(null),i=h("Dropdown",Xs),[a,l]=Sl(!1),[d,c]=Sl(o),p=m=>{m.preventDefault(),m.stopPropagation(),l(!a)},u=Jg(([m])=>{!m.isIntersecting&&a&&c(d==="top"?"bottom":"top")},[a]);return xl(()=>{let m=f=>{s.current&&!s.current.contains(f.target)&&l(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),xl(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(u,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),cn(Cl.Provider,{value:{setIsOpen:l},children:sf("div",{ref:s,className:i.root,children:[cn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:p,children:t}),cn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:ef(i.content,{[i.contentOpen]:a,[i.contentTop]:d==="top",[i.contentBottom]:d==="bottom"}),children:e})]})})};function nf({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",Xs),{setIsOpen:i}=of(),a=l=>{i(!1),o(l),l.stopPropagation()};return cn(s,{type:"button",className:r.item,onClick:a,...n,children:e})}wl.Item=nf;var Qs=wl;import{jsx as Tl}from"react/jsx-runtime";var El=t=>Tl("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:Tl("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 Qe={};$(Qe,{enUS:()=>rf,nlNL:()=>af});var rf={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Add"}],sendSuggestion:[{type:0,value:"Send"}],suggestionSent:[{type:0,value:"Sent"}],sendingError:[{type:0,value:"Sending failed"}],tryAgain:[{type:0,value:"Try again"}],editSuggestion:[{type:0,value:"Edit"}],visitUrl:[{type:0,value:"Visit"}],giveFeedback:[{type:0,value:"Give feedback"}],answer:[{type:0,value:"Answer"}]},af={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],giveFeedback:[{type:0,value:"Geef feedback"}],answer:[{type:0,value:"Antwoord"}]};import{useSelector as kl}from"react-redux";import{useDispatch as lf}from"react-redux";import{jsx as Zs}from"react/jsx-runtime";var df=({suggestion:t,source:e,context:o})=>{let n=E(Qe),s=kl(Ne),r=lf(),i=C("enableSuggestionFeedback"),a=`${t.text}`,l=kl(bt(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:o})}`)),d=()=>{r(G({name:"suggestion feedback",data:{text:t.text,source:e,context:o},options:{includeConversationData:!0}}))};return!i||!l?null:Zs(Qs,{trigger:Zs(El,{"data-testid":"feedback-dropdown-trigger"}),children:Zs(Qs.Item,{as:"a",onClick:d,target:"_blank",href:l,children:n("giveFeedback")})})},un=df;import{jsx as Z,jsxs as er}from"react/jsx-runtime";var gf=200,ff=5,hf=4,Pl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),yf=()=>{let t=mf(),e=se(),o=E(oo),[n,s]=Ys(!1),[r,i]=Ys(""),a=Ze(Fi),l=Ze(Te),[d,c]=Ys(),p=Ze(q),u=C("showSearch"),m=C("enableSuggestionFeedback"),f=C("showEntitiesCommand"),g=C("showSummaryCommand"),x=C("showKnowledgeSearch"),y=C("showImageSearch"),S=C("searchTriggerKey"),v=Ze(da),R=Ze(Hi),w=Ze(Bi),k=Ze(_i),M=T=>Qn(R.filter(V=>V.type===T.toUpperCase()),T),j=[{value:"PERSONAL",label:o("personalSuggestions"),list:M("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:M("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:M("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:M("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(T=>T.shouldShow),z=[{label:o("entitiesClipboard"),onClick:()=>t(ie("entities")),shouldShow:f&&Pl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(ie("summary")),shouldShow:g&&Pl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(ie("knowledgeAssist")),shouldShow:x}].filter(T=>T.shouldShow),I=(v==null?void 0:v.map(T=>({value:T.code.toUpperCase(),label:`${T.name}s`,list:M(T.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],_=Rl(uf((T,V)=>{t($e({query:T,type:V,tags:["search-overlay"],size:d?50:20}))},gf),[d]),ne=Rl((T,V)=>{switch(V.type){case"IMAGE":e.send(hs,{suggestion:V});break;default:e.send(_e,{text:T,suggestion:V})}t(ee(!1))},[t]),X=T=>{be(T.text),t(G({name:"entity copied",data:{entity:T,type:"copy"}})),t(ee(!1))},Co=T=>{e.send(_e,{text:T,suggestion:{source:"knowledge-assist",text:T}}),t(G({name:"answer used",data:{originalText:T},options:{includeConversationData:!0}})),i(""),t(ie("search")),t(Et()),t(ee(!1))},Su=T=>{be(T),t(ee(!1))};function Qn(T,V){return T.slice(0,d?10:V.toLowerCase()==="image"?hf:ff)}function Bt(T){return V=>{n?window.confirm(o("warning"))&&(T(V),s(!1)):T(V)}}return Js(()=>{r?_(r,d):t(Uo())},[r,d]),Js(()=>{a==="search"&&t(Et())},[a]),Js(()=>{p&&t(Jt())},[p]),Pa(S,()=>t(ee(!0))),!u||!l?null:er(O,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Bt(T=>t(ee(T))),onChangeType:T=>c(T),onChangePage:Bt(T=>t(ie(T))),selectedType:d,search:r,page:a,isOpen:k,types:[...I,...j],children:[er(O.Page,{id:"search",children:[r.length===0&&Z(vl,{commands:z,onClick:ne}),r.length>0&&er(pf,{children:[z.length>0&&Z(O.List,{heading:o("commands"),children:z.map((T,V)=>Z(O.ListItem,{closeOnSelect:!1,onClick:T.onClick,id:`commands-${V}`,children:T.label},T.label))}),[...I,...j].map(({value:T,label:V,list:$r,lineClamp:xu,listOrientation:bu})=>Z(O.List,{heading:V,orientation:bu==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(T),hasMore:!d&&w[T.toLowerCase()]>Qn($r,T).length,children:Qn($r,T).map(J=>Z(O.ListItem,{id:`${T}-${J.id}`,closeOnSelect:!1,lineClamp:xu,onClick:()=>ne(J.text,J),description:T!=="IMAGE"?J.title&&J.text:void 0,extra:m&&Z(O.ListItemActions,{children:Z(un,{context:r,source:"search",suggestion:J})}),children:T==="IMAGE"?Z(O.Image,{title:J.title||J.text,src:J.image}):J.title||J.text},`${J.id}-${J.text}`))},T))]})]}),Z(O.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Bt(()=>{t(ie("search"))}),children:Z(Na,{onCopy:X})}),Z(O.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Bt(()=>{t(ie("search"))}),children:Z(Ga,{onCopy:Su})}),Z(O.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Bt(()=>{t(Et()),t(ie("search"))}),children:Z(rl,{question:r,onUse:Co,onResetQuestion:()=>{t(Et()),i("")}})})]})},Il=yf;import{jsx as Ll,jsxs as xf}from"react/jsx-runtime";var Sf=()=>{let t=C("showSearch"),e=C("isEmbedded");return xf(vf,{children:[t&&Ll(Il,{}),e&&Ll(la,{})]})},Al=Sf;import Tf from"classnames";import{useSelector as Ef}from"react-redux";import{jsx as tr}from"react/jsx-runtime";var Ml=({className:t})=>tr("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512",xmlSpace:"preserve",className:t,children:tr("g",{children:tr("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
|
|
3
|
+
`,Ge.MISSING_INTL_API,i);var R=o.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));v=c.options[R]||c.options.other}if(!v)throw new Cs(c.value,u,Object.keys(c.options),i);a.push.apply(a,Qt(v.value,e,o,n,s,u-(c.offset||0)));continue}}return zp(a)}function Wp(t,e){return e?te(te(te({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=te(te({},t[n]),e[n]||{}),o},{})):t}function $p(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Wp(t[n],e[n]),o},te({},t)):t}function ws(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function qp(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Yo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,zo([void 0],o,!1)))},{cache:ws(t.number),strategy:en.variadic}),getDateTimeFormat:Yo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,zo([void 0],o,!1)))},{cache:ws(t.dateTime),strategy:en.variadic}),getPluralRules:Yo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,zo([void 0],o,!1)))},{cache:ws(t.pluralRules),strategy:en.variadic})}}var ea=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(d){var c=r.formatToParts(d);if(c.length===1)return c[0].value;var p=c.reduce(function(u,m){return!u.length||m.type!==W.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(d){return Qt(r.ast,r.locales,r.formatters,r.formats,d,void 0,r.message)},this.resolvedOptions=function(){var d;return{locale:((d=r.resolvedLocale)===null||d===void 0?void 0:d.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,l=qi(i,["formatters"]);this.ast=t.__parse(e,te(te({},l),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=$p(t.formats,n),this.formatters=s&&s.formatters||qp(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=Xi,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 Xp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Qp="dummy",Ts=Gp(null);function E(t){let e=jp(Ts);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=Xp(o,n);return r?new ea(r).format(s):(e!==Qp&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as Zp,useRef as Jp}from"react";var ta={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as oa}from"react/jsx-runtime";var Yp=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let l=Jp(null),d=h("Dialog",ta),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===l.current&&t&&n()};return Zp(()=>{var u,m;!l.current||!t||!e||(m=(u=l.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,l]),t?oa("div",{role:"dialog","data-testid":"dialog",className:d.root,"aria-label":i,ref:l,onKeyDown:c,onMouseDown:p,children:oa("div",{"data-testid":"dialog-content",className:d.content,"aria-label":a,children:o})}):null},tn=Yp;import em from"classnames";var na={root:"dd-ranhW"};import{jsx as om}from"react/jsx-runtime";var tm=({className:t,value:e,...o})=>{let n=h("TextInput",na);return om("input",{className:em(t,n.root),type:"text",value:e,...o})},Zt=tm;var Es={};$(Es,{enUS:()=>nm,nlNL:()=>sm});var nm={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"}]},sm={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 sa={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as Q,jsxs as on}from"react/jsx-runtime";var dm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},cm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=E(Es),i=h("LoginTokenDialog",sa),a=lm(ri),l=am(),d=C("productName"),[c,p]=Rs(t||""),[u,m]=Rs(0),[f,g]=Rs(""),x=ra(async R=>{R.preventDefault(),l(ai({email:c})),m(1)},[o,c]),y=()=>{g(""),m(0)},S=ra(async R=>{R.preventDefault();let w=dm(R.target.elements.token.value);if(!w){g(r("verifyCodeError",{login:v}));return}l(zt({token:w}))},[o]),v=im(()=>R=>Q("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:y,children:R},"back-button"),[]);return rm(()=>{a==="error"&&g(r("verifyCodeError",{login:v})),a==="done"&&n()},[a]),Q(tn,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:d}),overlayAriaLabel:r("promptTitle",{productName:d}),onClose:s,onBack:s,children:on("div",{className:i.root,children:[Q("h1",{className:i.title,children:r("promptTitle",{productName:d})}),u===0&&on("form",{onSubmit:x,children:[Q("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Q("p",{className:i.text,children:r("requestCodeBody",{productName:d})}),Q(Zt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:R=>p(R.target.value)}),Q("div",{className:i.actions,children:Q("button",{type:"submit",className:ks(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&on("form",{onSubmit:S,children:[Q("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Q("p",{className:i.text,children:r("verifyCodeBody")}),Q(Zt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&Q("div",{className:i.errorMessage,children:f}),on("div",{className:i.actions,children:[Q("button",{type:"button",className:ks(i.button),onClick:y,children:r("back")}),Q("button",{type:"submit",className:ks(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},ia=cm;import{jsx as pm}from"react/jsx-runtime";var um=()=>{let t=aa(ii),e=aa(Li),o=C("adminUrl"),n=se(),s=()=>n.send(ht,!1),r=()=>{n.send(ht,!1),n.send(qt)};return pm(ia,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},la=um;import uf from"lodash.debounce";import{Fragment as pf,useCallback as Rl,useEffect as Js,useState as Ys}from"react";import{useDispatch as mf,useSelector as Ze}from"react-redux";import{createAsyncThunk as mm,createSlice as gm}from"@reduxjs/toolkit";var fm={data:null,fetchState:"idle"},da=t=>t.contentTypes.data,Jt=mm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),hm=gm({name:"contentTypes",initialState:fm,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})}}),ca=hm.reducer;function be(t){let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),e.remove()}import{useEffect as ka,useState as zm,useRef as Vm,useCallback as Wm}from"react";import{useState as Sm}from"react";import Ps from"classnames";var oe={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemPrimaryAction:"dd-LdJ8w",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",sourceShowMore:"dd-M1-8j",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var Ce={};$(Ce,{enUS:()=>ym,nlNL:()=>vm});var ym={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}],showAll:[{type:0,value:"Show more"}],sources:[{type:0,value:"Sources"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},vm={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}],sources:[{type:0,value:"Bronnen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};import{jsx as Yt,jsxs as bm}from"react/jsx-runtime";var xm=({src:t,title:e})=>{let o=h("CommandPalette",oe),[n,s]=Sm("loading"),r=E(Ce);return bm("div",{className:o.image,children:[Yt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Ps(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Yt("span",{className:Ps(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Yt("span",{className:Ps(o.imageSrc,o.imageSrcStatus),children:Yt(To,{})}),e&&Yt("span",{className:o.imageTitle,children:e})]})},ua=xm;import Cm from"react";import wm from"classnames";import{jsx as Is,jsxs as pa}from"react/jsx-runtime";function Ls({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=E(Ce),i=h("CommandPalette",oe);return Cm.Children.count(t)===0?null:pa("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&pa("div",{className:i.listHeader,children:[e&&Is("h4",{className:i.listHeading,children:e}),n&&s&&Is("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Is("div",{className:wm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import to from"classnames";import{Interweave as Mm}from"interweave";import{useState as Nm}from"react";var Tm=/[.*+?^${}()|[\]\\]/g,Em=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function km(t){return t.replace(Tm,"\\$&")}function Rm(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Pm(t){return t.search(Em)}function ma(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${km(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ga(t){return t.replace(Ro,'<mark data-type="placeholder">$1</mark>')}function eo(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Im(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 As(t,e,o={}){if(e){let n=Rm(e.toLowerCase(),t.toLowerCase()),s=eo(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),d=Pm(l);return`<span style="opacity: 0.5">${l.substring(d+1)}</span>${s}`}let i=e.split(ei).length>3||e.length>30?Im(e.trim(),n):0;return`${`${i>0?"\u2026":""}${eo(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Lm=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Ms(t){return Lm.test(t)}function fa(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import Ns from"react";import{jsx as Am}from"react/jsx-runtime";var ha=Ns.createContext(void 0);function Fe(){let t=Ns.useContext(ha);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ya=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Ns.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Am(ha.Provider,{value:i,children:t})};import{jsx as je,jsxs as Os}from"react/jsx-runtime";var Om=3,va=({children:t})=>{let e=h("CommandPalette",oe);return je("div",{className:e.listItemActions,children:t})};function Ds({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,extra:s,onSourceClick:r,description:i,sources:a,id:l,styles:d,defaultSourcesAmount:c=Om,...p}){let u=E(Ce),[m,f]=Nm(!1),{selected:g,onChangeOpen:x}=Fe(),y=h("CommandPalette",oe);function S(v){n(v),t&&x(!1)}return Os("div",{className:to(y.listItem,l===g&&y.listItemSelected),children:[je("button",{type:"button",className:to(y.listItemAction,y.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:S,"data-command-palette-item":!0,"data-item-id":l,...p,children:Os("div",{className:y.listItemContent,children:[typeof o=="string"?je("p",{className:to(y.listItemText,y.truncate,d==null?void 0:d.title),children:o}):o,i&&je(Mm,{tagName:"p",allowList:[],content:Ms(i)?fa(i):i,className:to(y.listItemDescription,d==null?void 0:d.description,e?y.lineClamp:y.truncate)})]})}),s,a&&a.length>0&&Os("div",{className:y.sources,children:[je("span",{className:y.sourcesTitle,children:u("sources")}),a.slice(0,m?a.length:c).map(v=>je("a",{className:y.source,href:v.url,target:"_blank",title:v.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>r&&r(v),children:v.name},v.url)),!m&&a.length>c&&je("button",{className:to(y.source,y.sourceShowMore),type:"button",onClick:()=>f(!0),children:u("showMore",{amount:a.length-c})})]})]})}import{jsx as Sa,jsxs as Dm}from"react/jsx-runtime";var xa=()=>Dm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Sa("title",{id:"angleLeftTitle",children:"AngleLeft"}),Sa("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 ba,jsxs as _s}from"react/jsx-runtime";function Fs({children:t,title:e,id:o,onDismiss:n}){let s=E(Ce),r=h("CommandPalette",oe),{page:i}=Fe();return i!==o?null:_s("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&_s("div",{className:r.pageNav,children:[_s("button",{className:r.pageBackButton,type:"button",onClick:n,children:[ba(xa,{}),s("back")]}),e&&ba("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as Fm}from"react";import{jsx as Ca,jsxs as _m}from"react/jsx-runtime";var yt=()=>_m("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ca("path",{d:"M0 0h24v24H0z",fill:"none"}),Ca("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as vt,jsxs as Hs}from"react/jsx-runtime";function Hm({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let l=h("CommandPalette",oe);return Hs("div",{className:l.search,children:[vt("div",{className:l.searchIcon,children:vt(yt,{})}),Hs("div",{className:l.searchInputWrapper,children:[vt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:d=>{t(d.currentTarget.value)},onFocus:d=>{d.currentTarget.select()},className:l.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&vt("div",{className:l.selectWrapper,children:Hs("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:d=>e(d.target.value===n?void 0:d.target.value),value:i||n,children:[n&&vt("option",{children:n}),s.map(d=>vt("option",{value:d.value,children:d.label},d.value))]})})]})]})}var wa=Fm(Hm);import Ta from"classnames";import{jsx as Km,jsxs as Um}from"react/jsx-runtime";var Bm=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",oe);return Um("button",{type:"button",...n,onClick:t,className:Ta(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Km("span",{className:Ta(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Ea=Bm;import{jsx as Ra,jsxs as qm}from"react/jsx-runtime";var $m="[data-command-palette-item]";function Xe({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:d,children:c,isOpen:p,search:u}){let[m,f]=zm(),g=Vm(null),x=()=>{s&&s(o),i(void 0),r(""),a(!1)},y=()=>{var I;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(I=g.current)==null||I.focus();return}if(u.length>0){r("");return}a(!1)},S=()=>{let I=v();I.length!==0&&f(I[0].dataset.itemId)},v=()=>Array.from(document.querySelectorAll($m)||[]),R=I=>document.querySelector(`[data-item-id=${I}]`),w=I=>{let _=R(I);_&&f(_.dataset.itemId)},k=I=>{let _=R(I);_&&_.scrollIntoView({behavior:"smooth"})},M=()=>{if(!m)return;let I=v(),_=R(m);if(!_)return;let ne=I.indexOf(_),X=I[ne+1];X&&X.dataset.itemId?w(X.dataset.itemId):S()},j=()=>{if(!m)return;let I=v(),_=R(m);if(!_)return;let ne=I.indexOf(_),X=I[ne-1];X&&X.dataset.itemId?w(X.dataset.itemId):w(I[I.length-1].dataset.itemId)},z=Wm(I=>{switch(I.key){case"ArrowDown":{I.preventDefault(),M();break}case"ArrowUp":{I.preventDefault(),j();break}case"Enter":{if(m){let _=R(m);_==null||_.click()}break}}},[m]);return ka(()=>{S()},[u,n,l,p]),ka(()=>{m&&k(m)},[m]),Ra(tn,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:y,onClose:x,onKeyDown:z,children:qm(ya,{selected:m,setSelected:f,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&Ra(wa,{ref:g,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:l,types:d,typePlaceholder:e}),c]})})}Xe.Page=Fs;Xe.List=Ls;Xe.Image=ua;Xe.ListItem=Ds;Xe.ListItemActions=va;Xe.Button=Ea;var O=Xe;import{useEffect as Gm}from"react";function Pa(t,e){Gm(()=>{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 Ma,useRef as eg}from"react";import{useSelector as tg,useDispatch as og}from"react-redux";import{createAsyncThunk as jm,createSlice as Xm}from"@reduxjs/toolkit";var Ia={data:null,fetchState:"idle"},nn=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},le=jm("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)}),Qm=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),Zm=Xm({name:"entities",initialState:Ia,reducers:{},extraReducers:t=>{t.addCase(le.pending,e=>{e.fetchState="loading"}).addCase(le.rejected,e=>{e.fetchState="error"}).addCase(le.fulfilled,(e,o)=>{e.fetchState="done",e.data=Qm(e.data?[...e.data,...o.payload]:o.payload)}).addCase(N,()=>Ia)}}),La=Zm.reducer;var Bs={};$(Bs,{enUS:()=>Jm,nlNL:()=>Ym});var Jm={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Ym={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Aa={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Ks,jsxs as sg}from"react/jsx-runtime";var ng=({onCopy:t})=>{let e=eg(null),o=h("EntitiesList",Aa),n=tg(nn),{setSelected:s}=Fe(),r=E(Bs),i=og();return Ma(()=>{i(le())},[]),Ma(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),sg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Ks(O.List,{children:n.map((a,l)=>Ks(O.ListItem,{id:`entity-${l}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Ks("p",{className:o.empty,children:r("noResults")})]})},Na=ng;import{Fragment as yg,useEffect as sn,useRef as vg,useState as Sg}from"react";import{useSelector as $s,useDispatch as xg}from"react-redux";import{createAsyncThunk as rg,createSlice as ig}from"@reduxjs/toolkit";var Oa={data:null,fetchState:"idle"},Da=t=>t.summary.data,_a=t=>t.summary.fetchState==="error",Fa=t=>t.summary.model,we=rg("summary/getSummary",async(t,e)=>{var c,p,u;let o=e.getState().profile.data,n=(c=e.getState().conversation.current)==null?void 0:c.sessionId,s=(u=(p=e.getState().info)==null?void 0:p.agentInfo)==null?void 0:u.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,l=await a();if(l.length===0)return Promise.reject(new Error("No messages are included"));let d=await r.getSummary(l,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return d.summary?d:Promise.reject(new Error("Summary is not provided"))}),ag=ig({name:"summary",initialState:Oa,reducers:{},extraReducers:t=>{t.addCase(we.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(we.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(we.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary,e.model=o.payload.model)}).addCase(N,()=>Oa)}}),Ha=ag.reducer;var Us={};$(Us,{enUS:()=>lg,nlNL:()=>dg});var lg={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."}]},dg={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 Ba={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import Ws from"classnames";import{useState as gg}from"react";import{jsx as Ka}from"react/jsx-runtime";var zs=t=>Ka("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Ka("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 Ua}from"react/jsx-runtime";var za=t=>Ua("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Ua("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 St(t,e){var s;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",e.split(" ").forEach(r=>{o.classList.add(r)}),o.addEventListener("animationend",()=>o.remove()),(s=t.parentElement)==null||s.appendChild(o)}var Vs={};$(Vs,{enUS:()=>cg,nlNL:()=>ug});var cg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},ug={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as mg}from"react-redux";import{createAsyncThunk as pg}from"@reduxjs/toolkit";function Va(t){return pg("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,{conversationId:n,...s,data:e.data})})(t)}function xt(){let t=mg();return async(e,o)=>{await t(Va({name:e,data:o}))}}var Wa={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as $a}from"react-redux";var bt=t=>e=>{let{passwordlessToken:{token:o},settings:{isEmbedded:n,adminUrl:s}}=e;return s?n?o?`${s}/apis/admin/session/passwordless/login/?token=${o}&redirect=${encodeURIComponent(t)}`:null:`${s}${t}`:null};import{jsx as Ct,jsxs as hg}from"react/jsx-runtime";var fg=({eventName:t,eventData:e,feedbackType:o,feedbackText:n})=>{let s=h("FeedbackThumbs",Wa),r=C("enableFeedbackForm"),i=$a(Ne),a=$a(bt(`/admin/feedback?conversationId=${i}&type=${o}&text=${n}&data=${JSON.stringify(e)}`)),l=E(Vs),d=xt(),[c,p]=gg(null),u=f=>{f.stopPropagation(),St(f.target,s.fadeup),p("up"),d(t,{...e,rating:"up"})},m=f=>{f.stopPropagation(),St(f.target,s.fadedown),p("down"),d(t,{...e,rating:"down"})};return hg("div",{className:s.thumbs,children:[Ct(A.IconButton,{title:l("thumbsUp"),onClick:u,icon:Ct(za,{}),className:Ws(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),r&&a?Ct(A.IconButton,{as:"a",title:l("thumbsDown"),href:a,target:"_blank",rel:"noreferrer",onClick:m,icon:Ct(zs,{}),className:Ws(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):Ct(A.IconButton,{title:l("thumbsDown"),onClick:m,icon:Ct(zs,{}),className:Ws(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},wt=fg;import{jsx as Tt,jsxs as qa}from"react/jsx-runtime";var bg=({onCopy:t})=>{let e=vg(null),o=h("SummaryForm",Ba),[n,s]=Sg(""),r=E(Us),i=$s(Fa),a=$s(Da),l=$s(_a),d=xg(),c=()=>{d(G({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},p=()=>{let u=document.getSelection();u&&d(G({name:"summary copied to clipboard",data:{originalText:a,finalText:u==null?void 0:u.toString(),model:i},options:{includeConversationData:!0}}))};return sn(()=>{d(we())},[]),sn(()=>{s(a||"")},[a]),sn(()=>{e.current&&a&&e.current.focus()},[e,a]),sn(()=>{let u=m=>{m.key==="Enter"&&m.shiftKey&&c()};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u)}},[n]),Tt("div",{className:o.root,tabIndex:-1,children:l?Tt("p",{className:o.error,children:r("error")}):qa(yg,{children:[Tt("div",{className:o.main,children:Tt("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:p,onChange:u=>s(u.target.value)})}),qa("div",{className:o.actions,children:[Tt(wt,{feedbackText:a||"",feedbackType:"summary",eventName:"summary feedback",eventData:{summary:a}}),Tt(O.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})]})]})})},Ga=bg;var oo={};$(oo,{enUS:()=>Cg,nlNL:()=>wg});var Cg={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?"}]},wg={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 ol,{useEffect as js,useRef as Dg}from"react";import{useDispatch as _g,useSelector as nl}from"react-redux";var qs={};$(qs,{enUS:()=>Tg,nlNL:()=>Eg});var Tg={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"}]},Eg={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 ja={root:"dd-fxP4c",title:"dd-vDbMh",empty:"dd-sB0lz",status:"dd--oZ1C",form:"dd-t0hnD",input:"dd-i1v3W",submit:"dd-oo2Oa",question:"dd-WvK17",answer:"dd-HAHcU",alignRight:"dd-oxrX3",listItemFeedback:"dd-POUal"};import{createAction as Lg,createAsyncThunk as Ag,createSlice as Mg}from"@reduxjs/toolkit";import{createAsyncThunk as kg,createSlice as Rg}from"@reduxjs/toolkit";var Pg={data:null,fetchState:"idle"},Xa=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},no=kg("knowledgeAssistant/getKnowledgeAssistant",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");let r=(i=n.profile.data)==null?void 0:i.knowledgeAssistant;return r?o.getKnowledgeAssistant(r):null}),Ig=Rg({name:"knowledgeAssistant",initialState:Pg,reducers:{},extraReducers:t=>{t.addCase(no.pending,e=>{e.fetchState="loading"}).addCase(no.rejected,e=>{e.fetchState="error"}).addCase(no.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Qa=Ig.reducer;var Gs={data:[],fetchState:"idle"},Za=t=>{var e;return(e=t.answer)==null?void 0:e.data},Ja=t=>t.answer.fetchState,Et=Lg("answer/resetKnowledgeSearch"),so=Ag("answer/getAnswer",async(t,e)=>{var l,d,c;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Xa(e.getState()),r=(l=e.getState().conversation.current)==null?void 0:l.sessionId,i=(c=(d=e.getState().info)==null?void 0:d.agentInfo)==null?void 0:c.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({customerInstruction:s.customerInstruction,doNotKnowAnswer:s.doNotKnowAnswer,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Ng=Mg({name:"answer",initialState:Gs,reducers:{},extraReducers:t=>{t.addCase(so.pending,e=>{e.fetchState="loading"}).addCase(so.rejected,e=>{e.fetchState="error"}).addCase(so.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(N,()=>Gs).addCase(Et,()=>Gs)}}),Ya=Ng.reducer;import{jsx as el,jsxs as Og}from"react/jsx-runtime";var tl=()=>Og("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[el("title",{id:"paperPlaneTitle",children:"PaperPlane"}),el("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 de,jsxs as sl}from"react/jsx-runtime";var Fg=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=ol.useState(""),[r,i]=ol.useState(!1),{setSelected:a}=Fe(),l=Dg(null),d=h("KnowledgeSearchStyles",ja),c=E(qs),p=_g(),u=nl(Za),m=nl(Ja),f=async y=>{i(!0),await p(so(y)),l.current&&i(!1)},g=async y=>{y.preventDefault(),y.stopPropagation(),n!==""&&f(n)},x=(y,S)=>{p(G({name:"knowledge assist source viewed",data:{question:S,sourceViewed:y.url||y.name},options:{includeConversationData:!0}}))};return js(()=>{var y;o&&m==="idle"?f(o):(y=l.current)==null||y.focus()},[l,m]),js(()=>{m==="done"&&(p(G({name:"knowledge assist question answered",data:{question:n||o,sources:u[u.length-1].answer.sources,answer:u[u.length-1].answer.answer,isFollowUpQuestion:u.length>1},options:{includeConversationData:!0}})),a(`knowledge-assist-${u.length-1}`),s(""))},[m,u]),js(()=>{l.current&&l.current.scrollIntoView({behavior:"smooth"})},[l,u]),sl("div",{className:d.root,children:[u.length>0&&de("div",{className:d.alignRight,children:de(O.Button,{onClick:e,children:c("reset")})}),u.map(({question:y,answer:S},v)=>de(O.List,{children:de(O.ListItem,{id:`knowledge-assist-${v}`,"data-testid":"knowledge-search-answer",description:S.answer,closeOnSelect:!0,onClick:()=>t(S.answer),onSourceClick:R=>x(R,y),sources:S.sources,styles:{title:d.question,description:d.answer},extra:de("div",{className:d.listItemFeedback,children:de(wt,{feedbackText:S.answer,feedbackType:"knowledge-assist-answer",eventName:"knowledge assist feedback",eventData:{question:y,isAgent:o!==y,isFollowUpQuestion:u.length>1,...S}})}),children:y})},`${S.answer}_${v}`)),m==="loading"&&de("p",{className:d.status,children:c("loading")}),m==="error"&&de("p",{className:d.status,children:c("error")}),sl("form",{className:d.form,onSubmit:g,children:[de("input",{ref:l,placeholder:c("anotherQuestion"),className:d.input,type:"text",value:n,onFocus:()=>{a(void 0)},onChange:y=>{a(void 0),s(y.target.value)}}),de("button",{type:"submit",className:d.submit,disabled:r,children:de(tl,{})})]})]})},rl=Fg;import{createAsyncThunk as Hg,createSlice as Bg}from"@reduxjs/toolkit";var Kg={data:null,fetchState:"idle"},Te=t=>t.profile.data,rn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],il=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,ro=Hg("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)}),Ug=Bg({name:"profile",initialState:Kg,reducers:{},extraReducers:t=>{t.addCase(ro.pending,e=>{e.fetchState="loading"}).addCase(ro.rejected,e=>{e.fetchState="error"}).addCase(ro.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),al=Ug.reducer;import{useEffect as qg}from"react";import{useDispatch as Gg}from"react-redux";import{createAction as Wg,createAsyncThunk as ul,createSlice as $g}from"@reduxjs/toolkit";var zg=["{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}"],Vg=new RegExp(zg.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function ll(t,e){let o=t.split(Vg),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],l=r===o.length-2;n+=i.length;let d=n;if(l){let p=a.charAt(0),u=0;do d=p?e.indexOf(p,d+1):-1,u+=1;while(d!==-1&&a.indexOf(e.slice(d))!==0);if(d===-1&&u>2)return t}else d=a&&a!==""?e.indexOf(a,n):-1;let c=d===-1?e.slice(n):e.slice(n,d);s.push(c),n=d}return s.join("")}function dl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var pl={suggestions:[],fetchState:"idle"},cl={default:pl},ml=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},an=t=>t.textSuggestions,gl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},ln=Wg("textSuggestions/refresh"),ce=ul("textSuggestions/recommendations",async(t,e)=>{var d;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(d=n.conversation.current)==null?void 0:d.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ft(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,$t(n),t);if(t==="default"){let c=i?l.filter(gl(a)):l;e.dispatch(ue(c.slice(0,r)))}return l}),io=ul("textSuggestions/autocompletions",async(t,e)=>{var d;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(d=n.conversation.current)==null?void 0:d.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...$t(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(gl(t))),i&&(l=l.map(c=>({...c,text:c.source!=="trie-with-typos"?ll(c.text,t):c.text}))),l=dl(l,r),e.dispatch(ue(l)),l}),fl=$g({name:"textSuggestions",initialState:cl,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(ce.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||pl;return{...e,[n]:{...s,fetchState:"loading"}}}).addCase(ce.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ce.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(io.pending,e=>{e.default.fetchState="loading"}).addCase(io.rejected,e=>{e.default.fetchState="error"}).addCase(io.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(N,()=>cl)}}),{setTextSuggestions:J1,setSuggestionState:Y1}=fl.actions,hl=fl.reducer;import{useSelector as yl}from"react-redux";import{jsx as dn,jsxs as Xg}from"react/jsx-runtime";var jg=({commands:t,onClick:e})=>{var a,l,d;let o=Gg(),n=E(oo),s=yl(Te),r=yl(an),i=((d=(l=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:l.initialTypes)==null?void 0:d.filter(({isActive:c})=>c))||[];return qg(()=>{i.forEach(({type:c})=>{(!r[c]||r[c].suggestions.length===0)&&o(ce(c))})},[]),Xg("div",{children:[t.length>0&&dn(O.List,{heading:n("commands"),children:t.map((c,p)=>dn(O.ListItem,{id:`command-${p}`,closeOnSelect:!1,onClick:c.onClick,children:c.label},c.label))}),i.map(({type:c,title:p})=>{var u;return dn(O.List,{heading:p,orientation:"vertical",children:(u=r[c])==null?void 0:u.suggestions.map((m,f)=>dn(O.ListItem,{id:`${c}-${f}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},c)})]})},vl=jg;import Qg,{useState as Sl,useEffect as xl,useMemo as Zg,useRef as bl,useCallback as Jg,useContext as Yg}from"react";import ef from"classnames";var Xs={root:"dd-uVyL0",trigger:"dd-KIzQa",content:"dd-Ly3zO",contentOpen:"dd-O-8fR",contentTop:"dd-q3fGa",contentBottom:"dd-SFrvc",item:"dd-HZNy-"};import{jsx as cn,jsxs as sf}from"react/jsx-runtime";var tf=0,Cl=Qg.createContext(null),of=()=>{let t=Yg(Cl);if(!t)throw new Error("Invalid DropdownContext");return t},wl=({trigger:t,children:e,position:o="bottom"})=>{let n=Zg(()=>++tf,[]),s=bl(null),r=bl(null),i=h("Dropdown",Xs),[a,l]=Sl(!1),[d,c]=Sl(o),p=m=>{m.preventDefault(),m.stopPropagation(),l(!a)},u=Jg(([m])=>{!m.isIntersecting&&a&&c(d==="top"?"bottom":"top")},[a]);return xl(()=>{let m=f=>{s.current&&!s.current.contains(f.target)&&l(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),xl(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(u,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),cn(Cl.Provider,{value:{setIsOpen:l},children:sf("div",{ref:s,className:i.root,children:[cn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:p,children:t}),cn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:ef(i.content,{[i.contentOpen]:a,[i.contentTop]:d==="top",[i.contentBottom]:d==="bottom"}),children:e})]})})};function nf({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",Xs),{setIsOpen:i}=of(),a=l=>{i(!1),o(l),l.stopPropagation()};return cn(s,{type:"button",className:r.item,onClick:a,...n,children:e})}wl.Item=nf;var Qs=wl;import{jsx as Tl}from"react/jsx-runtime";var El=t=>Tl("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:Tl("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 Qe={};$(Qe,{enUS:()=>rf,nlNL:()=>af});var rf={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Add"}],sendSuggestion:[{type:0,value:"Send"}],suggestionSent:[{type:0,value:"Sent"}],sendingError:[{type:0,value:"Sending failed"}],tryAgain:[{type:0,value:"Try again"}],editSuggestion:[{type:0,value:"Edit"}],visitUrl:[{type:0,value:"Visit"}],giveFeedback:[{type:0,value:"Give feedback"}],answer:[{type:0,value:"Answer"}]},af={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],giveFeedback:[{type:0,value:"Geef feedback"}],answer:[{type:0,value:"Antwoord"}]};import{useSelector as kl}from"react-redux";import{useDispatch as lf}from"react-redux";import{jsx as Zs}from"react/jsx-runtime";var df=({suggestion:t,source:e,context:o})=>{let n=E(Qe),s=kl(Ne),r=lf(),i=C("enableSuggestionFeedback"),a=`${t.text}`,l=kl(bt(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:o})}`)),d=()=>{r(G({name:"suggestion feedback",data:{text:t.text,source:e,context:o},options:{includeConversationData:!0}}))};return!i||!l?null:Zs(Qs,{trigger:Zs(El,{"data-testid":"feedback-dropdown-trigger"}),children:Zs(Qs.Item,{as:"a",onClick:d,target:"_blank",href:l,children:n("giveFeedback")})})},un=df;import{jsx as Z,jsxs as er}from"react/jsx-runtime";var gf=200,ff=5,hf=4,Pl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),yf=()=>{let t=mf(),e=se(),o=E(oo),[n,s]=Ys(!1),[r,i]=Ys(""),a=Ze(Fi),l=Ze(Te),[d,c]=Ys(),p=Ze(q),u=C("showSearch"),m=C("enableSuggestionFeedback"),f=C("showEntitiesCommand"),g=C("showSummaryCommand"),x=C("showKnowledgeSearch"),y=C("showImageSearch"),S=C("searchTriggerKey"),v=Ze(da),R=Ze(Hi),w=Ze(Bi),k=Ze(_i),M=T=>Qn(R.filter(V=>V.type===T.toUpperCase()),T),j=[{value:"PERSONAL",label:o("personalSuggestions"),list:M("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:M("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:M("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:M("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(T=>T.shouldShow),z=[{label:o("entitiesClipboard"),onClick:()=>t(ie("entities")),shouldShow:f&&Pl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(ie("summary")),shouldShow:g&&Pl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(ie("knowledgeAssist")),shouldShow:x}].filter(T=>T.shouldShow),I=(v==null?void 0:v.map(T=>({value:T.code.toUpperCase(),label:`${T.name}s`,list:M(T.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],_=Rl(uf((T,V)=>{t($e({query:T,type:V,tags:["search-overlay"],size:d?50:20}))},gf),[d]),ne=Rl((T,V)=>{switch(V.type){case"IMAGE":e.send(hs,{suggestion:V});break;default:e.send(_e,{text:T,suggestion:V})}t(ee(!1))},[t]),X=T=>{be(T.text),t(G({name:"entity copied",data:{entity:T,type:"copy"}})),t(ee(!1))},Co=T=>{e.send(_e,{text:T,suggestion:{source:"knowledge-assist",text:T}}),t(G({name:"answer used",data:{originalText:T},options:{includeConversationData:!0}})),i(""),t(ie("search")),t(Et()),t(ee(!1))},Su=T=>{be(T),t(ee(!1))};function Qn(T,V){return T.slice(0,d?10:V.toLowerCase()==="image"?hf:ff)}function Bt(T){return V=>{n?window.confirm(o("warning"))&&(T(V),s(!1)):T(V)}}return Js(()=>{r?_(r,d):t(Uo())},[r,d]),Js(()=>{a==="search"&&t(Et())},[a]),Js(()=>{p&&t(Jt())},[p]),Pa(S,()=>t(ee(!0))),!u||!l?null:er(O,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Bt(T=>t(ee(T))),onChangeType:T=>c(T),onChangePage:Bt(T=>t(ie(T))),selectedType:d,search:r,page:a,isOpen:k,types:[...I,...j],children:[er(O.Page,{id:"search",children:[r.length===0&&Z(vl,{commands:z,onClick:ne}),r.length>0&&er(pf,{children:[z.length>0&&Z(O.List,{heading:o("commands"),children:z.map((T,V)=>Z(O.ListItem,{closeOnSelect:!1,onClick:T.onClick,id:`commands-${V}`,children:T.label},T.label))}),[...I,...j].map(({value:T,label:V,list:$r,lineClamp:xu,listOrientation:bu})=>Z(O.List,{heading:V,orientation:bu==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(T),hasMore:!d&&w[T.toLowerCase()]>Qn($r,T).length,children:Qn($r,T).map(J=>Z(O.ListItem,{id:`${T}-${J.id}`,closeOnSelect:!1,lineClamp:xu,onClick:()=>ne(J.text,J),description:T!=="IMAGE"?J.title&&J.text:void 0,extra:m&&Z(O.ListItemActions,{children:Z(un,{context:r,source:"search",suggestion:J})}),children:T==="IMAGE"?Z(O.Image,{title:J.title||J.text,src:J.image}):J.title||J.text},`${J.id}-${J.text}`))},T))]})]}),Z(O.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Bt(()=>{t(ie("search"))}),children:Z(Na,{onCopy:X})}),Z(O.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Bt(()=>{t(ie("search"))}),children:Z(Ga,{onCopy:Su})}),Z(O.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Bt(()=>{t(Et()),t(ie("search"))}),children:Z(rl,{question:r,onUse:Co,onResetQuestion:()=>{t(Et()),i("")}})})]})},Il=yf;import{jsx as Ll,jsxs as xf}from"react/jsx-runtime";var Sf=()=>{let t=C("showSearch"),e=C("isEmbedded");return xf(vf,{children:[t&&Ll(Il,{}),e&&Ll(la,{})]})},Al=Sf;import Tf from"classnames";import{useSelector as Ef}from"react-redux";import{jsx as tr}from"react/jsx-runtime";var Ml=({className:t})=>tr("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512",xmlSpace:"preserve",className:t,children:tr("g",{children:tr("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
|
|
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
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 Nl}from"react/jsx-runtime";var bf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Ol=({className:t,color:e})=>Nl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Nl("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:bf[e||"pink"]})});var Dl={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var or={};$(or,{enUS:()=>Cf,nlNL:()=>wf});var Cf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},wf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as kf}from"react-redux";import{jsx as nr,jsxs as _l}from"react/jsx-runtime";var Fl=({onLogIn:t})=>{let e=E(or),o=C("floatingMenu"),n=C("productName"),s=kf(),r=Ef(q),i=h("FloatingMenu",Dl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(ee(!0)):t()};return _l("button",{className:Tf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[nr("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),_l("div",{className:i.icon,children:[nr(Ol,{className:i.logo,color:"pink"}),r===!1&&nr(Ml,{className:i.lock})]})]})};import{useEffect as $f,useRef as qf}from"react";import{connect as Gf,useDispatch as jf,useSelector as fn}from"react-redux";import{useEffect as Rf}from"react";function Je(t){Rf(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ye(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function kt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as Pf}from"@reduxjs/toolkit";var If={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var pn=({ui:t})=>t.overlayCollapsed;var Hl=Pf({name:"ui",initialState:If,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:ao,setInputHasFocus:sr,setOverlayCollapsed:He,setOpenOverlayWhenTyping:Bl,setOverlayCollapsedUserOverwrite:Kl}=Hl.actions,Ul=Hl.reducer;import{Fragment as zf,useMemo as Vf}from"react";import{Interweave as Mf}from"interweave";import{useEffect as Nf,useMemo as Of,useRef as Df}from"react";import{useDispatch as _f,useSelector as Wl}from"react-redux";import{useEffect as Lf}from"react";function zl(t,e,o){Lf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Vl={root:"dd-1MBCO",actions:"dd--x4cy",badge:"dd-4Fpkz",formattedText:"dd-EzvTB"};import{jsx as mn,jsxs as Uf}from"react/jsx-runtime";var Ff=["search","personal-collection-search","search-autocomplete"];function Hf(t,e,o,n={}){let s="";return Ff.includes(e)?s=ma(As(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=As(t,o,n),n.placeholders===!0&&(s=ga(s)),s}var Bf=()=>{},Kf=({index:t,selected:e,suggestion:o})=>{let n=C("inlineSuggestions"),s=Wl(ft),r=C("enableSuggestionFeedback"),i=Wl(p=>p.input.text),a=_f(),l=h("TextSuggestion",Vl),d=Df(null);Nf(()=>{let p=setTimeout(()=>{a(bi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(p)}},[o]),zl(d,"click",()=>{a(De(t)),a(pe({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=Of(()=>Hf(o.text,o.source,s,{stripAgentPart:n,placeholders:!0,searchKeywords:o.searchKeywords}),[n,o.text,o.source,s,o.searchKeywords]);return o.source==="gpt"&&!n?null:Uf("div",{className:l.root,onMouseEnter:()=>a(De(t)),children:[mn(A,{ref:d,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Bf,children:mn(Mf,{containerTagName:"div",noWrap:!1,tagName:"span",className:l.formattedText,content:c})}),e&&r&&mn("div",{className:l.actions,children:mn(un,{source:"overlay",context:i,suggestion:o})})]})},$l=Kf;import{jsx as ql}from"react/jsx-runtime";var Wf=({suggestions:t,selectedIndex:e,reverse:o})=>{let n=Vf(()=>{let s=t.map((r,i)=>ql($l,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return o?s.reverse():s},[t,e,o]);return ql(zf,{children:n})},gn=Wf;var Gl={root:"dd-PfvRI",paper:"dd-HYlyY"};import{jsx as hn}from"react/jsx-runtime";var Xf=({textSuggestions:t,selectedIndex:e})=>{let o=qf(null),n=h("InlineSuggestionsOverlay",Gl),s=fn(kt),r=jf(),i=fn(q),a=fn(mt),l=fn(pn),d=C("showTextSuggestions");return Je(()=>{setTimeout(()=>{r(He({collapse:!0,skipWhenInputFocus:!0}))})}),$f(()=>{let c=o.current;if(!c||!c.parentElement)return;c.parentElement.style.left="0px";let p=c.getBoundingClientRect();c.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),l||!s||!d||t.length===0||i!==!0||a===!1?null:hn("div",{className:n.root,"data-variant":"inline",children:hn("div",{ref:o,className:n.paper,children:hn(Y,{children:hn(gn,{suggestions:t,selectedIndex:e})})})})},Qf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),jl=Gf(Qf)(Xf);import{Provider as Zf}from"react-redux";import{jsx as yn}from"react/jsx-runtime";var Jf=({children:t})=>{let o=C("locale").replace("-","");return yn(Ts.Provider,{value:o,children:t})},Yf=({store:t,customStyles:e={},children:o})=>yn(Zf,{store:t,children:yn(Jf,{children:yn(Kt.Provider,{value:e,children:o})})}),et=Yf;import dr from"classnames";import{useEffect as uh,useRef as ph,useState as mh}from"react";import{connect as gh,useDispatch as fh,useSelector as xn}from"react-redux";import{useState as eh}from"react";function Xl(t,e){let[o,n]=eh(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return b.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){b.error(i)}}]}var Ql=()=>/Mac/i.test(navigator.platform);import nh from"classnames";import{Fragment as sh,useCallback as ir,useMemo as Jl}from"react";var rr={};$(rr,{enUS:()=>th,nlNL:()=>oh});var th={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"}]}]},oh={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 Zl={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as vn,jsxs as Yl}from"react/jsx-runtime";var ar=(t,e,o)=>n=>vn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),rh=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=E(rr),i=se(),a=h("Login",Zl),l=C("productName"),d=ir(x=>{x.preventDefault(),n&&n(parseInt(x.target.value,10))},[]),c=ir(x=>{x.preventDefault(),i.send(ht,!0)},[e]),p=Jl(()=>x=>vn("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:x},"login"),[e]),u=ir(x=>vn("button",{type:"button",className:a.anchorButton,onClick:c,children:x},"prompt"),[c]),{min:m,hour:f,day:g}=Jl(()=>({min:ar(a,60*10,d),hour:ar(a,60*60,d),day:ar(a,60*60*12,d)}),[]);return Yl("div",{className:nh(t,a.root),children:[r("loginPlease",{login:o?u:p,productName:l}),n&&Yl(sh,{children:[vn("br",{}),r("snooze",{min:m,hour:f,day:g})]})]})},Sn=rh;import{useDispatch as ih}from"react-redux";var ed={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as td,jsxs as lh}from"react/jsx-runtime";var ah=({title:t})=>{let e=h("SearchTrigger",ed),o=ih();return lh("button",{type:"button",className:e.root,onClick:()=>o(ee(!0)),children:[td(yt,{}),td("span",{className:e.text,children:t})]})},od=ah;var lr={};$(lr,{enUS:()=>dh,nlNL:()=>ch});var dh={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"}]},ch={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 nd={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2"};import{jsx as U,jsxs as lo}from"react/jsx-runtime";var hh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",nd),s=E(lr),r=xn(kt),i=yi(),a=fh(),l=ph(null),d=C("searchTriggerKey"),c=C("productName"),p=xn(pn),u=xn(q),m=xn(mt),[f,g]=mh(null),x=C("showSearch"),y=C("showTextSuggestions"),S=C("adminUrl"),v=C("isEmbedded"),[R,w]=Xl("dd-snooze-until-ms",0),k=p||R>Date.now(),M=t.filter(I=>I.source!=="gpt").length,j=()=>{k&&w(0),a(Kl(!k))},z=I=>{let _=Date.now()+I*1e3;w(_),b.info(`Snooze until: ${new Date(_)}`),a(He({collapse:!0}))};return uh(()=>{M===0&&g(null)},[t,M]),Je(()=>{a(He({collapse:!0,skipWhenInputFocus:!0}))}),u===null||m===!1?null:u===!1?lo("div",{ref:l,className:dr(n.root,{[n.isCollapsed]:k}),children:[!k&&lo("div",{className:n.triggers,children:[U("div",{style:{flex:1}}),U("div",{className:n.triggersRight,children:U(lt,{className:n.toggleButton,title:s("collapse"),onClick:j,isCollapsed:!1})})]}),U("div",{className:n.toggleButtonWrapper,children:U(lt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:j,isCollapsed:!0})}),U("div",{className:n.collapsible,children:U(Sn,{loginUrl:S,isEmbedded:v,onLogIn:o,onSnooze:z})})]}):!i||!r?null:lo("div",{ref:l,className:dr(n.root,{[n.isCollapsed]:k}),children:[!k&&lo("div",{className:n.triggers,children:[U("div",{style:{flex:1},children:x&&U("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>g(s(Ql()?"searchHintMac":"searchHintWindows",{searchTriggerKey:d.toUpperCase()})),onMouseLeave:()=>g(null),children:U(od,{title:s("search")})})}),lo("div",{className:n.triggersRight,onFocus:()=>{},children:[U("div",{className:dr(!f&&n.hintsHidden,n.hints),children:f}),U(lt,{className:n.toggleButton,title:s("collapse"),onClick:j,isCollapsed:!1})]})]}),U("div",{className:n.toggleButtonWrapper,children:U(lt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:j,isCollapsed:!0})}),M>0&&y&&U("div",{className:n.collapsible,onFocus:()=>{},children:U(Y,{children:U(gn,{suggestions:t,selectedIndex:e,reverse:!0})})})]})},yh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),sd=gh(yh)(hh);import xr from"classnames";import{Interweave as gy}from"interweave";import{useCallback as fy,useEffect as hy,useMemo as Id,useRef as yy}from"react";import{connect as vy}from"react-redux";import{useEffect as vh,useRef as Sh,useState as xh}from"react";function bn(t){return t.contentEditable==="true"}function bh(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 rd(t){let{selectionStart:e,selectionEnd:o}=bn(t)?bh(t):t;return[e,o]}function id(t){let[,e]=xh(),o=Sh(null);return o.current=rd(t),vh(()=>{let n=()=>{let[s,r]=o.current??[],i=rd(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 ad(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(Ro);if(!i||i.length===0)return;let a=0;i.find(l=>{let d=n.indexOf(l,a);return s>d&&r<d+l.length?(o.selectionStart=d,o.selectionEnd=d+l.length,!0):(a=d+l.length,!1)})}import{cloneElement as Ch}from"react";var wh=["div","span","mark","strong","b","i","u","em"];function cr(t,e,o=0){var r;let n=t[t.length-1],s=typeof n=="object"&&n!==null?(r=n.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,n];if(wh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Ch(n,{children:cr(i,e,o+1)})]}return[...t,...e]}function Be(t){return t.tagName.toLowerCase()==="textarea"}var ld={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import Vh from"classnames";import{Matcher as Wh}from"interweave";import{useEffect as $h,useMemo as qh}from"react";import{useEffect as Th,useRef as Eh,useState as kh}from"react";function dd(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Cn(t){let e=Eh(null),[o,n]=kh(!1);return Th(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=dd((c,p)=>{let u=e.current;if(!u)return;let m=c/r,f=p/r,g=u.getBoundingClientRect(),x=m>g.x&&m<g.x+g.width&&f>g.y&&f<g.y+g.height;x&&!s?(s=!0,n(!0)):!x&&s&&(s=!1,n(!1))},({clientX:c,clientY:p})=>[c,p]),[l,d]=dd(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),d(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}function cd(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function wn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function ud(t){return t!=null}import hd from"classnames";import{createRef as _h,useCallback as pr,useMemo as Fh,useRef as Hh,useState as Bh}from"react";import{useState as Rh,useLayoutEffect as Ph}from"react";var Ih=["bottom","height","left","right","top","width"],Lh=(t={},e={})=>Ih.some(o=>t[o]!==e[o]),Ee=new Map,pd,md=()=>{let t=[],e=[];Ee.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Lh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ee.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),pd=window.requestAnimationFrame(md)};function Ah(t,e){return{observe(){let o=Ee.size===0;if(Ee.has(t)){let n=Ee.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ee.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&md()},unobserve(){let o=Ee.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ee.delete(t),Ee.size||cancelAnimationFrame(pd)}}}}function ur(t){let[e,o]=Rh(null);return Ph(()=>{if(!t.current)return;let n=Ah(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Mh,useLayoutEffect as Nh,useState as Oh}from"react";import{createPortal as Dh}from"react-dom";var gd={root:"dd-r-dgo"};var fd=({children:t,parentNode:e})=>{let[o,n]=Oh(null),s=Mh(Kt);return Nh(()=>{let r=document.createElement("div");return Ye(r),r.classList.add(gd.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?Dh(t,o):null};var me={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as mr}from"react/jsx-runtime";var Tn=(t=!1)=>{let[e,o]=Bh(t),n=pr(()=>o(!0),[]),s=pr(()=>o(!1),[]),r=pr(()=>o(a=>!a),[]),i=Hh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function gr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Rt=({className:t,triggerRef:e,boundaryRef:o=_h(),position:n="above",align:s="center",children:r,toStyle:i=gr,parentNode:a,...l})=>{let d=ur(e),c=ur(o),p=Fh(()=>i(d,c,0),[d,c]);return mr(fd,{parentNode:a,children:mr("div",{className:hd(me.ref,{[me.positionAbove]:n==="above",[me.positionBelow]:n==="below",[me.positionLeft]:n==="left",[me.positionRight]:n==="right",[me.alignStart]:s==="start",[me.alignCenter]:s==="center",[me.alignEnd]:s==="end"}),style:p,...l,role:"dialog",children:mr("div",{className:hd(t,me.root),children:r})})})};import Kh from"classnames";import{forwardRef as Uh,useRef as zh}from"react";var ke={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as yd}from"react/jsx-runtime";var En=Uh(({className:t,children:e,...o},n)=>{let s=zh(null),r=h("TabCompletion",ke);return yd("div",{ref:wn([s,n]),className:Kh(t,r.popoverContentContainer),...o,children:yd("div",{className:r.popoverContent,children:e})})});import{jsx as co,jsxs as Xh}from"react/jsx-runtime";var Gh=t=>e=>{let o=gr(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",ke),i=Tn(),a=qh(()=>Gh(t.getBoundingClientRect()),[t]),[l,d]=Cn(t);return $h(()=>{d?i.open():i.close()},[d]),Xh("span",{children:[co("mark",{ref:wn([l,i.triggerRef]),className:Vh(r.matchKeyword,{[r.hover]:d}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&co(Rt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:co(En,{style:o,children:co("div",{className:r.hintText,children:s})})})]})},kn=class extends Wh{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${cd(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(ud);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 co(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 Qh}from"interweave";import Zh from"classnames";import{jsx as vd}from"react/jsx-runtime";var Jh=({inputElement:t,children:e})=>{let o=h("TabCompletion",ke),[n,s]=Cn(t);return vd("mark",{ref:n,className:Zh(o.matchPlaceholder,{[o.hover]:s}),children:e})},Rn=class extends Qh{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 vd(Jh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import Sr from"classnames";import{Matcher as ay}from"interweave";import{createRef as ly,forwardRef as dy,useCallback as cy,useEffect as kd,useRef as Rd,useState as Pd}from"react";import{useDispatch as uy}from"react-redux";import{jsx as Sd}from"react/jsx-runtime";var xd=()=>Sd("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Sd("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 Cd,useState as wd}from"react";import{useDispatch as ey,useSelector as Td}from"react-redux";import ty from"lodash.debounce";var bd={root:"dd-ky-Bv",content:"dd-kV5e1"};function Pn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch{return null}}function fr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as tt,jsxs as hr}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",bd),[i,a]=wd(""),l=ey(),d=Td(ml("url")),c=Td(Ki("URL",ny)),[p,u]=wd(c.length-1),m=C("fallbackImage"),f=S=>{let v=S.target;a(v.value)},g=(S,v)=>{S.stopPropagation(),S.preventDefault(),window.open(v,"_blank")},x=S=>{var w;let v=p-1<0?c.length-1:p-1,R=p+1===c.length?0:p+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&u(v),S.code==="ArrowDown"&&u(R),S.code==="Enter"&&t(((w=c[p])==null?void 0:w.text)||i)},y=Yh(ty(S=>{l($e({query:S,type:"URL",tags:["link-search"]}))},300),[]);return Cd(()=>{i&&y(i)},[i]),Cd(()=>()=>{l(Uo())},[]),hr("div",{className:r.root,children:[tt(Y,{withDivider:!0,children:(i?c:d).slice(0,s).map((S,v)=>tt(A,{selected:p===v,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:hr(D,{children:[tt(D.Image,{src:Pn(S,"small",m||void 0),title:S.title||S.text}),hr(D.Content,{className:r.content,cropText:!0,children:[tt(D.Title,{children:S.title||fr(S.text)}),S.title&&fr(S.text)]}),tt(A.Actions,{children:tt(A.ActionButton,{label:n,onClick:R=>g(R,S.text)})})]})},S.text))}),tt(Zt,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:x})]})},Ed=sy;var yr={};$(yr,{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 ge,jsxs as vr}from"react/jsx-runtime";var py=dy((t,e)=>{let o=h("TabCompletion",ke);return ge("mark",{ref:e,className:Sr(o.matchSelection)},"selection-start")}),my=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=E(yr),i=h("TabCompletion",ke),a=Rd(null),l=Rd(null),[d,c]=Pd(null),p=uy(),u=Tn(document.activeElement===n),[m]=Pd(()=>document.createRange());u.triggerRef.current=m,kd(()=>()=>m.detach(),[]),kd(()=>{let g=t.current,x=a.current;!g||!x||(m.setStart(g,0),m.setEnd(x,0))},[t.current,a.current]),Je(()=>{u.close()});let f=cy(g=>{let x=m.toString(),y=/^http(s?):\/\//.test(g)?g:`https://${g}`;p(_o({text:`[${x}](${y})`,replace:"selection"}))},[]);return vr("span",{children:[ge("mark",{ref:a,className:Sr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&ge(Rt,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:vr(En,{style:o,ref:l,children:[ge("div",{className:Sr(i.selectionOptions,{[i.selectionOptionsIsHidden]:d!==null}),children:vr("button",{type:"button",tabIndex:d===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>c("insertLink"),children:[ge(xd,{}),ge("span",{children:"\xA0"}),ge("span",{children:r("insertLink")})]})}),d==="insertLink"&&ge(Ed,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{c(null),u.close()}})]})})]},"selection-end")},In=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?ge(py,{ref:this.startRef}):ge(my,{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 Pt,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:l})=>{let d=h("TabCompletion",ld),c=C("insertLink"),p=C("showMidSentenceSuggestions"),u=C("inlineSuggestions"),m=id(a),f=yy(null),g=Sy(q);hy(()=>{Be(a)&&m&&ad(a,m)},[m]);let x=fy(v=>{if(!s||!o)return v;let R=[Pt("span",{className:d.resetIndent,children:"\u200B"},"u200B"),Pt("span",{"data-testid":"tab-completion",className:xr(d.tabText,d.resetIndent),"data-source":l,children:o},"tabText")];return n&&R.push(Pt("span",{className:xr(d.hint,d.resetIndent),children:Pt(Yn,{keyCode:"tab"},"tabHint")})),cr(v,R)},[s,o,n]),y=Id(()=>{let v=[];return c&&v.push(new In("selection")),v.push(new Rn("placeholders")),r&&v.push(new kn("keywords")),v},[u,c,r]),S=Id(()=>{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||!g?null:Cy("div",{ref:v=>{v!=null&&v.parentElement&&(f.current=v==null?void 0:v.parentElement)},className:d.root,style:S,children:[Pt(gy,{tagName:"span",containerTagName:"div",className:xr(d.container,d.agentText),disableLineBreaks:Be(a),content:e||"\u200B",onAfterParse:x,matchers:y,selection:m,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),Pt("br",{})]})},by=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var g;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??eo(t.text),d=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:c}=e,{isSupported:p}=s,{showTabCompletion:u,visible:m,showStyleSuggestions:f}=o;return{showTabHint:c,showStyleSuggestions:f,showTabCompletion:u,content:l,tabText:d,source:a,keywordMatches:((g=n.list)==null?void 0:g.keywordMatches)??[],enabled:m&&p!==!1}},Ld=vy(by)(xy);import Rv from"classnames";import{Fragment as Pv,useEffect as _c}from"react";import{useDispatch as _n,useSelector as H}from"react-redux";import{createAsyncThunk as uo,createSlice as wy}from"@reduxjs/toolkit";var Ad={list:[],fetchState:"idle"},Nd=t=>t.autoflows.list||[],Md=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Re=uo("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),br=uo("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(Re(t.platformSessionId))}),Cr=uo("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(Re(t.platformSessionId))}),Ty=wy({name:"autoflows",initialState:Ad,reducers:{},extraReducers:t=>{t.addCase(br.pending,(e,o)=>{let n=Md(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Cr.pending,(e,o)=>{let n=Md(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Re.pending,e=>{e.fetchState="loading"}),t.addCase(Re.rejected,e=>{e.fetchState="error"}),t.addCase(Re.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(N,()=>Ad)}}),Od=uo("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(Re(t))}),s.on("sessionCompleted",()=>{o(Re(t))})}),Dd=uo("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),_d=Ty.reducer;import{createAsyncThunk as mo,createSlice as Ey}from"@reduxjs/toolkit";var Fd={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},Hd=t=>t.customMessages.list,Bd=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Kd=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Ud=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),po=mo("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),Ln=mo("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)}),An=mo("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)}),zd=Ey({name:"customMessages",initialState:Fd,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(po.pending,e=>{e.fetchState="loading"}).addCase(po.rejected,e=>{e.fetchState="error"}).addCase(po.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Ln.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Ln.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(An.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(An.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(N,()=>Fd)}}),Vd=mo("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(zd.actions.onCustomMessage(r))})}),Wd=mo("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),$d=zd.reducer;import{createAsyncThunk as qd,createSlice as ky}from"@reduxjs/toolkit";var Ry={token:null,interval:null},wr=qd("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return{token:await o.requestPasswordlessToken()}}),Tr=qd("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(wr()),setInterval(()=>n(wr()),o)}),Gd=ky({name:"passwordlessToken",initialState:Ry,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(wr.fulfilled,(e,o)=>{e.token=o.payload.token}),t.addCase(Tr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:jd}=Gd.actions,Xd=Gd.reducer;import{createAction as Py,createAsyncThunk as Iy,createSlice as Ly}from"@reduxjs/toolkit";var Qd={shouldEmit:!0},Er={cues:[],fetchState:"idle"},Zd=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Ay=Py("rules/resetCues"),ot=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()).filter(p=>p.isEnabled).some(p=>p.label===t.label))throw new Error(`No enabled rules found with label: ${t.label}`);return{cues:await s.evaluateRule(t.label,i,{tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0,...t.params}),options:t.options}}catch(s){return b.info(s.message),{cues:[],options:t.options}}}),Jd=Ly({name:"answer",initialState:Er,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(ot.pending,e=>{e.fetchState="loading"}).addCase(ot.rejected,e=>{e.fetchState="error"}).addCase(ot.fulfilled,(e,o)=>{let n=o.payload.cues.map(r=>r.rule.id),s=e.cues.filter(r=>!n.includes(r.rule.id));e.fetchState="done",e.cues=[...o.payload.cues,...s]}).addCase(N,()=>Er).addCase(Ay.toString(),()=>Er)}}),{removeCue:Yd}=Jd.actions,ec=Jd.reducer;import{Fragment as Uy}from"react";import{connect as zy}from"react-redux";import Hy from"classnames";import{Fragment as By}from"react";import My from"classnames";var tc={root:"dd-uszkm"};import{jsx as Oy}from"react/jsx-runtime";var Ny=({className:t,children:e})=>{let o=h("Unicode",tc);return Oy("span",{className:My(t,o.root),children:e})},oc=Ny;var nc={isDisabled:"dd-Sp--t",root:"dd-maqTG",buttonStop:"dd-rcq8w",stateBadge:"dd-zOnkT",isCompleted:"dd-GA-rt",isStarted:"dd-PZwtX",isAborted:"dd-PAXSE"};var kr={};$(kr,{enUS:()=>Dy,nlNL:()=>_y});var Dy={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"}]},_y={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 nt,jsxs as Mn}from"react/jsx-runtime";var Ky=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",nc),a=E(kr),l=e==="Started"?"stop":"start",d=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return Mn(A,{className:Hy(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[nt(D,{children:Mn(D.Content,{children:[Mn(D.Title,{children:[e&&nt("span",{className:i.stateBadge,children:a(e)}),o]}),nt("span",{children:n})]})}),nt(A.Actions,{fixed:e==="Started",children:nt(A.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Mn(By,{children:[nt(oc,{children:d})," ",nt("span",{children:a(l)})]})})})]})},sc=Ky;import{jsx as rc}from"react/jsx-runtime";var Vy=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},Wy=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>rc(Uy,{children:t.map(s=>rc(sc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||Vy(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),$y=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},qy={onStartAutoflow:br,onStopAutoflow:Cr},ic=zy($y,qy)(Wy);import Gy from"classnames";import{useCallback as ac}from"react";import{useDispatch as jy,useSelector as Nn}from"react-redux";var Pe={root:"dd-ERsBr",title:"dd-b36p6",isUsed:"dd-fp2IX",quickReplies:"dd--VrvP",quickReply:"dd-wFhWh",label:"dd-R9sND",errorIcon:"dd-8cdcH"};import{jsx as Ke,jsxs as On}from"react/jsx-runtime";var Xy=({suggestion:t})=>{let e=E(Qe),o=jy(),n=Nn(Bd(t.text)),s=Nn(Kd(t.text)),r=Nn(Ud(t.text)),i=Nn(pt),{replyOptions:a}=t,l=ac(c=>{c.preventDefault(),c.stopPropagation(),!(n||!i)&&o(Ln({platformSessionId:i,suggestion:t}))},[t,n,o,i]),d=ac(c=>{if(c.preventDefault(),c.stopPropagation(),!i||!a)return;let p=parseInt(c.target.dataset.index,10),u=a[p];o(An({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return On(A,{onClick:l,className:Gy(Pe.root,{[Pe.isUsed]:n,[Pe.hasError]:r}),children:[Ke(D,{children:On(D.Content,{children:[On(D.Title,{className:Pe.title,children:[t.text," ",Ke(es,{className:Pe.label,children:"analyse tool"})," ",r&&Ke("span",{className:Pe.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Ke("ul",{className:Pe.quickReplies,children:a.map(c=>Ke("li",{className:Pe.quickReply,children:c.title},c.title))})]})}),On(A.Actions,{fixed:r||n,children:[a&&a.length>0&&Ke(A.DropdownButton,{label:e("answer"),disabled:s,children:a.map((c,p)=>Ke(A.DropdownItem,{index:p,label:c.title,onClick:d},c.title))}),Ke(A.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},lc=Xy;import{useEffect as Qy,useState as Zy}from"react";import{useDispatch as Jy}from"react-redux";import uc from"classnames";import{jsx as dc}from"react/jsx-runtime";var go=()=>dc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:dc("path",{d:"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"})});var cc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as It,jsxs as pc}from"react/jsx-runtime";var Yy=({entities:t})=>{let e=h("EntitiesWidgetList",cc),[o,n]=Zy(void 0),s=Jy(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),be(a.text),s(G({name:"entity copied",data:{entity:a,type:"copy"}})))};return Qy(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:It("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>pc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[It("span",{className:e.entityText,children:a.text}),pc("span",{className:e.iconWrapper,children:[It("span",{className:uc(e.icon),children:It(go,{})}),It("span",{className:uc(e.icon,o===l&&e.iconClicked),children:It(go,{})})]})]},a.text))})},mc=Yy;import{jsx as gc}from"react/jsx-runtime";var fc=()=>gc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:gc("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 hc}from"react/jsx-runtime";var yc=()=>hc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:hc("path",{d:"M543-340q16.595 0 28.798-12.202Q584-364.405 584-381t-12.202-28.798Q559.595-422 543-422t-28.798 12.202Q502-397.595 502-381t12.202 28.798Q526.405-340 543-340Zm-25-126h47q2-29 8.5-43t32.5-39q27-26 37.5-45.395Q654-612.79 654-639q0-45.882-31.5-74.941Q591-743 540-743q-38 0-68 20.5T428-665l45 19q11-25 27.5-38t39.5-13q29.778 0 48.389 17Q607-663 607-637q0 20-9 35t-32 32q-32 29-40 46.5t-8 57.5ZM260-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260Zm0-60h560v-560H260v560ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm120-740v560-560Z"})});import{jsx as vc}from"react/jsx-runtime";var Sc=()=>vc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:vc("path",{d:"M319-250h322v-60H319v60Zm0-170h322v-60H319v60ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"})});import{useDispatch as gv}from"react-redux";import{useEffect as pv}from"react";import{jsx as xc,jsxs as ev}from"react/jsx-runtime";var bc=({className:t})=>ev("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[xc("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),xc("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import tv from"dompurify";import{Fragment as ov,useMemo as nv,useRef as sv,useState as rv}from"react";import iv from"snarkdown";var Cc={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",arrow:"dd-cv33T",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{jsx as fo,jsxs as Pr}from"react/jsx-runtime";function av(t){return`<button type="button" class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function Rr(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}function lv(t){return t.replace(/\r\n/g,`
|
|
8
8
|
`)}var dv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",Cc),i=sv(null),[a,l]=rv(null),d=nv(()=>{let g=iv(lv(t));return tv.sanitize(g).replace(/<\/code>/g,`${av(r.copyIcon)}</code>`)},[t]),c=g=>{var S;let x=g.target,y=!!((S=i.current)!=null&&S.querySelector("code"));a||y&&x.tagName!=="CODE"||!y&&x!==i.current||(x.addEventListener("mouseleave",()=>l(null),{once:!0}),l(x))},p=()=>{if(!a)return;l(null);let g=a.querySelector("button");g&&(St(g,r.fadeup),n(Rr(a)))},u=g=>{g.target.tagName.toLowerCase()==="button"&&(St(g.target,r.fadeup),n(Rr(g.target.parentElement)))},m=()=>{a&&(l(null),s(Rr(a)))},f=g=>{if(g===null)return;let x=g.getBoundingClientRect();x.left<0?g.style.transform=`translateX(${-x.left+2}px)`:x.right>window.innerWidth&&(g.style.transform=`translateX(${window.innerWidth-x.right-2}px)`)};return Pr(ov,{children:[a&&Pr(Rt,{triggerRef:{current:a},className:r.popover,parentNode:a,children:[Pr("div",{className:r.options,ref:f,children:[fo("button",{type:"button",className:r.option,onClick:p,children:o}),fo("div",{className:r.divider}),fo("button",{type:"button",className:r.option,onClick:m,children:e})]}),fo("div",{className:r.arrow})]}),fo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:d},onMouseOver:c,onClick:u})]})},wc=dv;var Ir={};$(Ir,{enUS:()=>cv,nlNL:()=>uv});var cv={useCue:[{type:0,value:"Add to message"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},uv={useCue:[{type:0,value:"Voeg toe aan bericht"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var Tc={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l"};import{jsx as Lt,jsxs as Lr}from"react/jsx-runtime";var mv=({cue:t,onRemove:e,onCopy:o,onUse:n})=>{let s=h("WidgetCue",Tc),r=E(Ir),i=xt(),a=c=>{o&&o(c,t)},l=c=>{n&&n(c,t)},d=c=>{c.preventDefault(),c.stopPropagation(),e(t)};return pv(()=>{i("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label,cueText:t.text})},[]),Lr(A,{"data-testid":"cue",children:[Lt(D,{children:Lr(D.Content,{children:[t.title&&Lt(D.Title,{className:s.title,"data-testid":"widget-cue-title",children:t.title}),Lt(wc,{content:t.text,useLabel:r("useCue"),copyLabel:r("copyCue"),onCopy:a,onUse:l})]})}),Lr(A.IconButtonContainer,{children:[Lt(wt,{eventName:"Assistant response feedback",eventData:{name:t.rule.name,group:t.rule.label,description:t.rule.description,cueText:t.text},feedbackText:t.text,feedbackType:"assistant"}),Lt(A.IconButton,{title:r("removeCue"),onClick:d,icon:Lt(bc,{})})]})]})},Ec=mv;import{Fragment as hv,jsx as kc}from"react/jsx-runtime";var fv=({cues:t})=>{let e=gv(),o=se(),n=xt(),s=a=>{e(Yd({id:a.rule.id})),n("Assistant response closed",{name:a.rule.name,group:a.rule.label,description:a.rule.description,cueText:a.text})},r=(a,l)=>{be(a),n("Assistant response copied",{name:l.rule.name,group:l.rule.label,description:l.rule.description,copiedText:a})},i=(a,l)=>{o.send(_e,{text:a,suggestion:{source:"cue",sourceText:a}}),n("Assistant response used",{name:l.rule.name,group:l.rule.label,description:l.rule.description,usedText:a})};return kc(hv,{children:t.map(a=>kc(Ec,{cue:a,onRemove:s,onCopy:r,onUse:i},a.rule.id))})},Rc=fv;import{Fragment as yv,useEffect as vv}from"react";var Pc={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as st,jsxs as Ic}from"react/jsx-runtime";function Sv(t,e){return e.split(".").reduce((o,n)=>!o||typeof o!="object"||!(n in o)?null:o[n],t)}var Lc=({data:t,schema:e})=>{let o=h("WidgetCustomData",Pc),n=s=>{be(s)};return vv(()=>{b.info("Custom data",t,e)},[t]),st("dl",{className:o.root,children:e.map(s=>{let r=Sv(t,s.path);return Ic(yv,{children:[st("dt",{className:o.label,children:s.label}),st("dd",{className:o.value,children:s.type==="boolean"&&r?st("span",{className:o.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?st("span",{className:o.isFalse,children:s.falseValue}):r?Ic("button",{type:"button",onClick:()=>n(r),className:o.copyButton,children:[st("span",{children:r}),st(go,{})]}):"-"})]},s.label)})})};import{useCallback as bv}from"react";var xv=/(https?:\/\/[^\s]+)/,Ac=t=>t.split(" ").find(e=>xv.test(e));import{jsx as At,jsxs as Dn}from"react/jsx-runtime";var Cv=({suggestion:t,lines:e,onUse:o})=>{var c;let n=t.text||t.url||t.message,s=Ac(n),r=E(Qe),i=C("showImages"),a=C("fallbackImage"),l=p=>{p.preventDefault(),p.stopPropagation(),o(n)},d=bv(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return Dn(A,{onClick:l,"data-testid":"edit-suggestion",children:[Dn(D,{children:[i&&t.image&&At(D.Image,{src:Pn(t,"small",a||void 0),title:t.title}),Dn(D.Content,{children:[t.title&&At(D.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((c=t.searchKeywords)==null?void 0:c.length)>0&&At(A.Labels,{labels:t.searchKeywords}),At(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Dn(A.Actions,{children:[s&&At(A.ActionButton,{onClick:d,label:r("visitUrl")}),At(A.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},Mc=Cv;import{Fragment as Tv,jsx as Nc}from"react/jsx-runtime";var wv=({lines:t,suggestions:e})=>{let o=se(),n=(s,r)=>{o.send(_e,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return Nc(Tv,{children:e.map(s=>Nc(Mc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Oc=wv;var ho={};$(ho,{enUS:()=>Ev,nlNL:()=>kv});var Ev={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"}]},kv={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 yo={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",sectionList:"dd-bF9pF",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",link:"dd-DRo0x"};import{jsx as P,jsxs as Mt}from"react/jsx-runtime";var Fn=(t,e)=>{let o=H(q);_c(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Iv=({onLogIn:t})=>{let e=h("Widget",yo),o=C("isEmbedded"),n=C("adminUrl");return P("div",{className:e.loginText,children:P("div",{children:P(Sn,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Dc=({text:t})=>{let e=h("Widget",yo);return P("div",{className:e.stateText,children:P("div",{children:P("p",{children:t})})},"notification")},Lv=()=>{let t=E(ho),e=_n(),o=h("Widget",yo),n=C("showSearch"),s=C("showSummaryCommand"),r=C("showKnowledgeSearch"),i=H(bt("/admin/")),a=se(),l=C("productName"),d=n||s||r||i;return Fn(()=>(e(Tr()),()=>{e(jd())}),[e]),d?P(ve,{title:t("actions"),type:"shortcuts",children:Mt("div",{className:o.shortcutList,children:[n&&Mt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search","aria-label":t("linkSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0}),children:[P(yt,{}),t("linkSearch")]}),s&&Mt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary","aria-label":t("linkSummary"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[P(Sc,{}),t("linkSummary")]}),r&&Mt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist","aria-label":t("linkKnowledgeSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[P(yc,{}),t("linkKnowledgeSearch")]}),i&&Mt("a",{className:o.shortcut,target:"_blank",href:i,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:l}),rel:"noreferrer",children:[P(fc,{}),t("linkStudioLogin",{productName:l})]})]})}):null},Av=()=>{let t=_n(),e=C("showCustomMessages"),o=H(Hd),n=H(pt);return Fn(()=>(t(po(n)),t(Vd(n)),()=>{t(Wd(n))}),[t,e,n]),!e||o.length===0?null:P(ve,{type:"custom-messages","data-testid":"custom-messages",children:P(Y,{withDivider:!0,children:o.map(s=>P(lc,{suggestion:s},s.text))})})},Mv=()=>{let t=E(ho),e=_n(),o=C("showAutoflows"),n=H(Nd),s=H(pt);return Fn(()=>(e(Re(s)),e(Od(s)),()=>{e(Dd(s))}),[e,o,s]),!o||n.length===0?null:P(ve,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:P(Y,{withDivider:!0,children:P(ic,{})})})},Nv=()=>{let t=_n(),e=H(rn),o=H(il),n=H(Zd),s=H(Ai),r=H(nn),i=H(an),a=H(Te),l=H(Ne);return _c(()=>{!!s&&!o&&b.warn("Custom data provided, but no schema.")},[s,o]),Fn(()=>{e.forEach(({type:d})=>{d==="entities"?t(le()):Po.includes(d)||t(ce(d))})},[t,l,a]),P(Pv,{children:e.map(({type:d,title:c,amount:p,lines:u,schema:m})=>{var f,g;switch(d){case"entities":return r&&r.length>0&&P(ve,{type:d,title:c,"data-testid":`type-${d}`,children:P(mc,{entities:r})},d);case"cues":return n&&n.length>0&&P(ve,{type:d,title:c,"data-testid":`type-${d}`,children:P(Y,{withDivider:!0,children:P(Rc,{cues:n})})},d);case"custom-data":return s&&m&&P(ve,{type:d,title:c,"data-testid":`type-${d}`,children:P(Y,{withDivider:!0,children:P(Lc,{data:s,schema:m})})},d);default:return((g=(f=i[d])==null?void 0:f.suggestions)==null?void 0:g.length)>0&&P(ve,{type:d,title:c,"data-testid":`type-${d}`,children:P(Y,{withDivider:!0,children:P(Oc,{lines:u,contentType:d,suggestions:i[d].suggestions.slice(0,p)||[]})})},d)}})})},Ov=({onLogIn:t})=>{let e=E(ho),o=h("Widget",yo),n=H(mt),s=H(q),r=H(pt),i=H(Te);return n===!1?P(Dc,{text:e("notSupported")}):s===!1?P(Iv,{onLogIn:t}):!i||!r||s===null?P(Dc,{text:e("waiting")}):P("div",{className:Rv(o.root),"data-testid":"widget",children:Mt(os,{className:o.sectionList,children:[P(Lv,{}),P(Av,{}),P(Mv,{}),P(Nv,{})]})})},Fc=Ov;function So(t){let e=new Range;return e.selectNodeContents(t),e}function Hc(t,e,o){try{return rt(t,e,o),!0}catch{return!1}}function Hn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Bn(t){return"tagName"in t&&t.tagName==="BR"}var vo=/[\u200B-\u200D\uFEFF]/g;function rt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(l,d){let c=-1,p=/[\u200B-\u200D\uFEFF]/;if(!p.test(l))return d;for(let u=0;u<=l.length;u++)if(p.test(l[u])||c++,c===d)return u;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let d=l.textContent,c=d.replace(vo,""),p=s+c.length,u=e>=s&&e<=p,m=o>=s&&o<=p;if(u){let f=i(d,e-s);f===0&&!m?n.setStartBefore(l):n.setStart(l,f)}m&&(n.setEnd(l,i(d,o-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(Bn(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let c=0;c<l.childNodes.length&&(a(l.childNodes[c]),!r);c++);let d=l.lastChild;Hn(l)&&d&&!Hn(d)&&!Bn(d)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Kn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,l,d=0;function c(p){let u=p===o,m=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let f=p.textContent;u&&(a=d+f.substring(0,n).replace(vo,"").length),m&&(l=d+f.substring(0,r).replace(vo,"").length),d+=f.replace(vo,"").length;break}case Node.ELEMENT_NODE:{let f=p.nextSibling===null;Bn(p)&&!f&&d++;for(let g=0;g<p.childNodes.length;g++){let x=u&&g===n,y=m&&g===r;if(x&&(a=d),y&&(l=d),l!==void 0||((!x||!i)&&c(p.childNodes[g]),m&&g===r-1&&(l=d),l!==void 0))break}!m&&Hn(p)&&!f&&d++,m&&(l=d);break}default:break}}if(c(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Un(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function l(d){let c=d===o,p=d===s;switch(c&&i++,d.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let u=c?n:0,m=p?r:void 0,f=d.textContent.replace(vo,"");u===0&&m===void 0?a+=f:a+=f.substring(u,m);break}case Node.ELEMENT_NODE:{let u=d.nextSibling===null;i===0&&Bn(d)&&!u&&(a+=`
|
|
9
9
|
`);for(let m=c?n:0;m<(p?Math.min(r,d.childNodes.length):d.childNodes.length)&&(l(d.childNodes[m]),i!==1);m++);!p&&i===0&&Hn(d)&&!u&&(a+=`
|
|
10
|
-
`);break}default:break}p&&i++}return l(t),a}var Bc=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Bc||{}),Ue=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();Me(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Bc).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(e={shouldObserve:!0}){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let o=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e!=null&&e.shouldObserve&&o.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{o.disconnect()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function Kc(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Nt=class extends Ue{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Un(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Kc(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Kc(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Kn(this.element,e);let o=this.lastKnownSelection;if(o&&Hc(this.element,o.start,o.end))return o;let n=So(this.element);return n.collapse(!1),Kn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Un(this.element,rt(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 Ot=class extends Ue{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Uc(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Dv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var Ar=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Mr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Uc(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},Nr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),b.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Mr(e,this.deepdeskUrl,{debug:!0}):new Ar(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Dv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(b.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;b.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage({...s,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},zc=Nr;var Dt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Or=t=>new Promise(e=>{setTimeout(e,t)});var _t=class extends Dt{name="ClientError"},_r=class extends Dt{name="ServerError"},Dr=new Map;async function _v(t){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e&&e.includes("application/json"))return t.json();let o=await t.text();return o===""?null:(b.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))}var fe=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,l=o.method===void 0||o.method.toLowerCase()==="get",{useCache:d=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=k=>k instanceof TypeError,retryOnResponse:g=k=>k.status>=500,version:x="v1",...y}=o;if(d)if(l){if(Dr.has(i)){n(Dr.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let S={credentials:"include",...y,headers:{"Content-Type":"application/json",...y.headers}};!l&&this.csrfToken&&(S.headers={...S.headers,"X-CSRFToken":this.csrfToken}),typeof x=="string"&&(S.headers={...S.headers,"X-Deepdesk-API-Version":x});let v=p,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let w=async()=>(v--,a(i,S).then(async k=>g(k)&&!r.isAborted&&v>0?(await Or(u),w()):k.status===401&&m===!0&&R===!1?(R=!0,await this.refreshToken(),w()):k).catch(async k=>{if(f(k)&&!r.isAborted&&v>0)return await Or(u),w();throw k}));w().then(async k=>{let M=await _v(k);if(delete this.latestRequestByUrl[i],k.status>=500){s(new _r("Server Error",M));return}else if(k.status===401){s(new _t("Unauthorized",M));return}else if(k.status===403){s(new _t("Forbidden",M));return}else if(k.status===404){s(new _t("Not Found",M));return}else if(k.status>=400){s(new _t("Bad Request",M));return}d&&Dr.set(i,M),n(M)}).catch(k=>{s(k)})})}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;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Fv||={});function zn(t){return{...L(t),tags:t.tags}}var ze=class t{constructor(e,o={}){this.options=o;this.client=new fe(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),b.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...F(e),tags:e.tags},{version:"v2"});return zn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return 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(),b.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return b.info(`Successfully retrieved conversation ${r.id} for session ${e}`),zn(r)}async isConversationSupported(e,o={}){b.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=F(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return zn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...F(s),tags:s.tags})),{version:"v2"})).map(s=>zn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",F({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:F({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return 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 b.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",F(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,F(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,F(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return 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",F(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,F(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,F({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return 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",F(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(ti);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&b.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var xo=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(us(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{b.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Hv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Hv||={});var bo=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=b;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,F(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,F(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",F(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new xo(`${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 $v,configureStore as qv}from"@reduxjs/toolkit";import{createSlice as Bv}from"@reduxjs/toolkit";var Vc={startTime:null,stopTime:null},Wc=Bv({name:"handlingTime",initialState:Vc,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase(N,()=>Vc)}}),{handlingTimeStart:$c,handlingTimeStop:Vn,handlingTimeReset:qc}=Wc.actions,Gc=Wc.reducer;var jc=(t={})=>{let e={onAuthError:ct(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Kv,createSlice as Uv}from"@reduxjs/toolkit";var Wn={list:{keywordMatches:[]},fetchState:"idle"};var it=Kv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return Wn.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),zv=Uv({name:"styleSuggestions",initialState:Wn,reducers:{},extraReducers:t=>{t.addCase(it.pending,e=>{e.fetchState="loading"}).addCase(it.rejected,e=>{e.fetchState="error"}).addCase(it.fulfilled,(e,o)=>{e.fetchState="done",Me(e.list,o.payload)||(e.list=o.payload)}).addCase(We,e=>{e.list=Wn.list}).addCase(N,()=>Wn)}}),Xc=zv.reducer;var Qc=(t={})=>{let e,o=!0,n={getStyleSuggestions:it,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,l=r(i),d=s.getState();if(d.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:c}=d.settings;if(!((m=d.conversation.current)==null?void 0:m.id)||!c)return l;let{text:u}=d.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),l}};function Vv(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Zc=(t={})=>{let e={getTextSuggestions:ce,getAutocompleteSuggestions:io,debounce:200,check:kt,...t},o;return n=>s=>r=>{var g;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:d,showTabCompletion:c}=l.settings,p=(g=l.conversation.current)==null?void 0:g.id,u=r.type===ln.toString();if(!p||!d&&!c)return a;let{input:{userCommitted:m}}=l;return Vv(m,i)&&!u||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let x=ft(l);x===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(x))},u?0:e.debounce)),a}};var Jc=it.fulfilled.toString();function Wv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Yc=t=>e=>o=>n=>{var d;if(n.type!==Jc){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(d=r.conversation)==null?void 0:d.current;if(s===i)return;let l=Wv(s,i);n.type===Jc&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Gv=$v({answer:Ya,auth:ci,autoflows:_d,conversation:gi,contentTypes:ca,customMessages:$d,passwordlessToken:Xd,entities:La,knowledgeAssistant:Qa,handlingTime:Gc,info:Di,input:Ii,settings:ni,profile:al,search:zi,summary:Ha,styleSuggestions:Xc,ui:Ul,rules:ec,textSuggestions:hl});function eu(t){return qv({reducer:Gv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),jc(),Zc({debounce:200}),Qc({debounce:500}),Yc(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var jv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Xv=t=>e=>o=>n=>{var a,l,d,c,p,u;let s=e.getState(),r=rs("inlineSuggestions")(s);switch(n.type){case ct.toString():{!n.payload&&t.emit("logout",void 0);break}case le.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:(a=s.conversation.current)==null?void 0:a.id,data:{entities:n.payload}});break;case G.toString():t.sendEvent(n.payload.name,{conversationId:((l=n.payload.options)==null?void 0:l.includeConversationData)&&((d=s.conversation.current)==null?void 0:d.id),data:n.payload.data});break;case Fo.toString():t.handleKeyDown(n.payload);break;case We.toString():t.logSendMessage(n.payload);break;case Ho.toString():t.handleInputChanged(n.payload);break;case ot.fulfilled.toString():n.isBroadcasted||t.broadcast(fs,n,!1),(c=n.payload.options)!=null&&c.shouldEmit&&t.emit("cues",n.payload.cues);break;default:break}let i=o(n);switch(n.type){case We.toString():t.handleAfterSendMessage(n.payload);break;case ao.toString():t.onUpdateShowTabHint(n.payload);break;case Vn.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case pe.toString():{let{start:m,end:f}=s.input.selection;t.emit("select-suggestion",{type:jv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:m,end:f}:{start:0,end:f}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(xe()));break}case _o.toString():{let{start:m,end:f}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:m,end:f}:{start:0,end:f}},{mayApplyChanges:!0});break}case Vt.toString():{let m=e.getState(),{text:f,selection:g}=m.input.userCommitted;t.emit("reset",{text:f,selectionAfter:g},{mayApplyChanges:!0});break}case Bo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ue.toString():{r&&n.payload.length>0&&e.dispatch(De(0));break}case we.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{summary:n.payload.summary,model:e.getState().summary.model}});break}default:break}return i},tu=Xv;function Fr(t){return t.toISOString().replace("T"," ").replace("Z","")}function ou(t,e){var r,i,a,l;let o=(r=t.conversation.current)==null?void 0:r.id;if(!o)return b.warn("No conversationId for handling time metrics"),null;let{startTime:n,stopTime:s}=t.handlingTime;return!n||!s?(b.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:o,clientVersion:e.version,agentId:(i=t.info.agentInfo)==null?void 0:i.agentId,agentName:(a=t.info.agentInfo)==null?void 0:a.agentName,agentEmail:(l=t.info.agentInfo)==null?void 0:l.agentEmail,timeStart:Fr(n),timeStop:Fr(s)}}function nu(t,e,o){var j,z,I,_;let n=(j=e.conversation.current)==null?void 0:j.id;if(!n)return b.warn("No conversationId for send message metrics"),null;let{text:s,metrics:{numCharsTyped:r,numCharsPasted:i,numCharsCut:a,numCharsDeleted:l,numPaste:d,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:u,cuts:m,deletions:f,textSuggestions:g,offeredTextSuggestions:x}}=e[t],y=s.length,v=g.reduce((ne,{text:X,searchTerm:Co})=>ne+X.length-(Co?Co.length:0),0),R=c??Date.now(),w=(Date.now()-R)/1e3+(p||0),k=r/w,M=g.reduce((ne,{searchTerm:X})=>ne+(X?X.length:0),0);return{conversationId:n,source:"agent",text:s,clientVersion:o.version,pastes:u,cuts:m,deletions:f,lenTextTyped:r+M,lenTextTotal:y,lenTextAssisted:v,lenTextPasted:i,lenTextCut:a,lenTextDeleted:l,timeTotalSeconds:w,charsPerSecond:k,numPastes:d,textSuggestionsV2:g,suggestionsCounters:[{source:"gpt",countOffered:x.filter(ne=>ne.source==="gpt").length}],agentId:(z=e.info.agentInfo)==null?void 0:z.agentId,agentName:(I=e.info.agentInfo)==null?void 0:I.agentName,agentEmail:(_=e.info.agentInfo)==null?void 0:_.agentEmail}}function Hr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Hr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Hr(s,e):null}function su(t,e){return Hr(t,e)}function ru(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 Br(t){return Qv(t)&&(Be(t)||bn(t))}var au,he=new Map,Zv=["bottom","height","left","right","top","width"],iu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:Zv.some(o=>t[o]!==e[o]);function lu(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...lu(e)]:[]}function du(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var $n=!1,cu=()=>{$n=!0;let t=[];if(he.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),he.delete(o);return}let n=o.getBoundingClientRect();iu(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(du,e.rect):e.rect;iu(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),he.size===0){$n=!1;return}au=window.requestAnimationFrame(cu)};function Kr(t,e){let o=lu(t),n=[],s=o.map((r,i)=>Kr(r,a=>{n[i]=a;let l=he.get(t);if(!l)return;let d=n.reduce(du,l.rect);l.callbacks.forEach(c=>c(d))}));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&&!$n&&cu()},unobserve(){s.forEach(i=>i.unobserve());let r=he.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||he.delete(t),he.size||(cancelAnimationFrame(au),$n=!1)}}}}var uu,ye=new Map,pu=()=>{ye.forEach((t,e)=>{if(!e.isConnected){ye.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ye.size!==0&&(uu=window.requestAnimationFrame(pu))};function mu(t,e){return{observe(){let o=ye.size===0;ye.has(t)?ye.get(t).callbacks.push(e):ye.set(t,{visible:void 0,callbacks:[e]}),o&&pu()},unobserve(){let o=ye.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ye.delete(t),ye.size||cancelAnimationFrame(uu)}}}}var Ur=["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 zr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Ft(t){return parseFloat(t)}function qn(t){return Math.round(t*1e6)}function gu(t){return t/1e6}function Vr(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Ft(t.width),r=Ft(t.borderLeftWidth),i=Ft(t.borderRightWidth),a=Ft(t.paddingRight),l=gu(qn(s)-qn(r)-qn(i)),d=gu(qn(n));if(l-d>2){let c=l-d;o.style.paddingRight=`${a+c}px`}}function Gn(t,e={}){var c;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Ye(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};zr(n,o,Ur),Vr(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=mu(t,()=>{zr(n,o,Ur),Vr(n,t,o),r(),setTimeout(r,0)}),a,l=!0,d=Kr(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(zr(n,o,Ur),Vr(n,t,o),r(),o.style.top=`${p.top}px`,o.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let u=e.closestScrollElement.getBoundingClientRect(),m=window.getComputedStyle(e.closestScrollElement),f=Ft(m.borderTopWidth),g=Ft(m.borderBottomWidth),x=u.top+f-p.top,y=p.top+p.height+-(u.top+u.height-g);o.style.clipPath=`inset(${x}px 0px ${y}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(c=t.parentElement)==null||c.appendChild(o),d.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),d.unobserve(),i.unobserve()}]}var fu=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{b.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Jv(t){return t.offsetParent!==null}function hu(t){if(!Jv(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 Wr(t,e,o=100){let n=hu(t);e({isVisible:n});let s=setInterval(()=>{let r=hu(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as B}from"react/jsx-runtime";var yu=fu("showTabHint",!0),Xn=class t{static version="11.6.0";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let d=e.replace(/\/api$/,"");this.deepdeskApi=new ze(d,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[tu({broadcast:(p,u,m)=>{this.broadcastEvents.send(p,u,m)},emit:(p,u,m)=>this.emit(p,u,m),handleAfterSendMessage:p=>this.handleAfterSendMessage(p),handleInputChanged:p=>this.handleInputChanged(p),handleKeyDown:p=>this.handleKeyDown(p),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:p=>this.logSendMessage(p),onUpdateShowTabHint:p=>yu.update(p),sendEvent:(p,u)=>this.deepdeskApi.sendEvent(p,u)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new bo(o)}),this.store=eu(c),this.broadcastEvents=new zc({debug:!0,deepdeskUrl:d,eventMap:Vi(this.store),createCustomChannel:l}),this.store.dispatch(ao(yu.value())),this.store.dispatch(Lo({locale:s,adminUrl:d,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(b.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(b.warn("Profile has not been loaded (yet)"),!0):(b.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(ct(null)),this.store.dispatch(Se()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();q(n)&&si(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(Se())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){b.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ls({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Ao(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Mo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(ds(e))).payload}async postMessages(e){return(await this.store.dispatch(Oo(e))).payload}async updateConversation(e){return(await this.store.dispatch(No(e))).payload}resetConversation(){this.store.dispatch(N()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(we());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Lo(e))}setVisitorInfo(e){this.store.dispatch(Ni(e))}setCustomData(e){this.store.dispatch(Oi(e))}async setAgentInfo(e){await this.store.dispatch(Wt(e))}async setAgentSettings(e){await this.store.dispatch(ms(e))}async getAgentSettings(){return(await this.store.dispatch(gs())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(ln()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Ho(e))}notifyKeyDown(e){this.store.dispatch(Fo(e))}notifyPaste(e,o){this.store.dispatch(Ei({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(wi(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(xe())}async evaluateRule(e,o={},n=Qd){let{payload:s,error:r}=await this.store.dispatch(ot({label:e,params:o,options:n}));if(r)throw new Error(r.message);return s.cues}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(He({collapse:!1})),this.inputMediator&&this.store.dispatch(vi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ue([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,l=s!==-1;if(this.store.dispatch(Ti(fi(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let d=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(xi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},c=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(Ci()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Vt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?c():d();return;case"Down":case"ArrowDown":{i?d():c();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(De(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(De(-1)),this.store.dispatch(Vt()),e.preventDefault()):o||(this.store.dispatch(He({collapse:!0})),this.store.dispatch(Bl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:p}=this.state.input,u=p.text.substring(0,p.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(ao(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(u)&&(this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(xe())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(ki()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(b.info("Start handling time"),this.store.dispatch($c()))}handlingTimeStop(){this.state.handlingTime.startTime&&(b.info("Stop handling time"),this.store.dispatch(Vn()))}logSendMessage(e){let o=nu("input",this.state,{version:this.version});o&&(e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o))}logHandlingTime(){let e=ou(this.state,{version:this.version});e&&(this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(qc()))}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(xe()),this.store.dispatch(We(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(pe({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{let r=this.eventListeners[e];r&&r.forEach(i=>{try{i(o)}catch(a){b.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),b.error(a)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Gn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{jn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=Gn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{jn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ye(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{jn(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),b.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(b.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Pi(n.metrics))):b.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Br(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:d,showSuggestionsAfterPattern:c,isEmbedded:p,detectSubmit:u,insertLink:m,inputMediator:f,closestScrollSelector:g,appendOverlayTo:x,inlineSuggestions:y,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:d,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:p,inlineSuggestions:y,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Ye(e),this.inputMediator=f||(Be(e)?new Ot(e):new Nt(e)),this.inputMediator.on("change",({plainText:w})=>{this.notifyInputChanged(w)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Ri({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",w=>{this.notifyKeyDown(w)}),this.inputMediator.on("paste",({pastedText:w,selectionText:k})=>{this.notifyPaste(w,k)}),this.inputMediator.on("cut",({selectionText:w})=>{this.notifyCut(w)});let v=g&&su(e,g)||void 0;if(y){let{customStyles:w,appendOverlayTo:k}=o;if(Be(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let M=this.createInlineContainer(e,"deepdesk-caret");Ht(B(et,{store:this.store,customStyles:w,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(jl,{})})}),M),this.inputMediator.on("caret",z=>{this.store.dispatch(ue([])),z?(M.style.display="block",M.style.top=`${z.top}px`,M.style.left=`${z.left}px`):M.style.display="none"});let j=this.overlayContainerFactory("floating-menu",v||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:k},w==null?void 0:w.floatingMenuRootNode);Ht(B(et,{store:this.store,customStyles:w,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Fl,{onLogIn:()=>this.loginViaPopup().catch(z=>b.warn(z.message))})})}),j)}else{let w=this.overlayContainerFactory("deepdesk-tab-completion",v||e,{appendTo:x,closestScrollElement:v,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),k=this.overlayContainerFactory("deepdesk-suggestions-overlay",v||e,{appendTo:x},n==null?void 0:n.suggestionsRootNode);Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Ld,{inputElement:e})})}),w),Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(sd,{onLogIn:()=>this.loginViaPopup().catch(M=>b.warn(M.message))})})}),k)}Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Al,{})})}),this.createContainer("deepdesk-overlays"));let R;this.inputMediator.on("selection",w=>{clearTimeout(R),w===null?R=setTimeout(()=>{w!==null&&this.store.dispatch(cs(w))},500):this.store.dispatch(cs(w))}),this.inputMediator.on("disabled",()=>{var w;(w=this.inputMediator)==null||w.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(sr(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(sr(!0))),this.store.dispatch(Si({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(xe()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var w;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((w=this.state.conversation.current)==null?void 0:w.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&b.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Fc,{onLogIn:()=>this.loginViaPopup().catch(i=>b.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&jn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Wr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){ru(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(ro());let e=Te(this.state);e&&(await this.store.dispatch(no()),this.store.dispatch(Lo({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let l=!1,d=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=async m=>{var f,g;if((f=m.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((g=m.data)==null?void 0:g.jwt),await this.isLoggedIn(),this.broadcastEvents.send(qt),l=!0,s.port1.close(),o()}catch(x){console.error(x),n(x)}finally{l=!0,d()}};let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let p=async m=>{var f;if(m.origin===a.origin)switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let g=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(g,a.origin,[s.port2])}catch(g){b.error("Error posting message to popup",g),n(g)}break}case"deepdesk-popup-error":{d(),m.data.message==="Timeout"&&b.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}};window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(d(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(d)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(b.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;b.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=rn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(le()):Po.includes(n)||this.store.dispatch(ce(n))})}catch(n){this.handleError(n)}}};async function Yv(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function eS(t,e,o={}){let n=o.replace?rt(t,o.replace.start,o.replace.end):So(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
10
|
+
`);break}default:break}p&&i++}return l(t),a}var Bc=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Bc||{}),Ue=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();Me(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Bc).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(e={shouldObserve:!0}){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let o=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e!=null&&e.shouldObserve&&o.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{o.disconnect()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function Kc(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Nt=class extends Ue{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Un(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Kc(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Kc(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Kn(this.element,e);let o=this.lastKnownSelection;if(o&&Hc(this.element,o.start,o.end))return o;let n=So(this.element);return n.collapse(!1),Kn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Un(this.element,rt(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 Ot=class extends Ue{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Uc(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Dv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var Ar=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Mr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Uc(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},Nr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),b.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Mr(e,this.deepdeskUrl,{debug:!0}):new Ar(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Dv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(b.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;b.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage({...s,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},zc=Nr;var Dt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Or=t=>new Promise(e=>{setTimeout(e,t)});var _t=class extends Dt{name="ClientError"},_r=class extends Dt{name="ServerError"},Dr=new Map;async function _v(t){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e&&e.includes("application/json"))return t.json();let o=await t.text();return o===""?null:(b.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))}var fe=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,l=o.method===void 0||o.method.toLowerCase()==="get",{useCache:d=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=k=>k instanceof TypeError,retryOnResponse:g=k=>k.status>=500,version:x="v1",...y}=o;if(d)if(l){if(Dr.has(i)){n(Dr.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let S={credentials:"include",...y,headers:{"Content-Type":"application/json",...y.headers}};!l&&this.csrfToken&&(S.headers={...S.headers,"X-CSRFToken":this.csrfToken}),typeof x=="string"&&(S.headers={...S.headers,"X-Deepdesk-API-Version":x});let v=p,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let w=async()=>(v--,a(i,S).then(async k=>g(k)&&!r.isAborted&&v>0?(await Or(u),w()):k.status===401&&m===!0&&R===!1?(R=!0,await this.refreshToken(),w()):k).catch(async k=>{if(f(k)&&!r.isAborted&&v>0)return await Or(u),w();throw k}));w().then(async k=>{let M=await _v(k);if(delete this.latestRequestByUrl[i],k.status>=500){s(new _r("Server Error",M));return}else if(k.status===401){s(new _t("Unauthorized",M));return}else if(k.status===403){s(new _t("Forbidden",M));return}else if(k.status===404){s(new _t("Not Found",M));return}else if(k.status>=400){s(new _t("Bad Request",M));return}d&&Dr.set(i,M),n(M)}).catch(k=>{s(k)})})}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;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Fv||={});function zn(t){return{...L(t),tags:t.tags}}var ze=class t{constructor(e,o={}){this.options=o;this.client=new fe(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),b.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...F(e),tags:e.tags},{version:"v2"});return zn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return 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(),b.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return b.info(`Successfully retrieved conversation ${r.id} for session ${e}`),zn(r)}async isConversationSupported(e,o={}){b.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=F(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return zn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...F(s),tags:s.tags})),{version:"v2"})).map(s=>zn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",F({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:F({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return 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 b.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",F(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,F(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,F(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return 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",F(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,F(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,F({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return 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",F(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(ti);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&b.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var xo=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(us(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{b.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Hv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Hv||={});var bo=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=b;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,F(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,F(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",F(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new xo(`${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 $v,configureStore as qv}from"@reduxjs/toolkit";import{createSlice as Bv}from"@reduxjs/toolkit";var Vc={startTime:null,stopTime:null},Wc=Bv({name:"handlingTime",initialState:Vc,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase(N,()=>Vc)}}),{handlingTimeStart:$c,handlingTimeStop:Vn,handlingTimeReset:qc}=Wc.actions,Gc=Wc.reducer;var jc=(t={})=>{let e={onAuthError:ct(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Kv,createSlice as Uv}from"@reduxjs/toolkit";var Wn={list:{keywordMatches:[]},fetchState:"idle"};var it=Kv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return Wn.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),zv=Uv({name:"styleSuggestions",initialState:Wn,reducers:{},extraReducers:t=>{t.addCase(it.pending,e=>{e.fetchState="loading"}).addCase(it.rejected,e=>{e.fetchState="error"}).addCase(it.fulfilled,(e,o)=>{e.fetchState="done",Me(e.list,o.payload)||(e.list=o.payload)}).addCase(We,e=>{e.list=Wn.list}).addCase(N,()=>Wn)}}),Xc=zv.reducer;var Qc=(t={})=>{let e,o=!0,n={getStyleSuggestions:it,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,l=r(i),d=s.getState();if(d.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:c}=d.settings;if(!((m=d.conversation.current)==null?void 0:m.id)||!c)return l;let{text:u}=d.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),l}};function Vv(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Zc=(t={})=>{let e={getTextSuggestions:ce,getAutocompleteSuggestions:io,debounce:200,check:kt,...t},o;return n=>s=>r=>{var g;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:d,showTabCompletion:c}=l.settings,p=(g=l.conversation.current)==null?void 0:g.id,u=r.type===ln.toString();if(!p||!d&&!c)return a;let{input:{userCommitted:m}}=l;return Vv(m,i)&&!u||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let x=ft(l);x===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(x))},u?0:e.debounce)),a}};var Jc=it.fulfilled.toString();function Wv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Yc=t=>e=>o=>n=>{var d;if(n.type!==Jc){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(d=r.conversation)==null?void 0:d.current;if(s===i)return;let l=Wv(s,i);n.type===Jc&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Gv=$v({answer:Ya,auth:ci,autoflows:_d,conversation:gi,contentTypes:ca,customMessages:$d,passwordlessToken:Xd,entities:La,knowledgeAssistant:Qa,handlingTime:Gc,info:Di,input:Ii,settings:ni,profile:al,search:zi,summary:Ha,styleSuggestions:Xc,ui:Ul,rules:ec,textSuggestions:hl});function eu(t){return qv({reducer:Gv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),jc(),Zc({debounce:200}),Qc({debounce:500}),Yc(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var jv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Xv=t=>e=>o=>n=>{var a,l,d,c,p,u;let s=e.getState(),r=rs("inlineSuggestions")(s);switch(n.type){case ct.toString():{!n.payload&&t.emit("logout",void 0);break}case le.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:(a=s.conversation.current)==null?void 0:a.id,data:{entities:n.payload}});break;case G.toString():t.sendEvent(n.payload.name,{conversationId:((l=n.payload.options)==null?void 0:l.includeConversationData)&&((d=s.conversation.current)==null?void 0:d.id),data:n.payload.data});break;case Fo.toString():t.handleKeyDown(n.payload);break;case We.toString():t.logSendMessage(n.payload);break;case Ho.toString():t.handleInputChanged(n.payload);break;case ot.fulfilled.toString():n.isBroadcasted||t.broadcast(fs,n,!1),(c=n.payload.options)!=null&&c.shouldEmit&&t.emit("cues",n.payload.cues);break;default:break}let i=o(n);switch(n.type){case We.toString():t.handleAfterSendMessage(n.payload);break;case ao.toString():t.onUpdateShowTabHint(n.payload);break;case Vn.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case pe.toString():{let{start:m,end:f}=s.input.selection;t.emit("select-suggestion",{type:jv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:m,end:f}:{start:0,end:f}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(xe()));break}case _o.toString():{let{start:m,end:f}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:m,end:f}:{start:0,end:f}},{mayApplyChanges:!0});break}case Vt.toString():{let m=e.getState(),{text:f,selection:g}=m.input.userCommitted;t.emit("reset",{text:f,selectionAfter:g},{mayApplyChanges:!0});break}case Bo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ue.toString():{r&&n.payload.length>0&&e.dispatch(De(0));break}case we.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{summary:n.payload.summary,model:e.getState().summary.model}});break}default:break}return i},tu=Xv;function Fr(t){return t.toISOString().replace("T"," ").replace("Z","")}function ou(t,e){var r,i,a,l;let o=(r=t.conversation.current)==null?void 0:r.id;if(!o)return b.warn("No conversationId for handling time metrics"),null;let{startTime:n,stopTime:s}=t.handlingTime;return!n||!s?(b.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:o,clientVersion:e.version,agentId:(i=t.info.agentInfo)==null?void 0:i.agentId,agentName:(a=t.info.agentInfo)==null?void 0:a.agentName,agentEmail:(l=t.info.agentInfo)==null?void 0:l.agentEmail,timeStart:Fr(n),timeStop:Fr(s)}}function nu(t,e,o){var j,z,I,_;let n=(j=e.conversation.current)==null?void 0:j.id;if(!n)return b.warn("No conversationId for send message metrics"),null;let{text:s,metrics:{numCharsTyped:r,numCharsPasted:i,numCharsCut:a,numCharsDeleted:l,numPaste:d,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:u,cuts:m,deletions:f,textSuggestions:g,offeredTextSuggestions:x}}=e[t],y=s.length,v=g.reduce((ne,{text:X,searchTerm:Co})=>ne+X.length-(Co?Co.length:0),0),R=c??Date.now(),w=(Date.now()-R)/1e3+(p||0),k=r/w,M=g.reduce((ne,{searchTerm:X})=>ne+(X?X.length:0),0);return{conversationId:n,source:"agent",text:s,clientVersion:o.version,pastes:u,cuts:m,deletions:f,lenTextTyped:r+M,lenTextTotal:y,lenTextAssisted:v,lenTextPasted:i,lenTextCut:a,lenTextDeleted:l,timeTotalSeconds:w,charsPerSecond:k,numPastes:d,textSuggestionsV2:g,suggestionsCounters:[{source:"gpt",countOffered:x.filter(ne=>ne.source==="gpt").length}],agentId:(z=e.info.agentInfo)==null?void 0:z.agentId,agentName:(I=e.info.agentInfo)==null?void 0:I.agentName,agentEmail:(_=e.info.agentInfo)==null?void 0:_.agentEmail}}function Hr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Hr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Hr(s,e):null}function su(t,e){return Hr(t,e)}function ru(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 Br(t){return Qv(t)&&(Be(t)||bn(t))}var au,he=new Map,Zv=["bottom","height","left","right","top","width"],iu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:Zv.some(o=>t[o]!==e[o]);function lu(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...lu(e)]:[]}function du(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var $n=!1,cu=()=>{$n=!0;let t=[];if(he.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),he.delete(o);return}let n=o.getBoundingClientRect();iu(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(du,e.rect):e.rect;iu(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),he.size===0){$n=!1;return}au=window.requestAnimationFrame(cu)};function Kr(t,e){let o=lu(t),n=[],s=o.map((r,i)=>Kr(r,a=>{n[i]=a;let l=he.get(t);if(!l)return;let d=n.reduce(du,l.rect);l.callbacks.forEach(c=>c(d))}));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&&!$n&&cu()},unobserve(){s.forEach(i=>i.unobserve());let r=he.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||he.delete(t),he.size||(cancelAnimationFrame(au),$n=!1)}}}}var uu,ye=new Map,pu=()=>{ye.forEach((t,e)=>{if(!e.isConnected){ye.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ye.size!==0&&(uu=window.requestAnimationFrame(pu))};function mu(t,e){return{observe(){let o=ye.size===0;ye.has(t)?ye.get(t).callbacks.push(e):ye.set(t,{visible:void 0,callbacks:[e]}),o&&pu()},unobserve(){let o=ye.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ye.delete(t),ye.size||cancelAnimationFrame(uu)}}}}var Ur=["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 zr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Ft(t){return parseFloat(t)}function qn(t){return Math.round(t*1e6)}function gu(t){return t/1e6}function Vr(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Ft(t.width),r=Ft(t.borderLeftWidth),i=Ft(t.borderRightWidth),a=Ft(t.paddingRight),l=gu(qn(s)-qn(r)-qn(i)),d=gu(qn(n));if(l-d>2){let c=l-d;o.style.paddingRight=`${a+c}px`}}function Gn(t,e={}){var c;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Ye(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};zr(n,o,Ur),Vr(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=mu(t,()=>{zr(n,o,Ur),Vr(n,t,o),r(),setTimeout(r,0)}),a,l=!0,d=Kr(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(zr(n,o,Ur),Vr(n,t,o),r(),o.style.top=`${p.top}px`,o.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let u=e.closestScrollElement.getBoundingClientRect(),m=window.getComputedStyle(e.closestScrollElement),f=Ft(m.borderTopWidth),g=Ft(m.borderBottomWidth),x=u.top+f-p.top,y=p.top+p.height+-(u.top+u.height-g);o.style.clipPath=`inset(${x}px 0px ${y}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(c=t.parentElement)==null||c.appendChild(o),d.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),d.unobserve(),i.unobserve()}]}var fu=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{b.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Jv(t){return t.offsetParent!==null}function hu(t){if(!Jv(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 Wr(t,e,o=100){let n=hu(t);e({isVisible:n});let s=setInterval(()=>{let r=hu(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as B}from"react/jsx-runtime";var yu=fu("showTabHint",!0),Xn=class t{static version="11.6.1-beta.0";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let d=e.replace(/\/api$/,"");this.deepdeskApi=new ze(d,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[tu({broadcast:(p,u,m)=>{this.broadcastEvents.send(p,u,m)},emit:(p,u,m)=>this.emit(p,u,m),handleAfterSendMessage:p=>this.handleAfterSendMessage(p),handleInputChanged:p=>this.handleInputChanged(p),handleKeyDown:p=>this.handleKeyDown(p),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:p=>this.logSendMessage(p),onUpdateShowTabHint:p=>yu.update(p),sendEvent:(p,u)=>this.deepdeskApi.sendEvent(p,u)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new bo(o)}),this.store=eu(c),this.broadcastEvents=new zc({debug:!0,deepdeskUrl:d,eventMap:Vi(this.store),createCustomChannel:l}),this.store.dispatch(ao(yu.value())),this.store.dispatch(Lo({locale:s,adminUrl:d,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(b.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(b.warn("Profile has not been loaded (yet)"),!0):(b.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(ct(null)),this.store.dispatch(Se()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();q(n)&&si(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(Se())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){b.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ls({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Ao(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Mo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(ds(e))).payload}async postMessages(e){return(await this.store.dispatch(Oo(e))).payload}async updateConversation(e){return(await this.store.dispatch(No(e))).payload}resetConversation(){this.store.dispatch(N()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(we());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Lo(e))}setVisitorInfo(e){this.store.dispatch(Ni(e))}setCustomData(e){this.store.dispatch(Oi(e))}async setAgentInfo(e){await this.store.dispatch(Wt(e))}async setAgentSettings(e){await this.store.dispatch(ms(e))}async getAgentSettings(){return(await this.store.dispatch(gs())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(ln()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Ho(e))}notifyKeyDown(e){this.store.dispatch(Fo(e))}notifyPaste(e,o){this.store.dispatch(Ei({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(wi(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(xe())}async evaluateRule(e,o={},n=Qd){let{payload:s,error:r}=await this.store.dispatch(ot({label:e,params:o,options:n}));if(r)throw new Error(r.message);return s.cues}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(He({collapse:!1})),this.inputMediator&&this.store.dispatch(vi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ue([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,l=s!==-1;if(this.store.dispatch(Ti(fi(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let d=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(xi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},c=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(Ci()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Vt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?c():d();return;case"Down":case"ArrowDown":{i?d():c();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(De(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(De(-1)),this.store.dispatch(Vt()),e.preventDefault()):o||(this.store.dispatch(He({collapse:!0})),this.store.dispatch(Bl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:p}=this.state.input,u=p.text.substring(0,p.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(ao(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(u)&&(this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(xe())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(ki()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(b.info("Start handling time"),this.store.dispatch($c()))}handlingTimeStop(){this.state.handlingTime.startTime&&(b.info("Stop handling time"),this.store.dispatch(Vn()))}logSendMessage(e){let o=nu("input",this.state,{version:this.version});o&&(e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o))}logHandlingTime(){let e=ou(this.state,{version:this.version});e&&(this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(qc()))}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(xe()),this.store.dispatch(We(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(pe({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{let r=this.eventListeners[e];r&&r.forEach(i=>{try{i(o)}catch(a){b.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),b.error(a)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Gn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{jn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=Gn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{jn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ye(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{jn(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),b.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(b.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Pi(n.metrics))):b.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Br(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:d,showSuggestionsAfterPattern:c,isEmbedded:p,detectSubmit:u,insertLink:m,inputMediator:f,closestScrollSelector:g,appendOverlayTo:x,inlineSuggestions:y,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:d,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:p,inlineSuggestions:y,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Ye(e),this.inputMediator=f||(Be(e)?new Ot(e):new Nt(e)),this.inputMediator.on("change",({plainText:w})=>{this.notifyInputChanged(w)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Ri({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",w=>{this.notifyKeyDown(w)}),this.inputMediator.on("paste",({pastedText:w,selectionText:k})=>{this.notifyPaste(w,k)}),this.inputMediator.on("cut",({selectionText:w})=>{this.notifyCut(w)});let v=g&&su(e,g)||void 0;if(y){let{customStyles:w,appendOverlayTo:k}=o;if(Be(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let M=this.createInlineContainer(e,"deepdesk-caret");Ht(B(et,{store:this.store,customStyles:w,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(jl,{})})}),M),this.inputMediator.on("caret",z=>{this.store.dispatch(ue([])),z?(M.style.display="block",M.style.top=`${z.top}px`,M.style.left=`${z.left}px`):M.style.display="none"});let j=this.overlayContainerFactory("floating-menu",v||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:k},w==null?void 0:w.floatingMenuRootNode);Ht(B(et,{store:this.store,customStyles:w,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Fl,{onLogIn:()=>this.loginViaPopup().catch(z=>b.warn(z.message))})})}),j)}else{let w=this.overlayContainerFactory("deepdesk-tab-completion",v||e,{appendTo:x,closestScrollElement:v,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),k=this.overlayContainerFactory("deepdesk-suggestions-overlay",v||e,{appendTo:x},n==null?void 0:n.suggestionsRootNode);Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Ld,{inputElement:e})})}),w),Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(sd,{onLogIn:()=>this.loginViaPopup().catch(M=>b.warn(M.message))})})}),k)}Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Al,{})})}),this.createContainer("deepdesk-overlays"));let R;this.inputMediator.on("selection",w=>{clearTimeout(R),w===null?R=setTimeout(()=>{w!==null&&this.store.dispatch(cs(w))},500):this.store.dispatch(cs(w))}),this.inputMediator.on("disabled",()=>{var w;(w=this.inputMediator)==null||w.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(sr(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(sr(!0))),this.store.dispatch(Si({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(xe()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var w;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((w=this.state.conversation.current)==null?void 0:w.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&b.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Ht(B(et,{store:this.store,customStyles:n,children:B(qe,{broadcastEvents:this.broadcastEvents,children:B(Fc,{onLogIn:()=>this.loginViaPopup().catch(i=>b.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&jn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Wr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){ru(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(ro());let e=Te(this.state);e&&(await this.store.dispatch(no()),this.store.dispatch(Lo({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let l=!1,d=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=async m=>{var f,g;if((f=m.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((g=m.data)==null?void 0:g.jwt),await this.isLoggedIn(),this.broadcastEvents.send(qt),l=!0,s.port1.close(),o()}catch(x){console.error(x),n(x)}finally{l=!0,d()}};let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let p=async m=>{var f;if(m.origin===a.origin)switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let g=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(g,a.origin,[s.port2])}catch(g){b.error("Error posting message to popup",g),n(g)}break}case"deepdesk-popup-error":{d(),m.data.message==="Timeout"&&b.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}};window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(d(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(d)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(b.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;b.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=rn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(le()):Po.includes(n)||this.store.dispatch(ce(n))})}catch(n){this.handleError(n)}}};async function Yv(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function eS(t,e,o={}){let n=o.replace?rt(t,o.replace.start,o.replace.end):So(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
11
11
|
`).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}):n.insertNode(document.createTextNode(e))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?rt(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 tS(t){let e=document.createElement("template");return e.innerHTML=t.replace(/(\[([^\]]+)])\(([^)]+)\)/g,'<a href="$3" target="_blank" rel="noopener noreferrer">$2</a>'),e.content}function oS(t){let e=document.createDocumentFragment();return t.split(`
|
|
12
12
|
`).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function vu(t,e){let o=t.parentElement;if(!o){console.warn("No insert point found");return}let{display:n}=window.getComputedStyle(o);n.includes("block")||n==="table-cell"?o==null||o.insertBefore(e,t.nextSibling):vu(o,e)}async function nS(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let l=a.getRangeAt(0);if(!l)return;s=document.createElement("span"),l.insertNode(s);let d=n?tS(e):oS(e);o?vu(l.startContainer,d):(l.insertNode(d),l.collapse(!1))};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function sS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function rS(t,e,o){await new ze(t).authenticateWithKey(e,o)}async function iS(t){let o=await new fe(t).get("/platform/config/",{version:null,useCache:!0});return L(o)}async function aS(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 lS(t,e){let o=await aS(e),n=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[o]}),t.dispatchEvent(n)}finally{Object.hasOwn(t,"files")&&delete t.files}}export{D as Card,Nt as ContentEditableInput,ze as DeepdeskAPI,Xn as DeepdeskSDK,fe as HTTPClient,Ue as InputMediator,dt as InputType,Yn as KeyboardHint,es as Label,Io as Locale,ve as Section,os as SectionList,Ae as Sources,A as Suggestion,Y as SuggestionList,Ot as TextAreaInput,lt as ToggleButton,lS as attachFile,rS as authenticateWithKey,So as createFullRange,Gn as createOverlayContainer,rt as createRangeFromOffsets,eo as escapeHTML,iS as fetchPlatformConfig,sS as formatTextMarkup,Kn as getRangeOffsets,Un as getRangeText,nS as insertCKEditor,Ms as isHTML,Br as isSupportedInputElement,eS as updateContentEditable,Yv as updateTextArea,Je as useClickOutsideRoot,h as useStyles,Wr as waitForElementVisibilityChange};
|