@deepdesk/deepdesk-sdk 14.1.1-beta.10 → 14.1.1-beta.11
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 +3 -3
- package/dist/index.esm.js +3 -3
- package/dist/index.iife.js +3 -3
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
var si=Object.defineProperty,Bp=Object.defineProperties;var Kp=Object.getOwnPropertyDescriptors;var Io=Object.getOwnPropertySymbols;var ri=Object.prototype.hasOwnProperty,ii=Object.prototype.propertyIsEnumerable;var ni=(t,e,o)=>e in t?si(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,f=(t,e)=>{for(var o in e||(e={}))ri.call(e,o)&&ni(t,o,e[o]);if(Io)for(var o of Io(e))ii.call(e,o)&&ni(t,o,e[o]);return t},x=(t,e)=>Bp(t,Kp(e));var O=(t,e)=>{var o={};for(var n in t)ri.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&Io)for(var n of Io(t))e.indexOf(n)<0&&ii.call(t,n)&&(o[n]=t[n]);return o};var Z=(t,e)=>{for(var o in e)si(t,o,{get:e[o],enumerable:!0})};var g=(t,e,o)=>new Promise((n,s)=>{var r=d=>{try{a(o.next(d))}catch(l){s(l)}},i=d=>{try{a(o.throw(d))}catch(l){s(l)}},a=d=>d.done?n(d.value):Promise.resolve(d.value).then(r,i);a((o=o.apply(t,e)).next())});import li from"classnames";import qp,{createContext as $p,useContext as ds,useEffect as Gp,useState as jp}from"react";import Up,{useContext as zp}from"react";import Vp from"classnames";var $t=Up.createContext({});function v(t,e){let r=zp($t),{debug:o}=r,s=O(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return x(f({},i),{[a]:Vp(d,l,o?`${t}__${a}`:!1)})},{})}var ai={root:"dd-4s9wq"};import{jsx as Ao,jsxs as Wp}from"react/jsx-runtime";var Lo=()=>Wp("svg",{className:ai.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[Ao("defs",{children:Ao("style",{children:".cls-1 { fill: #b3b3b3; }"})}),Ao("title",{children:"Failed loading image"}),Ao("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 ls={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as mt}from"react/jsx-runtime";var Mo=$p(ls),Qp=({title:t,src:e})=>{let o=ds(Mo),[n,s]=jp(!1);return Gp(()=>{s(!1)},[e]),mt("div",{className:o.imageWrapper,children:e&&!n?mt("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):mt(Lo,{})})},Xp=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=ds(Mo);return mt("div",{className:li(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Zp=r=>{var i=r,{as:t="h1",cropText:e=!1,className:o,children:n}=i,s=O(i,["as","cropText","className","children"]);let a=ds(Mo);return qp.createElement(t,f({className:li(a.title,o,{[a.contentIsCropped]:e})},s),n)},No=({children:t})=>{let e=v("Card",ls);return mt("div",{className:e.root,children:mt(Mo.Provider,{value:e,children:t})})};No.Image=Qp;No.Content=Xp;No.Title=Zp;var B=No;import Jp from"classnames";var di={root:"dd-llBx9"};import{jsx as tu}from"react/jsx-runtime";var Yp={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},eu=n=>{var s=n,{className:t,keyCode:e}=s,o=O(s,["className","keyCode"]);let r=v("KeyboardHint",di);return tu("span",f({"data-key":Yp[e],className:Jp(t,r.root)},o))},cs=eu;import ou from"classnames";var ci={root:"dd-e6HXZ"};import{jsx as su}from"react/jsx-runtime";var nu=n=>{var s=n,{className:t,children:e}=s,o=O(s,["className","children"]);let r=v("Label",ci);return su("span",x(f({},o),{className:ou(t,r.root),children:e}))},ps=nu;var pi={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as us,jsxs as iu}from"react/jsx-runtime";var ru=s=>{var r=s,{title:t,children:e,type:o}=r,n=O(r,["title","children","type"]);let i=v("Section",pi);return iu("section",x(f({},n),{className:i.root,"data-section-type":o,children:[t&&us("div",{className:i.subTitleContainer,children:us("span",{className:i.subtitle,children:t})}),us("div",{className:i.suggestions,children:e})]}))},we=ru;import au from"classnames";import lu from"react";var ui={root:"dd-uoTXh"};import{jsx as cu}from"react/jsx-runtime";var du=lu.forwardRef(({className:t,children:e},o)=>{let n=v("SectionList",ui);return cu("div",{ref:o,className:au(n.root,t),children:e})}),ms=du;import Gt from"classnames";import pu,{createContext as uu,useCallback as mu,useContext as Ge}from"react";var gs={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",buttonsContainer:"dd-uRYN4",button:"dd-9UE-x",buttonWithIcon:"dd-MQVt5",buttonDisabled:"dd-agTuH"};import{jsx as ye,jsxs as mi}from"react/jsx-runtime";var Le=uu(gs),gu=n=>{var s=n,{fixed:t,children:e}=s,o=O(s,["fixed","children"]);let r=Ge(Le);return ye("div",x(f({},o),{className:Gt(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function fu(a){var d=a,{as:t,className:e,icon:o,title:n,children:s,disabled:r}=d,i=O(d,["as","className","icon","title","children","disabled"]);let l=Ge(Le);return mi(t||"button",x(f({type:"button",className:Gt(l.button,{[l.buttonWithIcon]:o,[l.buttonDisabled]:r},e),title:n,"aria-label":n},i),{children:[o,s]}))}var hu=({children:t})=>{let e=Ge(Le);return ye("div",{className:e.buttonsContainer,children:t})},yu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=Ge(Le);return mi("div",{className:Gt(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,ye("ul",{className:r.dropdownList,children:s})]})},vu=({index:t,label:e,onClick:o})=>{let n=Ge(Le);return ye("li",{className:n.dropdownItem,children:ye("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Su=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=Ge(Le);return ye("button",{type:"button",className:Gt(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n!=null?n:i=>i.stopPropagation(),disabled:o,"aria-hidden":o,children:s})},xu=({labels:t})=>{let e=Ge(Le);return ye("div",{className:e.labels,children:t.map(o=>ye("span",{className:e.label,children:o},o))})},Me=pu.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:o,children:n,as:s="div"}=d,r=O(d,["className","selected","onClick","children","as"]);let l=v("Suggestion",gs),c=mu(u=>{u.preventDefault(),o&&o(u)},[o]);return ye(s,x(f({},r),{ref:i,className:Gt(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!o}),onClick:c,children:ye(Le.Provider,{value:l,children:n})}))});Me.Labels=xu;Me.Actions=gu;Me.ActionButton=Su;Me.DropdownButton=yu;Me.DropdownItem=vu;Me.ButtonsContainer=hu;Me.Button=fu;var D=Me;import bu from"classnames";var gi={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as wu}from"react/jsx-runtime";var Cu=({withDivider:t,children:e})=>{let o=v("SuggestionList",gi);return wu("div",{"data-testid":"suggestions-overlay-list",className:bu(o.root,{[o.isWithDivider]:t}),children:e})},se=Cu;import Tu from"classnames";var fi={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as fs}from"react/jsx-runtime";var Eu=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=v("ToggleButton",fi);return fs("button",{type:"button",className:Tu(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:fs("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:fs("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},gt=Eu;var hi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Oo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var yi=/x-deepdesk-(([a-z0-9\-_])+-version)/,Do=["cues","custom-data"],Ne=(h=>(h.SEARCH="search",h.TEMPLATE="template",h.ELASTIC_SEARCH="search-autocomplete",h.GPT="gpt",h.TRIE="trie",h.TRIE_WITH_TYPOS="trie-with-typos",h.SEMANTIC="semantic",h.TEXT_RECOMMENDATION="text_recommendation",h.URL_RECOMMENDATION="url_recommendation",h.LINK_RECOMMENDATION="link_recommendation",h.PERSONAL_COLLECTION="personal-collection",h.PERSONAL_COLLECTION_SEARCH="personal-collection-search",h.SEARCH_OVERLAY="search-overlay",h.SEARCH_PREVIEW="search-preview",h.SEARCH_URL="search-url",h))(Ne||{}),jt=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(jt||{});import{render as Vt,unmountComponentAtNode as rs}from"react-dom";import{Fragment as Of}from"react";import{createSlice as ku}from"@reduxjs/toolkit";import{useSelector as Ru}from"react-redux";var _o=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(_o||{});var Pu={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",hasKeyboardInput:!0},vi=ku({name:"settings",initialState:Pu,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s!="undefined"&&(t[n]=s)})}}}),{set:Fo}=vi.actions,hs=t=>e=>e.settings[t],T=t=>Ru(hs(t)),Si=vi.reducer;import{useSelector as Ca}from"react-redux";import{createAsyncThunk as ys,createSlice as Iu}from"@reduxjs/toolkit";var Au={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},J=t=>t.auth.isLoggedIn,xi=t=>t.auth.loginFetchState,bi=t=>t.auth.verifyFetchState,Ci=t=>t.auth.showLoginOverlay,Te=ys("auth/validate",(t,e)=>g(void 0,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),wi=ys("auth/requestLogin",(o,n)=>g(void 0,[o,n],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),Qt=ys("auth/verifyLoginToken",(o,n)=>g(void 0,[o,n],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),Ti=Iu({name:"auth",initialState:Au,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(Te.pending,e=>{e.loginFetchState="loading"}),t.addCase(Te.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(Te.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Qt.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Qt.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Qt.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:ft,setShowLoginOverlay:Ei}=Ti.actions,ki=Ti.reducer;import{createAction as zo,createSlice as Bu}from"@reduxjs/toolkit";import{diffChars as Ku}from"diff";import{useSelector as Uu}from"react-redux";function Ri(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Oe(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)=>Oe(r,e[i],o-1)):Ri(t)&&Ri(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Oe(t[i],e[i],o-1)):!1}function Lu(t){return Math.max(...t.map(e=>e.length))}function Mu(t,e){let o=t.reduce((n,s)=>{if(s){let r=n[s]?n[s]+1:1;return x(f({},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<Lu(n);s++){let r=Mu(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 Nu=2;function Ii(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=Pi(t,Nu);return o&&o.text!==e?o:t[0]}import{createAction as Du,createAsyncThunk as ht,createSlice as _u}from"@reduxjs/toolkit";var Ou={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},w=Ou;var Ai={current:null,isSupported:null},F=Du("resetConversation"),yt=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},De=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},vt=t=>t.conversation.isSupported,vs=ht("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Ho=ht("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Bo=ht("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),Ko=ht("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=De(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),Ss=ht("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:d}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:d})})}),Uo=ht("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=De(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>f({},s)))}),Fu=[Ho.rejected,Bo.rejected,Ko.rejected,Uo.rejected].map(t=>t==null?void 0:t.toString()),Hu=_u({name:"conversation",initialState:Ai,reducers:{},extraReducers:t=>{t.addCase(vs.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Ho.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(Bo.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(Ss.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(Ko.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(Uo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(F,()=>Ai).addMatcher(e=>Fu.includes(e.type),(e,o)=>{var n;throw w.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),Li=Hu.reducer;var je={text:"",html:null,selection:{start:0,end:0},beforeInputChange:null,mixedSuggestion: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 xs(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 Vo=zo("input/replaceText"),Qe=zo("input/sendMessage"),Wo=zo("input/applyImageSuggestion"),Y=zo("input/sendEvent"),Mi=Bu({name:"input",initialState:je,reducers:{setInput(t,e){var r,i;let{beforeInputChange:o}=t,{text:n,html:s}=e.payload;if(t.text=n,t.html=s!=null?s:null,n==="")t.metrics=je.metrics,t.textSuggestions=[],t.mixedSuggestion=null;else if(o!==null&&t.text!==o.text){let{key:a,shiftKey:d,ctrlKey:l,metaKey:c,altKey:u}=o.keyDown;switch(a){case"Enter":d&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:p}=t,m=Ku(o.text,p);o.text.length-p.length>1&&t.metrics.deletions.push(...m.filter(y=>y.removed).map(y=>y.value)),t.metrics.numCharsDeleted+=o.text.length-p.length;break}case"Shift":case"Meta":case"Tab":break;case"C":case"V":case"X":case"c":case"v":case"x":if(l||c)break;default:if(!l&&!c&&!u){t.metrics.numCharsTyped+=1;let p=((r=o.selection)==null?void 0:r.start)!==void 0&&((i=o.selection)==null?void 0:i.end)!==void 0?o.text.substring(o.selection.start,o.selection.end):null;p&&p.length>0&&(t.metrics.numCharsDeleted+=p.length,t.metrics.deletions.push(p))}}t.metrics.agentStartedTypingTimestamp||(t.metrics.agentStartedTypingTimestamp=Date.now())}t.beforeInputChange=null},setSelection(t,e){e.payload!==null&&(Oe(t.selection,e.payload)||(t.selection=e.payload))},commitSuggestion(t,e){let o=e.payload,{text:n,suggestion:{source:s,abVariant:r,abTestName:i,trainingJobs:a,sourceText:d,searchTerm:l,text:c},eventMetrics:{inputType:u},replace:p}=o,m=s==="search"||s==="personal-collection-search",y=n.slice(t.text.substring(0,t.selection.start).length);(m||p==="selection")&&(y=n),o.suggestion.source==="search-overlay"&&(y=c),t.metrics.textSuggestions.push({text:y,source:s,abVariant:r,abTestName:i,inputType:u,sourceText:d,trainingJobs:a||[],searchTerm:m?t.text:l}),t.textSuggestions=[],t.selectedSuggestionIndex=-1},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})},registerKeyDown(t,e){let{key:o}=e.payload;["Control","Meta","Shift","Alt"].includes(o)||(t.beforeInputChange={text:t.text,selection:t.selection,keyDown:e.payload})},registerKeyUp(t,e){},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics=x(f({},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=x(f({},t.metrics),{numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]})},selectNextTextSuggestion(t){let e=t.textSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},selectPreviousTextSuggestion(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},selectTextSuggestionByIndex(t,e){t.selectedSuggestionIndex=e.payload},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.mixedSuggestion=null;return}let o=t.text.substring(0,t.selection.end),n=Ii(e.payload,o);t.mixedSuggestion=n!=null&&n.text.includes(o)?n:null},setMetrics(t,{payload:e}){t.metrics=e},resetMetrics(t){t.metrics=je.metrics}},extraReducers:t=>{t.addCase(F,e=>{e.mixedSuggestion=je.mixedSuggestion,e.textSuggestions=je.textSuggestions,e.selectedSuggestionIndex=je.selectedSuggestionIndex,e.metrics=je.metrics})}}),St=t=>t.input.text.substring(0,t.input.selection.end),zu=t=>t.input.selection,xt=t=>{let{mixedSuggestion:e,selectedSuggestionIndex:o,textSuggestions:n}=t.input;return o>-1?n[o]:e},Ni=()=>Uu(zu),{commitSuggestion:ce,offeredTextSuggestion:Oi,registerCut:Di,registerKeyDown:_i,registerKeyUp:Fi,registerPaste:Hi,selectNextTextSuggestion:Bi,selectPreviousTextSuggestion:Ki,selectTextSuggestionByIndex:qo,setInput:$o,setMetrics:Ui,setSelection:Go,setTextSuggestions:_e,resetMetrics:zi}=Mi.actions,Vi=Mi.reducer;import{createAsyncThunk as $u,createSlice as Gu}from"@reduxjs/toolkit";import{createAsyncThunk as Cs,createSlice as Wu}from"@reduxjs/toolkit";function Vu(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function M(t){return Array.isArray(t)?t.map(M):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>x(f({},e),{[Vu(o)]:M(t[o])}),{}):t}function bs(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function z(t){return Array.isArray(t)?t.map(z):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>x(f({},e),{[bs(o)]:z(t[o])}),{}):t}var qu={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle"},Zt=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)||""}},Xt=Cs("info/setAgentInfo",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=yield o.getMe(),s={};return n.externalId||(s.externalId=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.externalId&&!s.nickname?M(n):(yield o.patchMe(s),M(n))})),ws=Cs("info/setAgentSettings",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra,n=yield o.getMe(),s=f(f({},typeof n.uiConfig=="object"?n.uiConfig:{}),t);return yield o.patchMe({uiConfig:s}),s})),Ts=Cs("info/getAgentSettings",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra;return(yield o.getMe()).uiConfig})),Wi=t=>t.info.agentInfo,qi=t=>t.info.customData,$i=Wu({name:"info",initialState:qu,reducers:{setVisitorInfo(t,e){t.visitorInfo=f(f({},t.visitorInfo),e.payload)},setCustomData(t,e){t.customData=e.payload},setPlatformVariables(t,e){t.platformVariables=e.payload}},extraReducers:t=>{t.addCase(Xt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo=f(f({},e.agentInfo),o.meta.arg)}).addCase(Xt.rejected,e=>{e.fetchState="error"}).addCase(Xt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo=x(f(f({},e.agentInfo),o.meta.arg),{agentDefaultLocale:o.payload.defaultLocale,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""})}).addCase(ws.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(Ts.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(F,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Gi,setCustomData:ji,setPlatformVariables:Qi}=$i.actions,Xi=$i.reducer;function Q(t,e){return Object.entries(e).reduce((o,[n,s])=>o.replaceAll(n,s),t)}var jo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Zi=t=>t.search.isOpen,Ji=t=>t.search.page,Yi=t=>t.search.list,ea=t=>t.search.aggregates;function ta(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var Xe=$u("search/getAll",(t,e)=>g(void 0,null,function*(){var d;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(d=n.conversation.current)==null?void 0:d.profileCode,{platformVariables:r}=n.info;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:i,aggregates:a}=yield o.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:Zt(n)});return{results:i.map(l=>x(f(f({},l),l.title&&r?{title:Q(l.title,r)}:{}),{text:Q(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),oa=Gu({name:"search",initialState:jo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=jo.fetchState,t.list=jo.list}},extraReducers:t=>{t.addCase(Xe.pending,e=>{e.fetchState="loading"}).addCase(Xe.rejected,(e,o)=>{e.fetchState="error",w.error(o.error)}).addCase(Xe.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(F,()=>jo)}}),{resetSearch:Qo,setIsOpen:re,setPage:pe}=oa.actions,na=oa.reducer;var Es="SetCues",ks="SetOutputs",bt="ShowLoginOverlay",Jt="UserLoggedIn",ju="UserLoggedOut",Fe="ApplySuggestion",Rs="ApplyImageSuggestion",Qu="ShowCommandPalette",Xu=t=>({[Es]:e=>{t.dispatch(x(f({},e),{isBroadcasted:!0}))},[ks]:e=>{t.dispatch(x(f({},e),{isBroadcasted:!0}))},[Qu]:e=>{t.dispatch(re(e.isOpen)),e.page&&t.dispatch(pe(e.page))},[bt]:e=>{t.dispatch(Ei(e))},[Jt]:()=>{t.dispatch(Te())},[ju]:()=>{t.dispatch(Te())},[Rs]:e=>{t.dispatch(Wo({suggestion:e.suggestion}))},[Fe]:e=>{t.dispatch(ce(x(f({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),sa=Xu;import ra,{useContext as Zu}from"react";import{jsx as Ju}from"react/jsx-runtime";var ia=ra.createContext(null),Ze=({broadcastEvents:t,children:e})=>{let o=ra.useMemo(()=>t,[]);return Ju(ia.Provider,{value:o,children:e})},de=()=>{let t=Zu(ia);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import Fs from"classnames";import{useCallback as xa,useEffect as Cm,useMemo as wm,useState as Hs}from"react";import{useDispatch as Tm,useSelector as Em}from"react-redux";import{createContext as cm,useContext as pm}from"react";var Ps=function(t,e){return Ps=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])},Ps(t,e)};function Yt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ps(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var ie=function(){return ie=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},ie.apply(this,arguments)};function aa(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 Xo(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 Zo;(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"})(Zo||(Zo={}));var Jo=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var ue;(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"})(ue||(ue={}));var Yo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Yo||(Yo={}));function Is(t){return t.type===ue.literal}function la(t){return t.type===ue.argument}function en(t){return t.type===ue.number}function tn(t){return t.type===ue.date}function on(t){return t.type===ue.time}function nn(t){return t.type===ue.select}function sn(t){return t.type===ue.plural}function da(t){return t.type===ue.pound}function rn(t){return t.type===ue.tag}function an(t){return!!(t&&typeof t=="object"&&t.type===Yo.number)}function eo(t){return!!(t&&typeof t=="object"&&t.type===Yo.dateTime)}function As(t){t.forEach(function(e){if(delete e.location,nn(e)||sn(e))for(var o in e.options)delete e.options[o].location,As(e.options[o].value);else en(e)&&an(e.style)||(tn(e)||on(e))&&eo(e.style)?delete e.style.location:rn(e)&&As(e.children)})}function ca(t,e){e===void 0&&(e={}),e=ie({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Jo(t,e).parse();if(o.err){var n=SyntaxError(Zo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||As(o.val),o.val}function ln(t,e){var o=e&&e.cache?e.cache:sm,n=e&&e.serializer?e.serializer:nm,s=e&&e.strategy?e.strategy:em;return s(t,{cache:o,serializer:n})}function Yu(t){return t==null||typeof t=="number"||typeof t=="boolean"}function pa(t,e,o,n){var s=Yu(n)?n:o(n),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,n),e.set(s,r)),r}function ua(t,e,o){var n=Array.prototype.slice.call(arguments,3),s=o(n),r=e.get(s);return typeof r=="undefined"&&(r=t.apply(this,n),e.set(s,r)),r}function Ls(t,e,o,n,s){return o.bind(e,t,n,s)}function em(t,e){var o=t.length===1?pa:ua;return Ls(t,this,o,e.cache.create(),e.serializer)}function tm(t,e){return Ls(t,this,ua,e.cache.create(),e.serializer)}function om(t,e){return Ls(t,this,pa,e.cache.create(),e.serializer)}var nm=function(){return JSON.stringify(arguments)};function Ms(){this.cache=Object.create(null)}Ms.prototype.get=function(t){return this.cache[t]};Ms.prototype.set=function(t,e){this.cache[t]=e};var sm={create:function(){return new Ms}},dn={variadic:tm,monadic:om};var Je;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Je||(Je={}));var to=function(t){Yt(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 Ns=function(t){Yt(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),Je.INVALID_VALUE,r)||this}return e}(to);var ma=function(t){Yt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),Je.INVALID_VALUE,s)||this}return e}(to);var ga=function(t){Yt(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),Je.MISSING_VALUE,n)||this}return e}(to);var X;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(X||(X={}));function rm(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==X.literal||o.type!==X.literal?e.push(o):n.value+=o.value,e},[])}function im(t){return typeof t=="function"}function oo(t,e,o,n,s,r,i){if(t.length===1&&Is(t[0]))return[{type:X.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(Is(c)){a.push({type:X.literal,value:c.value});continue}if(da(c)){typeof r=="number"&&a.push({type:X.literal,value:o.getNumberFormat(e).format(r)});continue}var u=c.value;if(!(s&&u in s))throw new ga(u,i);var p=s[u];if(la(c)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?X.literal:X.object,value:p});continue}if(tn(c)){var m=typeof c.style=="string"?n.date[c.style]:eo(c.style)?c.style.parsedOptions:void 0;a.push({type:X.literal,value:o.getDateTimeFormat(e,m).format(p)});continue}if(on(c)){var m=typeof c.style=="string"?n.time[c.style]:eo(c.style)?c.style.parsedOptions:n.time.medium;a.push({type:X.literal,value:o.getDateTimeFormat(e,m).format(p)});continue}if(en(c)){var m=typeof c.style=="string"?n.number[c.style]:an(c.style)?c.style.parsedOptions:void 0;m&&m.scale&&(p=p*(m.scale||1)),a.push({type:X.literal,value:o.getNumberFormat(e,m).format(p)});continue}if(rn(c)){var y=c.children,h=c.value,S=s[h];if(!im(S))throw new ma(h,"function",i);var k=oo(y,e,o,n,s,r),C=S(k.map(function(E){return E.value}));Array.isArray(C)||(C=[C]),a.push.apply(a,C.map(function(E){return{type:typeof E=="string"?X.literal:X.object,value:E}}))}if(nn(c)){var b=c.options[p]||c.options.other;if(!b)throw new Ns(c.value,p,Object.keys(c.options),i);a.push.apply(a,oo(b.value,e,o,n,s));continue}if(sn(c)){var b=c.options["=".concat(p)];if(!b){if(!Intl.PluralRules)throw new to(`Intl.PluralRules is not available in this environment.
|
|
2
2
|
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
-
`,Je.MISSING_INTL_API,i);var I=o.getPluralRules(e,{type:c.pluralType}).select(p-(c.offset||0));b=c.options[I]||c.options.other}if(!b)throw new Ns(c.value,p,Object.keys(c.options),i);a.push.apply(a,oo(b.value,e,o,n,s,p-(c.offset||0)));continue}}return rm(a)}function am(t,e){return e?ie(ie(ie({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=ie(ie({},t[n]),e[n]||{}),o},{})):t}function lm(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=am(t[n],e[n]),o},ie({},t)):t}function Os(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function dm(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:ln(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Xo([void 0],o,!1)))},{cache:Os(t.number),strategy:dn.variadic}),getDateTimeFormat:ln(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Xo([void 0],o,!1)))},{cache:Os(t.dateTime),strategy:dn.variadic}),getPluralRules:ln(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Xo([void 0],o,!1)))},{cache:Os(t.pluralRules),strategy:dn.variadic})}}var fa=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var u=c.reduce(function(p,m){return!p.length||m.type!==X.literal||typeof p[p.length-1]!="string"?p.push(m.value):p[p.length-1]+=m.value,p},[]);return u.length<=1?u[0]||"":u},this.formatToParts=function(l){return oo(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,d=aa(i,["formatters"]);this.ast=t.__parse(e,ie(ie({},d),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=lm(t.formats,n),this.formatters=s&&s.formatters||dm(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!="undefined"){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=ca,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 um(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var mm="dummy",Ds=cm(null);function P(t){var n;let e=pm(Ds);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=(n=t[e])!=null?n:{};return(s,r)=>{let i=um(o,s);return i?new fa(i).format(r):(e!==mm&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{useEffect as gm,useRef as fm}from"react";var ha={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as ya}from"react/jsx-runtime";var hm=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=fm(null),l=v("Dialog",ha),c=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===d.current&&t&&n()};return gm(()=>{var p,m;!d.current||!t||!e||(m=(p=d.current)==null?void 0:p.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?ya("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:u,children:ya("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},cn=hm;import ym from"classnames";var va={root:"dd-ranhW"};import{jsx as Sm}from"react/jsx-runtime";var vm=n=>{var s=n,{className:t,value:e}=s,o=O(s,["className","value"]);let r=v("TextInput",va);return Sm("input",f({className:ym(t,r.root),type:"text",value:e},o))},no=vm;var _s={};Z(_s,{enUS:()=>xm,nlNL:()=>bm});var xm={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"}]},bm={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 te,jsxs as pn}from"react/jsx-runtime";var km=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},Rm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=P(_s),i=v("LoginTokenDialog",Sa),a=Em(bi),d=Tm(),l=T("productName"),[c,u]=Hs(t||""),[p,m]=Hs(0),[y,h]=Hs(""),S=xa(I=>g(void 0,null,function*(){I.preventDefault(),d(wi({email:c})),m(1)}),[o,c]),k=()=>{h(""),m(0)},C=xa(I=>g(void 0,null,function*(){I.preventDefault();let E=km(I.target.elements.token.value);if(!E){h(r("verifyCodeError",{login:b}));return}d(Qt({token:E}))}),[o]),b=wm(()=>I=>te("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:k,children:I},"back-button"),[]);return Cm(()=>{a==="error"&&h(r("verifyCodeError",{login:b})),a==="done"&&n()},[a]),te(cn,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:pn("div",{className:i.root,children:[te("h1",{className:i.title,children:r("promptTitle",{productName:l})}),p===0&&pn("form",{onSubmit:S,children:[te("h2",{className:i.subtitle,children:r("requestCodeTitle")}),te("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),te(no,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:I=>u(I.target.value)}),te("div",{className:i.actions,children:te("button",{type:"submit",className:Fs(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&pn("form",{onSubmit:C,children:[te("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),te("p",{className:i.text,children:r("verifyCodeBody")}),te(no,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),y&&te("div",{className:i.errorMessage,children:y}),pn("div",{className:i.actions,children:[te("button",{type:"button",className:Fs(i.button),onClick:k,children:r("back")}),te("button",{type:"submit",className:Fs(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},ba=Rm;import{jsx as Im}from"react/jsx-runtime";var Pm=()=>{let t=Ca(Ci),e=Ca(Wi),o=T("adminUrl"),n=de(),s=()=>n.send(bt,!1),r=()=>{n.send(bt,!1),n.send(Jt)};return Im(ba,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},wa=Pm;import Rf from"lodash.debounce";import{Fragment as Pf,useCallback as Vl,useEffect as pr,useState as ur}from"react";import{useDispatch as If,useSelector as ot}from"react-redux";import{createAsyncThunk as Am,createSlice as Lm}from"@reduxjs/toolkit";var Mm={data:null,fetchState:"idle"},Ta=t=>t.contentTypes.data,so=Am("contentTypes/getContentTypes",(t,e)=>g(void 0,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),Nm=Lm({name:"contentTypes",initialState:Mm,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=o.payload})}}),Ea=Nm.reducer;function Ee(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 Ua,useState as rg,useRef as ig,useCallback as ag}from"react";import{useState as _m}from"react";import Bs from"classnames";var ae={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 ke={};Z(ke,{enUS:()=>Om,nlNL:()=>Dm});var Om={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"}]},Dm={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 ro,jsxs as Hm}from"react/jsx-runtime";var Fm=({src:t,title:e})=>{let o=v("CommandPalette",ae),[n,s]=_m("loading"),r=P(ke);return Hm("div",{className:o.image,children:[ro("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Bs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&ro("span",{className:Bs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&ro("span",{className:Bs(o.imageSrc,o.imageSrcStatus),children:ro(Lo,{})}),e&&ro("span",{className:o.imageTitle,children:e})]})},ka=Fm;import Bm from"react";import Km from"classnames";import{jsx as Ks,jsxs as Ra}from"react/jsx-runtime";function Us({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=P(ke),i=v("CommandPalette",ae);return Bm.Children.count(t)===0?null:Ra("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&Ra("div",{className:i.listHeader,children:[e&&Ks("h4",{className:i.listHeading,children:e}),n&&s&&Ks("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Ks("div",{className:Km(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import ao from"classnames";import{Interweave as Qm}from"interweave";import{useState as Xm}from"react";var Um=/[.*+?^${}()|[\]\\]/g,zm=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Vm(t){return t.replace(Um,"\\$&")}function Wm(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function qm(t){return t.search(zm)}function Pa(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${Vm(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function Ia(t){return t.replace(Oo,'<mark data-type="placeholder">$1</mark>')}function io(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function $m(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 zs(t,e,o={}){if(e){let n=Wm(e.toLowerCase(),t.toLowerCase()),s=io(t.substring(n,t.length));if(o.stripAgentPart){let d=t.substring(0,n),l=qm(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(hi).length>3||e.length>30?$m(e.trim(),n):0;return`${`${i>0?"\u2026":""}${io(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Gm=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Vs(t){return Gm.test(t)}function Aa(t){var o;let e=document.createElement("template");return e.innerHTML=t,(o=e.content.textContent)!=null?o:""}import Ws from"react";import{jsx as jm}from"react/jsx-runtime";var La=Ws.createContext(void 0);function He(){let t=Ws.useContext(La);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Ma=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Ws.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return jm(La.Provider,{value:i,children:t})};import{jsx as Ye,jsxs as qs}from"react/jsx-runtime";var Zm=3,Na=({children:t})=>{let e=v("CommandPalette",ae);return Ye("div",{className:e.listItemActions,children:t})};function $s(p){var m=p,{closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,extra:s,onSourceClick:r,description:i,sources:a,id:d,styles:l,defaultSourcesAmount:c=Zm}=m,u=O(m,["closeOnSelect","lineClamp","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var E;let y=P(ke),[h,S]=Xm(!1),{selected:k,onChangeOpen:C}=He(),b=v("CommandPalette",ae);function I(_){n(_),t&&C(!1)}return qs("div",{className:ao(b.listItem,d===k&&b.listItemSelected),children:[Ye("button",x(f({type:"button",className:ao(b.listItemAction,b.listItemPrimaryAction),"aria-disabled":(E=u.disabled)!=null?E:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":d},u),{children:qs("div",{className:b.listItemContent,children:[typeof o=="string"?Ye("p",{className:ao(b.listItemText,b.truncate,l==null?void 0:l.title),children:o}):o,i&&Ye(Qm,{tagName:"p",allowList:[],content:Vs(i)?Aa(i):i,className:ao(b.listItemDescription,l==null?void 0:l.description,e?b.lineClamp:b.truncate)})]})})),s,a&&a.length>0&&qs("div",{className:b.sources,children:[Ye("span",{className:b.sourcesTitle,children:y("sources")}),a.slice(0,h?a.length:c).map(_=>Ye("a",{className:b.source,href:_.url,target:"_blank",title:_.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>r&&r(_),children:_.name},_.url)),!h&&a.length>c&&Ye("button",{className:ao(b.source,b.sourceShowMore),type:"button",onClick:()=>S(!0),children:y("showMore",{amount:a.length-c})})]})]})}import{jsx as Oa,jsxs as Jm}from"react/jsx-runtime";var Da=()=>Jm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Oa("title",{id:"angleLeftTitle",children:"AngleLeft"}),Oa("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 _a,jsxs as Gs}from"react/jsx-runtime";function js({children:t,title:e,id:o,onDismiss:n}){let s=P(ke),r=v("CommandPalette",ae),{page:i}=He();return i!==o?null:Gs("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Gs("div",{className:r.pageNav,children:[Gs("button",{className:r.pageBackButton,type:"button",onClick:n,children:[_a(Da,{}),s("back")]}),e&&_a("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as eg}from"react";import{jsx as Fa,jsxs as Ym}from"react/jsx-runtime";var Ct=()=>Ym("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Fa("path",{d:"M0 0h24v24H0z",fill:"none"}),Fa("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 wt,jsxs as Qs}from"react/jsx-runtime";function tg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let d=v("CommandPalette",ae);return Qs("div",{className:d.search,children:[wt("div",{className:d.searchIcon,children:wt(Ct,{})}),Qs("div",{className:d.searchInputWrapper,children:[wt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&wt("div",{className:d.selectWrapper,children:Qs("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&wt("option",{children:n}),s.map(l=>wt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Ha=eg(tg);import Ba from"classnames";import{jsx as ng,jsxs as sg}from"react/jsx-runtime";var og=s=>{var r=s,{onClick:t,shortKeys:e,children:o}=r,n=O(r,["onClick","shortKeys","children"]);let i=v("CommandPalette",ae);return sg("button",x(f({type:"button"},n),{onClick:t,className:Ba(i.actionButton,n.className,{[i.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(a=>ng("span",{className:Ba(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},Ka=og;import{jsx as za,jsxs as dg}from"react/jsx-runtime";var lg="[data-command-palette-item]";function et({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:u,search:p}){let[m,y]=rg(),h=ig(null),S=()=>{s&&s(o),i(void 0),r(""),a(!1)},k=()=>{var N;if(n!==o&&s){s(o);return}if(d&&i){i(void 0),(N=h.current)==null||N.focus();return}if(p.length>0){r("");return}a(!1)},C=()=>{let N=b();N.length!==0&&y(N[0].dataset.itemId)},b=()=>Array.from(document.querySelectorAll(lg)||[]),I=N=>document.querySelector(`[data-item-id=${N}]`),E=N=>{let K=I(N);K&&y(K.dataset.itemId)},_=N=>{let K=I(N);K&&K.scrollIntoView({behavior:"smooth"})},A=()=>{if(!m)return;let N=b(),K=I(m);if(!K)return;let le=N.indexOf(K),ee=N[le+1];ee&&ee.dataset.itemId?E(ee.dataset.itemId):C()},U=()=>{if(!m)return;let N=b(),K=I(m);if(!K)return;let le=N.indexOf(K),ee=N[le-1];ee&&ee.dataset.itemId?E(ee.dataset.itemId):E(N[N.length-1].dataset.itemId)},G=ag(N=>{switch(N.key){case"ArrowDown":{N.preventDefault(),A();break}case"ArrowUp":{N.preventDefault(),U();break}case"Enter":{if(m){let K=I(m);K==null||K.click()}break}}},[m]);return Ua(()=>{C()},[p,n,d,u]),Ua(()=>{m&&_(m)},[m]),za(cn,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:k,onClose:S,onKeyDown:G,children:dg(Ma,{selected:m,setSelected:y,isOpen:u,onChangeOpen:a,page:n,children:[n===o&&za(Ha,{ref:h,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:d,types:l,typePlaceholder:e}),c]})})}et.Page=js;et.List=Us;et.Image=ka;et.ListItem=$s;et.ListItemActions=Na;et.Button=Ka;var H=et;import{useEffect as cg}from"react";function Va(t,e){cg(()=>{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 Ga,useRef as yg}from"react";import{useSelector as vg,useDispatch as Sg}from"react-redux";import{createAsyncThunk as pg,createSlice as ug}from"@reduxjs/toolkit";var Wa={data:null,fetchState:"idle"},un=t=>{var r,i,a,d;let e=[],{visitorName:o}=(r=t.info.visitorInfo)!=null?r:{},{agentName:n,agentNickname:s}=(i=t.info.agentInfo)!=null?i:{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),(d=(a=t.entities.data)==null?void 0:a.filter(l=>!e.includes(l.text)))!=null?d:null},me=pg("entities/getEntities",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=yield s();return r.length===0?Promise.resolve([]):o.getEntities(r)})),mg=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),gg=ug({name:"entities",initialState:Wa,reducers:{},extraReducers:t=>{t.addCase(me.pending,e=>{e.fetchState="loading"}).addCase(me.rejected,e=>{e.fetchState="error"}).addCase(me.fulfilled,(e,o)=>{e.fetchState="done",e.data=mg(e.data?[...e.data,...o.payload]:o.payload)}).addCase(F,()=>Wa)}}),qa=gg.reducer;var Xs={};Z(Xs,{enUS:()=>fg,nlNL:()=>hg});var fg={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},hg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var $a={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Zs,jsxs as bg}from"react/jsx-runtime";var xg=({onCopy:t})=>{let e=yg(null),o=v("EntitiesList",$a),n=vg(un),{setSelected:s}=He(),r=P(Xs),i=Sg();return Ga(()=>{i(me())},[]),Ga(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),bg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Zs(H.List,{children:n.map((a,d)=>Zs(H.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Zs("p",{className:o.empty,children:r("noResults")})]})},ja=xg;import{Fragment as Fg,useEffect as nr,useRef as Hg,useState as sr}from"react";import{useSelector as Bg,useDispatch as Kg}from"react-redux";import{createAction as Qa,createAsyncThunk as Xa,createSlice as Cg}from"@reduxjs/toolkit";var Js={outputs:[],fetchState:"idle"},Za=t=>{var e;return(e=t.assistants)==null?void 0:e.outputs},wg=Qa("assistants/resetOutputs"),mn=Qa("assistants/callToAction"),Tt=Xa("assistants/getSummary",(t,e)=>g(void 0,null,function*(){var r,i,a;let o=e.getState();if(!o.profile.data)throw new Error("No Profile is loaded");let{summarizerAssistantNew:n}=o.profile.data;if(!n){let{deepdeskAPI:d,dynamicThunkObject:l}=e.extra,c=e.getState(),u=(r=c.conversation.current)==null?void 0:r.sessionId,p=(a=(i=c.info)==null?void 0:i.agentInfo)==null?void 0:a.agentId,m=c.profile.data;if(!m)throw new Error("Profile is not defined");if(!l.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let y=l.conversationQuery,h=yield y(),S=yield d.getSummary(h,{externalConversationId:u,agentId:p,promptInstruction:m.summarizerPromptInstruction,model:m.summarizerModel});return S.summary?S.summary:Promise.reject(new Error("Summary is not provided"))}let s=yield e.dispatch(Be(f({assistantCode:n,transcript:"in-memory-transcript",skipState:!0},t)));if(s.error)throw new Error(s.error.message);if(typeof s.payload!="string")throw w.warn("Unexpected summary output",s),new Error("Unexpected summary output");return s.payload})),Be=Xa("assistants/evaluate",(t,e)=>g(void 0,null,function*(){var u;let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra,{transcript:s,input:r={}}=t,i=e.getState(),{platformVariables:a}=i.info,d=(u=i.conversation.current)==null?void 0:u.sessionId,l;if(s==="in-memory-transcript"){if(!n.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");l=yield n.conversationQuery()}else if(s==="stored-transcript"){if(!i.conversation.current)throw new Error("Can't include stored-transcript, no current conversation");l=i.conversation.current.messages.map(p=>({text:p.text,source:p.source}))}else Array.isArray(s)&&(l=s);if(t.includeTags){if(!i.conversation.current)throw new Error("Can't include tags, no current conversation");let{tags:p}=i.conversation.current;Object.assign(r,{tags:p})}let c=yield o.evaluateAssistant(t.assistantCode,{input:r,transcript:l,conversationId:d});return a&&(c=Array.isArray(c)?c.map(p=>x(f({},p),{name:Q(p.name,a),response:Q(p.response,a)})):Q(c,a)),c})),Ja=Cg({name:"assistants",initialState:Js,reducers:{removeOutputByCode(t,e){t.outputs=t.outputs.filter(o=>o.code!==e.payload.code)}},extraReducers:t=>{t.addCase(Be.pending,(e,o)=>{o.meta.arg.skipState||(e.fetchState="loading")}).addCase(Be.rejected,(e,o)=>{o.meta.arg.skipState||(e.fetchState="error")}).addCase(Be.fulfilled,(e,o)=>{if(o.meta.arg.skipState)return;if(!Array.isArray(o.payload))throw w.warn("Unexpected assistant output",o.payload),new Error("Unexpected assistant output");let n=o.payload.map(r=>r.code),s=e.outputs.filter(r=>!n.includes(r.code));e.fetchState="done",e.outputs=[...o.payload,...s]}).addCase(F,()=>Js).addCase(wg.toString(),()=>Js)}}),{removeOutputByCode:Ya}=Ja.actions,el=Ja.reducer;var Ys={};Z(Ys,{enUS:()=>Tg,nlNL:()=>Eg});var Tg={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."}]},Eg={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 tl={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import or from"classnames";import{useState as Ag}from"react";import{jsx as ol}from"react/jsx-runtime";var er=t=>ol("svg",x(f({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ol("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 nl}from"react/jsx-runtime";var sl=t=>nl("svg",x(f({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:nl("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})}));function Et(t,e){var 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 tr={};Z(tr,{enUS:()=>kg,nlNL:()=>Rg});var kg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Rg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as Ig}from"react-redux";import{createAsyncThunk as Pg}from"@reduxjs/toolkit";function rl(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,x(f({conversationId:n},s),{data:e.data}))})(t)}function kt(){let t=Ig();return(e,o)=>g(this,null,function*(){yield t(rl({name:e,data:o}))})}var il={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as al}from"react-redux";var Rt=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 Pt,jsxs as Mg}from"react/jsx-runtime";var Lg=({eventName:t,eventData:e,feedbackType:o,feedbackText:n})=>{let s=v("FeedbackThumbs",il),r=T("enableFeedbackForm"),i=al(De),a=al(Rt(`/admin/feedback?conversationId=${i}&type=${o}&text=${n}&data=${JSON.stringify(e)}`)),d=P(tr),l=kt(),[c,u]=Ag(null),p=y=>{y.stopPropagation(),Et(y.target,s.fadeup),u("up"),l(t,x(f({},e),{rating:"up"}))},m=y=>{y.stopPropagation(),Et(y.target,s.fadedown),u("down"),l(t,x(f({},e),{rating:"down"}))};return Mg("div",{className:s.thumbs,children:[Pt(D.Button,{title:d("thumbsUp"),onClick:p,icon:Pt(sl,{}),className:or(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),r&&a?Pt(D.Button,{as:"a",title:d("thumbsDown"),href:a,target:"_blank",rel:"noreferrer",onClick:m,icon:Pt(er,{}),className:or(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):Pt(D.Button,{title:d("thumbsDown"),onClick:m,icon:Pt(er,{}),className:or(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},It=Lg;import{createAsyncThunk as Ng,createSlice as Og}from"@reduxjs/toolkit";var Dg={data:null,fetchState:"idle"},ge=t=>t.profile.data,gn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],ll=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,lo=Ng("profile/getProfile",(t,e)=>g(void 0,null,function*(){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)})),_g=Og({name:"profile",initialState:Dg,reducers:{},extraReducers:t=>{t.addCase(lo.pending,e=>{e.fetchState="loading"}).addCase(lo.rejected,e=>{e.fetchState="error"}).addCase(lo.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),dl=_g.reducer;import{jsx as At,jsxs as cl}from"react/jsx-runtime";var Ug=({onCopy:t})=>{let e=Hg(null),o=v("SummaryForm",tl),[n,s]=sr(""),[r,i]=sr(""),[a,d]=sr(!1),l=Bg(ge),c=P(Ys),u=Kg(),p=()=>{u(Y({name:"summary copied to clipboard",data:{originalText:n,finalText:r},options:{includeConversationData:!0}})),t(r)},m=()=>{let y=document.getSelection();y&&u(Y({name:"summary copied to clipboard",data:{originalText:n,finalText:y==null?void 0:y.toString(),assistant:l==null?void 0:l.summarizerAssistantNew},options:{includeConversationData:!0}}))};return nr(()=>{u(Tt({})).then(y=>{if(y.error){d(!0);return}s(y.payload||""),i(y.payload||"")})},[]),nr(()=>{e.current&&n&&e.current.focus()},[e,n]),nr(()=>{let y=h=>{h.key==="Enter"&&h.shiftKey&&p()};return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}},[r]),At("div",{className:o.root,tabIndex:-1,children:a?At("p",{className:o.error,children:c("error")}):cl(Fg,{children:[At("div",{className:o.main,children:At("textarea",{placeholder:n?void 0:c("loading"),disabled:!n,className:o.textInput,ref:e,value:r,onCopy:m,onChange:y=>i(y.target.value)})}),cl("div",{className:o.actions,children:[At(It,{feedbackText:n||"",feedbackType:"summary",eventName:"summary feedback",eventData:{summary:n}}),At(H.Button,{shortKeys:[8679,8629],onClick:p,children:c("copy")})]})]})})},pl=Ug;var co={};Z(co,{enUS:()=>zg,nlNL:()=>Vg});var zg={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?"}]},Vg={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 xl,{useEffect as ar,useRef as tf}from"react";import{useDispatch as of,useSelector as bl}from"react-redux";var rr={};Z(rr,{enUS:()=>Wg,nlNL:()=>qg});var Wg={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"}]},qg={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 ul={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 Xg,createAsyncThunk as Zg,createSlice as Jg}from"@reduxjs/toolkit";import{createAsyncThunk as $g,createSlice as Gg}from"@reduxjs/toolkit";var jg={data:null,fetchState:"idle"},ml=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},po=$g("knowledgeAssistant/getKnowledgeAssistant",(t,e)=>g(void 0,null,function*(){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})),Qg=Gg({name:"knowledgeAssistant",initialState:jg,reducers:{},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.data=o.payload})}}),gl=Qg.reducer;var ir={data:[],fetchState:"idle"},fl=t=>{var e;return(e=t.answer)==null?void 0:e.data},hl=t=>t.answer.fetchState,Lt=Xg("answer/resetKnowledgeSearch"),uo=Zg("answer/getAnswer",(t,e)=>g(void 0,null,function*(){var l,c,u;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,{platformVariables:s}=e.getState().info,r=ml(e.getState()),i=(l=e.getState().conversation.current)==null?void 0:l.sessionId,a=(u=(c=e.getState().info)==null?void 0:c.agentInfo)==null?void 0:u.agentId;if(!r)throw new Error("KnowledgeAssistant is not defined");let d=yield o.knowledgeAssist({customerInstruction:r.customerInstruction,doNotKnowAnswer:r.doNotKnowAnswer,question:t},n,r.code,{agentId:a,conversationId:i});return s&&(d.answer=Q(d.answer,s)),{question:t,answer:d}})),Yg=Jg({name:"answer",initialState:ir,reducers:{},extraReducers:t=>{t.addCase(uo.pending,e=>{e.fetchState="loading"}).addCase(uo.rejected,e=>{e.fetchState="error"}).addCase(uo.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(F,()=>ir).addCase(Lt,()=>ir)}}),yl=Yg.reducer;import{jsx as vl,jsxs as ef}from"react/jsx-runtime";var Sl=()=>ef("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[vl("title",{id:"paperPlaneTitle",children:"PaperPlane"}),vl("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 fe,jsxs as Cl}from"react/jsx-runtime";var nf=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=xl.useState(""),[r,i]=xl.useState(!1),{setSelected:a}=He(),d=tf(null),l=v("KnowledgeSearchStyles",ul),c=P(rr),u=of(),p=bl(fl),m=bl(hl),y=k=>g(void 0,null,function*(){i(!0),yield u(uo(k)),d.current&&i(!1)}),h=k=>g(void 0,null,function*(){k.preventDefault(),k.stopPropagation(),n!==""&&y(n)}),S=(k,C)=>{u(Y({name:"knowledge assist source viewed",data:{question:C,sourceViewed:k.url||k.name},options:{includeConversationData:!0}}))};return ar(()=>{var k;o&&m==="idle"?y(o):(k=d.current)==null||k.focus()},[d,m]),ar(()=>{m==="done"&&(u(Y({name:"knowledge assist question answered",data:{question:n||o,sources:p[p.length-1].answer.sources,answer:p[p.length-1].answer.answer,isFollowUpQuestion:p.length>1},options:{includeConversationData:!0}})),a(`knowledge-assist-${p.length-1}`),s(""))},[m,p]),ar(()=>{d.current&&d.current.scrollIntoView({behavior:"smooth"})},[d,p]),Cl("div",{className:l.root,children:[p.length>0&&fe("div",{className:l.alignRight,children:fe(H.Button,{onClick:e,children:c("reset")})}),p.map(({question:k,answer:C},b)=>fe(H.List,{children:fe(H.ListItem,{id:`knowledge-assist-${b}`,"data-testid":"knowledge-search-answer",description:C.answer,closeOnSelect:!0,onClick:()=>t(C.answer),onSourceClick:I=>S(I,k),sources:C.sources,styles:{title:l.question,description:l.answer},extra:fe("div",{className:l.listItemFeedback,children:fe(It,{feedbackText:C.answer,feedbackType:"knowledge-assist-answer",eventName:"knowledge assist feedback",eventData:f({question:k,isAgent:o!==k,isFollowUpQuestion:p.length>1},C)})}),children:k})},`${C.answer}_${b}`)),m==="loading"&&fe("p",{className:l.status,children:c("loading")}),m==="error"&&fe("p",{className:l.status,children:c("error")}),Cl("form",{className:l.form,onSubmit:h,children:[fe("input",{ref:d,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:n,onFocus:()=>{a(void 0)},onChange:k=>{a(void 0),s(k.target.value)}}),fe("button",{type:"submit",className:l.submit,disabled:r,children:fe(Sl,{})})]})]})},wl=nf;import{useEffect as df}from"react";import{useDispatch as cf}from"react-redux";import{createAction as af,createAsyncThunk as Rl,createSlice as lf}from"@reduxjs/toolkit";var sf=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],rf=new RegExp(sf.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Tl(t,e){let o=t.split(rf),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],d=r===o.length-2;n+=i.length;let l=n;if(d){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let c=l===-1?e.slice(n):e.slice(n,l);s.push(c),n=l}return s.join("")}function El(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var Pl={suggestions:[],fetchState:"idle"},kl={default:Pl},Il=t=>e=>{var o,n;return(n=(o=e.textSuggestions[t])==null?void 0:o.suggestions)!=null?n:[]},fn=t=>t.textSuggestions,Al=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},hn=af("textSuggestions/refresh"),he=Rl("textSuggestions/recommendations",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,inlineSuggestions:a}=n.settings,d=St(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getTextSuggestions(s,Zt(n),t);if(r&&(l=l.map(u=>f(x(f({},u),{text:Q(u.text,r)}),u.title?{title:Q(u.title,r)}:{}))),t==="default"){let u=a?l.filter(Al(d)):l;e.dispatch(_e(u.slice(0,i)))}return l})),mo=Rl("textSuggestions/autocompletions",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,deanonymize:a,inlineSuggestions:d}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getAutocompleteSuggestions(s,x(f({},Zt(n)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(Al(t))),r&&(l=l.map(u=>x(f({},u),{text:Q(u.text,r)}))),a&&(l=l.map(u=>x(f({},u),{text:u.source!=="trie-with-typos"?Tl(u.text,t):u.text}))),l=El(l,i),e.dispatch(_e(l)),l})),Ll=lf({name:"textSuggestions",initialState:kl,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}}}}},extraReducers:t=>{t.addCase(he.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||Pl;return x(f({},e),{[n]:x(f({},s),{fetchState:"loading"})})}).addCase(he.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(he.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(mo.pending,e=>{e.default.fetchState="loading"}).addCase(mo.rejected,e=>{e.default.fetchState="error"}).addCase(mo.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(F,()=>kl)}}),{setTextSuggestions:XE}=Ll.actions,Ml=Ll.reducer;import{useSelector as Nl}from"react-redux";import{jsx as yn,jsxs as uf}from"react/jsx-runtime";var pf=({commands:t,onClick:e})=>{var a,d,l;let o=cf(),n=P(co),s=Nl(ge),r=Nl(fn),i=((l=(d=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:d.initialTypes)==null?void 0:l.filter(({isActive:c})=>c))||[];return df(()=>{i.forEach(({type:c})=>{(!r[c]||r[c].suggestions.length===0)&&o(he(c))})},[]),uf("div",{children:[t.length>0&&yn(H.List,{heading:n("commands"),children:t.map((c,u)=>yn(H.ListItem,{id:`command-${u}`,closeOnSelect:!1,onClick:c.onClick,children:c.label},c.label))}),i.map(({type:c,title:u})=>{var p;return yn(H.List,{heading:u,orientation:"vertical",children:(p=r[c])==null?void 0:p.suggestions.map((m,y)=>yn(H.ListItem,{id:`${c}-${y}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},c)})]})},Ol=pf;import mf,{useState as Dl,useEffect as _l,useMemo as gf,useRef as Fl,useCallback as ff,useContext as hf}from"react";import yf from"classnames";var lr={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 vn,jsxs as bf}from"react/jsx-runtime";var vf=0,Hl=mf.createContext(null),Sf=()=>{let t=hf(Hl);if(!t)throw new Error("Invalid DropdownContext");return t},Bl=({trigger:t,children:e,position:o="bottom"})=>{let n=gf(()=>++vf,[]),s=Fl(null),r=Fl(null),i=v("Dropdown",lr),[a,d]=Dl(!1),[l,c]=Dl(o),u=m=>{m.preventDefault(),m.stopPropagation(),d(!a)},p=ff(([m])=>{!m.isIntersecting&&a&&c(l==="top"?"bottom":"top")},[a]);return _l(()=>{let m=y=>{s.current&&!s.current.contains(y.target)&&d(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),_l(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(p,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),vn(Hl.Provider,{value:{setIsOpen:d},children:bf("div",{ref:s,className:i.root,children:[vn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:u,children:t}),vn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:yf(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function xf(s){var r=s,{as:t,children:e,onClick:o}=r,n=O(r,["as","children","onClick"]);let i=t||"button",a=v("Dropdown",lr),{setIsOpen:d}=Sf(),l=c=>{d(!1),o(c),c.stopPropagation()};return vn(i,x(f({type:"button",className:a.item,onClick:l},n),{children:e}))}Bl.Item=xf;var dr=Bl;import{jsx as Kl}from"react/jsx-runtime";var Ul=t=>Kl("svg",x(f({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:Kl("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 tt={};Z(tt,{enUS:()=>Cf,nlNL:()=>wf});var Cf={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"}]},wf={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 zl}from"react-redux";import{useDispatch as Tf}from"react-redux";import{jsx as cr}from"react/jsx-runtime";var Ef=({suggestion:t,source:e,context:o})=>{let n=P(tt),s=zl(De),r=Tf(),i=T("enableSuggestionFeedback"),a=`${t.text}`,d=zl(Rt(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:o})}`)),l=()=>{r(Y({name:"suggestion feedback",data:{text:t.text,source:e,context:o},options:{includeConversationData:!0}}))};return!i||!d?null:cr(dr,{trigger:cr(Ul,{"data-testid":"feedback-dropdown-trigger"}),children:cr(dr.Item,{as:"a",onClick:l,target:"_blank",href:d,children:n("giveFeedback")})})},Sn=Ef;import{jsx as oe,jsxs as mr}from"react/jsx-runtime";var Af=200,Lf=5,Mf=4,Wl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Nf=()=>{let t=If(),e=de(),o=P(co),[n,s]=ur(!1),[r,i]=ur(""),a=ot(Ji),d=ot(ge),[l,c]=ur(),u=ot(J),p=T("showSearch"),m=T("enableSuggestionFeedback"),y=T("showEntitiesCommand"),h=T("showSummaryCommand"),S=T("showKnowledgeSearch"),k=T("showImageSearch"),C=T("searchTriggerKey"),b=ot(Ta),I=ot(Yi),E=ot(ea),_=ot(Zi),A=R=>as(I.filter(j=>j.type===R.toUpperCase()),R),U=[{value:"PERSONAL",label:o("personalSuggestions"),list:A("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:A("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:A("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:A("IMAGE"),listOrientation:"horizontal",shouldShow:k}].filter(R=>R.shouldShow),G=[{label:o("entitiesClipboard"),onClick:()=>t(pe("entities")),shouldShow:y&&Wl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(pe("summary")),shouldShow:h&&Wl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(pe("knowledgeAssist")),shouldShow:S}].filter(R=>R.shouldShow),N=(b==null?void 0:b.map(R=>({value:R.code.toUpperCase(),label:`${R.name}s`,list:A(R.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],K=Vl(Rf((R,j)=>{t(Xe({query:R,type:j,tags:["search-overlay"],size:l?50:20}))},Af),[l]),le=Vl((R,j)=>{switch(j.type){case"IMAGE":e.send(Rs,{suggestion:j});break;default:e.send(Fe,{text:R,suggestion:j})}t(re(!1))},[t]),ee=R=>{Ee(R.text),t(Y({name:"entity copied",data:{entity:R,type:"copy"}})),t(re(!1))},Po=R=>{e.send(Fe,{text:R,suggestion:{source:"knowledge-assist",text:R}}),t(Y({name:"answer used",data:{originalText:R},options:{includeConversationData:!0}})),i(""),t(pe("search")),t(Lt()),t(re(!1))},_p=R=>{Ee(R),t(re(!1))};function as(R,j){return R.slice(0,l?10:j.toLowerCase()==="image"?Mf:Lf)}function qt(R){return j=>{n?window.confirm(o("warning"))&&(R(j),s(!1)):R(j)}}return pr(()=>{r?K(r,l):t(Qo())},[r,l]),pr(()=>{a==="search"&&t(Lt())},[a]),pr(()=>{u&&t(so())},[u]),Va(C,()=>t(re(!0))),!p||!d?null:mr(H,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:qt(R=>t(re(R))),onChangeType:R=>c(R),onChangePage:qt(R=>t(pe(R))),selectedType:l,search:r,page:a,isOpen:_,types:[...N,...U],children:[mr(H.Page,{id:"search",children:[r.length===0&&oe(Ol,{commands:G,onClick:le}),r.length>0&&mr(Pf,{children:[G.length>0&&oe(H.List,{heading:o("commands"),children:G.map((R,j)=>oe(H.ListItem,{closeOnSelect:!1,onClick:R.onClick,id:`commands-${j}`,children:R.label},R.label))}),[...N,...U].map(({value:R,label:j,list:oi,lineClamp:Fp,listOrientation:Hp})=>oe(H.List,{heading:j,orientation:Hp==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(R),hasMore:!l&&E[R.toLowerCase()]>as(oi,R).length,children:as(oi,R).map(ne=>oe(H.ListItem,{id:`${R}-${ne.id}`,closeOnSelect:!1,lineClamp:Fp,onClick:()=>le(ne.text,ne),description:R!=="IMAGE"?ne.title&&ne.text:void 0,extra:m&&oe(H.ListItemActions,{children:oe(Sn,{context:r,source:"search",suggestion:ne})}),children:R==="IMAGE"?oe(H.Image,{title:ne.title||ne.text,src:ne.image}):ne.title||ne.text},`${ne.id}-${ne.text}`))},R))]})]}),oe(H.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:qt(()=>{t(pe("search"))}),children:oe(ja,{onCopy:ee})}),oe(H.Page,{id:"summary",title:o("summaryTitle"),onDismiss:qt(()=>{t(pe("search"))}),children:oe(pl,{onCopy:_p})}),oe(H.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:qt(()=>{t(Lt()),t(pe("search"))}),children:oe(wl,{question:r,onUse:Po,onResetQuestion:()=>{t(Lt()),i("")}})})]})},ql=Nf;import{jsx as $l,jsxs as _f}from"react/jsx-runtime";var Df=()=>{let t=T("showSearch"),e=T("isEmbedded");return _f(Of,{children:[t&&$l(ql,{}),e&&$l(wa,{})]})},Gl=Df;import Kf from"classnames";import{useSelector as Uf}from"react-redux";import{jsx as gr}from"react/jsx-runtime";var jl=({className:t})=>gr("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:gr("g",{children:gr("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
|
|
3
|
+
`,Je.MISSING_INTL_API,i);var I=o.getPluralRules(e,{type:c.pluralType}).select(p-(c.offset||0));b=c.options[I]||c.options.other}if(!b)throw new Ns(c.value,p,Object.keys(c.options),i);a.push.apply(a,oo(b.value,e,o,n,s,p-(c.offset||0)));continue}}return rm(a)}function am(t,e){return e?ie(ie(ie({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=ie(ie({},t[n]),e[n]||{}),o},{})):t}function lm(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=am(t[n],e[n]),o},ie({},t)):t}function Os(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function dm(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:ln(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Xo([void 0],o,!1)))},{cache:Os(t.number),strategy:dn.variadic}),getDateTimeFormat:ln(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Xo([void 0],o,!1)))},{cache:Os(t.dateTime),strategy:dn.variadic}),getPluralRules:ln(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Xo([void 0],o,!1)))},{cache:Os(t.pluralRules),strategy:dn.variadic})}}var fa=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var u=c.reduce(function(p,m){return!p.length||m.type!==X.literal||typeof p[p.length-1]!="string"?p.push(m.value):p[p.length-1]+=m.value,p},[]);return u.length<=1?u[0]||"":u},this.formatToParts=function(l){return oo(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,d=aa(i,["formatters"]);this.ast=t.__parse(e,ie(ie({},d),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=lm(t.formats,n),this.formatters=s&&s.formatters||dm(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!="undefined"){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=ca,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 um(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var mm="dummy",Ds=cm(null);function P(t){var n;let e=pm(Ds);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=(n=t[e])!=null?n:{};return(s,r)=>{let i=um(o,s);return i?new fa(i).format(r):(e!==mm&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{useEffect as gm,useRef as fm}from"react";var ha={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as ya}from"react/jsx-runtime";var hm=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=fm(null),l=v("Dialog",ha),c=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===d.current&&t&&n()};return gm(()=>{var p,m;!d.current||!t||!e||(m=(p=d.current)==null?void 0:p.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?ya("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:u,children:ya("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},cn=hm;import ym from"classnames";var va={root:"dd-ranhW"};import{jsx as Sm}from"react/jsx-runtime";var vm=n=>{var s=n,{className:t,value:e}=s,o=O(s,["className","value"]);let r=v("TextInput",va);return Sm("input",f({className:ym(t,r.root),type:"text",value:e},o))},no=vm;var _s={};Z(_s,{enUS:()=>xm,nlNL:()=>bm});var xm={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"}]},bm={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 te,jsxs as pn}from"react/jsx-runtime";var km=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},Rm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=P(_s),i=v("LoginTokenDialog",Sa),a=Em(bi),d=Tm(),l=T("productName"),[c,u]=Hs(t||""),[p,m]=Hs(0),[y,h]=Hs(""),S=xa(I=>g(void 0,null,function*(){I.preventDefault(),d(wi({email:c})),m(1)}),[o,c]),k=()=>{h(""),m(0)},C=xa(I=>g(void 0,null,function*(){I.preventDefault();let E=km(I.target.elements.token.value);if(!E){h(r("verifyCodeError",{login:b}));return}d(Qt({token:E}))}),[o]),b=wm(()=>I=>te("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:k,children:I},"back-button"),[]);return Cm(()=>{a==="error"&&h(r("verifyCodeError",{login:b})),a==="done"&&n()},[a]),te(cn,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:pn("div",{className:i.root,children:[te("h1",{className:i.title,children:r("promptTitle",{productName:l})}),p===0&&pn("form",{onSubmit:S,children:[te("h2",{className:i.subtitle,children:r("requestCodeTitle")}),te("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),te(no,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:I=>u(I.target.value)}),te("div",{className:i.actions,children:te("button",{type:"submit",className:Fs(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&pn("form",{onSubmit:C,children:[te("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),te("p",{className:i.text,children:r("verifyCodeBody")}),te(no,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),y&&te("div",{className:i.errorMessage,children:y}),pn("div",{className:i.actions,children:[te("button",{type:"button",className:Fs(i.button),onClick:k,children:r("back")}),te("button",{type:"submit",className:Fs(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},ba=Rm;import{jsx as Im}from"react/jsx-runtime";var Pm=()=>{let t=Ca(Ci),e=Ca(Wi),o=T("adminUrl"),n=de(),s=()=>n.send(bt,!1),r=()=>{n.send(bt,!1),n.send(Jt)};return Im(ba,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},wa=Pm;import Rf from"lodash.debounce";import{Fragment as Pf,useCallback as Vl,useEffect as pr,useState as ur}from"react";import{useDispatch as If,useSelector as ot}from"react-redux";import{createAsyncThunk as Am,createSlice as Lm}from"@reduxjs/toolkit";var Mm={data:null,fetchState:"idle"},Ta=t=>t.contentTypes.data,so=Am("contentTypes/getContentTypes",(t,e)=>g(void 0,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),Nm=Lm({name:"contentTypes",initialState:Mm,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=o.payload})}}),Ea=Nm.reducer;function Ee(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 Ua,useState as rg,useRef as ig,useCallback as ag}from"react";import{useState as _m}from"react";import Bs from"classnames";var ae={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 ke={};Z(ke,{enUS:()=>Om,nlNL:()=>Dm});var Om={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"}]},Dm={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 ro,jsxs as Hm}from"react/jsx-runtime";var Fm=({src:t,title:e})=>{let o=v("CommandPalette",ae),[n,s]=_m("loading"),r=P(ke);return Hm("div",{className:o.image,children:[ro("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Bs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&ro("span",{className:Bs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&ro("span",{className:Bs(o.imageSrc,o.imageSrcStatus),children:ro(Lo,{})}),e&&ro("span",{className:o.imageTitle,children:e})]})},ka=Fm;import Bm from"react";import Km from"classnames";import{jsx as Ks,jsxs as Ra}from"react/jsx-runtime";function Us({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=P(ke),i=v("CommandPalette",ae);return Bm.Children.count(t)===0?null:Ra("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&Ra("div",{className:i.listHeader,children:[e&&Ks("h4",{className:i.listHeading,children:e}),n&&s&&Ks("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Ks("div",{className:Km(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import ao from"classnames";import{Interweave as Qm}from"interweave";import{useState as Xm}from"react";var Um=/[.*+?^${}()|[\]\\]/g,zm=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Vm(t){return t.replace(Um,"\\$&")}function Wm(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function qm(t){return t.search(zm)}function Pa(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${Vm(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function Ia(t){return t.replace(Oo,'<mark data-type="placeholder">$1</mark>')}function io(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function $m(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 zs(t,e,o={}){if(e){let n=Wm(e.toLowerCase(),t.toLowerCase()),s=io(t.substring(n,t.length));if(o.stripAgentPart){let d=t.substring(0,n),l=qm(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(hi).length>3||e.length>30?$m(e.trim(),n):0;return`${`${i>0?"\u2026":""}${io(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Gm=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Vs(t){return Gm.test(t)}function Aa(t){var o;let e=document.createElement("template");return e.innerHTML=t,(o=e.content.textContent)!=null?o:""}import Ws from"react";import{jsx as jm}from"react/jsx-runtime";var La=Ws.createContext(void 0);function He(){let t=Ws.useContext(La);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Ma=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Ws.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return jm(La.Provider,{value:i,children:t})};import{jsx as Ye,jsxs as qs}from"react/jsx-runtime";var Zm=3,Na=({children:t})=>{let e=v("CommandPalette",ae);return Ye("div",{className:e.listItemActions,children:t})};function $s(p){var m=p,{closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,extra:s,onSourceClick:r,description:i,sources:a,id:d,styles:l,defaultSourcesAmount:c=Zm}=m,u=O(m,["closeOnSelect","lineClamp","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var E;let y=P(ke),[h,S]=Xm(!1),{selected:k,onChangeOpen:C}=He(),b=v("CommandPalette",ae);function I(_){n(_),t&&C(!1)}return qs("div",{className:ao(b.listItem,d===k&&b.listItemSelected),children:[Ye("button",x(f({type:"button",className:ao(b.listItemAction,b.listItemPrimaryAction),"aria-disabled":(E=u.disabled)!=null?E:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":d},u),{children:qs("div",{className:b.listItemContent,children:[typeof o=="string"?Ye("p",{className:ao(b.listItemText,b.truncate,l==null?void 0:l.title),children:o}):o,i&&Ye(Qm,{tagName:"p",allowList:[],content:Vs(i)?Aa(i):i,className:ao(b.listItemDescription,l==null?void 0:l.description,e?b.lineClamp:b.truncate)})]})})),s,a&&a.length>0&&qs("div",{className:b.sources,children:[Ye("span",{className:b.sourcesTitle,children:y("sources")}),a.slice(0,h?a.length:c).map(_=>Ye("a",{className:b.source,href:_.url,target:"_blank",title:_.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>r&&r(_),children:_.name},_.url)),!h&&a.length>c&&Ye("button",{className:ao(b.source,b.sourceShowMore),type:"button",onClick:()=>S(!0),children:y("showMore",{amount:a.length-c})})]})]})}import{jsx as Oa,jsxs as Jm}from"react/jsx-runtime";var Da=()=>Jm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Oa("title",{id:"angleLeftTitle",children:"AngleLeft"}),Oa("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 _a,jsxs as Gs}from"react/jsx-runtime";function js({children:t,title:e,id:o,onDismiss:n}){let s=P(ke),r=v("CommandPalette",ae),{page:i}=He();return i!==o?null:Gs("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Gs("div",{className:r.pageNav,children:[Gs("button",{className:r.pageBackButton,type:"button",onClick:n,children:[_a(Da,{}),s("back")]}),e&&_a("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as eg}from"react";import{jsx as Fa,jsxs as Ym}from"react/jsx-runtime";var Ct=()=>Ym("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Fa("path",{d:"M0 0h24v24H0z",fill:"none"}),Fa("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 wt,jsxs as Qs}from"react/jsx-runtime";function tg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let d=v("CommandPalette",ae);return Qs("div",{className:d.search,children:[wt("div",{className:d.searchIcon,children:wt(Ct,{})}),Qs("div",{className:d.searchInputWrapper,children:[wt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&wt("div",{className:d.selectWrapper,children:Qs("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&wt("option",{children:n}),s.map(l=>wt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Ha=eg(tg);import Ba from"classnames";import{jsx as ng,jsxs as sg}from"react/jsx-runtime";var og=s=>{var r=s,{onClick:t,shortKeys:e,children:o}=r,n=O(r,["onClick","shortKeys","children"]);let i=v("CommandPalette",ae);return sg("button",x(f({type:"button"},n),{onClick:t,className:Ba(i.actionButton,n.className,{[i.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(a=>ng("span",{className:Ba(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},Ka=og;import{jsx as za,jsxs as dg}from"react/jsx-runtime";var lg="[data-command-palette-item]";function et({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:u,search:p}){let[m,y]=rg(),h=ig(null),S=()=>{s&&s(o),i(void 0),r(""),a(!1)},k=()=>{var N;if(n!==o&&s){s(o);return}if(d&&i){i(void 0),(N=h.current)==null||N.focus();return}if(p.length>0){r("");return}a(!1)},C=()=>{let N=b();N.length!==0&&y(N[0].dataset.itemId)},b=()=>Array.from(document.querySelectorAll(lg)||[]),I=N=>document.querySelector(`[data-item-id=${N}]`),E=N=>{let K=I(N);K&&y(K.dataset.itemId)},_=N=>{let K=I(N);K&&K.scrollIntoView({behavior:"smooth"})},A=()=>{if(!m)return;let N=b(),K=I(m);if(!K)return;let le=N.indexOf(K),ee=N[le+1];ee&&ee.dataset.itemId?E(ee.dataset.itemId):C()},U=()=>{if(!m)return;let N=b(),K=I(m);if(!K)return;let le=N.indexOf(K),ee=N[le-1];ee&&ee.dataset.itemId?E(ee.dataset.itemId):E(N[N.length-1].dataset.itemId)},G=ag(N=>{switch(N.key){case"ArrowDown":{N.preventDefault(),A();break}case"ArrowUp":{N.preventDefault(),U();break}case"Enter":{if(m){let K=I(m);K==null||K.click()}break}}},[m]);return Ua(()=>{C()},[p,n,d,u]),Ua(()=>{m&&_(m)},[m]),za(cn,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:k,onClose:S,onKeyDown:G,children:dg(Ma,{selected:m,setSelected:y,isOpen:u,onChangeOpen:a,page:n,children:[n===o&&za(Ha,{ref:h,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:d,types:l,typePlaceholder:e}),c]})})}et.Page=js;et.List=Us;et.Image=ka;et.ListItem=$s;et.ListItemActions=Na;et.Button=Ka;var H=et;import{useEffect as cg}from"react";function Va(t,e){cg(()=>{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 Ga,useRef as yg}from"react";import{useSelector as vg,useDispatch as Sg}from"react-redux";import{createAsyncThunk as pg,createSlice as ug}from"@reduxjs/toolkit";var Wa={data:null,fetchState:"idle"},un=t=>{var r,i,a,d;let e=[],{visitorName:o}=(r=t.info.visitorInfo)!=null?r:{},{agentName:n,agentNickname:s}=(i=t.info.agentInfo)!=null?i:{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),(d=(a=t.entities.data)==null?void 0:a.filter(l=>!e.includes(l.text)))!=null?d:null},me=pg("entities/getEntities",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=yield s();return r.length===0?Promise.resolve([]):o.getEntities(r)})),mg=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),gg=ug({name:"entities",initialState:Wa,reducers:{},extraReducers:t=>{t.addCase(me.pending,e=>{e.fetchState="loading"}).addCase(me.rejected,e=>{e.fetchState="error"}).addCase(me.fulfilled,(e,o)=>{e.fetchState="done",e.data=mg(e.data?[...e.data,...o.payload]:o.payload)}).addCase(F,()=>Wa)}}),qa=gg.reducer;var Xs={};Z(Xs,{enUS:()=>fg,nlNL:()=>hg});var fg={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},hg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var $a={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Zs,jsxs as bg}from"react/jsx-runtime";var xg=({onCopy:t})=>{let e=yg(null),o=v("EntitiesList",$a),n=vg(un),{setSelected:s}=He(),r=P(Xs),i=Sg();return Ga(()=>{i(me())},[]),Ga(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),bg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Zs(H.List,{children:n.map((a,d)=>Zs(H.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Zs("p",{className:o.empty,children:r("noResults")})]})},ja=xg;import{Fragment as Fg,useEffect as nr,useRef as Hg,useState as sr}from"react";import{useSelector as Bg,useDispatch as Kg}from"react-redux";import{createAction as Qa,createAsyncThunk as Xa,createSlice as Cg}from"@reduxjs/toolkit";var Js={outputs:[],fetchState:"idle"},Za=t=>{var e;return(e=t.assistants)==null?void 0:e.outputs},wg=Qa("assistants/resetOutputs"),mn=Qa("assistants/callToAction"),Tt=Xa("assistants/getSummary",(t,e)=>g(void 0,null,function*(){var r,i,a;let o=e.getState();if(!o.profile.data)throw new Error("No Profile is loaded");let{summarizerAssistantNew:n}=o.profile.data;if(!n){let{deepdeskAPI:d,dynamicThunkObject:l}=e.extra,c=e.getState(),u=(r=c.conversation.current)==null?void 0:r.sessionId,p=(a=(i=c.info)==null?void 0:i.agentInfo)==null?void 0:a.agentId,m=c.profile.data;if(!m)throw new Error("Profile is not defined");if(!l.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let y=l.conversationQuery,h=yield y(),S=yield d.getSummary(h,{externalConversationId:u,agentId:p,promptInstruction:m.summarizerPromptInstruction,model:m.summarizerModel});return S.summary?S.summary:Promise.reject(new Error("Summary is not provided"))}let s=yield e.dispatch(Be(f({assistantCode:n,transcript:"in-memory-transcript",skipState:!0},t)));if(s.error)throw new Error(s.error.message);if(typeof s.payload!="string")throw w.warn("Unexpected summary output",s),new Error("Unexpected summary output");return s.payload})),Be=Xa("assistants/evaluate",(t,e)=>g(void 0,null,function*(){var u;let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra,{transcript:s,input:r={}}=t,i=e.getState(),{platformVariables:a}=i.info,d=(u=i.conversation.current)==null?void 0:u.sessionId,l;if(s==="in-memory-transcript"){if(!n.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");l=yield n.conversationQuery()}else if(s==="stored-transcript"){if(!i.conversation.current)throw new Error("Can't include stored-transcript, no current conversation");l=i.conversation.current.messages.map(p=>({text:p.text,source:p.source}))}else Array.isArray(s)&&(l=s);if(t.includeTags){if(!i.conversation.current)throw new Error("Can't include tags, no current conversation");let{tags:p}=i.conversation.current;Object.assign(r,{tags:p})}let c=yield o.evaluateAssistant(t.assistantCode,{input:r,transcript:l,conversationId:d});return a&&(c=Array.isArray(c)?c.map(p=>x(f({},p),{name:Q(p.name,a),response:Q(p.response,a)})):Q(c,a)),c})),Ja=Cg({name:"assistants",initialState:Js,reducers:{removeOutputByCode(t,e){t.outputs=t.outputs.filter(o=>o.code!==e.payload.code)}},extraReducers:t=>{t.addCase(Be.pending,(e,o)=>{o.meta.arg.skipState||(e.fetchState="loading")}).addCase(Be.rejected,(e,o)=>{o.meta.arg.skipState||(e.fetchState="error")}).addCase(Be.fulfilled,(e,o)=>{if(o.meta.arg.skipState)return;if(!Array.isArray(o.payload))throw w.warn("Unexpected assistant output",o.payload),new Error("Unexpected assistant output");let n=o.payload.map(r=>r.code),s=e.outputs.filter(r=>!n.includes(r.code));e.fetchState="done",e.outputs=[...o.payload,...s]}).addCase(F,()=>Js).addCase(wg.toString(),()=>Js)}}),{removeOutputByCode:Ya}=Ja.actions,el=Ja.reducer;var Ys={};Z(Ys,{enUS:()=>Tg,nlNL:()=>Eg});var Tg={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."}]},Eg={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 tl={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import or from"classnames";import{useState as Ag}from"react";import{jsx as ol}from"react/jsx-runtime";var er=t=>ol("svg",x(f({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ol("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 nl}from"react/jsx-runtime";var sl=t=>nl("svg",x(f({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:nl("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})}));function Et(t,e){var 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 tr={};Z(tr,{enUS:()=>kg,nlNL:()=>Rg});var kg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Rg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as Ig}from"react-redux";import{createAsyncThunk as Pg}from"@reduxjs/toolkit";function rl(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,x(f({conversationId:n},s),{data:e.data}))})(t)}function kt(){let t=Ig();return(e,o)=>g(this,null,function*(){yield t(rl({name:e,data:o}))})}var il={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as al}from"react-redux";var Rt=t=>e=>{let{passwordlessToken:{token:o},settings:{isEmbedded:n,adminUrl:s}}=e,r=s||window.location.origin;return n&&!o?null:n&&o?`${r}/apis/admin/session/passwordless/login/?token=${o}&redirect=${encodeURIComponent(t)}`:`${r}${t}`};import{jsx as Pt,jsxs as Mg}from"react/jsx-runtime";var Lg=({eventName:t,eventData:e,feedbackType:o,feedbackText:n})=>{let s=v("FeedbackThumbs",il),r=T("enableFeedbackForm"),i=al(De),a=al(Rt(`/admin/feedback?conversationId=${i}&type=${o}&text=${n}&data=${JSON.stringify(e)}`)),d=P(tr),l=kt(),[c,u]=Ag(null),p=y=>{y.stopPropagation(),Et(y.target,s.fadeup),u("up"),l(t,x(f({},e),{rating:"up"}))},m=y=>{y.stopPropagation(),Et(y.target,s.fadedown),u("down"),l(t,x(f({},e),{rating:"down"}))};return Mg("div",{className:s.thumbs,children:[Pt(D.Button,{title:d("thumbsUp"),onClick:p,icon:Pt(sl,{}),className:or(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),r&&a?Pt(D.Button,{as:"a",title:d("thumbsDown"),href:a,target:"_blank",rel:"noreferrer",onClick:m,icon:Pt(er,{}),className:or(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):Pt(D.Button,{title:d("thumbsDown"),onClick:m,icon:Pt(er,{}),className:or(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},It=Lg;import{createAsyncThunk as Ng,createSlice as Og}from"@reduxjs/toolkit";var Dg={data:null,fetchState:"idle"},ge=t=>t.profile.data,gn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],ll=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,lo=Ng("profile/getProfile",(t,e)=>g(void 0,null,function*(){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)})),_g=Og({name:"profile",initialState:Dg,reducers:{},extraReducers:t=>{t.addCase(lo.pending,e=>{e.fetchState="loading"}).addCase(lo.rejected,e=>{e.fetchState="error"}).addCase(lo.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),dl=_g.reducer;import{jsx as At,jsxs as cl}from"react/jsx-runtime";var Ug=({onCopy:t})=>{let e=Hg(null),o=v("SummaryForm",tl),[n,s]=sr(""),[r,i]=sr(""),[a,d]=sr(!1),l=Bg(ge),c=P(Ys),u=Kg(),p=()=>{u(Y({name:"summary copied to clipboard",data:{originalText:n,finalText:r},options:{includeConversationData:!0}})),t(r)},m=()=>{let y=document.getSelection();y&&u(Y({name:"summary copied to clipboard",data:{originalText:n,finalText:y==null?void 0:y.toString(),assistant:l==null?void 0:l.summarizerAssistantNew},options:{includeConversationData:!0}}))};return nr(()=>{u(Tt({})).then(y=>{if(y.error){d(!0);return}s(y.payload||""),i(y.payload||"")})},[]),nr(()=>{e.current&&n&&e.current.focus()},[e,n]),nr(()=>{let y=h=>{h.key==="Enter"&&h.shiftKey&&p()};return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}},[r]),At("div",{className:o.root,tabIndex:-1,children:a?At("p",{className:o.error,children:c("error")}):cl(Fg,{children:[At("div",{className:o.main,children:At("textarea",{placeholder:n?void 0:c("loading"),disabled:!n,className:o.textInput,ref:e,value:r,onCopy:m,onChange:y=>i(y.target.value)})}),cl("div",{className:o.actions,children:[At(It,{feedbackText:n||"",feedbackType:"summary",eventName:"summary feedback",eventData:{summary:n}}),At(H.Button,{shortKeys:[8679,8629],onClick:p,children:c("copy")})]})]})})},pl=Ug;var co={};Z(co,{enUS:()=>zg,nlNL:()=>Vg});var zg={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?"}]},Vg={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 xl,{useEffect as ar,useRef as tf}from"react";import{useDispatch as of,useSelector as bl}from"react-redux";var rr={};Z(rr,{enUS:()=>Wg,nlNL:()=>qg});var Wg={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"}]},qg={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 ul={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 Xg,createAsyncThunk as Zg,createSlice as Jg}from"@reduxjs/toolkit";import{createAsyncThunk as $g,createSlice as Gg}from"@reduxjs/toolkit";var jg={data:null,fetchState:"idle"},ml=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},po=$g("knowledgeAssistant/getKnowledgeAssistant",(t,e)=>g(void 0,null,function*(){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})),Qg=Gg({name:"knowledgeAssistant",initialState:jg,reducers:{},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.data=o.payload})}}),gl=Qg.reducer;var ir={data:[],fetchState:"idle"},fl=t=>{var e;return(e=t.answer)==null?void 0:e.data},hl=t=>t.answer.fetchState,Lt=Xg("answer/resetKnowledgeSearch"),uo=Zg("answer/getAnswer",(t,e)=>g(void 0,null,function*(){var l,c,u;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,{platformVariables:s}=e.getState().info,r=ml(e.getState()),i=(l=e.getState().conversation.current)==null?void 0:l.sessionId,a=(u=(c=e.getState().info)==null?void 0:c.agentInfo)==null?void 0:u.agentId;if(!r)throw new Error("KnowledgeAssistant is not defined");let d=yield o.knowledgeAssist({customerInstruction:r.customerInstruction,doNotKnowAnswer:r.doNotKnowAnswer,question:t},n,r.code,{agentId:a,conversationId:i});return s&&(d.answer=Q(d.answer,s)),{question:t,answer:d}})),Yg=Jg({name:"answer",initialState:ir,reducers:{},extraReducers:t=>{t.addCase(uo.pending,e=>{e.fetchState="loading"}).addCase(uo.rejected,e=>{e.fetchState="error"}).addCase(uo.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(F,()=>ir).addCase(Lt,()=>ir)}}),yl=Yg.reducer;import{jsx as vl,jsxs as ef}from"react/jsx-runtime";var Sl=()=>ef("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[vl("title",{id:"paperPlaneTitle",children:"PaperPlane"}),vl("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 fe,jsxs as Cl}from"react/jsx-runtime";var nf=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=xl.useState(""),[r,i]=xl.useState(!1),{setSelected:a}=He(),d=tf(null),l=v("KnowledgeSearchStyles",ul),c=P(rr),u=of(),p=bl(fl),m=bl(hl),y=k=>g(void 0,null,function*(){i(!0),yield u(uo(k)),d.current&&i(!1)}),h=k=>g(void 0,null,function*(){k.preventDefault(),k.stopPropagation(),n!==""&&y(n)}),S=(k,C)=>{u(Y({name:"knowledge assist source viewed",data:{question:C,sourceViewed:k.url||k.name},options:{includeConversationData:!0}}))};return ar(()=>{var k;o&&m==="idle"?y(o):(k=d.current)==null||k.focus()},[d,m]),ar(()=>{m==="done"&&(u(Y({name:"knowledge assist question answered",data:{question:n||o,sources:p[p.length-1].answer.sources,answer:p[p.length-1].answer.answer,isFollowUpQuestion:p.length>1},options:{includeConversationData:!0}})),a(`knowledge-assist-${p.length-1}`),s(""))},[m,p]),ar(()=>{d.current&&d.current.scrollIntoView({behavior:"smooth"})},[d,p]),Cl("div",{className:l.root,children:[p.length>0&&fe("div",{className:l.alignRight,children:fe(H.Button,{onClick:e,children:c("reset")})}),p.map(({question:k,answer:C},b)=>fe(H.List,{children:fe(H.ListItem,{id:`knowledge-assist-${b}`,"data-testid":"knowledge-search-answer",description:C.answer,closeOnSelect:!0,onClick:()=>t(C.answer),onSourceClick:I=>S(I,k),sources:C.sources,styles:{title:l.question,description:l.answer},extra:fe("div",{className:l.listItemFeedback,children:fe(It,{feedbackText:C.answer,feedbackType:"knowledge-assist-answer",eventName:"knowledge assist feedback",eventData:f({question:k,isAgent:o!==k,isFollowUpQuestion:p.length>1},C)})}),children:k})},`${C.answer}_${b}`)),m==="loading"&&fe("p",{className:l.status,children:c("loading")}),m==="error"&&fe("p",{className:l.status,children:c("error")}),Cl("form",{className:l.form,onSubmit:h,children:[fe("input",{ref:d,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:n,onFocus:()=>{a(void 0)},onChange:k=>{a(void 0),s(k.target.value)}}),fe("button",{type:"submit",className:l.submit,disabled:r,children:fe(Sl,{})})]})]})},wl=nf;import{useEffect as df}from"react";import{useDispatch as cf}from"react-redux";import{createAction as af,createAsyncThunk as Rl,createSlice as lf}from"@reduxjs/toolkit";var sf=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],rf=new RegExp(sf.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Tl(t,e){let o=t.split(rf),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],d=r===o.length-2;n+=i.length;let l=n;if(d){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let c=l===-1?e.slice(n):e.slice(n,l);s.push(c),n=l}return s.join("")}function El(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var Pl={suggestions:[],fetchState:"idle"},kl={default:Pl},Il=t=>e=>{var o,n;return(n=(o=e.textSuggestions[t])==null?void 0:o.suggestions)!=null?n:[]},fn=t=>t.textSuggestions,Al=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},hn=af("textSuggestions/refresh"),he=Rl("textSuggestions/recommendations",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,inlineSuggestions:a}=n.settings,d=St(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getTextSuggestions(s,Zt(n),t);if(r&&(l=l.map(u=>f(x(f({},u),{text:Q(u.text,r)}),u.title?{title:Q(u.title,r)}:{}))),t==="default"){let u=a?l.filter(Al(d)):l;e.dispatch(_e(u.slice(0,i)))}return l})),mo=Rl("textSuggestions/autocompletions",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,deanonymize:a,inlineSuggestions:d}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getAutocompleteSuggestions(s,x(f({},Zt(n)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(Al(t))),r&&(l=l.map(u=>x(f({},u),{text:Q(u.text,r)}))),a&&(l=l.map(u=>x(f({},u),{text:u.source!=="trie-with-typos"?Tl(u.text,t):u.text}))),l=El(l,i),e.dispatch(_e(l)),l})),Ll=lf({name:"textSuggestions",initialState:kl,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}}}}},extraReducers:t=>{t.addCase(he.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||Pl;return x(f({},e),{[n]:x(f({},s),{fetchState:"loading"})})}).addCase(he.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(he.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(mo.pending,e=>{e.default.fetchState="loading"}).addCase(mo.rejected,e=>{e.default.fetchState="error"}).addCase(mo.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(F,()=>kl)}}),{setTextSuggestions:XE}=Ll.actions,Ml=Ll.reducer;import{useSelector as Nl}from"react-redux";import{jsx as yn,jsxs as uf}from"react/jsx-runtime";var pf=({commands:t,onClick:e})=>{var a,d,l;let o=cf(),n=P(co),s=Nl(ge),r=Nl(fn),i=((l=(d=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:d.initialTypes)==null?void 0:l.filter(({isActive:c})=>c))||[];return df(()=>{i.forEach(({type:c})=>{(!r[c]||r[c].suggestions.length===0)&&o(he(c))})},[]),uf("div",{children:[t.length>0&&yn(H.List,{heading:n("commands"),children:t.map((c,u)=>yn(H.ListItem,{id:`command-${u}`,closeOnSelect:!1,onClick:c.onClick,children:c.label},c.label))}),i.map(({type:c,title:u})=>{var p;return yn(H.List,{heading:u,orientation:"vertical",children:(p=r[c])==null?void 0:p.suggestions.map((m,y)=>yn(H.ListItem,{id:`${c}-${y}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},c)})]})},Ol=pf;import mf,{useState as Dl,useEffect as _l,useMemo as gf,useRef as Fl,useCallback as ff,useContext as hf}from"react";import yf from"classnames";var lr={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 vn,jsxs as bf}from"react/jsx-runtime";var vf=0,Hl=mf.createContext(null),Sf=()=>{let t=hf(Hl);if(!t)throw new Error("Invalid DropdownContext");return t},Bl=({trigger:t,children:e,position:o="bottom"})=>{let n=gf(()=>++vf,[]),s=Fl(null),r=Fl(null),i=v("Dropdown",lr),[a,d]=Dl(!1),[l,c]=Dl(o),u=m=>{m.preventDefault(),m.stopPropagation(),d(!a)},p=ff(([m])=>{!m.isIntersecting&&a&&c(l==="top"?"bottom":"top")},[a]);return _l(()=>{let m=y=>{s.current&&!s.current.contains(y.target)&&d(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),_l(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(p,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),vn(Hl.Provider,{value:{setIsOpen:d},children:bf("div",{ref:s,className:i.root,children:[vn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:u,children:t}),vn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:yf(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function xf(s){var r=s,{as:t,children:e,onClick:o}=r,n=O(r,["as","children","onClick"]);let i=t||"button",a=v("Dropdown",lr),{setIsOpen:d}=Sf(),l=c=>{d(!1),o(c),c.stopPropagation()};return vn(i,x(f({type:"button",className:a.item,onClick:l},n),{children:e}))}Bl.Item=xf;var dr=Bl;import{jsx as Kl}from"react/jsx-runtime";var Ul=t=>Kl("svg",x(f({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:Kl("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 tt={};Z(tt,{enUS:()=>Cf,nlNL:()=>wf});var Cf={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"}]},wf={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 zl}from"react-redux";import{useDispatch as Tf}from"react-redux";import{jsx as cr}from"react/jsx-runtime";var Ef=({suggestion:t,source:e,context:o})=>{let n=P(tt),s=zl(De),r=Tf(),i=T("enableSuggestionFeedback"),a=`${t.text}`,d=zl(Rt(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:o})}`)),l=()=>{r(Y({name:"suggestion feedback",data:{text:t.text,source:e,context:o},options:{includeConversationData:!0}}))};return!i||!d?null:cr(dr,{trigger:cr(Ul,{"data-testid":"feedback-dropdown-trigger"}),children:cr(dr.Item,{as:"a",onClick:l,target:"_blank",href:d,children:n("giveFeedback")})})},Sn=Ef;import{jsx as oe,jsxs as mr}from"react/jsx-runtime";var Af=200,Lf=5,Mf=4,Wl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Nf=()=>{let t=If(),e=de(),o=P(co),[n,s]=ur(!1),[r,i]=ur(""),a=ot(Ji),d=ot(ge),[l,c]=ur(),u=ot(J),p=T("showSearch"),m=T("enableSuggestionFeedback"),y=T("showEntitiesCommand"),h=T("showSummaryCommand"),S=T("showKnowledgeSearch"),k=T("showImageSearch"),C=T("searchTriggerKey"),b=ot(Ta),I=ot(Yi),E=ot(ea),_=ot(Zi),A=R=>as(I.filter(j=>j.type===R.toUpperCase()),R),U=[{value:"PERSONAL",label:o("personalSuggestions"),list:A("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:A("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:A("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:A("IMAGE"),listOrientation:"horizontal",shouldShow:k}].filter(R=>R.shouldShow),G=[{label:o("entitiesClipboard"),onClick:()=>t(pe("entities")),shouldShow:y&&Wl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(pe("summary")),shouldShow:h&&Wl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(pe("knowledgeAssist")),shouldShow:S}].filter(R=>R.shouldShow),N=(b==null?void 0:b.map(R=>({value:R.code.toUpperCase(),label:`${R.name}s`,list:A(R.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],K=Vl(Rf((R,j)=>{t(Xe({query:R,type:j,tags:["search-overlay"],size:l?50:20}))},Af),[l]),le=Vl((R,j)=>{switch(j.type){case"IMAGE":e.send(Rs,{suggestion:j});break;default:e.send(Fe,{text:R,suggestion:j})}t(re(!1))},[t]),ee=R=>{Ee(R.text),t(Y({name:"entity copied",data:{entity:R,type:"copy"}})),t(re(!1))},Po=R=>{e.send(Fe,{text:R,suggestion:{source:"knowledge-assist",text:R}}),t(Y({name:"answer used",data:{originalText:R},options:{includeConversationData:!0}})),i(""),t(pe("search")),t(Lt()),t(re(!1))},_p=R=>{Ee(R),t(re(!1))};function as(R,j){return R.slice(0,l?10:j.toLowerCase()==="image"?Mf:Lf)}function qt(R){return j=>{n?window.confirm(o("warning"))&&(R(j),s(!1)):R(j)}}return pr(()=>{r?K(r,l):t(Qo())},[r,l]),pr(()=>{a==="search"&&t(Lt())},[a]),pr(()=>{u&&t(so())},[u]),Va(C,()=>t(re(!0))),!p||!d?null:mr(H,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:qt(R=>t(re(R))),onChangeType:R=>c(R),onChangePage:qt(R=>t(pe(R))),selectedType:l,search:r,page:a,isOpen:_,types:[...N,...U],children:[mr(H.Page,{id:"search",children:[r.length===0&&oe(Ol,{commands:G,onClick:le}),r.length>0&&mr(Pf,{children:[G.length>0&&oe(H.List,{heading:o("commands"),children:G.map((R,j)=>oe(H.ListItem,{closeOnSelect:!1,onClick:R.onClick,id:`commands-${j}`,children:R.label},R.label))}),[...N,...U].map(({value:R,label:j,list:oi,lineClamp:Fp,listOrientation:Hp})=>oe(H.List,{heading:j,orientation:Hp==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(R),hasMore:!l&&E[R.toLowerCase()]>as(oi,R).length,children:as(oi,R).map(ne=>oe(H.ListItem,{id:`${R}-${ne.id}`,closeOnSelect:!1,lineClamp:Fp,onClick:()=>le(ne.text,ne),description:R!=="IMAGE"?ne.title&&ne.text:void 0,extra:m&&oe(H.ListItemActions,{children:oe(Sn,{context:r,source:"search",suggestion:ne})}),children:R==="IMAGE"?oe(H.Image,{title:ne.title||ne.text,src:ne.image}):ne.title||ne.text},`${ne.id}-${ne.text}`))},R))]})]}),oe(H.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:qt(()=>{t(pe("search"))}),children:oe(ja,{onCopy:ee})}),oe(H.Page,{id:"summary",title:o("summaryTitle"),onDismiss:qt(()=>{t(pe("search"))}),children:oe(pl,{onCopy:_p})}),oe(H.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:qt(()=>{t(Lt()),t(pe("search"))}),children:oe(wl,{question:r,onUse:Po,onResetQuestion:()=>{t(Lt()),i("")}})})]})},ql=Nf;import{jsx as $l,jsxs as _f}from"react/jsx-runtime";var Df=()=>{let t=T("showSearch"),e=T("isEmbedded");return _f(Of,{children:[t&&$l(ql,{}),e&&$l(wa,{})]})},Gl=Df;import Kf from"classnames";import{useSelector as Uf}from"react-redux";import{jsx as gr}from"react/jsx-runtime";var jl=({className:t})=>gr("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:gr("g",{children:gr("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 Ql}from"react/jsx-runtime";var Ff={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Xl=({className:t,color:e})=>Ql("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ql("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:Ff[e||"pink"]})});var Zl={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var fr={};Z(fr,{enUS:()=>Hf,nlNL:()=>Bf});var Hf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},Bf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as zf}from"react-redux";import{jsx as hr,jsxs as Jl}from"react/jsx-runtime";var Yl=({onLogIn:t})=>{let e=P(fr),o=T("floatingMenu"),n=T("productName"),s=zf(),r=Uf(J),i=v("FloatingMenu",Zl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(re(!0)):t()};return Jl("button",{className:Kf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[hr("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),Jl("div",{className:i.icon,children:[hr(Xl,{className:i.logo,color:"pink"}),r===!1&&hr(jl,{className:i.lock})]})]})};import{useEffect as ah,useRef as lh}from"react";import{connect as dh,useDispatch as ch,useSelector as Tn}from"react-redux";import{useEffect as Vf}from"react";function nt(t){Vf(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function st(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function ve(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as Wf}from"@reduxjs/toolkit";var qf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},xn=({ui:t})=>t.overlayCollapsed,ed=Wf({name:"ui",initialState:qf,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputFocus(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:go,setInputFocus:bn,setOverlayCollapsed:Ke,setOpenOverlayWhenTyping:td,setOverlayCollapsedUserOverwrite:od}=ed.actions,nd=ed.reducer;import{Fragment as sh,useMemo as rh}from"react";import{Interweave as jf}from"interweave";import{useEffect as Qf,useMemo as Xf,useRef as Zf}from"react";import{useDispatch as Jf,useSelector as id}from"react-redux";import{useEffect as $f}from"react";function sd(t,e,o){$f(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var rd={root:"dd-1MBCO",actions:"dd--x4cy",badge:"dd-4Fpkz",formattedText:"dd-EzvTB"};import{jsx as Cn,jsxs as nh}from"react/jsx-runtime";var Yf=["search","personal-collection-search","search-autocomplete"];function eh(t,e,o,n={}){var r;let s="";return Yf.includes(e)?s=Pa(zs(t,o,{stripAgentPart:!0}),(r=n.searchKeywords)!=null?r:[o]):s=zs(t,o,n),n.placeholders===!0&&(s=Ia(s)),s}var th=()=>{},oh=({selected:t,suggestion:e})=>{let o=T("inlineSuggestions"),n=id(St),s=T("enableSuggestionFeedback"),r=id(c=>c.input.text),i=Jf(),a=v("TextSuggestion",rd),d=Zf(null);Qf(()=>{let c=setTimeout(()=>{i(Oi({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(c)}},[e]),sd(d,"click",()=>{i(ce({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Xf(()=>eh(e.text,e.source,n,{stripAgentPart:o,placeholders:!0,searchKeywords:e.searchKeywords}),[o,e.text,e.source,n,e.searchKeywords]);return e.source==="gpt"&&!o?null:nh("div",{className:a.root,children:[Cn(D,{ref:d,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:th,children:Cn(jf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),s&&Cn("div",{className:a.actions,children:Cn(Sn,{source:"overlay",context:r,suggestion:e})})]})},ad=oh;import{jsx as ld}from"react/jsx-runtime";var ih=({suggestions:t,selectedIndex:e,reverse:o})=>{let n=rh(()=>{let s=t.map((r,i)=>ld(ad,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return o?s.reverse():s},[t,e,o]);return ld(sh,{children:n})},wn=ih;var dd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{jsx as En}from"react/jsx-runtime";var ph=({textSuggestions:t,selectedIndex:e})=>{let o=lh(null),n=v("InlineSuggestionsOverlay",dd),s=Tn(ve),r=ch(),i=Tn(J),a=Tn(vt),d=Tn(xn),l=T("showTextSuggestions");return nt(()=>{setTimeout(()=>{r(Ke({collapse:!0,skipWhenInputFocus:!0}))})}),ah(()=>{let c=o.current;if(!c||!c.parentElement)return;c.parentElement.style.left="0px";let u=c.getBoundingClientRect();c.parentElement.style.left=`${Math.min(window.innerWidth-4-u.right,0)}px`}),d||!s||!l||t.length===0||i!==!0||a===!1?null:En("div",{className:n.root,"data-variant":"inline",children:En("div",{ref:o,className:n.paper,children:En(se,{children:En(wn,{suggestions:t,selectedIndex:e})})})})},uh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),cd=dh(uh)(ph);import{Provider as mh}from"react-redux";import{jsx as kn}from"react/jsx-runtime";var gh=({children:t})=>{let o=T("locale").replace("-","");return kn(Ds.Provider,{value:o,children:t})},fh=({store:t,customStyles:e={},children:o})=>kn(mh,{store:t,children:kn(gh,{children:kn($t.Provider,{value:e,children:o})})}),rt=fh;import br from"classnames";import{useEffect as Rh,useRef as Ph,useState as Ih}from"react";import{connect as Ah,useDispatch as Lh,useSelector as In}from"react-redux";import{useState as hh}from"react";function pd(t,e){let[o,n]=hh(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}var ud=()=>/Mac/i.test(navigator.platform);import Sh from"classnames";import{Fragment as xh,useCallback as vr,useMemo as gd}from"react";var yr={};Z(yr,{enUS:()=>yh,nlNL:()=>vh});var yh={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"}]}]},vh={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 md={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as Rn,jsxs as fd}from"react/jsx-runtime";var Sr=(t,e,o)=>n=>Rn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),bh=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=P(yr),i=de(),a=v("Login",md),d=T("productName"),l=vr(S=>{S.preventDefault(),n&&n(parseInt(S.target.value,10))},[]),c=vr(S=>{S.preventDefault(),i.send(bt,!0)},[e]),u=gd(()=>S=>Rn("a",{onClick:C=>{C.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:S},"login"),[e]),p=vr(S=>Rn("button",{type:"button",className:a.anchorButton,onClick:c,children:S},"prompt"),[c]),{min:m,hour:y,day:h}=gd(()=>({min:Sr(a,60*10,l),hour:Sr(a,60*60,l),day:Sr(a,60*60*12,l)}),[]);return fd("div",{className:Sh(t,a.root),children:[r("loginPlease",{login:o?p:u,productName:d}),n&&fd(xh,{children:[Rn("br",{}),r("snooze",{min:m,hour:y,day:h})]})]})},Pn=bh;import{useDispatch as Ch}from"react-redux";var hd={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as yd,jsxs as Th}from"react/jsx-runtime";var wh=({title:t})=>{let e=v("SearchTrigger",hd),o=Ch();return Th("button",{type:"button",className:e.root,onClick:()=>o(re(!0)),children:[yd(Ct,{}),yd("span",{className:e.text,children:t})]})},vd=wh;var xr={};Z(xr,{enUS:()=>Eh,nlNL:()=>kh});var Eh={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"}]},kh={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 Sd={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 $,jsxs as fo}from"react/jsx-runtime";var Mh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=v("SuggestionsOverlay",Sd),s=P(xr),r=In(ve),i=Ni(),a=Lh(),d=Ph(null),l=T("searchTriggerKey"),c=T("productName"),u=In(xn),p=In(J),m=In(vt),[y,h]=Ih(null),S=T("showSearch"),k=T("showTextSuggestions"),C=T("adminUrl"),b=T("isEmbedded"),[I,E]=pd("dd-snooze-until-ms",0),_=u||I>Date.now(),A=t.filter(N=>N.source!=="gpt").length,U=()=>{_&&E(0),a(od(!_))},G=N=>{let K=Date.now()+N*1e3;E(K),w.info(`Snooze until: ${new Date(K)}`),a(Ke({collapse:!0}))};return Rh(()=>{A===0&&h(null)},[t,A]),nt(()=>{a(Ke({collapse:!0,skipWhenInputFocus:!0}))}),p===null||m===!1?null:p===!1?fo("div",{ref:d,className:br(n.root,{[n.isCollapsed]:_}),children:[!_&&fo("div",{className:n.triggers,children:[$("div",{style:{flex:1}}),$("div",{className:n.triggersRight,children:$(gt,{className:n.toggleButton,title:s("collapse"),onClick:U,isCollapsed:!1})})]}),$("div",{className:n.toggleButtonWrapper,children:$(gt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:U,isCollapsed:!0})}),$("div",{className:n.collapsible,children:$(Pn,{loginUrl:C,isEmbedded:b,onLogIn:o,onSnooze:G})})]}):!i||!r?null:fo("div",{ref:d,className:br(n.root,{[n.isCollapsed]:_}),children:[!_&&fo("div",{className:n.triggers,children:[$("div",{style:{flex:1},children:S&&$("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>h(s(ud()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>h(null),children:$(vd,{title:s("search")})})}),fo("div",{className:n.triggersRight,onFocus:()=>{},children:[$("div",{className:br(!y&&n.hintsHidden,n.hints),children:y}),$(gt,{className:n.toggleButton,title:s("collapse"),onClick:U,isCollapsed:!1})]})]}),$("div",{className:n.toggleButtonWrapper,children:$(gt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:U,isCollapsed:!0})}),A>0&&k&&$("div",{className:n.collapsible,onFocus:()=>{},children:$(se,{children:$(wn,{suggestions:t,selectedIndex:e,reverse:!0})})})]})},Nh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),xd=Ah(Nh)(Mh);import Mr from"classnames";import{Interweave as Ay}from"interweave";import{useCallback as Ly,useEffect as My,useMemo as qd,useRef as Ny}from"react";import{connect as Oy}from"react-redux";import{useEffect as Oh,useRef as Dh,useState as _h}from"react";function An(t){return t.contentEditable==="true"}function Fh(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 bd(t){let{selectionStart:e,selectionEnd:o}=An(t)?Fh(t):t;return[e,o]}function Cd(t){let[,e]=_h(),o=Dh(null);return o.current=bd(t),Oh(()=>{let n=()=>{var a;let[s,r]=(a=o.current)!=null?a:[],i=bd(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 wd(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(Oo);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=n.indexOf(d,a);return s>l&&r<l+d.length?(o.selectionStart=l,o.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as Hh}from"react";var Bh=["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(Bh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Hh(n,{children:Cr(i,e,o+1)})]}return[...t,...e]}function Ue(t){return t.tagName.toLowerCase()==="textarea"}var Td={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 ry from"classnames";import{Matcher as iy}from"interweave";import{useEffect as ay,useMemo as ly}from"react";import{useEffect as Kh,useRef as Uh,useState as zh}from"react";function Ed(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Ln(t){let e=Uh(null),[o,n]=zh(!1);return Kh(()=>{var c;let s=!1,r=parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=Ed((u,p)=>{let m=e.current;if(!m)return;let y=u/r,h=p/r,S=m.getBoundingClientRect(),k=y>S.x&&y<S.x+S.width&&h>S.y&&h<S.y+S.height;k&&!s?(s=!0,n(!0)):!k&&s&&(s=!1,n(!1))},({clientX:u,clientY:p})=>[u,p]),[d,l]=Ed(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,o]}function kd(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Mn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Rd(t){return t!=null}import Md from"classnames";import{createRef as Jh,useCallback as Tr,useMemo as Yh,useRef as ey,useState as ty}from"react";import{useState as Vh,useLayoutEffect as Wh}from"react";var qh=["bottom","height","left","right","top","width"],$h=(t={},e={})=>qh.some(o=>t[o]!==e[o]),Re=new Map,Pd,Id=()=>{let t=[],e=[];Re.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();$h(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Re.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),Pd=window.requestAnimationFrame(Id)};function Gh(t,e){return{observe(){let o=Re.size===0;if(Re.has(t)){let n=Re.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Re.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Id()},unobserve(){let o=Re.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Re.delete(t),Re.size||cancelAnimationFrame(Pd)}}}}function wr(t){let[e,o]=Vh(null);return Wh(()=>{if(!t.current)return;let n=Gh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as jh,useLayoutEffect as Qh,useState as Xh}from"react";import{createPortal as Zh}from"react-dom";var Ad={root:"dd-r-dgo"};var Ld=({children:t,parentNode:e})=>{let[o,n]=Xh(null),s=jh($t);return Qh(()=>{let r=document.createElement("div");return st(r),r.classList.add(Ad.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?Zh(t,o):null};var Se={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 Er}from"react/jsx-runtime";var Nn=(t=!1)=>{let[e,o]=ty(t),n=Tr(()=>o(!0),[]),s=Tr(()=>o(!1),[]),r=Tr(()=>o(a=>!a),[]),i=ey(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function kr(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 Mt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:o=Jh(),position:n="above",align:s="center",children:r,toStyle:i=kr,parentNode:a}=c,d=O(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let u=wr(e),p=wr(o),m=Yh(()=>i(u,p,0),[u,p]);return Er(Ld,{parentNode:a,children:Er("div",x(f({className:Md(Se.ref,{[Se.positionAbove]:n==="above",[Se.positionBelow]:n==="below",[Se.positionLeft]:n==="left",[Se.positionRight]:n==="right",[Se.alignStart]:s==="start",[Se.alignCenter]:s==="center",[Se.alignEnd]:s==="end"}),style:m},d),{role:"dialog",children:Er("div",{className:Md(t,Se.root),children:r})}))})};import oy from"classnames";import{forwardRef as ny,useRef as sy}from"react";var Pe={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 Nd}from"react/jsx-runtime";var On=ny((s,n)=>{var r=s,{className:t,children:e}=r,o=O(r,["className","children"]);let i=sy(null),a=v("TabCompletion",Pe);return Nd("div",x(f({ref:Mn([i,n]),className:oy(t,a.popoverContentContainer)},o),{children:Nd("div",{className:a.popoverContent,children:e})}))});import{jsx as ho,jsxs as py}from"react/jsx-runtime";var dy=t=>e=>{let o=kr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},cy=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=v("TabCompletion",Pe),i=Nn(),a=ly(()=>dy(t.getBoundingClientRect()),[t]),[d,l]=Ln(t);return ay(()=>{l?i.open():i.close()},[l]),py("span",{children:[ho("mark",{ref:Mn([d,i.triggerRef]),className:ry(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&ho(Mt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:ho(On,{style:o,children:ho("div",{className:r.hintText,children:s})})})]})},Dn=class extends iy{constructor(){super(...arguments);this.keywordMatches=[];this.preparedKeywordMatches=[];this.usedKeywordMatches=new Set}onBeforeParse(o,n){return n.keywordMatches&&n.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=n.keywordMatches.map(s=>x(f({},s),{keywordRegex:new RegExp(`\\b${kd(s.keyword)}\\b`,"i")})),this.keywordMatches=n.keywordMatches),this.usedKeywordMatches.clear(),o}match(o){let n=this.preparedKeywordMatches.map(r=>{if(this.usedKeywordMatches.has(r))return null;let i=o.match(r.keywordRegex);if(!i)return null;let a=o.charAt(i.index-1),d=o.charAt(i.index+r.keyword.length);return a==="{"&&d==="}"?null:{index:i.index,length:i[0].length,match:i[0],matchString:i[0],suggestion:r.suggestion,preparedKeywordMatch:r,valid:!0}}).filter(Rd);if(n.length===0)return null;let s=n.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(o,n){return ho(cy,{inputElement:n.inputElement,suggestion:n.suggestion,inputStyle:n.inputStyle,boundaryRef:n.boundaryRef,children:o},`keyword_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import{Matcher as uy}from"interweave";import my from"classnames";import{jsx as Od}from"react/jsx-runtime";var gy=({inputElement:t,children:e})=>{let o=v("TabCompletion",Pe),[n,s]=Ln(t);return Od("mark",{ref:n,className:my(o.matchPlaceholder,{[o.hover]:s}),children:e})},_n=class extends uy{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 Od(gy,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import Lr from"classnames";import{Matcher as wy}from"interweave";import{createRef as Ty,forwardRef as Ey,useCallback as ky,useEffect as zd,useRef as Vd,useState as Wd}from"react";import{useDispatch as Ry}from"react-redux";import{jsx as Dd}from"react/jsx-runtime";var _d=()=>Dd("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Dd("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 fy,useEffect as Hd,useState as Bd}from"react";import{useDispatch as hy,useSelector as Kd}from"react-redux";import yy from"lodash.debounce";var Fd={root:"dd-ky-Bv",content:"dd-kV5e1"};function Fn(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(r){return null}}function Rr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as it,jsxs as Pr}from"react/jsx-runtime";var vy=3,Sy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),xy=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=vy})=>{let r=v("LinkSearch",Fd),[i,a]=Bd(""),d=hy(),l=Kd(Il("url")),c=Kd(ta("URL",Sy)),[u,p]=Bd(c.length-1),m=T("fallbackImage"),y=C=>{let b=C.target;a(b.value)},h=(C,b)=>{C.stopPropagation(),C.preventDefault(),window.open(b,"_blank")},S=C=>{var E;let b=u-1<0?c.length-1:u-1,I=u+1===c.length?0:u+1;C.code==="Escape"&&(a(""),e()),C.code==="ArrowUp"&&p(b),C.code==="ArrowDown"&&p(I),C.code==="Enter"&&t(((E=c[u])==null?void 0:E.text)||i)},k=fy(yy(C=>{d(Xe({query:C,type:"URL",tags:["link-search"]}))},300),[]);return Hd(()=>{i&&k(i)},[i]),Hd(()=>()=>{d(Qo())},[]),Pr("div",{className:r.root,children:[it(se,{withDivider:!0,children:(i?c:l).slice(0,s).map((C,b)=>it(D,{selected:u===b,onClick:()=>t(C.text),"data-testid":"linksearch-suggestion",children:Pr(B,{children:[it(B.Image,{src:Fn(C,"small",m||void 0),title:C.title||C.text}),Pr(B.Content,{className:r.content,cropText:!0,children:[it(B.Title,{children:C.title||Rr(C.text)}),C.title&&Rr(C.text)]}),it(D.Actions,{children:it(D.ActionButton,{label:n,onClick:I=>h(I,C.text)})})]})},C.text))}),it(no,{value:i,onChange:y,autoFocus:!0,placeholder:o,onKeyUp:S})]})},Ud=xy;var Ir={};Z(Ir,{enUS:()=>by,nlNL:()=>Cy});var by={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Cy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as xe,jsxs as Ar}from"react/jsx-runtime";var Py=Ey((t,e)=>{let o=v("TabCompletion",Pe);return xe("mark",{ref:e,className:Lr(o.matchSelection)},"selection-start")}),Iy=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=P(Ir),i=v("TabCompletion",Pe),a=Vd(null),d=Vd(null),[l,c]=Wd(null),u=Ry(),p=Nn(document.activeElement===n),[m]=Wd(()=>document.createRange());p.triggerRef.current=m,zd(()=>()=>m.detach(),[]),zd(()=>{let h=t.current,S=a.current;!h||!S||(m.setStart(h,0),m.setEnd(S,0))},[t.current,a.current]),nt(()=>{p.close()});let y=ky(h=>{let S=m.toString(),k=/^http(s?):\/\//.test(h)?h:`https://${h}`;u(Vo({text:`[${S}](${k})`,replace:"selection"}))},[]);return Ar("span",{children:[xe("mark",{ref:a,className:Lr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":p.opened?"true":"false",children:s}),p.opened&&xe(Mt,{className:i.popoverRoot,triggerRef:p.triggerRef,boundaryRef:e,position:"above",align:"start",children:Ar(On,{style:o,ref:d,children:[xe("div",{className:Lr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:Ar("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>c("insertLink"),children:[xe(_d,{}),xe("span",{children:"\xA0"}),xe("span",{children:r("insertLink")})]})}),l==="insertLink"&&xe(Ud,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:y,onDismiss:()=>{c(null),p.close()}})]})})]},"selection-end")},Hn=class extends wy{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(o,n){return this.props=n,this.charCount=0,this.startRef=Ty(),this.foundIndex=0,o}match(o){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[n,s]=this.props.selection;if(n===s)return null;let r=this.foundIndex===0?n:s,i=r>=this.charCount&&r<=this.charCount+o.length?{index:r-this.charCount,length:0,match:"",valid:!0}:null;i&&this.foundIndex++;let a=this.foundIndex===1;return i&&a?this.charCount+=r-this.charCount:this.charCount+=o.length,i?f({isStart:a},i):null}replaceWith(o,n){return n.isStart?xe(Py,{ref:this.startRef}):xe(Iy,{inputElement:n.inputElement,startRef:this.startRef,boundaryRef:n.boundaryRef,inputStyle:n.inputStyle})}asTag(){return"mark"}};import{useSelector as Dy}from"react-redux";import{jsx as Nt,jsxs as Hy}from"react/jsx-runtime";var _y=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=v("TabCompletion",Td),c=T("insertLink"),u=T("showMidSentenceSuggestions"),p=T("inlineSuggestions"),m=Cd(a),y=Ny(null),h=Dy(J);My(()=>{Ue(a)&&m&&wd(a,m)},[m]);let S=Ly(b=>{if(!s||!o)return b;let I=[Nt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Nt("span",{"data-testid":"tab-completion",className:Mr(l.tabText,l.resetIndent),"data-source":d,children:o},"tabText")];return n&&I.push(Nt("span",{className:Mr(l.hint,l.resetIndent),children:Nt(cs,{keyCode:"tab"},"tabHint")})),Cr(b,I)},[s,o,n]),k=qd(()=>{let b=[];return c&&b.push(new Hn("selection")),b.push(new _n("placeholders")),r&&b.push(new Dn("keywords")),b},[p,c,r]),C=qd(()=>{let b=window.getComputedStyle(a);return{"--dd-color":b.color,"--dd-font-size":b.fontSize,"--dd-font-family":b.fontFamily,"--dd-font-variant":b.fontVariant}},[]);return!t||!h?null:Hy("div",{ref:b=>{b!=null&&b.parentElement&&(y.current=b==null?void 0:b.parentElement)},className:l.root,style:C,children:[Nt(Ay,{tagName:"span",containerTagName:"div",className:Mr(l.container,l.agentText),disableLineBreaks:Ue(a),content:e||"\u200B",onAfterParse:S,matchers:k,selection:m,keywordMatches:i,inputElement:a,inputStyle:C,boundaryRef:y,inlineSuggestionsOnlyAtEnd:!u}),Nt("br",{})]})},Fy=t=>{var S,k,C;let{input:e,ui:o,settings:n,styleSuggestions:s,conversation:r}=t,i=xt({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(S=e.html)!=null?S:io(e.text),c=a.indexOf(e.text)===0?a.slice(e.text.length):"",{showTabHint:u}=o,{isSupported:p}=r,{showTabCompletion:m,visible:y,showStyleSuggestions:h}=n;return{showTabHint:u,showStyleSuggestions:h,showTabCompletion:m&&ve(t),content:l,tabText:c,source:d,keywordMatches:(C=(k=s.list)==null?void 0:k.keywordMatches)!=null?C:[],enabled:y&&p!==!1}},$d=Oy(Fy)(_y);import Vv from"classnames";import{Fragment as Wv,useEffect as Ur}from"react";import{useDispatch as Gn,useSelector as V}from"react-redux";import{createAsyncThunk as yo,createSlice as By}from"@reduxjs/toolkit";var Gd={list:[],fetchState:"idle"},Qd=t=>t.autoflows.list||[],jd=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Ie=yo("autoflows/getAll",(t,e)=>g(void 0,null,function*(){let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)})),Nr=yo("autoflows/start",(t,e)=>g(void 0,null,function*(){let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");yield n.startAutoflowSession(t),yield o(Ie(t.platformSessionId))})),Or=yo("autoflows/stop",(t,e)=>g(void 0,null,function*(){let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");yield n.stopAutoflowSession(t.platformSessionId),yield o(Ie(t.platformSessionId))})),Ky=By({name:"autoflows",initialState:Gd,reducers:{},extraReducers:t=>{t.addCase(Nr.pending,(e,o)=>{let n=jd(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Or.pending,(e,o)=>{let n=jd(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Ie.pending,e=>{e.fetchState="loading"}),t.addCase(Ie.rejected,e=>{e.fetchState="error"}),t.addCase(Ie.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(F,()=>Gd)}}),Xd=yo("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(Ie(t))}),s.on("sessionCompleted",()=>{o(Ie(t))})}),Zd=yo("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Jd=Ky.reducer;import{createAsyncThunk as So,createSlice as Uy}from"@reduxjs/toolkit";var Yd={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},ec=t=>t.customMessages.list,tc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),oc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),nc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),vo=So("customMessages/getAll",(t,e)=>g(void 0,null,function*(){let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)})),Bn=So("customMessages/send",(t,e)=>g(void 0,null,function*(){let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");yield s.sendCustomMessage(o,n)})),Kn=So("customMessages/answer",(t,e)=>g(void 0,null,function*(){let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");yield s.answerCustomMessage(o,n)})),sc=Uy({name:"customMessages",initialState:Yd,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(vo.pending,e=>{e.fetchState="loading"}).addCase(vo.rejected,e=>{e.fetchState="error"}).addCase(vo.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Bn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Bn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Kn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Kn.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(F,()=>Yd)}}),rc=So("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(sc.actions.onCustomMessage(r))})}),ic=So("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),ac=sc.reducer;import{createAsyncThunk as lc,createSlice as zy}from"@reduxjs/toolkit";var Vy={token:null,interval:null},Dr=lc("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra;return{token:yield o.requestPasswordlessToken()}})),_r=lc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(Dr()),setInterval(()=>n(Dr()),o)}),dc=zy({name:"passwordlessToken",initialState:Vy,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(Dr.fulfilled,(e,o)=>{e.token=o.payload.token}),t.addCase(_r.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:cc}=dc.actions,pc=dc.reducer;import{createAction as Wy,createAsyncThunk as qy,createSlice as $y}from"@reduxjs/toolkit";var uc={excludeFromWidget:!1},Fr={cues:[],fetchState:"idle"},mc=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Gy=Wy("rules/resetCues"),at=qy("rules/evaluate",(t,e)=>g(void 0,null,function*(){var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),{platformVariables:i}=r.info,a=(o=r.conversation.current)==null?void 0:o.id;if(!a)throw new Error("No current conversation to evaluate rules");if(!(yield s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(yield s.getRules()).filter(p=>p.isEnabled).some(p=>p.label===t.label))throw new Error(`No enabled rules found with label: ${t.label}`);let u=yield s.evaluateRule(t.label,a,f({tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0},t.params));return i&&(u=u.map(p=>x(f({},p),{title:Q(p.title,i),text:Q(p.text,i)}))),{cues:u,options:t.options}}catch(s){let r=s.message;return w.warn(r),e.rejectWithValue(r)}})),gc=$y({name:"answer",initialState:Fr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(at.pending,e=>{e.fetchState="loading"}).addCase(at.rejected,e=>{e.fetchState="error"}).addCase(at.fulfilled,(e,o)=>{var r;if((r=o.payload.options)!=null&&r.excludeFromWidget){e.fetchState="done";return}let n=o.payload.cues.map(i=>i.rule.id),s=e.cues.filter(i=>!n.includes(i.rule.id));e.fetchState="done",e.cues=[...o.payload.cues,...s]}).addCase(F,()=>Fr).addCase(Gy.toString(),()=>Fr)}}),{removeCue:fc}=gc.actions,hc=gc.reducer;function jy(t){let e=0;for(let o=0;o<t.length;o++)e=(e<<5)-e+t.charCodeAt(o),e|=0;return e}var yc=t=>{let e=mc(t),n=Za(t).map(s=>({text:s.response,title:s.name,callToAction:s.callToAction,rule:{id:jy(s.code),label:s.code,name:s.name,description:s.name}}));return[...e,...n]};import{Fragment as sv}from"react";import{connect as rv}from"react-redux";import tv from"classnames";import{Fragment as ov}from"react";import Qy from"classnames";var vc={root:"dd-uszkm"};import{jsx as Zy}from"react/jsx-runtime";var Xy=({className:t,children:e})=>{let o=v("Unicode",vc);return Zy("span",{className:Qy(t,o.root),children:e})},Sc=Xy;var xc={isDisabled:"dd-Sp--t",root:"dd-maqTG",buttonStop:"dd-rcq8w",stateBadge:"dd-zOnkT",isCompleted:"dd-GA-rt",isStarted:"dd-PZwtX",isAborted:"dd-PAXSE"};var Hr={};Z(Hr,{enUS:()=>Jy,nlNL:()=>Yy});var Jy={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]},Yy={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 lt,jsxs as Un}from"react/jsx-runtime";var nv=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=v("Autoflow",xc),a=P(Hr),d=e==="Started"?"stop":"start",l=d==="start"?"\u25B6":d==="stop"?"\u25FC":"";return Un(D,{className:tv(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[lt(B,{children:Un(B.Content,{children:[Un(B.Title,{children:[e&<("span",{className:i.stateBadge,children:a(e)}),o]}),lt("span",{children:n})]})}),lt(D.Actions,{fixed:e==="Started",children:lt(D.ActionButton,{primary:!0,className:d==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Un(ov,{children:[lt(Sc,{children:l})," ",lt("span",{children:a(d)})]})})})]})},bc=nv;import{jsx as Cc}from"react/jsx-runtime";var iv=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},av=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Cc(sv,{children:t.map(s=>Cc(bc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||iv(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),lv=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},dv={onStartAutoflow:Nr,onStopAutoflow:Or},wc=rv(lv,dv)(av);import cv from"classnames";import{useCallback as Tc}from"react";import{useDispatch as pv,useSelector as zn}from"react-redux";var Ae={root:"dd-ERsBr",title:"dd-b36p6",isUsed:"dd-fp2IX",quickReplies:"dd--VrvP",quickReply:"dd-wFhWh",label:"dd-R9sND",errorIcon:"dd-8cdcH"};import{jsx as ze,jsxs as Vn}from"react/jsx-runtime";var uv=({suggestion:t})=>{let e=P(tt),o=pv(),n=zn(tc(t.text)),s=zn(oc(t.text)),r=zn(nc(t.text)),i=zn(yt),{replyOptions:a}=t,d=Tc(c=>{c.preventDefault(),c.stopPropagation(),!(n||!i)&&o(Bn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=Tc(c=>{if(c.preventDefault(),c.stopPropagation(),!i||!a)return;let u=parseInt(c.target.dataset.index,10),p=a[u];o(Kn({platformSessionId:i,reply:p,suggestion:t}))},[t,n,o,i]);return Vn(D,{onClick:d,className:cv(Ae.root,{[Ae.isUsed]:n,[Ae.hasError]:r}),children:[ze(B,{children:Vn(B.Content,{children:[Vn(B.Title,{className:Ae.title,children:[t.text," ",ze(ps,{className:Ae.label,children:"analyse tool"})," ",r&&ze("span",{className:Ae.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&ze("ul",{className:Ae.quickReplies,children:a.map(c=>ze("li",{className:Ae.quickReply,children:c.title},c.title))})]})}),Vn(D.Actions,{fixed:r||n,children:[a&&a.length>0&&ze(D.DropdownButton,{label:e("answer"),disabled:s,children:a.map((c,u)=>ze(D.DropdownItem,{index:u,label:c.title,onClick:l},c.title))}),ze(D.ActionButton,{primary:!0,disabled:n,onClick:d,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Ec=uv;import{useEffect as mv,useState as gv}from"react";import{useDispatch as fv}from"react-redux";import Pc from"classnames";import{jsx as kc}from"react/jsx-runtime";var xo=()=>kc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:kc("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 Rc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as Ot,jsxs as Ic}from"react/jsx-runtime";var hv=({entities:t})=>{let e=v("EntitiesWidgetList",Rc),[o,n]=gv(void 0),s=fv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Ee(a.text),s(Y({name:"entity copied",data:{entity:a,type:"copy"}})))};return mv(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Ot("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Ic("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Ot("span",{className:e.entityText,children:a.text}),Ic("span",{className:e.iconWrapper,children:[Ot("span",{className:Pc(e.icon),children:Ot(xo,{})}),Ot("span",{className:Pc(e.icon,o===d&&e.iconClicked),children:Ot(xo,{})})]})]},a.text))})},Ac=hv;import{jsx as Lc}from"react/jsx-runtime";var Mc=()=>Lc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Lc("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 Nc}from"react/jsx-runtime";var Oc=()=>Nc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Nc("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 Dc}from"react/jsx-runtime";var _c=()=>Dc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Dc("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 Av}from"react-redux";import{useEffect as Pv}from"react";import yv from"dompurify";import{Fragment as Hc,useMemo as vv,useRef as Sv,useState as xv}from"react";import bv from"snarkdown";var Fc={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 bo,jsxs as Wn}from"react/jsx-runtime";function Cv(t){return`<button type="button" data-copy-icon 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 Br(t){var o;let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(n=>n.remove()),(o=e.textContent)!=null?o:""}function wv(t){return t.replace(/\r\n/g,`
|
|
8
|
-
`)}function Tv(t){return t.replace(new RegExp("(?<!\\]\\()(https?:\\/\\/[^\\s]+)","g"),"[$1]($1)")}var Ev=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=v("Markdown",Fc),i=Sv(null),[a,d]=xv(null),l=vv(()=>{let h=bv(Tv(wv(t)));return yv.sanitize(h).replaceAll("</code>",`${Cv(r.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),c=h=>{var C;let S=h.target,k=!!((C=i.current)!=null&&C.querySelector("code"));if(["A","BUTTON"].includes(S.tagName)){d(null);return}a||k&&S.tagName!=="CODE"||!k&&S!==i.current||(S.addEventListener("mouseleave",()=>d(null),{once:!0}),d(S))},u=()=>{if(!a)return;d(null);let h=a.querySelector("button");h&&(Et(h,r.fadeup),n(Br(a)))},p=h=>{let S=h.target;if(S.tagName==="A"){h.stopPropagation();return}"copyIcon"in S.dataset&&(Et(S,r.fadeup),n(Br(S.parentElement)))},m=()=>{!a||!s||(d(null),s(Br(a)))},y=h=>{if(h===null)return;let S=h.getBoundingClientRect();S.left<0?h.style.transform=`translateX(${-S.left+2}px)`:S.right>window.innerWidth&&(h.style.transform=`translateX(${window.innerWidth-S.right-2}px)`)};return Wn(Hc,{children:[a&&Wn(Mt,{triggerRef:{current:a},className:r.popover,parentNode:a,children:[Wn("div",{className:r.options,ref:y,children:[bo("button",{type:"button",className:r.option,onClick:u,children:o}),s&&Wn(Hc,{children:[bo("div",{className:r.divider}),bo("button",{type:"button",className:r.option,onClick:m,children:e})]})]}),bo("div",{className:r.arrow})]}),bo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:p})]})},Bc=Ev;var Kr={};Z(Kr,{enUS:()=>kv,nlNL:()=>Rv});var kv={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"}]},Rv={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 Kc={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l"};import{jsx as Dt,jsxs as qn}from"react/jsx-runtime";var Iv=({cue:t,onCallToAction:e,onRemove:o,onCopy:n,onUse:s})=>{let r=v("WidgetCue",Kc),i=P(Kr),a=kt(),d=T("hasKeyboardInput"),l=()=>{e&&e(t),o(t)},c=m=>{n&&n(m,t)},u=m=>{s&&s(m,t)},p=m=>{m.preventDefault(),m.stopPropagation(),o(t)};return Pv(()=>{a("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label,cueText:t.text})},[]),qn(D,{"data-testid":"cue",children:[Dt(B,{children:qn(B.Content,{children:[t.title&&Dt(B.Title,{className:r.title,"data-testid":"widget-cue-title",children:t.title}),Dt(Bc,{content:t.text,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:c,onUse:d?u:void 0})]})}),qn(D.ButtonsContainer,{children:[qn("div",{className:r.actions,children:[t.callToAction&&Dt(D.Button,{onClick:l,children:t.callToAction.label}),Dt(D.Button,{onClick:p,children:i("removeCue")})]}),Dt(It,{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"})]})]})},Uc=Iv;import{Fragment as Mv,jsx as zc}from"react/jsx-runtime";var Lv=({cues:t})=>{let e=Av(),o=de(),n=kt(),s=d=>{e(fc({id:d.rule.id})),e(Ya({code:d.rule.label})),n("Assistant response closed",{name:d.rule.name,group:d.rule.label,description:d.rule.description,cueText:d.text})},r=(d,l)=>{Ee(d),n("Assistant response copied",{name:l.rule.name,group:l.rule.label,description:l.rule.description,copiedText:d})},i=d=>{d.callToAction&&(e(mn(d)),n("Assistant call to action",{name:d.rule.name,group:d.rule.label,description:d.rule.description,eventName:d.callToAction.event,value:d.callToAction.value}))},a=(d,l)=>{o.send(Fe,{text:d,suggestion:{source:"cue",sourceText:d}}),n("Assistant response used",{name:l.rule.name,group:l.rule.label,description:l.rule.description,usedText:d})};return zc(Mv,{children:t.map(d=>zc(Uc,{cue:d,onCallToAction:i,onRemove:s,onCopy:r,onUse:a},d.rule.id))})},Vc=Lv;import{Fragment as Nv,useEffect as Ov}from"react";var Wc={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",copyButtonText:"dd-oos-l",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as dt,jsxs as qc}from"react/jsx-runtime";function Dv(t,e){return e.split(".").reduce((o,n)=>!o||typeof o!="object"||!(n in o)?null:o[n],t)}var $c=({data:t,schema:e})=>{let o=v("WidgetCustomData",Wc),n=s=>{Ee(s)};return Ov(()=>{w.info("Custom data",t,e)},[t]),dt("dl",{className:o.root,children:e.map(s=>{let r=Dv(t,s.path);return qc(Nv,{children:[dt("dt",{className:o.label,children:s.label}),dt("dd",{className:o.value,children:s.type==="boolean"&&r?dt("span",{className:o.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?dt("span",{className:o.isFalse,children:s.falseValue}):r?qc("button",{type:"button",onClick:()=>n(r),className:o.copyButton,children:[dt("span",{className:o.copyButtonText,children:r}),dt(xo,{})]}):"-"})]},s.label)})})};import{useCallback as Fv}from"react";var _v=/(https?:\/\/[^\s]+)/,Gc=t=>t.split(" ").find(e=>_v.test(e));import{jsx as _t,jsxs as $n}from"react/jsx-runtime";var Hv=({suggestion:t,lines:e,onUse:o})=>{var u;let n=t.text||t.url||t.message,s=Gc(n),r=P(tt),i=T("showImages"),a=T("fallbackImage"),d=T("hasKeyboardInput"),l=p=>{p.preventDefault(),p.stopPropagation(),d&&o(n)},c=Fv(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return $n(D,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[$n(B,{children:[i&&t.image&&_t(B.Image,{src:Fn(t,"small",a||void 0),title:t.title}),$n(B.Content,{children:[t.title&&_t(B.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((u=t.searchKeywords)==null?void 0:u.length)>0&&_t(D.Labels,{labels:t.searchKeywords}),_t(B.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),$n(D.Actions,{children:[s&&_t(D.ActionButton,{onClick:c,label:r("visitUrl")}),d&&_t(D.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},jc=Hv;import{Fragment as Kv,jsx as Qc}from"react/jsx-runtime";var Bv=({lines:t,suggestions:e})=>{let o=de(),n=(s,r)=>{o.send(Fe,{text:s,suggestion:x(f({},r),{source:r.source,sourceText:r.text})})};return Qc(Kv,{children:e.map(s=>Qc(jc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Xc=Bv;var Co={};Z(Co,{enUS:()=>Uv,nlNL:()=>zv});var Uv={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"}]},zv={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 wo={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",sectionList:"dd-bF9pF",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",link:"dd-DRo0x"};import{jsx as L,jsxs as Ft}from"react/jsx-runtime";var jn=(t,e)=>{let o=V(J);Ur(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},qv=({onLogIn:t})=>{let e=v("Widget",wo),o=T("isEmbedded"),n=T("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(Pn,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Zc=({text:t})=>{let e=v("Widget",wo);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},$v=()=>{let t=P(Co),e=Gn(),o=v("Widget",wo),n=T("showSearch"),s=T("showSummaryCommand"),r=T("showKnowledgeSearch"),i=V(Rt("/admin/")),a=de(),d=T("productName"),l=T("hasKeyboardInput"),c=n||s||r||i;return jn(()=>(e(_r()),()=>{e(cc())}),[e]),!c||!l?null:L(we,{title:t("actions"),type:"shortcuts",children:Ft("div",{className:o.shortcutList,children:[n&&Ft("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search","aria-label":t("linkSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0}),children:[L(Ct,{}),t("linkSearch")]}),s&&Ft("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary","aria-label":t("linkSummary"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[L(_c,{}),t("linkSummary")]}),r&&Ft("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist","aria-label":t("linkKnowledgeSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[L(Oc,{}),t("linkKnowledgeSearch")]}),i&&Ft("a",{className:o.shortcut,target:"_blank",href:i,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:d}),rel:"noreferrer",children:[L(Mc,{}),t("linkStudioLogin",{productName:d})]})]})})},Gv=()=>{let t=Gn(),e=T("showCustomMessages"),o=V(ec),n=V(yt);return jn(()=>(t(vo(n)),t(rc(n)),()=>{t(ic(n))}),[t,e,n]),!e||o.length===0?null:L(we,{type:"custom-messages","data-testid":"custom-messages",children:L(se,{withDivider:!0,children:o.map(s=>L(Ec,{suggestion:s},s.text))})})},jv=()=>{let t=P(Co),e=Gn(),o=T("showAutoflows"),n=V(Qd),s=V(yt);return jn(()=>(e(Ie(s)),e(Xd(s)),()=>{e(Zd(s))}),[e,o,s]),!o||n.length===0?null:L(we,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:L(se,{withDivider:!0,children:L(wc,{})})})},Qv=()=>{let t=Gn(),e=V(gn),o=V(ll),n=V(yc),s=V(qi),r=V(un),i=V(fn),a=V(ge),d=V(De);return Ur(()=>{!!s&&!o&&w.warn("Custom data provided, but no schema.")},[s,o]),jn(()=>{e.forEach(({type:l})=>{l==="entities"?t(me()):Do.includes(l)||t(he(l))})},[t,d,a]),Ur(()=>{n.length>0&&!e.some(l=>l.type==="cues")&&w.warn("Received cues, but cues are not configured in widget.")},[e,n]),L(Wv,{children:e.map(({type:l,title:c,amount:u,lines:p,schema:m})=>{var y,h;switch(l){case"entities":return r&&r.length>0&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(Ac,{entities:r})},l);case"cues":return n&&n.length>0&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Vc,{cues:n})})},l);case"custom-data":return s&&m&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L($c,{data:s,schema:m})})},l);default:return((h=(y=i[l])==null?void 0:y.suggestions)==null?void 0:h.length)>0&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Xc,{lines:p,contentType:l,suggestions:i[l].suggestions.slice(0,u)||[]})})},l)}})})},Xv=({onLogIn:t})=>{let e=P(Co),o=v("Widget",wo),n=V(vt),s=V(J),r=V(yt),i=V(ge);return n===!1?L(Zc,{text:e("notSupported")}):s===!1?L(qv,{onLogIn:t}):!i||!r||s===null?L(Zc,{text:e("waiting")}):L("div",{className:Vv(o.root),"data-testid":"widget",children:Ft(ms,{className:o.sectionList,children:[L($v,{}),L(Gv,{}),L(jv,{}),L(Qv,{})]})})},Jc=Xv;function Eo(t){let e=new Range;return e.selectNodeContents(t),e}function Yc(t,e,o){try{return ct(t,e,o),!0}catch(n){return!1}}function Qn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Xn(t){return"tagName"in t&&t.tagName==="BR"}var To=/[\u200B-\u200D\uFEFF]/g;function ct(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(d,l){let c=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(d))return l;for(let p=0;p<=d.length;p++)if(u.test(d[p])||c++,c===l)return p;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(To,""),u=s+c.length,p=e>=s&&e<=u,m=o>=s&&o<=u;if(p){let y=i(l,e-s);y===0&&!m?n.setStartBefore(d):n.setStart(d,y)}m&&(n.setEnd(d,i(l,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Xn(d)&&(s===e&&n.setStartBefore(d),s++,s===o)){n.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;Qn(d)&&l&&!Qn(l)&&!Xn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Zn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(u){let p=u===t,m=u===o,y=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let h=u.textContent;m&&(a=l+h.substring(0,n).replace(To,"").length),y&&(d=l+h.substring(0,r).replace(To,"").length),l+=h.replace(To,"").length;break}case Node.ELEMENT_NODE:{if(Xn(u)&&u.nextSibling){l++;break}!p&&Qn(u)&&u.previousSibling&&l++;for(let h=0;h<u.childNodes.length;h++){let S=m&&h===n,k=y&&h===r;if(S&&(a=l),k&&(d=l),d!==void 0||((!S||!i)&&c(u.childNodes[h]),y&&h===r-1&&(d=l),d!==void 0))break}y&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function Jn(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=0,d="";function l(c){let u=c===t,p=c===o,m=c===s;switch(p&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let y=p?n:0,h=m?r:void 0;d+=c.textContent.replace(To,"").substring(y,h);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Xn(c)&&c.nextSibling){d+=`
|
|
8
|
+
`)}function Tv(t){return t.replace(new RegExp("(?<!\\]\\()(https?:\\/\\/[^\\s]+)","g"),"[$1]($1)")}var Ev=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=v("Markdown",Fc),i=Sv(null),[a,d]=xv(null),l=vv(()=>{let h=bv(Tv(wv(t)));return yv.sanitize(h).replaceAll("</code>",`${Cv(r.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),c=h=>{var C;let S=h.target,k=!!((C=i.current)!=null&&C.querySelector("code"));if(["A","BUTTON"].includes(S.tagName)){d(null);return}a||k&&S.tagName!=="CODE"||!k&&S!==i.current||(S.addEventListener("mouseleave",()=>d(null),{once:!0}),d(S))},u=()=>{if(!a)return;d(null);let h=a.querySelector("button");h&&(Et(h,r.fadeup),n(Br(a)))},p=h=>{let S=h.target;if(S.tagName==="A"){h.stopPropagation();return}"copyIcon"in S.dataset&&(Et(S,r.fadeup),n(Br(S.parentElement)))},m=()=>{!a||!s||(d(null),s(Br(a)))},y=h=>{if(h===null)return;let S=h.getBoundingClientRect();S.left<0?h.style.transform=`translateX(${-S.left+2}px)`:S.right>window.innerWidth&&(h.style.transform=`translateX(${window.innerWidth-S.right-2}px)`)};return Wn(Hc,{children:[a&&Wn(Mt,{triggerRef:{current:a},className:r.popover,parentNode:a,children:[Wn("div",{className:r.options,ref:y,children:[bo("button",{type:"button",className:r.option,onClick:u,children:o}),s&&Wn(Hc,{children:[bo("div",{className:r.divider}),bo("button",{type:"button",className:r.option,onClick:m,children:e})]})]}),bo("div",{className:r.arrow})]}),bo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:p})]})},Bc=Ev;var Kr={};Z(Kr,{enUS:()=>kv,nlNL:()=>Rv});var kv={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"}]},Rv={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 Kc={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l"};import{jsx as Dt,jsxs as qn}from"react/jsx-runtime";var Iv=({cue:t,onCallToAction:e,onRemove:o,onCopy:n,onUse:s})=>{let r=v("WidgetCue",Kc),i=P(Kr),a=kt(),d=T("hasKeyboardInput"),l=()=>{e&&e(t),o(t)},c=m=>{n&&n(m,t)},u=m=>{s&&s(m,t)},p=m=>{m.preventDefault(),m.stopPropagation(),o(t)};return Pv(()=>{a("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label,cueText:t.text})},[]),qn(D,{"data-testid":"cue",children:[Dt(B,{children:qn(B.Content,{children:[t.title&&Dt(B.Title,{className:r.title,"data-testid":"widget-cue-title",children:t.title}),Dt(Bc,{content:t.text,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:c,onUse:d?u:void 0})]})}),qn(D.ButtonsContainer,{children:[qn("div",{className:r.actions,children:[t.callToAction&&Dt(D.Button,{onClick:l,children:t.callToAction.label}),Dt(D.Button,{onClick:p,children:i("removeCue")})]}),Dt(It,{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"})]})]})},Uc=Iv;import{Fragment as Mv,jsx as zc}from"react/jsx-runtime";var Lv=({cues:t})=>{let e=Av(),o=de(),n=kt(),s=d=>{e(fc({id:d.rule.id})),e(Ya({code:d.rule.label})),n("Assistant response closed",{name:d.rule.name,group:d.rule.label,description:d.rule.description,cueText:d.text})},r=(d,l)=>{Ee(d),n("Assistant response copied",{name:l.rule.name,group:l.rule.label,description:l.rule.description,copiedText:d})},i=d=>{d.callToAction&&(e(mn(d)),n("Assistant call to action",{name:d.rule.name,group:d.rule.label,description:d.rule.description,eventName:d.callToAction.event,value:d.callToAction.value}))},a=(d,l)=>{o.send(Fe,{text:d,suggestion:{source:"cue",sourceText:d}}),n("Assistant response used",{name:l.rule.name,group:l.rule.label,description:l.rule.description,usedText:d})};return zc(Mv,{children:t.map(d=>zc(Uc,{cue:d,onCallToAction:i,onRemove:s,onCopy:r,onUse:a},d.rule.id))})},Vc=Lv;import{Fragment as Nv,useEffect as Ov}from"react";var Wc={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",copyButtonText:"dd-oos-l",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as dt,jsxs as qc}from"react/jsx-runtime";function Dv(t,e){return e.split(".").reduce((o,n)=>!o||typeof o!="object"||!(n in o)?null:o[n],t)}var $c=({data:t,schema:e})=>{let o=v("WidgetCustomData",Wc),n=s=>{Ee(s)};return Ov(()=>{w.info("Custom data",t,e)},[t]),dt("dl",{className:o.root,children:e.map(s=>{let r=Dv(t,s.path);return qc(Nv,{children:[dt("dt",{className:o.label,children:s.label}),dt("dd",{className:o.value,children:s.type==="boolean"&&r?dt("span",{className:o.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?dt("span",{className:o.isFalse,children:s.falseValue}):r?qc("button",{type:"button",onClick:()=>n(r),className:o.copyButton,children:[dt("span",{className:o.copyButtonText,children:r}),dt(xo,{})]}):"-"})]},s.label)})})};import{useCallback as Fv}from"react";var _v=/(https?:\/\/[^\s]+)/,Gc=t=>t.split(" ").find(e=>_v.test(e));import{jsx as _t,jsxs as $n}from"react/jsx-runtime";var Hv=({suggestion:t,lines:e,onUse:o})=>{var u;let n=t.text||t.url||t.message,s=Gc(n),r=P(tt),i=T("showImages"),a=T("fallbackImage"),d=T("hasKeyboardInput"),l=p=>{p.preventDefault(),p.stopPropagation(),d&&o(n)},c=Fv(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return $n(D,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[$n(B,{children:[i&&t.image&&_t(B.Image,{src:Fn(t,"small",a||void 0),title:t.title}),$n(B.Content,{children:[t.title&&_t(B.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((u=t.searchKeywords)==null?void 0:u.length)>0&&_t(D.Labels,{labels:t.searchKeywords}),_t(B.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),$n(D.Actions,{children:[s&&_t(D.ActionButton,{onClick:c,label:r("visitUrl")}),d&&_t(D.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},jc=Hv;import{Fragment as Kv,jsx as Qc}from"react/jsx-runtime";var Bv=({lines:t,suggestions:e})=>{let o=de(),n=(s,r)=>{o.send(Fe,{text:s,suggestion:x(f({},r),{source:r.source,sourceText:r.text})})};return Qc(Kv,{children:e.map(s=>Qc(jc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Xc=Bv;var Co={};Z(Co,{enUS:()=>Uv,nlNL:()=>zv});var Uv={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"}]},zv={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 wo={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",sectionList:"dd-bF9pF",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",link:"dd-DRo0x"};import{jsx as L,jsxs as Ft}from"react/jsx-runtime";var jn=(t,e)=>{let o=V(J);Ur(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},qv=({onLogIn:t})=>{let e=v("Widget",wo),o=T("isEmbedded"),n=T("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(Pn,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Zc=({text:t})=>{let e=v("Widget",wo);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},$v=()=>{let t=P(Co),e=Gn(),o=v("Widget",wo),n=T("showSearch"),s=T("showSummaryCommand"),r=T("showKnowledgeSearch"),i=T("isEmbedded"),a=V(Rt("/admin/")),d=de(),l=T("productName"),c=T("hasKeyboardInput"),u=n||s||r||a;return jn(()=>{if(i)return e(_r()),()=>{e(cc())}},[e,i]),!u||!c?null:L(we,{title:t("actions"),type:"shortcuts",children:Ft("div",{className:o.shortcutList,children:[n&&Ft("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search","aria-label":t("linkSearch"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0}),children:[L(Ct,{}),t("linkSearch")]}),s&&Ft("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary","aria-label":t("linkSummary"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[L(_c,{}),t("linkSummary")]}),r&&Ft("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist","aria-label":t("linkKnowledgeSearch"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[L(Oc,{}),t("linkKnowledgeSearch")]}),a&&Ft("a",{className:o.shortcut,target:"_blank",href:a,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:l}),rel:"noreferrer",children:[L(Mc,{}),t("linkStudioLogin",{productName:l})]})]})})},Gv=()=>{let t=Gn(),e=T("showCustomMessages"),o=V(ec),n=V(yt);return jn(()=>(t(vo(n)),t(rc(n)),()=>{t(ic(n))}),[t,e,n]),!e||o.length===0?null:L(we,{type:"custom-messages","data-testid":"custom-messages",children:L(se,{withDivider:!0,children:o.map(s=>L(Ec,{suggestion:s},s.text))})})},jv=()=>{let t=P(Co),e=Gn(),o=T("showAutoflows"),n=V(Qd),s=V(yt);return jn(()=>(e(Ie(s)),e(Xd(s)),()=>{e(Zd(s))}),[e,o,s]),!o||n.length===0?null:L(we,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:L(se,{withDivider:!0,children:L(wc,{})})})},Qv=()=>{let t=Gn(),e=V(gn),o=V(ll),n=V(yc),s=V(qi),r=V(un),i=V(fn),a=V(ge),d=V(De);return Ur(()=>{!!s&&!o&&w.warn("Custom data provided, but no schema.")},[s,o]),jn(()=>{e.forEach(({type:l})=>{l==="entities"?t(me()):Do.includes(l)||t(he(l))})},[t,d,a]),Ur(()=>{n.length>0&&!e.some(l=>l.type==="cues")&&w.warn("Received cues, but cues are not configured in widget.")},[e,n]),L(Wv,{children:e.map(({type:l,title:c,amount:u,lines:p,schema:m})=>{var y,h;switch(l){case"entities":return r&&r.length>0&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(Ac,{entities:r})},l);case"cues":return n&&n.length>0&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Vc,{cues:n})})},l);case"custom-data":return s&&m&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L($c,{data:s,schema:m})})},l);default:return((h=(y=i[l])==null?void 0:y.suggestions)==null?void 0:h.length)>0&&L(we,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Xc,{lines:p,contentType:l,suggestions:i[l].suggestions.slice(0,u)||[]})})},l)}})})},Xv=({onLogIn:t})=>{let e=P(Co),o=v("Widget",wo),n=V(vt),s=V(J),r=V(yt),i=V(ge);return n===!1?L(Zc,{text:e("notSupported")}):s===!1?L(qv,{onLogIn:t}):!i||!r||s===null?L(Zc,{text:e("waiting")}):L("div",{className:Vv(o.root),"data-testid":"widget",children:Ft(ms,{className:o.sectionList,children:[L($v,{}),L(Gv,{}),L(jv,{}),L(Qv,{})]})})},Jc=Xv;function Eo(t){let e=new Range;return e.selectNodeContents(t),e}function Yc(t,e,o){try{return ct(t,e,o),!0}catch(n){return!1}}function Qn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Xn(t){return"tagName"in t&&t.tagName==="BR"}var To=/[\u200B-\u200D\uFEFF]/g;function ct(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(d,l){let c=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(d))return l;for(let p=0;p<=d.length;p++)if(u.test(d[p])||c++,c===l)return p;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(To,""),u=s+c.length,p=e>=s&&e<=u,m=o>=s&&o<=u;if(p){let y=i(l,e-s);y===0&&!m?n.setStartBefore(d):n.setStart(d,y)}m&&(n.setEnd(d,i(l,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Xn(d)&&(s===e&&n.setStartBefore(d),s++,s===o)){n.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;Qn(d)&&l&&!Qn(l)&&!Xn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Zn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(u){let p=u===t,m=u===o,y=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let h=u.textContent;m&&(a=l+h.substring(0,n).replace(To,"").length),y&&(d=l+h.substring(0,r).replace(To,"").length),l+=h.replace(To,"").length;break}case Node.ELEMENT_NODE:{if(Xn(u)&&u.nextSibling){l++;break}!p&&Qn(u)&&u.previousSibling&&l++;for(let h=0;h<u.childNodes.length;h++){let S=m&&h===n,k=y&&h===r;if(S&&(a=l),k&&(d=l),d!==void 0||((!S||!i)&&c(u.childNodes[h]),y&&h===r-1&&(d=l),d!==void 0))break}y&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function Jn(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=0,d="";function l(c){let u=c===t,p=c===o,m=c===s;switch(p&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let y=p?n:0,h=m?r:void 0;d+=c.textContent.replace(To,"").substring(y,h);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Xn(c)&&c.nextSibling){d+=`
|
|
9
9
|
`;break}!u&&!i&&a===1&&Qn(c)&&c.previousSibling&&(d+=`
|
|
10
|
-
`);let y=p?n:0,h=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let S=y;S<h&&(l(c.childNodes[S]),a!==2);S++);break}default:break}m&&(a=2)}return l(t),d}var ep=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(ep||{}),Ve=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}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)}handleInteraction(){let e=this.getText(),o=this.getHTML(),n=this.getSelection(),s=this.cachedCaretPosition===null;if(!this.isActive||(e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit"),e!==this.cachedText?(this.cachedText=e,this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})):o!==null&&o!==this.cachedHTML&&(this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})),(n.start!==this.cachedSelection.start||n.end!==this.cachedSelection.end)&&(this.cachedSelection=n,s=!0,this.emit("selection",n)),!s))return;let r=this.getCaretPosition();Oe(r,this.cachedCaretPosition)||(this.cachedCaretPosition=r,this.emit("caretposition",r))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(ep).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleKeyUp(e){this.handleInteraction(),this.emit("keyup",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),this.addEventListener("input",()=>this.handleInteraction()),this.addEventListener("change",()=>this.handleInteraction()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.handleInteraction()),document.activeElement===this.element&&(this.isFocused=!0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()})}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.handleInteraction()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function tp(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Ht=class extends Ve{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let o=new Range;return o.selectNodeContents(this.element),Jn(this.element,o)}getHTML(){return this.element.innerHTML||""}getRange(){var i;let o=this.getRootNode();if(o.activeElement!==this.element)return null;let n="getSelection"in o?o.getSelection():window.getSelection();if(!n)return null;let s="getComposedRanges"in n&&o instanceof ShadowRoot?(i=n.getComposedRanges(o))==null?void 0:i[0]:n.rangeCount>0?n.getRangeAt(0):null;if(!s)return null;let r=this.element.ownerDocument.createRange();return r.setStart(s==null?void 0:s.startContainer,s==null?void 0:s.startOffset),r.setEnd(s==null?void 0:s.endContainer,s==null?void 0:s.endOffset),!r||!this.element.contains(r.startContainer)||!this.element.contains(r.endContainer)?null:r}getCaretPosition(){let o=this.getRange();if(!o||!o.collapsed||!("getBoundingClientRect"in o))return null;let n=o.getBoundingClientRect();return!tp(n)&&(o.insertNode(this.element.ownerDocument.createTextNode("\u2060")),n=o.getBoundingClientRect(),o.deleteContents(),!tp(n))?null:{top:n.top+n.height,left:n.left}}getSelection(){let o=this.getRange();if(o)return Zn(this.element,o);let n=this.lastKnownSelection;if(n&&Yc(this.element,n.start,n.end))return n;let s=Eo(this.element);return s.collapse(!1),Zn(this.element,s)}getSelectedText(){let{start:o,end:n}=this.getSelection();return Jn(this.element,ct(this.element,o,n))}listen(){super.listen();let o=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});o.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>o.disconnect());let n=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==n&&(n=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var Bt=class extends Ve{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:o,selectionEnd:n}=this.element;return{start:o,end:n}}getSelectedText(){let o=this.getSelection();return o?this.getText().slice(o.start,o.end):""}getCaretPosition(){return null}listen(){super.listen();let o=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=o==null?void 0:o.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=o==null?void 0:o.set)==null||i.call(this.element,r),this.handleInteraction()}});let n=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==n&&(n=this.element.disabled,this.emit(n?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function op(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Zv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var zr=class{constructor(e){this.name=e;this.disposeHandlers=[];this.broadcastChannel=new BroadcastChannel(e)}onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Vr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.disposeHandlers=[];this.iframe=op(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}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()}},Wr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Vr(e,this.deepdeskUrl,{debug:!0}):new zr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Zv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(w.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(x(f({},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)}},np=Wr;var Kt=class extends Error{constructor(o,n){super(o);this.body=n;this.name="CustomError"}};var qr=t=>new Promise(e=>{setTimeout(e,t)});var Ut=class extends Kt{constructor(){super(...arguments);this.name="ClientError"}},Gr=class extends Kt{constructor(){super(...arguments);this.name="ServerError"}},$r=new Map;function Jv(t){return g(this,null,function*(){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=yield t.text();return o===""?null:(w.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))})}var We=class We{constructor(e="",o={}){this.baseUrl=e;this.options=o;this.latestRequestByUrl={};this.fetch=window.fetch.bind(window);o.fetch&&(this.fetch=o.fetch)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=o.method===void 0||o.method.toLowerCase()==="get",_=o,{useCache:l=!1,abortLatest:c=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:m=!0,retryOnError:y=A=>A instanceof TypeError,retryOnResponse:h=A=>A.status>=500,version:S=null}=_,k=O(_,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l)if(d){if($r.has(i)){n($r.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let C=x(f({credentials:"include"},k),{headers:f({Accept:"application/json","Content-Type":"application/json"},k.headers)});!d&&this.csrfToken&&(C.headers=x(f({},C.headers),{"X-CSRFToken":this.csrfToken})),typeof S=="string"&&(C.headers=x(f({},C.headers),{"X-Deepdesk-API-Version":S}));let b=u,I=!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 E=()=>g(this,null,function*(){return b--,a(i,C).then(A=>g(this,null,function*(){return h(A)&&!r.isAborted&&b>0?(yield qr(p),E()):A.status===401&&m===!0&&I===!1?(I=!0,yield this.refreshToken(),E()):A})).catch(A=>g(this,null,function*(){if(y(A)&&!r.isAborted&&b>0)return yield qr(p),E();throw A}))});E().then(A=>g(this,null,function*(){let U=yield Jv(A);if(delete this.latestRequestByUrl[i],A.status>=500){s(new Gr("Server Error",U));return}else if(A.status===401){s(new Ut("Unauthorized",U));return}else if(A.status===403){s(new Ut("Forbidden",U));return}else if(A.status===404){s(new Ut("Not Found",U));return}else if(A.status>=400){s(new Ut("Bad Request",U));return}l&&$r.set(i,U),n(U)})).catch(A=>{s(A)})})}validateToken(){return g(this,null,function*(){let{has_valid_access_token:e}=yield this.get("/auth/validate");if(!e)try{yield this.refreshToken()}catch(n){return!1}let{is_logged_in:o}=yield this.get("/apis/admin/session/validate/");return!!o})}refreshToken(){return We.refreshingToken||(We.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{We.refreshingToken=null},1e3*60)})),We.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,f({method:"POST",body:JSON.stringify(o)},n))}patch(e,o,n){return this.request(e,f({method:"PATCH",body:JSON.stringify(o)},n))}put(e,o,n){return this.request(e,f({method:"PUT",body:JSON.stringify(o)},n))}delete(e,o){return this.request(e,f({method:"DELETE"},o))}};We.refreshingToken=null;var qe=We;var sp;(e=>{let t;(d=>(d.SEND_MESSAGE="Send Message",d.HANDLING_TIME="Handling Time",d.START_AUTOFLOW="Start Autoflow",d.ABORT_AUTOFLOW="Abort Autoflow",d.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",d.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||(e.EventType={}))})(sp||(sp={}));function Yn(t){return x(f({},M(t)),{tags:t.tags})}var pt=class pt{constructor(e,o={}){this.options=o;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new qe(e,{fetch:o.fetch}),this.client.patchFetch(n=>(s,r)=>g(this,null,function*(){let i=yield n(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return g(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(pt.exchangeTokenPromise||(pt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),pt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return g(this,null,function*(){yield this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=yield this.client.post("/api/conversations",x(f({},z(e)),{tags:e.tags}),{version:"v2"});return Yn(o)})}getMe(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return M(e)})}patchMe(e){return g(this,null,function*(){let o=yield this.client.patch("/apis/admin/session/me/",z(e));return M(o)})}getProfile(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return M(o)})}getKnowledgeAssistant(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return M(o)})}getContentTypes(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return M(e)})}getAccount(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return M(e)})}getPlatformConfig(e){return g(this,null,function*(){let o=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:n}=yield this.client.get(o,{useCache:!0});return M(n)})}checkUserExists(e){return g(this,null,function*(){let{exists:o}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return o})}getConversationBySessionId(n){return g(this,arguments,function*(e,o={}){yield this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=o,i=yield this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return w.info(`Successfully retrieved conversation ${i.id} for session ${e}`),Yn(i)})}isConversationSupported(n){return g(this,arguments,function*(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=o;return(yield this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"})).has_active_profile})}updateConversation(e,o){return g(this,null,function*(){let n=z(o);o.tags&&(n.tags=o.tags);let s=yield this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Yn(s)})}postMessages(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/messages`,o.map(s=>x(f({},z(s)),{tags:s.tags})),{version:"v2"})).map(s=>Yn(s))})}sendEvent(e,o){return g(this,null,function*(){let i=o,{data:n}=i,s=O(i,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((a,[d,l])=>x(f({},a),{[d]:l}),{});return this.client.post("/api/events",z(x(f(f({},r),s),{data:n,name:e})),{version:"v2"})})}sendEventV1(e,o){return g(this,null,function*(){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>x(f({},s),{[r]:i}),{});return this.client.post("/api/events",{event:e,data:z(f(f({},o),n))},{version:"v1"})})}getEntities(e){return g(this,null,function*(){return(yield this.client.post("/api/entities",{messages:e.filter(n=>n.text)},{version:"v1"})).entities})}getTemporaryExchangeToken(){return g(this,null,function*(){return(yield this.client.get("/auth/exchange-token")).jwt})}exchangeTokenForAccessCookie(e){return g(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})})}authenticateWithKey(e,o){return g(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",z(o),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return g(this,arguments,function*(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(yield this.client.post(`/api/conversations/${e}/recommend/${n}`,z(o),{abortLatest:!0,version:"v1"})).map(i=>x(f({},M(i)),{text:i.text||i.url||i.message,source:n,type:n})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return g(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/autocomplete`,z(o),{abortLatest:!0,version:"v1"})).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))})}getPinnedMessages(e){return g(this,null,function*(){let o=yield this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0,version:"v1"});return M(o).map(n=>x(f({},n),{text:n.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return g(this,null,function*(){let o=yield this.client.post("/api/style-suggestions",z(e),{abortLatest:!0,version:"v1"});return M(o)})}search(e){return g(this,null,function*(){let o=yield this.client.post(`/api/profiles/${e.profile}/search`,z(e),{version:"v2"});return M(o)})}knowledgeAssist(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=yield this.client.post(`/api/knowledge-assist/assistants/${n}/search`,z({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(l=>({question:l.question,answer:l.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return M(d)})}requestLoginByEmail(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return M(o)})}requestPasswordlessToken(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return M(e.token)})}getCsrfToken(){return g(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return M(o)})}evaluateRule(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=new URLSearchParams;s.raiseForFailingConditions&&d.set("raise_for_failing_conditions","true");let l=yield this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${d.toString()}`,n,{version:"v2"});return l?M(l.cues):[]})}getSummary(n){return g(this,arguments,function*(e,o={}){let s=yield this.client.post("/api/summary",{conversation:{messages:e.filter(r=>r.text&&r.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model},{version:"v1"});return M(s)})}evaluateAssistant(e,o){return g(this,null,function*(){var r;let n=new URLSearchParams;n.append("enforce_cues_schema","true"),o.conversationId&&n.append("conversation_id",o.conversationId);let s=yield this.client.post(`/api/v2/assistants/${e}/evaluate?${n.toString()}`,{input:(r=o.input)!=null?r:{},conversation:o.transcript});return M(s.output)})}getRules(){return g(this,null,function*(){let e=new URLSearchParams,o=yield this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{useCache:!0});return M(o)})}translateMessages(e){return g(this,null,function*(){let o=yield this.client.post("/api/translate",z(e),{version:"v2"});return M(o)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(yi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};pt.exchangeTokenPromise=null;var $e=pt;var ko=class{constructor(e,o){this.url=e;this.eventListeners={};this.options=f({timeout:25e3},o)}proxyEvent(e){this.eventSource.addEventListener(bs(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,M(s))}catch(s){w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var rp;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||(e.AutoflowSessionState={}))})(rp||(rp={}));var Ro=class{constructor(e,o={}){this.apiUrl=e;this.streams={};this.logger=w;this.client=new qe(e,o)}getCustomMessages(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/suggestions`);return M(o.suggestions)})}sendCustomMessage(e,o){return g(this,null,function*(){let n=yield this.client.post(`/sessions/${e}/messages`,z(o));return M(n)})}answerCustomMessage(e,o){return g(this,null,function*(){yield this.client.post(`/sessions/${e}/answers`,z(o))})}getAutoflows(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/autoflows`);return M(o.autoflows)})}startAutoflowSession(e){return g(this,null,function*(){let o=yield this.client.post("/autoflow-sessions",z(e));return M(o)})}stopAutoflowSession(e){return g(this,null,function*(){yield this.client.delete(`/autoflow-sessions/${e}`)})}openStream(e){return this.streams[e]||(this.streams[e]=new ko(`${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 rS,configureStore as iS}from"@reduxjs/toolkit";import{createSlice as Yv}from"@reduxjs/toolkit";var ip={startTime:null,stopTime:null},ap=Yv({name:"handlingTime",initialState:ip,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(F,()=>ip)}}),{handlingTimeStart:lp,handlingTimeStop:es,handlingTimeReset:dp}=ap.actions,cp=ap.reducer;var pp=(t={})=>{let e=f({onAuthError:ft(!1)},t);return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as eS,createSlice as tS}from"@reduxjs/toolkit";var ts={list:{keywordMatches:[]},fetchState:"idle"};var ut=eS("styleSuggestions/getAll",(o,n)=>g(void 0,[o,n],function*({text:t},e){var d;let{deepdeskAPI:s}=e.extra,r=e.getState(),{showStyleSuggestions:i}=r.settings,a=(d=r.conversation.current)==null?void 0:d.profileCode;if(!i)return ts.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),oS=tS({name:"styleSuggestions",initialState:ts,reducers:{},extraReducers:t=>{t.addCase(ut.pending,e=>{e.fetchState="loading"}).addCase(ut.rejected,e=>{e.fetchState="error"}).addCase(ut.fulfilled,(e,o)=>{e.fetchState="done",Oe(e.list,o.payload)||(e.list=o.payload)}).addCase(Qe,e=>{e.list=ts.list}).addCase(F,()=>ts)}}),up=oS.reducer;var mp=(t={})=>{let e,o=!0,n=f({getStyleSuggestions:ut,debounce:500},t);return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:p}=l.input;return p===a&&!o||(clearTimeout(e),p==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:p}))},t.debounce)),d}};function nS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var gp=(t={})=>{let e=f({getTextSuggestions:he,getAutocompleteSuggestions:mo,debounce:200,check:ve},t),o;return n=>s=>r=>{var h;let{input:i}=n.getState(),a=s(r),d=n.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,u=(h=d.conversation.current)==null?void 0:h.id,p=r.type===hn.toString();if(!u||!l&&!c)return a;let{input:m}=d;return nS(m,i)&&!p||(clearTimeout(o),!e.check(d))||(o=setTimeout(()=>{let S=St(d);S===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(S))},p?0:e.debounce)),a}};var fp=ut.fulfilled.toString();function sS(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var hp=t=>e=>o=>n=>{var l;if(n.type!==fp){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=sS(s,i);n.type===fp&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var aS=rS({assistants:el,answer:yl,auth:ki,autoflows:Jd,conversation:Li,contentTypes:Ea,customMessages:ac,passwordlessToken:pc,entities:qa,knowledgeAssistant:gl,handlingTime:cp,info:Xi,input:Vi,settings:Si,profile:dl,search:na,styleSuggestions:up,ui:nd,rules:hc,textSuggestions:Ml});function yp(t){return iS({reducer:aS,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),pp(),gp({debounce:200}),mp({debounce:500}),hp(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var lS=t=>{var e,o;return(o=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?o:"unknown"},dS=t=>e=>o=>n=>{var a,d,l,c,u,p,m;let s=e.getState(),r=hs("inlineSuggestions")(s);switch(n.type){case ft.toString():{!n.payload&&t.emit("logout",void 0);break}case me.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 Y.toString():t.sendEvent(n.payload.name,{conversationId:((d=n.payload.options)==null?void 0:d.includeConversationData)&&((l=s.conversation.current)==null?void 0:l.id),data:n.payload.data});break;case Qe.toString():t.logSendMessage(n.payload);break;case at.fulfilled.toString():n.isBroadcasted||t.broadcast(Es,n,!1),(c=n.payload.options)!=null&&c.shouldEmit&&t.emit("cues",n.payload.cues);break;case mn.toString():t.emit("call-to-action",{cue:n.payload});break;case Be.fulfilled.toString():n.isBroadcasted||t.broadcast(ks,n,!1);break;default:break}let i=o(n);switch(n.type){case Qe.toString():t.handleAfterSendMessage(n.payload);break;case go.toString():t.onUpdateShowTabHint(n.payload);break;case es.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case Vo.toString():{let{start:y,end:h}=s.input.selection;t.emit("replace",x(f({},n.payload),{replace:n.payload.replace==="selection"?{start:y,end:h}:{start:0,end:h}}));break}case ce.toString():{let{start:y,end:h}=s.input.selection;t.emit("select-suggestion",x(f({type:lS(n.payload.suggestion)},n.payload),{replace:n.payload.replace==="selection"?{start:y,end:h}:{start:0,end:h}})),r&&e.dispatch(_e([]));break}case Wo.toString():t.emit("select-image",n.payload),t.sendEvent("Image attached",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case _e.toString():{r&&n.payload.length>0&&e.dispatch(qo(0));break}case Tt.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{summary:n.payload,assistant:(m=e.getState().profile.data)==null?void 0:m.summarizerAssistantNew}});break}default:break}return i},vp=dS;function jr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Sp(t,e){var r,i,a,d;let o=(r=t.conversation.current)==null?void 0:r.id;if(!o)return w.warn("No conversationId for handling time metrics"),null;let{startTime:n,stopTime:s}=t.handlingTime;return!n||!s?(w.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:o,clientVersion:e.version,agentId:(i=t.info.agentInfo)==null?void 0:i.agentId,agentName:(a=t.info.agentInfo)==null?void 0:a.agentName,agentEmail:(d=t.info.agentInfo)==null?void 0:d.agentEmail,timeStart:jr(n),timeStop:jr(s)}}function xp(t,e,o){var U,G,N,K;let n=(U=e.conversation.current)==null?void 0:U.id;if(!n)return w.warn("No conversationId for send message metrics"),null;let{text:s,metrics:{numCharsTyped:r,numCharsPasted:i,numCharsCut:a,numCharsDeleted:d,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:u,pastes:p,cuts:m,deletions:y,textSuggestions:h,offeredTextSuggestions:S}}=e[t],k=s.length,b=h.reduce((le,{text:ee,searchTerm:Po})=>le+ee.length-(Po?Po.length:0),0),I=c!=null?c:Date.now(),E=(Date.now()-I)/1e3+(u||0),_=r/E,A=h.reduce((le,{searchTerm:ee})=>le+(ee?ee.length:0),0);return{conversationId:n,source:"agent",text:s,clientVersion:o.version,pastes:p,cuts:m,deletions:y,lenTextTyped:r+A,lenTextTotal:k,lenTextAssisted:b,lenTextPasted:i,lenTextCut:a,lenTextDeleted:d,timeTotalSeconds:E,charsPerSecond:_,numPastes:l,textSuggestionsV2:h,suggestionsCounters:[{source:"gpt",countOffered:S.filter(le=>le.source==="gpt").length}],agentId:(G=e.info.agentInfo)==null?void 0:G.agentId,agentName:(N=e.info.agentInfo)==null?void 0:N.agentName,agentEmail:(K=e.info.agentInfo)==null?void 0:K.agentEmail}}function Qr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Qr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Qr(s,e):null}function bp(t,e){return Qr(t,e)}function Cp(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function cS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Xr(t){return cS(t)&&(Ue(t)||An(t))}var Tp,be=new Map,pS=["bottom","height","left","right","top","width"],wp=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:pS.some(o=>t[o]!==e[o]);function Ep(t){var o,n,s;if(t.ownerDocument===document)return[];let e=(s=(n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)!=null?s:null;return e?[e,...Ep(e)]:[]}function kp(t,e){return!t||!e?null:x(f({},t),{top:t.top+e.top,left:t.left+e.left})}var os=!1,Rp=()=>{os=!0;let t=[];if(be.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),be.delete(o);return}let n=o.getBoundingClientRect();wp(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(kp,e.rect):e.rect;wp(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),be.size===0){os=!1;return}Tp=window.requestAnimationFrame(Rp)};function Zr(t,e){let o=Ep(t),n=[],s=o.map((r,i)=>Zr(r,a=>{n[i]=a;let d=be.get(t);if(!d)return;let l=n.reduce(kp,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),be.has(t)){let i=be.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else be.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!os&&Rp()},unobserve(){s.forEach(i=>i.unobserve());let r=be.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||be.delete(t),be.size||(cancelAnimationFrame(Tp),os=!1)}}}}var Pp,Ce=new Map,Ip=()=>{Ce.forEach((t,e)=>{if(!e.isConnected){Ce.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)))}),Ce.size!==0&&(Pp=window.requestAnimationFrame(Ip))};function Ap(t,e){return{observe(){let o=Ce.size===0;Ce.has(t)?Ce.get(t).callbacks.push(e):Ce.set(t,{visible:void 0,callbacks:[e]}),o&&Ip()},unobserve(){let o=Ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ce.delete(t),Ce.size||cancelAnimationFrame(Pp)}}}}var Jr=["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 Yr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function zt(t){return parseFloat(t)}function ns(t){return Math.round(t*1e6)}function Lp(t){return t/1e6}function ei(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=zt(t.width),r=zt(t.borderLeftWidth),i=zt(t.borderRightWidth),a=zt(t.paddingRight),d=Lp(ns(s)-ns(r)-ns(i)),l=Lp(ns(n));if(d-l>2){let c=d-l;o.style.paddingRight=`${a+c}px`}}function ss(t,e={}){var c,u;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=(c=e.position)!=null?c:"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",st(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Yr(n,o,Jr),ei(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Ap(t,()=>{Yr(n,o,Jr),ei(n,t,o),r(),setTimeout(r,0)}),a,d=!0,l=Zr(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Yr(n,o,Jr),ei(n,t,o),r(),o.style.top=`${p.top}px`,o.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let m=e.closestScrollElement.getBoundingClientRect(),y=window.getComputedStyle(e.closestScrollElement),h=zt(y.borderTopWidth),S=zt(y.borderBottomWidth),k=m.top+h-p.top,C=p.top+p.height+-(m.top+m.height-S);o.style.clipPath=`inset(${k}px 0px ${C}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(u=t.parentElement)==null||u.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var Mp=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch(n){return e}}catch(o){return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch(n){w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function uS(t){return t.offsetParent!==null}function Np(t){if(!uS(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 ti(t,e,o=100){let n=Np(t);e({isVisible:n});let s=setInterval(()=>{let r=Np(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as W}from"react/jsx-runtime";var Op=Mp("showTabHint",!0),Wt=class Wt{constructor({deepdeskUrl:e,brokerUrl:o,version:n=Wt.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:d}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.widgetRoot=null;this.dynamicThunkObject={};this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new $e(l,{token:r,fetch:i}),this.version=n,this.instanceId=Wt.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[vp({broadcast:(u,p,m)=>{this.broadcastEvents.send(u,p,m)},emit:(u,p)=>this.emit(u,p),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>Op.update(u),sendEvent:(u,p)=>this.deepdeskApi.sendEvent(u,p)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new Ro(o)}),this.store=yp(c),this.broadcastEvents=new np({debug:!0,deepdeskUrl:l,eventMap:sa(this.store),createCustomChannel:d}),this.store.dispatch(go(Op.value())),this.store.dispatch(Fo({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(ft(null)),this.store.dispatch(Te()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();J(n)&&xi(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}isLoggedIn(){return g(this,null,function*(){return(yield this.store.dispatch(Te())).payload})}isConversationSupported(e,o){return g(this,null,function*(){return(yield this.store.dispatch(vs({sessionId:e,options:o}))).payload})}createConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(Ho(e))).payload})}getConversationBySessionId(e,o){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(yield this.store.dispatch(Bo({sessionId:e,options:o}))).payload})}upsertConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(Ss(e))).payload})}postMessages(e){return g(this,null,function*(){return(yield this.store.dispatch(Uo(e))).payload})}updateConversation(e){return g(this,null,function*(){return(yield this.store.dispatch(Ko(e))).payload})}resetConversation(){this.store.dispatch(F()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Fo(e))}setVisitorInfo(e){this.store.dispatch(Gi(e))}setCustomData(e){this.store.dispatch(ji(e))}setAgentInfo(e){return g(this,null,function*(){yield this.store.dispatch(Xt(e))})}setAgentSettings(e){return g(this,null,function*(){yield this.store.dispatch(ws(e))})}getAgentSettings(){return g(this,null,function*(){return(yield this.store.dispatch(Ts())).payload})}refresh(){return g(this,null,function*(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.store.dispatch($o({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()}));let e=[];return this.store.dispatch(hn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}notifyExternalSuggestion(e){this.store.dispatch(ce(e))}evaluateRule(s){return g(this,arguments,function*(e,o={},n=uc){return(yield this.store.dispatch(at({label:e,params:o,options:n}))).payload.cues})}evaluateAssistant(n){return g(this,arguments,function*(e,o={}){let c=o,{input:s={},transcript:r,showCuesInWidget:i=!0,includeTags:a}=c,d=O(c,["input","transcript","showCuesInWidget","includeTags"]);Object.assign(s,d);let l=yield this.store.dispatch(Be({assistantCode:e,transcript:r,includeTags:a,input:s,skipState:!i}));if(l.error)throw new Error(l.error.message);return l.payload})}evaluateConversationAssistant(e,o){return g(this,null,function*(){yield this.loadProfileConfig();let n={accepted:"conversationAcceptedAssistant","new-message":"conversationNewMessageAssistant",ended:"conversationEndedAssistant"},s=this.state.profile.data[n[e]];if(!s){w.warn(`No assistant set in profile for conversation event "${e}"`);return}yield this.evaluateAssistant(s,f({transcript:"stored-transcript",includeTags:!0},o))})}getSummary(){return g(this,null,function*(){var o;if(!this.hasConversation())return w.warn("No conversation to create summary for."),null;(o=this.state.profile.data)!=null&&o.summarizerAssistantNew||w.warn("No profile loaded yet, or no summarizer assistant set in profile");let e=yield this.store.dispatch(Tt({}));if(e.error)throw new Error(e.error.message);return e.payload})}handleKeyDown(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,showTextSuggestions:d}=this.state.settings,l=a?"below":"above",c=s.length>0;if(!ve(this.state)||(this.store.dispatch(_i(xs(e))),e.key!=="Tab"&&!d))return;let u=()=>{o||!c||i&&(e.shiftKey||(this.store.dispatch(Bi()),e.preventDefault()))},p=()=>{o||!c||a&&r<=0||i&&(e.shiftKey||(this.store.dispatch(Ki()),e.preventDefault()))};switch(e.key){case"ArrowUp":l==="below"?p():u();break;case"ArrowDown":{l==="below"?u():p();break}case"Escape":{o||(this.store.dispatch(qo(-1)),this.store.dispatch(Ke({collapse:!0})),this.store.dispatch(td(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let m=xt(this.state);if(!m)return;this.store.dispatch(go(!1)),this.store.dispatch(ce({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(this.state.settings.inlineSuggestions||this.state.input.selectedSuggestionIndex===-1)return;let m=xt(this.state);if(!m)return;this.store.dispatch(ce({text:m.text,suggestion:m,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(this.state.settings.inlineSuggestions||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let m=xt(this.state);if(!m)return;this.store.dispatch(ce({text:m.text,suggestion:m,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}o&&n&&this.store.dispatch(Ke({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(_e([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(lp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(es()))}logSendMessage(e){let o=xp("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=Sp(this.state,{version:this.version});e&&(this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(dp()))}notifySubmit(e={}){var o;this.shouldAbort()||(this.store.dispatch(Qe((o=e.text)!=null?o:this.state.input.text)),this.store.dispatch(zi()))}emit(e,o){let n=this.eventListeners[e];n&&n.forEach(s=>{try{s(o)}catch(r){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(r)}})}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}setPlatformVariables(e){this.store.dispatch(Qi(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]=ss(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{rs(r),i(),r.remove()}),r}createInlineContainer(e,o){var a;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=(a=e.ownerDocument.defaultView)==null?void 0:a.frameElement,i=r?r.ownerDocument.defaultView:null;if(r&&(i===window||(i==null?void 0:i.parent)===window)){let[d,l]=ss(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=o,d.style.zIndex="2",d.appendChild(n),this.unmountHandlers.push(()=>{rs(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return st(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(()=>{rs(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ui(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Xr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,isEmbedded:u,detectSubmit:p,insertLink:m,inputMediator:y,closestScrollSelector:h,appendOverlayTo:S,inlineSuggestions:k,floatingMenu:C}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:u,inlineSuggestions:k,floatingMenu:!!C}),o.automaticHandlingTime&&this.setupHandlingTime(e),st(e),this.inputMediator=y||(Ue(e)?new Bt(e):new Ht(e)),this.inputMediator.on("change",({plainText:E,rawHTML:_})=>{this.store.dispatch($o({text:E,html:_}))}),this.inputMediator.on("keyup",E=>{this.store.dispatch(Fi(xs(E)))}),this.inputMediator.on("keydown",E=>{this.handleKeyDown(E)}),this.inputMediator.on("paste",({pastedText:E,selectionText:_})=>{this.store.dispatch(Hi({text:E,selectionText:_}))}),this.inputMediator.on("cut",({selectionText:E})=>{this.store.dispatch(Di(E))});let b;this.inputMediator.on("selection",E=>{clearTimeout(b),E===null?b=setTimeout(()=>{E!==null&&this.store.dispatch(Go(E))},500):this.store.dispatch(Go(E))}),this.inputMediator.on("disabled",()=>{var E;(E=this.inputMediator)==null||E.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(bn(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(bn(!0))});let I=h&&bp(e,h)||void 0;if(k){let{customStyles:E,appendOverlayTo:_}=o;if(Ue(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let A=this.createInlineContainer(e,"deepdesk-caret");Vt(W(rt,{store:this.store,customStyles:E,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(cd,{})})}),A),this.inputMediator.on("caretposition",G=>{G?(A.style.display="block",A.style.top=`${G.top}px`,A.style.left=`${G.left}px`):A.style.display="none"});let U=this.overlayContainerFactory("floating-menu",I||e,{appendTo:typeof C=="object"&&"appendOverlayTo"in C?C.appendOverlayTo:_},E==null?void 0:E.floatingMenuRootNode);Vt(W(rt,{store:this.store,customStyles:E,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(Yl,{onLogIn:()=>this.loginViaPopup().catch(G=>w.warn(G.message))})})}),U)}else{let E=this.overlayContainerFactory("deepdesk-tab-completion",I||e,{appendTo:S,closestScrollElement:I,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),_=this.overlayContainerFactory("deepdesk-suggestions-overlay",I||e,{appendTo:S},n==null?void 0:n.suggestionsRootNode);Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W($d,{inputElement:e})})}),E),Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(xd,{onLogIn:()=>this.loginViaPopup().catch(A=>w.warn(A.message))})})}),_)}Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(Gl,{})})}),this.createContainer("deepdesk-overlays")),this.store.dispatch($o({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()})),this.store.dispatch(Go(this.inputMediator.getSelection())),this.store.dispatch(bn(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{var E;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((E=this.state.conversation.current)==null?void 0:E.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&w.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(Jc,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&rs(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=ti(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Cp(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(()=>g(this,null,function*(){yield this.store.dispatch(lo());let e=ge(this.state);e&&(yield this.store.dispatch(po()),this.store.dispatch(Fo({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:!!e.summarizerAssistantNew||e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))})),this.loadProfileConfigPromise)}loginViaPopup(e){return g(this,null,function*(){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=m=>g(this,null,function*(){var y,h;if((y=m.data)!=null&&y.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((h=m.data)==null?void 0:h.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(Jt),d=!0,s.port1.close(),o()}catch(S){console.error(S),n(S)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let u=m=>g(this,null,function*(){var y;if(m.origin===a.origin)switch((y=m.data)==null?void 0:y.type){case"deepdesk-popup-loaded":{try{let h=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(h,a.origin,[s.port2])}catch(h){w.error("Error posting message to popup",h),n(h)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}});window.addEventListener("message",u);let p=setInterval(()=>{c&&!c.closed||(l(),d||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}checkForTrialMode(e){return g(this,null,function*(){try{let{account:o}=yield this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!(yield this.deepdeskApi.checkUserExists(e)))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}})}refreshWidgetSuggestions(){return g(this,null,function*(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=gn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(me()):Do.includes(n)||this.store.dispatch(he(n))})}catch(n){this.handleError(n)}})}};Wt.version="14.1.1-beta.10",Wt.count=0;var is=Wt;function mS(t){return g(this,null,function*(){var s,r,i;let o=yield((s=t.fetch)!=null?s:window.fetch)(t.url),n=yield o.blob();return new File([n],t.name,{type:(i=(r=t.mimeType)!=null?r:o.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function gS(t,e){return g(this,null,function*(){let o=yield mS(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}})}function fS(t,e,o){return g(this,null,function*(){yield new $e(t).authenticateWithKey(e,o)})}function hS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function yS(n,s){return g(this,arguments,function*(t,e,o={}){var u,p;let{value:r}=t,{start:i,end:a}=(u=o.replace)!=null?u:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(p=o.selectionAfter)!=null?p:{start:i+e.length,end:i+e.length},c=()=>{if(o.setValue)return o.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function vS(n,s){return g(this,arguments,function*(t,e,o={}){let r=o.replace?ct(t,o.replace.start,o.replace.end):Eo(t),i,a=()=>{if(o.setRange)return o.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),o.insertBRs!==!1?e.split(`
|
|
10
|
+
`);let y=p?n:0,h=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let S=y;S<h&&(l(c.childNodes[S]),a!==2);S++);break}default:break}m&&(a=2)}return l(t),d}var ep=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(ep||{}),Ve=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}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)}handleInteraction(){let e=this.getText(),o=this.getHTML(),n=this.getSelection(),s=this.cachedCaretPosition===null;if(!this.isActive||(e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit"),e!==this.cachedText?(this.cachedText=e,this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})):o!==null&&o!==this.cachedHTML&&(this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})),(n.start!==this.cachedSelection.start||n.end!==this.cachedSelection.end)&&(this.cachedSelection=n,s=!0,this.emit("selection",n)),!s))return;let r=this.getCaretPosition();Oe(r,this.cachedCaretPosition)||(this.cachedCaretPosition=r,this.emit("caretposition",r))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(ep).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleKeyUp(e){this.handleInteraction(),this.emit("keyup",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),this.addEventListener("input",()=>this.handleInteraction()),this.addEventListener("change",()=>this.handleInteraction()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.handleInteraction()),document.activeElement===this.element&&(this.isFocused=!0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()})}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.handleInteraction()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function tp(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Ht=class extends Ve{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let o=new Range;return o.selectNodeContents(this.element),Jn(this.element,o)}getHTML(){return this.element.innerHTML||""}getRange(){var i;let o=this.getRootNode();if(o.activeElement!==this.element)return null;let n="getSelection"in o?o.getSelection():window.getSelection();if(!n)return null;let s="getComposedRanges"in n&&o instanceof ShadowRoot?(i=n.getComposedRanges(o))==null?void 0:i[0]:n.rangeCount>0?n.getRangeAt(0):null;if(!s)return null;let r=this.element.ownerDocument.createRange();return r.setStart(s==null?void 0:s.startContainer,s==null?void 0:s.startOffset),r.setEnd(s==null?void 0:s.endContainer,s==null?void 0:s.endOffset),!r||!this.element.contains(r.startContainer)||!this.element.contains(r.endContainer)?null:r}getCaretPosition(){let o=this.getRange();if(!o||!o.collapsed||!("getBoundingClientRect"in o))return null;let n=o.getBoundingClientRect();return!tp(n)&&(o.insertNode(this.element.ownerDocument.createTextNode("\u2060")),n=o.getBoundingClientRect(),o.deleteContents(),!tp(n))?null:{top:n.top+n.height,left:n.left}}getSelection(){let o=this.getRange();if(o)return Zn(this.element,o);let n=this.lastKnownSelection;if(n&&Yc(this.element,n.start,n.end))return n;let s=Eo(this.element);return s.collapse(!1),Zn(this.element,s)}getSelectedText(){let{start:o,end:n}=this.getSelection();return Jn(this.element,ct(this.element,o,n))}listen(){super.listen();let o=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});o.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>o.disconnect());let n=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==n&&(n=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var Bt=class extends Ve{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:o,selectionEnd:n}=this.element;return{start:o,end:n}}getSelectedText(){let o=this.getSelection();return o?this.getText().slice(o.start,o.end):""}getCaretPosition(){return null}listen(){super.listen();let o=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=o==null?void 0:o.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=o==null?void 0:o.set)==null||i.call(this.element,r),this.handleInteraction()}});let n=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==n&&(n=this.element.disabled,this.emit(n?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function op(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Zv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var zr=class{constructor(e){this.name=e;this.disposeHandlers=[];this.broadcastChannel=new BroadcastChannel(e)}onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Vr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.disposeHandlers=[];this.iframe=op(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}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()}},Wr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Vr(e,this.deepdeskUrl,{debug:!0}):new zr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Zv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(w.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(x(f({},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)}},np=Wr;var Kt=class extends Error{constructor(o,n){super(o);this.body=n;this.name="CustomError"}};var qr=t=>new Promise(e=>{setTimeout(e,t)});var Ut=class extends Kt{constructor(){super(...arguments);this.name="ClientError"}},Gr=class extends Kt{constructor(){super(...arguments);this.name="ServerError"}},$r=new Map;function Jv(t){return g(this,null,function*(){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=yield t.text();return o===""?null:(w.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))})}var We=class We{constructor(e="",o={}){this.baseUrl=e;this.options=o;this.latestRequestByUrl={};this.fetch=window.fetch.bind(window);o.fetch&&(this.fetch=o.fetch)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=o.method===void 0||o.method.toLowerCase()==="get",_=o,{useCache:l=!1,abortLatest:c=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:m=!0,retryOnError:y=A=>A instanceof TypeError,retryOnResponse:h=A=>A.status>=500,version:S=null}=_,k=O(_,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l)if(d){if($r.has(i)){n($r.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let C=x(f({credentials:"include"},k),{headers:f({Accept:"application/json","Content-Type":"application/json"},k.headers)});!d&&this.csrfToken&&(C.headers=x(f({},C.headers),{"X-CSRFToken":this.csrfToken})),typeof S=="string"&&(C.headers=x(f({},C.headers),{"X-Deepdesk-API-Version":S}));let b=u,I=!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 E=()=>g(this,null,function*(){return b--,a(i,C).then(A=>g(this,null,function*(){return h(A)&&!r.isAborted&&b>0?(yield qr(p),E()):A.status===401&&m===!0&&I===!1?(I=!0,yield this.refreshToken(),E()):A})).catch(A=>g(this,null,function*(){if(y(A)&&!r.isAborted&&b>0)return yield qr(p),E();throw A}))});E().then(A=>g(this,null,function*(){let U=yield Jv(A);if(delete this.latestRequestByUrl[i],A.status>=500){s(new Gr("Server Error",U));return}else if(A.status===401){s(new Ut("Unauthorized",U));return}else if(A.status===403){s(new Ut("Forbidden",U));return}else if(A.status===404){s(new Ut("Not Found",U));return}else if(A.status>=400){s(new Ut("Bad Request",U));return}l&&$r.set(i,U),n(U)})).catch(A=>{s(A)})})}validateToken(){return g(this,null,function*(){let{has_valid_access_token:e}=yield this.get("/auth/validate");if(!e)try{yield this.refreshToken()}catch(n){return!1}let{is_logged_in:o}=yield this.get("/apis/admin/session/validate/");return!!o})}refreshToken(){return We.refreshingToken||(We.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{We.refreshingToken=null},1e3*60)})),We.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,f({method:"POST",body:JSON.stringify(o)},n))}patch(e,o,n){return this.request(e,f({method:"PATCH",body:JSON.stringify(o)},n))}put(e,o,n){return this.request(e,f({method:"PUT",body:JSON.stringify(o)},n))}delete(e,o){return this.request(e,f({method:"DELETE"},o))}};We.refreshingToken=null;var qe=We;var sp;(e=>{let t;(d=>(d.SEND_MESSAGE="Send Message",d.HANDLING_TIME="Handling Time",d.START_AUTOFLOW="Start Autoflow",d.ABORT_AUTOFLOW="Abort Autoflow",d.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",d.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||(e.EventType={}))})(sp||(sp={}));function Yn(t){return x(f({},M(t)),{tags:t.tags})}var pt=class pt{constructor(e,o={}){this.options=o;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new qe(e,{fetch:o.fetch}),this.client.patchFetch(n=>(s,r)=>g(this,null,function*(){let i=yield n(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return g(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(pt.exchangeTokenPromise||(pt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),pt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return g(this,null,function*(){yield this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=yield this.client.post("/api/conversations",x(f({},z(e)),{tags:e.tags}),{version:"v2"});return Yn(o)})}getMe(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return M(e)})}patchMe(e){return g(this,null,function*(){let o=yield this.client.patch("/apis/admin/session/me/",z(e));return M(o)})}getProfile(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return M(o)})}getKnowledgeAssistant(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return M(o)})}getContentTypes(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return M(e)})}getAccount(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return M(e)})}getPlatformConfig(e){return g(this,null,function*(){let o=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:n}=yield this.client.get(o,{useCache:!0});return M(n)})}checkUserExists(e){return g(this,null,function*(){let{exists:o}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return o})}getConversationBySessionId(n){return g(this,arguments,function*(e,o={}){yield this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=o,i=yield this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return w.info(`Successfully retrieved conversation ${i.id} for session ${e}`),Yn(i)})}isConversationSupported(n){return g(this,arguments,function*(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=o;return(yield this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"})).has_active_profile})}updateConversation(e,o){return g(this,null,function*(){let n=z(o);o.tags&&(n.tags=o.tags);let s=yield this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Yn(s)})}postMessages(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/messages`,o.map(s=>x(f({},z(s)),{tags:s.tags})),{version:"v2"})).map(s=>Yn(s))})}sendEvent(e,o){return g(this,null,function*(){let i=o,{data:n}=i,s=O(i,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((a,[d,l])=>x(f({},a),{[d]:l}),{});return this.client.post("/api/events",z(x(f(f({},r),s),{data:n,name:e})),{version:"v2"})})}sendEventV1(e,o){return g(this,null,function*(){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>x(f({},s),{[r]:i}),{});return this.client.post("/api/events",{event:e,data:z(f(f({},o),n))},{version:"v1"})})}getEntities(e){return g(this,null,function*(){return(yield this.client.post("/api/entities",{messages:e.filter(n=>n.text)},{version:"v1"})).entities})}getTemporaryExchangeToken(){return g(this,null,function*(){return(yield this.client.get("/auth/exchange-token")).jwt})}exchangeTokenForAccessCookie(e){return g(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})})}authenticateWithKey(e,o){return g(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",z(o),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return g(this,arguments,function*(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(yield this.client.post(`/api/conversations/${e}/recommend/${n}`,z(o),{abortLatest:!0,version:"v1"})).map(i=>x(f({},M(i)),{text:i.text||i.url||i.message,source:n,type:n})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return g(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/autocomplete`,z(o),{abortLatest:!0,version:"v1"})).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))})}getPinnedMessages(e){return g(this,null,function*(){let o=yield this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0,version:"v1"});return M(o).map(n=>x(f({},n),{text:n.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return g(this,null,function*(){let o=yield this.client.post("/api/style-suggestions",z(e),{abortLatest:!0,version:"v1"});return M(o)})}search(e){return g(this,null,function*(){let o=yield this.client.post(`/api/profiles/${e.profile}/search`,z(e),{version:"v2"});return M(o)})}knowledgeAssist(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=yield this.client.post(`/api/knowledge-assist/assistants/${n}/search`,z({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(l=>({question:l.question,answer:l.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return M(d)})}requestLoginByEmail(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return M(o)})}requestPasswordlessToken(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return M(e.token)})}getCsrfToken(){return g(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return M(o)})}evaluateRule(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=new URLSearchParams;s.raiseForFailingConditions&&d.set("raise_for_failing_conditions","true");let l=yield this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${d.toString()}`,n,{version:"v2"});return l?M(l.cues):[]})}getSummary(n){return g(this,arguments,function*(e,o={}){let s=yield this.client.post("/api/summary",{conversation:{messages:e.filter(r=>r.text&&r.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model},{version:"v1"});return M(s)})}evaluateAssistant(e,o){return g(this,null,function*(){var r;let n=new URLSearchParams;n.append("enforce_cues_schema","true"),o.conversationId&&n.append("conversation_id",o.conversationId);let s=yield this.client.post(`/api/v2/assistants/${e}/evaluate?${n.toString()}`,{input:(r=o.input)!=null?r:{},conversation:o.transcript});return M(s.output)})}getRules(){return g(this,null,function*(){let e=new URLSearchParams,o=yield this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{useCache:!0});return M(o)})}translateMessages(e){return g(this,null,function*(){let o=yield this.client.post("/api/translate",z(e),{version:"v2"});return M(o)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(yi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};pt.exchangeTokenPromise=null;var $e=pt;var ko=class{constructor(e,o){this.url=e;this.eventListeners={};this.options=f({timeout:25e3},o)}proxyEvent(e){this.eventSource.addEventListener(bs(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,M(s))}catch(s){w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var rp;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||(e.AutoflowSessionState={}))})(rp||(rp={}));var Ro=class{constructor(e,o={}){this.apiUrl=e;this.streams={};this.logger=w;this.client=new qe(e,o)}getCustomMessages(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/suggestions`);return M(o.suggestions)})}sendCustomMessage(e,o){return g(this,null,function*(){let n=yield this.client.post(`/sessions/${e}/messages`,z(o));return M(n)})}answerCustomMessage(e,o){return g(this,null,function*(){yield this.client.post(`/sessions/${e}/answers`,z(o))})}getAutoflows(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/autoflows`);return M(o.autoflows)})}startAutoflowSession(e){return g(this,null,function*(){let o=yield this.client.post("/autoflow-sessions",z(e));return M(o)})}stopAutoflowSession(e){return g(this,null,function*(){yield this.client.delete(`/autoflow-sessions/${e}`)})}openStream(e){return this.streams[e]||(this.streams[e]=new ko(`${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 rS,configureStore as iS}from"@reduxjs/toolkit";import{createSlice as Yv}from"@reduxjs/toolkit";var ip={startTime:null,stopTime:null},ap=Yv({name:"handlingTime",initialState:ip,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(F,()=>ip)}}),{handlingTimeStart:lp,handlingTimeStop:es,handlingTimeReset:dp}=ap.actions,cp=ap.reducer;var pp=(t={})=>{let e=f({onAuthError:ft(!1)},t);return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as eS,createSlice as tS}from"@reduxjs/toolkit";var ts={list:{keywordMatches:[]},fetchState:"idle"};var ut=eS("styleSuggestions/getAll",(o,n)=>g(void 0,[o,n],function*({text:t},e){var d;let{deepdeskAPI:s}=e.extra,r=e.getState(),{showStyleSuggestions:i}=r.settings,a=(d=r.conversation.current)==null?void 0:d.profileCode;if(!i)return ts.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),oS=tS({name:"styleSuggestions",initialState:ts,reducers:{},extraReducers:t=>{t.addCase(ut.pending,e=>{e.fetchState="loading"}).addCase(ut.rejected,e=>{e.fetchState="error"}).addCase(ut.fulfilled,(e,o)=>{e.fetchState="done",Oe(e.list,o.payload)||(e.list=o.payload)}).addCase(Qe,e=>{e.list=ts.list}).addCase(F,()=>ts)}}),up=oS.reducer;var mp=(t={})=>{let e,o=!0,n=f({getStyleSuggestions:ut,debounce:500},t);return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:p}=l.input;return p===a&&!o||(clearTimeout(e),p==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:p}))},t.debounce)),d}};function nS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var gp=(t={})=>{let e=f({getTextSuggestions:he,getAutocompleteSuggestions:mo,debounce:200,check:ve},t),o;return n=>s=>r=>{var h;let{input:i}=n.getState(),a=s(r),d=n.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,u=(h=d.conversation.current)==null?void 0:h.id,p=r.type===hn.toString();if(!u||!l&&!c)return a;let{input:m}=d;return nS(m,i)&&!p||(clearTimeout(o),!e.check(d))||(o=setTimeout(()=>{let S=St(d);S===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(S))},p?0:e.debounce)),a}};var fp=ut.fulfilled.toString();function sS(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var hp=t=>e=>o=>n=>{var l;if(n.type!==fp){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=sS(s,i);n.type===fp&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var aS=rS({assistants:el,answer:yl,auth:ki,autoflows:Jd,conversation:Li,contentTypes:Ea,customMessages:ac,passwordlessToken:pc,entities:qa,knowledgeAssistant:gl,handlingTime:cp,info:Xi,input:Vi,settings:Si,profile:dl,search:na,styleSuggestions:up,ui:nd,rules:hc,textSuggestions:Ml});function yp(t){return iS({reducer:aS,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),pp(),gp({debounce:200}),mp({debounce:500}),hp(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var lS=t=>{var e,o;return(o=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?o:"unknown"},dS=t=>e=>o=>n=>{var a,d,l,c,u,p,m;let s=e.getState(),r=hs("inlineSuggestions")(s);switch(n.type){case ft.toString():{!n.payload&&t.emit("logout",void 0);break}case me.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 Y.toString():t.sendEvent(n.payload.name,{conversationId:((d=n.payload.options)==null?void 0:d.includeConversationData)&&((l=s.conversation.current)==null?void 0:l.id),data:n.payload.data});break;case Qe.toString():t.logSendMessage(n.payload);break;case at.fulfilled.toString():n.isBroadcasted||t.broadcast(Es,n,!1),(c=n.payload.options)!=null&&c.shouldEmit&&t.emit("cues",n.payload.cues);break;case mn.toString():t.emit("call-to-action",{cue:n.payload});break;case Be.fulfilled.toString():n.isBroadcasted||t.broadcast(ks,n,!1);break;default:break}let i=o(n);switch(n.type){case Qe.toString():t.handleAfterSendMessage(n.payload);break;case go.toString():t.onUpdateShowTabHint(n.payload);break;case es.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case Vo.toString():{let{start:y,end:h}=s.input.selection;t.emit("replace",x(f({},n.payload),{replace:n.payload.replace==="selection"?{start:y,end:h}:{start:0,end:h}}));break}case ce.toString():{let{start:y,end:h}=s.input.selection;t.emit("select-suggestion",x(f({type:lS(n.payload.suggestion)},n.payload),{replace:n.payload.replace==="selection"?{start:y,end:h}:{start:0,end:h}})),r&&e.dispatch(_e([]));break}case Wo.toString():t.emit("select-image",n.payload),t.sendEvent("Image attached",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case _e.toString():{r&&n.payload.length>0&&e.dispatch(qo(0));break}case Tt.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{summary:n.payload,assistant:(m=e.getState().profile.data)==null?void 0:m.summarizerAssistantNew}});break}default:break}return i},vp=dS;function jr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Sp(t,e){var r,i,a,d;let o=(r=t.conversation.current)==null?void 0:r.id;if(!o)return w.warn("No conversationId for handling time metrics"),null;let{startTime:n,stopTime:s}=t.handlingTime;return!n||!s?(w.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:o,clientVersion:e.version,agentId:(i=t.info.agentInfo)==null?void 0:i.agentId,agentName:(a=t.info.agentInfo)==null?void 0:a.agentName,agentEmail:(d=t.info.agentInfo)==null?void 0:d.agentEmail,timeStart:jr(n),timeStop:jr(s)}}function xp(t,e,o){var U,G,N,K;let n=(U=e.conversation.current)==null?void 0:U.id;if(!n)return w.warn("No conversationId for send message metrics"),null;let{text:s,metrics:{numCharsTyped:r,numCharsPasted:i,numCharsCut:a,numCharsDeleted:d,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:u,pastes:p,cuts:m,deletions:y,textSuggestions:h,offeredTextSuggestions:S}}=e[t],k=s.length,b=h.reduce((le,{text:ee,searchTerm:Po})=>le+ee.length-(Po?Po.length:0),0),I=c!=null?c:Date.now(),E=(Date.now()-I)/1e3+(u||0),_=r/E,A=h.reduce((le,{searchTerm:ee})=>le+(ee?ee.length:0),0);return{conversationId:n,source:"agent",text:s,clientVersion:o.version,pastes:p,cuts:m,deletions:y,lenTextTyped:r+A,lenTextTotal:k,lenTextAssisted:b,lenTextPasted:i,lenTextCut:a,lenTextDeleted:d,timeTotalSeconds:E,charsPerSecond:_,numPastes:l,textSuggestionsV2:h,suggestionsCounters:[{source:"gpt",countOffered:S.filter(le=>le.source==="gpt").length}],agentId:(G=e.info.agentInfo)==null?void 0:G.agentId,agentName:(N=e.info.agentInfo)==null?void 0:N.agentName,agentEmail:(K=e.info.agentInfo)==null?void 0:K.agentEmail}}function Qr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Qr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Qr(s,e):null}function bp(t,e){return Qr(t,e)}function Cp(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function cS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Xr(t){return cS(t)&&(Ue(t)||An(t))}var Tp,be=new Map,pS=["bottom","height","left","right","top","width"],wp=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:pS.some(o=>t[o]!==e[o]);function Ep(t){var o,n,s;if(t.ownerDocument===document)return[];let e=(s=(n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)!=null?s:null;return e?[e,...Ep(e)]:[]}function kp(t,e){return!t||!e?null:x(f({},t),{top:t.top+e.top,left:t.left+e.left})}var os=!1,Rp=()=>{os=!0;let t=[];if(be.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),be.delete(o);return}let n=o.getBoundingClientRect();wp(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(kp,e.rect):e.rect;wp(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),be.size===0){os=!1;return}Tp=window.requestAnimationFrame(Rp)};function Zr(t,e){let o=Ep(t),n=[],s=o.map((r,i)=>Zr(r,a=>{n[i]=a;let d=be.get(t);if(!d)return;let l=n.reduce(kp,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),be.has(t)){let i=be.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else be.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!os&&Rp()},unobserve(){s.forEach(i=>i.unobserve());let r=be.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||be.delete(t),be.size||(cancelAnimationFrame(Tp),os=!1)}}}}var Pp,Ce=new Map,Ip=()=>{Ce.forEach((t,e)=>{if(!e.isConnected){Ce.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)))}),Ce.size!==0&&(Pp=window.requestAnimationFrame(Ip))};function Ap(t,e){return{observe(){let o=Ce.size===0;Ce.has(t)?Ce.get(t).callbacks.push(e):Ce.set(t,{visible:void 0,callbacks:[e]}),o&&Ip()},unobserve(){let o=Ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ce.delete(t),Ce.size||cancelAnimationFrame(Pp)}}}}var Jr=["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 Yr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function zt(t){return parseFloat(t)}function ns(t){return Math.round(t*1e6)}function Lp(t){return t/1e6}function ei(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=zt(t.width),r=zt(t.borderLeftWidth),i=zt(t.borderRightWidth),a=zt(t.paddingRight),d=Lp(ns(s)-ns(r)-ns(i)),l=Lp(ns(n));if(d-l>2){let c=d-l;o.style.paddingRight=`${a+c}px`}}function ss(t,e={}){var c,u;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=(c=e.position)!=null?c:"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",st(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Yr(n,o,Jr),ei(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Ap(t,()=>{Yr(n,o,Jr),ei(n,t,o),r(),setTimeout(r,0)}),a,d=!0,l=Zr(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Yr(n,o,Jr),ei(n,t,o),r(),o.style.top=`${p.top}px`,o.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let m=e.closestScrollElement.getBoundingClientRect(),y=window.getComputedStyle(e.closestScrollElement),h=zt(y.borderTopWidth),S=zt(y.borderBottomWidth),k=m.top+h-p.top,C=p.top+p.height+-(m.top+m.height-S);o.style.clipPath=`inset(${k}px 0px ${C}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(u=t.parentElement)==null||u.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var Mp=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch(n){return e}}catch(o){return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch(n){w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function uS(t){return t.offsetParent!==null}function Np(t){if(!uS(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 ti(t,e,o=100){let n=Np(t);e({isVisible:n});let s=setInterval(()=>{let r=Np(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as W}from"react/jsx-runtime";var Op=Mp("showTabHint",!0),Wt=class Wt{constructor({deepdeskUrl:e,brokerUrl:o,version:n=Wt.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:d}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.widgetRoot=null;this.dynamicThunkObject={};this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new $e(l,{token:r,fetch:i}),this.version=n,this.instanceId=Wt.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[vp({broadcast:(u,p,m)=>{this.broadcastEvents.send(u,p,m)},emit:(u,p)=>this.emit(u,p),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>Op.update(u),sendEvent:(u,p)=>this.deepdeskApi.sendEvent(u,p)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new Ro(o)}),this.store=yp(c),this.broadcastEvents=new np({debug:!0,deepdeskUrl:l,eventMap:sa(this.store),createCustomChannel:d}),this.store.dispatch(go(Op.value())),this.store.dispatch(Fo({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(ft(null)),this.store.dispatch(Te()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();J(n)&&xi(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}isLoggedIn(){return g(this,null,function*(){return(yield this.store.dispatch(Te())).payload})}isConversationSupported(e,o){return g(this,null,function*(){return(yield this.store.dispatch(vs({sessionId:e,options:o}))).payload})}createConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(Ho(e))).payload})}getConversationBySessionId(e,o){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(yield this.store.dispatch(Bo({sessionId:e,options:o}))).payload})}upsertConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(Ss(e))).payload})}postMessages(e){return g(this,null,function*(){return(yield this.store.dispatch(Uo(e))).payload})}updateConversation(e){return g(this,null,function*(){return(yield this.store.dispatch(Ko(e))).payload})}resetConversation(){this.store.dispatch(F()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Fo(e))}setVisitorInfo(e){this.store.dispatch(Gi(e))}setCustomData(e){this.store.dispatch(ji(e))}setAgentInfo(e){return g(this,null,function*(){yield this.store.dispatch(Xt(e))})}setAgentSettings(e){return g(this,null,function*(){yield this.store.dispatch(ws(e))})}getAgentSettings(){return g(this,null,function*(){return(yield this.store.dispatch(Ts())).payload})}refresh(){return g(this,null,function*(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.store.dispatch($o({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()}));let e=[];return this.store.dispatch(hn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}notifyExternalSuggestion(e){this.store.dispatch(ce(e))}evaluateRule(s){return g(this,arguments,function*(e,o={},n=uc){return(yield this.store.dispatch(at({label:e,params:o,options:n}))).payload.cues})}evaluateAssistant(n){return g(this,arguments,function*(e,o={}){let c=o,{input:s={},transcript:r,showCuesInWidget:i=!0,includeTags:a}=c,d=O(c,["input","transcript","showCuesInWidget","includeTags"]);Object.assign(s,d);let l=yield this.store.dispatch(Be({assistantCode:e,transcript:r,includeTags:a,input:s,skipState:!i}));if(l.error)throw new Error(l.error.message);return l.payload})}evaluateConversationAssistant(e,o){return g(this,null,function*(){yield this.loadProfileConfig();let n={accepted:"conversationAcceptedAssistant","new-message":"conversationNewMessageAssistant",ended:"conversationEndedAssistant"},s=this.state.profile.data[n[e]];if(!s){w.warn(`No assistant set in profile for conversation event "${e}"`);return}yield this.evaluateAssistant(s,f({transcript:"stored-transcript",includeTags:!0},o))})}getSummary(){return g(this,null,function*(){var o;if(!this.hasConversation())return w.warn("No conversation to create summary for."),null;(o=this.state.profile.data)!=null&&o.summarizerAssistantNew||w.warn("No profile loaded yet, or no summarizer assistant set in profile");let e=yield this.store.dispatch(Tt({}));if(e.error)throw new Error(e.error.message);return e.payload})}handleKeyDown(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,showTextSuggestions:d}=this.state.settings,l=a?"below":"above",c=s.length>0;if(!ve(this.state)||(this.store.dispatch(_i(xs(e))),e.key!=="Tab"&&!d))return;let u=()=>{o||!c||i&&(e.shiftKey||(this.store.dispatch(Bi()),e.preventDefault()))},p=()=>{o||!c||a&&r<=0||i&&(e.shiftKey||(this.store.dispatch(Ki()),e.preventDefault()))};switch(e.key){case"ArrowUp":l==="below"?p():u();break;case"ArrowDown":{l==="below"?u():p();break}case"Escape":{o||(this.store.dispatch(qo(-1)),this.store.dispatch(Ke({collapse:!0})),this.store.dispatch(td(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let m=xt(this.state);if(!m)return;this.store.dispatch(go(!1)),this.store.dispatch(ce({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(this.state.settings.inlineSuggestions||this.state.input.selectedSuggestionIndex===-1)return;let m=xt(this.state);if(!m)return;this.store.dispatch(ce({text:m.text,suggestion:m,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(this.state.settings.inlineSuggestions||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let m=xt(this.state);if(!m)return;this.store.dispatch(ce({text:m.text,suggestion:m,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}o&&n&&this.store.dispatch(Ke({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(_e([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(lp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(es()))}logSendMessage(e){let o=xp("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=Sp(this.state,{version:this.version});e&&(this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(dp()))}notifySubmit(e={}){var o;this.shouldAbort()||(this.store.dispatch(Qe((o=e.text)!=null?o:this.state.input.text)),this.store.dispatch(zi()))}emit(e,o){let n=this.eventListeners[e];n&&n.forEach(s=>{try{s(o)}catch(r){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(r)}})}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}setPlatformVariables(e){this.store.dispatch(Qi(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]=ss(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{rs(r),i(),r.remove()}),r}createInlineContainer(e,o){var a;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=(a=e.ownerDocument.defaultView)==null?void 0:a.frameElement,i=r?r.ownerDocument.defaultView:null;if(r&&(i===window||(i==null?void 0:i.parent)===window)){let[d,l]=ss(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=o,d.style.zIndex="2",d.appendChild(n),this.unmountHandlers.push(()=>{rs(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return st(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(()=>{rs(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ui(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Xr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,isEmbedded:u,detectSubmit:p,insertLink:m,inputMediator:y,closestScrollSelector:h,appendOverlayTo:S,inlineSuggestions:k,floatingMenu:C}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:u,inlineSuggestions:k,floatingMenu:!!C}),o.automaticHandlingTime&&this.setupHandlingTime(e),st(e),this.inputMediator=y||(Ue(e)?new Bt(e):new Ht(e)),this.inputMediator.on("change",({plainText:E,rawHTML:_})=>{this.store.dispatch($o({text:E,html:_}))}),this.inputMediator.on("keyup",E=>{this.store.dispatch(Fi(xs(E)))}),this.inputMediator.on("keydown",E=>{this.handleKeyDown(E)}),this.inputMediator.on("paste",({pastedText:E,selectionText:_})=>{this.store.dispatch(Hi({text:E,selectionText:_}))}),this.inputMediator.on("cut",({selectionText:E})=>{this.store.dispatch(Di(E))});let b;this.inputMediator.on("selection",E=>{clearTimeout(b),E===null?b=setTimeout(()=>{E!==null&&this.store.dispatch(Go(E))},500):this.store.dispatch(Go(E))}),this.inputMediator.on("disabled",()=>{var E;(E=this.inputMediator)==null||E.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(bn(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(bn(!0))});let I=h&&bp(e,h)||void 0;if(k){let{customStyles:E,appendOverlayTo:_}=o;if(Ue(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let A=this.createInlineContainer(e,"deepdesk-caret");Vt(W(rt,{store:this.store,customStyles:E,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(cd,{})})}),A),this.inputMediator.on("caretposition",G=>{G?(A.style.display="block",A.style.top=`${G.top}px`,A.style.left=`${G.left}px`):A.style.display="none"});let U=this.overlayContainerFactory("floating-menu",I||e,{appendTo:typeof C=="object"&&"appendOverlayTo"in C?C.appendOverlayTo:_},E==null?void 0:E.floatingMenuRootNode);Vt(W(rt,{store:this.store,customStyles:E,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(Yl,{onLogIn:()=>this.loginViaPopup().catch(G=>w.warn(G.message))})})}),U)}else{let E=this.overlayContainerFactory("deepdesk-tab-completion",I||e,{appendTo:S,closestScrollElement:I,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),_=this.overlayContainerFactory("deepdesk-suggestions-overlay",I||e,{appendTo:S},n==null?void 0:n.suggestionsRootNode);Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W($d,{inputElement:e})})}),E),Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(xd,{onLogIn:()=>this.loginViaPopup().catch(A=>w.warn(A.message))})})}),_)}Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(Gl,{})})}),this.createContainer("deepdesk-overlays")),this.store.dispatch($o({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()})),this.store.dispatch(Go(this.inputMediator.getSelection())),this.store.dispatch(bn(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{var E;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((E=this.state.conversation.current)==null?void 0:E.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&w.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Vt(W(rt,{store:this.store,customStyles:n,children:W(Ze,{broadcastEvents:this.broadcastEvents,children:W(Jc,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&rs(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=ti(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Cp(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(()=>g(this,null,function*(){yield this.store.dispatch(lo());let e=ge(this.state);e&&(yield this.store.dispatch(po()),this.store.dispatch(Fo({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:!!e.summarizerAssistantNew||e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))})),this.loadProfileConfigPromise)}loginViaPopup(e){return g(this,null,function*(){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=m=>g(this,null,function*(){var y,h;if((y=m.data)!=null&&y.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((h=m.data)==null?void 0:h.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(Jt),d=!0,s.port1.close(),o()}catch(S){console.error(S),n(S)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let u=m=>g(this,null,function*(){var y;if(m.origin===a.origin)switch((y=m.data)==null?void 0:y.type){case"deepdesk-popup-loaded":{try{let h=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(h,a.origin,[s.port2])}catch(h){w.error("Error posting message to popup",h),n(h)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}});window.addEventListener("message",u);let p=setInterval(()=>{c&&!c.closed||(l(),d||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}checkForTrialMode(e){return g(this,null,function*(){try{let{account:o}=yield this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!(yield this.deepdeskApi.checkUserExists(e)))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}})}refreshWidgetSuggestions(){return g(this,null,function*(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=gn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(me()):Do.includes(n)||this.store.dispatch(he(n))})}catch(n){this.handleError(n)}})}};Wt.version="14.1.1-beta.11",Wt.count=0;var is=Wt;function mS(t){return g(this,null,function*(){var s,r,i;let o=yield((s=t.fetch)!=null?s:window.fetch)(t.url),n=yield o.blob();return new File([n],t.name,{type:(i=(r=t.mimeType)!=null?r:o.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function gS(t,e){return g(this,null,function*(){let o=yield mS(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}})}function fS(t,e,o){return g(this,null,function*(){yield new $e(t).authenticateWithKey(e,o)})}function hS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function yS(n,s){return g(this,arguments,function*(t,e,o={}){var u,p;let{value:r}=t,{start:i,end:a}=(u=o.replace)!=null?u:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(p=o.selectionAfter)!=null?p:{start:i+e.length,end:i+e.length},c=()=>{if(o.setValue)return o.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function vS(n,s){return g(this,arguments,function*(t,e,o={}){let r=o.replace?ct(t,o.replace.start,o.replace.end):Eo(t),i,a=()=>{if(o.setRange)return o.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),o.insertBRs!==!1?e.split(`
|
|
11
11
|
`).reverse().forEach((d,l)=>{l>0&&r.insertNode(document.createElement("br")),r.insertNode(document.createTextNode(d))}):r.insertNode(document.createTextNode(e))};return Promise.resolve(a()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let d=o.selectionAfter?ct(t,o.selectionAfter.start,o.selectionAfter.end):(r.collapse(!1),r),l=window.getSelection();l==null||l.removeAllRanges(),l==null||l.addRange(d)}if(!i)return;i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}function SS(t){let e=document.createElement("template");return e.innerHTML=t.replace(/(\[([^\]]+)])\(([^)]+)\)/g,'<a href="$3" target="_blank" rel="noopener noreferrer">$2</a>'),e.content}function xS(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 Dp(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):Dp(o,e)}function bS(s,r){return g(this,arguments,function*(t,e,{isBlock:o,isHTML:n}={}){let i;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let a=()=>{var p;let d=(p=t.ownerDocument.defaultView)!=null?p:window,l=d.getSelection();if((!l||l.rangeCount===0)&&(t.focus(),l=d.getSelection()),!l||l.rangeCount===0)return;let c=l.getRangeAt(0);if(!c)return;i=document.createElement("span"),c.insertNode(i);let u=n?SS(e):xS(e);o?Dp(c.startContainer,u):(c.insertNode(u),c.collapse(!1))};return Promise.resolve(a()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!i)try{i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}export{B as Card,Ht as ContentEditableInput,$e as DeepdeskAPI,is as DeepdeskSDK,qe as HTTPClient,Ve as InputMediator,jt as InputType,cs as KeyboardHint,ps as Label,_o as Locale,we as Section,ms as SectionList,Ne as Sources,D as Suggestion,se as SuggestionList,Bt as TextAreaInput,gt as ToggleButton,gS as attachFile,fS as authenticateWithKey,Eo as createFullRange,ss as createOverlayContainer,ct as createRangeFromOffsets,io as escapeHTML,hS as formatTextMarkup,Zn as getRangeOffsets,Jn as getRangeText,bS as insertCKEditor,Vs as isHTML,Xr as isSupportedInputElement,vS as updateContentEditable,yS as updateTextArea,nt as useClickOutsideRoot,v as useStyles,ti as waitForElementVisibilityChange};
|