@deepdesk/deepdesk-sdk 10.10.3 → 10.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +2 -2
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.esm.js +2 -2
- package/dist/index.iife.js +2 -2
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
var Td=Object.defineProperty;var q=(t,e)=>{for(var o in e)Td(t,o,{get:e[o],enumerable:!0})};import ds from"classnames";import Pd,{createContext as Ad,useContext as us,useEffect as Ld,useState as Md}from"react";import Ed,{useContext as kd}from"react";import Id from"classnames";var zt=Ed.createContext({});function y(t,e){let{debug:o,...n}=kd(zt),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let l=s[i];return{...r,[i]:Id(a,l,o?`${t}__${i}`:!1)}},{}):e}var ai={root:"_root_vr71j_1"};import{jsx as Io,jsxs as Rd}from"react/jsx-runtime";var Ro=()=>Rd("svg",{className:ai.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[Io("defs",{children:Io("style",{children:".cls-1 { fill: #b3b3b3; }"})}),Io("title",{children:"Failed loading image"}),Io("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 ps={root:"_root_4e7lf_1",imageWrapper:"_imageWrapper_4e7lf_7",image:"_image_4e7lf_7",content:"_content_4e7lf_24",title:"_title_4e7lf_35",contentIsCropped:"_contentIsCropped_4e7lf_45",lineClamp:"_lineClamp_4e7lf_51"};import{jsx as ct}from"react/jsx-runtime";var Po=Ad(ps),Nd=({title:t,src:e})=>{let o=us(Po),[n,s]=Md(!1);return Ld(()=>{s(!1)},[e]),ct("div",{className:o.imageWrapper,children:e&&!n?ct("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):ct(Ro,{})})},Od=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=us(Po);return ct("div",{className:ds(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Dd=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=us(Po);return Pd.createElement(t,{className:ds(r.title,o,{[r.contentIsCropped]:e}),...s},n)},Ao=({children:t})=>{let e=y("Card",ps);return ct("div",{className:ds(e.root),children:ct(Po.Provider,{value:e,children:t})})};Ao.Image=Nd;Ao.Content=Od;Ao.Title=Dd;var B=Ao;import Hd from"classnames";var li={root:"_root_cq1yq_1"};import{jsx as Kd}from"react/jsx-runtime";var Bd={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},Fd=({className:t,keyCode:e,...o})=>{let n=y("KeyboardHint",li);return Kd("span",{"data-key":Bd[e],className:Hd(t,n.root),...o})},gs=Fd;import Ud from"classnames";var ci={root:"_root_4a08n_1"};import{jsx as zd}from"react/jsx-runtime";var jd=({className:t,children:e,...o})=>{let n=y("Label",ci);return zd("span",{...o,className:Ud(t,n.root),children:e})},ms=jd;var pi={root:"_root_jlggj_1",subTitleContainer:"_subTitleContainer_jlggj_5",subtitle:"_subtitle_jlggj_9",suggestions:"_suggestions_jlggj_17"};import{jsx as fs,jsxs as qd}from"react/jsx-runtime";var Vd=({title:t,children:e,type:o,...n})=>{let s=y("Section",pi);return qd("section",{...n,className:s.root,"data-section-type":o,children:[t&&fs("div",{className:s.subTitleContainer,children:fs("span",{className:s.subtitle,children:t})}),fs("div",{className:s.suggestions,children:e})]})},Ve=Vd;import Wd from"classnames";import Gd from"react";var di={root:"_root_19wxp_1"};import{jsx as Xd}from"react/jsx-runtime";var $d=Gd.forwardRef(({className:t,children:e},o)=>{let n=y("SectionList",di);return Xd("div",{ref:o,className:Wd(n.root,t),children:e})}),hs=$d;import Lo from"classnames";import Zd,{createContext as Qd,useCallback as Jd,useContext as Vt}from"react";var ys={root:"_root_ipo0b_11",fadein:"_fadein_ipo0b_1",isClickable:"_isClickable_ipo0b_46",isSelected:"_isSelected_ipo0b_51",actions:"_actions_ipo0b_75",actionsIsFixed:"_actionsIsFixed_ipo0b_97",actionButton:"_actionButton_ipo0b_105",dropdownList:"_dropdownList_ipo0b_126",dropdownButton:"_dropdownButton_ipo0b_141",dropdownItem:"_dropdownItem_ipo0b_151",dropdownItemButton:"_dropdownItemButton_ipo0b_160",actionButtonIsPrimary:"_actionButtonIsPrimary_ipo0b_174",actionButtonIsDisabled:"_actionButtonIsDisabled_ipo0b_178",labels:"_labels_ipo0b_186",label:"_label_ipo0b_186"};import{jsx as Se,jsxs as nu}from"react/jsx-runtime";var pt=Qd(ys),Yd=({fixed:t,children:e,...o})=>{let n=Vt(pt);return Se("div",{...o,className:Lo(n.actions,{[n.actionsIsFixed]:t}),children:e})},eu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=Vt(pt);return nu("div",{className:Lo(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,Se("ul",{className:r.dropdownList,children:s})]})},tu=({index:t,label:e,onClick:o})=>{let n=Vt(pt);return Se("li",{className:n.dropdownItem,children:Se("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},ou=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=Vt(pt);return Se("button",{type:"button",className:Lo(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},vs=({labels:t})=>{let e=Vt(pt);return Se("div",{className:e.labels,children:t.map(o=>Se("span",{className:e.label,children:o},o))})},dt=Zd.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=y("Suggestion",ys),l=Jd(c=>{c.preventDefault(),o&&o(c)},[o]);return Se(s,{...r,ref:i,className:Lo(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:l,children:Se(pt.Provider,{value:a,children:n})})});dt.Labels=vs;dt.Actions=Yd;dt.ActionButton=ou;dt.DropdownButton=eu;dt.DropdownItem=tu;var D=dt;import su from"classnames";var ui={root:"_root_fp74r_1",isWithDivider:"_isWithDivider_fp74r_9"};import{jsx as iu}from"react/jsx-runtime";var ru=({withDivider:t,children:e})=>{let o=y("SuggestionList",ui);return iu("div",{"data-testid":"suggestions-overlay-list",className:su(o.root,{[o.isWithDivider]:t}),children:e})},re=ru;import au from"classnames";var gi={root:"_root_1wpmq_1",isCollapsed:"_isCollapsed_1wpmq_17"};import{jsx as Ss}from"react/jsx-runtime";var lu=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=y("ToggleButton",gi);return Ss("button",{type:"button",className:au(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:Ss("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Ss("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},ut=lu;var mi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,gt=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var fi=/x-deepdesk-(([a-z0-9\-_])+-version)/,ue=(f=>(f.SEARCH="search",f.TEMPLATE="template",f.ELASTIC_SEARCH="search-autocomplete",f.GPT="gpt",f.TRIE="trie",f.TRIE_WITH_TYPOS="trie-with-typos",f.SEMANTIC="semantic",f.TEXT_RECOMMENDATION="text_recommendation",f.URL_RECOMMENDATION="url_recommendation",f.LINK_RECOMMENDATION="link_recommendation",f.PERSONAL_COLLECTION="personal-collection",f.PERSONAL_COLLECTION_SEARCH="personal-collection-search",f.SEARCH_OVERLAY="search-overlay",f.SEARCH_PREVIEW="search-preview",f.SEARCH_URL="search-url",f))(ue||{}),qe=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(qe||{});import{render as Kt,unmountComponentAtNode as as}from"react-dom";import{Fragment as Jf}from"react";import{createSlice as cu}from"@reduxjs/toolkit";import{useSelector as pu}from"react-redux";var Mo=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(Mo||{});var du={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,showAutoflows:!1,showCustomMessages:!1,showImages:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!1,showMidSentenceSuggestions:!1,showSuggestionsBeforePattern:!1,showSuggestionsAfterPattern:!1,showTabCompletion:!0,showTextSuggestions:!0,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,textSuggestionsCount:3,recommendTextSuggestions:!0,searchTriggerKey:"k",visible:!0,insertLink:!1,inlineSuggestions:!1,floatingMenu:!1,adminUrl:void 0,productName:"Deepdesk"},hi=cu({name:"settings",initialState:du,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:qt}=hi.actions,_s=t=>e=>e.settings[t],C=t=>pu(_s(t)),yi=hi.reducer;import{useState as Pm}from"react";import{useDispatch as Am,useSelector as dr}from"react-redux";import{createAction as We,createSlice as Su}from"@reduxjs/toolkit";import{diffChars as _u}from"diff";import{useSelector as xu}from"react-redux";function vi(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Ae(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)=>Ae(r,e[i],o-1)):vi(t)&&vi(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Ae(t[i],e[i],o-1)):!1}function uu(t){return Math.max(...t.map(e=>e.length))}function gu(t,e){let o=t.reduce((n,s)=>{if(s){let r=n[s]?n[s]+1:1;return{...n,[s]:r}}return n},{});return Object.keys(o).reduce((n,s)=>(o[s]<e&&n.push(s),n),[])}function Si(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<uu(n);s++){let r=gu(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 mu=2;function xs(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=Si(t,mu);return o&&o.text!==e?o:t[0]}import{createAction as fu,createAsyncThunk as mt,createSlice as hu}from"@reduxjs/toolkit";var _i={current:null,isSupported:null},M=fu("resetConversation"),No=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},Oo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},ft=t=>t.conversation.isSupported,bs=mt("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Do=mt("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Ho=mt("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),Bo=mt("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Oo(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),Cs=mt("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:l}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),Fo=mt("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Oo(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),yu=[Do.rejected,Ho.rejected,Bo.rejected,Fo.rejected].map(t=>t==null?void 0:t.toString()),vu=hu({name:"conversation",initialState:_i,reducers:{},extraReducers:t=>{t.addCase(bs.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Do.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Ho.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Cs.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Bo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Fo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(M,()=>_i).addMatcher(e=>yu.includes(e.type),(e,o)=>{throw new Error(o.error.message)})}}),xi=vu.reducer;var Le={text:"",html:null,selection:{start:0,end:0},stagedSuggestion:null,userCommitted:{text:"",selection:{start:0,end:0}},tabCompletionSuggestion:void 0,previousKeyDownEvent:null,textSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,externalTimeTotalSeconds:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function Uo(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 jo=We("input/replaceText"),zo=We("input/keyDown"),Ge=We("input/sendMessage"),Vo=We("input/sendEditSuggestionMessage"),qo=We("input/uiInputChange"),Wo=We("input/applyImageSuggestion"),W=We("input/sendEvent");function Ko(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:l},eventMetrics:{inputType:c},replace:p}=t.stagedSuggestion,d=o==="search"||o==="personal-collection-search",g=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(d||p==="selection")&&(g=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(g=l),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:g,source:o,abVariant:n,abTestName:s,inputType:c,sourceText:i,trainingJobs:r||[],searchTerm:d?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var bi=t=>Su({name:t,initialState:Le,reducers:{initialInput(e,o){let{text:n,selection:s,html:r}=o.payload;e.text=n,e.selection.start=(s==null?void 0:s.start)??n.length,e.selection.end=(s==null?void 0:s.end)??n.length,e.userCommitted.text=n,e.userCommitted.selection.start=(s==null?void 0:s.start)??n.length,e.userCommitted.selection.end=(s==null?void 0:s.end)??n.length,e.html=r||null},reset(e){Object.assign(e,{...Le,selection:e.selection})},resetToCommitted(e){e.text=e.userCommitted.text,e.selection=e.userCommitted.selection,e.stagedSuggestion=null,e.tabCompletionSuggestion=xs(e.textSuggestions,e.userCommitted.text)},changeSelection(e,o){o.payload&&(Ae(e.selection,o.payload)||(e.selection=o.payload,e.userCommitted.selection=e.selection,e.stagedSuggestion&&Ko(e)))},platformInput(e,o){let{text:n,html:s,selection:r}=o.payload;r&&(e.selection.start=r.start,e.selection.end=r.end),e.text=n,e.html=s||null},userInput(e,o){var i,a,l,c;if(e.previousKeyDownEvent){let{key:p,shiftKey:d,ctrlKey:g,metaKey:u,altKey:m}=e.previousKeyDownEvent;switch(p){case"Enter":d&&(e.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:f}=e,{text:h}=o.payload,E=_u(f,h);f.length-h.length>1&&e.metrics.deletions.push(...E.filter(S=>S.removed).map(S=>S.value)),e.metrics.numCharsDeleted+=f.length-h.length;break}case"C":case"V":case"X":if(!g&&!u){e.metrics.numCharsTyped+=1;let f=((i=e.selection)==null?void 0:i.start)!==void 0&&((a=e.selection)==null?void 0:a.end)!==void 0?e.text.substring(e.selection.start,e.selection.end):null;f&&f.length>0&&(e.metrics.numCharsDeleted+=f.length,e.metrics.deletions.push(f))}break;case"Shift":break;default:if(!g&&!u&&!m){e.metrics.numCharsTyped+=1;let f=((l=e.selection)==null?void 0:l.start)!==void 0&&((c=e.selection)==null?void 0:c.end)!==void 0?e.text.substring(e.selection.start,e.selection.end):null;f&&f.length>0&&(e.metrics.numCharsDeleted+=f.length,e.metrics.deletions.push(f))}}}!e.metrics.agentStartedTypingTimestamp&&o.payload.text!==e.text&&(e.metrics.agentStartedTypingTimestamp=Date.now()),o.payload.text===""&&(e.metrics=Le.metrics,e.textSuggestions=[],e.stagedSuggestion=null),e.text!==o.payload.text&&Ko(e);let{text:n,html:s,selection:r}=o.payload;r&&(e.selection.start=r.start,e.selection.end=r.end,e.userCommitted.selection.start=r.start,e.userCommitted.selection.end=r.end),e.text=n,e.html=s||null,e.userCommitted.text=n,e.previousKeyDownEvent=null},stageSuggestion(e,o){let{text:n}=o.payload;switch(e.stagedSuggestion=o.payload,e.tabCompletionSuggestion=void 0,o.payload.replace){case"selection":e.text=`${e.text.slice(0,e.selection.start)}${n}${e.text.slice(e.selection.end)}`,e.selection.end=e.selection.start+n.length,e.selection.start+=n.length;break;case"until-selection-end":e.text=`${n}${e.text.slice(e.selection.end)}`,e.selection.start=n.length,e.selection.end=n.length;break;default:throw new Error(`Unknown replace ${o.payload.replace}`)}o.payload.eventMetrics.inputType==="tab"&&Ko(e)},commitSuggestion(e){Ko(e)},offeredTextSuggestion(e,o){let{text:n,suggestion:{source:s}}=o.payload;e.metrics.offeredTextSuggestions.find(i=>i.text===n)||e.metrics.offeredTextSuggestions.push({text:n,source:s})},registerCut(e,o){let{metrics:n}=e,s=o.payload;e.metrics={...e.metrics,numCharsCut:n.numCharsCut+s.length,cuts:[...n.cuts,s]}},registerPaste(e,o){let{metrics:n}=e,{text:s,selectionText:r}=o.payload,i=n.numCharsDeleted+(r&&r.length?r.length:0),a=r&&r.length?[...n.deletions,r]:n.deletions;e.metrics={...e.metrics,numCharsDeleted:i,deletions:a,numCharsPasted:n.numCharsPasted+s.length,numPaste:n.numPaste+1,pastes:[...n.pastes,s]}},registerKeyDown(e,o){e.previousKeyDownEvent=o.payload},nextTextSuggestionIndex(e){let o=e.textSuggestions.length;e.selectedSuggestionIndex=e.selectedSuggestionIndex<o-1?e.selectedSuggestionIndex+1:e.selectedSuggestionIndex},previousTextSuggestionIndex(e){e.selectedSuggestionIndex=e.selectedSuggestionIndex>=0?e.selectedSuggestionIndex-1:e.selectedSuggestionIndex},setTextSuggestions(e,o){if(e.selectedSuggestionIndex=-1,e.textSuggestions=o.payload,o.payload.length===0)return;let n=e.userCommitted.text.substring(0,e.userCommitted.selection.end),s=xs(o.payload,n);e.tabCompletionSuggestion=s!=null&&s.text.includes(n)?s:void 0},setSelectedTextSuggestionIndex(e,o){e.selectedSuggestionIndex=o.payload},mergeMetrics(e,{payload:o}){let n=o.agentStartedTypingTimestamp!=null?o.agentStartedTypingTimestamp:Date.now(),s=(Date.now()-n)/1e3;e.metrics.externalTimeTotalSeconds=s,e.metrics.numCharsTyped+=o.numCharsTyped,e.metrics.numCharsPasted+=o.numCharsPasted,e.metrics.numCharsCut+=o.numCharsCut,e.metrics.numCharsDeleted+=o.numCharsDeleted,e.metrics.numPaste+=o.numPaste,e.metrics.pastes.push(...o.pastes),e.metrics.deletions.push(...o.deletions)},setMetrics(e,{payload:o}){e.metrics=o}},extraReducers:e=>{e.addCase(M,o=>{o.tabCompletionSuggestion=Le.tabCompletionSuggestion,o.previousKeyDownEvent=Le.previousKeyDownEvent,o.textSuggestions=Le.textSuggestions,o.selectedSuggestionIndex=Le.selectedSuggestionIndex,o.metrics=Le.metrics})}}),ws=bi("input"),ht=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),bu=t=>t.input.selection,Ci=()=>xu(bu),{userInput:wi,changeSelection:Ts,initialInput:Ti,mergeMetrics:Ei,nextTextSuggestionIndex:ki,offeredTextSuggestion:Ii,previousTextSuggestionIndex:Ri,registerCut:Pi,registerKeyDown:Ai,registerPaste:Li,reset:Mi,resetToCommitted:Wt,platformInput:Ni,setSelectedTextSuggestionIndex:Me,setTextSuggestions:ge,stageSuggestion:ie,commitSuggestion:_e,setMetrics:Oi}=ws.actions,Q=bi("overlay");import{useEffect as Hi,useRef as Bi}from"react";var Di={root:"_root_1h19b_1",content:"_content_1h19b_24"};import{jsx as Fi}from"react/jsx-runtime";var Cu=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,overlayAriaLabel:r,contentAriaLabel:i})=>{let a=Bi(null),l=Bi(null),c=y("Dialog",Di);return Hi(()=>{var g,u;let p=m=>{m.key==="Escape"&&(m.preventDefault(),m.stopPropagation(),s())},d=m=>{let f=window.getSelection();f!=null&&f.toString()||m.target===a.current&&t&&n()};return(g=a.current)==null||g.addEventListener("click",d),(u=a.current)==null||u.addEventListener("keyup",p),()=>{var m,f;(m=a.current)==null||m.removeEventListener("click",d),(f=a.current)==null||f.removeEventListener("keyup",p)}},[a,l,s,n]),Hi(()=>{var p,d;!a.current||!t||!e||(d=(p=a.current)==null?void 0:p.querySelector("input, textarea"))==null||d.focus()},[t,e,a]),t?Fi("div",{role:"dialog","data-testid":"dialog",className:c.root,"aria-label":r,ref:a,children:Fi("div",{ref:l,"data-testid":"dialog-content",className:c.content,"aria-label":i,children:o})}):null},yt=Cu;import{useEffect as Za}from"react";import{useDispatch as dm,useSelector as um}from"react-redux";var Es={};q(Es,{enUS:()=>wu,nlNL:()=>Tu});var wu={dismiss:[{type:0,value:"Close"}],add:[{type:0,value:"Add to message"}],next:[{type:0,value:"Next"}],previous:[{type:0,value:"Previous"}],warning:[{type:0,value:"Are you sure you want to discard the message?"}]},Tu={dismiss:[{type:0,value:"Sluiten"}],add:[{type:0,value:"Toevoegen"}],next:[{type:0,value:"Volgende"}],previous:[{type:0,value:"Vorige"}],warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}]};var Ki={root:"_root_jcr8j_1",content:"_content_jcr8j_3",title:"_title_jcr8j_7",actions:"_actions_jcr8j_15",pagination:"_pagination_jcr8j_19",primaryButton:"_primaryButton_jcr8j_50",primaryButtons:"_primaryButtons_jcr8j_54"};import{createContext as Hu,useContext as Bu}from"react";var ks=function(t,e){return ks=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])},ks(t,e)};function Gt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ks(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var oe=function(){return oe=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},oe.apply(this,arguments)};function Ui(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 Go(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 $o;(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"})($o||($o={}));var Xo=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var ae;(function(t){t[t.literal=0]="literal",t[t.argument=1]="argument",t[t.number=2]="number",t[t.date=3]="date",t[t.time=4]="time",t[t.select=5]="select",t[t.plural=6]="plural",t[t.pound=7]="pound",t[t.tag=8]="tag"})(ae||(ae={}));var Zo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Zo||(Zo={}));function Is(t){return t.type===ae.literal}function ji(t){return t.type===ae.argument}function Qo(t){return t.type===ae.number}function Jo(t){return t.type===ae.date}function Yo(t){return t.type===ae.time}function en(t){return t.type===ae.select}function tn(t){return t.type===ae.plural}function zi(t){return t.type===ae.pound}function on(t){return t.type===ae.tag}function nn(t){return!!(t&&typeof t=="object"&&t.type===Zo.number)}function $t(t){return!!(t&&typeof t=="object"&&t.type===Zo.dateTime)}function Rs(t){t.forEach(function(e){if(delete e.location,en(e)||tn(e))for(var o in e.options)delete e.options[o].location,Rs(e.options[o].value);else Qo(e)&&nn(e.style)||(Jo(e)||Yo(e))&&$t(e.style)?delete e.style.location:on(e)&&Rs(e.children)})}function Vi(t,e){e===void 0&&(e={}),e=oe({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Xo(t,e).parse();if(o.err){var n=SyntaxError($o[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||Rs(o.val),o.val}function sn(t,e){var o=e&&e.cache?e.cache:Au,n=e&&e.serializer?e.serializer:Pu,s=e&&e.strategy?e.strategy:ku;return s(t,{cache:o,serializer:n})}function Eu(t){return t==null||typeof t=="number"||typeof t=="boolean"}function qi(t,e,o,n){var s=Eu(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function Wi(t,e,o){var n=Array.prototype.slice.call(arguments,3),s=o(n),r=e.get(s);return typeof r>"u"&&(r=t.apply(this,n),e.set(s,r)),r}function Ps(t,e,o,n,s){return o.bind(e,t,n,s)}function ku(t,e){var o=t.length===1?qi:Wi;return Ps(t,this,o,e.cache.create(),e.serializer)}function Iu(t,e){return Ps(t,this,Wi,e.cache.create(),e.serializer)}function Ru(t,e){return Ps(t,this,qi,e.cache.create(),e.serializer)}var Pu=function(){return JSON.stringify(arguments)};function As(){this.cache=Object.create(null)}As.prototype.get=function(t){return this.cache[t]};As.prototype.set=function(t,e){this.cache[t]=e};var Au={create:function(){return new As}},rn={variadic:Iu,monadic:Ru};var $e;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})($e||($e={}));var Xt=function(t){Gt(e,t);function e(o,n,s){var r=t.call(this,o)||this;return r.code=n,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var Ls=function(t){Gt(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),$e.INVALID_VALUE,r)||this}return e}(Xt);var Gi=function(t){Gt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),$e.INVALID_VALUE,s)||this}return e}(Xt);var $i=function(t){Gt(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),$e.MISSING_VALUE,n)||this}return e}(Xt);var G;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(G||(G={}));function Lu(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==G.literal||o.type!==G.literal?e.push(o):n.value+=o.value,e},[])}function Mu(t){return typeof t=="function"}function Zt(t,e,o,n,s,r,i){if(t.length===1&&Is(t[0]))return[{type:G.literal,value:t[0].value}];for(var a=[],l=0,c=t;l<c.length;l++){var p=c[l];if(Is(p)){a.push({type:G.literal,value:p.value});continue}if(zi(p)){typeof r=="number"&&a.push({type:G.literal,value:o.getNumberFormat(e).format(r)});continue}var d=p.value;if(!(s&&d in s))throw new $i(d,i);var g=s[d];if(ji(p)){(!g||typeof g=="string"||typeof g=="number")&&(g=typeof g=="string"||typeof g=="number"?String(g):""),a.push({type:typeof g=="string"?G.literal:G.object,value:g});continue}if(Jo(p)){var u=typeof p.style=="string"?n.date[p.style]:$t(p.style)?p.style.parsedOptions:void 0;a.push({type:G.literal,value:o.getDateTimeFormat(e,u).format(g)});continue}if(Yo(p)){var u=typeof p.style=="string"?n.time[p.style]:$t(p.style)?p.style.parsedOptions:n.time.medium;a.push({type:G.literal,value:o.getDateTimeFormat(e,u).format(g)});continue}if(Qo(p)){var u=typeof p.style=="string"?n.number[p.style]:nn(p.style)?p.style.parsedOptions:void 0;u&&u.scale&&(g=g*(u.scale||1)),a.push({type:G.literal,value:o.getNumberFormat(e,u).format(g)});continue}if(on(p)){var m=p.children,f=p.value,h=s[f];if(!Mu(h))throw new Gi(f,"function",i);var E=Zt(m,e,o,n,s,r),S=h(E.map(function(v){return v.value}));Array.isArray(S)||(S=[S]),a.push.apply(a,S.map(function(v){return{type:typeof v=="string"?G.literal:G.object,value:v}}))}if(en(p)){var x=p.options[g]||p.options.other;if(!x)throw new Ls(p.value,g,Object.keys(p.options),i);a.push.apply(a,Zt(x.value,e,o,n,s));continue}if(tn(p)){var x=p.options["=".concat(g)];if(!x){if(!Intl.PluralRules)throw new Xt(`Intl.PluralRules is not available in this environment.
|
|
2
2
|
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
-
`,$e.MISSING_INTL_API,i);var b=o.getPluralRules(e,{type:p.pluralType}).select(g-(p.offset||0));x=p.options[b]||p.options.other}if(!x)throw new Ls(p.value,g,Object.keys(p.options),i);a.push.apply(a,Zt(x.value,e,o,n,s,g-(p.offset||0)));continue}}return Lu(a)}function Nu(t,e){return e?oe(oe(oe({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=oe(oe({},t[n]),e[n]||{}),o},{})):t}function Ou(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Nu(t[n],e[n]),o},oe({},t)):t}function Ms(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function Du(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:sn(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Go([void 0],o,!1)))},{cache:Ms(t.number),strategy:rn.variadic}),getDateTimeFormat:sn(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Go([void 0],o,!1)))},{cache:Ms(t.dateTime),strategy:rn.variadic}),getPluralRules:sn(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Go([void 0],o,!1)))},{cache:Ms(t.pluralRules),strategy:rn.variadic})}}var Xi=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(c){var p=r.formatToParts(c);if(p.length===1)return p[0].value;var d=p.reduce(function(g,u){return!g.length||u.type!==G.literal||typeof g[g.length-1]!="string"?g.push(u.value):g[g.length-1]+=u.value,g},[]);return d.length<=1?d[0]||"":d},this.formatToParts=function(c){return Zt(r.ast,r.locales,r.formatters,r.formats,c,void 0,r.message)},this.resolvedOptions=function(){var c;return{locale:((c=r.resolvedLocale)===null||c===void 0?void 0:c.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,l=Ui(i,["formatters"]);this.ast=t.__parse(e,oe(oe({},l),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Ou(t.formats,n),this.formatters=s&&s.formatters||Du(this.formatterCache)}return Object.defineProperty(t,"defaultLocale",{get:function(){return t.memoizedDefaultLocale||(t.memoizedDefaultLocale=new Intl.NumberFormat().resolvedOptions().locale),t.memoizedDefaultLocale},enumerable:!1,configurable:!0}),t.memoizedDefaultLocale=null,t.resolveLocale=function(e){if(!(typeof Intl.Locale>"u")){var o=Intl.NumberFormat.supportedLocalesOf(e);return o.length>0?new Intl.Locale(o[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=Vi,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 Fu(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Ku="dummy",Ns=Hu(null);function T(t){let e=Bu(Ns);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=t[e]??{};return(n,s)=>{let r=Fu(o,n);return r?new Xi(r).format(s):(e!==Ku&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{jsx as Zi,jsxs as Uu}from"react/jsx-runtime";var an=()=>Uu("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Zi("title",{id:"angleLeftTitle",children:"AngleLeft"}),Zi("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 Qi,jsxs as ju}from"react/jsx-runtime";var Ji=()=>ju("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleRightTitle",children:[Qi("title",{id:"angleRightTitle",children:"AngleRight"}),Qi("path",{d:"M64 448c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L178.8 256L41.38 118.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160c12.5 12.5 12.5 32.75 0 45.25l-160 160C80.38 444.9 72.19 448 64 448z"})]});import{useEffect as Jt,useRef as zs,useState as ug}from"react";import{useDispatch as gg}from"react-redux";import{Interweave as Sa}from"interweave";import _a from"classnames";var Os={root:"_root_smoda_1",agentText:"_agentText_smoda_3",textInput:"_textInput_smoda_8",textInputWrapper:"_textInputWrapper_smoda_27",alert:"_alert_smoda_31",alertText:"_alertText_smoda_50",warning:"_warning_smoda_60",success:"_success_smoda_69"};import{Matcher as Wu}from"interweave";import Gu from"classnames";import{useEffect as zu,useRef as Vu,useState as qu}from"react";function Yi(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=Vu(null),[o,n]=qu(!1);return zu(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Yi((p,d)=>{let g=e.current;if(!g)return;let u=p/r,m=d/r,f=g.getBoundingClientRect(),h=u>f.x&&u<f.x+f.width&&m>f.y&&m<f.y+f.height;h&&!s?(s=!0,n(!0)):!h&&s&&(s=!1,n(!1))},({clientX:p,clientY:d})=>[p,d]),[l,c]=Yi(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}var xe={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};import{jsx as ea}from"react/jsx-runtime";var $u=({inputElement:t,children:e})=>{let o=y("TabCompletion",xe),[n,s]=ln(t);return ea("mark",{ref:n,className:Gu(o.matchPlaceholder,{[o.hover]:s}),children:e})},vt=class extends Wu{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 ea($u,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{useEffect as Xu,useRef as Zu,useState as Qu}from"react";function cn(t){return t.contentEditable==="true"}function Ju(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 ta(t){let{selectionStart:e,selectionEnd:o}=cn(t)?Ju(t):t;return[e,o]}function pn(t){let[,e]=Qu(),o=Zu(null);return o.current=ta(t),Xu(()=>{let n=()=>{let[s,r]=o.current??[],i=ta(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 dn(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(gt);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=n.indexOf(l,a);return s>c&&r<c+l.length?(o.selectionStart=c,o.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{useEffect as Yu}from"react";function St(t){Yu(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Xe(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var oa,me=new Map,eg=["bottom","height","left","right","top","width"],tg=(t={},e={})=>eg.some(o=>t[o]!==e[o]);function na(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...na(e)]:[]}function sa(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var un=!1,ra=()=>{un=!0;let t=[];if(me.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),me.delete(o);return}let n=o.getBoundingClientRect();tg(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(sa,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),me.size===0){un=!1;return}oa=window.requestAnimationFrame(ra)};function Ds(t,e){let o=na(t),n=[],s=o.map((r,i)=>Ds(r,a=>{n[i]=a;let l=me.get(t);if(!l)return;let c=n.reduce(sa,l.rect);l.callbacks.forEach(p=>p(c))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),me.has(t)){let i=me.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else me.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!un&&ra()},unobserve(){s.forEach(i=>i.unobserve());let r=me.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||me.delete(t),me.size||(cancelAnimationFrame(oa),un=!1)}}}}var ia,fe=new Map,aa=()=>{fe.forEach((t,e)=>{if(!e.isConnected){fe.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),fe.size!==0&&(ia=window.requestAnimationFrame(aa))};function la(t,e){return{observe(){let o=fe.size===0;fe.has(t)?fe.get(t).callbacks.push(e):fe.set(t,{visible:void 0,callbacks:[e]}),o&&aa()},unobserve(){let o=fe.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||fe.delete(t),fe.size||cancelAnimationFrame(ia)}}}}var Hs=["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 Bs(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function _t(t){return parseFloat(t)}function gn(t){return Math.round(t*1e6)}function ca(t){return t/1e6}function Fs(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=_t(t.width),r=_t(t.borderLeftWidth),i=_t(t.borderRightWidth),a=_t(t.paddingRight),l=ca(gn(s)-gn(r)-gn(i)),c=ca(gn(n));if(l-c>2){let p=l-c;o.style.paddingRight=`${a+p}px`}}function xt(t,e={}){var p;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Xe(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Bs(n,o,Hs),Fs(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=la(t,()=>{Bs(n,o,Hs),Fs(n,t,o),r(),setTimeout(r,0)}),a,l=!0,c=Ds(t,d=>{if(d===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),d.height===0&&d.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Bs(n,o,Hs),Fs(n,t,o),r(),o.style.top=`${d.top}px`,o.style.left=`${d.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let g=e.closestScrollElement.getBoundingClientRect(),u=window.getComputedStyle(e.closestScrollElement),m=_t(u.borderTopWidth),f=_t(u.borderBottomWidth),h=g.top+m-d.top,E=d.top+d.height+-(g.top+g.height-f);o.style.clipPath=`inset(${h}px 0px ${E}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(p=t.parentElement)==null||p.appendChild(o),c.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),c.unobserve(),i.unobserve()}]}var Ks={};q(Ks,{enUS:()=>og,nlNL:()=>ng});var og={placeholders:[{type:6,value:"placeholderSize",options:{"=0":{value:[{type:0,value:"No placeholders found"}]},one:{value:[{type:0,value:"There is one placeholder in your message"}]},other:{value:[{type:0,value:"There are "},{type:7},{type:0,value:" placeholders in your message"}]}},offset:0,pluralType:"cardinal"}]},ng={placeholders:[{type:6,value:"placeholderSize",options:{"=0":{value:[{type:0,value:"Alle placeholders zijn uit je bericht"}]},one:{value:[{type:0,value:"Er is 1 placeholder in jouw bericht"}]},other:{value:[{type:0,value:"Er zijn "},{type:7},{type:0,value:" placeholders in jouw bericht"}]}},offset:0,pluralType:"cardinal"}]};import{jsx as pa,jsxs as sg}from"react/jsx-runtime";var da=()=>sg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 512 512","aria-labelledby":"circleCheckTitle",children:[pa("title",{id:"circleCheckTitle",children:"Check"}),pa("path",{d:"M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"})]});import{jsx as ua}from"react/jsx-runtime";var ga=()=>ua("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:ua("path",{d:"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"})});var ma=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(ma||{}),Ne=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Ae(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(ma).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};var Oe=class extends Ne{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};var rg=/[.*+?^${}()|[\]\\]/g,ig=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function ag(t){return t.replace(rg,"\\$&")}function lg(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function cg(t){return t.search(ig)}function fa(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${ag(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ha(t){return t.replace(gt,'<mark data-type="placeholder">$1</mark>')}function Qt(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function pg(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 Us(t,e,o={}){if(e){let n=lg(e.toLowerCase(),t.toLowerCase()),s=Qt(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),c=cg(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(mi).length>3||e.length>30?pg(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Qt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var dg=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function bt(t){return dg.test(t)}function ya(t){if(bt(t)){let o=/<body[^>]*>([\s\S]*)<\/body>/gi.exec(t);return o?o[1]:""}return t}function va(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import{jsx as le,jsxs as js}from"react/jsx-runtime";var mg=({value:t,onUse:e,...o})=>{var d;let n=T(Ks),s=gg(),r=bt(t),i=y("EditSuggestionTextInput",Os),[a,l]=ug(null),c=zs(null),p=((d=t.match(gt))==null?void 0:d.length)||0;return Jt(()=>{let g;return c.current&&(l(c.current),g=new Oe(c.current),g.on("change",({plainText:u})=>{s(Q.actions.userInput({text:u,selection:g.getSelection()}))}),g.on("keydown",u=>{s(Q.actions.registerKeyDown(Uo(u))),u.code==="Enter"&&u.shiftKey&&e(g.getText())}),g.on("paste",({pastedText:u,selectionText:m})=>{s(Q.actions.registerPaste({text:u,selectionText:m}))}),g.on("cut",({selectionText:u})=>{s(Q.actions.registerCut(u))})),()=>{s(Q.actions.reset()),g.dispose(),g.deactivate()}},[c]),Jt(()=>{t&&c.current&&(c.current.value=t)},[t,c]),Jt(()=>{c.current&&setTimeout(()=>{if(!c.current)return;let g=c.current.value.length;c.current.setSelectionRange(g,g),c.current.focus()},0)},[c]),r?le("div",{className:i.textInputWrapper,children:le(Sa,{className:i.textInput,tagName:"div",content:t})}):js("div",{className:i.textInputWrapper,children:[le("textarea",{...o,ref:c,"data-testid":"edit-suggestion-dialog-textarea",className:i.textInput,defaultValue:t,onChange:()=>{}}),a&&le(fg,{inputElement:c.current,value:t}),js("div",{className:_a(i.alert,p===0?i.success:i.warning),children:[le("div",{className:i.alertText,children:n("placeholders",{placeholderSize:p})}),p===0?le(da,{}):le(ga,{})]})]})},fg=({inputElement:t,value:e})=>{let o=y("EditSuggestionTextInput",Os),n=zs(null),s=pn(t);return Jt(()=>{dn(t,s)},[s,t]),le(hg,{inputElement:t,children:js("div",{ref:n,className:_a(o.root,o.agentText),children:[le(Sa,{tagName:"span",disableLineBreaks:!0,content:e,matchers:[new vt("placeholders")],inputElement:t,boundaryRef:n}),le("br",{})]})})},hg=({inputElement:t,children:e})=>{let o=zs(null);return Jt(()=>{if(!o.current)return()=>{};let[n,s]=xt(t,{overlayContainer:o.current,mirrorOverflow:!0});return n.setAttribute("translate","no"),()=>{s()}},[o.current]),le("div",{ref:o,children:e})},xa=mg;import{useEffect as am,useState as lm,useRef as cm}from"react";import{useState as Sg}from"react";import Vs from"classnames";var J={root:"_root_1mc8f_1",list:"_list_1mc8f_2",listWrapper:"_listWrapper_1mc8f_6",listHorizontal:"_listHorizontal_1mc8f_10",page:"_page_1mc8f_19",search:"_search_1mc8f_25",pageNav:"_pageNav_1mc8f_33",pageTitle:"_pageTitle_1mc8f_41",pageBackButton:"_pageBackButton_1mc8f_48",listHeading:"_listHeading_1mc8f_62",listItem:"_listItem_1mc8f_70",listItemContent:"_listItemContent_1mc8f_79",listItemText:"_listItemText_1mc8f_97",listItemDescription:"_listItemDescription_1mc8f_105",listItemActions:"_listItemActions_1mc8f_112",truncate:"_truncate_1mc8f_123",lineClamp:"_lineClamp_1mc8f_129",listItemTitle:"_listItemTitle_1mc8f_136",listItemAction:"_listItemAction_1mc8f_112",listItemPrimaryAction:"_listItemPrimaryAction_1mc8f_157",listItemSelected:"_listItemSelected_1mc8f_162",sources:"_sources_1mc8f_166",sourcesTitle:"_sourcesTitle_1mc8f_173",source:"_source_1mc8f_166",icon:"_icon_1mc8f_188",searchIcon:"_searchIcon_1mc8f_205",searchInputWrapper:"_searchInputWrapper_1mc8f_210",searchInput:"_searchInput_1mc8f_210",select:"_select_1mc8f_231",selectType:"_selectType_1mc8f_248",selectWrapper:"_selectWrapper_1mc8f_252",image:"_image_1mc8f_282",imageSrc:"_imageSrc_1mc8f_289",imageSrcHidden:"_imageSrcHidden_1mc8f_300",imageSrcStatus:"_imageSrcStatus_1mc8f_304",imageTitle:"_imageTitle_1mc8f_314",actions:"_actions_1mc8f_319",actionsWrapper:"_actionsWrapper_1mc8f_323",actionsBar:"_actionsBar_1mc8f_329",actionButton:"_actionButton_1mc8f_338",hasShortKeys:"_hasShortKeys_1mc8f_351",actionShortcut:"_actionShortcut_1mc8f_360",actionShortcutFixKerning:"_actionShortcutFixKerning_1mc8f_367"};var Ze={};q(Ze,{enUS:()=>yg,nlNL:()=>vg});var yg={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}]},vg={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}]};import{jsx as Yt,jsxs as xg}from"react/jsx-runtime";var _g=({src:t,title:e})=>{let o=y("CommandPalette",J),[n,s]=Sg("loading"),r=T(Ze);return xg("div",{className:o.image,children:[Yt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Vs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Yt("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Yt("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:Yt(Ro,{})}),e&&Yt("span",{className:o.imageTitle,children:e})]})},ba=_g;import bg from"react";import Cg from"classnames";import{jsx as Ca,jsxs as wg}from"react/jsx-runtime";function qs({children:t,heading:e,orientation:o}){let n=y("CommandPalette",J);return bg.Children.count(t)===0?null:wg("div",{"data-testid":"commandpalette-list",className:n.list,children:[e&&Ca("h4",{className:n.listHeading,children:e}),Ca("div",{className:Cg(n.listWrapper,o==="horizontal"&&n.listHorizontal),children:t})]})}import hn from"classnames";import{Interweave as Kg}from"interweave";import Tg,{useState as wa,useEffect as Ta,useMemo as Eg,useRef as Ea,useCallback as kg,useContext as Ig}from"react";import Rg from"classnames";var Ws={root:"_root_1oh4w_1",trigger:"_trigger_1oh4w_5",content:"_content_1oh4w_19",contentOpen:"_contentOpen_1oh4w_33",contentTop:"_contentTop_1oh4w_37",contentBottom:"_contentBottom_1oh4w_41",item:"_item_1oh4w_45"};import{jsx as mn,jsxs as Mg}from"react/jsx-runtime";var Pg=0,ka=Tg.createContext(null),Ag=()=>{let t=Ig(ka);if(!t)throw new Error("Invalid DropdownContext");return t},Ia=({trigger:t,children:e,position:o="bottom"})=>{let n=Eg(()=>++Pg,[]),s=Ea(null),r=Ea(null),i=y("Dropdown",Ws),[a,l]=wa(!1),[c,p]=wa(o),d=u=>{u.preventDefault(),u.stopPropagation(),l(!a)},g=kg(([u])=>{!u.isIntersecting&&a&&p(c==="top"?"bottom":"top")},[a]);return Ta(()=>{let u=m=>{s.current&&!s.current.contains(m.target)&&l(!1)};return document.addEventListener("click",u),()=>{document.removeEventListener("click",u)}},[]),Ta(()=>{if(!r.current&&!a)return()=>{};let u=new IntersectionObserver(g,{root:null,rootMargin:"0px",threshold:1});return r.current&&u.observe(r.current),()=>{r.current&&u.unobserve(r.current)}},[r,a]),mn(ka.Provider,{value:{setIsOpen:l},children:Mg("div",{ref:s,className:i.root,children:[mn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:d,children:t}),mn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Rg(i.content,{[i.contentOpen]:a,[i.contentTop]:c==="top",[i.contentBottom]:c==="bottom"}),children:e})]})})};function Lg({as:t,children:e,onClick:o,...n}){let s=t||"button",r=y("Dropdown",Ws),{setIsOpen:i}=Ag(),a=l=>{i(!1),o(l),l.stopPropagation()};return mn(s,{type:"button",className:r.item,onClick:a,...n,children:e})}Ia.Item=Lg;var Gs=Ia;import{jsx as Ra}from"react/jsx-runtime";var Pa=t=>Ra("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:Ra("path",{fill:"currentColor",d:"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"})});var Qe={};q(Qe,{enUS:()=>Ng,nlNL:()=>Og});var Ng={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"}]},Og={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],giveFeedback:[{type:0,value:"Geef feedback"}],answer:[{type:0,value:"Antwoord"}]};import{jsx as $s}from"react/jsx-runtime";var Dg="%0d%0a%0d%0a%0d%0a",Hg=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Dg)}`},Bg=({suggestion:t,onFeedback:e})=>{let o=T(Qe),n=C("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:$s(Gs,{trigger:$s(Pa,{"data-testid":"feedback-dropdown-trigger"}),children:$s(Gs.Item,{as:"a",href:Hg(n,t),onClick:e,children:o("giveFeedback")})})},fn=Bg;import Xs from"react";import{jsx as Fg}from"react/jsx-runtime";var Aa=Xs.createContext(void 0);function De(){let t=Xs.useContext(Aa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var La=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Xs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Fg(Aa.Provider,{value:i,children:t})};import{jsx as He,jsxs as Zs}from"react/jsx-runtime";function Qs({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,onSourceClick:r,index:i,description:a,sources:l,styles:c,...p}){let{selected:d,setSelected:g,onChangeOpen:u}=De(),m=y("CommandPalette",J);function f(h){n(h),t&&u(!1)}return Zs("div",{className:hn(m.listItem,d===i&&m.listItemSelected),children:[He("button",{onMouseEnter:()=>g(i),type:"button",className:hn("command-palette-list-item",m.listItemAction,m.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:f,...p,children:Zs("div",{className:m.listItemContent,children:[typeof o=="string"?He("p",{className:hn(m.listItemText,m.truncate,c==null?void 0:c.title),children:o}):o,a&&He(Kg,{tagName:"p",allowList:[],content:bt(a)?va(a):a,className:hn(m.listItemDescription,c==null?void 0:c.description,e?m.lineClamp:m.truncate)})]})}),s&&d===i&&He("div",{className:m.listItemActions,children:He(fn,{suggestion:String(o),onFeedback:s})}),l&&Zs("div",{className:m.sources,children:[He("span",{className:m.sourcesTitle,children:"Sources"}),l.map(h=>h.url?He("a",{className:m.source,href:h.url,target:"_blank",title:h.url,rel:"noopener noreferrer",onClick:()=>r&&r(h),children:h.name},h.url):He("span",{className:m.source,children:h.name},h.name))]})]})}import{jsx as Ma,jsxs as Js}from"react/jsx-runtime";function Ys({children:t,title:e,id:o,onDismiss:n}){let s=T(Ze),r=y("CommandPalette",J),{page:i}=De();return i!==o?null:Js("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Js("div",{className:r.pageNav,children:[Js("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Ma(an,{}),s("back")]}),e&&Ma("h3",{className:r.pageTitle,children:e})]}),t]})}import{Fragment as Qg,useCallback as Jg,useEffect as Yg,useRef as em}from"react";import{createAsyncThunk as qg,createSlice as Wg}from"@reduxjs/toolkit";var Ug={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},w=Ug;import{createAsyncThunk as tr,createSlice as zg}from"@reduxjs/toolkit";function jg(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function L(t){return Array.isArray(t)?t.map(L):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[jg(o)]:L(t[o])}),{}):t}function er(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function U(t){return Array.isArray(t)?t.map(U):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[er(o)]:U(t[o])}),{}):t}var Vg={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},to=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)||""}},eo=tr("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=await o.client.get("/apis/admin/session/me/",{version:null}),s={};return n.external_id||(s.external_id=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?L(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),L(n))}),or=tr("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.client.get("/apis/admin/session/me/",{version:null}),s={...typeof n.ui_config=="object"?n.ui_config:{},...t};return await o.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),nr=tr("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Na=t=>t.info.agentInfo,Oa=zg({name:"info",initialState:Vg,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(eo.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(eo.rejected,e=>{e.fetchState="error"}).addCase(eo.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(or.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(nr.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(M,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Da}=Oa.actions,Ha=Oa.reducer;var yn={list:[],fetchState:"idle",isOpen:!1,page:"search"},Ba=t=>t.search.isOpen,Fa=t=>t.search.page,Ka=t=>t.search.list;function Ua(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var Je=qg("search/getAll",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r}=await o.search({profile:s,query:t.query,filters:{type:t.type},params:to(n),tags:t.tags});return r.map(a=>({...a,source:`search-${a.type.toLowerCase()}`,searchTerm:t.query}))}),ja=Wg({name:"search",initialState:yn,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=yn.fetchState,t.list=yn.list}},extraReducers:t=>{t.addCase(Je.pending,e=>{e.fetchState="loading"}).addCase(Je.rejected,(e,o)=>{e.fetchState="error",w.error(o.error)}).addCase(Je.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload}).addCase(M,()=>yn)}}),{resetSearch:vn,setIsOpen:$,setPage:X}=ja.actions,za=ja.reducer;var Gg=/(https?:\/\/[^\s]+)/,Sn=t=>t.split(" ").find(e=>Gg.test(e));var _n=()=>/Mac/i.test(navigator.platform);import Va from"classnames";import{jsx as Xg,jsxs as Zg}from"react/jsx-runtime";var $g=({onClick:t,shortKeys:e,children:o,...n})=>{let s=y("CommandPalette",J);return Zg("button",{type:"button",...n,onClick:t,className:Va(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Xg("span",{className:Va(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Ct=$g;import{jsx as xn,jsxs as sr}from"react/jsx-runtime";var tm=["url","URL"],om=["default","pinned-message","DEFAULT","STICKYMESSAGE"],nm=({children:t,primaryLabel:e,secondaryLabel:o,onPrimary:n,onSecondary:s,list:r})=>{let i=y("CommandPalette",J),a=T(Ze),{selected:l,setSelected:c}=De(),p=r[l],d=p&&p.type&&tm.includes(p.type),g=p&&p.type&&om.includes(p.type)||p&&"secondaryAction"in p,u=d?Sn(p.text):null,m=em(null);function f(v){if(!m.current)return;let R=m.current.querySelectorAll(".command-palette-list-item"),A=0,H=0;v==="down"?(R.forEach((V,k)=>{k===l&&(A=k)}),H=A===R.length-1?0:A+1):v==="up"?(R.forEach((V,k)=>{k===l&&(A=k)}),H=A?A-1:R.length-1):c(0);let P=R[H];P&&typeof H=="number"&&(c(H),P.scrollIntoView&&P.scrollIntoView({behavior:"smooth",block:H?"center":"end"}))}function h(){if(!m.current)return;let v=m.current.querySelectorAll(".command-palette-list-item"),R=0;v.forEach((H,P)=>{P===l&&(R=P)});let A=v[R];A&&A.click()}let E=()=>{u&&window.open(u,"_blank")},S=()=>{p&&n(p,l)},x=()=>{!s||!g||s(p,l)},b=Jg(v=>{if(v.key==="Enter"&&v.altKey&&u){E();return}if(v.key==="Enter"&&v.shiftKey){x();return}if(v.key==="ArrowDown"){v.preventDefault(),v.stopPropagation(),f("down");return}if(v.key==="ArrowUp"){v.preventDefault(),v.stopPropagation(),f("up");return}v.key==="Enter"&&l!==-1&&(v.preventDefault(),v.stopPropagation(),h())},[l]);return Yg(()=>(window.addEventListener("keyup",b),()=>{window.removeEventListener("keyup",b)}),[b]),sr("div",{className:i.actions,children:[xn("div",{className:i.actionsWrapper,ref:m,children:t}),sr("div",{className:i.actionsBar,children:[u&&xn(Ct,{onClick:E,shortKeys:[_n()?8997:"ALT",8629],children:a("visitUrl")}),p&&sr(Qg,{children:[s&&g&&xn(Ct,{onClick:x,shortKeys:[8679,8629],children:o}),xn(Ct,{onClick:S,shortKeys:[8629],children:e})]})]})]})},Wa=nm;import{forwardRef as rm}from"react";import{jsx as Ga,jsxs as sm}from"react/jsx-runtime";var wt=()=>sm("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ga("path",{d:"M0 0h24v24H0z",fill:"none"}),Ga("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 Tt,jsxs as rr}from"react/jsx-runtime";function im({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let l=y("CommandPalette",J);return rr("div",{className:l.search,children:[Tt("div",{className:l.searchIcon,children:Tt(wt,{})}),rr("div",{className:l.searchInputWrapper,children:[Tt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:c=>{t(c.currentTarget.value)},onFocus:c=>{c.currentTarget.select()},className:l.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&Tt("div",{className:l.selectWrapper,children:rr("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:c=>e(c.target.value===n?void 0:c.target.value),value:i||n,children:[n&&Tt("option",{children:n}),s.map(c=>Tt("option",{value:c.value,children:c.label},c.value))]})})]})]})}var $a=rm(im);import{jsx as Xa,jsxs as pm}from"react/jsx-runtime";function Ye({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:p,isOpen:d,search:g}){let[u,m]=lm(0),f=cm(null),h=()=>{s&&s(o),i(void 0),r(""),a(!1)},E=()=>{var S;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(S=f.current)==null||S.focus();return}if(g.length>0){r("");return}a(!1)};return am(()=>{m(0)},[g,n]),Xa(yt,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:d,onBack:E,onClose:h,children:pm(La,{selected:u,setSelected:m,isOpen:d,onChangeOpen:a,page:n,children:[n===o&&Xa($a,{ref:f,onChange:r,onChangeType:i,placeholder:t,value:g,selectedType:l,types:c,typePlaceholder:e}),p]})})}Ye.Page=Ys;Ye.List=qs;Ye.Image=ba;Ye.ListItem=Qs;Ye.ActionsBar=Wa;Ye.Button=Ct;var I=Ye;import{jsx as be,jsxs as oo}from"react/jsx-runtime";var gm=({suggestion:t,onUse:e,onDismiss:o,onTouched:n,onNext:s,onPrevious:r})=>{let i=t.text||t.url||t.message,a=y("EditSuggestionForm",Ki),l=dm(),c=T(Es),p=um(m=>m.overlayInput.text);Za(()=>{t&&(l(Q.actions.reset()),l(Q.actions.stageSuggestion({text:i,suggestion:t,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"})),l(Q.actions.commitSuggestion()))},[t]);let d=m=>{m.preventDefault(),g(p)},g=m=>{l(Vo(m)),e(m)},u=m=>f=>{p!==i?window.confirm(c("warning"))&&m(f):m(f)};return Za(()=>{n&&n(p!==i)},[n,t,p]),oo("div",{className:a.root,children:[oo("div",{className:a.content,children:[t.title&&be("h3",{className:a.title,children:t.title}),t.searchKeywords&&t.searchKeywords.length>0&&be(vs,{labels:t.searchKeywords}),be(xa,{onUse:g,value:ya(p)})]}),oo("form",{className:a.actions,onSubmit:d,children:[oo("div",{children:[be("button",{disabled:!r,className:a.pagination,type:"button",onClick:r&&u(r),children:be(an,{})}),be("button",{disabled:!s,className:a.pagination,type:"button",onClick:s&&u(s),children:be(Ji,{})})]}),oo("div",{className:a.primaryButtons,children:[be(I.Button,{onClick:u(o),shortKeys:["esc"],children:c("dismiss")}),be(I.Button,{shortKeys:[8679,8629],type:"submit",children:c("add")})]})]})]})},bn=gm;import{createAction as hm,createAsyncThunk as el,createSlice as ym}from"@reduxjs/toolkit";var mm=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],fm=new RegExp(mm.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Qa(t,e){let o=t.split(fm),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],l=r===o.length-2;n+=i.length;let c=n;if(l){let d=a.charAt(0),g=0;do c=d?e.indexOf(d,c+1):-1,g+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&g>2)return t}else c=a&&a!==""?e.indexOf(a,n):-1;let p=c===-1?e.slice(n):e.slice(n,c);s.push(p),n=c}return s.join("")}function Ja(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var tl={suggestions:[],fetchState:"idle",isInitialRequest:null},Ya={default:tl},Cn=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},ol=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},Be=t=>t.textSuggestions,nl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},wn=hm("textSuggestions/refresh"),ce=el("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ht(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,to(n),t);if(t==="default"){let p=i?l.filter(nl(a)):l;e.dispatch(ge(p.slice(0,r)))}return l}),no=el("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...to(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(nl(t))),i&&(l=l.map(p=>({...p,text:p.source!=="trie-with-typos"?Qa(p.text,t):p.text}))),l=Ja(l,r),e.dispatch(ge(l)),l}),sl=ym({name:"textSuggestions",initialState:Ya,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(ce.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||tl;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(ce.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ce.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(no.pending,e=>{e.default.fetchState="loading"}).addCase(no.rejected,e=>{e.default.fetchState="error"}).addCase(no.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(M,()=>Ya)}}),{setTextSuggestions:rl,setSuggestionState:il}=sl.actions,al=sl.reducer;import{createSlice as vm}from"@reduxjs/toolkit";var ll={contentType:null,suggestion:null},cl=t=>t.activeSuggestion.suggestion,pl=t=>t.activeSuggestion.contentType,dl=vm({name:"activeSuggestion",initialState:ll,reducers:{setActiveSuggestion(t,e){let{contentType:o,suggestion:n}=e.payload;t.contentType=o,t.suggestion=n},resetActiveSuggestion(t){t.contentType=null,t.suggestion=null}},extraReducers:t=>{t.addCase(M,()=>ll)}}),{setActiveSuggestion:Ce,resetActiveSuggestion:ir}=dl.actions,ul=dl.reducer;var ar={};q(ar,{enUS:()=>Sm,nlNL:()=>_m});var Sm={warning:[{type:0,value:"Are you sure you want to discard the message?"}],editContentLabel:[{type:0,value:"Edit and view suggestion"}],overlayLabel:[{type:0,value:"Close dialog"}]},_m={warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}],editContentLabel:[{type:0,value:"Bewerk en bekijk suggestie"}],overlayLabel:[{type:0,value:"Sluit"}]};import{createSlice as xm}from"@reduxjs/toolkit";var bm={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var Tn=({ui:t})=>t.overlayCollapsed;var gl=xm({name:"ui",initialState:bm,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:so,setInputHasFocus:Et,setOverlayCollapsed:Fe,setOpenOverlayWhenTyping:ml,setOverlayCollapsedUserOverwrite:fl}=gl.actions,hl=gl.reducer;import yl,{useContext as Cm}from"react";import{jsx as wm}from"react/jsx-runtime";var vl=yl.createContext(null),et=({broadcastEvents:t,children:e})=>{let o=yl.useMemo(()=>t,[]);return wm(vl.Provider,{value:o,children:e})},se=()=>{let t=Cm(vl);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createAsyncThunk as lr,createSlice as Tm}from"@reduxjs/toolkit";var Em={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},Z=t=>t.auth.isLoggedIn,Sl=t=>t.auth.loginFetchState,_l=t=>t.auth.verifyFetchState,xl=t=>t.auth.showLoginOverlay,we=lr("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),bl=lr("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),ro=lr("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),Cl=Tm({name:"auth",initialState:Em,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(we.pending,e=>{e.loginFetchState="loading"}),t.addCase(we.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(we.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(ro.pending,e=>{e.verifyFetchState="loading"}),t.addCase(ro.rejected,e=>{e.verifyFetchState="error"}),t.addCase(ro.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:kt,setShowLoginOverlay:wl}=Cl.actions,Tl=Cl.reducer;var cr="SetActiveSuggestion",It="ShowLoginOverlay",io="UserLoggedIn",km="UserLoggedOut",Te="ApplySuggestion",pr="ApplyImageSuggestion",Im="ShowCommandPalette",Rm=t=>({[cr]:e=>{t.dispatch(il(e.state)),t.dispatch(Ce({contentType:e.contentType,suggestion:e.suggestion}))},[Im]:e=>{t.dispatch($(e.isOpen)),e.page&&t.dispatch(X(e.page))},[It]:e=>{t.dispatch(wl(e))},[io]:()=>{t.dispatch(we())},[km]:()=>{t.dispatch(we())},[pr]:e=>{t.dispatch(Wo({suggestion:e.suggestion}))},[Te]:e=>{t.dispatch(ie({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(_e())}}),El=Rm;import{jsx as kl}from"react/jsx-runtime";var Lm=()=>{var m;let[t,e]=Pm(!1),o=dr(cl),n=dr(pl),s=dr(Be),r=Am(),i=se(),a=T(ar),l=()=>{o!==null&&t?window.confirm(a("warning"))&&c():c()},c=()=>{r(ir()),r(Et(!0)),r(Q.actions.reset())},p=(f,h)=>{r(ir()),r(Et(!0)),i.send(Te,{text:f,suggestion:{...h,source:`${h.source||"text_recommendation"}-preview`}})};if(o===null||n===null)return null;let d=(m=s[n])==null?void 0:m.suggestions.indexOf(o),g=d===0||d===null?void 0:()=>r(Ce({contentType:n,suggestion:s[n].suggestions[d-1]})),u=d===s[n].suggestions.length-1||d===null?void 0:()=>r(Ce({contentType:n,suggestion:s[n].suggestions[d+1]}));return kl(yt,{autoFocus:!0,isOpen:d!==null,onClose:l,onBack:l,contentAriaLabel:a("editContentLabel"),overlayAriaLabel:a("overlayLabel"),children:kl(bn,{onTouched:e,onDismiss:c,onUse:f=>p(f,o),suggestion:o,onNext:u,onPrevious:g})})},Il=Lm;import{useSelector as Ml}from"react-redux";import gr from"classnames";import{useCallback as Al,useEffect as Bm,useMemo as Fm,useState as mr}from"react";import{useDispatch as Km,useSelector as Um}from"react-redux";import Mm from"classnames";var Rl={root:"_root_1ukx5_1"};import{jsx as Om}from"react/jsx-runtime";var Nm=({className:t,value:e,...o})=>{let n=y("TextInput",Rl);return Om("input",{className:Mm(t,n.root),type:"text",value:e,...o})},ao=Nm;var ur={};q(ur,{enUS:()=>Dm,nlNL:()=>Hm});var Dm={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"}]},Hm={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 Pl={root:"_root_1edpl_1",anchorButton:"_anchorButton_1edpl_5",errorMessage:"_errorMessage_1edpl_19",title:"_title_1edpl_25",subtitle:"_subtitle_1edpl_31",text:"_text_1edpl_38",input:"_input_1edpl_43",actions:"_actions_1edpl_48",button:"_button_1edpl_55",primaryButton:"_primaryButton_1edpl_70"};import{jsx as Y,jsxs as En}from"react/jsx-runtime";var jm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},zm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=T(ur),i=y("LoginTokenDialog",Pl),a=Um(_l),l=Km(),c=C("productName"),[p,d]=mr(t||""),[g,u]=mr(0),[m,f]=mr(""),h=Al(async b=>{b.preventDefault(),l(bl({email:p})),u(1)},[o,p]),E=()=>{f(""),u(0)},S=Al(async b=>{b.preventDefault();let v=jm(b.target.elements.token.value);if(!v){f(r("verifyCodeError",{login:x}));return}l(ro({token:v}))},[o]),x=Fm(()=>b=>Y("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:E,children:b},"back-button"),[]);return Bm(()=>{a==="error"&&f(r("verifyCodeError",{login:x})),a==="done"&&n()},[a]),Y(yt,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:En("div",{className:i.root,children:[Y("h1",{className:i.title,children:r("promptTitle",{productName:c})}),g===0&&En("form",{onSubmit:h,children:[Y("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Y("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),Y(ao,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:p,onChange:b=>d(b.target.value)}),Y("div",{className:i.actions,children:Y("button",{type:"submit",className:gr(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),g===1&&En("form",{onSubmit:S,children:[Y("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Y("p",{className:i.text,children:r("verifyCodeBody")}),Y(ao,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),m&&Y("div",{className:i.errorMessage,children:m}),En("div",{className:i.actions,children:[Y("button",{type:"button",className:gr(i.button),onClick:E,children:r("back")}),Y("button",{type:"submit",className:gr(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Ll=zm;import{jsx as qm}from"react/jsx-runtime";var Vm=()=>{let t=Ml(xl),e=Ml(Na),o=C("adminUrl"),n=se(),s=()=>n.send(It,!1),r=()=>{n.send(It,!1),n.send(io)};return qm(Ll,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},Nl=Vm;import qf from"lodash.debounce";import{useCallback as Ln,useEffect as xr,useState as mo}from"react";import{useDispatch as Wf,useSelector as Lt}from"react-redux";import{createAsyncThunk as Wm,createSlice as Gm}from"@reduxjs/toolkit";var $m={data:null,fetchState:"idle"},Ol=t=>t.contentTypes.data,lo=Wm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),Xm=Gm({name:"contentTypes",initialState:$m,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=Xm.reducer;function co(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 Zm}from"react";function Hl(t,e){Zm(()=>{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 Ul,useRef as nf}from"react";import{useSelector as sf,useDispatch as rf}from"react-redux";import{createAsyncThunk as Qm,createSlice as Jm}from"@reduxjs/toolkit";var Bl={data:null,fetchState:"idle"},kn=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},pe=Qm("entities/getEntities",async(t,e)=>{let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):o.getEntities(r)}),Ym=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),ef=Jm({name:"entities",initialState:Bl,reducers:{},extraReducers:t=>{t.addCase(pe.pending,e=>{e.fetchState="loading"}).addCase(pe.rejected,e=>{e.fetchState="error"}).addCase(pe.fulfilled,(e,o)=>{e.fetchState="done",e.data=Ym(e.data?[...e.data,...o.payload]:o.payload)}).addCase(M,()=>Bl)}}),Fl=ef.reducer;var fr={};q(fr,{enUS:()=>tf,nlNL:()=>of});var tf={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},of={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Kl={root:"_root_17kae_1",empty:"_empty_17kae_5"};import{jsx as In,jsxs as lf}from"react/jsx-runtime";var af=({onCopy:t,onUse:e})=>{let o=nf(null),n=y("EntitiesList",Kl),s=T(fr),r=sf(kn),i=rf();return Ul(()=>{i(pe())},[]),Ul(()=>{o.current&&o.current.focus()},[o]),lf("div",{className:n.root,ref:o,tabIndex:-1,children:[r&&r.length>0&&In(I.ActionsBar,{primaryLabel:s("copy"),secondaryLabel:s("use"),onPrimary:(a,l)=>t(r[l]),onSecondary:(a,l)=>e(r[l]),list:r.map(a=>({text:a.text,type:a.label,primaryAction:"copy",secondaryAction:"use"})),children:In(I.List,{children:r.map((a,l)=>In(I.ListItem,{index:l,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities")}),r&&r.length===0&&In("p",{className:n.empty,children:s("noResults")})]})},jl=af;import{Fragment as mf,useEffect as Rn,useRef as ff,useState as hf}from"react";import{useSelector as $l,useDispatch as yf}from"react-redux";import{createAsyncThunk as cf,createSlice as pf}from"@reduxjs/toolkit";var zl={data:null,fetchState:"idle"},Vl=t=>t.summary.data,ql=t=>t.summary.fetchState==="error",Ee=cf("summary/getSummary",async(t,e)=>{var p,d,g;let o=e.getState().profile.data,n=(p=e.getState().conversation.current)==null?void 0:p.id,s=(g=(d=e.getState().info)==null?void 0:d.agentInfo)==null?void 0:g.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,l=await a();if(l.length===0)return Promise.reject(new Error("No messages are included"));let c=await r.getSummary(l,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return c?{summary:c}:Promise.reject(new Error("Summary is not provided"))}),df=pf({name:"summary",initialState:zl,reducers:{},extraReducers:t=>{t.addCase(Ee.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(Ee.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(Ee.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary)}).addCase(M,()=>zl)}}),Wl=df.reducer;var hr={};q(hr,{enUS:()=>uf,nlNL:()=>gf});var uf={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."}]},gf={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 Gl={root:"_root_6ahh3_1",actions:"_actions_6ahh3_5",main:"_main_6ahh3_11",textInput:"_textInput_6ahh3_15",loading:"_loading_6ahh3_34",error:"_error_6ahh3_38"};import{jsx as Rt,jsxs as Sf}from"react/jsx-runtime";var vf=({onCopy:t})=>{let e=ff(null),o=y("SummaryForm",Gl),[n,s]=hf(""),r=T(hr),i=$l(Vl),a=$l(ql),l=yf(),c=()=>{l(W({name:"summary copied to clipboard",data:{originalText:i,finalText:n},options:{includeConversationData:!0}})),t(n)},p=()=>{let d=document.getSelection();d&&l(W({name:"summary copied to clipboard",data:{originalText:i,finalText:d==null?void 0:d.toString()},options:{includeConversationData:!0}}))};return Rn(()=>{l(Ee())},[]),Rn(()=>{s(i||"")},[i]),Rn(()=>{e.current&&i&&e.current.focus()},[e,i]),Rn(()=>{let d=g=>{g.key==="Enter"&&g.shiftKey&&c()};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[n]),Rt("div",{className:o.root,tabIndex:-1,children:a?Rt("p",{className:o.error,children:r("error")}):Sf(mf,{children:[Rt("div",{className:o.main,children:Rt("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:o.textInput,ref:e,value:n,onCopy:p,onChange:d=>s(d.target.value)})}),Rt("div",{className:o.actions,children:Rt(I.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},Xl=vf;var po={};q(po,{enUS:()=>_f,nlNL:()=>xf});var _f={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?"}]},xf={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 Mf,{useEffect as Sr,useRef as Nf}from"react";import{useDispatch as Of,useSelector as sc}from"react-redux";var yr={};q(yr,{enUS:()=>bf,nlNL:()=>Cf});var bf={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"}]},Cf={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 Zl={root:"_root_1g4pq_1",title:"_title_1g4pq_9",empty:"_empty_1g4pq_20",status:"_status_1g4pq_24",form:"_form_1g4pq_30",input:"_input_1g4pq_43",submit:"_submit_1g4pq_55",question:"_question_1g4pq_63",answer:"_answer_1g4pq_67",alignRight:"_alignRight_1g4pq_73"};import{createAction as If,createAsyncThunk as Rf,createSlice as Pf}from"@reduxjs/toolkit";import{createAsyncThunk as wf,createSlice as Tf}from"@reduxjs/toolkit";var Ef={data:null,fetchState:"idle"},Ql=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},uo=wf("knowledgeAssistant/getKnoeledgeAssistant",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");let r=(i=n.profile.data)==null?void 0:i.knowledgeAssistant;return r?o.getKnowledgeAssistant(r):null}),kf=Tf({name:"knowledgeAssistant",initialState:Ef,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=o.payload})}}),Jl=kf.reducer;var vr={data:[],fetchState:"idle"},Yl=t=>{var e;return(e=t.answer)==null?void 0:e.data},ec=t=>t.answer.fetchState,At=If("answer/resetKnowledgeSearch"),Pt=Rf("answer/getAnswer",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Ql(e.getState());if(!s)throw new Error("KnowledgeAssistant is not defined");let r=await o.knowledgeAssist({promptInstruction:s.prompt,question:t},n,s.code);return{question:t,answer:r}}),Af=Pf({name:"answer",initialState:vr,reducers:{},extraReducers:t=>{t.addCase(Pt.pending,e=>{e.fetchState="loading"}).addCase(Pt.rejected,e=>{e.fetchState="error"}).addCase(Pt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(M,()=>vr).addCase(At,()=>vr)}}),tc=Af.reducer;import{jsx as oc,jsxs as Lf}from"react/jsx-runtime";var nc=()=>Lf("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[oc("title",{id:"paperPlaneTitle",children:"PaperPlane"}),oc("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 ke,jsxs as _r}from"react/jsx-runtime";var Df=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=Mf.useState(""),{setSelected:r}=De(),i=Nf(null),a=y("EntitiesList",Zl),l=T(yr),c=Of(),p=sc(Yl),d=sc(ec),g=async m=>{m.preventDefault(),m.stopPropagation(),n!==""&&c(Pt(n))},u=(m,f)=>{c(W({name:"knowledge assist source viewed",data:{question:f,sourceViewed:m.url||m.name},options:{includeConversationData:!0}}))};return Sr(()=>{var m;o&&d==="idle"?c(Pt(o)):(m=i.current)==null||m.focus()},[i,d]),Sr(()=>{d==="done"&&(c(W({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}})),r(p.length-1),s(""))},[d,p]),Sr(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,p]),_r("div",{className:a.root,children:[p.length>0&&ke("div",{className:a.alignRight,children:ke(I.Button,{onClick:e,children:l("reset")})}),_r(I.ActionsBar,{list:p.map(({answer:m})=>({text:m.answer,type:"answer"})),primaryLabel:l("use"),onPrimary:m=>t(m.text),children:[p.map(({question:m,answer:f},h)=>ke(I.List,{children:ke(I.ListItem,{"data-testid":"knowledge-search-answer",index:h,description:f.answer,closeOnSelect:!0,onClick:()=>t(f.answer),onSourceClick:E=>u(E,m),sources:f.sources,styles:{title:a.question,description:a.answer},children:m})},`${f.answer}_${h}`)),d==="loading"&&ke("p",{className:a.status,children:l("loading")}),d==="error"&&ke("p",{className:a.status,children:l("error")}),_r("form",{className:a.form,onSubmit:g,children:[ke("input",{ref:i,placeholder:l("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(-1)},onChange:m=>{r(-1),s(m.target.value)}}),ke("button",{type:"submit",className:a.submit,children:ke(nc,{})})]})]})]})},rc=Df;import{createAsyncThunk as Hf,createSlice as Bf}from"@reduxjs/toolkit";var Ff={data:null,fetchState:"idle"},Ke=t=>t.profile.data,Pn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],go=Hf("profile/getProfile",async(t,e)=>{var r;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=n.profile.data)==null?void 0:r.code)===s.profileCode?n.profile.data:o.getProfile(s.profileCode)}),Kf=Bf({name:"profile",initialState:Ff,reducers:{},extraReducers:t=>{t.addCase(go.pending,e=>{e.fetchState="loading"}).addCase(go.rejected,e=>{e.fetchState="error"}).addCase(go.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),ic=Kf.reducer;import{useEffect as Uf}from"react";import{useDispatch as jf}from"react-redux";import{useSelector as ac}from"react-redux";import{jsx as An,jsxs as Vf}from"react/jsx-runtime";var zf=({commands:t,onClick:e,onEdit:o})=>{var p,d,g;let n=jf(),s=T(po),r=ac(Ke),i=ac(Be),a=((g=(d=(p=r==null?void 0:r.uiConfig)==null?void 0:p.search)==null?void 0:d.initialTypes)==null?void 0:g.filter(({isActive:u})=>u))||[],l=0,c=a.map(({type:u})=>{var m;return(m=i[u])==null?void 0:m.suggestions.map(f=>({text:f.text||f.url||f.message,type:u}))}).flat(1);return Uf(()=>{a.forEach(({type:u})=>{(!i[u]||i[u].suggestions.length===0)&&n(ce(u))})},[]),Vf(I.ActionsBar,{list:[...t.map(u=>({text:u.label,type:"command"})),...c],primaryLabel:s("use"),secondaryLabel:s("preview"),onPrimary:({text:u},m)=>e(u,c[m]),onSecondary:(u,m)=>{let f=m-t.length;o(c[f],i[c[f].type].suggestions)},children:[t.length>0&&An(I.List,{heading:s("commands"),children:t.map((u,m)=>An(I.ListItem,{index:m,closeOnSelect:!1,onClick:u.onClick,children:u.label},u.label))}),a.map(({type:u,title:m})=>{var f;return An(I.List,{heading:m,orientation:"vertical",children:(f=i[u])==null?void 0:f.suggestions.map(h=>(l++,An(I.ListItem,{index:l+t.length-1,closeOnSelect:!1,description:h.text,onClick:()=>e(h.text,h),"data-testid":"search-overlay-suggestion",children:h.title},`${h.id}-${h.text}`)))},u)})]})},lc=zf;import{jsx as ee,jsxs as br}from"react/jsx-runtime";var Gf=200,$f=5,Xf=4,Zf=t=>t.reduce((e,o)=>[...e,...o.list.map(n=>({...n,type:o.value}))],[]),cc=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Qf=()=>{let t=Wf(),e=se(),o=T(po),[n,s]=mo(!1),[r,i]=mo(""),a=Lt(Fa),l=Lt(Ke),[c,p]=mo(null),[d,g]=mo([]),[u,m]=mo(),f=Lt(Z),h=C("showSearch"),E=C("showEntitiesCommand"),S=C("showSummaryCommand"),x=C("showKnowledgeSearch"),b=C("showImageSearch"),v=C("searchTriggerKey"),R=Lt(Ol),A=Lt(Ka),H=Lt(Ba),P=_=>cs(A.filter(O=>O.type===_.toUpperCase()),_),V=[{value:"PERSONAL",label:o("personalSuggestions"),list:P("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:P("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:P("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:P("IMAGE"),listOrientation:"horizontal",shouldShow:b}].filter(_=>_.shouldShow),k=[{label:o("entitiesClipboard"),onClick:()=>t(X("entities")),shouldShow:E&&cc(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(X("summary")),shouldShow:S&&cc(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(X("knowledgeAssist")),shouldShow:x}].filter(_=>_.shouldShow),F=(R==null?void 0:R.map(_=>({value:_.code.toUpperCase(),label:`${_.name}s`,list:P(_.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],at=Ln(qf((_,O)=>{t(Je({query:_,type:O,tags:["search-overlay"]}))},Gf),[]),Ut=Zf([...F,...V]),jt=Ln((_,O)=>{t(X("edit")),p({..._,searchTerm:void 0}),g(O)},[t,c,F]),To=Ln((_,O)=>{switch(O.type){case"IMAGE":e.send(pr,{suggestion:O});break;default:e.send(Te,{text:_,suggestion:O})}t($(!1))},[t]),fd=_=>{co(_.text),t(W({name:"entity copied",data:{entity:_,type:"copy"}})),t($(!1))},hd=Ln(_=>{t(W({name:"suggestion feedback",data:{text:_.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),yd=_=>{e.send(Te,{text:_,suggestion:{source:"knowledge-assist",text:_}}),t(W({name:"answer used",data:{originalText:_},options:{includeConversationData:!0}})),i(""),t(X("search")),t(At()),t($(!1))},vd=_=>{co(_),t($(!1))},Sd=_=>{e.send(Te,{text:_.text,suggestion:{source:"entity",text:_.text}}),t($(!1))},_d=c===null||d.indexOf(c)-1<0?void 0:()=>p(d[d.indexOf(c)-1]),xd=c===null||d.indexOf(c)===d.length-1?void 0:()=>p(d[d.indexOf(c)+1]);function cs(_,O){return _.slice(0,u?10:O.toLowerCase()==="image"?Xf:$f)}function ii(_,O,de){return O.reduce((Eo,ko)=>de&&u===de?ko.length+Eo:cs(ko,de).length+Eo,_)}function lt(_){return O=>{n?window.confirm(o("warning"))&&(_(O),s(!1)):_(O)}}return xr(()=>{r?at(r,u):t(vn())},[r,u]),xr(()=>{a==="search"&&t(At())},[a]),xr(()=>{f&&t(lo())},[f]),Hl(v,()=>t($(!0))),!h||!l?null:br(I,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:lt(_=>t($(_))),onChangeType:_=>m(_),onChangePage:lt(_=>t(X(_))),selectedType:u,search:r,page:a,isOpen:H,types:[...F,...V],children:[br(I.Page,{id:"search",children:[r.length===0&&ee(lc,{commands:k,onClick:To,onEdit:jt}),r.length>0&&br(I.ActionsBar,{list:[...k.map(_=>({text:_.label,type:"command"})),...Ut.map(_=>({text:_.text||_.url||_.message,type:_.type}))],primaryLabel:o("use"),secondaryLabel:o("preview"),onPrimary:({text:_},O)=>To(_,Ut[O]),onSecondary:(_,O)=>{let de=Ut[O-k.length];!de||!de.type||jt(de,P(de.type))},children:[k.length>0&&ee(I.List,{heading:o("commands"),children:k.map((_,O)=>ee(I.ListItem,{index:ii(O,[],"commands"),closeOnSelect:!1,onClick:_.onClick,children:_.label},_.label))}),[...F,...V].map(({value:_,label:O,list:de,lineClamp:Eo,listOrientation:ko},bd)=>ee(I.List,{heading:O,orientation:ko==="horizontal"?"horizontal":"vertical",children:cs(de,_).map((ne,Cd)=>ee(I.ListItem,{index:ii(k.length+Cd,[...F,...V].slice(0,bd).map(({list:wd})=>wd),_),closeOnSelect:!1,lineClamp:Eo,onClick:()=>To(ne.text,ne),description:_!=="IMAGE"?ne.title&&ne.text:void 0,onFeedback:_!=="IMAGE"?()=>hd(ne):void 0,children:_==="IMAGE"?ee(I.Image,{title:ne.title||ne.text,src:ne.image}):ne.title||ne.text},`${ne.id}-${ne.text}`))},_))]})]}),ee(I.Page,{id:"edit",onDismiss:lt(()=>{t(X("search")),p(null)}),children:c&&ee(bn,{suggestion:c,onTouched:s,onDismiss:()=>{s(!1),t(X("search")),p(null),g([])},onNext:xd,onPrevious:_d,onUse:_=>{t(X("search")),To(_,{...c,source:`${c.source||"text_recommendation"}-preview`}),t($(!1)),g([]),p(null)}})}),ee(I.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:lt(()=>{t(X("search"))}),children:ee(jl,{onUse:Sd,onCopy:fd})}),ee(I.Page,{id:"summary",title:o("summaryTitle"),onDismiss:lt(()=>{t(X("search"))}),children:ee(Xl,{onCopy:vd})}),ee(I.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:lt(()=>{t(At()),t(X("search"))}),children:ee(rc,{question:r,onUse:yd,onResetQuestion:()=>{t(At()),i("")}})})]})},pc=Qf;import{jsx as Cr,jsxs as eh}from"react/jsx-runtime";var Yf=()=>{let t=C("showSearch"),e=C("isEmbedded");return eh(Jf,{children:[t&&Cr(pc,{}),Cr(Il,{}),e&&Cr(Nl,{})]})},dc=Yf;import sh from"classnames";import{useSelector as rh}from"react-redux";import{jsx as wr}from"react/jsx-runtime";var uc=({className:t})=>wr("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:wr("g",{children:wr("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
|
|
3
|
+
`,$e.MISSING_INTL_API,i);var b=o.getPluralRules(e,{type:p.pluralType}).select(g-(p.offset||0));x=p.options[b]||p.options.other}if(!x)throw new Ls(p.value,g,Object.keys(p.options),i);a.push.apply(a,Zt(x.value,e,o,n,s,g-(p.offset||0)));continue}}return Lu(a)}function Nu(t,e){return e?oe(oe(oe({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=oe(oe({},t[n]),e[n]||{}),o},{})):t}function Ou(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Nu(t[n],e[n]),o},oe({},t)):t}function Ms(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function Du(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:sn(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Go([void 0],o,!1)))},{cache:Ms(t.number),strategy:rn.variadic}),getDateTimeFormat:sn(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Go([void 0],o,!1)))},{cache:Ms(t.dateTime),strategy:rn.variadic}),getPluralRules:sn(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Go([void 0],o,!1)))},{cache:Ms(t.pluralRules),strategy:rn.variadic})}}var Xi=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(c){var p=r.formatToParts(c);if(p.length===1)return p[0].value;var d=p.reduce(function(g,u){return!g.length||u.type!==G.literal||typeof g[g.length-1]!="string"?g.push(u.value):g[g.length-1]+=u.value,g},[]);return d.length<=1?d[0]||"":d},this.formatToParts=function(c){return Zt(r.ast,r.locales,r.formatters,r.formats,c,void 0,r.message)},this.resolvedOptions=function(){var c;return{locale:((c=r.resolvedLocale)===null||c===void 0?void 0:c.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,l=Ui(i,["formatters"]);this.ast=t.__parse(e,oe(oe({},l),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Ou(t.formats,n),this.formatters=s&&s.formatters||Du(this.formatterCache)}return Object.defineProperty(t,"defaultLocale",{get:function(){return t.memoizedDefaultLocale||(t.memoizedDefaultLocale=new Intl.NumberFormat().resolvedOptions().locale),t.memoizedDefaultLocale},enumerable:!1,configurable:!0}),t.memoizedDefaultLocale=null,t.resolveLocale=function(e){if(!(typeof Intl.Locale>"u")){var o=Intl.NumberFormat.supportedLocalesOf(e);return o.length>0?new Intl.Locale(o[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=Vi,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 Fu(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Ku="dummy",Ns=Hu(null);function T(t){let e=Bu(Ns);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=t[e]??{};return(n,s)=>{let r=Fu(o,n);return r?new Xi(r).format(s):(e!==Ku&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{jsx as Zi,jsxs as Uu}from"react/jsx-runtime";var an=()=>Uu("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Zi("title",{id:"angleLeftTitle",children:"AngleLeft"}),Zi("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 Qi,jsxs as ju}from"react/jsx-runtime";var Ji=()=>ju("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleRightTitle",children:[Qi("title",{id:"angleRightTitle",children:"AngleRight"}),Qi("path",{d:"M64 448c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L178.8 256L41.38 118.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160c12.5 12.5 12.5 32.75 0 45.25l-160 160C80.38 444.9 72.19 448 64 448z"})]});import{useEffect as Jt,useRef as zs,useState as ug}from"react";import{useDispatch as gg}from"react-redux";import{Interweave as Sa}from"interweave";import _a from"classnames";var Os={root:"_root_smoda_1",agentText:"_agentText_smoda_3",textInput:"_textInput_smoda_8",textInputWrapper:"_textInputWrapper_smoda_27",alert:"_alert_smoda_31",alertText:"_alertText_smoda_50",warning:"_warning_smoda_60",success:"_success_smoda_69"};import{Matcher as Wu}from"interweave";import Gu from"classnames";import{useEffect as zu,useRef as Vu,useState as qu}from"react";function Yi(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=Vu(null),[o,n]=qu(!1);return zu(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Yi((p,d)=>{let g=e.current;if(!g)return;let u=p/r,m=d/r,f=g.getBoundingClientRect(),h=u>f.x&&u<f.x+f.width&&m>f.y&&m<f.y+f.height;h&&!s?(s=!0,n(!0)):!h&&s&&(s=!1,n(!1))},({clientX:p,clientY:d})=>[p,d]),[l,c]=Yi(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}var xe={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};import{jsx as ea}from"react/jsx-runtime";var $u=({inputElement:t,children:e})=>{let o=y("TabCompletion",xe),[n,s]=ln(t);return ea("mark",{ref:n,className:Gu(o.matchPlaceholder,{[o.hover]:s}),children:e})},vt=class extends Wu{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 ea($u,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{useEffect as Xu,useRef as Zu,useState as Qu}from"react";function cn(t){return t.contentEditable==="true"}function Ju(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 ta(t){let{selectionStart:e,selectionEnd:o}=cn(t)?Ju(t):t;return[e,o]}function pn(t){let[,e]=Qu(),o=Zu(null);return o.current=ta(t),Xu(()=>{let n=()=>{let[s,r]=o.current??[],i=ta(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 dn(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(gt);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=n.indexOf(l,a);return s>c&&r<c+l.length?(o.selectionStart=c,o.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{useEffect as Yu}from"react";function St(t){Yu(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Xe(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var oa,me=new Map,eg=["bottom","height","left","right","top","width"],tg=(t={},e={})=>eg.some(o=>t[o]!==e[o]);function na(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...na(e)]:[]}function sa(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var un=!1,ra=()=>{un=!0;let t=[];if(me.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),me.delete(o);return}let n=o.getBoundingClientRect();tg(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(sa,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),me.size===0){un=!1;return}oa=window.requestAnimationFrame(ra)};function Ds(t,e){let o=na(t),n=[],s=o.map((r,i)=>Ds(r,a=>{n[i]=a;let l=me.get(t);if(!l)return;let c=n.reduce(sa,l.rect);l.callbacks.forEach(p=>p(c))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),me.has(t)){let i=me.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else me.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!un&&ra()},unobserve(){s.forEach(i=>i.unobserve());let r=me.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||me.delete(t),me.size||(cancelAnimationFrame(oa),un=!1)}}}}var ia,fe=new Map,aa=()=>{fe.forEach((t,e)=>{if(!e.isConnected){fe.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),fe.size!==0&&(ia=window.requestAnimationFrame(aa))};function la(t,e){return{observe(){let o=fe.size===0;fe.has(t)?fe.get(t).callbacks.push(e):fe.set(t,{visible:void 0,callbacks:[e]}),o&&aa()},unobserve(){let o=fe.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||fe.delete(t),fe.size||cancelAnimationFrame(ia)}}}}var Hs=["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 Bs(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function _t(t){return parseFloat(t)}function gn(t){return Math.round(t*1e6)}function ca(t){return t/1e6}function Fs(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=_t(t.width),r=_t(t.borderLeftWidth),i=_t(t.borderRightWidth),a=_t(t.paddingRight),l=ca(gn(s)-gn(r)-gn(i)),c=ca(gn(n));if(l-c>2){let p=l-c;o.style.paddingRight=`${a+p}px`}}function xt(t,e={}){var p;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Xe(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Bs(n,o,Hs),Fs(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=la(t,()=>{Bs(n,o,Hs),Fs(n,t,o),r(),setTimeout(r,0)}),a,l=!0,c=Ds(t,d=>{if(d===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),d.height===0&&d.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Bs(n,o,Hs),Fs(n,t,o),r(),o.style.top=`${d.top}px`,o.style.left=`${d.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let g=e.closestScrollElement.getBoundingClientRect(),u=window.getComputedStyle(e.closestScrollElement),m=_t(u.borderTopWidth),f=_t(u.borderBottomWidth),h=g.top+m-d.top,E=d.top+d.height+-(g.top+g.height-f);o.style.clipPath=`inset(${h}px 0px ${E}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(p=t.parentElement)==null||p.appendChild(o),c.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),c.unobserve(),i.unobserve()}]}var Ks={};q(Ks,{enUS:()=>og,nlNL:()=>ng});var og={placeholders:[{type:6,value:"placeholderSize",options:{"=0":{value:[{type:0,value:"No placeholders found"}]},one:{value:[{type:0,value:"There is one placeholder in your message"}]},other:{value:[{type:0,value:"There are "},{type:7},{type:0,value:" placeholders in your message"}]}},offset:0,pluralType:"cardinal"}]},ng={placeholders:[{type:6,value:"placeholderSize",options:{"=0":{value:[{type:0,value:"Alle placeholders zijn uit je bericht"}]},one:{value:[{type:0,value:"Er is 1 placeholder in jouw bericht"}]},other:{value:[{type:0,value:"Er zijn "},{type:7},{type:0,value:" placeholders in jouw bericht"}]}},offset:0,pluralType:"cardinal"}]};import{jsx as pa,jsxs as sg}from"react/jsx-runtime";var da=()=>sg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 512 512","aria-labelledby":"circleCheckTitle",children:[pa("title",{id:"circleCheckTitle",children:"Check"}),pa("path",{d:"M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"})]});import{jsx as ua}from"react/jsx-runtime";var ga=()=>ua("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:ua("path",{d:"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"})});var ma=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(ma||{}),Ne=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Ae(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(ma).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};var Oe=class extends Ne{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};var rg=/[.*+?^${}()|[\]\\]/g,ig=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function ag(t){return t.replace(rg,"\\$&")}function lg(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function cg(t){return t.search(ig)}function fa(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${ag(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ha(t){return t.replace(gt,'<mark data-type="placeholder">$1</mark>')}function Qt(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function pg(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 Us(t,e,o={}){if(e){let n=lg(e.toLowerCase(),t.toLowerCase()),s=Qt(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),c=cg(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(mi).length>3||e.length>30?pg(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Qt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var dg=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function bt(t){return dg.test(t)}function ya(t){if(bt(t)){let o=/<body[^>]*>([\s\S]*)<\/body>/gi.exec(t);return o?o[1]:""}return t}function va(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import{jsx as le,jsxs as js}from"react/jsx-runtime";var mg=({value:t,onUse:e,...o})=>{var d;let n=T(Ks),s=gg(),r=bt(t),i=y("EditSuggestionTextInput",Os),[a,l]=ug(null),c=zs(null),p=((d=t.match(gt))==null?void 0:d.length)||0;return Jt(()=>{let g;return c.current&&(l(c.current),g=new Oe(c.current),g.on("change",({plainText:u})=>{s(Q.actions.userInput({text:u,selection:g.getSelection()}))}),g.on("keydown",u=>{s(Q.actions.registerKeyDown(Uo(u))),u.code==="Enter"&&u.shiftKey&&e(g.getText())}),g.on("paste",({pastedText:u,selectionText:m})=>{s(Q.actions.registerPaste({text:u,selectionText:m}))}),g.on("cut",({selectionText:u})=>{s(Q.actions.registerCut(u))})),()=>{s(Q.actions.reset()),g.dispose(),g.deactivate()}},[c]),Jt(()=>{t&&c.current&&(c.current.value=t)},[t,c]),Jt(()=>{c.current&&setTimeout(()=>{if(!c.current)return;let g=c.current.value.length;c.current.setSelectionRange(g,g),c.current.focus()},0)},[c]),r?le("div",{className:i.textInputWrapper,children:le(Sa,{className:i.textInput,tagName:"div",content:t})}):js("div",{className:i.textInputWrapper,children:[le("textarea",{...o,ref:c,"data-testid":"edit-suggestion-dialog-textarea",className:i.textInput,defaultValue:t,onChange:()=>{}}),a&&le(fg,{inputElement:c.current,value:t}),js("div",{className:_a(i.alert,p===0?i.success:i.warning),children:[le("div",{className:i.alertText,children:n("placeholders",{placeholderSize:p})}),p===0?le(da,{}):le(ga,{})]})]})},fg=({inputElement:t,value:e})=>{let o=y("EditSuggestionTextInput",Os),n=zs(null),s=pn(t);return Jt(()=>{dn(t,s)},[s,t]),le(hg,{inputElement:t,children:js("div",{ref:n,className:_a(o.root,o.agentText),children:[le(Sa,{tagName:"span",disableLineBreaks:!0,content:e,matchers:[new vt("placeholders")],inputElement:t,boundaryRef:n}),le("br",{})]})})},hg=({inputElement:t,children:e})=>{let o=zs(null);return Jt(()=>{if(!o.current)return()=>{};let[n,s]=xt(t,{overlayContainer:o.current,mirrorOverflow:!0});return n.setAttribute("translate","no"),()=>{s()}},[o.current]),le("div",{ref:o,children:e})},xa=mg;import{useEffect as am,useState as lm,useRef as cm}from"react";import{useState as Sg}from"react";import Vs from"classnames";var J={root:"_root_1mc8f_1",list:"_list_1mc8f_2",listWrapper:"_listWrapper_1mc8f_6",listHorizontal:"_listHorizontal_1mc8f_10",page:"_page_1mc8f_19",search:"_search_1mc8f_25",pageNav:"_pageNav_1mc8f_33",pageTitle:"_pageTitle_1mc8f_41",pageBackButton:"_pageBackButton_1mc8f_48",listHeading:"_listHeading_1mc8f_62",listItem:"_listItem_1mc8f_70",listItemContent:"_listItemContent_1mc8f_79",listItemText:"_listItemText_1mc8f_97",listItemDescription:"_listItemDescription_1mc8f_105",listItemActions:"_listItemActions_1mc8f_112",truncate:"_truncate_1mc8f_123",lineClamp:"_lineClamp_1mc8f_129",listItemTitle:"_listItemTitle_1mc8f_136",listItemAction:"_listItemAction_1mc8f_112",listItemPrimaryAction:"_listItemPrimaryAction_1mc8f_157",listItemSelected:"_listItemSelected_1mc8f_162",sources:"_sources_1mc8f_166",sourcesTitle:"_sourcesTitle_1mc8f_173",source:"_source_1mc8f_166",icon:"_icon_1mc8f_188",searchIcon:"_searchIcon_1mc8f_205",searchInputWrapper:"_searchInputWrapper_1mc8f_210",searchInput:"_searchInput_1mc8f_210",select:"_select_1mc8f_231",selectType:"_selectType_1mc8f_248",selectWrapper:"_selectWrapper_1mc8f_252",image:"_image_1mc8f_282",imageSrc:"_imageSrc_1mc8f_289",imageSrcHidden:"_imageSrcHidden_1mc8f_300",imageSrcStatus:"_imageSrcStatus_1mc8f_304",imageTitle:"_imageTitle_1mc8f_314",actions:"_actions_1mc8f_319",actionsWrapper:"_actionsWrapper_1mc8f_323",actionsBar:"_actionsBar_1mc8f_329",actionButton:"_actionButton_1mc8f_338",hasShortKeys:"_hasShortKeys_1mc8f_351",actionShortcut:"_actionShortcut_1mc8f_360",actionShortcutFixKerning:"_actionShortcutFixKerning_1mc8f_367"};var Ze={};q(Ze,{enUS:()=>yg,nlNL:()=>vg});var yg={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}]},vg={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}]};import{jsx as Yt,jsxs as xg}from"react/jsx-runtime";var _g=({src:t,title:e})=>{let o=y("CommandPalette",J),[n,s]=Sg("loading"),r=T(Ze);return xg("div",{className:o.image,children:[Yt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Vs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Yt("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Yt("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:Yt(Ro,{})}),e&&Yt("span",{className:o.imageTitle,children:e})]})},ba=_g;import bg from"react";import Cg from"classnames";import{jsx as Ca,jsxs as wg}from"react/jsx-runtime";function qs({children:t,heading:e,orientation:o}){let n=y("CommandPalette",J);return bg.Children.count(t)===0?null:wg("div",{"data-testid":"commandpalette-list",className:n.list,children:[e&&Ca("h4",{className:n.listHeading,children:e}),Ca("div",{className:Cg(n.listWrapper,o==="horizontal"&&n.listHorizontal),children:t})]})}import hn from"classnames";import{Interweave as Kg}from"interweave";import Tg,{useState as wa,useEffect as Ta,useMemo as Eg,useRef as Ea,useCallback as kg,useContext as Ig}from"react";import Rg from"classnames";var Ws={root:"_root_1oh4w_1",trigger:"_trigger_1oh4w_5",content:"_content_1oh4w_19",contentOpen:"_contentOpen_1oh4w_33",contentTop:"_contentTop_1oh4w_37",contentBottom:"_contentBottom_1oh4w_41",item:"_item_1oh4w_45"};import{jsx as mn,jsxs as Mg}from"react/jsx-runtime";var Pg=0,ka=Tg.createContext(null),Ag=()=>{let t=Ig(ka);if(!t)throw new Error("Invalid DropdownContext");return t},Ia=({trigger:t,children:e,position:o="bottom"})=>{let n=Eg(()=>++Pg,[]),s=Ea(null),r=Ea(null),i=y("Dropdown",Ws),[a,l]=wa(!1),[c,p]=wa(o),d=u=>{u.preventDefault(),u.stopPropagation(),l(!a)},g=kg(([u])=>{!u.isIntersecting&&a&&p(c==="top"?"bottom":"top")},[a]);return Ta(()=>{let u=m=>{s.current&&!s.current.contains(m.target)&&l(!1)};return document.addEventListener("click",u),()=>{document.removeEventListener("click",u)}},[]),Ta(()=>{if(!r.current&&!a)return()=>{};let u=new IntersectionObserver(g,{root:null,rootMargin:"0px",threshold:1});return r.current&&u.observe(r.current),()=>{r.current&&u.unobserve(r.current)}},[r,a]),mn(ka.Provider,{value:{setIsOpen:l},children:Mg("div",{ref:s,className:i.root,children:[mn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:d,children:t}),mn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Rg(i.content,{[i.contentOpen]:a,[i.contentTop]:c==="top",[i.contentBottom]:c==="bottom"}),children:e})]})})};function Lg({as:t,children:e,onClick:o,...n}){let s=t||"button",r=y("Dropdown",Ws),{setIsOpen:i}=Ag(),a=l=>{i(!1),o(l),l.stopPropagation()};return mn(s,{type:"button",className:r.item,onClick:a,...n,children:e})}Ia.Item=Lg;var Gs=Ia;import{jsx as Ra}from"react/jsx-runtime";var Pa=t=>Ra("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:Ra("path",{fill:"currentColor",d:"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"})});var Qe={};q(Qe,{enUS:()=>Ng,nlNL:()=>Og});var Ng={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"}]},Og={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],giveFeedback:[{type:0,value:"Geef feedback"}],answer:[{type:0,value:"Antwoord"}]};import{jsx as $s}from"react/jsx-runtime";var Dg="%0d%0a%0d%0a%0d%0a",Hg=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Dg)}`},Bg=({suggestion:t,onFeedback:e})=>{let o=T(Qe),n=C("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:$s(Gs,{trigger:$s(Pa,{"data-testid":"feedback-dropdown-trigger"}),children:$s(Gs.Item,{as:"a",href:Hg(n,t),onClick:e,children:o("giveFeedback")})})},fn=Bg;import Xs from"react";import{jsx as Fg}from"react/jsx-runtime";var Aa=Xs.createContext(void 0);function De(){let t=Xs.useContext(Aa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var La=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Xs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Fg(Aa.Provider,{value:i,children:t})};import{jsx as He,jsxs as Zs}from"react/jsx-runtime";function Qs({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,onSourceClick:r,index:i,description:a,sources:l,styles:c,...p}){let{selected:d,setSelected:g,onChangeOpen:u}=De(),m=y("CommandPalette",J);function f(h){n(h),t&&u(!1)}return Zs("div",{className:hn(m.listItem,d===i&&m.listItemSelected),children:[He("button",{onMouseEnter:()=>g(i),type:"button",className:hn("command-palette-list-item",m.listItemAction,m.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:f,...p,children:Zs("div",{className:m.listItemContent,children:[typeof o=="string"?He("p",{className:hn(m.listItemText,m.truncate,c==null?void 0:c.title),children:o}):o,a&&He(Kg,{tagName:"p",allowList:[],content:bt(a)?va(a):a,className:hn(m.listItemDescription,c==null?void 0:c.description,e?m.lineClamp:m.truncate)})]})}),s&&d===i&&He("div",{className:m.listItemActions,children:He(fn,{suggestion:String(o),onFeedback:s})}),l&&Zs("div",{className:m.sources,children:[He("span",{className:m.sourcesTitle,children:"Sources"}),l.map(h=>h.url?He("a",{className:m.source,href:h.url,target:"_blank",title:h.url,rel:"noopener noreferrer",onClick:()=>r&&r(h),children:h.name},h.url):He("span",{className:m.source,children:h.name},h.name))]})]})}import{jsx as Ma,jsxs as Js}from"react/jsx-runtime";function Ys({children:t,title:e,id:o,onDismiss:n}){let s=T(Ze),r=y("CommandPalette",J),{page:i}=De();return i!==o?null:Js("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Js("div",{className:r.pageNav,children:[Js("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Ma(an,{}),s("back")]}),e&&Ma("h3",{className:r.pageTitle,children:e})]}),t]})}import{Fragment as Qg,useCallback as Jg,useEffect as Yg,useRef as em}from"react";import{createAsyncThunk as qg,createSlice as Wg}from"@reduxjs/toolkit";var Ug={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},w=Ug;import{createAsyncThunk as tr,createSlice as zg}from"@reduxjs/toolkit";function jg(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function L(t){return Array.isArray(t)?t.map(L):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[jg(o)]:L(t[o])}),{}):t}function er(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function U(t){return Array.isArray(t)?t.map(U):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[er(o)]:U(t[o])}),{}):t}var Vg={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},to=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)||""}},eo=tr("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=await o.client.get("/apis/admin/session/me/",{version:null}),s={};return n.external_id||(s.external_id=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?L(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),L(n))}),or=tr("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.client.get("/apis/admin/session/me/",{version:null}),s={...typeof n.ui_config=="object"?n.ui_config:{},...t};return await o.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),nr=tr("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Na=t=>t.info.agentInfo,Oa=zg({name:"info",initialState:Vg,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(eo.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(eo.rejected,e=>{e.fetchState="error"}).addCase(eo.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(or.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(nr.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(M,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Da}=Oa.actions,Ha=Oa.reducer;var yn={list:[],fetchState:"idle",isOpen:!1,page:"search"},Ba=t=>t.search.isOpen,Fa=t=>t.search.page,Ka=t=>t.search.list;function Ua(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var Je=qg("search/getAll",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r}=await o.search({profile:s,query:t.query,filters:{type:t.type},params:to(n),tags:t.tags});return r.map(a=>({...a,source:`search-${a.type.toLowerCase()}`,searchTerm:t.query}))}),ja=Wg({name:"search",initialState:yn,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=yn.fetchState,t.list=yn.list}},extraReducers:t=>{t.addCase(Je.pending,e=>{e.fetchState="loading"}).addCase(Je.rejected,(e,o)=>{e.fetchState="error",w.error(o.error)}).addCase(Je.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload}).addCase(M,()=>yn)}}),{resetSearch:vn,setIsOpen:$,setPage:X}=ja.actions,za=ja.reducer;var Gg=/(https?:\/\/[^\s]+)/,Sn=t=>t.split(" ").find(e=>Gg.test(e));var _n=()=>/Mac/i.test(navigator.platform);import Va from"classnames";import{jsx as Xg,jsxs as Zg}from"react/jsx-runtime";var $g=({onClick:t,shortKeys:e,children:o,...n})=>{let s=y("CommandPalette",J);return Zg("button",{type:"button",...n,onClick:t,className:Va(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Xg("span",{className:Va(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Ct=$g;import{jsx as xn,jsxs as sr}from"react/jsx-runtime";var tm=["url","URL"],om=["default","pinned-message","DEFAULT","STICKYMESSAGE"],nm=({children:t,primaryLabel:e,secondaryLabel:o,onPrimary:n,onSecondary:s,list:r})=>{let i=y("CommandPalette",J),a=T(Ze),{selected:l,setSelected:c}=De(),p=r[l],d=p&&p.type&&tm.includes(p.type),g=p&&p.type&&om.includes(p.type)||p&&"secondaryAction"in p,u=d?Sn(p.text):null,m=em(null);function f(v){if(!m.current)return;let R=m.current.querySelectorAll(".command-palette-list-item"),A=0,H=0;v==="down"?(R.forEach((V,k)=>{k===l&&(A=k)}),H=A===R.length-1?0:A+1):v==="up"?(R.forEach((V,k)=>{k===l&&(A=k)}),H=A?A-1:R.length-1):c(0);let P=R[H];P&&typeof H=="number"&&(c(H),P.scrollIntoView&&P.scrollIntoView({behavior:"smooth",block:H?"center":"end"}))}function h(){if(!m.current)return;let v=m.current.querySelectorAll(".command-palette-list-item"),R=0;v.forEach((H,P)=>{P===l&&(R=P)});let A=v[R];A&&A.click()}let E=()=>{u&&window.open(u,"_blank")},S=()=>{p&&n(p,l)},x=()=>{!s||!g||s(p,l)},b=Jg(v=>{if(v.key==="Enter"&&v.altKey&&u){E();return}if(v.key==="Enter"&&v.shiftKey){x();return}if(v.key==="ArrowDown"){v.preventDefault(),v.stopPropagation(),f("down");return}if(v.key==="ArrowUp"){v.preventDefault(),v.stopPropagation(),f("up");return}v.key==="Enter"&&l!==-1&&(v.preventDefault(),v.stopPropagation(),h())},[l]);return Yg(()=>(window.addEventListener("keyup",b),()=>{window.removeEventListener("keyup",b)}),[b]),sr("div",{className:i.actions,children:[xn("div",{className:i.actionsWrapper,ref:m,children:t}),sr("div",{className:i.actionsBar,children:[u&&xn(Ct,{onClick:E,shortKeys:[_n()?8997:"ALT",8629],children:a("visitUrl")}),p&&sr(Qg,{children:[s&&g&&xn(Ct,{onClick:x,shortKeys:[8679,8629],children:o}),xn(Ct,{onClick:S,shortKeys:[8629],children:e})]})]})]})},Wa=nm;import{forwardRef as rm}from"react";import{jsx as Ga,jsxs as sm}from"react/jsx-runtime";var wt=()=>sm("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ga("path",{d:"M0 0h24v24H0z",fill:"none"}),Ga("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 Tt,jsxs as rr}from"react/jsx-runtime";function im({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let l=y("CommandPalette",J);return rr("div",{className:l.search,children:[Tt("div",{className:l.searchIcon,children:Tt(wt,{})}),rr("div",{className:l.searchInputWrapper,children:[Tt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:c=>{t(c.currentTarget.value)},onFocus:c=>{c.currentTarget.select()},className:l.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&Tt("div",{className:l.selectWrapper,children:rr("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:c=>e(c.target.value===n?void 0:c.target.value),value:i||n,children:[n&&Tt("option",{children:n}),s.map(c=>Tt("option",{value:c.value,children:c.label},c.value))]})})]})]})}var $a=rm(im);import{jsx as Xa,jsxs as pm}from"react/jsx-runtime";function Ye({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:p,isOpen:d,search:g}){let[u,m]=lm(0),f=cm(null),h=()=>{s&&s(o),i(void 0),r(""),a(!1)},E=()=>{var S;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(S=f.current)==null||S.focus();return}if(g.length>0){r("");return}a(!1)};return am(()=>{m(0)},[g,n]),Xa(yt,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:d,onBack:E,onClose:h,children:pm(La,{selected:u,setSelected:m,isOpen:d,onChangeOpen:a,page:n,children:[n===o&&Xa($a,{ref:f,onChange:r,onChangeType:i,placeholder:t,value:g,selectedType:l,types:c,typePlaceholder:e}),p]})})}Ye.Page=Ys;Ye.List=qs;Ye.Image=ba;Ye.ListItem=Qs;Ye.ActionsBar=Wa;Ye.Button=Ct;var I=Ye;import{jsx as be,jsxs as oo}from"react/jsx-runtime";var gm=({suggestion:t,onUse:e,onDismiss:o,onTouched:n,onNext:s,onPrevious:r})=>{let i=t.text||t.url||t.message,a=y("EditSuggestionForm",Ki),l=dm(),c=T(Es),p=um(m=>m.overlayInput.text);Za(()=>{t&&(l(Q.actions.reset()),l(Q.actions.stageSuggestion({text:i,suggestion:t,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"})),l(Q.actions.commitSuggestion()))},[t]);let d=m=>{m.preventDefault(),g(p)},g=m=>{l(Vo(m)),e(m)},u=m=>f=>{p!==i?window.confirm(c("warning"))&&m(f):m(f)};return Za(()=>{n&&n(p!==i)},[n,t,p]),oo("div",{className:a.root,children:[oo("div",{className:a.content,children:[t.title&&be("h3",{className:a.title,children:t.title}),t.searchKeywords&&t.searchKeywords.length>0&&be(vs,{labels:t.searchKeywords}),be(xa,{onUse:g,value:ya(p)})]}),oo("form",{className:a.actions,onSubmit:d,children:[oo("div",{children:[be("button",{disabled:!r,className:a.pagination,type:"button",onClick:r&&u(r),children:be(an,{})}),be("button",{disabled:!s,className:a.pagination,type:"button",onClick:s&&u(s),children:be(Ji,{})})]}),oo("div",{className:a.primaryButtons,children:[be(I.Button,{onClick:u(o),shortKeys:["esc"],children:c("dismiss")}),be(I.Button,{shortKeys:[8679,8629],type:"submit",children:c("add")})]})]})]})},bn=gm;import{createAction as hm,createAsyncThunk as el,createSlice as ym}from"@reduxjs/toolkit";var mm=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],fm=new RegExp(mm.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Qa(t,e){let o=t.split(fm),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],l=r===o.length-2;n+=i.length;let c=n;if(l){let d=a.charAt(0),g=0;do c=d?e.indexOf(d,c+1):-1,g+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&g>2)return t}else c=a&&a!==""?e.indexOf(a,n):-1;let p=c===-1?e.slice(n):e.slice(n,c);s.push(p),n=c}return s.join("")}function Ja(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var tl={suggestions:[],fetchState:"idle",isInitialRequest:null},Ya={default:tl},Cn=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},ol=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},Be=t=>t.textSuggestions,nl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},wn=hm("textSuggestions/refresh"),ce=el("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ht(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,to(n),t);if(t==="default"){let p=i?l.filter(nl(a)):l;e.dispatch(ge(p.slice(0,r)))}return l}),no=el("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...to(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(nl(t))),i&&(l=l.map(p=>({...p,text:p.source!=="trie-with-typos"?Qa(p.text,t):p.text}))),l=Ja(l,r),e.dispatch(ge(l)),l}),sl=ym({name:"textSuggestions",initialState:Ya,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(ce.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||tl;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(ce.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ce.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(no.pending,e=>{e.default.fetchState="loading"}).addCase(no.rejected,e=>{e.default.fetchState="error"}).addCase(no.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(M,()=>Ya)}}),{setTextSuggestions:rl,setSuggestionState:il}=sl.actions,al=sl.reducer;import{createSlice as vm}from"@reduxjs/toolkit";var ll={contentType:null,suggestion:null},cl=t=>t.activeSuggestion.suggestion,pl=t=>t.activeSuggestion.contentType,dl=vm({name:"activeSuggestion",initialState:ll,reducers:{setActiveSuggestion(t,e){let{contentType:o,suggestion:n}=e.payload;t.contentType=o,t.suggestion=n},resetActiveSuggestion(t){t.contentType=null,t.suggestion=null}},extraReducers:t=>{t.addCase(M,()=>ll)}}),{setActiveSuggestion:Ce,resetActiveSuggestion:ir}=dl.actions,ul=dl.reducer;var ar={};q(ar,{enUS:()=>Sm,nlNL:()=>_m});var Sm={warning:[{type:0,value:"Are you sure you want to discard the message?"}],editContentLabel:[{type:0,value:"Edit and view suggestion"}],overlayLabel:[{type:0,value:"Close dialog"}]},_m={warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}],editContentLabel:[{type:0,value:"Bewerk en bekijk suggestie"}],overlayLabel:[{type:0,value:"Sluit"}]};import{createSlice as xm}from"@reduxjs/toolkit";var bm={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var Tn=({ui:t})=>t.overlayCollapsed;var gl=xm({name:"ui",initialState:bm,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:so,setInputHasFocus:Et,setOverlayCollapsed:Fe,setOpenOverlayWhenTyping:ml,setOverlayCollapsedUserOverwrite:fl}=gl.actions,hl=gl.reducer;import yl,{useContext as Cm}from"react";import{jsx as wm}from"react/jsx-runtime";var vl=yl.createContext(null),et=({broadcastEvents:t,children:e})=>{let o=yl.useMemo(()=>t,[]);return wm(vl.Provider,{value:o,children:e})},se=()=>{let t=Cm(vl);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createAsyncThunk as lr,createSlice as Tm}from"@reduxjs/toolkit";var Em={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},Z=t=>t.auth.isLoggedIn,Sl=t=>t.auth.loginFetchState,_l=t=>t.auth.verifyFetchState,xl=t=>t.auth.showLoginOverlay,we=lr("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),bl=lr("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),ro=lr("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),Cl=Tm({name:"auth",initialState:Em,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(we.pending,e=>{e.loginFetchState="loading"}),t.addCase(we.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(we.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(ro.pending,e=>{e.verifyFetchState="loading"}),t.addCase(ro.rejected,e=>{e.verifyFetchState="error"}),t.addCase(ro.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:kt,setShowLoginOverlay:wl}=Cl.actions,Tl=Cl.reducer;var cr="SetActiveSuggestion",It="ShowLoginOverlay",io="UserLoggedIn",km="UserLoggedOut",Te="ApplySuggestion",pr="ApplyImageSuggestion",Im="ShowCommandPalette",Rm=t=>({[cr]:e=>{t.dispatch(il(e.state)),t.dispatch(Ce({contentType:e.contentType,suggestion:e.suggestion}))},[Im]:e=>{t.dispatch($(e.isOpen)),e.page&&t.dispatch(X(e.page))},[It]:e=>{t.dispatch(wl(e))},[io]:()=>{t.dispatch(we())},[km]:()=>{t.dispatch(we())},[pr]:e=>{t.dispatch(Wo({suggestion:e.suggestion}))},[Te]:e=>{t.dispatch(ie({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(_e())}}),El=Rm;import{jsx as kl}from"react/jsx-runtime";var Lm=()=>{var m;let[t,e]=Pm(!1),o=dr(cl),n=dr(pl),s=dr(Be),r=Am(),i=se(),a=T(ar),l=()=>{o!==null&&t?window.confirm(a("warning"))&&c():c()},c=()=>{r(ir()),r(Et(!0)),r(Q.actions.reset())},p=(f,h)=>{r(ir()),r(Et(!0)),i.send(Te,{text:f,suggestion:{...h,source:`${h.source||"text_recommendation"}-preview`}})};if(o===null||n===null)return null;let d=(m=s[n])==null?void 0:m.suggestions.indexOf(o),g=d===0||d===null?void 0:()=>r(Ce({contentType:n,suggestion:s[n].suggestions[d-1]})),u=d===s[n].suggestions.length-1||d===null?void 0:()=>r(Ce({contentType:n,suggestion:s[n].suggestions[d+1]}));return kl(yt,{autoFocus:!0,isOpen:d!==null,onClose:l,onBack:l,contentAriaLabel:a("editContentLabel"),overlayAriaLabel:a("overlayLabel"),children:kl(bn,{onTouched:e,onDismiss:c,onUse:f=>p(f,o),suggestion:o,onNext:u,onPrevious:g})})},Il=Lm;import{useSelector as Ml}from"react-redux";import gr from"classnames";import{useCallback as Al,useEffect as Bm,useMemo as Fm,useState as mr}from"react";import{useDispatch as Km,useSelector as Um}from"react-redux";import Mm from"classnames";var Rl={root:"_root_1ukx5_1"};import{jsx as Om}from"react/jsx-runtime";var Nm=({className:t,value:e,...o})=>{let n=y("TextInput",Rl);return Om("input",{className:Mm(t,n.root),type:"text",value:e,...o})},ao=Nm;var ur={};q(ur,{enUS:()=>Dm,nlNL:()=>Hm});var Dm={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"}]},Hm={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 Pl={root:"_root_1edpl_1",anchorButton:"_anchorButton_1edpl_5",errorMessage:"_errorMessage_1edpl_19",title:"_title_1edpl_25",subtitle:"_subtitle_1edpl_31",text:"_text_1edpl_38",input:"_input_1edpl_43",actions:"_actions_1edpl_48",button:"_button_1edpl_55",primaryButton:"_primaryButton_1edpl_70"};import{jsx as Y,jsxs as En}from"react/jsx-runtime";var jm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},zm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=T(ur),i=y("LoginTokenDialog",Pl),a=Um(_l),l=Km(),c=C("productName"),[p,d]=mr(t||""),[g,u]=mr(0),[m,f]=mr(""),h=Al(async b=>{b.preventDefault(),l(bl({email:p})),u(1)},[o,p]),E=()=>{f(""),u(0)},S=Al(async b=>{b.preventDefault();let v=jm(b.target.elements.token.value);if(!v){f(r("verifyCodeError",{login:x}));return}l(ro({token:v}))},[o]),x=Fm(()=>b=>Y("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:E,children:b},"back-button"),[]);return Bm(()=>{a==="error"&&f(r("verifyCodeError",{login:x})),a==="done"&&n()},[a]),Y(yt,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:En("div",{className:i.root,children:[Y("h1",{className:i.title,children:r("promptTitle",{productName:c})}),g===0&&En("form",{onSubmit:h,children:[Y("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Y("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),Y(ao,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:p,onChange:b=>d(b.target.value)}),Y("div",{className:i.actions,children:Y("button",{type:"submit",className:gr(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),g===1&&En("form",{onSubmit:S,children:[Y("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Y("p",{className:i.text,children:r("verifyCodeBody")}),Y(ao,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),m&&Y("div",{className:i.errorMessage,children:m}),En("div",{className:i.actions,children:[Y("button",{type:"button",className:gr(i.button),onClick:E,children:r("back")}),Y("button",{type:"submit",className:gr(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Ll=zm;import{jsx as qm}from"react/jsx-runtime";var Vm=()=>{let t=Ml(xl),e=Ml(Na),o=C("adminUrl"),n=se(),s=()=>n.send(It,!1),r=()=>{n.send(It,!1),n.send(io)};return qm(Ll,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},Nl=Vm;import qf from"lodash.debounce";import{useCallback as Ln,useEffect as xr,useState as mo}from"react";import{useDispatch as Wf,useSelector as Lt}from"react-redux";import{createAsyncThunk as Wm,createSlice as Gm}from"@reduxjs/toolkit";var $m={data:null,fetchState:"idle"},Ol=t=>t.contentTypes.data,lo=Wm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),Xm=Gm({name:"contentTypes",initialState:$m,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=Xm.reducer;function co(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 Zm}from"react";function Hl(t,e){Zm(()=>{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 Ul,useRef as nf}from"react";import{useSelector as sf,useDispatch as rf}from"react-redux";import{createAsyncThunk as Qm,createSlice as Jm}from"@reduxjs/toolkit";var Bl={data:null,fetchState:"idle"},kn=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},pe=Qm("entities/getEntities",async(t,e)=>{let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):o.getEntities(r)}),Ym=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),ef=Jm({name:"entities",initialState:Bl,reducers:{},extraReducers:t=>{t.addCase(pe.pending,e=>{e.fetchState="loading"}).addCase(pe.rejected,e=>{e.fetchState="error"}).addCase(pe.fulfilled,(e,o)=>{e.fetchState="done",e.data=Ym(e.data?[...e.data,...o.payload]:o.payload)}).addCase(M,()=>Bl)}}),Fl=ef.reducer;var fr={};q(fr,{enUS:()=>tf,nlNL:()=>of});var tf={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},of={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Kl={root:"_root_17kae_1",empty:"_empty_17kae_5"};import{jsx as In,jsxs as lf}from"react/jsx-runtime";var af=({onCopy:t,onUse:e})=>{let o=nf(null),n=y("EntitiesList",Kl),s=T(fr),r=sf(kn),i=rf();return Ul(()=>{i(pe())},[]),Ul(()=>{o.current&&o.current.focus()},[o]),lf("div",{className:n.root,ref:o,tabIndex:-1,children:[r&&r.length>0&&In(I.ActionsBar,{primaryLabel:s("copy"),secondaryLabel:s("use"),onPrimary:(a,l)=>t(r[l]),onSecondary:(a,l)=>e(r[l]),list:r.map(a=>({text:a.text,type:a.label,primaryAction:"copy",secondaryAction:"use"})),children:In(I.List,{children:r.map((a,l)=>In(I.ListItem,{index:l,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities")}),r&&r.length===0&&In("p",{className:n.empty,children:s("noResults")})]})},jl=af;import{Fragment as mf,useEffect as Rn,useRef as ff,useState as hf}from"react";import{useSelector as $l,useDispatch as yf}from"react-redux";import{createAsyncThunk as cf,createSlice as pf}from"@reduxjs/toolkit";var zl={data:null,fetchState:"idle"},Vl=t=>t.summary.data,ql=t=>t.summary.fetchState==="error",Ee=cf("summary/getSummary",async(t,e)=>{var p,d,g;let o=e.getState().profile.data,n=(p=e.getState().conversation.current)==null?void 0:p.sessionId,s=(g=(d=e.getState().info)==null?void 0:d.agentInfo)==null?void 0:g.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,l=await a();if(l.length===0)return Promise.reject(new Error("No messages are included"));let c=await r.getSummary(l,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return c?{summary:c}:Promise.reject(new Error("Summary is not provided"))}),df=pf({name:"summary",initialState:zl,reducers:{},extraReducers:t=>{t.addCase(Ee.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(Ee.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(Ee.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary)}).addCase(M,()=>zl)}}),Wl=df.reducer;var hr={};q(hr,{enUS:()=>uf,nlNL:()=>gf});var uf={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."}]},gf={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 Gl={root:"_root_6ahh3_1",actions:"_actions_6ahh3_5",main:"_main_6ahh3_11",textInput:"_textInput_6ahh3_15",loading:"_loading_6ahh3_34",error:"_error_6ahh3_38"};import{jsx as Rt,jsxs as Sf}from"react/jsx-runtime";var vf=({onCopy:t})=>{let e=ff(null),o=y("SummaryForm",Gl),[n,s]=hf(""),r=T(hr),i=$l(Vl),a=$l(ql),l=yf(),c=()=>{l(W({name:"summary copied to clipboard",data:{originalText:i,finalText:n},options:{includeConversationData:!0}})),t(n)},p=()=>{let d=document.getSelection();d&&l(W({name:"summary copied to clipboard",data:{originalText:i,finalText:d==null?void 0:d.toString()},options:{includeConversationData:!0}}))};return Rn(()=>{l(Ee())},[]),Rn(()=>{s(i||"")},[i]),Rn(()=>{e.current&&i&&e.current.focus()},[e,i]),Rn(()=>{let d=g=>{g.key==="Enter"&&g.shiftKey&&c()};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[n]),Rt("div",{className:o.root,tabIndex:-1,children:a?Rt("p",{className:o.error,children:r("error")}):Sf(mf,{children:[Rt("div",{className:o.main,children:Rt("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:o.textInput,ref:e,value:n,onCopy:p,onChange:d=>s(d.target.value)})}),Rt("div",{className:o.actions,children:Rt(I.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},Xl=vf;var po={};q(po,{enUS:()=>_f,nlNL:()=>xf});var _f={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?"}]},xf={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 Mf,{useEffect as Sr,useRef as Nf}from"react";import{useDispatch as Of,useSelector as sc}from"react-redux";var yr={};q(yr,{enUS:()=>bf,nlNL:()=>Cf});var bf={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"}]},Cf={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 Zl={root:"_root_1g4pq_1",title:"_title_1g4pq_9",empty:"_empty_1g4pq_20",status:"_status_1g4pq_24",form:"_form_1g4pq_30",input:"_input_1g4pq_43",submit:"_submit_1g4pq_55",question:"_question_1g4pq_63",answer:"_answer_1g4pq_67",alignRight:"_alignRight_1g4pq_73"};import{createAction as If,createAsyncThunk as Rf,createSlice as Pf}from"@reduxjs/toolkit";import{createAsyncThunk as wf,createSlice as Tf}from"@reduxjs/toolkit";var Ef={data:null,fetchState:"idle"},Ql=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},uo=wf("knowledgeAssistant/getKnowledgeAssistant",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");let r=(i=n.profile.data)==null?void 0:i.knowledgeAssistant;return r?o.getKnowledgeAssistant(r):null}),kf=Tf({name:"knowledgeAssistant",initialState:Ef,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=o.payload})}}),Jl=kf.reducer;var vr={data:[],fetchState:"idle"},Yl=t=>{var e;return(e=t.answer)==null?void 0:e.data},ec=t=>t.answer.fetchState,At=If("answer/resetKnowledgeSearch"),Pt=Rf("answer/getAnswer",async(t,e)=>{var l,c,p;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Ql(e.getState()),r=(l=e.getState().conversation.current)==null?void 0:l.sessionId,i=(p=(c=e.getState().info)==null?void 0:c.agentInfo)==null?void 0:p.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({promptInstruction:s.prompt,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Af=Pf({name:"answer",initialState:vr,reducers:{},extraReducers:t=>{t.addCase(Pt.pending,e=>{e.fetchState="loading"}).addCase(Pt.rejected,e=>{e.fetchState="error"}).addCase(Pt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(M,()=>vr).addCase(At,()=>vr)}}),tc=Af.reducer;import{jsx as oc,jsxs as Lf}from"react/jsx-runtime";var nc=()=>Lf("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[oc("title",{id:"paperPlaneTitle",children:"PaperPlane"}),oc("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 ke,jsxs as _r}from"react/jsx-runtime";var Df=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=Mf.useState(""),{setSelected:r}=De(),i=Nf(null),a=y("EntitiesList",Zl),l=T(yr),c=Of(),p=sc(Yl),d=sc(ec),g=async m=>{m.preventDefault(),m.stopPropagation(),n!==""&&c(Pt(n))},u=(m,f)=>{c(W({name:"knowledge assist source viewed",data:{question:f,sourceViewed:m.url||m.name},options:{includeConversationData:!0}}))};return Sr(()=>{var m;o&&d==="idle"?c(Pt(o)):(m=i.current)==null||m.focus()},[i,d]),Sr(()=>{d==="done"&&(c(W({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}})),r(p.length-1),s(""))},[d,p]),Sr(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,p]),_r("div",{className:a.root,children:[p.length>0&&ke("div",{className:a.alignRight,children:ke(I.Button,{onClick:e,children:l("reset")})}),_r(I.ActionsBar,{list:p.map(({answer:m})=>({text:m.answer,type:"answer"})),primaryLabel:l("use"),onPrimary:m=>t(m.text),children:[p.map(({question:m,answer:f},h)=>ke(I.List,{children:ke(I.ListItem,{"data-testid":"knowledge-search-answer",index:h,description:f.answer,closeOnSelect:!0,onClick:()=>t(f.answer),onSourceClick:E=>u(E,m),sources:f.sources,styles:{title:a.question,description:a.answer},children:m})},`${f.answer}_${h}`)),d==="loading"&&ke("p",{className:a.status,children:l("loading")}),d==="error"&&ke("p",{className:a.status,children:l("error")}),_r("form",{className:a.form,onSubmit:g,children:[ke("input",{ref:i,placeholder:l("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(-1)},onChange:m=>{r(-1),s(m.target.value)}}),ke("button",{type:"submit",className:a.submit,children:ke(nc,{})})]})]})]})},rc=Df;import{createAsyncThunk as Hf,createSlice as Bf}from"@reduxjs/toolkit";var Ff={data:null,fetchState:"idle"},Ke=t=>t.profile.data,Pn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],go=Hf("profile/getProfile",async(t,e)=>{var r;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=n.profile.data)==null?void 0:r.code)===s.profileCode?n.profile.data:o.getProfile(s.profileCode)}),Kf=Bf({name:"profile",initialState:Ff,reducers:{},extraReducers:t=>{t.addCase(go.pending,e=>{e.fetchState="loading"}).addCase(go.rejected,e=>{e.fetchState="error"}).addCase(go.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),ic=Kf.reducer;import{useEffect as Uf}from"react";import{useDispatch as jf}from"react-redux";import{useSelector as ac}from"react-redux";import{jsx as An,jsxs as Vf}from"react/jsx-runtime";var zf=({commands:t,onClick:e,onEdit:o})=>{var p,d,g;let n=jf(),s=T(po),r=ac(Ke),i=ac(Be),a=((g=(d=(p=r==null?void 0:r.uiConfig)==null?void 0:p.search)==null?void 0:d.initialTypes)==null?void 0:g.filter(({isActive:u})=>u))||[],l=0,c=a.map(({type:u})=>{var m;return(m=i[u])==null?void 0:m.suggestions.map(f=>({text:f.text||f.url||f.message,type:u}))}).flat(1);return Uf(()=>{a.forEach(({type:u})=>{(!i[u]||i[u].suggestions.length===0)&&n(ce(u))})},[]),Vf(I.ActionsBar,{list:[...t.map(u=>({text:u.label,type:"command"})),...c],primaryLabel:s("use"),secondaryLabel:s("preview"),onPrimary:({text:u},m)=>e(u,c[m]),onSecondary:(u,m)=>{let f=m-t.length;o(c[f],i[c[f].type].suggestions)},children:[t.length>0&&An(I.List,{heading:s("commands"),children:t.map((u,m)=>An(I.ListItem,{index:m,closeOnSelect:!1,onClick:u.onClick,children:u.label},u.label))}),a.map(({type:u,title:m})=>{var f;return An(I.List,{heading:m,orientation:"vertical",children:(f=i[u])==null?void 0:f.suggestions.map(h=>(l++,An(I.ListItem,{index:l+t.length-1,closeOnSelect:!1,description:h.text,onClick:()=>e(h.text,h),"data-testid":"search-overlay-suggestion",children:h.title},`${h.id}-${h.text}`)))},u)})]})},lc=zf;import{jsx as ee,jsxs as br}from"react/jsx-runtime";var Gf=200,$f=5,Xf=4,Zf=t=>t.reduce((e,o)=>[...e,...o.list.map(n=>({...n,type:o.value}))],[]),cc=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Qf=()=>{let t=Wf(),e=se(),o=T(po),[n,s]=mo(!1),[r,i]=mo(""),a=Lt(Fa),l=Lt(Ke),[c,p]=mo(null),[d,g]=mo([]),[u,m]=mo(),f=Lt(Z),h=C("showSearch"),E=C("showEntitiesCommand"),S=C("showSummaryCommand"),x=C("showKnowledgeSearch"),b=C("showImageSearch"),v=C("searchTriggerKey"),R=Lt(Ol),A=Lt(Ka),H=Lt(Ba),P=_=>cs(A.filter(O=>O.type===_.toUpperCase()),_),V=[{value:"PERSONAL",label:o("personalSuggestions"),list:P("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:P("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:P("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:P("IMAGE"),listOrientation:"horizontal",shouldShow:b}].filter(_=>_.shouldShow),k=[{label:o("entitiesClipboard"),onClick:()=>t(X("entities")),shouldShow:E&&cc(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(X("summary")),shouldShow:S&&cc(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(X("knowledgeAssist")),shouldShow:x}].filter(_=>_.shouldShow),F=(R==null?void 0:R.map(_=>({value:_.code.toUpperCase(),label:`${_.name}s`,list:P(_.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],at=Ln(qf((_,O)=>{t(Je({query:_,type:O,tags:["search-overlay"]}))},Gf),[]),Ut=Zf([...F,...V]),jt=Ln((_,O)=>{t(X("edit")),p({..._,searchTerm:void 0}),g(O)},[t,c,F]),To=Ln((_,O)=>{switch(O.type){case"IMAGE":e.send(pr,{suggestion:O});break;default:e.send(Te,{text:_,suggestion:O})}t($(!1))},[t]),fd=_=>{co(_.text),t(W({name:"entity copied",data:{entity:_,type:"copy"}})),t($(!1))},hd=Ln(_=>{t(W({name:"suggestion feedback",data:{text:_.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),yd=_=>{e.send(Te,{text:_,suggestion:{source:"knowledge-assist",text:_}}),t(W({name:"answer used",data:{originalText:_},options:{includeConversationData:!0}})),i(""),t(X("search")),t(At()),t($(!1))},vd=_=>{co(_),t($(!1))},Sd=_=>{e.send(Te,{text:_.text,suggestion:{source:"entity",text:_.text}}),t($(!1))},_d=c===null||d.indexOf(c)-1<0?void 0:()=>p(d[d.indexOf(c)-1]),xd=c===null||d.indexOf(c)===d.length-1?void 0:()=>p(d[d.indexOf(c)+1]);function cs(_,O){return _.slice(0,u?10:O.toLowerCase()==="image"?Xf:$f)}function ii(_,O,de){return O.reduce((Eo,ko)=>de&&u===de?ko.length+Eo:cs(ko,de).length+Eo,_)}function lt(_){return O=>{n?window.confirm(o("warning"))&&(_(O),s(!1)):_(O)}}return xr(()=>{r?at(r,u):t(vn())},[r,u]),xr(()=>{a==="search"&&t(At())},[a]),xr(()=>{f&&t(lo())},[f]),Hl(v,()=>t($(!0))),!h||!l?null:br(I,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:lt(_=>t($(_))),onChangeType:_=>m(_),onChangePage:lt(_=>t(X(_))),selectedType:u,search:r,page:a,isOpen:H,types:[...F,...V],children:[br(I.Page,{id:"search",children:[r.length===0&&ee(lc,{commands:k,onClick:To,onEdit:jt}),r.length>0&&br(I.ActionsBar,{list:[...k.map(_=>({text:_.label,type:"command"})),...Ut.map(_=>({text:_.text||_.url||_.message,type:_.type}))],primaryLabel:o("use"),secondaryLabel:o("preview"),onPrimary:({text:_},O)=>To(_,Ut[O]),onSecondary:(_,O)=>{let de=Ut[O-k.length];!de||!de.type||jt(de,P(de.type))},children:[k.length>0&&ee(I.List,{heading:o("commands"),children:k.map((_,O)=>ee(I.ListItem,{index:ii(O,[],"commands"),closeOnSelect:!1,onClick:_.onClick,children:_.label},_.label))}),[...F,...V].map(({value:_,label:O,list:de,lineClamp:Eo,listOrientation:ko},bd)=>ee(I.List,{heading:O,orientation:ko==="horizontal"?"horizontal":"vertical",children:cs(de,_).map((ne,Cd)=>ee(I.ListItem,{index:ii(k.length+Cd,[...F,...V].slice(0,bd).map(({list:wd})=>wd),_),closeOnSelect:!1,lineClamp:Eo,onClick:()=>To(ne.text,ne),description:_!=="IMAGE"?ne.title&&ne.text:void 0,onFeedback:_!=="IMAGE"?()=>hd(ne):void 0,children:_==="IMAGE"?ee(I.Image,{title:ne.title||ne.text,src:ne.image}):ne.title||ne.text},`${ne.id}-${ne.text}`))},_))]})]}),ee(I.Page,{id:"edit",onDismiss:lt(()=>{t(X("search")),p(null)}),children:c&&ee(bn,{suggestion:c,onTouched:s,onDismiss:()=>{s(!1),t(X("search")),p(null),g([])},onNext:xd,onPrevious:_d,onUse:_=>{t(X("search")),To(_,{...c,source:`${c.source||"text_recommendation"}-preview`}),t($(!1)),g([]),p(null)}})}),ee(I.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:lt(()=>{t(X("search"))}),children:ee(jl,{onUse:Sd,onCopy:fd})}),ee(I.Page,{id:"summary",title:o("summaryTitle"),onDismiss:lt(()=>{t(X("search"))}),children:ee(Xl,{onCopy:vd})}),ee(I.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:lt(()=>{t(At()),t(X("search"))}),children:ee(rc,{question:r,onUse:yd,onResetQuestion:()=>{t(At()),i("")}})})]})},pc=Qf;import{jsx as Cr,jsxs as eh}from"react/jsx-runtime";var Yf=()=>{let t=C("showSearch"),e=C("isEmbedded");return eh(Jf,{children:[t&&Cr(pc,{}),Cr(Il,{}),e&&Cr(Nl,{})]})},dc=Yf;import sh from"classnames";import{useSelector as rh}from"react-redux";import{jsx as wr}from"react/jsx-runtime";var uc=({className:t})=>wr("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:wr("g",{children:wr("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 gc}from"react/jsx-runtime";var th={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},mc=({className:t,color:e})=>gc("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:gc("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:th[e||"pink"]})});var fc={root:"_root_1tvv4_1",text:"_text_1tvv4_18",isLoggedIn:"_isLoggedIn_1tvv4_25",isLoggedOut:"_isLoggedOut_1tvv4_29",icon:"_icon_1tvv4_39",logo:"_logo_1tvv4_44",lock:"_lock_1tvv4_49"};var Tr={};q(Tr,{enUS:()=>oh,nlNL:()=>nh});var oh={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},nh={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as ih}from"react-redux";import{jsx as Er,jsxs as hc}from"react/jsx-runtime";var yc=({onLogIn:t})=>{let e=T(Tr),o=C("floatingMenu"),n=C("productName"),s=ih(),r=rh(Z),i=y("FloatingMenu",fc);if(r===null||o===!1)return null;let a=()=>{r===!0?s($(!0)):t()};return hc("button",{className:sh(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[Er("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),hc("div",{className:i.icon,children:[Er(mc,{className:i.logo,color:"pink"}),r===!1&&Er(uc,{className:i.lock})]})]})};import{useEffect as Ch,useRef as wh}from"react";import{connect as Th,useDispatch as Eh,useSelector as On}from"react-redux";function Mt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{Fragment as _h,useMemo as xh}from"react";import{Interweave as ch}from"interweave";import{useEffect as ph,useMemo as dh,useRef as uh}from"react";import{useDispatch as gh,useSelector as mh}from"react-redux";import{useEffect as ah}from"react";function vc(t,e,o){ah(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Sc={root:"_root_4u430_1",actions:"_actions_4u430_8",badge:"_badge_4u430_15",formattedText:"_formattedText_4u430_19"};import{jsx as Mn,jsxs as Sh}from"react/jsx-runtime";var fh=["search","personal-collection-search","search-autocomplete"];function hh(t,e,o,n={}){let s="";return fh.includes(e)?s=fa(Us(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Us(t,o,n),n.placeholders===!0&&(s=ha(s)),s}var yh=()=>{},vh=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=C("inlineSuggestions"),r=mh(ht),i=gh(),a=y("TextSuggestion",Sc),l=uh(null);ph(()=>{let p=setTimeout(()=>{i(Ii({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(p)}},[o]),vc(l,"click",()=>{i(Me(t)),i(ie({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=dh(()=>hh(o.text,o.source,r,{stripAgentPart:s,placeholders:!0,searchKeywords:o.searchKeywords}),[s,o.text,o.source,r,o.searchKeywords]);return o.source==="gpt"&&!s?null:Sh("div",{className:a.root,onMouseEnter:()=>i(Me(t)),children:[Mn(D,{ref:l,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:yh,children:Mn(ch,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:c})}),e&&n&&Mn("div",{className:a.actions,children:Mn(fn,{onFeedback:()=>n(o),suggestion:o.text})})]})},_c=vh;import{jsx as xc}from"react/jsx-runtime";var bh=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=xh(()=>{let r=e.map((i,a)=>xc(_c,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return xc(_h,{children:s})},Nn=bh;var bc={root:"_root_otdbu_1",paper:"_paper_otdbu_11"};import{jsx as Dn}from"react/jsx-runtime";var kh=({textSuggestions:t,selectedIndex:e})=>{let o=wh(null),n=y("InlineSuggestionsOverlay",bc),s=On(Mt),r=Eh(),i=On(Z),a=On(ft),l=On(Tn),c=C("showTextSuggestions");return St(()=>{r(Fe({collapse:!0,skipWhenInputFocus:!0}))}),Ch(()=>{let p=o.current;if(!p||!p.parentElement)return;p.parentElement.style.left="0px";let d=p.getBoundingClientRect();p.parentElement.style.left=`${Math.min(window.innerWidth-4-d.right,0)}px`}),l||!s||!c||t.length===0||i!==!0||a===!1?null:Dn("div",{className:n.root,"data-variant":"inline",children:Dn("div",{ref:o,className:n.paper,children:Dn(re,{children:Dn(Nn,{suggestions:t,selectedIndex:e})})})})},Ih=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Cc=Th(Ih)(kh);import{Provider as Rh}from"react-redux";import{jsx as Hn}from"react/jsx-runtime";var Ph=({children:t})=>{let o=C("locale").replace("-","");return Hn(Ns.Provider,{value:o,children:t})},Ah=({store:t,customStyles:e={},children:o})=>Hn(Rh,{store:t,children:Hn(Ph,{children:Hn(zt.Provider,{value:e,children:o})})}),tt=Ah;import Ar from"classnames";import{useEffect as zh,useRef as Vh,useState as qh}from"react";import{connect as Wh,useDispatch as Gh,useSelector as fo}from"react-redux";import{useState as Lh}from"react";function wc(t,e){let[o,n]=Lh(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}import Oh from"classnames";import{Fragment as Dh,useCallback as Ir,useMemo as Ec}from"react";var kr={};q(kr,{enUS:()=>Mh,nlNL:()=>Nh});var Mh={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"}]}]},Nh={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 Tc={root:"_root_1vfca_1",anchor:"_anchor_1vfca_6",anchorButton:"_anchorButton_1vfca_11"};import{jsx as Bn,jsxs as kc}from"react/jsx-runtime";var Rr=(t,e,o)=>n=>Bn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Hh=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=T(kr),i=se(),a=y("Login",Tc),l=C("productName"),c=Ir(h=>{h.preventDefault(),n&&n(parseInt(h.target.value,10))},[]),p=Ir(h=>{h.preventDefault(),i.send(It,!0)},[e]),d=Ec(()=>h=>Bn("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:h},"login"),[e]),g=Ir(h=>Bn("button",{type:"button",className:a.anchorButton,onClick:p,children:h},"prompt"),[p]),{min:u,hour:m,day:f}=Ec(()=>({min:Rr(a,60*10,c),hour:Rr(a,60*60,c),day:Rr(a,60*60*12,c)}),[]);return kc("div",{className:Oh(t,a.root),children:[r("loginPlease",{login:o?g:d,productName:l}),n&&kc(Dh,{children:[Bn("br",{}),r("snooze",{min:u,hour:m,day:f})]})]})},Fn=Hh;import{useDispatch as Bh}from"react-redux";var Ic={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};import{jsx as Rc,jsxs as Kh}from"react/jsx-runtime";var Fh=({title:t})=>{let e=y("SearchTrigger",Ic),o=Bh();return Kh("button",{type:"button",className:e.root,onClick:()=>o($(!0)),children:[Rc(wt,{}),Rc("span",{className:e.text,children:t})]})},Pc=Fh;var Pr={};q(Pr,{enUS:()=>Uh,nlNL:()=>jh});var Uh={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"}]},jh={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 Ac={root:"_root_onpov_1",isInline:"_isInline_onpov_14",toggleButton:"_toggleButton_onpov_21",toggleButtonWrapper:"_toggleButtonWrapper_onpov_25",toggleButtonWrapperHidden:"_toggleButtonWrapperHidden_onpov_32",isCollapsed:"_isCollapsed_onpov_36",collapsible:"_collapsible_onpov_36",hints:"_hints_onpov_44",hintsHidden:"_hintsHidden_onpov_51",triggers:"_triggers_onpov_56",triggersRight:"_triggersRight_onpov_71"};import{jsx as z,jsxs as ho}from"react/jsx-runtime";var $h=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=y("SuggestionsOverlay",Ac),s=T(Pr),r=fo(Mt),i=Ci(),a=Gh(),l=Vh(null),c=C("searchTriggerKey"),p=C("productName"),d=fo(Tn),g=fo(Z),u=fo(ft),[m,f]=qh(null),h=C("showSearch"),E=C("showTextSuggestions"),S=C("adminUrl"),x=C("isEmbedded"),[b,v]=wc("dd-snooze-until-ms",0),R=d||b>Date.now(),A=fo(F=>F.input.text),H=t.filter(F=>F.source!=="gpt").length,P=()=>{R&&v(0),a(fl(!R))},V=F=>{a(W({name:"suggestion feedback",data:{text:F.text,source:"overlay",context:A},options:{includeConversationData:!0}}))},k=F=>{let at=Date.now()+F*1e3;v(at),w.info(`Snooze until: ${new Date(at)}`),a(Fe({collapse:!0}))};return zh(()=>{H===0&&f(null)},[t,H]),St(()=>{a(Fe({collapse:!0,skipWhenInputFocus:!0}))}),g===null||u===!1?null:g===!1?ho("div",{ref:l,className:Ar(n.root,{[n.isCollapsed]:R}),children:[!R&&ho("div",{className:n.triggers,children:[z("div",{style:{flex:1}}),z("div",{className:n.triggersRight,children:z(ut,{className:n.toggleButton,title:s("collapse"),onClick:P,isCollapsed:!1})})]}),z("div",{className:n.toggleButtonWrapper,children:z(ut,{className:n.toggleButton,title:s("open",{productName:p}),onClick:P,isCollapsed:!0})}),z("div",{className:n.collapsible,children:z(Fn,{loginUrl:S,isEmbedded:x,onLogIn:o,onSnooze:k})})]}):!i||!r?null:ho("div",{ref:l,className:Ar(n.root,{[n.isCollapsed]:R}),children:[!R&&ho("div",{className:n.triggers,children:[z("div",{style:{flex:1},children:h&&z("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(s(_n()?"searchHintMac":"searchHintWindows",{searchTriggerKey:c.toUpperCase()})),onMouseLeave:()=>f(null),children:z(Pc,{title:s("search")})})}),ho("div",{className:n.triggersRight,onFocus:()=>{},children:[z("div",{className:Ar(!m&&n.hintsHidden,n.hints),children:m}),z(ut,{className:n.toggleButton,title:s("collapse"),onClick:P,isCollapsed:!1})]})]}),z("div",{className:n.toggleButtonWrapper,children:z(ut,{className:n.toggleButton,title:s("open",{productName:p}),onClick:P,isCollapsed:!0})}),H>0&&E&&z("div",{className:n.collapsible,onFocus:()=>{},children:z(re,{children:z(Nn,{onFeedback:V,suggestions:t,selectedIndex:e,reverse:!0})})})]})},Xh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Lc=Wh(Xh)($h);import jr from"classnames";import{Interweave as Dy}from"interweave";import{useCallback as Hy,useEffect as By,useMemo as Jc,useRef as Fy}from"react";import{connect as Ky}from"react-redux";import{cloneElement as Zh}from"react";var Qh=["div","span","mark","strong","b","i","u","em"];function Lr(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(Qh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Zh(n,{children:Lr(i,e,o+1)})]}return[...t,...e]}function Ue(t){return t.tagName.toLowerCase()==="textarea"}var Mc={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};import my from"classnames";import{Matcher as fy}from"interweave";import{useEffect as hy,useMemo as yy}from"react";function Nc(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Kn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Oc(t){return t!=null}import Kc from"classnames";import{createRef as ay,useCallback as Nr,useMemo as ly,useRef as cy,useState as py}from"react";import{useState as Jh,useLayoutEffect as Yh}from"react";var ey=["bottom","height","left","right","top","width"],ty=(t={},e={})=>ey.some(o=>t[o]!==e[o]),Ie=new Map,Dc,Hc=()=>{let t=[],e=[];Ie.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();ty(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ie.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),Dc=window.requestAnimationFrame(Hc)};function oy(t,e){return{observe(){let o=Ie.size===0;if(Ie.has(t)){let n=Ie.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ie.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Hc()},unobserve(){let o=Ie.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ie.delete(t),Ie.size||cancelAnimationFrame(Dc)}}}}function Mr(t){let[e,o]=Jh(null);return Yh(()=>{if(!t.current)return;let n=oy(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as ny,useLayoutEffect as sy,useState as ry}from"react";import{createPortal as iy}from"react-dom";var Bc={root:"_root_1jq08_1"};var Fc=({children:t})=>{let[e,o]=ry(null),n=ny(zt);return sy(()=>{let s=document.createElement("div");return Xe(s),s.classList.add(Bc.root),n!=null&&n.portalRootNode&&s.classList.add(n==null?void 0:n.portalRootNode),document.body.appendChild(s),o(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?iy(t,e):null};var he={ref:"_ref_1rcyi_1",root:"_root_1rcyi_7",positionAbove:"_positionAbove_1rcyi_13",positionBelow:"_positionBelow_1rcyi_17",positionLeft:"_positionLeft_1rcyi_21",positionRight:"_positionRight_1rcyi_25",alignStart:"_alignStart_1rcyi_29",alignCenter:"_alignCenter_1rcyi_34",alignEnd:"_alignEnd_1rcyi_40"};import{jsx as Or}from"react/jsx-runtime";var Un=(t=!1)=>{let[e,o]=py(t),n=Nr(()=>o(!0),[]),s=Nr(()=>o(!1),[]),r=Nr(()=>o(a=>!a),[]),i=cy(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function Dr(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 jn=({className:t,triggerRef:e,boundaryRef:o=ay(),position:n="above",align:s="center",children:r,toStyle:i=Dr,...a})=>{let l=Mr(e),c=Mr(o),p=ly(()=>i(l,c,0),[l,c]);return Or(Fc,{children:Or("div",{className:Kc(he.ref,{[he.positionAbove]:n==="above",[he.positionBelow]:n==="below",[he.positionLeft]:n==="left",[he.positionRight]:n==="right",[he.alignStart]:s==="start",[he.alignCenter]:s==="center",[he.alignEnd]:s==="end"}),style:p,...a,role:"dialog",children:Or("div",{className:Kc(t,he.root),children:r})})})};import dy from"classnames";import{forwardRef as uy,useRef as gy}from"react";import{jsx as Uc}from"react/jsx-runtime";var zn=uy(({className:t,children:e,...o},n)=>{let s=gy(null),r=y("TabCompletion",xe);return Uc("div",{ref:Kn([s,n]),className:dy(t,r.popoverContentContainer),...o,children:Uc("div",{className:r.popoverContent,children:e})})});import{jsx as yo,jsxs as _y}from"react/jsx-runtime";var vy=t=>e=>{let o=Dr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Sy=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=y("TabCompletion",xe),i=Un(),a=yy(()=>vy(t.getBoundingClientRect()),[t]),[l,c]=ln(t);return hy(()=>{c?i.open():i.close()},[c]),_y("span",{children:[yo("mark",{ref:Kn([l,i.triggerRef]),className:my(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&yo(jn,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:yo(zn,{style:o,children:yo("div",{className:r.hintText,children:s})})})]})},Vn=class extends fy{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(n=>({...n,keywordRegex:new RegExp(`\\b${Nc(n.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let o=this.preparedKeywordMatches.map(s=>{if(this.usedKeywordMatches.has(s))return null;let r=e.match(s.keywordRegex);if(!r)return null;let i=e.charAt(r.index-1),a=e.charAt(r.index+s.keyword.length);return i==="{"&&a==="}"?null:{index:r.index,length:r[0].length,match:r[0],matchString:r[0],suggestion:s.suggestion,preparedKeywordMatch:s,valid:!0}}).filter(Oc);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return yo(Sy,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import Ur from"classnames";import{Matcher as Ry}from"interweave";import{createRef as Py,forwardRef as Ay,useCallback as Ly,useEffect as Xc,useRef as Zc,useState as Qc}from"react";import{useDispatch as My}from"react-redux";import{jsx as jc}from"react/jsx-runtime";var zc=()=>jc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:jc("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 xy,useEffect as qc,useState as Wc}from"react";import{useDispatch as by,useSelector as Gc}from"react-redux";import Cy from"lodash.debounce";var Vc={root:"_root_1muu8_1",content:"_content_1muu8_7"};function qn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch{return null}}function Hr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as ot,jsxs as Br}from"react/jsx-runtime";var wy=3,Ty=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),Ey=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=wy})=>{let r=y("LinkSearch",Vc),[i,a]=Wc(""),l=by(),c=Gc(Cn("url")),p=Gc(Ua("URL",Ty)),[d,g]=Wc(p.length-1),u=C("fallbackImage"),m=S=>{let x=S.target;a(x.value)},f=(S,x)=>{S.stopPropagation(),S.preventDefault(),window.open(x,"_blank")},h=S=>{var v;let x=d-1<0?p.length-1:d-1,b=d+1===p.length?0:d+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&g(x),S.code==="ArrowDown"&&g(b),S.code==="Enter"&&t(((v=p[d])==null?void 0:v.text)||i)},E=xy(Cy(S=>{l(Je({query:S,type:"URL",tags:["link-search"]}))},300),[]);return qc(()=>{i&&E(i)},[i]),qc(()=>()=>{l(vn())},[]),Br("div",{className:r.root,children:[ot(re,{withDivider:!0,children:(i?p:c).slice(0,s).map((S,x)=>ot(D,{selected:d===x,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:Br(B,{children:[ot(B.Image,{src:qn(S,"small",u||void 0),title:S.title||S.text}),Br(B.Content,{className:r.content,cropText:!0,children:[ot(B.Title,{children:S.title||Hr(S.text)}),S.title&&Hr(S.text)]}),ot(D.Actions,{children:ot(D.ActionButton,{label:n,onClick:b=>f(b,S.text)})})]})},S.text))}),ot(ao,{value:i,onChange:m,autoFocus:!0,placeholder:o,onKeyUp:h})]})},$c=Ey;var Fr={};q(Fr,{enUS:()=>ky,nlNL:()=>Iy});var ky={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Iy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as ye,jsxs as Kr}from"react/jsx-runtime";var Ny=Ay((t,e)=>{let o=y("TabCompletion",xe);return ye("mark",{ref:e,className:Ur(o.matchSelection)},"selection-start")}),Oy=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=T(Fr),i=y("TabCompletion",xe),a=Zc(null),l=Zc(null),[c,p]=Qc(null),d=My(),g=Un(document.activeElement===n),[u]=Qc(()=>document.createRange());g.triggerRef.current=u,Xc(()=>()=>u.detach(),[]),Xc(()=>{let f=t.current,h=a.current;!f||!h||(u.setStart(f,0),u.setEnd(h,0))},[t.current,a.current]),St(()=>{g.close()});let m=Ly(f=>{let h=u.toString(),E=/^http(s?):\/\//.test(f)?f:`https://${f}`;d(jo({text:`[${h}](${E})`,replace:"selection"}))},[]);return Kr("span",{children:[ye("mark",{ref:a,className:Ur(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":g.opened?"true":"false",children:s}),g.opened&&ye(jn,{className:i.popoverRoot,triggerRef:g.triggerRef,boundaryRef:e,position:"above",align:"start",children:Kr(zn,{style:o,ref:l,children:[ye("div",{className:Ur(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:Kr("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>p("insertLink"),children:[ye(zc,{}),ye("span",{children:"\xA0"}),ye("span",{children:r("insertLink")})]})}),c==="insertLink"&&ye($c,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:m,onDismiss:()=>{p(null),g.close()}})]})})]},"selection-end")},Wn=class extends Ry{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=Py(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,n]=this.props.selection;if(o===n)return null;let s=this.foundIndex===0?o:n,r=s>=this.charCount&&s<=this.charCount+e.length?{index:s-this.charCount,length:0,match:"",valid:!0}:null;r&&this.foundIndex++;let i=this.foundIndex===1;return r&&i?this.charCount+=s-this.charCount:this.charCount+=e.length,r?{isStart:i,...r}:null}replaceWith(e,o){return o.isStart?ye(Ny,{ref:this.startRef}):ye(Oy,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as Uy}from"react-redux";import{jsx as Nt,jsxs as Vy}from"react/jsx-runtime";var jy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=y("TabCompletion",Mc),p=C("insertLink"),d=C("showMidSentenceSuggestions"),g=C("inlineSuggestions"),u=pn(a),m=Fy(null),f=Uy(Z);By(()=>{Ue(a)&&u&&dn(a,u)},[u]);let h=Hy(x=>{if(!s||!o)return x;let b=[Nt("span",{className:c.resetIndent,children:"\u200B"},"u200B"),Nt("span",{"data-testid":"tab-completion",className:jr(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&b.push(Nt("span",{className:jr(c.hint,c.resetIndent),children:Nt(gs,{keyCode:"tab"},"tabHint")})),Lr(x,b)},[s,o,n]),E=Jc(()=>{let x=[];return p&&x.push(new Wn("selection")),x.push(new vt("placeholders")),r&&x.push(new Vn("keywords")),x},[g,p,r]),S=Jc(()=>{let x=window.getComputedStyle(a);return{"--dd-color":x.color,"--dd-font-size":x.fontSize,"--dd-font-family":x.fontFamily,"--dd-font-variant":x.fontVariant}},[]);return!t||!f?null:Vy("div",{ref:x=>{x!=null&&x.parentElement&&(m.current=x==null?void 0:x.parentElement)},className:c.root,style:S,children:[Nt(Dy,{tagName:"span",containerTagName:"div",className:jr(c.container,c.agentText),disableLineBreaks:Ue(a),content:e||"\u200B",onAfterParse:h,matchers:E,selection:u,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:m,inlineSuggestionsOnlyAtEnd:!d}),Nt("br",{})]})},zy=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var f;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??Qt(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:p}=e,{isSupported:d}=s,{showTabCompletion:g,visible:u,showStyleSuggestions:m}=o;return{showTabHint:p,showStyleSuggestions:m,showTabCompletion:g,content:l,tabText:c,source:a,keywordMatches:((f=n.list)==null?void 0:f.keywordMatches)??[],enabled:u&&d!==!1}},Yc=Ky(zy)(jy);import Tv from"classnames";import{useEffect as Ev}from"react";import{useDispatch as kv,useSelector as te}from"react-redux";import{createAsyncThunk as vo,createSlice as qy}from"@reduxjs/toolkit";var ep={list:[],fetchState:"idle",isInitialRequest:null},op=t=>t.autoflows.list||[],tp=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Re=vo("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),zr=vo("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(Re(t.platformSessionId))}),Vr=vo("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(Re(t.platformSessionId))}),Wy=qy({name:"autoflows",initialState:ep,reducers:{},extraReducers:t=>{t.addCase(zr.pending,(e,o)=>{let n=tp(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Vr.pending,(e,o)=>{let n=tp(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Re.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(Re.rejected,e=>{e.fetchState="error"}),t.addCase(Re.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(M,()=>ep)}}),np=vo("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(Re(t))}),s.on("sessionCompleted",()=>{o(Re(t))})}),sp=vo("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),rp=Wy.reducer;import{createAsyncThunk as _o,createSlice as Gy}from"@reduxjs/toolkit";var ip={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},ap=t=>t.customMessages.list,lp=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),cp=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),pp=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),So=_o("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),Gn=_o("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),$n=_o("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),dp=Gy({name:"customMessages",initialState:ip,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(So.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(So.rejected,e=>{e.fetchState="error"}).addCase(So.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Gn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Gn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase($n.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase($n.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(M,()=>ip)}}),up=_o("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(dp.actions.onCustomMessage(r))})}),gp=_o("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),mp=dp.reducer;import{createAsyncThunk as fp,createSlice as $y}from"@reduxjs/toolkit";var Xy={token:null,accountUrl:null,interval:null},hp=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},qr=fp("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),Wr=fp("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(qr()),setInterval(()=>n(qr()),o)}),yp=$y({name:"passwordlessToken",initialState:Xy,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(qr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(Wr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:vp}=yp.actions,Sp=yp.reducer;function _p(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as rv}from"react";import{connect as iv}from"react-redux";import ov from"classnames";import{Fragment as nv}from"react";import Zy from"classnames";var xp={root:"_root_838fd_1"};import{jsx as Jy}from"react/jsx-runtime";var Qy=({className:t,children:e})=>{let o=y("Unicode",xp);return Jy("span",{className:Zy(t,o.root),children:e})},bp=Qy;var Cp={isDisabled:"_isDisabled_1rmfm_1",buttonStart:"_buttonStart_1rmfm_5",root:"_root_1rmfm_8",buttonStop:"_buttonStop_1rmfm_8",stateBadge:"_stateBadge_1rmfm_19",isCompleted:"_isCompleted_1rmfm_26",isStarted:"_isStarted_1rmfm_30",isAborted:"_isAborted_1rmfm_34"};var Gr={};q(Gr,{enUS:()=>Yy,nlNL:()=>ev});var 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"}]},ev={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]};import{jsx as nt,jsxs as Xn}from"react/jsx-runtime";var sv=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=y("Autoflow",Cp),a=T(Gr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return Xn(D,{className:ov(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[nt(B,{children:Xn(B.Content,{children:[Xn(B.Title,{children:[e&&nt("span",{className:i.stateBadge,children:a(e)}),o]}),nt("span",{children:n})]})}),nt(D.Actions,{fixed:e==="Started",children:nt(D.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Xn(nv,{children:[nt(bp,{children:c})," ",nt("span",{children:a(l)})]})})})]})},wp=sv;import{jsx as Tp}from"react/jsx-runtime";var av=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},lv=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Tp(rv,{children:t.map(s=>Tp(wp,{displayName:s.displayName,description:s.description,disabled:s.isBusy||av(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),cv=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},pv={onStartAutoflow:zr,onStopAutoflow:Vr},Ep=iv(cv,pv)(lv);import{useEffect as dv,useState as uv}from"react";import{useDispatch as gv}from"react-redux";import Rp from"classnames";import{jsx as kp}from"react/jsx-runtime";var $r=()=>kp("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:kp("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 Ip={root:"_root_rjdyr_1",entity:"_entity_rjdyr_10",entityText:"_entityText_rjdyr_46",iconWrapper:"_iconWrapper_rjdyr_53",icon:"_icon_rjdyr_53",iconClicked:"_iconClicked_rjdyr_67"};import{jsx as Ot,jsxs as Pp}from"react/jsx-runtime";var mv=({entities:t})=>{let e=y("EntitiesWidgetList",Ip),[o,n]=uv(void 0),s=gv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),co(a.text),s(W({name:"entity copied",data:{entity:a,type:"copy"}})))};return dv(()=>{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,l)=>Pp("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Ot("span",{className:e.entityText,children:a.text}),Pp("span",{className:e.iconWrapper,children:[Ot("span",{className:Rp(e.icon),children:Ot($r,{})}),Ot("span",{className:Rp(e.icon,o===l&&e.iconClicked),children:Ot($r,{})})]})]},a.text))})},Ap=mv;import fv from"classnames";import{useCallback as Lp}from"react";import{useDispatch as hv,useSelector as Zn}from"react-redux";var Pe={root:"_root_1e6ej_1",title:"_title_1e6ej_8",isUsed:"_isUsed_1e6ej_13",quickReplies:"_quickReplies_1e6ej_22",quickReply:"_quickReply_1e6ej_29",hasError:"_hasError_1e6ej_39",label:"_label_1e6ej_43",errorIcon:"_errorIcon_1e6ej_48"};import{jsx as je,jsxs as Qn}from"react/jsx-runtime";var yv=({suggestion:t})=>{let e=T(Qe),o=hv(),n=Zn(lp(t.text)),s=Zn(cp(t.text)),r=Zn(pp(t.text)),i=Zn(No),{replyOptions:a}=t,l=Lp(p=>{p.preventDefault(),p.stopPropagation(),!(n||!i)&&o(Gn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=Lp(p=>{if(p.preventDefault(),p.stopPropagation(),!i||!a)return;let d=parseInt(p.target.dataset.index,10),g=a[d];o($n({platformSessionId:i,reply:g,suggestion:t}))},[t,n,o,i]);return Qn(D,{onClick:l,className:fv(Pe.root,{[Pe.isUsed]:n,[Pe.hasError]:r}),children:[je(B,{children:Qn(B.Content,{children:[Qn(B.Title,{className:Pe.title,children:[t.text," ",je(ms,{className:Pe.label,children:"analyse tool"})," ",r&&je("span",{className:Pe.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&je("ul",{className:Pe.quickReplies,children:a.map(p=>je("li",{className:Pe.quickReply,children:p.title},p.title))})]})}),Qn(D.Actions,{fixed:r||n,children:[a&&a.length>0&&je(D.DropdownButton,{label:e("answer"),disabled:s,children:a.map((p,d)=>je(D.DropdownItem,{index:d,label:p.title,onClick:c},p.title))}),je(D.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Mp=yv;import{jsx as Np}from"react/jsx-runtime";var Op=()=>Np("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Np("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{useSelector as _v}from"react-redux";import{useCallback as vv}from"react";import{jsx as st,jsxs as Jn}from"react/jsx-runtime";var Sv=({suggestion:t,lines:e,onEdit:o,onUse:n})=>{var g;let s=t.text||t.url||t.message,r=Sn(s),i=T(Qe),a=C("showImages"),l=C("fallbackImage"),c=u=>{u.preventDefault(),u.stopPropagation(),n(s)},p=u=>{u.preventDefault(),u.stopPropagation(),o(t)},d=vv(u=>{window.open(r,"_blank"),u.stopPropagation(),u.preventDefault()},[r]);return Jn(D,{onClick:c,"data-testid":"edit-suggestion",children:[Jn(B,{children:[a&&t.image&&st(B.Image,{src:qn(t,"small",l||void 0),title:t.title}),Jn(B.Content,{children:[t.title&&st(B.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((g=t.searchKeywords)==null?void 0:g.length)>0&&st(D.Labels,{labels:t.searchKeywords}),st(B.Content,{cropText:e==="single",lineClamp:e==="multiple",children:s})]})]}),Jn(D.Actions,{children:[r&&st(D.ActionButton,{onClick:d,label:i("visitUrl")}),st(D.ActionButton,{primary:!0,onClick:p,label:i("preview")}),st(D.ActionButton,{primary:!0,onClick:c,label:i("useSuggestion")})]})]})},Dp=Sv;import{Fragment as bv,jsx as Hp}from"react/jsx-runtime";var xv=({contentType:t,lines:e,suggestions:o})=>{let n=se(),s=_v(Be),r=a=>{n.send(cr,{state:s,suggestion:a,contentType:t})},i=(a,l)=>{n.send(Te,{text:a,suggestion:{...l,source:l.source,sourceText:l.text}})};return Hp(bv,{children:o.map(a=>Hp(Dp,{suggestion:a,lines:e,onEdit:l=>r(l),onUse:l=>i(l,a)},a.text||a.url||a.message))})},Bp=xv;var Xr={};q(Xr,{enUS:()=>Cv,nlNL:()=>wv});var Cv={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},wv={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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 Fp={root:"_root_x0pwe_1",loginText:"_loginText_x0pwe_7",stateText:"_stateText_x0pwe_8",sectionList:"_sectionList_x0pwe_20",shortcutList:"_shortcutList_x0pwe_24",shortcut:"_shortcut_x0pwe_24",link:"_link_x0pwe_52"};import{jsx as Kp}from"react/jsx-runtime";var Up=()=>Kp("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Kp("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 jp}from"react/jsx-runtime";var zp=()=>jp("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:jp("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{jsx as N,jsxs as Dt}from"react/jsx-runtime";var Yn=(t,e)=>{let o=te(Z);Ev(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Iv=({onLogIn:t})=>{let e=T(Xr),o=kv(),n=C("isEmbedded"),s=y("Widget",Fp),r=C("showAutoflows"),i=C("showCustomMessages"),a=C("showSummaryCommand"),l=C("showKnowledgeSearch"),c=C("showSearch"),p=te(Ke),d=te(Pn),g=te(op),u=te(kn),m=te(ap),f=te(Oo),h=te(ft),E=te(Z),S=te(No),x=te(_p),b=te(Be),v=se(),R=te(ol),A=te(hp("/admin/")),H=C("adminUrl"),P=C("productName");if(Yn(()=>(o(So(S)),o(up(S)),()=>{o(gp(S))}),[o,h,i,S]),Yn(()=>(o(Re(S)),o(np(S)),()=>{o(sp(S))}),[o,h,r,S]),Yn(()=>{d.forEach(({type:k})=>{o(k==="entities"?pe():ce(k))})},[o,h,f,p]),Yn(()=>(o(Wr()),()=>{o(vp())}),[o]),h===!1)return N("div",{className:s.stateText,children:N("div",{children:N("p",{children:e("notSupported")})})},"supported");if(E===!1)return N("div",{className:s.loginText,children:N("div",{children:N(Fn,{isEmbedded:n,loginUrl:H,onLogIn:t})})},"login");if(!p||!S||E===null||R||x)return N("div",{className:s.stateText,children:N("div",{children:N("p",{children:e("waiting")})})},"waiting");let V=c||a||l||A;return N("div",{className:Tv(s.root),"data-testid":"widget",children:Dt(hs,{className:s.sectionList,children:[V&&N(Ve,{title:e("actions"),type:"shortcuts",children:Dt("div",{className:s.shortcutList,children:[c&&Dt("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0}),children:[N(wt,{}),e("linkSearch")]}),a&&Dt("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[N(zp,{}),e("linkSummary")]}),l&&Dt("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[N(Up,{}),e("linkKnowledgeSearch")]}),A&&Dt("a",{className:s.shortcut,target:"_blank",href:A,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[N(Op,{}),e("linkStudioLogin",{productName:P})]})]})}),i&&m.length>0&&N(Ve,{type:"custom-messages","data-testid":"custom-messages",children:N(re,{withDivider:!0,children:m.map(k=>N(Mp,{suggestion:k},k.text))})}),r&&g.length>0&&N(Ve,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:N(re,{withDivider:!0,children:N(Ep,{})})}),d.map(({type:k,title:F,amount:at,lines:Ut})=>{var jt;switch(k){case"entities":return u&&u.length>0&&N(Ve,{type:k,title:F,"data-testid":`type-${k}`,children:N(Ap,{entities:u})},k);default:return((jt=b[k])==null?void 0:jt.fetchState)==="done"&&b[k].suggestions.length>0&&N(Ve,{type:k,title:F,"data-testid":`type-${k}`,children:N(re,{withDivider:!0,children:N(Bp,{lines:Ut,contentType:k,suggestions:b[k].suggestions.slice(0,at)||[]})})},k)}})]})})},Vp=Iv;function bo(t){let e=new Range;return e.selectNodeContents(t),e}function qp(t,e,o){try{return rt(t,e,o),!0}catch{return!1}}function es(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function ts(t){return"tagName"in t&&t.tagName==="BR"}var xo=/[\u200B-\u200D\uFEFF]/g;function rt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(l,c){let p=-1,d=/[\u200B-\u200D\uFEFF]/;if(!d.test(l))return c;for(let g=0;g<=l.length;g++)if(d.test(l[g])||p++,p===c)return g;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,p=c.replace(xo,""),d=s+p.length,g=e>=s&&e<=d,u=o>=s&&o<=d;if(g){let m=i(c,e-s);m===0&&!u?n.setStartBefore(l):n.setStart(l,m)}u&&(n.setEnd(l,i(c,o-s)),r=!0),s=d;break}case Node.ELEMENT_NODE:{if(ts(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let p=0;p<l.childNodes.length&&(a(l.childNodes[p]),!r);p++);let c=l.lastChild;es(l)&&c&&!es(c)&&!ts(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function os(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,l,c=0;function p(d){let g=d===o,u=d===s;switch(d.nodeType){case Node.TEXT_NODE:{let m=d.textContent;g&&(a=c+m.substring(0,n).replace(xo,"").length),u&&(l=c+m.substring(0,r).replace(xo,"").length),c+=m.replace(xo,"").length;break}case Node.ELEMENT_NODE:{let m=d.nextSibling===null;ts(d)&&!m&&c++;for(let f=0;f<d.childNodes.length;f++){let h=g&&f===n,E=u&&f===r;if(h&&(a=c),E&&(l=c),l!==void 0||((!h||!i)&&p(d.childNodes[f]),u&&f===r-1&&(l=c),l!==void 0))break}!u&&es(d)&&!m&&c++,u&&(l=c);break}default:break}}if(p(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function ns(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let p=c===o,d=c===s;switch(p&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let g=p?n:0,u=d?r:void 0,m=c.textContent.replace(xo,"");g===0&&u===void 0?a+=m:a+=m.substring(g,u);break}case Node.ELEMENT_NODE:{let g=c.nextSibling===null;i===0&&ts(c)&&!g&&(a+=`
|
|
8
8
|
`);for(let u=p?n:0;u<(d?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[u]),i!==1);u++);!d&&i===0&&es(c)&&!g&&(a+=`
|
|
9
|
-
`);break}default:break}d&&i++}return l(t),a}function Wp(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Ht=class extends Ne{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),ns(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Wp(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Wp(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return os(this.element,e);let o=this.lastKnownSelection;if(o&&qp(this.element,o.start,o.end))return o;let n=bo(this.element);return n.collapse(!1),os(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return ns(this.element,rt(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};function Gp(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}var Zr=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Qr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Gp(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},Jr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Qr(e,this.deepdeskUrl,{debug:!0}):new Zr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=typeof s.data=="string"?JSON.parse(s.data):s.data;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){var r,i;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let n={type:"event",name:e,payload:o};(i=(r=this.eventMap)[e])==null||i.call(r,o);let s=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;s==null||s.postMessage({...n,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)}},$p=Jr;var Bt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Yr=t=>new Promise(e=>{setTimeout(e,t)});var Ft=class extends Bt{name="ClientError"},ei=class extends Bt{name="ServerError"},ve=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,{abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:d=!0,retryOnError:g=b=>b instanceof TypeError,retryOnResponse:u=b=>b.status>=500,version:m="v1",...f}=o,h={credentials:"include",...f,headers:{"Content-Type":"application/json",...f.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(h.headers={...h.headers,"X-CSRFToken":this.csrfToken}),typeof m=="string"&&(h.headers={...h.headers,"X-Deepdesk-API-Version":m});let E=c,S=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(E--,a(i,h).then(async b=>u(b)&&!r.isAborted&&E>0?(await Yr(p),x()):b.status===401&&d===!0&&S===!1?(S=!0,await this.refreshToken(),x()):b).catch(async b=>{if(g(b)&&!r.isAborted&&E>0)return await Yr(p),x();throw b}));x().then(b=>b.json().catch(()=>null).then(v=>{b.status>=500?s(new ei("Server Error",v)):b.status===401?s(new Ft("Unauthorized",v)):b.status===403?s(new Ft("Forbidden",v)):b.status===404?s(new Ft("Not Found",v)):b.status>=400&&s(new Ft("Bad Request",v)),delete this.latestRequestByUrl[i],n(v)})).catch(b=>{s(b)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var Rv;(e=>{let t;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Rv||={});function ss(t){return{...L(t),tags:t.tags}}var ze=class t{constructor(e,o={}){this.options=o;this.client=new ve(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...U(e),tags:e.tags},{version:"v2"});return ss(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return ss(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=U(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return ss(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...U(s),tags:s.tags})),{version:"v2"})).map(s=>ss(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",U({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:U({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.client.post("/apis/admin/session/api-key/",U(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,U(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,U(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",U(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,U(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n){let s=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,U({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return L(s)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(fi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var Co=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(er(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Pv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Pv||={});var wo=class{constructor(e,o={}){this.apiUrl=e;this.client=new ve(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,U(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,U(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",U(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new Co(`${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 Hv,configureStore as Bv}from"@reduxjs/toolkit";import{createSlice as Av}from"@reduxjs/toolkit";var Xp={startTime:null,stopTime:null},Zp=Av({name:"handlingTime",initialState:Xp,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase(M,()=>Xp)}}),{handlingTimeStart:Qp,handlingTimeStop:rs,handlingTimeReset:Jp}=Zp.actions,Yp=Zp.reducer;var ed=(t={})=>{let e={onAuthError:kt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Lv,createSlice as Mv}from"@reduxjs/toolkit";var is={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var it=Lv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return is.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Nv=Mv({name:"styleSuggestions",initialState:is,reducers:{},extraReducers:t=>{t.addCase(it.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(it.rejected,e=>{e.fetchState="error"}).addCase(it.fulfilled,(e,o)=>{e.fetchState="done",Ae(e.list,o.payload)||(e.list=o.payload)}).addCase(Ge,e=>{e.list=is.list}).addCase(M,()=>is)}}),td=Nv.reducer;var od=(t={})=>{let e,o=!0,n={getStyleSuggestions:it,debounce:500,...t};return s=>r=>i=>{var u;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:p}=c.settings;if(!((u=c.conversation.current)==null?void 0:u.id)||!p)return l;let{text:g}=c.input;return g===a&&!o||(clearTimeout(e),g==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:g}))},t.debounce)),l}};function Ov(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var nd=(t={})=>{let e={getTextSuggestions:ce,getAutocompleteSuggestions:no,debounce:200,check:Mt,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:p}=l.settings,d=(f=l.conversation.current)==null?void 0:f.id,g=r.type===wn.toString();if(!d||!c&&!p)return a;let{input:{userCommitted:u}}=l;return Ov(u,i)&&!g||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let h=ht(l);h===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(h))},g?0:e.debounce)),a}};var sd=it.fulfilled.toString();function Dv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var rd=t=>e=>o=>n=>{var c;if(n.type!==sd){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=Dv(s,i);n.type===sd&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Fv=Hv({activeSuggestion:ul,answer:tc,auth:Tl,autoflows:rp,conversation:xi,contentTypes:Dl,customMessages:mp,passwordlessToken:Sp,entities:Fl,knowledgeAssistant:Jl,handlingTime:Yp,info:Ha,input:ws.reducer,overlayInput:Q.reducer,settings:yi,profile:ic,search:za,summary:Wl,styleSuggestions:td,ui:hl,textSuggestions:al});function id(t){return Bv({reducer:Fv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),ed(),nd({debounce:200}),od({debounce:500}),rd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Kv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Uv=t=>e=>o=>n=>{var a;let s=e.getState(),r=_s("inlineSuggestions")(s);switch(n.type){case Ce.toString():{let l=Cn(n.payload.contentType)(e.getState()),c=l.indexOf(n.payload.suggestion);t.emit("edit-suggestion",{contentType:n.payload.contentType,index:c,suggestions:l});break}case kt.toString():{!n.payload&&t.emit("logout",void 0);break}case ie.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Kv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case jo.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Wt.toString():{let l=e.getState(),{text:c,selection:p}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:p},{mayApplyChanges:!0});break}case Wo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case pe.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case Ee.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case W.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case zo.toString():t.handleKeyDown(n.payload);break;case Ge.toString():t.logSendMessage(n.payload);break;case Vo.toString():t.logSendEditSuggestionMessage(n.payload);break;case qo.toString():t.handleInputChanged(n.payload);break;default:break}let i=o(n);switch(n.type){case Ge.toString():t.handleAfterSendMessage(n.payload);break;case so.toString():t.onUpdateShowTabHint(n.payload);break;case rs.toString():t.logHandlingTime();break;case ie.toString():{r&&(e.dispatch(ge([])),e.dispatch(_e()));break}case ge.toString():{r&&n.payload.length>0&&e.dispatch(Me(0));break}default:break}return i},ad=Uv;function ti(t){return t.toISOString().replace("T"," ").replace("Z","")}function ld(t,e){var s,r,i;let{startTime:o,stopTime:n}=t.handlingTime;if(!o||!n)throw new Error("No startTime and stopTime for handling time metrics");return{conversationId:t.conversation.current.id,clientVersion:e.version,agentId:(s=t.info.agentInfo)==null?void 0:s.agentId,agentName:(r=t.info.agentInfo)==null?void 0:r.agentName,agentEmail:(i=t.info.agentInfo)==null?void 0:i.agentEmail,timeStart:ti(o),timeStop:ti(n)}}function oi(t,e,o){var A,H,P;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:d,cuts:g,deletions:u,textSuggestions:m,offeredTextSuggestions:f}}=e[t],h=n.length,S=m.reduce((V,{text:k,searchTerm:F})=>V+k.length-(F?F.length:0),0),x=c??Date.now(),b=(Date.now()-x)/1e3+(p||0),v=s/b,R=m.reduce((V,{searchTerm:k})=>V+(k?k.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:d,cuts:g,deletions:u,lenTextTyped:s+R,lenTextTotal:h,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:b,charsPerSecond:v,numPastes:l,textSuggestionsV2:m,suggestionsCounters:[{source:"gpt",countOffered:f.filter(V=>V.source==="gpt").length}],agentId:(A=e.info.agentInfo)==null?void 0:A.agentId,agentName:(H=e.info.agentInfo)==null?void 0:H.agentName,agentEmail:(P=e.info.agentInfo)==null?void 0:P.agentEmail}}function ni(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return ni(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?ni(s,e):null}function cd(t,e){return ni(t,e)}function pd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function jv(t){return typeof t=="object"&&t!==null&&"tagName"in t}function si(t){return jv(t)&&(Ue(t)||cn(t))}var dd=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function zv(t){return t.offsetParent!==null}function ud(t){if(!zv(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 ri(t,e,o=100){let n=ud(t);e({isVisible:n});let s=setInterval(()=>{let r=ud(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as j}from"react/jsx-runtime";var gd=dd("showTabHint",!0),ls=class t{static version="10.10.3";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new ze(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let p={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[ad({emit:(d,g,u)=>this.emit(d,g,u),handleAfterSendMessage:d=>this.handleAfterSendMessage(d),handleInputChanged:d=>this.handleInputChanged(d),handleKeyDown:d=>this.handleKeyDown(d),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:d=>this.logSendMessage(d),logSendEditSuggestionMessage:d=>this.logSendEditMessage(d),onUpdateShowTabHint:d=>gd.update(d),sendEvent:(d,g)=>this.deepdeskApi.sendEvent(d,g)})]};o&&Object.assign(p,{deepdeskBrokerAPI:new wo(o)}),this.store=id(p),this.broadcastEvents=new $p({debug:!0,deepdeskUrl:c,eventMap:El(this.store),createCustomChannel:l}),this.store.dispatch(qt),this.store.dispatch(so(gd.value())),this.store.dispatch(qt({locale:s,adminUrl:c,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(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(kt(null)),this.store.dispatch(we()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();Z(n)&&Sl(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(we())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(bs({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Do(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Ho({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Cs(e))).payload}async postMessages(e){return(await this.store.dispatch(Fo(e))).payload}async updateConversation(e){return(await this.store.dispatch(Bo(e))).payload}resetConversation(){this.store.dispatch(M()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(Ee());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(qt(e))}setVisitorInfo(e){this.store.dispatch(Da(e))}async setAgentInfo(e){await this.store.dispatch(eo(e))}async setAgentSettings(e){await this.store.dispatch(or(e))}async getAgentSettings(){return(await this.store.dispatch(nr())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(wn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(qo(e))}notifyKeyDown(e){this.store.dispatch(zo(e))}notifyPaste(e,o){this.store.dispatch(Li({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Pi(e))}notifyExternalSuggestion(e){this.store.dispatch(ie(e)),this.store.dispatch(_e())}notifyEditSuggestion(e){this.store.dispatch(rl(e.contentType,e.suggestions)),this.store.dispatch(Ce({contentType:e.contentType,suggestion:typeof e.index=="number"?e.suggestions[e.index]:null}))}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(Fe({collapse:!1})),this.inputMediator&&this.store.dispatch(wi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ge([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,l=s!==-1;if(this.store.dispatch(Ai(Uo(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(ki()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},p=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(Ri()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Wt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?p():c();return;case"Down":case"ArrowDown":{i?c():p();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Me(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Me(-1)),this.store.dispatch(Wt()),e.preventDefault()):o||(this.store.dispatch(Fe({collapse:!0})),this.store.dispatch(ml(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:d}=this.state.input,g=d.text.substring(0,d.selection.end),{tabCompletionSuggestion:u}=this.state.input;this.store.dispatch(so(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&u&&u.text.startsWith(g)&&(this.store.dispatch(ie({text:u.text,suggestion:u,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(_e())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Mi()),this.store.dispatch(ge([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(Qp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(rs()))}logSendMessage(e){let o=oi("input",this.state,{version:this.version});e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o)}logSendEditMessage(e){let o=oi("overlayInput",this.state,{version:this.version});e&&Object.assign(o,{text:e}),this.store.dispatch(Ei(this.state.overlayInput.metrics))}logHandlingTime(){let e=ld(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Jp())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(_e()),this.store.dispatch(Ge(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(ie({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=xt(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{as(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=xt(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{as(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Xe(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(()=>{as(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Oi(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!si(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,isEmbedded:d,detectSubmit:g,insertLink:u,inputMediator:m,closestScrollSelector:f,appendOverlayTo:h,inlineSuggestions:E,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,showTextSuggestions:i,insertLink:u,isEmbedded:d,inlineSuggestions:E,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Xe(e),this.inputMediator=m||(Ue(e)?new Oe(e):new Ht(e)),this.inputMediator.on("change",({plainText:v})=>{this.notifyInputChanged(v)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Ni({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",v=>{this.notifyKeyDown(v)}),this.inputMediator.on("paste",({pastedText:v,selectionText:R})=>{this.notifyPaste(v,R)}),this.inputMediator.on("cut",({selectionText:v})=>{this.notifyCut(v)});let x=f&&cd(e,f)||void 0;if(E){let{customStyles:v,appendOverlayTo:R}=o;if(Ue(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let A=this.createInlineContainer(e,"deepdesk-caret");Kt(j(tt,{store:this.store,customStyles:v,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Cc,{})})}),A),this.inputMediator.on("caret",P=>{this.store.dispatch(ge([])),P?(A.style.display="block",A.style.top=`${P.top}px`,A.style.left=`${P.left}px`):A.style.display="none"});let H=this.overlayContainerFactory("floating-menu",x||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:R},v==null?void 0:v.floatingMenuRootNode);Kt(j(tt,{store:this.store,customStyles:v,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(yc,{onLogIn:()=>this.loginViaPopup().catch(P=>w.warn(P.message))})})}),H)}else{let v=this.overlayContainerFactory("deepdesk-tab-completion",x||e,{appendTo:h,closestScrollElement:x,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),R=this.overlayContainerFactory("deepdesk-suggestions-overlay",x||e,{appendTo:h},n==null?void 0:n.suggestionsRootNode);Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Yc,{inputElement:e})})}),v),Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Lc,{onLogIn:()=>this.loginViaPopup().catch(A=>w.warn(A.message))})})}),R)}Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(dc,{})})}),this.createContainer("deepdesk-overlays"));let b;this.inputMediator.on("selection",v=>{clearTimeout(b),v===null?b=setTimeout(()=>{v!==null&&this.store.dispatch(Ts(v))},500):this.store.dispatch(Ts(v))}),this.inputMediator.on("disabled",()=>{var v;(v=this.inputMediator)==null||v.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{g&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(Et(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(Et(!0))),this.store.dispatch(Ti({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(_e()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var v;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((v=this.state.conversation.current)==null?void 0:v.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}),Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Vp,{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&&as(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=ri(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){pd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(go());let e=Ke(this.state);e&&(await this.store.dispatch(uo()),this.store.dispatch(qt({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let l=!1,c=()=>{p&&!p.closed&&p.close(),window.removeEventListener("message",d),clearInterval(g)};r.onmessage=async u=>{var m,f;if((m=u.data)!=null&&m.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=u.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(io),l=!0,s.port1.close(),o()}catch(h){console.error(h),n(h)}finally{l=!0,c()}};let p=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");p===null&&n(new Error("Popup blocked by browser"));let d=async u=>{var m;if(u.origin===a.origin)switch((m=u.data)==null?void 0:m.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});p==null||p.postMessage(f,a.origin,[s.port2])}catch(f){w.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{c(),u.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(u.data.message));break}}};window.addEventListener("message",d);let g=setInterval(()=>{p&&!p.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Pn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(pe()):this.store.dispatch(ce(n))})}catch(n){this.handleError(n)}}};async function Vv(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function qv(t,e,o={}){let n=o.replace?rt(t,o.replace.start,o.replace.end):bo(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
9
|
+
`);break}default:break}d&&i++}return l(t),a}function Wp(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Ht=class extends Ne{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),ns(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Wp(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Wp(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return os(this.element,e);let o=this.lastKnownSelection;if(o&&qp(this.element,o.start,o.end))return o;let n=bo(this.element);return n.collapse(!1),os(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return ns(this.element,rt(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};function Gp(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}var Zr=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Qr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Gp(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},Jr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Qr(e,this.deepdeskUrl,{debug:!0}):new Zr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=typeof s.data=="string"?JSON.parse(s.data):s.data;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){var r,i;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let n={type:"event",name:e,payload:o};(i=(r=this.eventMap)[e])==null||i.call(r,o);let s=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;s==null||s.postMessage({...n,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)}},$p=Jr;var Bt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Yr=t=>new Promise(e=>{setTimeout(e,t)});var Ft=class extends Bt{name="ClientError"},ei=class extends Bt{name="ServerError"},ve=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,{abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:d=!0,retryOnError:g=b=>b instanceof TypeError,retryOnResponse:u=b=>b.status>=500,version:m="v1",...f}=o,h={credentials:"include",...f,headers:{"Content-Type":"application/json",...f.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(h.headers={...h.headers,"X-CSRFToken":this.csrfToken}),typeof m=="string"&&(h.headers={...h.headers,"X-Deepdesk-API-Version":m});let E=c,S=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(E--,a(i,h).then(async b=>u(b)&&!r.isAborted&&E>0?(await Yr(p),x()):b.status===401&&d===!0&&S===!1?(S=!0,await this.refreshToken(),x()):b).catch(async b=>{if(g(b)&&!r.isAborted&&E>0)return await Yr(p),x();throw b}));x().then(b=>b.json().catch(()=>null).then(v=>{b.status>=500?s(new ei("Server Error",v)):b.status===401?s(new Ft("Unauthorized",v)):b.status===403?s(new Ft("Forbidden",v)):b.status===404?s(new Ft("Not Found",v)):b.status>=400&&s(new Ft("Bad Request",v)),delete this.latestRequestByUrl[i],n(v)})).catch(b=>{s(b)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var Rv;(e=>{let t;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Rv||={});function ss(t){return{...L(t),tags:t.tags}}var ze=class t{constructor(e,o={}){this.options=o;this.client=new ve(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...U(e),tags:e.tags},{version:"v2"});return ss(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return ss(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=U(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return ss(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...U(s),tags:s.tags})),{version:"v2"})).map(s=>ss(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",U({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:U({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.client.post("/apis/admin/session/api-key/",U(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,U(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,U(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",U(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,U(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,U({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return L(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(fi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var Co=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(er(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Pv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Pv||={});var wo=class{constructor(e,o={}){this.apiUrl=e;this.client=new ve(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,U(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,U(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",U(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new Co(`${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 Hv,configureStore as Bv}from"@reduxjs/toolkit";import{createSlice as Av}from"@reduxjs/toolkit";var Xp={startTime:null,stopTime:null},Zp=Av({name:"handlingTime",initialState:Xp,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase(M,()=>Xp)}}),{handlingTimeStart:Qp,handlingTimeStop:rs,handlingTimeReset:Jp}=Zp.actions,Yp=Zp.reducer;var ed=(t={})=>{let e={onAuthError:kt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Lv,createSlice as Mv}from"@reduxjs/toolkit";var is={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var it=Lv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return is.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Nv=Mv({name:"styleSuggestions",initialState:is,reducers:{},extraReducers:t=>{t.addCase(it.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(it.rejected,e=>{e.fetchState="error"}).addCase(it.fulfilled,(e,o)=>{e.fetchState="done",Ae(e.list,o.payload)||(e.list=o.payload)}).addCase(Ge,e=>{e.list=is.list}).addCase(M,()=>is)}}),td=Nv.reducer;var od=(t={})=>{let e,o=!0,n={getStyleSuggestions:it,debounce:500,...t};return s=>r=>i=>{var u;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:p}=c.settings;if(!((u=c.conversation.current)==null?void 0:u.id)||!p)return l;let{text:g}=c.input;return g===a&&!o||(clearTimeout(e),g==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:g}))},t.debounce)),l}};function Ov(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var nd=(t={})=>{let e={getTextSuggestions:ce,getAutocompleteSuggestions:no,debounce:200,check:Mt,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:p}=l.settings,d=(f=l.conversation.current)==null?void 0:f.id,g=r.type===wn.toString();if(!d||!c&&!p)return a;let{input:{userCommitted:u}}=l;return Ov(u,i)&&!g||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let h=ht(l);h===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(h))},g?0:e.debounce)),a}};var sd=it.fulfilled.toString();function Dv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var rd=t=>e=>o=>n=>{var c;if(n.type!==sd){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=Dv(s,i);n.type===sd&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Fv=Hv({activeSuggestion:ul,answer:tc,auth:Tl,autoflows:rp,conversation:xi,contentTypes:Dl,customMessages:mp,passwordlessToken:Sp,entities:Fl,knowledgeAssistant:Jl,handlingTime:Yp,info:Ha,input:ws.reducer,overlayInput:Q.reducer,settings:yi,profile:ic,search:za,summary:Wl,styleSuggestions:td,ui:hl,textSuggestions:al});function id(t){return Bv({reducer:Fv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),ed(),nd({debounce:200}),od({debounce:500}),rd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Kv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Uv=t=>e=>o=>n=>{var a;let s=e.getState(),r=_s("inlineSuggestions")(s);switch(n.type){case Ce.toString():{let l=Cn(n.payload.contentType)(e.getState()),c=l.indexOf(n.payload.suggestion);t.emit("edit-suggestion",{contentType:n.payload.contentType,index:c,suggestions:l});break}case kt.toString():{!n.payload&&t.emit("logout",void 0);break}case ie.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Kv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case jo.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Wt.toString():{let l=e.getState(),{text:c,selection:p}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:p},{mayApplyChanges:!0});break}case Wo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case pe.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case Ee.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case W.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case zo.toString():t.handleKeyDown(n.payload);break;case Ge.toString():t.logSendMessage(n.payload);break;case Vo.toString():t.logSendEditSuggestionMessage(n.payload);break;case qo.toString():t.handleInputChanged(n.payload);break;default:break}let i=o(n);switch(n.type){case Ge.toString():t.handleAfterSendMessage(n.payload);break;case so.toString():t.onUpdateShowTabHint(n.payload);break;case rs.toString():t.logHandlingTime();break;case ie.toString():{r&&(e.dispatch(ge([])),e.dispatch(_e()));break}case ge.toString():{r&&n.payload.length>0&&e.dispatch(Me(0));break}default:break}return i},ad=Uv;function ti(t){return t.toISOString().replace("T"," ").replace("Z","")}function ld(t,e){var s,r,i;let{startTime:o,stopTime:n}=t.handlingTime;if(!o||!n)throw new Error("No startTime and stopTime for handling time metrics");return{conversationId:t.conversation.current.id,clientVersion:e.version,agentId:(s=t.info.agentInfo)==null?void 0:s.agentId,agentName:(r=t.info.agentInfo)==null?void 0:r.agentName,agentEmail:(i=t.info.agentInfo)==null?void 0:i.agentEmail,timeStart:ti(o),timeStop:ti(n)}}function oi(t,e,o){var A,H,P;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:d,cuts:g,deletions:u,textSuggestions:m,offeredTextSuggestions:f}}=e[t],h=n.length,S=m.reduce((V,{text:k,searchTerm:F})=>V+k.length-(F?F.length:0),0),x=c??Date.now(),b=(Date.now()-x)/1e3+(p||0),v=s/b,R=m.reduce((V,{searchTerm:k})=>V+(k?k.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:d,cuts:g,deletions:u,lenTextTyped:s+R,lenTextTotal:h,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:b,charsPerSecond:v,numPastes:l,textSuggestionsV2:m,suggestionsCounters:[{source:"gpt",countOffered:f.filter(V=>V.source==="gpt").length}],agentId:(A=e.info.agentInfo)==null?void 0:A.agentId,agentName:(H=e.info.agentInfo)==null?void 0:H.agentName,agentEmail:(P=e.info.agentInfo)==null?void 0:P.agentEmail}}function ni(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return ni(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?ni(s,e):null}function cd(t,e){return ni(t,e)}function pd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function jv(t){return typeof t=="object"&&t!==null&&"tagName"in t}function si(t){return jv(t)&&(Ue(t)||cn(t))}var dd=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function zv(t){return t.offsetParent!==null}function ud(t){if(!zv(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 ri(t,e,o=100){let n=ud(t);e({isVisible:n});let s=setInterval(()=>{let r=ud(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as j}from"react/jsx-runtime";var gd=dd("showTabHint",!0),ls=class t{static version="10.11.0";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new ze(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let p={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[ad({emit:(d,g,u)=>this.emit(d,g,u),handleAfterSendMessage:d=>this.handleAfterSendMessage(d),handleInputChanged:d=>this.handleInputChanged(d),handleKeyDown:d=>this.handleKeyDown(d),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:d=>this.logSendMessage(d),logSendEditSuggestionMessage:d=>this.logSendEditMessage(d),onUpdateShowTabHint:d=>gd.update(d),sendEvent:(d,g)=>this.deepdeskApi.sendEvent(d,g)})]};o&&Object.assign(p,{deepdeskBrokerAPI:new wo(o)}),this.store=id(p),this.broadcastEvents=new $p({debug:!0,deepdeskUrl:c,eventMap:El(this.store),createCustomChannel:l}),this.store.dispatch(qt),this.store.dispatch(so(gd.value())),this.store.dispatch(qt({locale:s,adminUrl:c,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(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(kt(null)),this.store.dispatch(we()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();Z(n)&&Sl(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(we())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(bs({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Do(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Ho({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Cs(e))).payload}async postMessages(e){return(await this.store.dispatch(Fo(e))).payload}async updateConversation(e){return(await this.store.dispatch(Bo(e))).payload}resetConversation(){this.store.dispatch(M()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(Ee());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(qt(e))}setVisitorInfo(e){this.store.dispatch(Da(e))}async setAgentInfo(e){await this.store.dispatch(eo(e))}async setAgentSettings(e){await this.store.dispatch(or(e))}async getAgentSettings(){return(await this.store.dispatch(nr())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(wn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(qo(e))}notifyKeyDown(e){this.store.dispatch(zo(e))}notifyPaste(e,o){this.store.dispatch(Li({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Pi(e))}notifyExternalSuggestion(e){this.store.dispatch(ie(e)),this.store.dispatch(_e())}notifyEditSuggestion(e){this.store.dispatch(rl(e.contentType,e.suggestions)),this.store.dispatch(Ce({contentType:e.contentType,suggestion:typeof e.index=="number"?e.suggestions[e.index]:null}))}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(Fe({collapse:!1})),this.inputMediator&&this.store.dispatch(wi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ge([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,l=s!==-1;if(this.store.dispatch(Ai(Uo(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(ki()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},p=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(Ri()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Wt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?p():c();return;case"Down":case"ArrowDown":{i?c():p();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Me(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Me(-1)),this.store.dispatch(Wt()),e.preventDefault()):o||(this.store.dispatch(Fe({collapse:!0})),this.store.dispatch(ml(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:d}=this.state.input,g=d.text.substring(0,d.selection.end),{tabCompletionSuggestion:u}=this.state.input;this.store.dispatch(so(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&u&&u.text.startsWith(g)&&(this.store.dispatch(ie({text:u.text,suggestion:u,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(_e())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Mi()),this.store.dispatch(ge([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(Qp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(rs()))}logSendMessage(e){let o=oi("input",this.state,{version:this.version});e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o)}logSendEditMessage(e){let o=oi("overlayInput",this.state,{version:this.version});e&&Object.assign(o,{text:e}),this.store.dispatch(Ei(this.state.overlayInput.metrics))}logHandlingTime(){let e=ld(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Jp())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(_e()),this.store.dispatch(Ge(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(ie({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=xt(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{as(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=xt(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{as(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Xe(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(()=>{as(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Oi(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!si(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,isEmbedded:d,detectSubmit:g,insertLink:u,inputMediator:m,closestScrollSelector:f,appendOverlayTo:h,inlineSuggestions:E,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,showTextSuggestions:i,insertLink:u,isEmbedded:d,inlineSuggestions:E,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Xe(e),this.inputMediator=m||(Ue(e)?new Oe(e):new Ht(e)),this.inputMediator.on("change",({plainText:v})=>{this.notifyInputChanged(v)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Ni({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",v=>{this.notifyKeyDown(v)}),this.inputMediator.on("paste",({pastedText:v,selectionText:R})=>{this.notifyPaste(v,R)}),this.inputMediator.on("cut",({selectionText:v})=>{this.notifyCut(v)});let x=f&&cd(e,f)||void 0;if(E){let{customStyles:v,appendOverlayTo:R}=o;if(Ue(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let A=this.createInlineContainer(e,"deepdesk-caret");Kt(j(tt,{store:this.store,customStyles:v,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Cc,{})})}),A),this.inputMediator.on("caret",P=>{this.store.dispatch(ge([])),P?(A.style.display="block",A.style.top=`${P.top}px`,A.style.left=`${P.left}px`):A.style.display="none"});let H=this.overlayContainerFactory("floating-menu",x||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:R},v==null?void 0:v.floatingMenuRootNode);Kt(j(tt,{store:this.store,customStyles:v,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(yc,{onLogIn:()=>this.loginViaPopup().catch(P=>w.warn(P.message))})})}),H)}else{let v=this.overlayContainerFactory("deepdesk-tab-completion",x||e,{appendTo:h,closestScrollElement:x,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),R=this.overlayContainerFactory("deepdesk-suggestions-overlay",x||e,{appendTo:h},n==null?void 0:n.suggestionsRootNode);Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Yc,{inputElement:e})})}),v),Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Lc,{onLogIn:()=>this.loginViaPopup().catch(A=>w.warn(A.message))})})}),R)}Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(dc,{})})}),this.createContainer("deepdesk-overlays"));let b;this.inputMediator.on("selection",v=>{clearTimeout(b),v===null?b=setTimeout(()=>{v!==null&&this.store.dispatch(Ts(v))},500):this.store.dispatch(Ts(v))}),this.inputMediator.on("disabled",()=>{var v;(v=this.inputMediator)==null||v.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{g&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(Et(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(Et(!0))),this.store.dispatch(Ti({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(_e()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var v;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((v=this.state.conversation.current)==null?void 0:v.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}),Kt(j(tt,{store:this.store,customStyles:n,children:j(et,{broadcastEvents:this.broadcastEvents,children:j(Vp,{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&&as(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=ri(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){pd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(go());let e=Ke(this.state);e&&(await this.store.dispatch(uo()),this.store.dispatch(qt({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let l=!1,c=()=>{p&&!p.closed&&p.close(),window.removeEventListener("message",d),clearInterval(g)};r.onmessage=async u=>{var m,f;if((m=u.data)!=null&&m.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=u.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(io),l=!0,s.port1.close(),o()}catch(h){console.error(h),n(h)}finally{l=!0,c()}};let p=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");p===null&&n(new Error("Popup blocked by browser"));let d=async u=>{var m;if(u.origin===a.origin)switch((m=u.data)==null?void 0:m.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});p==null||p.postMessage(f,a.origin,[s.port2])}catch(f){w.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{c(),u.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(u.data.message));break}}};window.addEventListener("message",d);let g=setInterval(()=>{p&&!p.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Pn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(pe()):this.store.dispatch(ce(n))})}catch(n){this.handleError(n)}}};async function Vv(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function qv(t,e,o={}){let n=o.replace?rt(t,o.replace.start,o.replace.end):bo(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
10
10
|
`).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}):n.insertNode(document.createTextNode(e))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?rt(t,o.selectionAfter.start,o.selectionAfter.end):(n.collapse(!1),n),a=window.getSelection();a==null||a.removeAllRanges(),a==null||a.addRange(i)}if(!s)return;s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function Wv(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 Gv(t){let e=document.createDocumentFragment();return t.split(`
|
|
11
11
|
`).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function md(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:md(t,e.parentNode)}async function $v(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let l=a.getRangeAt(0);if(!l)return;s=document.createElement("span"),l.insertNode(s);let c=n?Wv(e):Gv(e);if(o){let p=l.startContainer===t?t.childNodes[l.startOffset]:l.startContainer,d=md(t,p)??t.firstChild;t.insertBefore(c,(d==null?void 0:d.nextSibling)??null)}else l.insertNode(c),l.collapse(!1)};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function Xv(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function Zv(t,e,o){await new ze(t).authenticateWithKey(e,o)}async function Qv(t){let o=await new ve(t).get("/platform/config/",{version:null});return L(o)}async function Jv(t){let o=await(t.fetch??window.fetch)(t.url),n=await o.blob();return new File([n],t.name,{type:t.mimeType??o.headers.get("Content-Type")??"image/jpeg"})}async function Yv(t,e){let o=await Jv(e),n=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[o]}),t.dispatchEvent(n)}finally{Object.hasOwn(t,"files")&&delete t.files}}export{B as Card,Ht as ContentEditableInput,ze as DeepdeskAPI,ls as DeepdeskSDK,ve as HTTPClient,Ne as InputMediator,qe as InputType,gs as KeyboardHint,ms as Label,Mo as Locale,Ve as Section,hs as SectionList,ue as Sources,D as Suggestion,re as SuggestionList,Oe as TextAreaInput,ut as ToggleButton,Yv as attachFile,Zv as authenticateWithKey,bo as createFullRange,xt as createOverlayContainer,rt as createRangeFromOffsets,Qt as escapeHTML,Qv as fetchPlatformConfig,Xv as formatTextMarkup,os as getRangeOffsets,ns as getRangeText,$v as insertCKEditor,bt as isHTML,si as isSupportedInputElement,qv as updateContentEditable,Vv as updateTextArea,y as useStyles,ri as waitForElementVisibilityChange};
|