@deepdesk/deepdesk-sdk 10.1.0 → 10.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
- var qu=Object.defineProperty;var B=(t,e)=>{for(var n in e)qu(t,n,{get:e[n],enumerable:!0})};var Br=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Je=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var Kr=/x-deepdesk-(([a-z0-9\-_])+-version)/,He=(p=>(p.SEARCH="search",p.TEMPLATE="template",p.ELASTIC_SEARCH="studio-search",p.GPT="gpt",p.TRIE="trie",p.TRIE_WITH_TYPOS="trie-with-typos",p.SEMANTIC="semantic",p.TEXT_RECOMMENDATION="text_recommendation",p.URL_RECOMMENDATION="url_recommendation",p.LINK_RECOMMENDATION="link_recommendation",p.PERSONAL_COLLECTION="personal-collection",p.PERSONAL_COLLECTION_SEARCH="personal-collection-search",p))(He||{}),Fe=(s=>(s.TAB="tab",s.ARROW="arrow",s.HOTKEY="hotkey",s.MOUSE="mouse",s))(Fe||{});import{render as Uo,unmountComponentAtNode as Hr}from"react-dom";import{Fragment as dg}from"react";import{createSlice as Vu}from"@reduxjs/toolkit";import{useSelector as ju}from"react-redux";var yn=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(yn||{});var zu={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,showAutoflows:!1,showCustomMessages:!1,showImages:!1,showPersonalCollectionLink:!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,adminUrl:void 0,productName:"Deepdesk"},Ur=Vu({name:"settings",initialState:zu,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s>"u"||(t[o]=s)})}}}),{set:Rt}=Ur.actions,zo=t=>e=>e.settings[t],T=t=>ju(zo(t)),qr=Ur.reducer;import{useState as Yd}from"react";import{useDispatch as em,useSelector as Os}from"react-redux";import{createAction as Be,createSlice as Yu}from"@reduxjs/toolkit";import{diffChars as ep}from"diff";import{useSelector as tp}from"react-redux";function Vr(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function ke(t,e,n=10){let o=typeof t,s=typeof e;if(n===0)throw new Error("Max depth deepEqual, possible circular references?");return o!==s?!1:t==null||o==="string"||o==="number"||o==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>ke(r,e[i],n-1)):Vr(t)&&Vr(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>ke(t[i],e[i],n-1)):!1}function Wu(t){return Math.max(...t.map(e=>e.length))}function Gu(t,e){let n=t.reduce((o,s)=>{if(s){let r=o[s]?o[s]+1:1;return{...o,[s]:r}}return o},{});return Object.keys(n).reduce((o,s)=>(n[s]<e&&o.push(s),o),[])}function jr(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<Wu(o);s++){let r=Gu(o.map(a=>a[s]),e),i=o.filter(a=>!r.includes(a[s]));if(i.length>=e)o=i;else return{text:o[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var $u=2;function Wo(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=jr(t,$u);return n&&n.text!==e?n:t[0]}import{createAction as Xu,createAsyncThunk as Ye,createSlice as Qu}from"@reduxjs/toolkit";var zr={current:null,isSupported:null},R=Xu("resetConversation"),Sn=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},vn=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},xn=t=>t.conversation.isSupported,Go=Ye("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.sessionId,t.options)}),Cn=Ye("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),Tn=Ye("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationBySessionId(t.sessionId,t.options)}),wn=Ye("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=vn(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),$o=Ye("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationBySessionId(t.sessionId).catch(()=>null).then(o=>{if(!o)return n.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:l}=t;return n.updateConversation(o.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),bn=Ye("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=vn(e.getState());if(!o)throw new Error("No current conversation to update messages");return n.postMessages(o,t.map(s=>({...s})))}),Zu=[Cn.rejected,Tn.rejected,wn.rejected,bn.rejected].map(t=>t==null?void 0:t.toString()),Ju=Qu({name:"conversation",initialState:zr,reducers:{},extraReducers:t=>{t.addCase(Go.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(Cn.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase(Tn.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase($o.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase(wn.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase(bn.fulfilled,(e,n)=>{e.current&&(e.current.messages=n.payload)}).addCase(R,()=>zr).addMatcher(e=>Zu.includes(e.type),(e,n)=>{throw new Error(n.error.message)})}}),Wr=Ju.reducer;var Re={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,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function _n(t){let{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}=t;return{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}}var Pn=Be("input/replaceText"),kn=Be("input/keyDown"),It=Be("input/sendMessage"),Rn=Be("input/sendEditSuggestionMessage"),In=Be("input/uiInputChange"),An=Be("input/applyImageSuggestion"),ae=Be("input/sendEvent");function En(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:n,abVariant:o,abTestName:s,trainingJobs:r,sourceText:i},eventMetrics:{inputType:a},replace:l}=t.stagedSuggestion,c=n==="search"||n==="personal-collection-search",u=c||l==="selection"?e:e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions=[...t.metrics.textSuggestions,{text:u,source:n,abVariant:o,abTestName:s,inputType:a,sourceText:i,trainingJobs:r||[],searchTerm:c?t.userCommitted.text:null}],t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var Gr=t=>Yu({name:t,initialState:Re,reducers:{initialInput(e,n){let{text:o,selection:s,html:r}=n.payload;e.text=o,e.selection.start=(s==null?void 0:s.start)??o.length,e.selection.end=(s==null?void 0:s.end)??o.length,e.userCommitted.text=o,e.userCommitted.selection.start=(s==null?void 0:s.start)??o.length,e.userCommitted.selection.end=(s==null?void 0:s.end)??o.length,e.html=r||null},reset(e){Object.assign(e,{...Re,selection:e.selection})},resetToCommitted(e){e.text=e.userCommitted.text,e.selection=e.userCommitted.selection,e.stagedSuggestion=null,e.tabCompletionSuggestion=Wo(e.textSuggestions,e.userCommitted.text)},setInputHtml(e,n){e.html=n.payload},changeSelection(e,n){n.payload&&(ke(e.selection,n.payload)||(e.selection=n.payload,e.userCommitted.selection=e.selection,e.stagedSuggestion&&En(e)))},userInput(e,n){var i,a,l,c;if(e.previousKeyDownEvent){let{key:u,shiftKey:d,ctrlKey:p,metaKey:m,altKey:g}=e.previousKeyDownEvent;switch(u){case"Enter":d&&(e.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:f}=e,{text:x}=n.payload,b=ep(f,x);f.length-x.length>1&&e.metrics.deletions.push(...b.filter(h=>h.removed).map(h=>h.value)),e.metrics.numCharsDeleted+=f.length-x.length;break}case"C":case"V":case"X":if(!p&&!m){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(!p&&!m&&!g){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&&n.payload.text!==e.text&&(e.metrics.agentStartedTypingTimestamp=Date.now()),n.payload.text===""&&(e.metrics=Re.metrics,e.textSuggestions=[]),e.text!==n.payload.text&&En(e);let{text:o,html:s,selection:r}=n.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=o,e.html=s||null,e.userCommitted.text=o,e.previousKeyDownEvent=null},stageSuggestion(e,n){let{text:o}=n.payload;switch(e.stagedSuggestion=n.payload,e.tabCompletionSuggestion=void 0,n.payload.replace){case"selection":e.text=`${e.text.slice(0,e.selection.start)}${o}${e.text.slice(e.selection.end)}`,e.selection.end=e.selection.start+o.length,e.selection.start+=o.length;break;case"until-selection-end":e.text=`${o}${e.text.slice(e.selection.end)}`,e.selection.start=o.length,e.selection.end=o.length;break;default:throw new Error(`Unknown replace ${n.payload.replace}`)}n.payload.eventMetrics.inputType==="tab"&&En(e)},commitSuggestion(e){En(e)},offeredTextSuggestion(e,n){let{text:o,suggestion:{source:s}}=n.payload;e.metrics.offeredTextSuggestions.find(i=>i.text===o)||e.metrics.offeredTextSuggestions.push({text:o,source:s})},registerCut(e,n){let{metrics:o}=e,s=n.payload;e.metrics={...e.metrics,numCharsCut:o.numCharsCut+s.length,cuts:[...o.cuts,s]}},registerPaste(e,n){let{metrics:o}=e,{text:s,selectionText:r}=n.payload,i=o.numCharsDeleted+(r&&r.length?r.length:0),a=r&&r.length?[...o.deletions,r]:o.deletions;e.metrics={...e.metrics,numCharsDeleted:i,deletions:a,numCharsPasted:o.numCharsPasted+s.length,numPaste:o.numPaste+1,pastes:[...o.pastes,s]}},registerKeyDown(e,n){e.previousKeyDownEvent=n.payload},nextTextSuggestionIndex(e){let n=e.textSuggestions.length;e.selectedSuggestionIndex=e.selectedSuggestionIndex<n-1?e.selectedSuggestionIndex+1:e.selectedSuggestionIndex},previousTextSuggestionIndex(e){e.selectedSuggestionIndex=e.selectedSuggestionIndex>=0?e.selectedSuggestionIndex-1:e.selectedSuggestionIndex},setTextSuggestions(e,n){if(e.selectedSuggestionIndex=-1,e.textSuggestions=n.payload,n.payload.length===0)return;let o=e.userCommitted.text.substring(0,e.userCommitted.selection.end),s=Wo(n.payload,o);e.tabCompletionSuggestion=s!=null&&s.text.includes(o)?s:void 0},setSelectedTextSuggestionIndex(e,n){e.selectedSuggestionIndex=n.payload},mergeMetrics(e,{payload:n}){e.metrics.numCharsTyped+=n.numCharsTyped,e.metrics.numCharsPasted+=n.numCharsPasted,e.metrics.numCharsCut+=n.numCharsCut,e.metrics.numCharsDeleted+=n.numCharsDeleted,e.metrics.numPaste+=n.numPaste,e.metrics.pastes.push(...n.pastes),e.metrics.deletions.push(...n.deletions)}},extraReducers:e=>{e.addCase(R,n=>{n.tabCompletionSuggestion=Re.tabCompletionSuggestion,n.previousKeyDownEvent=Re.previousKeyDownEvent,n.textSuggestions=Re.textSuggestions,n.selectedSuggestionIndex=Re.selectedSuggestionIndex,n.metrics=Re.metrics})}}),Xo=Gr("input"),et=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),np=t=>t.input.selection,$r=()=>tp(np),{userInput:Xr,changeSelection:Qo,initialInput:Qr,mergeMetrics:Zr,nextTextSuggestionIndex:Jr,offeredTextSuggestion:Yr,previousTextSuggestionIndex:ei,registerCut:ti,registerKeyDown:ni,registerPaste:oi,reset:si,resetToCommitted:At,setInputHtml:ri,setSelectedTextSuggestionIndex:Ln,setTextSuggestions:Ie,stageSuggestion:oe,commitSuggestion:Ae}=Xo.actions,V=Gr("overlay");import{useEffect as ai,useRef as li}from"react";import op,{useContext as sp}from"react";import rp from"classnames";var Lt=op.createContext({});function y(t,e){let o=sp(Lt)[t];return o?Object.entries(e).reduce((s,[r,i])=>{let a=o[r];return{...s,[r]:rp(i,a)}},{}):e}var ii={root:"_root_1qp5s_1",content:"_content_1qp5s_23"};import{jsx as ci}from"react/jsx-runtime";var ip=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,overlayAriaLabel:r,contentAriaLabel:i})=>{let a=li(null),l=li(null),c=y("Dialog",ii);return ai(()=>{var p,m;let u=g=>{g.key==="Escape"&&(g.preventDefault(),g.stopPropagation(),s())},d=g=>{let f=window.getSelection();f!=null&&f.toString()||g.target===a.current&&t&&o()};return(p=a.current)==null||p.addEventListener("click",d),(m=a.current)==null||m.addEventListener("keyup",u),()=>{var g,f;(g=a.current)==null||g.removeEventListener("click",d),(f=a.current)==null||f.removeEventListener("keyup",u)}},[a,l,s,o]),ai(()=>{var u,d;!a.current||!t||!e||(d=(u=a.current)==null?void 0:u.querySelector("input, textarea"))==null||d.focus()},[t,e,a]),t?ci("div",{role:"dialog","data-testid":"dialog",className:c.root,"aria-label":r,ref:a,children:ci("div",{ref:l,"data-testid":"dialog-content",className:c.content,"aria-label":i,children:n})}):null},tt=ip;import{useEffect as ua}from"react";import{useDispatch as Nd,useSelector as Dd}from"react-redux";var Zo={};B(Zo,{enUS:()=>ap,nlNL:()=>lp});var ap={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?"}]},lp={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 ui={root:"_root_l80t9_1",content:"_content_l80t9_3",title:"_title_l80t9_7",actions:"_actions_l80t9_15",pagination:"_pagination_l80t9_20",primaryButton:"_primaryButton_l80t9_51",primaryButtons:"_primaryButtons_l80t9_55"};import{createContext as xp,useContext as Cp}from"react";var Jo=function(t,e){return Jo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(n[s]=o[s])},Jo(t,e)};function Mt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Jo(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var Q=function(){return Q=Object.assign||function(e){for(var n,o=1,s=arguments.length;o<s;o++){n=arguments[o];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)};function pi(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,o=Object.getOwnPropertySymbols(t);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(t,o[s])&&(n[o[s]]=t[o[s]]);return n}function Mn(t,e,n){if(n||arguments.length===2)for(var o=0,s=e.length,r;o<s;o++)(r||!(o in e))&&(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))}var On;(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"})(On||(On={}));var Nn=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var se;(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"})(se||(se={}));var Dn;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Dn||(Dn={}));function Yo(t){return t.type===se.literal}function di(t){return t.type===se.argument}function Hn(t){return t.type===se.number}function Fn(t){return t.type===se.date}function Bn(t){return t.type===se.time}function Kn(t){return t.type===se.select}function Un(t){return t.type===se.plural}function mi(t){return t.type===se.pound}function qn(t){return t.type===se.tag}function Vn(t){return!!(t&&typeof t=="object"&&t.type===Dn.number)}function Ot(t){return!!(t&&typeof t=="object"&&t.type===Dn.dateTime)}function es(t){t.forEach(function(e){if(delete e.location,Kn(e)||Un(e))for(var n in e.options)delete e.options[n].location,es(e.options[n].value);else Hn(e)&&Vn(e.style)||(Fn(e)||Bn(e))&&Ot(e.style)?delete e.style.location:qn(e)&&es(e.children)})}function gi(t,e){e===void 0&&(e={}),e=Q({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new Nn(t,e).parse();if(n.err){var o=SyntaxError(On[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||es(n.val),n.val}function jn(t,e){var n=e&&e.cache?e.cache:gp,o=e&&e.serializer?e.serializer:mp,s=e&&e.strategy?e.strategy:up;return s(t,{cache:n,serializer:o})}function cp(t){return t==null||typeof t=="number"||typeof t=="boolean"}function fi(t,e,n,o){var s=cp(o)?o:n(o),r=e.get(s);return typeof r>"u"&&(r=t.call(this,o),e.set(s,r)),r}function hi(t,e,n){var o=Array.prototype.slice.call(arguments,3),s=n(o),r=e.get(s);return typeof r>"u"&&(r=t.apply(this,o),e.set(s,r)),r}function ts(t,e,n,o,s){return n.bind(e,t,o,s)}function up(t,e){var n=t.length===1?fi:hi;return ts(t,this,n,e.cache.create(),e.serializer)}function pp(t,e){return ts(t,this,hi,e.cache.create(),e.serializer)}function dp(t,e){return ts(t,this,fi,e.cache.create(),e.serializer)}var mp=function(){return JSON.stringify(arguments)};function ns(){this.cache=Object.create(null)}ns.prototype.get=function(t){return this.cache[t]};ns.prototype.set=function(t,e){this.cache[t]=e};var gp={create:function(){return new ns}},zn={variadic:pp,monadic:dp};var Ke;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Ke||(Ke={}));var Nt=function(t){Mt(e,t);function e(n,o,s){var r=t.call(this,n)||this;return r.code=o,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var os=function(t){Mt(e,t);function e(n,o,s,r){return t.call(this,'Invalid values for "'.concat(n,'": "').concat(o,'". Options are "').concat(Object.keys(s).join('", "'),'"'),Ke.INVALID_VALUE,r)||this}return e}(Nt);var yi=function(t){Mt(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),Ke.INVALID_VALUE,s)||this}return e}(Nt);var Si=function(t){Mt(e,t);function e(n,o){return t.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(o,'"'),Ke.MISSING_VALUE,o)||this}return e}(Nt);var K;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(K||(K={}));function fp(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==K.literal||n.type!==K.literal?e.push(n):o.value+=n.value,e},[])}function hp(t){return typeof t=="function"}function Dt(t,e,n,o,s,r,i){if(t.length===1&&Yo(t[0]))return[{type:K.literal,value:t[0].value}];for(var a=[],l=0,c=t;l<c.length;l++){var u=c[l];if(Yo(u)){a.push({type:K.literal,value:u.value});continue}if(mi(u)){typeof r=="number"&&a.push({type:K.literal,value:n.getNumberFormat(e).format(r)});continue}var d=u.value;if(!(s&&d in s))throw new Si(d,i);var p=s[d];if(di(u)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?K.literal:K.object,value:p});continue}if(Fn(u)){var m=typeof u.style=="string"?o.date[u.style]:Ot(u.style)?u.style.parsedOptions:void 0;a.push({type:K.literal,value:n.getDateTimeFormat(e,m).format(p)});continue}if(Bn(u)){var m=typeof u.style=="string"?o.time[u.style]:Ot(u.style)?u.style.parsedOptions:o.time.medium;a.push({type:K.literal,value:n.getDateTimeFormat(e,m).format(p)});continue}if(Hn(u)){var m=typeof u.style=="string"?o.number[u.style]:Vn(u.style)?u.style.parsedOptions:void 0;m&&m.scale&&(p=p*(m.scale||1)),a.push({type:K.literal,value:n.getNumberFormat(e,m).format(p)});continue}if(qn(u)){var g=u.children,f=u.value,x=s[f];if(!hp(x))throw new yi(f,"function",i);var b=Dt(g,e,n,o,s,r),h=x(b.map(function(P){return P.value}));Array.isArray(h)||(h=[h]),a.push.apply(a,h.map(function(P){return{type:typeof P=="string"?K.literal:K.object,value:P}}))}if(Kn(u)){var v=u.options[p]||u.options.other;if(!v)throw new os(u.value,p,Object.keys(u.options),i);a.push.apply(a,Dt(v.value,e,n,o,s));continue}if(Un(u)){var v=u.options["=".concat(p)];if(!v){if(!Intl.PluralRules)throw new Nt(`Intl.PluralRules is not available in this environment.
1
+ var Vu=Object.defineProperty;var K=(t,e)=>{for(var n in e)Vu(t,n,{get:e[n],enumerable:!0})};import Wo from"classnames";import Gu,{createContext as $u,useContext as Go,useEffect as Xu,useState as Qu}from"react";import ju,{useContext as zu}from"react";import qu from"classnames";var Lt=ju.createContext({});function y(t,e){let o=zu(Lt)[t];return o?Object.entries(e).reduce((s,[r,i])=>{let a=o[r];return{...s,[r]:qu(i,a)}},{}):e}var Br={root:"_root_vr71j_1"};import{jsx as hn,jsxs as Wu}from"react/jsx-runtime";var Kr=()=>Wu("svg",{className:Br.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[hn("defs",{children:hn("style",{children:".cls-1 { fill: #b3b3b3; }"})}),hn("title",{children:"Failed loading image"}),hn("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 qo={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 Ye}from"react/jsx-runtime";var yn=$u(qo),Zu=({title:t,src:e})=>{let n=Go(yn),[o,s]=Qu(!1);return Xu(()=>{s(!1)},[e]),Ye("div",{className:n.imageWrapper,children:e&&!o?Ye("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):Ye(Kr,{})})},Ju=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=Go(yn);return Ye("div",{className:Wo(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},Yu=({as:t="h1",cropText:e=!1,className:n,children:o})=>{let s=Go(yn);return Gu.createElement(t,{className:Wo(s.title,n,{[s.contentIsCropped]:e})},o)},Sn=({children:t})=>{let e=y("Card",qo);return Ye("div",{className:Wo(e.root),children:Ye(yn.Provider,{value:e,children:t})})};Sn.Image=Zu;Sn.Content=Ju;Sn.Title=Yu;var H=Sn;var Ur={root:"_root_nkim0_1"};import{createContext as pp,useContext as dp}from"react";var $o=function(t,e){return $o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(n[s]=o[s])},$o(t,e)};function At(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");$o(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var Q=function(){return Q=Object.assign||function(e){for(var n,o=1,s=arguments.length;o<s;o++){n=arguments[o];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)};function Vr(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,o=Object.getOwnPropertySymbols(t);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(t,o[s])&&(n[o[s]]=t[o[s]]);return n}function vn(t,e,n){if(n||arguments.length===2)for(var o=0,s=e.length,r;o<s;o++)(r||!(o in e))&&(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))}var xn;(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"})(xn||(xn={}));var Cn=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var re;(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"})(re||(re={}));var Tn;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Tn||(Tn={}));function Xo(t){return t.type===re.literal}function jr(t){return t.type===re.argument}function wn(t){return t.type===re.number}function bn(t){return t.type===re.date}function En(t){return t.type===re.time}function _n(t){return t.type===re.select}function Pn(t){return t.type===re.plural}function zr(t){return t.type===re.pound}function kn(t){return t.type===re.tag}function Rn(t){return!!(t&&typeof t=="object"&&t.type===Tn.number)}function Mt(t){return!!(t&&typeof t=="object"&&t.type===Tn.dateTime)}function Qo(t){t.forEach(function(e){if(delete e.location,_n(e)||Pn(e))for(var n in e.options)delete e.options[n].location,Qo(e.options[n].value);else wn(e)&&Rn(e.style)||(bn(e)||En(e))&&Mt(e.style)?delete e.style.location:kn(e)&&Qo(e.children)})}function qr(t,e){e===void 0&&(e={}),e=Q({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new Cn(t,e).parse();if(n.err){var o=SyntaxError(xn[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||Qo(n.val),n.val}function In(t,e){var n=e&&e.cache?e.cache:rp,o=e&&e.serializer?e.serializer:sp,s=e&&e.strategy?e.strategy:tp;return s(t,{cache:n,serializer:o})}function ep(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Wr(t,e,n,o){var s=ep(o)?o:n(o),r=e.get(s);return typeof r>"u"&&(r=t.call(this,o),e.set(s,r)),r}function Gr(t,e,n){var o=Array.prototype.slice.call(arguments,3),s=n(o),r=e.get(s);return typeof r>"u"&&(r=t.apply(this,o),e.set(s,r)),r}function Zo(t,e,n,o,s){return n.bind(e,t,o,s)}function tp(t,e){var n=t.length===1?Wr:Gr;return Zo(t,this,n,e.cache.create(),e.serializer)}function np(t,e){return Zo(t,this,Gr,e.cache.create(),e.serializer)}function op(t,e){return Zo(t,this,Wr,e.cache.create(),e.serializer)}var sp=function(){return JSON.stringify(arguments)};function Jo(){this.cache=Object.create(null)}Jo.prototype.get=function(t){return this.cache[t]};Jo.prototype.set=function(t,e){this.cache[t]=e};var rp={create:function(){return new Jo}},Ln={variadic:np,monadic:op};var Fe;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Fe||(Fe={}));var Ot=function(t){At(e,t);function e(n,o,s){var r=t.call(this,n)||this;return r.code=o,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var Yo=function(t){At(e,t);function e(n,o,s,r){return t.call(this,'Invalid values for "'.concat(n,'": "').concat(o,'". Options are "').concat(Object.keys(s).join('", "'),'"'),Fe.INVALID_VALUE,r)||this}return e}(Ot);var $r=function(t){At(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),Fe.INVALID_VALUE,s)||this}return e}(Ot);var Xr=function(t){At(e,t);function e(n,o){return t.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(o,'"'),Fe.MISSING_VALUE,o)||this}return e}(Ot);var U;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(U||(U={}));function ip(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==U.literal||n.type!==U.literal?e.push(n):o.value+=n.value,e},[])}function ap(t){return typeof t=="function"}function Nt(t,e,n,o,s,r,i){if(t.length===1&&Xo(t[0]))return[{type:U.literal,value:t[0].value}];for(var a=[],l=0,c=t;l<c.length;l++){var u=c[l];if(Xo(u)){a.push({type:U.literal,value:u.value});continue}if(zr(u)){typeof r=="number"&&a.push({type:U.literal,value:n.getNumberFormat(e).format(r)});continue}var d=u.value;if(!(s&&d in s))throw new Xr(d,i);var p=s[d];if(jr(u)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?U.literal:U.object,value:p});continue}if(bn(u)){var g=typeof u.style=="string"?o.date[u.style]:Mt(u.style)?u.style.parsedOptions:void 0;a.push({type:U.literal,value:n.getDateTimeFormat(e,g).format(p)});continue}if(En(u)){var g=typeof u.style=="string"?o.time[u.style]:Mt(u.style)?u.style.parsedOptions:o.time.medium;a.push({type:U.literal,value:n.getDateTimeFormat(e,g).format(p)});continue}if(wn(u)){var g=typeof u.style=="string"?o.number[u.style]:Rn(u.style)?u.style.parsedOptions:void 0;g&&g.scale&&(p=p*(g.scale||1)),a.push({type:U.literal,value:n.getNumberFormat(e,g).format(p)});continue}if(kn(u)){var h=u.children,m=u.value,x=s[m];if(!ap(x))throw new $r(m,"function",i);var b=Nt(h,e,n,o,s,r),f=x(b.map(function(P){return P.value}));Array.isArray(f)||(f=[f]),a.push.apply(a,f.map(function(P){return{type:typeof P=="string"?U.literal:U.object,value:P}}))}if(_n(u)){var v=u.options[p]||u.options.other;if(!v)throw new Yo(u.value,p,Object.keys(u.options),i);a.push.apply(a,Nt(v.value,e,n,o,s));continue}if(Pn(u)){var v=u.options["=".concat(p)];if(!v){if(!Intl.PluralRules)throw new Ot(`Intl.PluralRules is not available in this environment.
2
2
  Try polyfilling it using "@formatjs/intl-pluralrules"
3
- `,Ke.MISSING_INTL_API,i);var C=n.getPluralRules(e,{type:u.pluralType}).select(p-(u.offset||0));v=u.options[C]||u.options.other}if(!v)throw new os(u.value,p,Object.keys(u.options),i);a.push.apply(a,Dt(v.value,e,n,o,s,p-(u.offset||0)));continue}}return fp(a)}function yp(t,e){return e?Q(Q(Q({},t||{}),e||{}),Object.keys(t).reduce(function(n,o){return n[o]=Q(Q({},t[o]),e[o]||{}),n},{})):t}function Sp(t,e){return e?Object.keys(t).reduce(function(n,o){return n[o]=yp(t[o],e[o]),n},Q({},t)):t}function ss(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,n){t[e]=n}}}}}function vp(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:jn(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.NumberFormat).bind.apply(e,Mn([void 0],n,!1)))},{cache:ss(t.number),strategy:zn.variadic}),getDateTimeFormat:jn(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.DateTimeFormat).bind.apply(e,Mn([void 0],n,!1)))},{cache:ss(t.dateTime),strategy:zn.variadic}),getPluralRules:jn(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.PluralRules).bind.apply(e,Mn([void 0],n,!1)))},{cache:ss(t.pluralRules),strategy:zn.variadic})}}var vi=function(){function t(e,n,o,s){n===void 0&&(n=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(c){var u=r.formatToParts(c);if(u.length===1)return u[0].value;var d=u.reduce(function(p,m){return!p.length||m.type!==K.literal||typeof p[p.length-1]!="string"?p.push(m.value):p[p.length-1]+=m.value,p},[]);return d.length<=1?d[0]||"":d},this.formatToParts=function(c){return Dt(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=n,this.resolvedLocale=t.resolveLocale(n),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=pi(i,["formatters"]);this.ast=t.__parse(e,Q(Q({},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=Sp(t.formats,o),this.formatters=s&&s.formatters||vp(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 n=Intl.NumberFormat.supportedLocalesOf(e);return n.length>0?new Intl.Locale(n[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=gi,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 Tp(t,e){return e.split(".").reduce((n,o)=>n?n[o]:void 0,t)}var wp="dummy",rs=xp(null);function E(t){let e=Cp(rs);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let n=t[e]??{};return(o,s)=>{let r=Tp(n,o);return r?new vi(r).format(s):(e!==wp&&console.warn(`${o} does not exist in messages of ${e}`),`[${o}]`)}}import{jsx as xi,jsxs as bp}from"react/jsx-runtime";var Wn=()=>bp("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[xi("title",{id:"angleLeftTitle",children:"AngleLeft"}),xi("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 Ci,jsxs as Ep}from"react/jsx-runtime";var Ti=()=>Ep("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleRightTitle",children:[Ci("title",{id:"angleRightTitle",children:"AngleRight"}),Ci("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 Gn from"classnames";import _p,{createContext as Pp,useCallback as kp,useContext as Ht}from"react";var is={root:"_root_9kn3u_10",fadein:"_fadein_9kn3u_1",isClickable:"_isClickable_9kn3u_47",isSelected:"_isSelected_9kn3u_52",actions:"_actions_9kn3u_76",actionsIsFixed:"_actionsIsFixed_9kn3u_98",actionButton:"_actionButton_9kn3u_106",dropdownList:"_dropdownList_9kn3u_127",dropdownButton:"_dropdownButton_9kn3u_142",dropdownItem:"_dropdownItem_9kn3u_152",dropdownItemButton:"_dropdownItemButton_9kn3u_161",actionButtonIsPrimary:"_actionButtonIsPrimary_9kn3u_175",actionButtonIsDisabled:"_actionButtonIsDisabled_9kn3u_179",labels:"_labels_9kn3u_187",label:"_label_9kn3u_187"};import{jsx as de,jsxs as Mp}from"react/jsx-runtime";var nt=Pp(is),Rp=({fixed:t,children:e,...n})=>{let o=Ht(nt);return de("div",{...n,className:Gn(o.actions,{[o.actionsIsFixed]:t}),children:e})},Ip=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=Ht(nt);return Mp("div",{className:Gn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,de("ul",{className:r.dropdownList,children:s})]})},Ap=({index:t,label:e,onClick:n})=>{let o=Ht(nt);return de("li",{className:o.dropdownItem,children:de("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},Lp=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=Ht(nt);return de("button",{type:"button",className:Gn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o??(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},as=({labels:t})=>{let e=Ht(nt);return de("div",{className:e.labels,children:t.map(n=>de("span",{className:e.label,children:n},n))})},ot=_p.forwardRef(({className:t,selected:e,onClick:n,children:o,as:s="div",...r},i)=>{let a=y("Suggestion",is),l=kp(c=>{c.preventDefault(),n&&n(c)},[n]);return de(s,{...r,ref:i,className:Gn(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!n}),onClick:l,children:de(nt.Provider,{value:a,children:o})})});ot.Labels=as;ot.Actions=Rp;ot.ActionButton=Lp;ot.DropdownButton=Ip;ot.DropdownItem=Ap;var O=ot;import{useEffect as Bt,useRef as gs,useState as Qp}from"react";import{useDispatch as Zp}from"react-redux";import{Interweave as Jp}from"interweave";import Fi from"classnames";var ls={root:"_root_7hhs4_1",agentText:"_agentText_7hhs4_3",textInput:"_textInput_7hhs4_8",textInputWrapper:"_textInputWrapper_7hhs4_27",alert:"_alert_7hhs4_31",alertText:"_alertText_7hhs4_50",warning:"_warning_7hhs4_60",success:"_success_7hhs4_69"};import{Matcher as Hp}from"interweave";import Fp from"classnames";import{useEffect as Op,useRef as Np,useState as Dp}from"react";function wi(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function $n(t){let e=Np(null),[n,o]=Dp(!1);return Op(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=wi((u,d)=>{let p=e.current;if(!p)return;let m=u/r,g=d/r,f=p.getBoundingClientRect(),x=m>f.x&&m<f.x+f.width&&g>f.y&&g<f.y+f.height;x&&!s?(s=!0,o(!0)):!x&&s&&(s=!1,o(!1))},({clientX:u,clientY:d})=>[u,d]),[l,c]=wi(()=>{s=!1,o(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,n]}var J={root:"_root_kpc8q_1",agentText:"_agentText_kpc8q_4",tabText:"_tabText_kpc8q_9",hint:"_hint_kpc8q_10",matchSelection:"_matchSelection_kpc8q_14",focus:"_focus_kpc8q_20",resetIndent:"_resetIndent_kpc8q_24",matchKeyword:"_matchKeyword_kpc8q_28",matchPlaceholder:"_matchPlaceholder_kpc8q_29",hover:"_hover_kpc8q_35",hintText:"_hintText_kpc8q_67",popover:"_popover_kpc8q_75",popoverRoot:"_popoverRoot_kpc8q_80",popoverContentContainer:"_popoverContentContainer_kpc8q_84",popoverContent:"_popoverContent_kpc8q_84",selectionOptions:"_selectionOptions_kpc8q_110",selectionOptionsIsHidden:"_selectionOptionsIsHidden_kpc8q_115",selectionOptionsButton:"_selectionOptionsButton_kpc8q_119",caret:"_caret_kpc8q_135",popoverSuggestionsRoot:"_popoverSuggestionsRoot_kpc8q_139",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_kpc8q_144"};import{jsx as bi}from"react/jsx-runtime";var Bp=({inputElement:t,children:e})=>{let n=y("TabCompletion",J),[o,s]=$n(t);return bi("mark",{ref:o,className:Fp(n.matchPlaceholder,{[n.hover]:s}),children:e})},st=class extends Hp{match(e){let n=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return n?{index:n.index,length:n[0].length,match:n[0],matchString:n[0],valid:!0}:null}replaceWith(e,n){return bi(Bp,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import{useEffect as Kp,useRef as Up,useState as qp}from"react";function Xn(t){return t.contentEditable==="true"}function Vp(t){let e=0,n=0,o=window.getSelection();if(o.rangeCount!==0){let s=o.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),n=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:n}}function Ei(t){let{selectionStart:e,selectionEnd:n}=Xn(t)?Vp(t):t;return[e,n]}function Qn(t){let[,e]=qp(),n=Up(null);return n.current=Ei(t),Kp(()=>{let o=()=>{let[s,r]=n.current??[],i=Ei(t);(!i||s!==i[0]||r!==i[1])&&(n.current=i,e({}))};return t.addEventListener("keyup",o),t.addEventListener("click",o),t.addEventListener("focus",o),document.addEventListener("selectionchange",o),()=>{t.removeEventListener("keyup",o),t.removeEventListener("click",o),t.removeEventListener("focus",o),document.removeEventListener("selectionchange",o)}},[t]),n.current}function Zn(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(Je);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=o.indexOf(l,a);return s>c&&r<c+l.length?(n.selectionStart=c,n.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{useEffect as jp}from"react";function rt(t){jp(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ue(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var _i,le=new Map,zp=["bottom","height","left","right","top","width"],Wp=(t={},e={})=>zp.some(n=>t[n]!==e[n]),Pi=()=>{let t=[];le.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),le.delete(n);return}let o=n.getBoundingClientRect();Wp(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{e.callbacks.forEach(n=>n(e.rect))}),le.size!==0&&(_i=window.requestAnimationFrame(Pi))};function ki(t,e){return{observe(){let n=le.size===0;if(le.has(t)){let o=le.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else le.set(t,{rect:void 0,callbacks:[e]});n&&Pi()},unobserve(){let n=le.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||le.delete(t),le.size||cancelAnimationFrame(_i)}}}}var Ri,ce=new Map,Ii=()=>{ce.forEach((t,e)=>{if(!e.isConnected){ce.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ce.size!==0&&(Ri=window.requestAnimationFrame(Ii))};function Ai(t,e){return{observe(){let n=ce.size===0;ce.has(t)?ce.get(t).callbacks.push(e):ce.set(t,{visible:void 0,callbacks:[e]}),n&&Ii()},unobserve(){let n=ce.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||ce.delete(t),ce.size||cancelAnimationFrame(Ri)}}}}var cs=["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 us(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function it(t){return parseFloat(t)}function Jn(t){return Math.round(t*1e6)}function Li(t){return t/1e6}function ps(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=it(t.width),r=it(t.borderLeftWidth),i=it(t.borderRightWidth),a=it(t.paddingRight),l=Li(Jn(s)-Jn(r)-Jn(i)),c=Li(Jn(o));if(l-c>2){let u=l-c;n.style.paddingRight=`${a+u}px`}}function Ft(t,e={}){var l;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position="fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",Ue(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};us(o,n,cs),ps(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=Ai(t,()=>{us(o,n,cs),ps(o,t,n),r(),setTimeout(r,0)}),a=ki(t,c=>{if(c===null){e.onRemove&&e.onRemove(),n.remove();return}if(c.height===0&&c.width===0){if(s===!0)return;e.onHide&&e.onHide(),n.style.display="none",s=!0;return}if(us(o,n,cs),ps(o,t,n),r(),n.style.top=`${c.top}px`,n.style.left=`${c.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let u=e.closestScrollElement.getBoundingClientRect(),d=window.getComputedStyle(e.closestScrollElement),p=it(d.borderTopWidth),m=it(d.borderBottomWidth),g=u.top+p-c.top,f=c.top+c.height+-(u.top+u.height-m);n.style.clipPath=`inset(${g}px 0px ${f}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(l=t.parentElement)==null||l.appendChild(n),a.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),a.unobserve(),i.unobserve()}]}var ds={};B(ds,{enUS:()=>Gp,nlNL:()=>$p});var Gp={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"}]},$p={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 Mi,jsxs as Xp}from"react/jsx-runtime";var Oi=()=>Xp("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 512 512","aria-labelledby":"circleCheckTitle",children:[Mi("title",{id:"circleCheckTitle",children:"Check"}),Mi("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 Ni}from"react/jsx-runtime";var Di=()=>Ni("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:Ni("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 Hi=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Hi||{}),Le=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentHTML="";currentSelection=null;isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}triggerChange(){let e=this.getText(),n=this.getHTML(),o=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&o&&!this.isSubmitting&&this.emit("change",{plainText:e,rawHtml:n}),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==n||n===null&&o)&&(this.emit("updated",{plainText:e,rawHtml:n}),this.currentHTML=n))}handleKeyUp(e){let{key:n,shiftKey:o}=e;(n==="Enter"&&o===!0||n==="Backspace")&&this.triggerChange()}handleFocus(){this.isFocused||this.emit("focus"),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Hi).includes(n)||n.toLowerCase()==="z"&&(o||s),this.emit("keydown",e)}handleCut(){let e=this.currentSelection;this.isPossibleClearInputAction=!0,e&&this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){let n=(e.clipboardData||window.clipboardData).getData("text");this.emit("paste",{pastedText:n,selectionText:this.getSelectedText()})}listen(){let e=()=>{let o=document.activeElement===this.element?this.getSelection():null;ke(this.currentSelection,o)||(this.currentSelection=o,this.emit("selection",o))};document.addEventListener("selectionchange",e),this.disposeHandlers.push(()=>{window.document&&document.removeEventListener("selectionchange",e)}),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)),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let n=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});n.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{n.disconnect()})}focus(){this.element.focus()}emit(e,...n){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(o=>{o(...n)})}on(e,n){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n))}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 Me=class extends Le{getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:n}=this.element;return{start:e,end:n}}getSelectedText(){return this.currentSelection?this.getText().slice(this.currentSelection.start,this.currentSelection.end):""}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let n=this.getText(),o=e(this.element);Promise.resolve(o).then(()=>{this.currentText=this.getText(),n!==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 n=this.element.disabled,o=new MutationObserver(()=>{this.element.disabled!==n&&(n=this.element.disabled,this.emit(n?"disabled":"enabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>o.disconnect())}};import{jsx as me,jsxs as ms}from"react/jsx-runtime";var Yp=({value:t,onUse:e,...n})=>{var u;let o=E(ds),s=Zp(),r=y("EditSuggestionTextInput",ls),[i,a]=Qp(null),l=gs(null),c=((u=t.match(Je))==null?void 0:u.length)||0;return Bt(()=>{let d;return l.current&&(a(l.current),d=new Me(l.current),d.on("change",({plainText:p})=>{s(V.actions.userInput({text:p,selection:d.getSelection()}))}),d.on("keydown",p=>{s(V.actions.registerKeyDown(_n(p))),p.code==="Enter"&&p.shiftKey&&e(d.getText())}),d.on("paste",({pastedText:p,selectionText:m})=>{s(V.actions.registerPaste({text:p,selectionText:m}))}),d.on("cut",({selectionText:p})=>{s(V.actions.registerCut(p))})),()=>{s(V.actions.reset()),d.dispose(),d.deactivate()}},[l]),Bt(()=>{t&&l.current&&(l.current.value=t)},[t,l]),Bt(()=>{l.current&&setTimeout(()=>{if(!l.current)return;let d=l.current.value.length;l.current.setSelectionRange(d,d),l.current.focus()},0)},[l]),ms("div",{className:r.textInputWrapper,children:[me("textarea",{...n,ref:l,"data-testid":"edit-suggestion-dialog-textarea",className:r.textInput,defaultValue:t,onChange:()=>{}}),i&&me(ed,{inputElement:l.current,value:t}),ms("div",{className:Fi(r.alert,c===0?r.success:r.warning),children:[me("div",{className:r.alertText,children:o("placeholders",{placeholderSize:c})}),c===0?me(Oi,{}):me(Di,{})]})]})},ed=({inputElement:t,value:e})=>{let n=y("EditSuggestionTextInput",ls),o=gs(null),s=Qn(t);return Bt(()=>{Zn(t,s)},[s,t]),me(td,{inputElement:t,children:ms("div",{ref:o,className:Fi(n.root,n.agentText),children:[me(Jp,{tagName:"span",disableLineBreaks:!0,content:e,matchers:[new st("placeholders")],inputElement:t,boundaryRef:o}),me("br",{})]})})},td=({inputElement:t,children:e})=>{let n=gs(null);return Bt(()=>{if(!n.current)return()=>{};let[o,s]=Ft(t,{overlayContainer:n.current,mirrorOverflow:!0});return()=>{s()}},[n.current]),me("div",{ref:n,children:e})},Bi=Yp;import{useEffect as Ad,useState as Ld,useRef as Md}from"react";var j={root:"_root_m5usm_1",list:"_list_m5usm_2",listWrapper:"_listWrapper_m5usm_6",listHorizontal:"_listHorizontal_m5usm_10",page:"_page_m5usm_19",search:"_search_m5usm_25",pageNav:"_pageNav_m5usm_33",pageTitle:"_pageTitle_m5usm_41",pageBackButton:"_pageBackButton_m5usm_48",listHeading:"_listHeading_m5usm_62",listItem:"_listItem_m5usm_70",listItemContent:"_listItemContent_m5usm_79",listItemText:"_listItemText_m5usm_97",listItemDescription:"_listItemDescription_m5usm_105",truncate:"_truncate_m5usm_112",lineClamp:"_lineClamp_m5usm_118",listItemTitle:"_listItemTitle_m5usm_125",listItemAction:"_listItemAction_m5usm_132",listItemPrimaryAction:"_listItemPrimaryAction_m5usm_146",listItemSelected:"_listItemSelected_m5usm_151",sources:"_sources_m5usm_155",sourcesTitle:"_sourcesTitle_m5usm_162",source:"_source_m5usm_155",icon:"_icon_m5usm_177",searchIcon:"_searchIcon_m5usm_194",searchInputWrapper:"_searchInputWrapper_m5usm_199",searchInput:"_searchInput_m5usm_199",select:"_select_m5usm_220",selectType:"_selectType_m5usm_237",selectWrapper:"_selectWrapper_m5usm_241",image:"_image_m5usm_271",imageSrc:"_imageSrc_m5usm_278",imageTitle:"_imageTitle_m5usm_289",actions:"_actions_m5usm_294",actionsWrapper:"_actionsWrapper_m5usm_298",actionsBar:"_actionsBar_m5usm_304",actionButton:"_actionButton_m5usm_313",actionShortcut:"_actionShortcut_m5usm_331",actionShortcutFixKerning:"_actionShortcutFixKerning_m5usm_338"};import{jsx as Ki,jsxs as od}from"react/jsx-runtime";var nd=({src:t,title:e})=>{let n=y("CommandPalette",j);return od("div",{className:n.image,children:[Ki("img",{src:t,alt:e,className:n.imageSrc}),e&&Ki("span",{className:n.imageTitle,children:e})]})},Ui=nd;import sd from"react";import rd from"classnames";import{jsx as qi,jsxs as id}from"react/jsx-runtime";function fs({children:t,heading:e,orientation:n}){let o=y("CommandPalette",j);return sd.Children.count(t)===0?null:id("div",{"data-testid":"commandpalette-list",className:o.list,children:[e&&qi("h4",{className:o.listHeading,children:e}),qi("div",{className:rd(o.listWrapper,n==="horizontal"&&o.listHorizontal),children:t})]})}import eo from"classnames";var Vi={root:"_root_nkim0_1"};var hs={};B(hs,{enUS:()=>ad,nlNL:()=>ld});var ad={experimental:[{type:0,value:"Experimental"}]},ld={experimental:[{type:0,value:"Experimenteel"}]};import{jsx as zi}from"react/jsx-runtime";var ji=({children:t})=>{let e=y("Chip",Vi);return zi("span",{className:e.root,children:t})},Yn=()=>{let t=E(hs);return zi(ji,{children:t("experimental")})},cd=ji;import ys from"react";import{jsx as ud}from"react/jsx-runtime";var Wi=ys.createContext(void 0);function Oe(){let t=ys.useContext(Wi);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Gi=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=ys.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return ud(Wi.Provider,{value:i,children:t})};import{jsx as at,jsxs as to}from"react/jsx-runtime";function Ss({closeOnSelect:t=!0,lineClamp:e,children:n,onClick:o,index:s,isExperimental:r,description:i,sources:a,styles:l,...c}){let{selected:u,onChangeOpen:d}=Oe(),p=y("CommandPalette",j);function m(g){o(g),t&&d(!1)}return to("div",{className:eo(p.listItem,u===s&&p.listItemSelected),children:[to("button",{type:"button",className:eo("command-palette-list-item",p.listItemAction,p.listItemPrimaryAction),"aria-disabled":c.disabled??!1,onClick:m,...c,children:[to("div",{className:p.listItemContent,children:[typeof n=="string"?at("p",{className:eo(p.listItemText,p.truncate,l==null?void 0:l.title),children:n}):n,i&&at("p",{className:eo(p.listItemDescription,l==null?void 0:l.description,e?p.lineClamp:p.truncate),children:i})]}),r&&at(Yn,{})]}),a&&to("div",{className:p.sources,children:[at("span",{className:p.sourcesTitle,children:"Sources"}),a.map(g=>g.url?at("a",{className:p.source,href:g.url,target:"_blank",title:g.url,rel:"noopener noreferrer",children:g.name},g.url):at("span",{className:p.source,children:g.name},g.name))]})]})}var Kt={};B(Kt,{enUS:()=>pd,nlNL:()=>dd});var pd={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}]},dd={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}]};import{jsx as vs,jsxs as xs}from"react/jsx-runtime";function Cs({children:t,title:e,id:n,onDismiss:o,isExperimental:s}){let r=E(Kt),i=y("CommandPalette",j),{page:a}=Oe();return a!==n?null:xs("div",{className:i.page,id:`page_${n}`,tabIndex:-1,children:[o&&xs("div",{className:i.pageNav,children:[xs("button",{className:i.pageBackButton,type:"button",onClick:o,children:[vs(Wn,{}),r("back")]}),e&&vs("h3",{className:i.pageTitle,children:e}),s&&vs(Yn,{})]}),t]})}import{Fragment as wd,useCallback as bd,useEffect as Ed,useRef as _d}from"react";var no=()=>/Mac/i.test(navigator.platform);import{createAsyncThunk as yd,createSlice as Sd}from"@reduxjs/toolkit";var md={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},_=md;import{createAsyncThunk as ws,createSlice as fd}from"@reduxjs/toolkit";function gd(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,n)=>({...e,[gd(n)]:L(t[n])}),{}):t}function Ts(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function H(t){return Array.isArray(t)?t.map(H):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>({...e,[Ts(n)]:H(t[n])}),{}):t}var hd={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},qt=t=>{var e,n,o;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((n=t.info.agentInfo)==null?void 0:n.agentNickname)||"",visitorName:((o=t.info.visitorInfo)==null?void 0:o.visitorName)||""}},Ut=ws("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:n}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let o=await n.client.get("/apis/admin/session/me/",{version:null}),s={};return o.external_id||(s.external_id=t.agentId),o.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?L(o):(await n.client.patch("/apis/admin/session/me/",s,{version:null}),L(o))}),bs=ws("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:n}=e.extra,o=await n.client.get("/apis/admin/session/me/",{version:null}),s={...typeof o.ui_config=="object"?o.ui_config:{},...t};return await n.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),Es=ws("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:n}=e.extra;return(await n.client.get("/apis/admin/session/me/",{version:null})).ui_config}),$i=t=>t.info.agentInfo,Xi=fd({name:"info",initialState:hd,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(Ut.pending,(e,n)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...n.meta.arg}}).addCase(Ut.rejected,e=>{e.fetchState="error"}).addCase(Ut.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...n.meta.arg,agentId:n.payload.externalId||n.meta.arg.agentId||"",agentNickname:n.payload.nickname||n.meta.arg.agentNickname||""}}).addCase(bs.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(Es.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(R,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Qi}=Xi.actions,Zi=Xi.reducer;var oo={list:[],fetchState:"idle",isOpen:!1,page:"search"},Ji=t=>t.search.isOpen,Yi=t=>t.search.page,ea=t=>t.search.list;function ta(t,e=n=>n){return n=>n.search.list.filter(o=>o.type===t).map(e)}var qe=yd("search/getAll",async(t,e)=>{var i;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(i=o.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 n.search({profile:s,query:t.query,filters:{type:t.type},params:qt(o),tags:t.tags});return r}),na=Sd({name:"search",initialState:oo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=oo.fetchState,t.list=oo.list}},extraReducers:t=>{t.addCase(qe.pending,e=>{e.fetchState="loading"}).addCase(qe.rejected,(e,n)=>{e.fetchState="error",_.error(n.error)}).addCase(qe.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload}).addCase(R,()=>oo)}}),{resetSearch:so,setIsOpen:Z,setPage:q}=na.actions,oa=na.reducer;var vd=/(https?:\/\/[^\s]+)/,ro=t=>t.split(" ").find(e=>vd.test(e));import sa from"classnames";import{jsx as Cd,jsxs as Td}from"react/jsx-runtime";var xd=({onClick:t,shortKeys:e,children:n,...o})=>{let s=y("CommandPalette",j);return Td("button",{type:"button",...o,onClick:t,className:sa(s.actionButton,o.className),children:[n,e&&e.map(r=>Cd("span",{className:sa(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},lt=xd;import{jsx as io,jsxs as _s}from"react/jsx-runtime";var Pd=({children:t,primaryLabel:e,secondaryLabel:n,onPrimary:o,onSecondary:s,list:r})=>{let i=y("CommandPalette",j),a=E(Kt),{selected:l,setSelected:c}=Oe(),u=r[l],d=u&&typeof u.text=="string"&&ro(u.text),p=_d(null);function m(v){if(!p.current)return;let C=p.current.querySelectorAll(".command-palette-list-item"),P=0,w=0;v==="down"?(C.forEach(($,k)=>{k===l&&(P=k)}),w=P===C.length-1?0:P+1):v==="up"?(C.forEach(($,k)=>{k===l&&(P=k)}),w=P?P-1:C.length-1):c(0);let N=C[w];N&&typeof w=="number"&&(c(w),N.scrollIntoView&&N.scrollIntoView({behavior:"smooth",block:w?"center":"end"}))}function g(){if(!p.current)return;let v=p.current.querySelectorAll(".command-palette-list-item"),C=0;v.forEach((w,N)=>{N===l&&(C=N)});let P=v[C];P&&P.click()}let f=()=>{d&&window.open(d,"_blank")},x=()=>{u&&o(u,l)},b=()=>{!u.type||["IMAGE","command"].includes(u.type)||s&&s(u,l)},h=bd(v=>{if(v.key==="Enter"&&v.altKey&&d){f();return}if(v.key==="Enter"&&v.shiftKey){b();return}if(v.key==="ArrowDown"){v.preventDefault(),v.stopPropagation(),m("down");return}if(v.key==="ArrowUp"){v.preventDefault(),v.stopPropagation(),m("up");return}v.key==="Enter"&&l!==-1&&(v.preventDefault(),v.stopPropagation(),g())},[l]);return Ed(()=>(window.addEventListener("keyup",h),()=>{window.removeEventListener("keyup",h)}),[h]),_s("div",{className:i.actions,children:[io("div",{className:i.actionsWrapper,ref:p,children:t}),_s("div",{className:i.actionsBar,children:[d&&io(lt,{onClick:f,shortKeys:[no()?8997:"ALT",8629],children:a("visitUrl")}),u&&_s(wd,{children:[s&&u.type&&!["command","image"].includes(u.type.toLowerCase())&&io(lt,{onClick:b,shortKeys:[8679,8629],children:n}),io(lt,{onClick:x,shortKeys:[8629],children:e})]})]})]})},ia=Pd;import{forwardRef as Rd}from"react";import{jsx as aa,jsxs as kd}from"react/jsx-runtime";var ct=()=>kd("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"currentColor",children:[aa("path",{d:"M0 0h24v24H0z",fill:"none"}),aa("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as ut,jsxs as Ps}from"react/jsx-runtime";function Id({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let l=y("CommandPalette",j);return Ps("div",{className:l.search,children:[ut("div",{className:l.searchIcon,children:ut(ct,{})}),Ps("div",{className:l.searchInputWrapper,children:[ut("input",{ref:a,spellCheck:!1,onChange:c=>{t(c.currentTarget.value)},onFocus:c=>{c.currentTarget.select()},className:l.searchInput,placeholder:n,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&ut("div",{className:l.selectWrapper,children:Ps("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:c=>e(c.target.value===o?void 0:c.target.value),value:i||o,children:[o&&ut("option",{children:o}),s.map(c=>ut("option",{value:c.value,children:c.label},c.value))]})})]})]})}var la=Rd(Id);import{jsx as ca,jsxs as Od}from"react/jsx-runtime";function Ve({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:n="search",page:o,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:u,isOpen:d,search:p}){let[m,g]=Ld(0),f=Md(null),x=()=>{s&&s(n),i(void 0),r(""),a(!1)},b=()=>{var h;if(o!==n&&s){s(n);return}if(l&&i){i(void 0),(h=f.current)==null||h.focus();return}if(p.length>0){r("");return}a(!1)};return Ad(()=>{g(0)},[p,o]),ca(tt,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:d,onBack:b,onClose:x,children:Od(Gi,{selected:m,setSelected:g,isOpen:d,onChangeOpen:a,page:o,children:[o===n&&ca(la,{ref:f,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:l,types:c,typePlaceholder:e}),u]})})}Ve.Page=Cs;Ve.List=fs;Ve.Image=Ui;Ve.ListItem=Ss;Ve.ActionsBar=ia;Ve.Button=lt;var I=Ve;import{jsx as ge,jsxs as Vt}from"react/jsx-runtime";var Hd=({suggestion:t,onUse:e,onDismiss:n,onTouched:o,onNext:s,onPrevious:r})=>{let i=t.text||t.url||t.message,a=y("EditSuggestionForm",ui),l=Nd(),c=E(Zo),u=Dd(g=>g.overlayInput.text);ua(()=>{t&&(l(V.actions.reset()),l(V.actions.stageSuggestion({text:i,suggestion:t,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"})),l(V.actions.commitSuggestion()))},[t]);let d=g=>{g.preventDefault(),p(u)},p=g=>{l(Rn(g)),e(g)},m=g=>f=>{u!==i?window.confirm(c("warning"))&&g(f):g(f)};return ua(()=>{o&&o(u!==i)},[o,t,u]),Vt("div",{className:a.root,children:[Vt("div",{className:a.content,children:[t.title&&ge("h3",{className:a.title,children:t.title}),t.searchKeywords&&t.searchKeywords.length>0&&ge(as,{labels:t.searchKeywords}),ge(Bi,{onUse:p,value:u})]}),Vt("form",{className:a.actions,onSubmit:d,children:[Vt("div",{children:[ge("button",{disabled:!r,className:a.pagination,type:"button",onClick:r&&m(r),children:ge(Wn,{})}),ge("button",{disabled:!s,className:a.pagination,type:"button",onClick:s&&m(s),children:ge(Ti,{})})]}),Vt("div",{className:a.primaryButtons,children:[ge(I.Button,{onClick:m(n),shortKeys:["esc"],children:c("dismiss")}),ge(I.Button,{shortKeys:[8679,8629],type:"submit",children:c("add")})]})]})]})},ao=Hd;import{createAction as Kd,createAsyncThunk as ga,createSlice as Ud}from"@reduxjs/toolkit";var Fd=["{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}"],Bd=new RegExp(Fd.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function pa(t,e){let n=t.split(Bd),o=0,s=[];for(let r=0;r<n.length;r++){let i=n[r];if(s.push(i),r===n.length-1)break;if(e.indexOf(i)===-1)return t;let a=n[r+1],l=r===n.length-2;o+=i.length;let c=o;if(l){let d=a.charAt(0),p=0;do c=d?e.indexOf(d,c+1):-1,p+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&p>2)return t}else c=a&&a!==""?e.indexOf(a,o):-1;let u=c===-1?e.slice(o):e.slice(o,c);s.push(u),o=c}return s.join("")}function da(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var fa={suggestions:[],fetchState:"idle",isInitialRequest:null},ma={default:fa},ha=t=>e=>{var n;return((n=e.textSuggestions[t])==null?void 0:n.suggestions)??[]},ya=t=>e=>{var n;return((n=e.textSuggestions[t])==null?void 0:n.suggestions)??[]},Sa=t=>{let e=Object.keys(t.textSuggestions).map(n=>{var o;return(o=t.textSuggestions[n])==null?void 0:o.fetchState});return e.length===0?!0:e.every(n=>n!=="done")},pt=t=>t.textSuggestions,va=t=>e=>e.text.startsWith(t),lo=Kd("textSuggestions/refresh"),fe=ga("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(c=o.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=o.settings,a=et(o);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await n.getTextSuggestions(s,qt(o),t);if(t==="default"){let u=i?l.filter(va(a)):l;e.dispatch(Ie(u.slice(0,r)))}return l}),jt=ga("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(c=o.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=o.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await n.getAutocompleteSuggestions(s,{...qt(o),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(va(t))),i&&(l=l.map(u=>({...u,text:u.source!=="trie-with-typos"?pa(u.text,t):u.text}))),l=da(l,r),e.dispatch(Ie(l)),l}),xa=Ud({name:"textSuggestions",initialState:ma,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:n}=e.payload;t[n].fetchState="done",t[n].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(fe.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||fa;return{...e,[o]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(fe.rejected,(e,n)=>{let o=n.meta.arg;e[o].fetchState="error"}).addCase(fe.fulfilled,(e,n)=>{let o=n.meta.arg;e[o].fetchState="done",e[o].suggestions=n.payload}).addCase(jt.pending,e=>{e.default.fetchState="loading"}).addCase(jt.rejected,e=>{e.default.fetchState="error"}).addCase(jt.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase(R,()=>ma)}}),{setTextSuggestions:Ca,setSuggestionState:Ta}=xa.actions,wa=xa.reducer;import{createSlice as qd}from"@reduxjs/toolkit";var ba={contentType:null,suggestion:null},Ea=t=>t.activeSuggestion.suggestion,_a=t=>t.activeSuggestion.contentType,Pa=qd({name:"activeSuggestion",initialState:ba,reducers:{setActiveSuggestion(t,e){let{contentType:n,suggestion:o}=e.payload;t.contentType=n,t.suggestion=o},resetActiveSuggestion(t){t.contentType=null,t.suggestion=null}},extraReducers:t=>{t.addCase(R,()=>ba)}}),{setActiveSuggestion:he,resetActiveSuggestion:ks}=Pa.actions,ka=Pa.reducer;var Rs={};B(Rs,{enUS:()=>Vd,nlNL:()=>jd});var Vd={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"}]},jd={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 zd}from"@reduxjs/toolkit";var Wd={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var Ra=({ui:t})=>t.overlayCollapsed;var Ia=zd({name:"ui",initialState:Wd,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:zt,setInputHasFocus:dt,setOverlayCollapsed:mt,setOpenOverlayWhenTyping:Aa,setOverlayCollapsedUserOverwrite:La}=Ia.actions,Ma=Ia.reducer;import Oa,{useContext as Gd}from"react";import{jsx as $d}from"react/jsx-runtime";var Na=Oa.createContext(null),Wt=({broadcastEvents:t,children:e})=>{let n=Oa.useMemo(()=>t,[]);return $d(Na.Provider,{value:n,children:e})},Y=()=>{let t=Gd(Na);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createAsyncThunk as Is,createSlice as Xd}from"@reduxjs/toolkit";var Qd={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},ye=t=>t.auth.isLoggedIn,Da=t=>t.auth.loginFetchState,Ha=t=>t.auth.verifyFetchState,Fa=t=>t.auth.showLoginOverlay,je=Is("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),Ba=Is("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:n}=e.extra;return n.requestLoginByEmail(t)}),Gt=Is("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:n}=e.extra;return n.verifyLoginToken(t)}),Ka=Xd({name:"auth",initialState:Qd,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(je.pending,e=>{e.loginFetchState="loading"}),t.addCase(je.fulfilled,(e,{payload:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(je.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Gt.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Gt.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Gt.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:co,setShowLoginOverlay:Ua}=Ka.actions,qa=Ka.reducer;var As="SetActiveSuggestion",gt="ShowLoginOverlay",Ls="UserLoggedIn",Se="ApplySuggestion",Ms="ApplyImageSuggestion",Zd="ShowCommandPalette",Jd=t=>({[As]:e=>{t.dispatch(Ta(e.state)),t.dispatch(he({contentType:e.contentType,suggestion:e.suggestion}))},[Zd]:e=>{t.dispatch(Z(e.isOpen)),e.page&&t.dispatch(q(e.page))},[gt]:e=>{t.dispatch(Ua(e))},[Ls]:()=>{t.dispatch(je())},[Ms]:e=>{t.dispatch(An({suggestion:e.suggestion}))},[Se]:e=>{t.dispatch(oe({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(Ae())}}),Va=Jd;import{jsx as ja}from"react/jsx-runtime";var tm=()=>{var g;let[t,e]=Yd(!1),n=Os(Ea),o=Os(_a),s=Os(pt),r=em(),i=Y(),a=E(Rs),l=()=>{n!==null&&t?window.confirm(a("warning"))&&c():c()},c=()=>{r(ks()),r(dt(!0)),r(V.actions.reset())},u=(f,x)=>{r(ks()),r(dt(!0)),i.send(Se,{text:f,suggestion:x})};if(n===null||o===null)return null;let d=(g=s[o])==null?void 0:g.suggestions.indexOf(n),p=d===0||d===null?void 0:()=>r(he({contentType:o,suggestion:s[o].suggestions[d-1]})),m=d===s[o].suggestions.length-1||d===null?void 0:()=>r(he({contentType:o,suggestion:s[o].suggestions[d+1]}));return ja(tt,{autoFocus:!0,isOpen:d!==null,onClose:l,onBack:l,contentAriaLabel:a("editContentLabel"),overlayAriaLabel:a("overlayLabel"),children:ja(ao,{onTouched:e,onDismiss:c,onUse:f=>u(f,n),suggestion:n,onNext:m,onPrevious:p})})},za=tm;import{useSelector as Qa}from"react-redux";import Ds from"classnames";import{useCallback as $a,useEffect as am,useMemo as lm,useState as Hs}from"react";import{useDispatch as cm,useSelector as um}from"react-redux";import nm from"classnames";var Wa={root:"_root_1ukx5_1"};import{jsx as sm}from"react/jsx-runtime";var om=({className:t,value:e,...n})=>{let o=y("TextInput",Wa);return sm("input",{className:nm(t,o.root),type:"text",value:e,...n})},$t=om;var Ns={};B(Ns,{enUS:()=>rm,nlNL:()=>im});var rm={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"}]},im={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 Ga={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 z,jsxs as uo}from"react/jsx-runtime";var pm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},dm=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=E(Ns),i=y("LoginTokenDialog",Ga),a=um(Ha),l=cm(),c=T("productName"),[u,d]=Hs(t||""),[p,m]=Hs(0),[g,f]=Hs(""),x=$a(async C=>{C.preventDefault(),l(Ba({email:u})),m(1)},[n,u]),b=()=>{f(""),m(0)},h=$a(async C=>{C.preventDefault();let P=pm(C.target.elements.token.value);if(!P){f(r("verifyCodeError",{login:v}));return}l(Gt({token:P}))},[n]),v=lm(()=>C=>z("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:b,children:C},"back-button"),[]);return am(()=>{a==="error"&&f(r("verifyCodeError",{login:v})),a==="done"&&o()},[a]),z(tt,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:uo("div",{className:i.root,children:[z("h1",{className:i.title,children:r("promptTitle",{productName:c})}),p===0&&uo("form",{onSubmit:x,children:[z("h2",{className:i.subtitle,children:r("requestCodeTitle")}),z("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),z($t,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:u,onChange:C=>d(C.target.value)}),z("div",{className:i.actions,children:z("button",{type:"submit",className:Ds(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&uo("form",{onSubmit:h,children:[z("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),z("p",{className:i.text,children:r("verifyCodeBody")}),z($t,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),g&&z("div",{className:i.errorMessage,children:g}),uo("div",{className:i.actions,children:[z("button",{type:"button",className:Ds(i.button),onClick:b,children:r("back")}),z("button",{type:"submit",className:Ds(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Xa=dm;import{jsx as gm}from"react/jsx-runtime";var mm=()=>{let t=Qa(Fa),e=Qa($i),n=T("adminUrl"),o=Y(),s=()=>o.send(gt,!1),r=()=>{o.send(gt,!1),o.send(Ls)};return gm(Xa,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},Za=mm;import rg from"lodash.debounce";import{useCallback as js,useEffect as wl,useState as Yt}from"react";import{useDispatch as ig,useSelector as St}from"react-redux";import{createAsyncThunk as fm,createSlice as hm}from"@reduxjs/toolkit";var ym={data:null,fetchState:"idle"},Ja=t=>t.contentTypes.data,Xt=fm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),Sm=hm({name:"contentTypes",initialState:ym,reducers:{},extraReducers:t=>{t.addCase(Xt.pending,e=>{e.fetchState="loading"}).addCase(Xt.rejected,e=>{e.fetchState="error"}).addCase(Xt.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Ya=Sm.reducer;function Qt(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 vm}from"react";function el(t,e){vm(()=>{let n=o=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?o.metaKey:o.ctrlKey)&&o.key===t&&(o.preventDefault(),o.stopPropagation(),e())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[])}import{useEffect as sl,useRef as _m}from"react";import{useSelector as Pm,useDispatch as km}from"react-redux";import{createAsyncThunk as xm,createSlice as Cm}from"@reduxjs/toolkit";var tl={data:null,fetchState:"idle"},po=t=>{var r;let e=[],{visitorName:n}=t.info.visitorInfo??{},{agentName:o,agentNickname:s}=t.info.agentInfo??{};return o&&o!==n&&e.push(o),s&&s!==n&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},re=xm("entities/getEntities",async(t,e)=>{let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra;if(!o.conversationQuery)return Promise.resolve([]);let s=o.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):n.getEntities(r)}),Tm=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),wm=Cm({name:"entities",initialState:tl,reducers:{},extraReducers:t=>{t.addCase(re.pending,e=>{e.fetchState="loading"}).addCase(re.rejected,e=>{e.fetchState="error"}).addCase(re.fulfilled,(e,n)=>{e.fetchState="done",e.data=Tm(e.data?[...e.data,...n.payload]:n.payload)}).addCase(R,()=>tl)}}),nl=wm.reducer;var Fs={};B(Fs,{enUS:()=>bm,nlNL:()=>Em});var bm={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Em={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var ol={root:"_root_17kae_1",empty:"_empty_17kae_5"};import{jsx as mo,jsxs as Im}from"react/jsx-runtime";var Rm=({onCopy:t,onUse:e})=>{let n=_m(null),o=y("EntitiesList",ol),s=E(Fs),r=Pm(po),i=km();return sl(()=>{i(re())},[]),sl(()=>{n.current&&n.current.focus()},[n]),Im("div",{className:o.root,ref:n,tabIndex:-1,children:[r&&r.length>0&&mo(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:mo(I.List,{children:r.map((a,l)=>mo(I.ListItem,{index:l,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities")}),r&&r.length===0&&mo("p",{className:o.empty,children:s("noResults")})]})},rl=Rm;import{Fragment as Dm,useEffect as go,useRef as Hm,useState as Fm}from"react";import{useSelector as pl,useDispatch as Bm}from"react-redux";import{createAsyncThunk as Am,createSlice as Lm}from"@reduxjs/toolkit";var il={data:null,fetchState:"idle"},al=t=>t.summary.data,ll=t=>t.summary.fetchState==="error",ve=Am("summary/getSummary",async(t,e)=>{let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra;if(!o.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let s=o.conversationQuery,r=await s();if(r.length===0)return Promise.reject(new Error("No messages are included"));let i=await n.getSummary(r);return{original:r,summary:i}}),Mm=Lm({name:"summary",initialState:il,reducers:{},extraReducers:t=>{t.addCase(ve.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(ve.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(ve.fulfilled,(e,n)=>{e.fetchState="done",n.payload&&(e.data=n.payload.summary)}).addCase(R,()=>il)}}),cl=Mm.reducer;var Bs={};B(Bs,{enUS:()=>Om,nlNL:()=>Nm});var Om={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."}]},Nm={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 ul={root:"_root_18y7z_1",actions:"_actions_18y7z_5",main:"_main_18y7z_11",textInput:"_textInput_18y7z_15",loading:"_loading_18y7z_34",error:"_error_18y7z_38"};import{jsx as ft,jsxs as Um}from"react/jsx-runtime";var Km=({onCopy:t})=>{let e=Hm(null),n=y("SummaryForm",ul),[o,s]=Fm(""),r=E(Bs),i=pl(al),a=pl(ll),l=Bm(),c=()=>{l(ae({name:"summary copied to clipboard",data:{originalText:i,finalText:o},options:{includeConversationData:!0}})),t(o)},u=()=>{let d=document.getSelection();d&&l(ae({name:"summary copied to clipboard",data:{originalText:i,finalText:d==null?void 0:d.toString()},options:{includeConversationData:!0}}))};return go(()=>{l(ve())},[]),go(()=>{s(i||"")},[i]),go(()=>{e.current&&i&&e.current.focus()},[e,i]),go(()=>{let d=p=>{p.key==="Enter"&&p.shiftKey&&c()};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[o]),ft("div",{className:n.root,tabIndex:-1,children:a?ft("p",{className:n.error,children:r("error")}):Um(Dm,{children:[ft("div",{className:n.main,children:ft("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:n.textInput,ref:e,value:o,onCopy:u,onChange:d=>s(d.target.value)})}),ft("div",{className:n.actions,children:ft(I.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},dl=Km;var Ks={};B(Ks,{enUS:()=>qm,nlNL:()=>Vm});var qm={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"}],knowledgeSearch:[{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?"}]},Vm={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:"Vat gesprek samen"}],summaryTitle:[{type:0,value:"Gesprek samenvatting"}],knowledgeSearch:[{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 Zm,{useEffect as vl,useRef as Jm}from"react";import{useDispatch as Ym,useSelector as xl}from"react-redux";var Us={};B(Us,{enUS:()=>jm,nlNL:()=>zm});var jm={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"}]},zm={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 ml={root:"_root_cnaw4_1",title:"_title_cnaw4_9",empty:"_empty_cnaw4_20",status:"_status_cnaw4_24",form:"_form_cnaw4_30",input:"_input_cnaw4_43",submit:"_submit_cnaw4_55",question:"_question_cnaw4_63",answer:"_answer_cnaw4_67",alignRight:"_alignRight_cnaw4_73"};import{createAction as Wm,createAsyncThunk as Gm,createSlice as $m}from"@reduxjs/toolkit";var qs={data:[],fetchState:"idle"},gl=t=>{var e;return(e=t.answer)==null?void 0:e.data},fl=t=>t.answer.fetchState,Zt=Wm("answer/resetKnowledgeSearch"),ht=Gm("answer/getAnswer",async(t,e)=>{var i;let{deepdeskAPI:n}=e.extra,o=e.getState().answer.data,s=(i=e.getState().profile.data)==null?void 0:i.code;if(!s)throw new Error("Profile is not defined");let r=await n.knowledgeSearch({promptInstruction:t.promptInstruction,question:t.question},o,s);return{question:t.question,answer:r}}),Xm=$m({name:"answer",initialState:qs,reducers:{},extraReducers:t=>{t.addCase(ht.pending,e=>{e.fetchState="loading"}).addCase(ht.rejected,e=>{e.fetchState="error"}).addCase(ht.fulfilled,(e,n)=>{e.fetchState="done",e.data=[...e.data,n.payload]}).addCase(R,()=>qs).addCase(Zt,()=>qs)}}),hl=Xm.reducer;import{jsx as yl,jsxs as Qm}from"react/jsx-runtime";var Sl=()=>Qm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[yl("title",{id:"paperPlaneTitle",children:"PaperPlane"}),yl("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 xe,jsxs as Vs}from"react/jsx-runtime";var eg=({onUse:t,onResetQuestion:e,question:n,promptInstruction:o})=>{let[s,r]=Zm.useState(""),{setSelected:i}=Oe(),a=Jm(null),l=y("EntitiesList",ml),c=E(Us),u=Ym(),d=xl(gl),p=xl(fl),m=async g=>{g.preventDefault(),g.stopPropagation(),s!==""&&u(ht({question:s,promptInstruction:o}))};return vl(()=>{var g;n&&p==="idle"?u(ht({question:n,promptInstruction:o})):(g=a.current)==null||g.focus()},[a,p]),vl(()=>{p==="done"&&(i(0),r(""))},[p,d]),Vs("div",{className:l.root,children:[d.length>0&&xe("div",{className:l.alignRight,children:xe(I.Button,{onClick:e,children:c("reset")})}),Vs(I.ActionsBar,{list:d.map(({answer:g})=>({text:g.answer,type:"answer"})),primaryLabel:c("use"),onPrimary:g=>t(g.text),children:[d.map(({question:g,answer:f},x)=>xe(I.List,{children:xe(I.ListItem,{"data-testid":"knowledge-search-answer",index:x,description:f.answer,closeOnSelect:!0,onClick:()=>t(f.answer),sources:f.sources,styles:{title:l.question,description:l.answer},children:g})},`${f.answer}_${x}`)),p==="loading"&&xe("p",{className:l.status,children:c("loading")}),p==="error"&&xe("p",{className:l.status,children:c("error")}),Vs("form",{className:l.form,onSubmit:m,children:[xe("input",{ref:a,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:s,onFocus:()=>{i(-1)},onChange:g=>{i(-1),r(g.target.value)}}),xe("button",{type:"submit",className:l.submit,children:xe(Sl,{})})]})]})]})},Cl=eg;import{createAsyncThunk as tg,createSlice as ng}from"@reduxjs/toolkit";var og={data:null,fetchState:"idle"},yt=t=>t.profile.data,fo=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Jt=tg("profile/getProfile",async(t,e)=>{let{deepdeskAPI:n}=e.extra,s=e.getState().conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return n.getProfile(s.profileCode)}),sg=ng({name:"profile",initialState:og,reducers:{},extraReducers:t=>{t.addCase(Jt.pending,e=>{e.fetchState="loading"}).addCase(Jt.rejected,e=>{e.fetchState="error"}).addCase(Jt.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Tl=sg.reducer;import{jsx as W,jsxs as El}from"react/jsx-runtime";var ag=200,lg=5,cg=4,ug=t=>t.reduce((e,n)=>[...e,...n.list.map(o=>({...o,type:n.value}))],[]),bl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),pg=()=>{let t=ig(),e=Y(),n=E(Ks),[o,s]=Yt(!1),[r,i]=Yt(""),a=St(Yi),l=St(yt),[c,u]=Yt(null),[d,p]=Yt([]),[m,g]=Yt(),f=St(ye),x=T("showSearch"),b=T("showEntitiesCommand"),h=T("showSummaryCommand"),v=T("showKnowledgeSearch"),C=T("showImageSearch"),P=T("searchTriggerKey"),w=St(Ja),N=St(ea),$=St(Ji),k=S=>jo(N.filter(A=>A.type===S.toUpperCase()),S),X=[{value:"PERSONAL",label:n("personalSuggestions"),list:k("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:n("urlSuggestions"),list:k("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:k("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:k("IMAGE"),listOrientation:"horizontal",shouldShow:C}].filter(S=>S.shouldShow),ie=[{label:n("entitiesClipboard"),onClick:()=>t(q("entities")),shouldShow:b&&bl(n("entitiesClipboard"),r),experimental:!0},{label:n("summaryClipboard"),onClick:()=>t(q("summary")),shouldShow:h&&bl(n("summaryClipboard"),r),experimental:!0},{label:r?`${n("knowledgeSearch")}: ${r}`:n("knowledgeSearch"),onClick:()=>t(q("knowledgeSearch")),shouldShow:v,experimental:!0}].filter(S=>S.shouldShow),te=(w==null?void 0:w.map(S=>({value:S.code.toUpperCase(),label:`${S.name}s`,list:k(S.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],gn=js(rg((S,A)=>{t(qe({query:S,type:A,tags:["search-overlay"]}))},ag),[]),fn=ug([...te,...X]),Lu=js((S,A)=>{if(!A)return;let Pe=[...X,...te].find(({value:Ze})=>Ze===A);Pe&&(t(q("edit")),u(S),p(Pe.list))},[t,c,te]),Vo=js((S,A)=>{switch(A.type){case"IMAGE":e.send(Ms,{suggestion:A});break;default:e.send(Se,{text:S,suggestion:A})}t(Z(!1))},[t]),Mu=S=>{Qt(S.text),t(ae({name:"entity copied",data:{entity:S,type:"copy"}})),t(Z(!1))},Ou=S=>{e.send(Se,{text:S,suggestion:{source:"knowledge-search",text:S}}),t(ae({name:"answer used",data:{originalText:S},options:{includeConversationData:!0}})),i(""),t(q("search")),t(Zt()),t(Z(!1))},Nu=S=>{Qt(S),t(Z(!1))},Du=S=>{e.send(Se,{text:S.text,suggestion:{source:"entity",text:S.text}}),t(Z(!1))},Hu=c===null||d.indexOf(c)-1<0?void 0:()=>u(d[d.indexOf(c)-1]),Fu=c===null||d.indexOf(c)===d.length-1?void 0:()=>u(d[d.indexOf(c)+1]);function jo(S,A){return S.slice(0,m?10:A.toLowerCase()==="image"?cg:lg)}function Fr(S,A,Pe){return A.reduce((Ze,hn)=>Pe&&m===Pe?hn.length+Ze:jo(hn,Pe).length+Ze,S)}function Qe(S){return A=>{o?window.confirm(n("warning"))&&(S(A),s(!1)):S(A)}}return wl(()=>{r?gn(r,m):t(so())},[r,m]),wl(()=>{f&&t(Xt())},[f]),el(P,()=>t(Z(!0))),!x||!l?null:El(I,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:Qe(S=>t(Z(S))),onChangeType:S=>g(S),onChangePage:Qe(S=>t(q(S))),selectedType:m,search:r,page:a,isOpen:$,types:[...te,...X],children:[W(I.Page,{id:"search",children:El(I.ActionsBar,{list:[...ie.map(S=>({text:S.label,type:"command"})),...fn.map(S=>({text:S.text||S.url||S.message,type:S.type}))],primaryLabel:n("use"),secondaryLabel:n("preview"),onPrimary:({text:S},A)=>Vo(S,fn[A]),onSecondary:(S,A)=>Lu(fn[A],fn[A].type),children:[ie.length>0&&W(I.List,{heading:n("commands"),children:ie.map((S,A)=>W(I.ListItem,{index:Fr(A,[],"commands"),closeOnSelect:!1,onClick:S.onClick,isExperimental:S.experimental,children:S.label},S.label))}),[...te,...X].map(({value:S,label:A,list:Pe,lineClamp:Ze,listOrientation:hn},Bu)=>W(I.List,{heading:A,orientation:hn==="horizontal"?"horizontal":"vertical",children:jo(Pe,S).map((ne,Ku)=>W(I.ListItem,{index:Fr(ie.length+Ku,[...te,...X].slice(0,Bu).map(({list:Uu})=>Uu),S),closeOnSelect:!1,lineClamp:Ze,onClick:()=>Vo(ne.text,ne),description:S!=="IMAGE"?ne.title&&ne.text:void 0,children:S==="IMAGE"?W(I.Image,{title:ne.title||ne.text,src:ne.image}):ne.title||ne.text},`${ne.id}-${ne.text}`))},S))]})}),W(I.Page,{id:"edit",onDismiss:Qe(()=>{t(q("search")),u(null)}),children:c&&W(ao,{suggestion:c,onTouched:s,onDismiss:()=>{s(!1),t(q("search")),u(null),p([])},onNext:Fu,onPrevious:Hu,onUse:S=>{t(q("search")),Vo(S,c),t(Z(!1)),p([]),u(null)}})}),W(I.Page,{id:"entities",title:n("entitiesTitle"),isExperimental:!0,onDismiss:Qe(()=>{t(q("search"))}),children:W(rl,{onUse:Du,onCopy:Mu})}),W(I.Page,{id:"summary",title:n("summaryTitle"),isExperimental:!0,onDismiss:Qe(()=>{t(q("search"))}),children:W(dl,{onCopy:Nu})}),W(I.Page,{id:"knowledgeSearch",title:n("knowledgeSearch"),isExperimental:!0,onDismiss:Qe(()=>{t(Zt()),t(q("search"))}),children:W(Cl,{promptInstruction:l.knowledgeSearchPromptInstruction,question:r,onUse:Ou,onResetQuestion:()=>{t(Zt()),i("")}})})]})},_l=pg;import{jsx as zs,jsxs as gg}from"react/jsx-runtime";var mg=()=>{let t=T("showSearch"),e=T("isEmbedded");return gg(dg,{children:[t&&zs(_l,{}),zs(za,{}),e&&zs(Za,{})]})},Pl=mg;import{Provider as fg}from"react-redux";import{jsx as ho}from"react/jsx-runtime";var hg=({children:t})=>{let n=T("locale").replace("-","");return ho(rs.Provider,{value:n,children:t})},yg=({store:t,customStyles:e={},children:n})=>ho(fg,{store:t,children:ho(hg,{children:ho(Lt.Provider,{value:e,children:n})})}),en=yg;import Ys from"classnames";import{useEffect as Yg,useRef as ef,useState as tf}from"react";import{connect as nf,useDispatch as of,useSelector as xo}from"react-redux";import{useState as Sg}from"react";function kl(t,e){let[n,o]=Sg(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return _.error(r),e}});return[n,r=>{try{let i=r instanceof Function?r(n):r;o(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){_.error(i)}}]}function yo(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:n,showSuggestionsAfterPattern:o}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?n&&new RegExp(n).test(s.substring(r.end))||o&&new RegExp(o).test(s.substring(0,r.end))?!0:n===!1&&o===!1:!1}import Cg from"classnames";import{Fragment as Tg,useCallback as Gs,useMemo as Il}from"react";var Ws={};B(Ws,{enUS:()=>vg,nlNL:()=>xg});var vg={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"}]}]},xg={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 Rl={root:"_root_1vfca_1",anchor:"_anchor_1vfca_6",anchorButton:"_anchorButton_1vfca_11"};import{jsx as So,jsxs as Al}from"react/jsx-runtime";var $s=(t,e,n)=>o=>So("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),wg=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o})=>{let s=E(Ws),r=Y(),i=y("Login",Rl),a=T("productName"),l=Gs(f=>{f.preventDefault(),o&&o(parseInt(f.target.value,10))},[]),c=Gs(f=>{f.preventDefault(),r.send(gt,!0)},[e]),u=Il(()=>f=>So("a",{href:e,className:i.anchor,target:"_blank",rel:"noreferrer",children:f},"login"),[e]),d=Gs(f=>So("button",{type:"button",className:i.anchorButton,onClick:c,children:f},"prompt"),[c]),{min:p,hour:m,day:g}=Il(()=>({min:$s(i,60*10,l),hour:$s(i,60*60,l),day:$s(i,60*60*12,l)}),[]);return Al("div",{className:Cg(t,i.root),children:[s("loginPlease",{login:n?d:u,productName:a}),o&&Al(Tg,{children:[So("br",{}),s("snooze",{min:p,hour:m,day:g})]})]})},vo=wg;import{useDispatch as bg}from"react-redux";var Ll={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};import{jsx as Ml,jsxs as _g}from"react/jsx-runtime";var Eg=({title:t})=>{let e=y("SearchTrigger",Ll),n=bg();return _g("button",{type:"button",className:e.root,onClick:()=>n(Z(!0)),children:[Ml(ct,{}),Ml("span",{className:e.text,children:t})]})},Ol=Eg;import Pg from"classnames";var Nl={root:"_root_fp74r_1",isWithDivider:"_isWithDivider_fp74r_9"};import{jsx as Rg}from"react/jsx-runtime";var kg=({withDivider:t,children:e})=>{let n=y("SuggestionList",Nl);return Rg("div",{className:Pg(n.root,{[n.isWithDivider]:t}),children:e})},Ce=kg;import{Fragment as Gg}from"react";import{Interweave as Hg}from"interweave";import{useEffect as Fg,useMemo as Bg,useRef as Kg}from"react";import{useDispatch as Ug,useSelector as qg}from"react-redux";import{useEffect as Ig}from"react";function Dl(t,e,n){Ig(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var Ag=/[.*+?^${}()|[\]\\]/g,Lg=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Mg(t){return t.replace(Ag,"\\$&")}function Og(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function Xs(t){return t.search(Lg)}function Hl(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${Mg(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function Fl(t){return t.replace(Je,'<mark data-type="placeholder">$1</mark>')}function tn(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function Ng(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 Qs(t,e,n={}){if(e){let o=Og(e.toLowerCase(),t.toLowerCase()),s=tn(t.substring(o,t.length));if(n.stripAgentPart){let l=t.substring(0,o),c=Xs(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(Br).length>3||e.length>30?Ng(e.trim(),o):0;return`${`${i>0?"\u2026":""}${tn(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var Bl={badge:"_badge_8rv7b_1",formattedText:"_formattedText_8rv7b_5"};import{jsx as Kl}from"react/jsx-runtime";var Vg=["search","personal-collection-search","studio-search"];function jg(t,e,n,o={}){let s="";return Vg.includes(e)?s=Hl(Qs(t,n,{stripAgentPart:!0}),o.searchKeywords??[n]):s=Qs(t,n,o),o.placeholders===!0&&(s=Fl(s)),s}var zg=()=>{},Wg=({index:t,selected:e,suggestion:n})=>{let o=T("inlineSuggestions"),s=qg(et),r=Ug(),i=y("TextSuggestion",Bl),a=Kg(null);Fg(()=>{let c=setTimeout(()=>{r(Yr({text:n.text,suggestion:n}))},500);return()=>{clearTimeout(c)}},[n]),Dl(a,"click",()=>{r(Ln(t)),r(oe({suggestion:n,text:n.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Bg(()=>jg(n.text,n.source,s,{stripAgentPart:o,placeholders:!0,searchKeywords:n.searchKeywords}),[o,n.text,n.source,s,n.searchKeywords]);return n.source==="gpt"?null:Kl(O,{ref:a,as:"button",selected:e,onClick:zg,children:Kl(Hg,{containerTagName:"div",noWrap:!1,tagName:"span",className:i.formattedText,content:l})})},Ul=Wg;import{jsx as ql}from"react/jsx-runtime";var $g=({suggestions:t,selectedIndex:e})=>ql(Gg,{children:t.slice().map((n,o)=>ql(Ul,{index:o,selected:o===e,suggestion:n},`${n.text}-${n.source}`)).reverse()}),Vl=$g;import Xg from"classnames";var jl={root:"_root_1wpmq_1",isCollapsed:"_isCollapsed_1wpmq_17"};import{jsx as Zs}from"react/jsx-runtime";var Qg=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=y("ToggleButton",jl);return Zs("button",{type:"button",className:Xg(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:Zs("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Zs("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},vt=Qg;var Js={};B(Js,{enUS:()=>Zg,nlNL:()=>Jg});var Zg={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"}]},Jg={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 zl={root:"_root_4kcme_1",isInline:"_isInline_4kcme_14",toggleButton:"_toggleButton_4kcme_18",toggleButtonWrapper:"_toggleButtonWrapper_4kcme_22",toggleButtonWrapperHidden:"_toggleButtonWrapperHidden_4kcme_29",isCollapsed:"_isCollapsed_4kcme_33",collapsible:"_collapsible_4kcme_33",hints:"_hints_4kcme_41",hintsHidden:"_hintsHidden_4kcme_48",triggers:"_triggers_4kcme_53",triggersRight:"_triggersRight_4kcme_68"};import{jsx as F,jsxs as nn}from"react/jsx-runtime";var sf=({inline:t=!1,textSuggestions:e,selectedIndex:n})=>{let o=y("SuggestionsOverlay",zl),s=E(Js),r=T("inlineSuggestions"),i=xo(yo),a=$r(),l=of(),c=ef(null),u=T("searchTriggerKey"),d=T("productName"),p=xo(Ra),m=xo(ye),g=xo(xn),[f,x]=tf(null),b=T("showSearch"),h=T("showTextSuggestions"),v=T("adminUrl"),C=T("isEmbedded"),[P,w]=kl("dd-snooze-until-ms",0),N=p||P>Date.now(),$=e.filter(ie=>ie.source!=="gpt").length,k=()=>{N&&w(0),l(La(!N))},X=ie=>{let te=Date.now()+ie*1e3;w(te),_.info(`Snooze until: ${new Date(te)}`),l(mt({collapse:!0}))};return Yg(()=>{$===0&&x(null)},[e,$]),rt(()=>{l(mt({collapse:!0,skipWhenInputFocus:!0}))}),r!==t||m===null||g===!1?null:m===!1?nn("div",{ref:c,className:Ys(o.root,{[o.isCollapsed]:N,[o.isInline]:t}),"data-inline":t,children:[!N&&nn("div",{className:o.triggers,children:[F("div",{style:{flex:1}}),F("div",{className:o.triggersRight,children:F(vt,{className:o.toggleButton,title:s("collapse"),onClick:k,isCollapsed:!1})})]}),F("div",{className:o.toggleButtonWrapper,children:F(vt,{className:o.toggleButton,title:s("open",{productName:d}),onClick:k,isCollapsed:!0})}),F("div",{className:o.collapsible,children:F(vo,{loginUrl:v,isEmbedded:C,onSnooze:X})})]}):!a||!i?null:nn("div",{ref:c,className:Ys(o.root,{[o.isCollapsed]:N,[o.isInline]:t}),"data-inline":t,children:[!N&&nn("div",{className:o.triggers,children:[F("div",{style:{flex:1},children:b&&F("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>x(s(no()?"searchHintMac":"searchHintWindows",{searchTriggerKey:u.toUpperCase()})),onMouseLeave:()=>x(null),children:F(Ol,{title:s("search")})})}),nn("div",{className:o.triggersRight,onFocus:()=>{},children:[F("div",{className:Ys(!f&&o.hintsHidden,o.hints),children:f}),F(vt,{className:o.toggleButton,title:s("collapse"),onClick:k,isCollapsed:!1})]})]}),F("div",{className:o.toggleButtonWrapper,children:F(vt,{className:o.toggleButton,title:s("open",{productName:d}),onClick:k,isCollapsed:!0})}),$>0&&h&&F("div",{className:o.collapsible,onFocus:()=>{},children:F(Ce,{children:F(Vl,{suggestions:e,selectedIndex:n})})})]})},rf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Co=nf(rf)(sf);import gr from"classnames";import{Interweave as ch}from"interweave";import{useCallback as uh,useEffect as ph,useMemo as gc,useRef as dh}from"react";import{connect as mh}from"react-redux";import{cloneElement as af}from"react";var lf=["div","span","mark","strong","b","i","u","em"];function er(t,e,n=0){var r;let o=t[t.length-1],s=typeof o=="object"&&o!==null?(r=o.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,o];if(lf.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),af(o,{children:er(i,e,n+1)})]}return[...t,...e]}function Te(t){return t.tagName.toLowerCase()==="textarea"}import cf from"classnames";var Wl={root:"_root_1s73o_1",isArrowUp:"_isArrowUp_1s73o_22",isArrowDown:"_isArrowDown_1s73o_23",isTab:"_isTab_1s73o_39",isEsc:"_isEsc_1s73o_44",isEnter:"_isEnter_1s73o_49"};import{jsx as pf}from"react/jsx-runtime";var uf=({className:t,keyCode:e,children:n,...o})=>{let s=y("KeyboardHint",Wl);return pf("span",{className:cf(t,s.root,{[s.isArrowUp]:e==="arrow-up",[s.isArrowDown]:e==="arrow-down",[s.isTab]:e==="tab",[s.isEsc]:e==="esc",[s.isEnter]:e==="enter"}),...o,children:n})},tr=uf;import{Matcher as Ef}from"interweave";import{Fragment as _f,useEffect as Pf}from"react";import Zl from"classnames";import{createRef as Cf,useCallback as or,useMemo as Tf,useRef as wf,useState as bf}from"react";import{useState as df,useLayoutEffect as mf}from"react";var gf=["bottom","height","left","right","top","width"],ff=(t={},e={})=>gf.some(n=>t[n]!==e[n]),we=new Map,Gl,$l=()=>{let t=[],e=[];we.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();ff(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{we.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),Gl=window.requestAnimationFrame($l)};function hf(t,e){return{observe(){let n=we.size===0;if(we.has(t)){let o=we.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else we.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&$l()},unobserve(){let n=we.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||we.delete(t),we.size||cancelAnimationFrame(Gl)}}}}function nr(t){let[e,n]=df(null);return mf(()=>{if(!t.current)return;let o=hf(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as yf,useLayoutEffect as Sf,useState as vf}from"react";import{createPortal as xf}from"react-dom";var Xl={root:"_root_1jq08_1"};var Ql=({children:t})=>{let[e,n]=vf(null),o=yf(Lt);return Sf(()=>{let s=document.createElement("div");return Ue(s),s.classList.add(Xl.root),o!=null&&o.rootNode&&s.classList.add(o==null?void 0:o.rootNode),document.body.appendChild(s),n(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?xf(t,e):null};var ue={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 sr}from"react/jsx-runtime";var xt=(t=!1)=>{let[e,n]=bf(t),o=or(()=>n(!0),[]),s=or(()=>n(!1),[]),r=or(()=>n(a=>!a),[]),i=wf(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function rr(t,e=null,n=0){if(!t)return{display:"none"};let o=e?t.top-e.top<0||t.top<e.top-n?e.top-n:t.top+t.height>e.top+e.height+n?e.top+e.height+n-t.height:t.top:t.top,s=e?t.left<e.left-n?e.left-n:t.left+t.width>e.left+e.width+n?e.left+e.width+n-t.width:t.left:t.left;return{top:o,left:s,height:t.height,width:t.width}}var Ct=({className:t,triggerRef:e,boundaryRef:n=Cf(),position:o="above",align:s="center",children:r,toStyle:i=rr,...a})=>{let l=nr(e),c=nr(n),u=Tf(()=>i(l,c,0),[l,c]);return sr(Ql,{children:sr("div",{className:Zl(ue.ref,{[ue.positionAbove]:o==="above",[ue.positionBelow]:o==="below",[ue.positionLeft]:o==="left",[ue.positionRight]:o==="right",[ue.alignStart]:s==="start",[ue.alignCenter]:s==="center",[ue.alignEnd]:s==="end"}),style:u,...a,role:"dialog",children:sr("div",{className:Zl(t,ue.root),children:r})})})};import{jsx as on,jsxs as Rf}from"react/jsx-runtime";var kf=({inputStyle:t,inputElement:e})=>{let n=y("TabCompletion",J),o=xt(document.activeElement===e);return rt(()=>o.close()),Pf(()=>{let s=()=>o.open();return e.addEventListener("focus",s),()=>{e.removeEventListener("focus",s)}},[]),Rf(_f,{children:[on("mark",{className:J.caret,ref:o.triggerRef}),o.opened&&on(Ct,{className:n.popoverSuggestionsRoot,triggerRef:o.triggerRef,position:"above",align:"start",children:on("div",{style:t,className:n.suggestionsOverlayInputStyles,children:on(Co,{inline:!0})})})]})},To=class extends Ef{charCounter=0;charLength=0;found=!1;onlyAtEnd=!1;props;onBeforeParse(e,n){var o;return this.props=n,this.charCounter=0,this.onlyAtEnd=n.inlineSuggestionsOnlyAtEnd??!1,this.charLength=(Te(n.inputElement)?n.inputElement.value.length:(o=n.inputElement.textContent)==null?void 0:o.length)??0,this.found=!1,e}match(e){if(this.found||!this.props||this.props.selection===null)return null;let[n,o]=this.props.selection;if(n!==o||this.onlyAtEnd&&n!==this.charLength)return null;let s=n,i=s>=this.charCounter&&s<=this.charCounter+e.length?{index:Xs(e.slice(0,s))+1-this.charCounter,length:0,match:"",valid:!0}:null;return i&&(this.found=!0),this.charCounter+=e.length,i??null}replaceWith(e,n){return on(kf,{inputStyle:n.inputStyle,inputElement:n.inputElement},"caret")}asTag(){return"mark"}};import Mf from"classnames";import{Matcher as Of}from"interweave";import{useEffect as Nf,useMemo as Df}from"react";function Jl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function wo(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function Yl(t){return t!=null}import If from"classnames";import{forwardRef as Af,useRef as Lf}from"react";import{jsx as ec}from"react/jsx-runtime";var bo=Af(({className:t,children:e,...n},o)=>{let s=Lf(null),r=y("TabCompletion",J);return ec("div",{ref:wo([s,o]),className:If(t,r.popoverContentContainer),...n,children:ec("div",{className:r.popoverContent,children:e})})});import{jsx as sn,jsxs as Bf}from"react/jsx-runtime";var Hf=t=>e=>{let n=rr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},Ff=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=y("TabCompletion",J),i=xt(),a=Df(()=>Hf(t.getBoundingClientRect()),[t]),[l,c]=$n(t);return Nf(()=>{c?i.open():i.close()},[c]),Bf("span",{children:[sn("mark",{ref:wo([l,i.triggerRef]),className:Mf(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&sn(Ct,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:sn(bo,{style:n,children:sn("div",{className:r.hintText,children:s})})})]})},Eo=class extends Of{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,n){return n.keywordMatches&&n.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=n.keywordMatches.map(o=>({...o,keywordRegex:new RegExp(`\\b${Jl(o.keyword)}\\b`,"i")})),this.keywordMatches=n.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let n=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(Yl);if(n.length===0)return null;let o=n.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(o.preparedKeywordMatch),o}replaceWith(e,n){return sn(Ff,{inputElement:n.inputElement,suggestion:n.suggestion,inputStyle:n.inputStyle,boundaryRef:n.boundaryRef,children:e},`keyword_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import mr from"classnames";import{Matcher as nh}from"interweave";import{createRef as oh,forwardRef as sh,useCallback as rh,useEffect as uc,useRef as pc,useState as dc}from"react";import{useDispatch as ih}from"react-redux";import{jsx as tc}from"react/jsx-runtime";var nc=()=>tc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:tc("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 $f,useEffect as ic,useState as ac}from"react";import{useDispatch as Xf,useSelector as lc}from"react-redux";import Qf from"lodash.debounce";import ar from"classnames";import Uf,{createContext as qf,useContext as lr,useEffect as Vf,useState as jf}from"react";var oc={root:"_root_vr71j_1"};import{jsx as _o,jsxs as Kf}from"react/jsx-runtime";var sc=()=>Kf("svg",{className:oc.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[_o("defs",{children:_o("style",{children:".cls-1 { fill: #b3b3b3; }"})}),_o("title",{children:"Failed loading image"}),_o("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 ir={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 Tt}from"react/jsx-runtime";var Po=qf(ir),zf=({title:t,src:e})=>{let n=lr(Po),[o,s]=jf(!1);return Vf(()=>{s(!1)},[e]),Tt("div",{className:n.imageWrapper,children:e&&!o?Tt("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):Tt(sc,{})})},Wf=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=lr(Po);return Tt("div",{className:ar(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},Gf=({as:t="h1",cropText:e=!1,className:n,children:o})=>{let s=lr(Po);return Uf.createElement(t,{className:ar(s.title,n,{[s.contentIsCropped]:e})},o)},ko=({children:t})=>{let e=y("Card",ir);return Tt("div",{className:ar(e.root),children:Tt(Po.Provider,{value:e,children:t})})};ko.Image=zf;ko.Content=Wf;ko.Title=Gf;var D=ko;var rc={root:"_root_1muu8_1",content:"_content_1muu8_7"};function Ro(t,e,n){var s;let o=((s=t.imageSizes)==null?void 0:s[e])||t.image||n;if(!o)return null;try{return new URL(o).toString()}catch{return null}}function cr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as ze,jsxs as ur}from"react/jsx-runtime";var Zf=3,Jf=t=>({image:t.image||"",text:`https://${t.text}`,id:t.id,title:t.title}),Yf=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=Zf})=>{let r=y("LinkSearch",rc),[i,a]=ac(""),l=Xf(),c=lc(ha("url")),u=lc(ta("URL",Jf)),[d,p]=ac(u.length-1),m=T("fallbackImage"),g=h=>{let v=h.target;a(v.value)},f=(h,v)=>{h.stopPropagation(),h.preventDefault(),window.open(v,"_blank")},x=h=>{var P;let v=d-1<0?u.length-1:d-1,C=d+1===u.length?0:d+1;h.code==="Escape"&&(a(""),e()),h.code==="ArrowUp"&&p(v),h.code==="ArrowDown"&&p(C),h.code==="Enter"&&t(((P=u[d])==null?void 0:P.text)||i)},b=$f(Qf(h=>{l(qe({query:h,type:"URL",tags:["link-search"]}))},300),[]);return ic(()=>{i&&b(i)},[i]),ic(()=>()=>{l(so())},[]),ur("div",{className:r.root,children:[ze(Ce,{withDivider:!0,children:(i?u:c).slice(0,s).map((h,v)=>ze(O,{selected:d===v,onClick:()=>t(h.text),"data-testid":"linksearch-suggestion",children:ur(D,{children:[ze(D.Image,{src:Ro(h,"small",m||void 0),title:h.title||h.text}),ur(D.Content,{className:r.content,cropText:!0,children:[ze(D.Title,{children:h.title||cr(h.text)}),h.title&&cr(h.text)]}),ze(O.Actions,{children:ze(O.ActionButton,{label:o,onClick:C=>f(C,h.text)})})]})},h.text))}),ze($t,{value:i,onChange:g,autoFocus:!0,placeholder:n,onKeyUp:x})]})},cc=Yf;var pr={};B(pr,{enUS:()=>eh,nlNL:()=>th});var eh={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},th={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as pe,jsxs as dr}from"react/jsx-runtime";var ah=sh((t,e)=>{let n=y("TabCompletion",J);return pe("mark",{ref:e,className:mr(n.matchSelection)},"selection-start")}),lh=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=E(pr),i=y("TabCompletion",J),a=pc(null),l=pc(null),[c,u]=dc(null),d=ih(),p=xt(document.activeElement===o),[m]=dc(()=>document.createRange());p.triggerRef.current=m,uc(()=>()=>m.detach(),[]),uc(()=>{let f=t.current,x=a.current;!f||!x||(m.setStart(f,0),m.setEnd(x,0))},[t.current,a.current]),rt(()=>{p.close()});let g=rh(f=>{let x=m.toString(),b=/^http(s?):\/\//.test(f)?f:`https://${f}`;d(Pn({text:`[${x}](${b})`}))},[]);return dr("span",{children:[pe("mark",{ref:a,className:mr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":p.opened?"true":"false",children:s}),p.opened&&pe(Ct,{className:i.popoverRoot,triggerRef:p.triggerRef,boundaryRef:e,position:"above",align:"start",children:dr(bo,{style:n,ref:l,children:[pe("div",{className:mr(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:dr("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>u("insertLink"),children:[pe(nc,{}),pe("span",{children:"\xA0"}),pe("span",{children:r("insertLink")})]})}),c==="insertLink"&&pe(cc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:g,onDismiss:()=>{u(null),p.close()}})]})})]},"selection-end")},Io=class extends nh{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,n){return this.props=n,this.charCount=0,this.startRef=oh(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[n,o]=this.props.selection;if(n===o)return null;let s=this.foundIndex===0?n:o,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,n){return n.isStart?pe(ah,{ref:this.startRef}):pe(lh,{inputElement:n.inputElement,startRef:this.startRef,boundaryRef:n.boundaryRef,inputStyle:n.inputStyle})}asTag(){return"mark"}};var mc={root:"_root_kpc8q_1",agentText:"_agentText_kpc8q_4",tabText:"_tabText_kpc8q_9",hint:"_hint_kpc8q_10",matchSelection:"_matchSelection_kpc8q_14",focus:"_focus_kpc8q_20",resetIndent:"_resetIndent_kpc8q_24",matchKeyword:"_matchKeyword_kpc8q_28",matchPlaceholder:"_matchPlaceholder_kpc8q_29",hover:"_hover_kpc8q_35",hintText:"_hintText_kpc8q_67",popover:"_popover_kpc8q_75",popoverRoot:"_popoverRoot_kpc8q_80",popoverContentContainer:"_popoverContentContainer_kpc8q_84",popoverContent:"_popoverContent_kpc8q_84",selectionOptions:"_selectionOptions_kpc8q_110",selectionOptionsIsHidden:"_selectionOptionsIsHidden_kpc8q_115",selectionOptionsButton:"_selectionOptionsButton_kpc8q_119",caret:"_caret_kpc8q_135",popoverSuggestionsRoot:"_popoverSuggestionsRoot_kpc8q_139",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_kpc8q_144"};import{jsx as rn,jsxs as hh}from"react/jsx-runtime";var gh=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=y("TabCompletion",mc),u=T("insertLink"),d=T("showMidSentenceSuggestions"),p=T("inlineSuggestions"),m=Qn(a),g=dh(null);ph(()=>{Te(a)&&m&&Zn(a,m)},[m]);let f=uh(h=>{if(!s||!n)return h;let v=[rn("span",{className:c.resetIndent,children:"\u200B"},"u200B"),rn("span",{className:gr(c.tabText,c.resetIndent),"data-source":l,children:n},"tabText")];return o&&v.push(rn(tr,{className:gr(c.hint,c.resetIndent),keyCode:"tab"},"tabHint")),er(h,v)},[s,n,o]),x=gc(()=>{let h=[];return p&&h.push(new To("inline")),u&&h.push(new Io("selection")),h.push(new st("placeholders")),r&&h.push(new Eo("keywords")),h},[p,u,r]),b=gc(()=>{let h=window.getComputedStyle(a);return{"--dd-color":h.color,"--dd-font-size":h.fontSize,"--dd-font-family":h.fontFamily,"--dd-font-variant":h.fontVariant}},[]);return t?hh("div",{ref:h=>{h!=null&&h.parentElement&&(g.current=h==null?void 0:h.parentElement)},className:gr(c.root,c.agentText),style:b,children:[rn(ch,{tagName:"span",noWrap:!1,containerTagName:"div",disableLineBreaks:Te(a),content:e||"\u200B",onAfterParse:f,matchers:x,selection:m,keywordMatches:i,inputElement:a,inputStyle:b,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!d}),rn("br",{})]}):null},fh=({input:t,ui:e,settings:n,styleSuggestions:o,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??tn(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:u}=e,{isSupported:d}=s,{showTabCompletion:p,visible:m,showStyleSuggestions:g}=n;return{showTabHint:u,showStyleSuggestions:g,showTabCompletion:p,content:l,tabText:c,source:a,keywordMatches:((f=o.list)==null?void 0:f.keywordMatches)??[],enabled:m&&d!==!1}},fc=mh(fh)(gh);import ly from"classnames";import{useEffect as cy}from"react";import{useDispatch as uy,useSelector as G}from"react-redux";import{createAsyncThunk as an,createSlice as yh}from"@reduxjs/toolkit";var hc={list:[],fetchState:"idle",isInitialRequest:null},Sc=t=>t.autoflows.list||[],yc=t=>e=>{var n;return(n=e.list)==null?void 0:n.find(o=>o.triggerPayload===t)},be=an("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");return n.getAutoflows(t)}),fr=an("autoflows/start",async(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");await o.startAutoflowSession(t),await n(be(t.platformSessionId))}),hr=an("autoflows/stop",async(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");await o.stopAutoflowSession(t.platformSessionId),await n(be(t.platformSessionId))}),Sh=yh({name:"autoflows",initialState:hc,reducers:{},extraReducers:t=>{t.addCase(fr.pending,(e,n)=>{let o=yc(n.meta.arg.triggerPayload)(e);o.state="Started",o.isBusy=!0}),t.addCase(hr.pending,(e,n)=>{let o=yc(n.meta.arg.triggerPayload)(e);o.state="Aborted",o.isBusy=!0}),t.addCase(be.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(be.rejected,e=>{e.fetchState="error"}),t.addCase(be.fulfilled,(e,n)=>{e.list=n.payload,e.fetchState="done"}),t.addCase(R,()=>hc)}}),vc=an("autoflows/openStream",(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");let s=o.openStream(t);s.on("sessionAborted",()=>{n(be(t))}),s.on("sessionCompleted",()=>{n(be(t))})}),xc=an("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.closeStream(t)}),Cc=Sh.reducer;import{createAsyncThunk as cn,createSlice as vh}from"@reduxjs/toolkit";var Tc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},wc=t=>t.customMessages.list,bc=t=>e=>!!e.customMessages.sentSuggestions.find(n=>n===t),Ec=t=>e=>!!e.customMessages.answeredSuggestions.find(n=>n===t),_c=t=>e=>!!e.customMessages.errorSuggestions.find(n=>n===t),ln=cn("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");return n.getCustomMessages(t)}),Ao=cn("customMessages/send",async(t,e)=>{let{platformSessionId:n,suggestion:o}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(n,o)}),Lo=cn("customMessages/answer",async(t,e)=>{let{platformSessionId:n,reply:o}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(n,o)}),Pc=vh({name:"customMessages",initialState:Tc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ln.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ln.rejected,e=>{e.fetchState="error"}).addCase(ln.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload||[]}).addCase(Ao.pending,(e,n)=>{e.sentSuggestions.push(n.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(o=>n.meta.arg.suggestion.text!==o)}).addCase(Ao.rejected,(e,n)=>{let o=e.sentSuggestions.indexOf(n.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(o,1))}).addCase(Lo.pending,(e,n)=>{e.sentSuggestions.push(n.meta.arg.suggestion.text),e.answeredSuggestions.push(n.meta.arg.suggestion.text)}).addCase(Lo.rejected,(e,n)=>{let o=e.answeredSuggestions.indexOf(n.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(o,1)),e.answeredSuggestions.splice(o,1)}).addCase(R,()=>Tc)}}),kc=cn("customMessages/openStream",(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.openStream(t).on("customMessageSuggestion",r=>{n(Pc.actions.onCustomMessage(r))})}),Rc=cn("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.closeStream(t)}),Ic=Pc.reducer;import{createAsyncThunk as Ac,createSlice as xh}from"@reduxjs/toolkit";var Ch={jwt:null,accountUrl:null,interval:null},Lc=t=>e=>{let{exchangeToken:{jwt:n,accountUrl:o}}=e;return n&&o?`${o}/apis/admin/session/jwt/?jwt=${n}&redirect=${t}`:null},yr=Ac("exchangeToken/getTemporaryExchangeToken",async(t,e)=>{let{deepdeskAPI:n}=e.extra,o=await n.getTemporaryExchangeToken();return{accountUrl:n.client.baseUrl,jwt:o}}),Sr=Ac("exchangeToken/pollExchangeToken",(t={},e)=>{let{interval:n=1e3*60*30}=t,{dispatch:o}=e;return o(yr()),setInterval(()=>o(yr()),n)}),Mc=xh({name:"exchangeToken",initialState:Ch,reducers:{stopPollExchangeToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(yr.fulfilled,(e,n)=>{e.jwt=n.payload.jwt,e.accountUrl=n.payload.accountUrl}),t.addCase(Sr.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollExchangeToken:Oc}=Mc.actions,Nc=Mc.reducer;function Dc(t){let{customMessages:e,autoflows:n}=t;return n.fetchState==="loading"&&n.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as Ah}from"react";import{connect as Lh}from"react-redux";import kh from"classnames";import{Fragment as Rh}from"react";import Th from"classnames";var Hc={root:"_root_838fd_1"};import{jsx as bh}from"react/jsx-runtime";var wh=({className:t,children:e})=>{let n=y("Unicode",Hc);return bh("span",{className:Th(t,n.root),children:e})},Fc=wh;var Bc={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 vr={};B(vr,{enUS:()=>Eh,nlNL:()=>_h});var Eh={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"}]},_h={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 We,jsxs as Mo}from"react/jsx-runtime";var Ih=({disabled:t,state:e,displayName:n,description:o,onStartAutoflow:s,onStopAutoflow:r})=>{let i=y("Autoflow",Bc),a=E(vr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return Mo(O,{className:kh(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[We(D,{children:Mo(D.Content,{children:[Mo(D.Title,{children:[e&&We("span",{className:i.stateBadge,children:a(e)}),n]}),We("span",{children:o})]})}),We(O.Actions,{fixed:e==="Started",children:We(O.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Mo(Rh,{children:[We(Fc,{children:c})," ",We("span",{children:a(l)})]})})})]})},Kc=Ih;import{jsx as Uc}from"react/jsx-runtime";var Mh=(t,e)=>{let n=e.filter(o=>o.state==="Started");return n.length>0?n.indexOf(t)===-1:!1},Oh=({autoflows:t,onStartAutoflow:e,onStopAutoflow:n,platformSessionId:o})=>Uc(Ah,{children:t.map(s=>Uc(Kc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||Mh(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:o,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>n({platformSessionId:o,triggerPayload:s.triggerPayload})},s.displayName))}),Nh=({autoflows:t,conversation:e})=>{var n;return{autoflows:t.list,platformSessionId:(n=e.current)==null?void 0:n.sessionId}},Dh={onStartAutoflow:fr,onStopAutoflow:hr},qc=Lh(Nh,Dh)(Oh);import{useEffect as Hh,useState as Fh}from"react";import{useDispatch as Bh}from"react-redux";import zc from"classnames";import{jsx as Vc}from"react/jsx-runtime";var xr=()=>Vc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Vc("path",{d:"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"})});var jc={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 wt,jsxs as Wc}from"react/jsx-runtime";var Kh=({entities:t})=>{let e=y("EntitiesWidgetList",jc),[n,o]=Fh(void 0),s=Bh(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),Qt(a.text),s(ae({name:"entity copied",data:{entity:a,type:"copy"}})))};return Hh(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:wt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>Wc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[wt("span",{className:e.entityText,children:a.text}),Wc("span",{className:e.iconWrapper,children:[wt("span",{className:zc(e.icon),children:wt(xr,{})}),wt("span",{className:zc(e.icon,n===l&&e.iconClicked),children:wt(xr,{})})]})]},a.text))})},Gc=Kh;import Wh from"classnames";import{useCallback as Xc}from"react";import{useDispatch as Gh,useSelector as Oo}from"react-redux";import Uh from"classnames";var $c={root:"_root_4a08n_1"};import{jsx as Vh}from"react/jsx-runtime";var qh=({className:t,children:e,...n})=>{let o=y("Label",$c);return Vh("span",{...n,className:Uh(t,o.root),children:e})},Cr=qh;var un={};B(un,{enUS:()=>jh,nlNL:()=>zh});var jh={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"}],answer:[{type:0,value:"Answer"}]},zh={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"}],answer:[{type:0,value:"Antwoord"}]};var Ee={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 Ne,jsxs as No}from"react/jsx-runtime";var $h=({suggestion:t})=>{let e=E(un),n=Gh(),o=Oo(bc(t.text)),s=Oo(Ec(t.text)),r=Oo(_c(t.text)),i=Oo(Sn),{replyOptions:a}=t,l=Xc(u=>{u.preventDefault(),u.stopPropagation(),!(o||!i)&&n(Ao({platformSessionId:i,suggestion:t}))},[t,o,n,i]),c=Xc(u=>{if(u.preventDefault(),u.stopPropagation(),!i||!a)return;let d=parseInt(u.target.dataset.index,10),p=a[d];n(Lo({platformSessionId:i,reply:p,suggestion:t}))},[t,o,n,i]);return No(O,{onClick:l,className:Wh(Ee.root,{[Ee.isUsed]:o,[Ee.hasError]:r}),children:[Ne(D,{children:No(D.Content,{children:[No(D.Title,{className:Ee.title,children:[t.text," ",Ne(Cr,{className:Ee.label,children:"analyse tool"})," ",r&&Ne("span",{className:Ee.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Ne("ul",{className:Ee.quickReplies,children:a.map(u=>Ne("li",{className:Ee.quickReply,children:u.title},u.title))})]})}),No(O.Actions,{fixed:r||o,children:[a&&a.length>0&&Ne(O.DropdownButton,{label:e("answer"),disabled:s,children:a.map((u,d)=>Ne(O.DropdownItem,{index:d,label:u.title,onClick:c},u.title))}),Ne(O.ActionButton,{primary:!0,disabled:o,onClick:l,label:e(o?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Qc=$h;import{jsx as Zc}from"react/jsx-runtime";var Jc=()=>Zc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Zc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});var Yc={root:"_root_jlggj_1",subTitleContainer:"_subTitleContainer_jlggj_5",subtitle:"_subtitle_jlggj_9",suggestions:"_suggestions_jlggj_17"};import{jsx as Tr,jsxs as Qh}from"react/jsx-runtime";var Xh=({title:t,children:e,...n})=>{let o=y("Section",Yc);return Qh("section",{...n,className:o.root,children:[t&&Tr("div",{className:o.subTitleContainer,children:Tr("span",{className:o.subtitle,children:t})}),Tr("div",{className:o.suggestions,children:e})]})},Ge=Xh;import Zh from"classnames";import Jh from"react";var eu={root:"_root_19wxp_1"};import{jsx as ey}from"react/jsx-runtime";var Yh=Jh.forwardRef(({className:t,children:e},n)=>{let o=y("SectionList",eu);return ey("div",{ref:n,className:Zh(o.root,t),children:e})}),wr=Yh;import{useSelector as oy}from"react-redux";import{useCallback as ty}from"react";import{jsx as $e,jsxs as Do}from"react/jsx-runtime";var ny=({suggestion:t,lines:e,onEdit:n,onUse:o})=>{var p;let s=t.text||t.url||t.message,r=ro(s),i=E(un),a=T("showImages"),l=T("fallbackImage"),c=m=>{m.preventDefault(),m.stopPropagation(),o(s)},u=m=>{m.preventDefault(),m.stopPropagation(),n(t)},d=ty(m=>{window.open(r,"_blank"),m.stopPropagation(),m.preventDefault()},[r]);return Do(O,{onClick:c,"data-testid":"edit-suggestion",children:[Do(D,{children:[a&&t.image&&$e(D.Image,{src:Ro(t,"small",l||void 0),title:t.title}),Do(D.Content,{children:[t.title&&$e(D.Title,{children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&$e(O.Labels,{labels:t.searchKeywords}),$e(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:s})]})]}),Do(O.Actions,{children:[r&&$e(O.ActionButton,{onClick:d,label:i("visitUrl")}),$e(O.ActionButton,{primary:!0,onClick:u,label:i("preview")}),$e(O.ActionButton,{primary:!0,onClick:c,label:i("useSuggestion")})]})]})},tu=ny;import{Fragment as ry,jsx as nu}from"react/jsx-runtime";var sy=({contentType:t,lines:e,suggestions:n})=>{let o=Y(),s=oy(pt),r=a=>{o.send(As,{state:s,suggestion:a,contentType:t})},i=(a,l)=>{o.send(Se,{text:a,suggestion:{...l,source:l.source,sourceText:l.text}})};return nu(ry,{children:n.map(a=>nu(tu,{suggestion:a,lines:e,onEdit:l=>r(l),onUse:l=>i(l,a)},a.text||a.url||a.message))})},ou=sy;var br={};B(br,{enUS:()=>iy,nlNL:()=>ay});var iy={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"}],linkPersonalcollection:[{type:0,value:"Personal Collection"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},ay={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"}],linkPersonalcollection:[{type:0,value:"Personal Collection"}],linkSummary:[{type:0,value:"Vat gesprek samen"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}]};var su={root:"_root_oym4o_1",loginText:"_loginText_oym4o_7",stateText:"_stateText_oym4o_8",sectionList:"_sectionList_oym4o_20",links:"_links_oym4o_24",link:"_link_oym4o_24"};import{jsx as ru}from"react/jsx-runtime";var iu=()=>ru("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:ru("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 au}from"react/jsx-runtime";var lu=()=>au("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:au("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 M,jsxs as bt}from"react/jsx-runtime";var Ho=(t,e)=>{let n=G(ye);cy(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},py=()=>{let t=E(br),e=uy(),n=T("isEmbedded"),o=y("Widget",su),s=T("showAutoflows"),r=T("showCustomMessages"),i=T("showPersonalCollectionLink"),a=T("showSummaryCommand"),l=T("showKnowledgeSearch"),c=T("showSearch"),u=G(yt),d=G(fo),p=G(Sc),m=G(po),g=G(wc),f=G(vn),x=G(xn),b=G(ye),h=G(Sn),v=G(Dc),C=G(pt),P=Y(),w=G(Sa),N=G(Lc("/admin/personal-collection")),$=T("adminUrl");return Ho(()=>(e(ln(h)),e(kc(h)),()=>{e(Rc(h))}),[e,x,r,h]),Ho(()=>(e(be(h)),e(vc(h)),()=>{e(xc(h))}),[e,x,s,h]),Ho(()=>{d.forEach(({type:k})=>{e(k==="entities"?re():fe(k))})},[e,x,f,u]),Ho(()=>(e(Sr()),()=>{e(Oc())}),[e,x,i,f]),x===!1?M("div",{className:o.stateText,children:M("div",{children:M("p",{children:t("notSupported")})})},"supported"):b===!1?M("div",{className:o.loginText,children:M("div",{children:M(vo,{isEmbedded:n,loginUrl:$})})},"login"):!u||!h||b===null||w||v?M("div",{className:o.stateText,children:M("div",{children:M("p",{children:t("waiting")})})},"waiting"):M("div",{className:ly(o.root),"data-testid":"widget",children:bt(wr,{className:o.sectionList,children:[M(Ge,{title:t("actions"),children:bt("div",{className:o.links,children:[c&&bt("button",{className:o.link,onClick:()=>P.send("ShowCommandPalette",{isOpen:!0}),children:[M(ct,{}),t("linkSearch")]}),a&&bt("button",{className:o.link,onClick:()=>P.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[M(lu,{}),t("linkSummary")]}),l&&bt("button",{className:o.link,onClick:()=>P.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeSearch"}),children:[M(iu,{}),t("linkKnowledgeSearch")]}),N&&bt("a",{className:o.link,target:"_blank",href:N,rel:"noreferrer",children:[M(Jc,{}),t("linkPersonalcollection")]})]})}),r&&g.length>0&&M(Ge,{"data-testid":"custom-messages",children:M(Ce,{withDivider:!0,children:g.map(k=>M(Qc,{suggestion:k},k.text))})}),s&&p.length>0&&M(Ge,{title:t("titleAutoflows"),"data-testid":"autoflows",children:M(Ce,{withDivider:!0,children:M(qc,{})})}),d.map(({type:k,title:X,amount:ie,lines:te})=>{var gn;switch(k){case"entities":return m&&m.length>0&&M(Ge,{title:X,"data-testid":`type-${k}`,children:M(Gc,{entities:m})},k);default:return((gn=C[k])==null?void 0:gn.fetchState)==="done"&&C[k].suggestions.length>0&&M(Ge,{title:X,"data-testid":`type-${k}`,children:M(Ce,{withDivider:!0,children:M(ou,{lines:te,contentType:k,suggestions:C[k].suggestions.slice(0,ie)||[]})})},k)}})]})})},cu=py;function uu(t){let e=new Range;return e.selectNodeContents(t),e}var pn=/[\u200B-\u200D\uFEFF]/g;function Et(t,e,n){let o=new Range;if(t.firstChild===null&&e===0&&n===0)return o.selectNodeContents(t),o;let s=0,r=!1;function i(l,c){let u=-1,d=/[\u200B-\u200D\uFEFF]/;if(!d.test(l))return c;for(let p=0;p<=l.length;p++)if(d.test(l[p])||u++,u===c)return p;throw new Error("Offset out of range")}function a(l){var c;switch(l.nodeType){case Node.TEXT_NODE:{let u=l.textContent,d=u.replace(pn,""),p=s+d.length,m=e>=s&&e<=p,g=n>=s&&n<=p;if(m){let f=i(u,e-s);f===0&&!g?o.setStartBefore(l):o.setStart(l,f)}g&&(o.setEnd(l,i(u,n-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(l.tagName==="BR"&&(s===e&&o.setStartBefore(l),s++,s===n)){o.setEndAfter(l),r=!0;return}for(let d=0;d<l.childNodes.length&&(a(l.childNodes[d]),!r);d++);let u=(c=l.lastChild)==null?void 0:c.tagName;l.tagName==="DIV"&&u!=="DIV"&&u!=="BR"&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function Er(t,e){if(!t.contains(e.commonAncestorContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r}=e,i,a,l=0;function c(u){let d=u===n,p=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let m=u.textContent;d&&(i=l+m.substring(0,o).replace(pn,"").length),p&&(a=l+m.substring(0,r).replace(pn,"").length),l+=m.replace(pn,"").length;break}case Node.ELEMENT_NODE:{let{tagName:m}=u,g=u.nextSibling===null;m==="BR"&&!g&&l++;for(let f=0;f<u.childNodes.length&&(d&&f===o&&(i=l),c(u.childNodes[f]),p&&f===r-1&&(a=l),a===void 0);f++);!p&&m==="DIV"&&!g&&l++,p&&(a=l);break}default:break}}if(c(t),a===void 0)throw new Error("Could not determine start and end");return{start:i??a,end:a}}function Fo(t,e){if(!t.contains(e.commonAncestorContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let u=c===n,d=c===s;switch(u&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let p=u?o:0,m=d?r:void 0,g=c.textContent.replace(pn,"");p===0&&m===void 0?a+=g:a+=g.substring(p,m);break}case Node.ELEMENT_NODE:{let{tagName:p}=c,m=c.nextSibling===null;i===0&&p==="BR"&&!m&&(a+=`
4
- `);for(let g=u?o:0;g<(d?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[g]),i!==1);g++);!d&&i===0&&p==="DIV"&&!m&&(a+=`
5
- `);break}default:break}d&&i++}return l(t),a}var _t=class extends Le{observer;getText(){let e=new Range;return e.selectNodeContents(this.element),Fo(this.element,e)}getHTML(){return this.element.innerHTML||""}getSelection(){if(document.activeElement!==this.element)return null;let e=window.getSelection();if(!e||e.rangeCount===0)return null;let n=e.getRangeAt(0);return!n||!this.element.contains(n.commonAncestorContainer)?null:Er(this.element,n)}getSelectedText(){if(!this.currentSelection)return"";let{start:e,end:n}=this.currentSelection;return Fo(this.element,Et(this.element,e,n))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let n=this.getText(),o=e(this.element);(s=this.observer)==null||s.takeRecords(),Promise.resolve(o).then(()=>{this.currentText=this.getText(),n!==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,n=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>n.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var _r=class{constructor(e){this.name=e;_.warn("BroadcastChannel is not supported")}postMessage(){}addEventListener(){}removeEventListener(){}close(){}},Pr=class{constructor(e,n){this.name=e;this.options=n;this.broadcastChannel=new this.options.broadcastChannelConstructor(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(e)}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},kr=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.iframe=this.createIframe(),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];createIframe(){let e=`deepdesk-iframe-${this.name}`,n=document.getElementById(e);if(n)return n;let o=document.createElement("iframe"),s=`${this.targetOrigin}/v2/widget/liveengage/channel.html`,r=new URLSearchParams({channel:this.name,host:window.location.origin});return this.options.debug&&r.set("debug","1"),o.style.position="absolute",o.style.left="-999em",o.style.width="0px",o.style.height="0px",o.tabIndex=-1,o.id=e,o.title=`iframe-${this.name}`,o.src=`${s}?${r.toString()}`,o}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var n;(n=this.iframe.contentWindow)==null||n.postMessage(e,this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(n=>n()),(e=this.iframe)==null||e.remove()}},Rr=class{sessionId;deepdeskUrl;channel;broadcastChannelConstructor;eventMap;isIntegration;constructor(e){this.deepdeskUrl=e.deepdeskUrl,this.broadcastChannelConstructor=e.broadcastChannelConstructor||window.BroadcastChannel||_r,this.isIntegration=e.deepdeskUrl!==(e.origin||window.location.origin),this.eventMap=e.eventMap,this.setSessionId("deepdesk-general")}setSessionId(e){if(this.sessionId===e)return;this.cleanup(),_.info("Set sessionId",e),this.sessionId=e,this.channel=this.isIntegration?new kr(e,this.deepdeskUrl,{debug:!0}):new Pr(e,{broadcastChannelConstructor:this.broadcastChannelConstructor});let n=o=>{var s,r;o.origin===this.deepdeskUrl&&o.data.type==="event"&&(_.info("Received broadcast event",this.sessionId,o),(r=(s=this.eventMap)[o.data.name])==null||r.call(s,o.data.payload))};this.channel.onMessage(n)}send(e,n){var s,r,i;if(!this.sessionId)return;_.info("broadcast event",{sessionId:this.sessionId,name:e,payload:n});let o={type:"event",name:e,payload:n};(r=(s=this.eventMap)[e])==null||r.call(s,n),(i=this.channel)==null||i.postMessage(o)}cleanup(){var e;(e=this.channel)==null||e.close(),delete this.channel}},pu=Rr;var Pt=class extends Error{constructor(n,o){super(n);this.body=o}name="CustomError"};var Ir=t=>new Promise(e=>{setTimeout(e,t)});var kt=class extends Pt{name="ClientError"},Ar=class extends Pt{name="ServerError"},_e=class t{constructor(e="",n={}){this.baseUrl=e;this.options=n;n.fetch&&(this.fetch=n.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}async request(e,n={}){let o={isStale:!1},s=`${this.baseUrl}${e}`,r=this.fetch,{abortLatest:i=!1,attempts:a=1,retryDelay:l=500,refreshTokenOn401:c=!0,retryOnError:u=C=>C instanceof TypeError,retryOnResponse:d=C=>C.status>=500,version:p="v1",...m}=n,g={credentials:"include",...m,headers:{"Content-Type":"application/json",...m.headers}};n.method!==void 0&&n.method!=="GET"&&this.csrfToken&&(g.headers={...g.headers,"X-CSRFToken":this.csrfToken}),typeof p=="string"&&(g.headers={...g.headers,"X-Deepdesk-API-Version":p});let f=a,x=!1;if(!r)throw new Error("fetch is not set");this.latestRequestByUrl[s]&&i&&(this.latestRequestByUrl[s].isStale=!0),this.latestRequestByUrl[s]=o;let b=async()=>(f--,r(s,g).then(async C=>d(C)&&!o.isStale&&f>0?(await Ir(l),b()):C.status===401&&c===!0&&x===!1?(x=!0,await this.refreshToken(),b()):C).catch(async C=>{if(u(C)&&!o.isStale&&f>0)return await Ir(l),b();throw C})),h=await b(),v=await h.json().catch(()=>null);if(o.isStale)throw new Error("Aborted");if(h.status>=500)throw new Ar("Server Error",v);if(h.status===401)throw new kt("Unauthorized",v);if(h.status===403)throw new kt("Forbidden",v);if(h.status===404)throw new kt("Not Found",v);if(h.status>=400)throw new kt("Bad Request",v);return delete this.latestRequestByUrl[s],v}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:n}=await this.get("/apis/admin/session/validate/",{version:null});return!!n}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,{method:"POST",body:JSON.stringify(n),...o})}patch(e,n,o){return this.request(e,{method:"PATCH",body:JSON.stringify(n),...o})}put(e,n,o){return this.request(e,{method:"PUT",body:JSON.stringify(n),...o})}delete(e,n){return this.request(e,{method:"DELETE",...n})}};var dy;(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||={})})(dy||={});function Bo(t){return{...L(t),tags:t.tags}}var De=class t{constructor(e,n={}){this.options=n;this.client=new _e(e,{fetch:n.fetch}),this.client.patchFetch(o=>async(s,r)=>{let i=await o(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(),_.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let n=await this.client.post("/api/conversations",{...H(e),tags:e.tags},{version:"v2"});return Bo(n)}async getProfile(e){let n=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return L(n)}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:n}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return n}async getConversationBySessionId(e,n={}){await this.preflight(),_.info(`Getting conversation for session ${e}`);let{attempts:o=1,retryDelay:s=1e3}=n,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:o,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return Bo(r)}async isConversationSupported(e,n={}){_.info(`Check if conversation for session ${e} is supported`);let{attempts:o=1,retryDelay:s=1e3}=n;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:o,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,n){let o=H(n);n.tags&&(o.tags=n.tags);let s=await this.client.put(`/api/conversations/${e}`,o,{version:"v2"});return Bo(s)}async postMessages(e,n){return(await this.client.post(`/api/conversations/${e}/messages`,n.map(s=>({...H(s),tags:s.tags})),{version:"v2"})).map(s=>Bo(s))}async sendEvent(e,n){let{data:o,...s}=n,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",H({...r,...s,data:o,name:e}),{version:"v2"})}async sendEventV1(e,n){let o=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:H({...n,...o})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(o=>o.text)})).entities}async getSummary(e){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(o=>o.text&&o.source)}})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.get(`/apis/admin/session/jwt/?jwt=${e}`,{version:null}).catch(n=>{throw _.warn(`Invalid token '${e}'`),n})}async authenticateWithKey(e,n){await this.client.post("/apis/admin/session/api-key/",H(n),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,n={},o){return o==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${o}`,H(n),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:o,type:o})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,n){return(await this.client.post(`/api/conversations/${e}/autocomplete`,H(n),{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 n=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(n).map(o=>({...o,text:o.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let n=await this.client.post("/api/style-suggestions",H(e),{abortLatest:!0});return L(n)}async search(e){let n=await this.client.post(`/api/profiles/${e.profile}/search`,H(e),{version:"v2"});return L(n)}async knowledgeSearch(e,n,o){let s=await this.client.post("/api/knowledge-search/search",H({question:e.question,promptInstruction:e.promptInstruction,profile:o,chatHistory:n.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return L(s)}async requestLoginByEmail(e){let n=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(n)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let n=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(n)}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(Kr);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&_.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};var dn=class{constructor(e,n){this.url=e;this.options={timeout:25e3,...n}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(Ts(e),n=>{let{data:o}=n;try{let s=JSON.parse(o);this.emit(e,L(s))}catch{_.warn(`Invalid JSON for ${e}: ${o}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let n=!1;e.onopen=()=>{n=!0},e.onerror=()=>{n&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(o=>{this.proxyEvent(o)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,n){this.eventListeners[e]&&this.eventListeners[e].forEach(o=>o(n))}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),this.proxyEvent(e),()=>{this.off(e,n)}}off(e,n){let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}};var my;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(my||={});var mn=class{constructor(e,n={}){this.apiUrl=e;this.client=new _e(e,n)}client;streams={};logger=_;async getCustomMessages(e){let n=await this.client.get(`/sessions/${e}/suggestions`);return L(n.suggestions)}async sendCustomMessage(e,n){let o=await this.client.post(`/sessions/${e}/messages`,H(n));return L(o)}async answerCustomMessage(e,n){await this.client.post(`/sessions/${e}/answers`,H(n))}async getAutoflows(e){let n=await this.client.get(`/sessions/${e}/autoflows`);return L(n.autoflows)}async startAutoflowSession(e){let n=await this.client.post("/autoflow-sessions",H(e));return L(n)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new dn(`${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 xy,configureStore as Cy}from"@reduxjs/toolkit";import{createSlice as gy}from"@reduxjs/toolkit";var du={startTime:null,stopTime:null},mu=gy({name:"handlingTime",initialState:du,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(R,()=>du)}}),{handlingTimeStart:gu,handlingTimeStop:Ko,handlingTimeReset:fu}=mu.actions,hu=mu.reducer;var yu=(t={})=>{let e={onAuthError:co(!1),...t};return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};import{createAsyncThunk as fy,createSlice as hy}from"@reduxjs/toolkit";var Lr={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var Xe=fy("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:n}=e.extra,o=e.getState(),{showStyleSuggestions:s}=o.settings,r=(i=o.conversation.current)==null?void 0:i.profileCode;if(!s)return Lr.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return n.getStyleSuggestions({profileCode:r,message:t})}),yy=hy({name:"styleSuggestions",initialState:Lr,reducers:{},extraReducers:t=>{t.addCase(Xe.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(Xe.rejected,e=>{e.fetchState="error"}).addCase(Xe.fulfilled,(e,n)=>{e.fetchState="done",ke(e.list,n.payload)||(e.list=n.payload)}).addCase(R,()=>Lr)}}),Su=yy.reducer;var vu=(t={})=>{let e,n=!0,o={getStyleSuggestions:Xe,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:u}=c.settings;if(!((m=c.conversation.current)==null?void 0:m.id)||!u)return l;let{text:p}=c.input;return p===a&&!n||(clearTimeout(e),p==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:p}))},t.debounce)),l}};function Sy(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var xu=(t={})=>{let e={getTextSuggestions:fe,getAutocompleteSuggestions:jt,debounce:200,check:yo,...t},n,o=!0;return s=>r=>i=>{var x;let{input:{userCommitted:a}}=s.getState(),l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{recommendTextSuggestions:u,showTabCompletion:d}=c.settings,p=(x=c.conversation.current)==null?void 0:x.id,m=i.type===lo.toString();if(!p||!u&&!d)return l;let{input:{userCommitted:g}}=c;return Sy(g,a)&&!o&&!m||(clearTimeout(n),!e.check(c))||(n=setTimeout(()=>{o=!1;let b=et(c);b===""?s.dispatch(e.getTextSuggestions("default")):s.dispatch(e.getAutocompleteSuggestions(b))},m?0:e.debounce)),l}};var Cu=Xe.fulfilled.toString();function vy(t,e){let n=new Set([...e.keywordMatches.map(s=>s.keyword)]),o=[];return n.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||o.push(...i.slice(0,a))}),o}var Tu=t=>e=>n=>o=>{var u;if(o.type!==Cu){n(o);return}let s=e.getState().styleSuggestions.list;n(o);let r=e.getState(),i=r.styleSuggestions.list,a=(u=r.conversation)==null?void 0:u.current,{agentInfo:l}=r.info;if(s===i)return;let c=vy(s,i);o.type===Cu&&c.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,agentId:l.agentId??(a==null?void 0:a.agentId),agentName:l.agentName??(a==null?void 0:a.agentName),agentEmail:l.agentEmail??(a==null?void 0:a.agentEmail),data:{keywordMatches:c}})};var Ty=xy({activeSuggestion:ka,answer:hl,auth:qa,autoflows:Cc,conversation:Wr,contentTypes:Ya,customMessages:Ic,exchangeToken:Nc,entities:nl,handlingTime:hu,info:Zi,input:Xo.reducer,overlayInput:V.reducer,settings:qr,profile:Tl,search:oa,summary:cl,styleSuggestions:Su,ui:Ma,textSuggestions:wa});function wu(t){return Cy({reducer:Ty,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),yu(),xu({debounce:200}),vu({debounce:500}),Tu(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var wy=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},by=t=>e=>n=>o=>{var a;let s=e.getState(),r=zo("inlineSuggestions")(s);switch(o.type){case he.toString():{let l=ya(o.payload.contentType)(e.getState()),c=l.indexOf(o.payload.suggestion);t.emit("edit-suggestion",{contentType:o.payload.contentType,index:c,suggestions:l});break}case oe.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:wy(o.payload.suggestion),...o.payload,replace:o.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Pn.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...o.payload,replace:o.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case At.toString():{let l=e.getState(),{text:c,selection:u}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:u},{mayApplyChanges:!0});break}case An.toString():t.emit("select-image",o.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case re.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:o.payload}});break;case ve.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{inputText:JSON.stringify(o.payload.original),summary:o.payload.summary}});break;case ae.toString():t.sendEvent(o.payload.name,{conversationId:((a=o.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:o.payload.data});break;case kn.toString():t.handleKeyDown(o.payload);break;case It.toString():t.logSendMessage(o.payload);break;case Rn.toString():t.logSendEditSuggestionMessage(o.payload);break;case In.toString():t.handleInputChanged(o.payload);break;default:break}let i=n(o);switch(o.type){case It.toString():t.handleAfterSendMessage(o.payload);break;case zt.toString():t.onUpdateShowTabHint(o.payload);break;case Ko.toString():t.logHandlingTime();break;case oe.toString():{r&&(e.dispatch(Ie([])),e.dispatch(Ae()));break}default:break}return i},bu=by;function Mr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Eu(t,e){var s,r,i;let{startTime:n,stopTime:o}=t.handlingTime;if(!n||!o)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:Mr(n),timeStop:Mr(o)}}function Or(t,e,n){var P,w,N;let{text:o,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,pastes:u,cuts:d,deletions:p,textSuggestions:m,offeredTextSuggestions:g}}=e[t],f=o.length,b=m.reduce(($,{text:k,searchTerm:X})=>$+k.length-(X?X.length:0),0),h=c??Date.now(),v=(Date.now()-h)/1e3,C=s/v;return{conversationId:e.conversation.current.id,source:"agent",text:o,clientVersion:n.version,pastes:u,cuts:d,deletions:p,lenTextTyped:s,lenTextTotal:f,lenTextAssisted:b,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:v,charsPerSecond:C,numPastes:l,textSuggestionsV2:m,suggestionsCounters:[{source:"gpt",countOffered:g.filter($=>$.source==="gpt").length}],agentId:(P=e.info.agentInfo)==null?void 0:P.agentId,agentName:(w=e.info.agentInfo)==null?void 0:w.agentName,agentEmail:(N=e.info.agentInfo)==null?void 0:N.agentEmail}}function _u(t,e){let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;return o instanceof HTMLElement?_u(o,e):null}function Pu(t,e){return _u(t,e)}function ku(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Nr(t){return t instanceof HTMLElement&&(Te(t)||Xn(t))}var Ru=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch{return e}}catch{return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch{_.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Ey(t){return t.offsetParent!==null}function Iu(t){if(!Ey(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 Dr(t,e,n=100){let o=Iu(t);e({isVisible:o});let s=setInterval(()=>{let r=Iu(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}import{jsx as ee}from"react/jsx-runtime";var Au=Ru("showTabHint",!0),qo=class t{static version="10.1.0";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:n,version:o=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new De(l,{token:r,fetch:i}),this.version=o,this.instanceId=t.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[bu({emit:(u,d,p)=>this.emit(u,d,p),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),logSendEditSuggestionMessage:u=>this.logSendEditMessage(u),onUpdateShowTabHint:u=>Au.update(u),sendEvent:(u,d)=>this.deepdeskApi.sendEvent(u,d)})]};n&&Object.assign(c,{deepdeskBrokerAPI:new mn(n)}),this.store=wu(c),this.broadcastEvents=new pu({debug:!0,deepdeskUrl:l,eventMap:Va(this.store)}),this.store.dispatch(Rt),this.store.dispatch(zt(Au.value())),this.store.dispatch(Rt({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(_.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(_.warn("Profile has not been loaded (yet)"),!0):(_.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(co(null)),this.store.dispatch(je()),new Promise(e=>{let n=this.store.subscribe(()=>{let o=this.store.getState();ye(o)&&Da(o)!=="loading"&&e()});this.unmountHandlers.push(()=>{n()})})}isLoggedIn(){return this.deepdeskApi.isLoggedIn()}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(n){_.warn("Failed to attach user:",n)}}async isConversationSupported(e,n){return(await this.store.dispatch(Go({sessionId:e,options:n}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Cn(e))).payload}async getConversationBySessionId(e,n){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Tn({sessionId:e,options:n}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch($o(e))).payload}async postMessages(e){return(await this.store.dispatch(bn(e))).payload}async updateConversation(e){return(await this.store.dispatch(wn(e))).payload}resetConversation(){this.store.dispatch(R()),this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(ve());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Rt(e))}setVisitorInfo(e){this.store.dispatch(Qi(e))}async setAgentInfo(e){await this.store.dispatch(Ut(e))}async setAgentSettings(e){await this.store.dispatch(bs(e))}async getAgentSettings(){return(await this.store.dispatch(Es())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();let e=[];return this.store.dispatch(lo()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(In(e))}syncInputHtml(e){this.store.dispatch(ri(e))}notifyKeyDown(e){this.store.dispatch(kn(e))}notifyPaste(e,n){this.store.dispatch(oi({text:e,selectionText:n}))}notifyCut(e){this.store.dispatch(ti(e))}notifyExternalSuggestion(e){this.store.dispatch(oe(e)),this.store.dispatch(Ae())}notifyEditSuggestion(e){this.store.dispatch(Ca(e.contentType,e.suggestions)),this.store.dispatch(he({contentType:e.contentType,suggestion:typeof e.index=="number"?e.suggestions[e.index]:null}))}handleInputChanged(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui;n&&o&&this.store.dispatch(mt({collapse:!1})),this.inputMediator&&this.store.dispatch(Xr({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(Ie([])))}handleKeyDown(e){let{overlayCollapsed:n}=this.state.ui,{textSuggestions:o,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=o.length>0,l=s!==-1;if(this.store.dispatch(ni(_n(e))),!(e.key!=="Tab"&&!this.settings.showTextSuggestions))switch(e.key){case"Up":case"ArrowUp":if(n||!a||!r||e.shiftKey)return;this.store.dispatch(Jr()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault();return;case"Down":case"ArrowDown":{if(n||!a||!r||e.shiftKey)return;this.store.dispatch(ei());let{selectedSuggestionIndex:c}=this.state.input;c===-1?this.store.dispatch(At()):i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault();return}case"Esc":case"Escape":{l?(this.store.dispatch(Ln(-1)),this.store.dispatch(At()),e.preventDefault()):n||(this.store.dispatch(mt({collapse:!0})),this.store.dispatch(Aa(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:c}=this.state.input,u=c.text.substring(0,c.selection.end),{tabCompletionSuggestion:d}=this.state.input;this.store.dispatch(zt(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):this.settings.showTabCompletion&&d&&d.text.startsWith(u)&&(this.store.dispatch(oe({text:d.text,suggestion:d,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Ae())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(si()),this.store.dispatch(Ie([]))}handlingTimeStart(){this.state.handlingTime.startTime||(_.info("Start handling time"),this.store.dispatch(gu()))}handlingTimeStop(){this.state.handlingTime.startTime&&(_.info("Stop handling time"),this.store.dispatch(Ko()))}logSendMessage(e){let n=Or("input",this.state,{version:this.version});e&&Object.assign(n,{text:e}),this.deepdeskApi.sendEventV1("Send Message",n),this.emit("send-message-event",n)}logSendEditMessage(e){let n=Or("overlayInput",this.state,{version:"v2"});e&&Object.assign(n,{text:e}),this.store.dispatch(Zr(this.state.overlayInput.metrics)),this.deepdeskApi.sendEvent("suggestion edited",{data:n})}logHandlingTime(){let e=Eu(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(fu())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Ae()),this.store.dispatch(It(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let n=this.state.input.selectedSuggestionIndex,{textSuggestions:o}=this.state.input;this.store.dispatch(oe({text:o[n].text,suggestion:o[n],eventMetrics:e,replace:"until-selection-end"}))}emit(e,n,o={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(n)}catch(i){_.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),_.error(i)}})};this.inputMediator&&o.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let n=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&n();let o=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==o&&(o=this.hasConversation(),o&&n())})}overlayContainerFactory(e,n,o,s){let[r,i]=Ft(o,s);return r.dataset.testid=e,n!=null&&n.rootNode&&r.classList.add(n.rootNode),this.unmountHandlers.push(()=>{Hr(r),i(),r.remove()}),r}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return Ue(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,n.appendChild(s),this.unmountHandlers.push(()=>{Hr(s),s.remove()}),s}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Nr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:o={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:u,isEmbedded:d,detectSubmit:p,insertLink:m,inputMediator:g,closestScrollSelector:f,appendOverlayTo:x,inlineSuggestions:b}=n;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:u,showTextSuggestions:i,insertLink:m,isEmbedded:d,inlineSuggestions:b});let h=f&&Pu(e,f)||void 0,v=this.overlayContainerFactory("deepdesk-tab-completion",o,e,{appendTo:x,closestScrollElement:h,mirrorOverflow:!0,onRemove:()=>this.unmount()}),C=this.overlayContainerFactory("deepdesk-suggestions-overlay",o,h||e,{appendTo:x});n.automaticHandlingTime&&this.setupHandlingTime(e),Uo(ee(en,{store:this.store,customStyles:o,children:ee(Wt,{broadcastEvents:this.broadcastEvents,children:ee(fc,{inputElement:e})})}),v),Uo(ee(en,{store:this.store,customStyles:o,children:ee(Wt,{broadcastEvents:this.broadcastEvents,children:ee(Co,{})})}),C),Uo(ee(en,{store:this.store,customStyles:o,children:ee(Wt,{broadcastEvents:this.broadcastEvents,children:ee(Pl,{})})}),this.createContainer("deepdesk-overlays")),Ue(e),this.inputMediator=g||(Te(e)?new Me(e):new _t(e)),this.inputMediator.on("change",({plainText:w})=>{this.notifyInputChanged(w)}),this.inputMediator.on("updated",({rawHtml:w})=>{w!=null&&this.syncInputHtml(w)}),this.inputMediator.on("keydown",w=>{this.notifyKeyDown(w)}),this.inputMediator.on("paste",({pastedText:w,selectionText:N})=>{this.notifyPaste(w,N)}),this.inputMediator.on("cut",({selectionText:w})=>{this.notifyCut(w)});let P;this.inputMediator.on("selection",w=>{clearTimeout(P),w===null?P=setTimeout(()=>{w!==null&&this.store.dispatch(Qo(w))},500):this.store.dispatch(Qo(w))}),this.inputMediator.on("disabled",()=>{var w;(w=this.inputMediator)==null||w.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(dt(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(dt(!0))),this.store.dispatch(Qr({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.whenConversationLoaded(()=>{var w;this.broadcastEvents.setSessionId((w=this.state.conversation.current)==null?void 0:w.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(n=>n()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,n={}){if(this.widgetRoot&&_.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,showPersonalCollectionLink:r,isEmbedded:i}=n;this.widgetRoot=e,this.configure({showImages:s,showPersonalCollectionLink:r,isEmbedded:i}),Uo(ee(en,{store:this.store,customStyles:o,children:ee(Wt,{broadcastEvents:this.broadcastEvents,children:ee(cu,{})})}),e),this.whenConversationLoaded(()=>{var a;this.broadcastEvents.setSessionId((a=this.state.conversation.current)==null?void 0:a.sessionId)})}unmountWidget(){this.widgetRoot&&Hr(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let n=Dr(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){ku(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Jt());let e=yt(this.state);e&&this.store.dispatch(Rt({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:e.knowledgeSearch,recommendTextSuggestions:e.recommendTextSuggestions}))}),this.loadProfileConfigPromise)}async checkForTrialMode(e){try{let{account:n}=await this.deepdeskApi.getPlatformConfig();if(!n.isTrial){this.shouldRender=!0;return}if(_.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(n){let{message:o}=n;_.info(o),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=fo(this.state);try{n.forEach(({type:o})=>{o==="entities"?this.store.dispatch(re()):this.store.dispatch(fe(o))})}catch(o){this.handleError(o)}}};async function _y(t,e,n={}){let{value:o}=t,{start:s,end:r}=n.replace??{start:0,end:o.length},i=`${o.slice(0,s)}${e}${o.slice(r)}`,a=n.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(n.setValue)return n.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function Py(t,e,n={}){let o=n.replace?Et(t,n.replace.start,n.replace.end):uu(t),s,r=()=>{if(n.setRange)return n.setRange(o.cloneRange());o.deleteContents(),s=document.createElement("span"),o.insertNode(s),e.split(`
6
- `).reverse().forEach((i,a)=>{a>0&&o.insertNode(document.createElement("br")),o.insertNode(document.createTextNode(i))}),o.commonAncestorContainer===t&&o.surroundContents(document.createElement("div"))};return Promise.resolve(r()).then(()=>{try{if(n.selectionAfter!==!1){t.focus();let i=n.selectionAfter?Et(t,n.selectionAfter.start,n.selectionAfter.end):(o.collapse(!1),o),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 ky(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function Ry(t,e,n){await new De(t).authenticateWithKey(e,n)}async function Iy(t){let n=await new _e(t).get("/platform/config/",{version:null});return L(n)}async function Ay(t){let n=await(t.fetch??window.fetch)(t.url),o=await n.blob();return new File([o],t.name,{type:t.mimeType??n.headers.get("Content-Type")??"image/jpeg"})}async function Ly(t,e){let n=await Ay(e),o=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[n]}),t.dispatchEvent(o)}finally{Object.hasOwn(t,"files")&&delete t.files}}export{D as Card,cd as Chip,_t as ContentEditableInput,De as DeepdeskAPI,qo as DeepdeskSDK,Le as InputMediator,Fe as InputType,tr as KeyboardHint,Cr as Label,yn as Locale,Ge as Section,wr as SectionList,He as Sources,O as Suggestion,Ce as SuggestionList,Me as TextAreaInput,vt as ToggleButton,Ly as attachFile,Ry as authenticateWithKey,Ft as createOverlayContainer,Et as createRangeFromOffsets,tn as escapeHTML,Iy as fetchPlatformConfig,ky as formatTextMarkup,Er as getRangeOffsets,Fo as getRangeText,Nr as isSupportedInputElement,Py as updateContentEditable,_y as updateTextArea,y as useStyles,Dr as waitForElementVisibilityChange};
3
+ `,Fe.MISSING_INTL_API,i);var C=n.getPluralRules(e,{type:u.pluralType}).select(p-(u.offset||0));v=u.options[C]||u.options.other}if(!v)throw new Yo(u.value,p,Object.keys(u.options),i);a.push.apply(a,Nt(v.value,e,n,o,s,p-(u.offset||0)));continue}}return ip(a)}function lp(t,e){return e?Q(Q(Q({},t||{}),e||{}),Object.keys(t).reduce(function(n,o){return n[o]=Q(Q({},t[o]),e[o]||{}),n},{})):t}function cp(t,e){return e?Object.keys(t).reduce(function(n,o){return n[o]=lp(t[o],e[o]),n},Q({},t)):t}function es(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,n){t[e]=n}}}}}function up(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:In(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.NumberFormat).bind.apply(e,vn([void 0],n,!1)))},{cache:es(t.number),strategy:Ln.variadic}),getDateTimeFormat:In(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.DateTimeFormat).bind.apply(e,vn([void 0],n,!1)))},{cache:es(t.dateTime),strategy:Ln.variadic}),getPluralRules:In(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.PluralRules).bind.apply(e,vn([void 0],n,!1)))},{cache:es(t.pluralRules),strategy:Ln.variadic})}}var Qr=function(){function t(e,n,o,s){n===void 0&&(n=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(c){var u=r.formatToParts(c);if(u.length===1)return u[0].value;var d=u.reduce(function(p,g){return!p.length||g.type!==U.literal||typeof p[p.length-1]!="string"?p.push(g.value):p[p.length-1]+=g.value,p},[]);return d.length<=1?d[0]||"":d},this.formatToParts=function(c){return Nt(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=n,this.resolvedLocale=t.resolveLocale(n),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=Vr(i,["formatters"]);this.ast=t.__parse(e,Q(Q({},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=cp(t.formats,o),this.formatters=s&&s.formatters||up(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 n=Intl.NumberFormat.supportedLocalesOf(e);return n.length>0?new Intl.Locale(n[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=qr,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 mp(t,e){return e.split(".").reduce((n,o)=>n?n[o]:void 0,t)}var gp="dummy",ts=pp(null);function E(t){let e=dp(ts);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let n=t[e]??{};return(o,s)=>{let r=mp(n,o);return r?new Qr(r).format(s):(e!==gp&&console.warn(`${o} does not exist in messages of ${e}`),`[${o}]`)}}var ns={};K(ns,{enUS:()=>fp,nlNL:()=>hp});var fp={experimental:[{type:0,value:"Experimental"}]},hp={experimental:[{type:0,value:"Experimenteel"}]};import{jsx as Jr}from"react/jsx-runtime";var Zr=({children:t})=>{let e=y("Chip",Ur);return Jr("span",{className:e.root,children:t})},An=()=>{let t=E(ns);return Jr(Zr,{children:t("experimental")})},yp=Zr;import Sp from"classnames";var Yr={root:"_root_cq1yq_1"};import{jsx as Cp}from"react/jsx-runtime";var vp={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},xp=({className:t,keyCode:e,...n})=>{let o=y("KeyboardHint",Yr);return Cp("span",{"data-key":vp[e],className:Sp(t,o.root),...n})},os=xp;import Tp from"classnames";var ei={root:"_root_4a08n_1"};import{jsx as bp}from"react/jsx-runtime";var wp=({className:t,children:e,...n})=>{let o=y("Label",ei);return bp("span",{...n,className:Tp(t,o.root),children:e})},ss=wp;var ti={root:"_root_jlggj_1",subTitleContainer:"_subTitleContainer_jlggj_5",subtitle:"_subtitle_jlggj_9",suggestions:"_suggestions_jlggj_17"};import{jsx as rs,jsxs as _p}from"react/jsx-runtime";var Ep=({title:t,children:e,type:n,...o})=>{let s=y("Section",ti);return _p("section",{...o,className:s.root,"data-section-type":n,children:[t&&rs("div",{className:s.subTitleContainer,children:rs("span",{className:s.subtitle,children:t})}),rs("div",{className:s.suggestions,children:e})]})},Be=Ep;import Pp from"classnames";import kp from"react";var ni={root:"_root_19wxp_1"};import{jsx as Ip}from"react/jsx-runtime";var Rp=kp.forwardRef(({className:t,children:e},n)=>{let o=y("SectionList",ni);return Ip("div",{ref:n,className:Pp(o.root,t),children:e})}),is=Rp;import Mn from"classnames";import Lp,{createContext as Ap,useCallback as Mp,useContext as Dt}from"react";var as={root:"_root_9kn3u_10",fadein:"_fadein_9kn3u_1",isClickable:"_isClickable_9kn3u_47",isSelected:"_isSelected_9kn3u_52",actions:"_actions_9kn3u_76",actionsIsFixed:"_actionsIsFixed_9kn3u_98",actionButton:"_actionButton_9kn3u_106",dropdownList:"_dropdownList_9kn3u_127",dropdownButton:"_dropdownButton_9kn3u_142",dropdownItem:"_dropdownItem_9kn3u_152",dropdownItemButton:"_dropdownItemButton_9kn3u_161",actionButtonIsPrimary:"_actionButtonIsPrimary_9kn3u_175",actionButtonIsDisabled:"_actionButtonIsDisabled_9kn3u_179",labels:"_labels_9kn3u_187",label:"_label_9kn3u_187"};import{jsx as de,jsxs as Fp}from"react/jsx-runtime";var et=Ap(as),Op=({fixed:t,children:e,...n})=>{let o=Dt(et);return de("div",{...n,className:Mn(o.actions,{[o.actionsIsFixed]:t}),children:e})},Np=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=Dt(et);return Fp("div",{className:Mn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,de("ul",{className:r.dropdownList,children:s})]})},Dp=({index:t,label:e,onClick:n})=>{let o=Dt(et);return de("li",{className:o.dropdownItem,children:de("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},Hp=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=Dt(et);return de("button",{type:"button",className:Mn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o??(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},ls=({labels:t})=>{let e=Dt(et);return de("div",{className:e.labels,children:t.map(n=>de("span",{className:e.label,children:n},n))})},tt=Lp.forwardRef(({className:t,selected:e,onClick:n,children:o,as:s="div",...r},i)=>{let a=y("Suggestion",as),l=Mp(c=>{c.preventDefault(),n&&n(c)},[n]);return de(s,{...r,ref:i,className:Mn(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!n}),onClick:l,children:de(et.Provider,{value:a,children:o})})});tt.Labels=ls;tt.Actions=Op;tt.ActionButton=Hp;tt.DropdownButton=Np;tt.DropdownItem=Dp;var N=tt;import Bp from"classnames";var oi={root:"_root_fp74r_1",isWithDivider:"_isWithDivider_fp74r_9"};import{jsx as Up}from"react/jsx-runtime";var Kp=({withDivider:t,children:e})=>{let n=y("SuggestionList",oi);return Up("div",{className:Bp(n.root,{[n.isWithDivider]:t}),children:e})},me=Kp;import Vp from"classnames";var si={root:"_root_1wpmq_1",isCollapsed:"_isCollapsed_1wpmq_17"};import{jsx as cs}from"react/jsx-runtime";var jp=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=y("ToggleButton",si);return cs("button",{type:"button",className:Vp(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:cs("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:cs("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},nt=jp;var ri=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,ot=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ii=/x-deepdesk-(([a-z0-9\-_])+-version)/,Ke=(p=>(p.SEARCH="search",p.TEMPLATE="template",p.ELASTIC_SEARCH="studio-search",p.GPT="gpt",p.TRIE="trie",p.TRIE_WITH_TYPOS="trie-with-typos",p.SEMANTIC="semantic",p.TEXT_RECOMMENDATION="text_recommendation",p.URL_RECOMMENDATION="url_recommendation",p.LINK_RECOMMENDATION="link_recommendation",p.PERSONAL_COLLECTION="personal-collection",p.PERSONAL_COLLECTION_SEARCH="personal-collection-search",p))(Ke||{}),Ue=(s=>(s.TAB="tab",s.ARROW="arrow",s.HOTKEY="hotkey",s.MOUSE="mouse",s))(Ue||{});import{render as Ko,unmountComponentAtNode as Hr}from"react-dom";import{Fragment as Fg}from"react";import{createSlice as zp}from"@reduxjs/toolkit";import{useSelector as qp}from"react-redux";var On=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(On||{});var Wp={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,showAutoflows:!1,showCustomMessages:!1,showImages:!1,showPersonalCollectionLink:!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,adminUrl:void 0,productName:"Deepdesk"},ai=zp({name:"settings",initialState:Wp,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s>"u"||(t[o]=s)})}}}),{set:Ht}=ai.actions,us=t=>e=>e.settings[t],T=t=>qp(us(t)),li=ai.reducer;import{useState as Em}from"react";import{useDispatch as _m,useSelector as Vs}from"react-redux";import{createAction as Ve,createSlice as ed}from"@reduxjs/toolkit";import{diffChars as td}from"diff";import{useSelector as nd}from"react-redux";function ci(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function ke(t,e,n=10){let o=typeof t,s=typeof e;if(n===0)throw new Error("Max depth deepEqual, possible circular references?");return o!==s?!1:t==null||o==="string"||o==="number"||o==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>ke(r,e[i],n-1)):ci(t)&&ci(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>ke(t[i],e[i],n-1)):!1}function Gp(t){return Math.max(...t.map(e=>e.length))}function $p(t,e){let n=t.reduce((o,s)=>{if(s){let r=o[s]?o[s]+1:1;return{...o,[s]:r}}return o},{});return Object.keys(n).reduce((o,s)=>(n[s]<e&&o.push(s),o),[])}function ui(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<Gp(o);s++){let r=$p(o.map(a=>a[s]),e),i=o.filter(a=>!r.includes(a[s]));if(i.length>=e)o=i;else return{text:o[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var Xp=2;function ps(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=ui(t,Xp);return n&&n.text!==e?n:t[0]}import{createAction as Qp,createAsyncThunk as st,createSlice as Zp}from"@reduxjs/toolkit";var pi={current:null,isSupported:null},R=Qp("resetConversation"),Nn=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},Dn=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Hn=t=>t.conversation.isSupported,ds=st("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.sessionId,t.options)}),Fn=st("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),Bn=st("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationBySessionId(t.sessionId,t.options)}),Kn=st("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Dn(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),ms=st("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationBySessionId(t.sessionId).catch(()=>null).then(o=>{if(!o)return n.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:l}=t;return n.updateConversation(o.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),Un=st("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Dn(e.getState());if(!o)throw new Error("No current conversation to update messages");return n.postMessages(o,t.map(s=>({...s})))}),Jp=[Fn.rejected,Bn.rejected,Kn.rejected,Un.rejected].map(t=>t==null?void 0:t.toString()),Yp=Zp({name:"conversation",initialState:pi,reducers:{},extraReducers:t=>{t.addCase(ds.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(Fn.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase(Bn.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase(ms.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase(Kn.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=((o=n.payload)==null?void 0:o.hasActiveProfile)??null}).addCase(Un.fulfilled,(e,n)=>{e.current&&(e.current.messages=n.payload)}).addCase(R,()=>pi).addMatcher(e=>Jp.includes(e.type),(e,n)=>{throw new Error(n.error.message)})}}),di=Yp.reducer;var Re={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,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function jn(t){let{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}=t;return{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}}var zn=Ve("input/replaceText"),qn=Ve("input/keyDown"),Ft=Ve("input/sendMessage"),Wn=Ve("input/sendEditSuggestionMessage"),Gn=Ve("input/uiInputChange"),$n=Ve("input/applyImageSuggestion"),Z=Ve("input/sendEvent");function Vn(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:n,abVariant:o,abTestName:s,trainingJobs:r,sourceText:i},eventMetrics:{inputType:a},replace:l}=t.stagedSuggestion,c=n==="search"||n==="personal-collection-search",u=c||l==="selection"?e:e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions=[...t.metrics.textSuggestions,{text:u,source:n,abVariant:o,abTestName:s,inputType:a,sourceText:i,trainingJobs:r||[],searchTerm:c?t.userCommitted.text:null}],t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var mi=t=>ed({name:t,initialState:Re,reducers:{initialInput(e,n){let{text:o,selection:s,html:r}=n.payload;e.text=o,e.selection.start=(s==null?void 0:s.start)??o.length,e.selection.end=(s==null?void 0:s.end)??o.length,e.userCommitted.text=o,e.userCommitted.selection.start=(s==null?void 0:s.start)??o.length,e.userCommitted.selection.end=(s==null?void 0:s.end)??o.length,e.html=r||null},reset(e){Object.assign(e,{...Re,selection:e.selection})},resetToCommitted(e){e.text=e.userCommitted.text,e.selection=e.userCommitted.selection,e.stagedSuggestion=null,e.tabCompletionSuggestion=ps(e.textSuggestions,e.userCommitted.text)},setInputHtml(e,n){e.html=n.payload},changeSelection(e,n){n.payload&&(ke(e.selection,n.payload)||(e.selection=n.payload,e.userCommitted.selection=e.selection,e.stagedSuggestion&&Vn(e)))},userInput(e,n){var i,a,l,c;if(e.previousKeyDownEvent){let{key:u,shiftKey:d,ctrlKey:p,metaKey:g,altKey:h}=e.previousKeyDownEvent;switch(u){case"Enter":d&&(e.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:m}=e,{text:x}=n.payload,b=td(m,x);m.length-x.length>1&&e.metrics.deletions.push(...b.filter(f=>f.removed).map(f=>f.value)),e.metrics.numCharsDeleted+=m.length-x.length;break}case"C":case"V":case"X":if(!p&&!g){e.metrics.numCharsTyped+=1;let m=((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;m&&m.length>0&&(e.metrics.numCharsDeleted+=m.length,e.metrics.deletions.push(m))}break;case"Shift":break;default:if(!p&&!g&&!h){e.metrics.numCharsTyped+=1;let m=((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;m&&m.length>0&&(e.metrics.numCharsDeleted+=m.length,e.metrics.deletions.push(m))}}}!e.metrics.agentStartedTypingTimestamp&&n.payload.text!==e.text&&(e.metrics.agentStartedTypingTimestamp=Date.now()),n.payload.text===""&&(e.metrics=Re.metrics,e.textSuggestions=[]),e.text!==n.payload.text&&Vn(e);let{text:o,html:s,selection:r}=n.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=o,e.html=s||null,e.userCommitted.text=o,e.previousKeyDownEvent=null},stageSuggestion(e,n){let{text:o}=n.payload;switch(e.stagedSuggestion=n.payload,e.tabCompletionSuggestion=void 0,n.payload.replace){case"selection":e.text=`${e.text.slice(0,e.selection.start)}${o}${e.text.slice(e.selection.end)}`,e.selection.end=e.selection.start+o.length,e.selection.start+=o.length;break;case"until-selection-end":e.text=`${o}${e.text.slice(e.selection.end)}`,e.selection.start=o.length,e.selection.end=o.length;break;default:throw new Error(`Unknown replace ${n.payload.replace}`)}n.payload.eventMetrics.inputType==="tab"&&Vn(e)},commitSuggestion(e){Vn(e)},offeredTextSuggestion(e,n){let{text:o,suggestion:{source:s}}=n.payload;e.metrics.offeredTextSuggestions.find(i=>i.text===o)||e.metrics.offeredTextSuggestions.push({text:o,source:s})},registerCut(e,n){let{metrics:o}=e,s=n.payload;e.metrics={...e.metrics,numCharsCut:o.numCharsCut+s.length,cuts:[...o.cuts,s]}},registerPaste(e,n){let{metrics:o}=e,{text:s,selectionText:r}=n.payload,i=o.numCharsDeleted+(r&&r.length?r.length:0),a=r&&r.length?[...o.deletions,r]:o.deletions;e.metrics={...e.metrics,numCharsDeleted:i,deletions:a,numCharsPasted:o.numCharsPasted+s.length,numPaste:o.numPaste+1,pastes:[...o.pastes,s]}},registerKeyDown(e,n){e.previousKeyDownEvent=n.payload},nextTextSuggestionIndex(e){let n=e.textSuggestions.length;e.selectedSuggestionIndex=e.selectedSuggestionIndex<n-1?e.selectedSuggestionIndex+1:e.selectedSuggestionIndex},previousTextSuggestionIndex(e){e.selectedSuggestionIndex=e.selectedSuggestionIndex>=0?e.selectedSuggestionIndex-1:e.selectedSuggestionIndex},setTextSuggestions(e,n){if(e.selectedSuggestionIndex=-1,e.textSuggestions=n.payload,n.payload.length===0)return;let o=e.userCommitted.text.substring(0,e.userCommitted.selection.end),s=ps(n.payload,o);e.tabCompletionSuggestion=s!=null&&s.text.includes(o)?s:void 0},setSelectedTextSuggestionIndex(e,n){e.selectedSuggestionIndex=n.payload},mergeMetrics(e,{payload:n}){e.metrics.numCharsTyped+=n.numCharsTyped,e.metrics.numCharsPasted+=n.numCharsPasted,e.metrics.numCharsCut+=n.numCharsCut,e.metrics.numCharsDeleted+=n.numCharsDeleted,e.metrics.numPaste+=n.numPaste,e.metrics.pastes.push(...n.pastes),e.metrics.deletions.push(...n.deletions)}},extraReducers:e=>{e.addCase(R,n=>{n.tabCompletionSuggestion=Re.tabCompletionSuggestion,n.previousKeyDownEvent=Re.previousKeyDownEvent,n.textSuggestions=Re.textSuggestions,n.selectedSuggestionIndex=Re.selectedSuggestionIndex,n.metrics=Re.metrics})}}),gs=mi("input"),rt=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),od=t=>t.input.selection,gi=()=>nd(od),{userInput:fi,changeSelection:fs,initialInput:hi,mergeMetrics:yi,nextTextSuggestionIndex:Si,offeredTextSuggestion:vi,previousTextSuggestionIndex:xi,registerCut:Ci,registerKeyDown:Ti,registerPaste:wi,reset:bi,resetToCommitted:Bt,setInputHtml:Ei,setSelectedTextSuggestionIndex:Xn,setTextSuggestions:Ie,stageSuggestion:ie,commitSuggestion:Le}=gs.actions,z=mi("overlay");import{useEffect as Pi,useRef as ki}from"react";var _i={root:"_root_1qp5s_1",content:"_content_1qp5s_23"};import{jsx as Ri}from"react/jsx-runtime";var sd=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,overlayAriaLabel:r,contentAriaLabel:i})=>{let a=ki(null),l=ki(null),c=y("Dialog",_i);return Pi(()=>{var p,g;let u=h=>{h.key==="Escape"&&(h.preventDefault(),h.stopPropagation(),s())},d=h=>{let m=window.getSelection();m!=null&&m.toString()||h.target===a.current&&t&&o()};return(p=a.current)==null||p.addEventListener("click",d),(g=a.current)==null||g.addEventListener("keyup",u),()=>{var h,m;(h=a.current)==null||h.removeEventListener("click",d),(m=a.current)==null||m.removeEventListener("keyup",u)}},[a,l,s,o]),Pi(()=>{var u,d;!a.current||!t||!e||(d=(u=a.current)==null?void 0:u.querySelector("input, textarea"))==null||d.focus()},[t,e,a]),t?Ri("div",{role:"dialog","data-testid":"dialog",className:c.root,"aria-label":r,ref:a,children:Ri("div",{ref:l,"data-testid":"dialog-content",className:c.content,"aria-label":i,children:n})}):null},it=sd;import{useEffect as Sa}from"react";import{useDispatch as am,useSelector as lm}from"react-redux";var hs={};K(hs,{enUS:()=>rd,nlNL:()=>id});var rd={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?"}]},id={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 Ii={root:"_root_l80t9_1",content:"_content_l80t9_3",title:"_title_l80t9_7",actions:"_actions_l80t9_15",pagination:"_pagination_l80t9_20",primaryButton:"_primaryButton_l80t9_51",primaryButtons:"_primaryButtons_l80t9_55"};import{jsx as Li,jsxs as ad}from"react/jsx-runtime";var Qn=()=>ad("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Li("title",{id:"angleLeftTitle",children:"AngleLeft"}),Li("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 Ai,jsxs as ld}from"react/jsx-runtime";var Mi=()=>ld("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleRightTitle",children:[Ai("title",{id:"angleRightTitle",children:"AngleRight"}),Ai("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 Ut,useRef as ws,useState as Ed}from"react";import{useDispatch as _d}from"react-redux";import{Interweave as Pd}from"interweave";import Xi from"classnames";var ys={root:"_root_kxnai_1",agentText:"_agentText_kxnai_3",textInput:"_textInput_kxnai_8",textInputWrapper:"_textInputWrapper_kxnai_27",alert:"_alert_kxnai_31",alertText:"_alertText_kxnai_50",warning:"_warning_kxnai_60",success:"_success_kxnai_69"};import{Matcher as dd}from"interweave";import md from"classnames";import{useEffect as cd,useRef as ud,useState as pd}from"react";function Oi(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function Zn(t){let e=ud(null),[n,o]=pd(!1);return cd(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Oi((u,d)=>{let p=e.current;if(!p)return;let g=u/r,h=d/r,m=p.getBoundingClientRect(),x=g>m.x&&g<m.x+m.width&&h>m.y&&h<m.y+m.height;x&&!s?(s=!0,o(!0)):!x&&s&&(s=!1,o(!1))},({clientX:u,clientY:d})=>[u,d]),[l,c]=Oi(()=>{s=!1,o(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,n]}var Y={root:"_root_1l8n5_1",container:"_container_1l8n5_4",agentText:"_agentText_1l8n5_7",tabText:"_tabText_1l8n5_8",hint:"_hint_1l8n5_8",matchSelection:"_matchSelection_1l8n5_12",focus:"_focus_1l8n5_18",resetIndent:"_resetIndent_1l8n5_22",matchKeyword:"_matchKeyword_1l8n5_26",matchPlaceholder:"_matchPlaceholder_1l8n5_27",hover:"_hover_1l8n5_33",hintText:"_hintText_1l8n5_66",popover:"_popover_1l8n5_74",popoverRoot:"_popoverRoot_1l8n5_79",popoverContentContainer:"_popoverContentContainer_1l8n5_83",popoverContent:"_popoverContent_1l8n5_83",selectionOptions:"_selectionOptions_1l8n5_109",selectionOptionsIsHidden:"_selectionOptionsIsHidden_1l8n5_114",selectionOptionsButton:"_selectionOptionsButton_1l8n5_118",caret:"_caret_1l8n5_134",popoverSuggestionsRoot:"_popoverSuggestionsRoot_1l8n5_138",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_1l8n5_143"};import{jsx as Ni}from"react/jsx-runtime";var gd=({inputElement:t,children:e})=>{let n=y("TabCompletion",Y),[o,s]=Zn(t);return Ni("mark",{ref:o,className:md(n.matchPlaceholder,{[n.hover]:s}),children:e})},at=class extends dd{match(e){let n=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return n?{index:n.index,length:n[0].length,match:n[0],matchString:n[0],valid:!0}:null}replaceWith(e,n){return Ni(gd,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import{useEffect as fd,useRef as hd,useState as yd}from"react";function Jn(t){return t.contentEditable==="true"}function Sd(t){let e=0,n=0,o=window.getSelection();if(o.rangeCount!==0){let s=o.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),n=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:n}}function Di(t){let{selectionStart:e,selectionEnd:n}=Jn(t)?Sd(t):t;return[e,n]}function Yn(t){let[,e]=yd(),n=hd(null);return n.current=Di(t),fd(()=>{let o=()=>{let[s,r]=n.current??[],i=Di(t);(!i||s!==i[0]||r!==i[1])&&(n.current=i,e({}))};return t.addEventListener("keyup",o),t.addEventListener("click",o),t.addEventListener("focus",o),document.addEventListener("selectionchange",o),()=>{t.removeEventListener("keyup",o),t.removeEventListener("click",o),t.removeEventListener("focus",o),document.removeEventListener("selectionchange",o)}},[t]),n.current}function eo(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(ot);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=o.indexOf(l,a);return s>c&&r<c+l.length?(n.selectionStart=c,n.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{useEffect as vd}from"react";function lt(t){vd(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function je(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var Hi,le=new Map,xd=["bottom","height","left","right","top","width"],Cd=(t={},e={})=>xd.some(n=>t[n]!==e[n]),Fi=()=>{let t=[];le.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),le.delete(n);return}let o=n.getBoundingClientRect();Cd(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{e.callbacks.forEach(n=>n(e.rect))}),le.size!==0&&(Hi=window.requestAnimationFrame(Fi))};function Bi(t,e){return{observe(){let n=le.size===0;if(le.has(t)){let o=le.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else le.set(t,{rect:void 0,callbacks:[e]});n&&Fi()},unobserve(){let n=le.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||le.delete(t),le.size||cancelAnimationFrame(Hi)}}}}var Ki,ce=new Map,Ui=()=>{ce.forEach((t,e)=>{if(!e.isConnected){ce.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ce.size!==0&&(Ki=window.requestAnimationFrame(Ui))};function Vi(t,e){return{observe(){let n=ce.size===0;ce.has(t)?ce.get(t).callbacks.push(e):ce.set(t,{visible:void 0,callbacks:[e]}),n&&Ui()},unobserve(){let n=ce.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||ce.delete(t),ce.size||cancelAnimationFrame(Ki)}}}}var Ss=["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 vs(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function ct(t){return parseFloat(t)}function to(t){return Math.round(t*1e6)}function ji(t){return t/1e6}function xs(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=ct(t.width),r=ct(t.borderLeftWidth),i=ct(t.borderRightWidth),a=ct(t.paddingRight),l=ji(to(s)-to(r)-to(i)),c=ji(to(o));if(l-c>2){let u=l-c;n.style.paddingRight=`${a+u}px`}}function Kt(t,e={}){var l;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position="fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",je(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};vs(o,n,Ss),xs(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=Vi(t,()=>{vs(o,n,Ss),xs(o,t,n),r(),setTimeout(r,0)}),a=Bi(t,c=>{if(c===null){e.onRemove&&e.onRemove(),n.remove();return}if(c.height===0&&c.width===0){if(s===!0)return;e.onHide&&e.onHide(),n.style.display="none",s=!0;return}if(vs(o,n,Ss),xs(o,t,n),r(),n.style.top=`${c.top}px`,n.style.left=`${c.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let u=e.closestScrollElement.getBoundingClientRect(),d=window.getComputedStyle(e.closestScrollElement),p=ct(d.borderTopWidth),g=ct(d.borderBottomWidth),h=u.top+p-c.top,m=c.top+c.height+-(u.top+u.height-g);n.style.clipPath=`inset(${h}px 0px ${m}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(l=t.parentElement)==null||l.appendChild(n),a.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),a.unobserve(),i.unobserve()}]}var Cs={};K(Cs,{enUS:()=>Td,nlNL:()=>wd});var Td={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"}]},wd={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 zi,jsxs as bd}from"react/jsx-runtime";var qi=()=>bd("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 512 512","aria-labelledby":"circleCheckTitle",children:[zi("title",{id:"circleCheckTitle",children:"Check"}),zi("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 Wi}from"react/jsx-runtime";var Gi=()=>Wi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:Wi("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 $i=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))($i||{}),Ae=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentHTML="";currentSelection=null;isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}triggerChange(){let e=this.getText(),n=this.getHTML(),o=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&o&&!this.isSubmitting&&this.emit("change",{plainText:e,rawHtml:n}),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==n||n===null&&o)&&(this.emit("updated",{plainText:e,rawHtml:n}),this.currentHTML=n))}handleKeyUp(e){let{key:n,shiftKey:o}=e;(n==="Enter"&&o===!0||n==="Backspace")&&this.triggerChange()}handleFocus(){this.isFocused||this.emit("focus"),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values($i).includes(n)||n.toLowerCase()==="z"&&(o||s),this.emit("keydown",e)}handleCut(){let e=this.currentSelection;this.isPossibleClearInputAction=!0,e&&this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){let n=(e.clipboardData||window.clipboardData).getData("text");this.emit("paste",{pastedText:n,selectionText:this.getSelectedText()})}listen(){let e=()=>{let o=document.activeElement===this.element?this.getSelection():null;ke(this.currentSelection,o)||(this.currentSelection=o,this.emit("selection",o))};document.addEventListener("selectionchange",e),this.disposeHandlers.push(()=>{window.document&&document.removeEventListener("selectionchange",e)}),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)),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let n=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});n.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{n.disconnect()})}focus(){this.element.focus()}emit(e,...n){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(o=>{o(...n)})}on(e,n){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n))}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 Me=class extends Ae{getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:n}=this.element;return{start:e,end:n}}getSelectedText(){return this.currentSelection?this.getText().slice(this.currentSelection.start,this.currentSelection.end):""}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let n=this.getText(),o=e(this.element);Promise.resolve(o).then(()=>{this.currentText=this.getText(),n!==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 n=this.element.disabled,o=new MutationObserver(()=>{this.element.disabled!==n&&(n=this.element.disabled,this.emit(n?"disabled":"enabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>o.disconnect())}};import{jsx as ge,jsxs as Ts}from"react/jsx-runtime";var kd=({value:t,onUse:e,...n})=>{var u;let o=E(Cs),s=_d(),r=y("EditSuggestionTextInput",ys),[i,a]=Ed(null),l=ws(null),c=((u=t.match(ot))==null?void 0:u.length)||0;return Ut(()=>{let d;return l.current&&(a(l.current),d=new Me(l.current),d.on("change",({plainText:p})=>{s(z.actions.userInput({text:p,selection:d.getSelection()}))}),d.on("keydown",p=>{s(z.actions.registerKeyDown(jn(p))),p.code==="Enter"&&p.shiftKey&&e(d.getText())}),d.on("paste",({pastedText:p,selectionText:g})=>{s(z.actions.registerPaste({text:p,selectionText:g}))}),d.on("cut",({selectionText:p})=>{s(z.actions.registerCut(p))})),()=>{s(z.actions.reset()),d.dispose(),d.deactivate()}},[l]),Ut(()=>{t&&l.current&&(l.current.value=t)},[t,l]),Ut(()=>{l.current&&setTimeout(()=>{if(!l.current)return;let d=l.current.value.length;l.current.setSelectionRange(d,d),l.current.focus()},0)},[l]),Ts("div",{className:r.textInputWrapper,children:[ge("textarea",{...n,ref:l,"data-testid":"edit-suggestion-dialog-textarea",className:r.textInput,defaultValue:t,onChange:()=>{}}),i&&ge(Rd,{inputElement:l.current,value:t}),Ts("div",{className:Xi(r.alert,c===0?r.success:r.warning),children:[ge("div",{className:r.alertText,children:o("placeholders",{placeholderSize:c})}),c===0?ge(qi,{}):ge(Gi,{})]})]})},Rd=({inputElement:t,value:e})=>{let n=y("EditSuggestionTextInput",ys),o=ws(null),s=Yn(t);return Ut(()=>{eo(t,s)},[s,t]),ge(Id,{inputElement:t,children:Ts("div",{ref:o,className:Xi(n.root,n.agentText),children:[ge(Pd,{tagName:"span",disableLineBreaks:!0,content:e,matchers:[new at("placeholders")],inputElement:t,boundaryRef:o}),ge("br",{})]})})},Id=({inputElement:t,children:e})=>{let n=ws(null);return Ut(()=>{if(!n.current)return()=>{};let[o,s]=Kt(t,{overlayContainer:n.current,mirrorOverflow:!0});return()=>{s()}},[n.current]),ge("div",{ref:n,children:e})},Qi=kd;import{useEffect as om,useState as sm,useRef as rm}from"react";var q={root:"_root_m5usm_1",list:"_list_m5usm_2",listWrapper:"_listWrapper_m5usm_6",listHorizontal:"_listHorizontal_m5usm_10",page:"_page_m5usm_19",search:"_search_m5usm_25",pageNav:"_pageNav_m5usm_33",pageTitle:"_pageTitle_m5usm_41",pageBackButton:"_pageBackButton_m5usm_48",listHeading:"_listHeading_m5usm_62",listItem:"_listItem_m5usm_70",listItemContent:"_listItemContent_m5usm_79",listItemText:"_listItemText_m5usm_97",listItemDescription:"_listItemDescription_m5usm_105",truncate:"_truncate_m5usm_112",lineClamp:"_lineClamp_m5usm_118",listItemTitle:"_listItemTitle_m5usm_125",listItemAction:"_listItemAction_m5usm_132",listItemPrimaryAction:"_listItemPrimaryAction_m5usm_146",listItemSelected:"_listItemSelected_m5usm_151",sources:"_sources_m5usm_155",sourcesTitle:"_sourcesTitle_m5usm_162",source:"_source_m5usm_155",icon:"_icon_m5usm_177",searchIcon:"_searchIcon_m5usm_194",searchInputWrapper:"_searchInputWrapper_m5usm_199",searchInput:"_searchInput_m5usm_199",select:"_select_m5usm_220",selectType:"_selectType_m5usm_237",selectWrapper:"_selectWrapper_m5usm_241",image:"_image_m5usm_271",imageSrc:"_imageSrc_m5usm_278",imageTitle:"_imageTitle_m5usm_289",actions:"_actions_m5usm_294",actionsWrapper:"_actionsWrapper_m5usm_298",actionsBar:"_actionsBar_m5usm_304",actionButton:"_actionButton_m5usm_313",actionShortcut:"_actionShortcut_m5usm_331",actionShortcutFixKerning:"_actionShortcutFixKerning_m5usm_338"};import{jsx as Zi,jsxs as Ad}from"react/jsx-runtime";var Ld=({src:t,title:e})=>{let n=y("CommandPalette",q);return Ad("div",{className:n.image,children:[Zi("img",{src:t,alt:e,className:n.imageSrc}),e&&Zi("span",{className:n.imageTitle,children:e})]})},Ji=Ld;import Md from"react";import Od from"classnames";import{jsx as Yi,jsxs as Nd}from"react/jsx-runtime";function bs({children:t,heading:e,orientation:n}){let o=y("CommandPalette",q);return Md.Children.count(t)===0?null:Nd("div",{"data-testid":"commandpalette-list",className:o.list,children:[e&&Yi("h4",{className:o.listHeading,children:e}),Yi("div",{className:Od(o.listWrapper,n==="horizontal"&&o.listHorizontal),children:t})]})}import no from"classnames";import Es from"react";import{jsx as Dd}from"react/jsx-runtime";var ea=Es.createContext(void 0);function Oe(){let t=Es.useContext(ea);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ta=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=Es.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return Dd(ea.Provider,{value:i,children:t})};import{jsx as ut,jsxs as oo}from"react/jsx-runtime";function _s({closeOnSelect:t=!0,lineClamp:e,children:n,onClick:o,onSourceClick:s,index:r,isExperimental:i,description:a,sources:l,styles:c,...u}){let{selected:d,onChangeOpen:p}=Oe(),g=y("CommandPalette",q);function h(m){o(m),t&&p(!1)}return oo("div",{className:no(g.listItem,d===r&&g.listItemSelected),children:[oo("button",{type:"button",className:no("command-palette-list-item",g.listItemAction,g.listItemPrimaryAction),"aria-disabled":u.disabled??!1,onClick:h,...u,children:[oo("div",{className:g.listItemContent,children:[typeof n=="string"?ut("p",{className:no(g.listItemText,g.truncate,c==null?void 0:c.title),children:n}):n,a&&ut("p",{className:no(g.listItemDescription,c==null?void 0:c.description,e?g.lineClamp:g.truncate),children:a})]}),i&&ut(An,{})]}),l&&oo("div",{className:g.sources,children:[ut("span",{className:g.sourcesTitle,children:"Sources"}),l.map(m=>m.url?ut("a",{className:g.source,href:m.url,target:"_blank",title:m.url,rel:"noopener noreferrer",onClick:()=>s&&s(m),children:m.name},m.url):ut("span",{className:g.source,children:m.name},m.name))]})]})}var Vt={};K(Vt,{enUS:()=>Hd,nlNL:()=>Fd});var Hd={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}]},Fd={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}]};import{jsx as Ps,jsxs as ks}from"react/jsx-runtime";function Rs({children:t,title:e,id:n,onDismiss:o,isExperimental:s}){let r=E(Vt),i=y("CommandPalette",q),{page:a}=Oe();return a!==n?null:ks("div",{className:i.page,id:`page_${n}`,tabIndex:-1,children:[o&&ks("div",{className:i.pageNav,children:[ks("button",{className:i.pageBackButton,type:"button",onClick:o,children:[Ps(Qn,{}),r("back")]}),e&&Ps("h3",{className:i.pageTitle,children:e}),s&&Ps(An,{})]}),t]})}import{Fragment as Xd,useCallback as Qd,useEffect as Zd,useRef as Jd}from"react";var so=()=>/Mac/i.test(navigator.platform);import{createAsyncThunk as jd,createSlice as zd}from"@reduxjs/toolkit";var Bd={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},_=Bd;import{createAsyncThunk as Ls,createSlice as Ud}from"@reduxjs/toolkit";function Kd(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function A(t){return Array.isArray(t)?t.map(A):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>({...e,[Kd(n)]:A(t[n])}),{}):t}function Is(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function F(t){return Array.isArray(t)?t.map(F):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>({...e,[Is(n)]:F(t[n])}),{}):t}var Vd={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},zt=t=>{var e,n,o;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((n=t.info.agentInfo)==null?void 0:n.agentNickname)||"",visitorName:((o=t.info.visitorInfo)==null?void 0:o.visitorName)||""}},jt=Ls("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:n}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let o=await n.client.get("/apis/admin/session/me/",{version:null}),s={};return o.external_id||(s.external_id=t.agentId),o.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?A(o):(await n.client.patch("/apis/admin/session/me/",s,{version:null}),A(o))}),As=Ls("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:n}=e.extra,o=await n.client.get("/apis/admin/session/me/",{version:null}),s={...typeof o.ui_config=="object"?o.ui_config:{},...t};return await n.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),Ms=Ls("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:n}=e.extra;return(await n.client.get("/apis/admin/session/me/",{version:null})).ui_config}),na=t=>t.info.agentInfo,oa=Ud({name:"info",initialState:Vd,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(jt.pending,(e,n)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...n.meta.arg}}).addCase(jt.rejected,e=>{e.fetchState="error"}).addCase(jt.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...n.meta.arg,agentId:n.payload.externalId||n.meta.arg.agentId||"",agentNickname:n.payload.nickname||n.meta.arg.agentNickname||""}}).addCase(As.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(Ms.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(R,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:sa}=oa.actions,ra=oa.reducer;var ro={list:[],fetchState:"idle",isOpen:!1,page:"search"},ia=t=>t.search.isOpen,aa=t=>t.search.page,la=t=>t.search.list;function ca(t,e=n=>n){return n=>n.search.list.filter(o=>o.type===t).map(e)}var ze=jd("search/getAll",async(t,e)=>{var i;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(i=o.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 n.search({profile:s,query:t.query,filters:{type:t.type},params:zt(o),tags:t.tags});return r}),ua=zd({name:"search",initialState:ro,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=ro.fetchState,t.list=ro.list}},extraReducers:t=>{t.addCase(ze.pending,e=>{e.fetchState="loading"}).addCase(ze.rejected,(e,n)=>{e.fetchState="error",_.error(n.error)}).addCase(ze.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload}).addCase(R,()=>ro)}}),{resetSearch:io,setIsOpen:J,setPage:j}=ua.actions,pa=ua.reducer;var qd=/(https?:\/\/[^\s]+)/,ao=t=>t.split(" ").find(e=>qd.test(e));import da from"classnames";import{jsx as Gd,jsxs as $d}from"react/jsx-runtime";var Wd=({onClick:t,shortKeys:e,children:n,...o})=>{let s=y("CommandPalette",q);return $d("button",{type:"button",...o,onClick:t,className:da(s.actionButton,o.className),children:[n,e&&e.map(r=>Gd("span",{className:da(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},pt=Wd;import{jsx as lo,jsxs as Os}from"react/jsx-runtime";var Yd=({children:t,primaryLabel:e,secondaryLabel:n,onPrimary:o,onSecondary:s,list:r})=>{let i=y("CommandPalette",q),a=E(Vt),{selected:l,setSelected:c}=Oe(),u=r[l],d=u&&typeof u.text=="string"&&ao(u.text),p=Jd(null);function g(v){if(!p.current)return;let C=p.current.querySelectorAll(".command-palette-list-item"),P=0,w=0;v==="down"?(C.forEach((X,D)=>{D===l&&(P=D)}),w=P===C.length-1?0:P+1):v==="up"?(C.forEach((X,D)=>{D===l&&(P=D)}),w=P?P-1:C.length-1):c(0);let O=C[w];O&&typeof w=="number"&&(c(w),O.scrollIntoView&&O.scrollIntoView({behavior:"smooth",block:w?"center":"end"}))}function h(){if(!p.current)return;let v=p.current.querySelectorAll(".command-palette-list-item"),C=0;v.forEach((w,O)=>{O===l&&(C=O)});let P=v[C];P&&P.click()}let m=()=>{d&&window.open(d,"_blank")},x=()=>{u&&o(u,l)},b=()=>{!u.type||["IMAGE","command"].includes(u.type)||s&&s(u,l)},f=Qd(v=>{if(v.key==="Enter"&&v.altKey&&d){m();return}if(v.key==="Enter"&&v.shiftKey){b();return}if(v.key==="ArrowDown"){v.preventDefault(),v.stopPropagation(),g("down");return}if(v.key==="ArrowUp"){v.preventDefault(),v.stopPropagation(),g("up");return}v.key==="Enter"&&l!==-1&&(v.preventDefault(),v.stopPropagation(),h())},[l]);return Zd(()=>(window.addEventListener("keyup",f),()=>{window.removeEventListener("keyup",f)}),[f]),Os("div",{className:i.actions,children:[lo("div",{className:i.actionsWrapper,ref:p,children:t}),Os("div",{className:i.actionsBar,children:[d&&lo(pt,{onClick:m,shortKeys:[so()?8997:"ALT",8629],children:a("visitUrl")}),u&&Os(Xd,{children:[s&&u.type&&!["command","image"].includes(u.type.toLowerCase())&&lo(pt,{onClick:b,shortKeys:[8679,8629],children:n}),lo(pt,{onClick:x,shortKeys:[8629],children:e})]})]})]})},ga=Yd;import{forwardRef as tm}from"react";import{jsx as fa,jsxs as em}from"react/jsx-runtime";var dt=()=>em("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[fa("path",{d:"M0 0h24v24H0z",fill:"none"}),fa("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as mt,jsxs as Ns}from"react/jsx-runtime";function nm({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let l=y("CommandPalette",q);return Ns("div",{className:l.search,children:[mt("div",{className:l.searchIcon,children:mt(dt,{})}),Ns("div",{className:l.searchInputWrapper,children:[mt("input",{ref:a,spellCheck:!1,onChange:c=>{t(c.currentTarget.value)},onFocus:c=>{c.currentTarget.select()},className:l.searchInput,placeholder:n,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&mt("div",{className:l.selectWrapper,children:Ns("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:c=>e(c.target.value===o?void 0:c.target.value),value:i||o,children:[o&&mt("option",{children:o}),s.map(c=>mt("option",{value:c.value,children:c.label},c.value))]})})]})]})}var ha=tm(nm);import{jsx as ya,jsxs as im}from"react/jsx-runtime";function qe({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:n="search",page:o,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:u,isOpen:d,search:p}){let[g,h]=sm(0),m=rm(null),x=()=>{s&&s(n),i(void 0),r(""),a(!1)},b=()=>{var f;if(o!==n&&s){s(n);return}if(l&&i){i(void 0),(f=m.current)==null||f.focus();return}if(p.length>0){r("");return}a(!1)};return om(()=>{h(0)},[p,o]),ya(it,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:d,onBack:b,onClose:x,children:im(ta,{selected:g,setSelected:h,isOpen:d,onChangeOpen:a,page:o,children:[o===n&&ya(ha,{ref:m,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:l,types:c,typePlaceholder:e}),u]})})}qe.Page=Rs;qe.List=bs;qe.Image=Ji;qe.ListItem=_s;qe.ActionsBar=ga;qe.Button=pt;var I=qe;import{jsx as fe,jsxs as qt}from"react/jsx-runtime";var cm=({suggestion:t,onUse:e,onDismiss:n,onTouched:o,onNext:s,onPrevious:r})=>{let i=t.text||t.url||t.message,a=y("EditSuggestionForm",Ii),l=am(),c=E(hs),u=lm(h=>h.overlayInput.text);Sa(()=>{t&&(l(z.actions.reset()),l(z.actions.stageSuggestion({text:i,suggestion:t,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"})),l(z.actions.commitSuggestion()))},[t]);let d=h=>{h.preventDefault(),p(u)},p=h=>{l(Wn(h)),e(h)},g=h=>m=>{u!==i?window.confirm(c("warning"))&&h(m):h(m)};return Sa(()=>{o&&o(u!==i)},[o,t,u]),qt("div",{className:a.root,children:[qt("div",{className:a.content,children:[t.title&&fe("h3",{className:a.title,children:t.title}),t.searchKeywords&&t.searchKeywords.length>0&&fe(ls,{labels:t.searchKeywords}),fe(Qi,{onUse:p,value:u})]}),qt("form",{className:a.actions,onSubmit:d,children:[qt("div",{children:[fe("button",{disabled:!r,className:a.pagination,type:"button",onClick:r&&g(r),children:fe(Qn,{})}),fe("button",{disabled:!s,className:a.pagination,type:"button",onClick:s&&g(s),children:fe(Mi,{})})]}),qt("div",{className:a.primaryButtons,children:[fe(I.Button,{onClick:g(n),shortKeys:["esc"],children:c("dismiss")}),fe(I.Button,{shortKeys:[8679,8629],type:"submit",children:c("add")})]})]})]})},co=cm;import{createAction as dm,createAsyncThunk as Ta,createSlice as mm}from"@reduxjs/toolkit";var um=["{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}"],pm=new RegExp(um.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function va(t,e){let n=t.split(pm),o=0,s=[];for(let r=0;r<n.length;r++){let i=n[r];if(s.push(i),r===n.length-1)break;if(e.indexOf(i)===-1)return t;let a=n[r+1],l=r===n.length-2;o+=i.length;let c=o;if(l){let d=a.charAt(0),p=0;do c=d?e.indexOf(d,c+1):-1,p+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&p>2)return t}else c=a&&a!==""?e.indexOf(a,o):-1;let u=c===-1?e.slice(o):e.slice(o,c);s.push(u),o=c}return s.join("")}function xa(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var wa={suggestions:[],fetchState:"idle",isInitialRequest:null},Ca={default:wa},ba=t=>e=>{var n;return((n=e.textSuggestions[t])==null?void 0:n.suggestions)??[]},Ea=t=>e=>{var n;return((n=e.textSuggestions[t])==null?void 0:n.suggestions)??[]},_a=t=>{let e=Object.keys(t.textSuggestions).map(n=>{var o;return(o=t.textSuggestions[n])==null?void 0:o.fetchState});return e.length===0?!0:e.every(n=>n!=="done")},gt=t=>t.textSuggestions,Pa=t=>e=>e.text.startsWith(t),uo=dm("textSuggestions/refresh"),he=Ta("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(c=o.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=o.settings,a=rt(o);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await n.getTextSuggestions(s,zt(o),t);if(t==="default"){let u=i?l.filter(Pa(a)):l;e.dispatch(Ie(u.slice(0,r)))}return l}),Wt=Ta("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(c=o.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=o.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await n.getAutocompleteSuggestions(s,{...zt(o),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(Pa(t))),i&&(l=l.map(u=>({...u,text:u.source!=="trie-with-typos"?va(u.text,t):u.text}))),l=xa(l,r),e.dispatch(Ie(l)),l}),ka=mm({name:"textSuggestions",initialState:Ca,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:n}=e.payload;t[n].fetchState="done",t[n].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(he.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||wa;return{...e,[o]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(he.rejected,(e,n)=>{let o=n.meta.arg;e[o].fetchState="error"}).addCase(he.fulfilled,(e,n)=>{let o=n.meta.arg;e[o].fetchState="done",e[o].suggestions=n.payload}).addCase(Wt.pending,e=>{e.default.fetchState="loading"}).addCase(Wt.rejected,e=>{e.default.fetchState="error"}).addCase(Wt.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase(R,()=>Ca)}}),{setTextSuggestions:Ra,setSuggestionState:Ia}=ka.actions,La=ka.reducer;import{createSlice as gm}from"@reduxjs/toolkit";var Aa={contentType:null,suggestion:null},Ma=t=>t.activeSuggestion.suggestion,Oa=t=>t.activeSuggestion.contentType,Na=gm({name:"activeSuggestion",initialState:Aa,reducers:{setActiveSuggestion(t,e){let{contentType:n,suggestion:o}=e.payload;t.contentType=n,t.suggestion=o},resetActiveSuggestion(t){t.contentType=null,t.suggestion=null}},extraReducers:t=>{t.addCase(R,()=>Aa)}}),{setActiveSuggestion:ye,resetActiveSuggestion:Ds}=Na.actions,Da=Na.reducer;var Hs={};K(Hs,{enUS:()=>fm,nlNL:()=>hm});var fm={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"}]},hm={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 ym}from"@reduxjs/toolkit";var Sm={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var Ha=({ui:t})=>t.overlayCollapsed;var Fa=ym({name:"ui",initialState:Sm,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:Gt,setInputHasFocus:ft,setOverlayCollapsed:ht,setOpenOverlayWhenTyping:Ba,setOverlayCollapsedUserOverwrite:Ka}=Fa.actions,Ua=Fa.reducer;import Va,{useContext as vm}from"react";import{jsx as xm}from"react/jsx-runtime";var ja=Va.createContext(null),$t=({broadcastEvents:t,children:e})=>{let n=Va.useMemo(()=>t,[]);return xm(ja.Provider,{value:n,children:e})},ee=()=>{let t=vm(ja);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createAsyncThunk as Fs,createSlice as Cm}from"@reduxjs/toolkit";var Tm={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},Se=t=>t.auth.isLoggedIn,za=t=>t.auth.loginFetchState,qa=t=>t.auth.verifyFetchState,Wa=t=>t.auth.showLoginOverlay,We=Fs("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),Ga=Fs("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:n}=e.extra;return n.requestLoginByEmail(t)}),Xt=Fs("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:n}=e.extra;return n.verifyLoginToken(t)}),$a=Cm({name:"auth",initialState:Tm,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:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(We.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Xt.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Xt.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Xt.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:po,setShowLoginOverlay:Xa}=$a.actions,Qa=$a.reducer;var Bs="SetActiveSuggestion",yt="ShowLoginOverlay",Ks="UserLoggedIn",ve="ApplySuggestion",Us="ApplyImageSuggestion",wm="ShowCommandPalette",bm=t=>({[Bs]:e=>{t.dispatch(Ia(e.state)),t.dispatch(ye({contentType:e.contentType,suggestion:e.suggestion}))},[wm]:e=>{t.dispatch(J(e.isOpen)),e.page&&t.dispatch(j(e.page))},[yt]:e=>{t.dispatch(Xa(e))},[Ks]:()=>{t.dispatch(We())},[Us]:e=>{t.dispatch($n({suggestion:e.suggestion}))},[ve]:e=>{t.dispatch(ie({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(Le())}}),Za=bm;import{jsx as Ja}from"react/jsx-runtime";var Pm=()=>{var h;let[t,e]=Em(!1),n=Vs(Ma),o=Vs(Oa),s=Vs(gt),r=_m(),i=ee(),a=E(Hs),l=()=>{n!==null&&t?window.confirm(a("warning"))&&c():c()},c=()=>{r(Ds()),r(ft(!0)),r(z.actions.reset())},u=(m,x)=>{r(Ds()),r(ft(!0)),i.send(ve,{text:m,suggestion:x})};if(n===null||o===null)return null;let d=(h=s[o])==null?void 0:h.suggestions.indexOf(n),p=d===0||d===null?void 0:()=>r(ye({contentType:o,suggestion:s[o].suggestions[d-1]})),g=d===s[o].suggestions.length-1||d===null?void 0:()=>r(ye({contentType:o,suggestion:s[o].suggestions[d+1]}));return Ja(it,{autoFocus:!0,isOpen:d!==null,onClose:l,onBack:l,contentAriaLabel:a("editContentLabel"),overlayAriaLabel:a("overlayLabel"),children:Ja(co,{onTouched:e,onDismiss:c,onUse:m=>u(m,n),suggestion:n,onNext:g,onPrevious:p})})},Ya=Pm;import{useSelector as sl}from"react-redux";import zs from"classnames";import{useCallback as nl,useEffect as Mm,useMemo as Om,useState as qs}from"react";import{useDispatch as Nm,useSelector as Dm}from"react-redux";import km from"classnames";var el={root:"_root_1ukx5_1"};import{jsx as Im}from"react/jsx-runtime";var Rm=({className:t,value:e,...n})=>{let o=y("TextInput",el);return Im("input",{className:km(t,o.root),type:"text",value:e,...n})},Qt=Rm;var js={};K(js,{enUS:()=>Lm,nlNL:()=>Am});var Lm={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"}]},Am={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 tl={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 W,jsxs as mo}from"react/jsx-runtime";var Hm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},Fm=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=E(js),i=y("LoginTokenDialog",tl),a=Dm(qa),l=Nm(),c=T("productName"),[u,d]=qs(t||""),[p,g]=qs(0),[h,m]=qs(""),x=nl(async C=>{C.preventDefault(),l(Ga({email:u})),g(1)},[n,u]),b=()=>{m(""),g(0)},f=nl(async C=>{C.preventDefault();let P=Hm(C.target.elements.token.value);if(!P){m(r("verifyCodeError",{login:v}));return}l(Xt({token:P}))},[n]),v=Om(()=>C=>W("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:b,children:C},"back-button"),[]);return Mm(()=>{a==="error"&&m(r("verifyCodeError",{login:v})),a==="done"&&o()},[a]),W(it,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:mo("div",{className:i.root,children:[W("h1",{className:i.title,children:r("promptTitle",{productName:c})}),p===0&&mo("form",{onSubmit:x,children:[W("h2",{className:i.subtitle,children:r("requestCodeTitle")}),W("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),W(Qt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:u,onChange:C=>d(C.target.value)}),W("div",{className:i.actions,children:W("button",{type:"submit",className:zs(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&mo("form",{onSubmit:f,children:[W("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),W("p",{className:i.text,children:r("verifyCodeBody")}),W(Qt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),h&&W("div",{className:i.errorMessage,children:h}),mo("div",{className:i.actions,children:[W("button",{type:"button",className:zs(i.button),onClick:b,children:r("back")}),W("button",{type:"submit",className:zs(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},ol=Fm;import{jsx as Km}from"react/jsx-runtime";var Bm=()=>{let t=sl(Wa),e=sl(na),n=T("adminUrl"),o=ee(),s=()=>o.send(yt,!1),r=()=>{o.send(yt,!1),o.send(Ks)};return Km(ol,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},rl=Bm;import Lg from"lodash.debounce";import{useCallback as Js,useEffect as Ll,useState as tn}from"react";import{useDispatch as Ag,useSelector as Ct}from"react-redux";import{createAsyncThunk as Um,createSlice as Vm}from"@reduxjs/toolkit";var jm={data:null,fetchState:"idle"},il=t=>t.contentTypes.data,Zt=Um("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),zm=Vm({name:"contentTypes",initialState:jm,reducers:{},extraReducers:t=>{t.addCase(Zt.pending,e=>{e.fetchState="loading"}).addCase(Zt.rejected,e=>{e.fetchState="error"}).addCase(Zt.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),al=zm.reducer;function Jt(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 qm}from"react";function ll(t,e){qm(()=>{let n=o=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?o.metaKey:o.ctrlKey)&&o.key===t&&(o.preventDefault(),o.stopPropagation(),e())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[])}import{useEffect as dl,useRef as Jm}from"react";import{useSelector as Ym,useDispatch as eg}from"react-redux";import{createAsyncThunk as Wm,createSlice as Gm}from"@reduxjs/toolkit";var cl={data:null,fetchState:"idle"},go=t=>{var r;let e=[],{visitorName:n}=t.info.visitorInfo??{},{agentName:o,agentNickname:s}=t.info.agentInfo??{};return o&&o!==n&&e.push(o),s&&s!==n&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},ae=Wm("entities/getEntities",async(t,e)=>{let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra;if(!o.conversationQuery)return Promise.resolve([]);let s=o.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):n.getEntities(r)}),$m=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),Xm=Gm({name:"entities",initialState:cl,reducers:{},extraReducers:t=>{t.addCase(ae.pending,e=>{e.fetchState="loading"}).addCase(ae.rejected,e=>{e.fetchState="error"}).addCase(ae.fulfilled,(e,n)=>{e.fetchState="done",e.data=$m(e.data?[...e.data,...n.payload]:n.payload)}).addCase(R,()=>cl)}}),ul=Xm.reducer;var Ws={};K(Ws,{enUS:()=>Qm,nlNL:()=>Zm});var Qm={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Zm={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var pl={root:"_root_17kae_1",empty:"_empty_17kae_5"};import{jsx as fo,jsxs as ng}from"react/jsx-runtime";var tg=({onCopy:t,onUse:e})=>{let n=Jm(null),o=y("EntitiesList",pl),s=E(Ws),r=Ym(go),i=eg();return dl(()=>{i(ae())},[]),dl(()=>{n.current&&n.current.focus()},[n]),ng("div",{className:o.root,ref:n,tabIndex:-1,children:[r&&r.length>0&&fo(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:fo(I.List,{children:r.map((a,l)=>fo(I.ListItem,{index:l,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities")}),r&&r.length===0&&fo("p",{className:o.empty,children:s("noResults")})]})},ml=tg;import{Fragment as lg,useEffect as ho,useRef as cg,useState as ug}from"react";import{useSelector as vl,useDispatch as pg}from"react-redux";import{createAsyncThunk as og,createSlice as sg}from"@reduxjs/toolkit";var gl={data:null,fetchState:"idle"},fl=t=>t.summary.data,hl=t=>t.summary.fetchState==="error",xe=og("summary/getSummary",async(t,e)=>{let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra;if(!o.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let s=o.conversationQuery,r=await s();if(r.length===0)return Promise.reject(new Error("No messages are included"));let i=await n.getSummary(r);return{original:r,summary:i}}),rg=sg({name:"summary",initialState:gl,reducers:{},extraReducers:t=>{t.addCase(xe.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(xe.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(xe.fulfilled,(e,n)=>{e.fetchState="done",n.payload&&(e.data=n.payload.summary)}).addCase(R,()=>gl)}}),yl=rg.reducer;var Gs={};K(Gs,{enUS:()=>ig,nlNL:()=>ag});var ig={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."}]},ag={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 Sl={root:"_root_18y7z_1",actions:"_actions_18y7z_5",main:"_main_18y7z_11",textInput:"_textInput_18y7z_15",loading:"_loading_18y7z_34",error:"_error_18y7z_38"};import{jsx as St,jsxs as mg}from"react/jsx-runtime";var dg=({onCopy:t})=>{let e=cg(null),n=y("SummaryForm",Sl),[o,s]=ug(""),r=E(Gs),i=vl(fl),a=vl(hl),l=pg(),c=()=>{l(Z({name:"summary copied to clipboard",data:{originalText:i,finalText:o},options:{includeConversationData:!0}})),t(o)},u=()=>{let d=document.getSelection();d&&l(Z({name:"summary copied to clipboard",data:{originalText:i,finalText:d==null?void 0:d.toString()},options:{includeConversationData:!0}}))};return ho(()=>{l(xe())},[]),ho(()=>{s(i||"")},[i]),ho(()=>{e.current&&i&&e.current.focus()},[e,i]),ho(()=>{let d=p=>{p.key==="Enter"&&p.shiftKey&&c()};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[o]),St("div",{className:n.root,tabIndex:-1,children:a?St("p",{className:n.error,children:r("error")}):mg(lg,{children:[St("div",{className:n.main,children:St("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:n.textInput,ref:e,value:o,onCopy:u,onChange:d=>s(d.target.value)})}),St("div",{className:n.actions,children:St(I.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},xl=dg;var $s={};K($s,{enUS:()=>gg,nlNL:()=>fg});var gg={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"}],knowledgeSearch:[{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?"}]},fg={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:"Vat gesprek samen"}],summaryTitle:[{type:0,value:"Gesprek samenvatting"}],knowledgeSearch:[{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 wg,{useEffect as Pl,useRef as bg}from"react";import{useDispatch as Eg,useSelector as kl}from"react-redux";var Xs={};K(Xs,{enUS:()=>hg,nlNL:()=>yg});var hg={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"}]},yg={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 Cl={root:"_root_cnaw4_1",title:"_title_cnaw4_9",empty:"_empty_cnaw4_20",status:"_status_cnaw4_24",form:"_form_cnaw4_30",input:"_input_cnaw4_43",submit:"_submit_cnaw4_55",question:"_question_cnaw4_63",answer:"_answer_cnaw4_67",alignRight:"_alignRight_cnaw4_73"};import{createAction as Sg,createAsyncThunk as vg,createSlice as xg}from"@reduxjs/toolkit";var Qs={data:[],fetchState:"idle"},Tl=t=>{var e;return(e=t.answer)==null?void 0:e.data},wl=t=>t.answer.fetchState,Yt=Sg("answer/resetKnowledgeSearch"),vt=vg("answer/getAnswer",async(t,e)=>{var i;let{deepdeskAPI:n}=e.extra,o=e.getState().answer.data,s=(i=e.getState().profile.data)==null?void 0:i.code;if(!s)throw new Error("Profile is not defined");let r=await n.knowledgeSearch({promptInstruction:t.promptInstruction,question:t.question},o,s);return{question:t.question,answer:r}}),Cg=xg({name:"answer",initialState:Qs,reducers:{},extraReducers:t=>{t.addCase(vt.pending,e=>{e.fetchState="loading"}).addCase(vt.rejected,e=>{e.fetchState="error"}).addCase(vt.fulfilled,(e,n)=>{e.fetchState="done",e.data=[...e.data,n.payload]}).addCase(R,()=>Qs).addCase(Yt,()=>Qs)}}),bl=Cg.reducer;import{jsx as El,jsxs as Tg}from"react/jsx-runtime";var _l=()=>Tg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[El("title",{id:"paperPlaneTitle",children:"PaperPlane"}),El("path",{d:"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"})]});import{jsx as Ce,jsxs as Zs}from"react/jsx-runtime";var _g=({onUse:t,onResetQuestion:e,question:n,promptInstruction:o})=>{let[s,r]=wg.useState(""),{setSelected:i}=Oe(),a=bg(null),l=y("EntitiesList",Cl),c=E(Xs),u=Eg(),d=kl(Tl),p=kl(wl),g=async m=>{m.preventDefault(),m.stopPropagation(),s!==""&&u(vt({question:s,promptInstruction:o}))},h=(m,x)=>{u(Z({name:"knowledge assist source viewed",data:{question:x,sourceViewed:m.url||m.name},options:{includeConversationData:!0}}))};return Pl(()=>{var m;n&&p==="idle"?u(vt({question:n,promptInstruction:o})):(m=a.current)==null||m.focus()},[a,p]),Pl(()=>{p==="done"&&(u(Z({name:"knowledge assist question answered",data:{question:s||n,sources:d[d.length-1].answer.sources,isFollowUpQuestion:d.length>1},options:{includeConversationData:!0}})),i(0),r(""))},[p,d]),Zs("div",{className:l.root,children:[d.length>0&&Ce("div",{className:l.alignRight,children:Ce(I.Button,{onClick:e,children:c("reset")})}),Zs(I.ActionsBar,{list:d.map(({answer:m})=>({text:m.answer,type:"answer"})),primaryLabel:c("use"),onPrimary:m=>t(m.text),children:[d.map(({question:m,answer:x},b)=>Ce(I.List,{children:Ce(I.ListItem,{"data-testid":"knowledge-search-answer",index:b,description:x.answer,closeOnSelect:!0,onClick:()=>t(x.answer),onSourceClick:f=>h(f,m),sources:x.sources,styles:{title:l.question,description:l.answer},children:m})},`${x.answer}_${b}`)),p==="loading"&&Ce("p",{className:l.status,children:c("loading")}),p==="error"&&Ce("p",{className:l.status,children:c("error")}),Zs("form",{className:l.form,onSubmit:g,children:[Ce("input",{ref:a,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:s,onFocus:()=>{i(-1)},onChange:m=>{i(-1),r(m.target.value)}}),Ce("button",{type:"submit",className:l.submit,children:Ce(_l,{})})]})]})]})},Rl=_g;import{createAsyncThunk as Pg,createSlice as kg}from"@reduxjs/toolkit";var Rg={data:null,fetchState:"idle"},xt=t=>t.profile.data,yo=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],en=Pg("profile/getProfile",async(t,e)=>{let{deepdeskAPI:n}=e.extra,s=e.getState().conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return n.getProfile(s.profileCode)}),Ig=kg({name:"profile",initialState:Rg,reducers:{},extraReducers:t=>{t.addCase(en.pending,e=>{e.fetchState="loading"}).addCase(en.rejected,e=>{e.fetchState="error"}).addCase(en.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Il=Ig.reducer;import{jsx as G,jsxs as Ml}from"react/jsx-runtime";var Mg=200,Og=5,Ng=4,Dg=t=>t.reduce((e,n)=>[...e,...n.list.map(o=>({...o,type:n.value}))],[]),Al=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Hg=()=>{let t=Ag(),e=ee(),n=E($s),[o,s]=tn(!1),[r,i]=tn(""),a=Ct(aa),l=Ct(xt),[c,u]=tn(null),[d,p]=tn([]),[g,h]=tn(),m=Ct(Se),x=T("showSearch"),b=T("showEntitiesCommand"),f=T("showSummaryCommand"),v=T("showKnowledgeSearch"),C=T("showImageSearch"),P=T("searchTriggerKey"),w=Ct(il),O=Ct(la),X=Ct(ia),D=S=>zo(O.filter(L=>L.type===S.toUpperCase()),S),k=[{value:"PERSONAL",label:n("personalSuggestions"),list:D("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:n("urlSuggestions"),list:D("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:D("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:D("IMAGE"),listOrientation:"horizontal",shouldShow:C}].filter(S=>S.shouldShow),ne=[{label:n("entitiesClipboard"),onClick:()=>t(j("entities")),shouldShow:b&&Al(n("entitiesClipboard"),r),experimental:!0},{label:n("summaryClipboard"),onClick:()=>t(j("summary")),shouldShow:f&&Al(n("summaryClipboard"),r),experimental:!0},{label:r?`${n("knowledgeSearch")}: ${r}`:n("knowledgeSearch"),onClick:()=>t(j("knowledgeSearch")),shouldShow:v,experimental:!0}].filter(S=>S.shouldShow),oe=(w==null?void 0:w.map(S=>({value:S.code.toUpperCase(),label:`${S.name}s`,list:D(S.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],Vo=Js(Lg((S,L)=>{t(ze({query:S,type:L,tags:["search-overlay"]}))},Mg),[]),He=Dg([...oe,...k]),Au=Js((S,L)=>{if(!L)return;let Pe=[...k,...oe].find(({value:Je})=>Je===L);Pe&&(t(j("edit")),u(S),p(Pe.list))},[t,c,oe]),jo=Js((S,L)=>{switch(L.type){case"IMAGE":e.send(Us,{suggestion:L});break;default:e.send(ve,{text:S,suggestion:L})}t(J(!1))},[t]),Mu=S=>{Jt(S.text),t(Z({name:"entity copied",data:{entity:S,type:"copy"}})),t(J(!1))},Ou=S=>{e.send(ve,{text:S,suggestion:{source:"knowledge-assist",text:S}}),t(Z({name:"answer used",data:{originalText:S},options:{includeConversationData:!0}})),i(""),t(j("search")),t(Yt()),t(J(!1))},Nu=S=>{Jt(S),t(J(!1))},Du=S=>{e.send(ve,{text:S.text,suggestion:{source:"entity",text:S.text}}),t(J(!1))},Hu=c===null||d.indexOf(c)-1<0?void 0:()=>u(d[d.indexOf(c)-1]),Fu=c===null||d.indexOf(c)===d.length-1?void 0:()=>u(d[d.indexOf(c)+1]);function zo(S,L){return S.slice(0,g?10:L.toLowerCase()==="image"?Ng:Og)}function Fr(S,L,Pe){return L.reduce((Je,fn)=>Pe&&g===Pe?fn.length+Je:zo(fn,Pe).length+Je,S)}function Ze(S){return L=>{o?window.confirm(n("warning"))&&(S(L),s(!1)):S(L)}}return Ll(()=>{r?Vo(r,g):t(io())},[r,g]),Ll(()=>{m&&t(Zt())},[m]),ll(P,()=>t(J(!0))),!x||!l?null:Ml(I,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:Ze(S=>t(J(S))),onChangeType:S=>h(S),onChangePage:Ze(S=>t(j(S))),selectedType:g,search:r,page:a,isOpen:X,types:[...oe,...k],children:[G(I.Page,{id:"search",children:Ml(I.ActionsBar,{list:[...ne.map(S=>({text:S.label,type:"command"})),...He.map(S=>({text:S.text||S.url||S.message,type:S.type}))],primaryLabel:n("use"),secondaryLabel:n("preview"),onPrimary:({text:S},L)=>jo(S,He[L]),onSecondary:(S,L)=>Au(He[L],He[L].type),children:[ne.length>0&&G(I.List,{heading:n("commands"),children:ne.map((S,L)=>G(I.ListItem,{index:Fr(L,[],"commands"),closeOnSelect:!1,onClick:S.onClick,isExperimental:S.experimental,children:S.label},S.label))}),[...oe,...k].map(({value:S,label:L,list:Pe,lineClamp:Je,listOrientation:fn},Bu)=>G(I.List,{heading:L,orientation:fn==="horizontal"?"horizontal":"vertical",children:zo(Pe,S).map((se,Ku)=>G(I.ListItem,{index:Fr(ne.length+Ku,[...oe,...k].slice(0,Bu).map(({list:Uu})=>Uu),S),closeOnSelect:!1,lineClamp:Je,onClick:()=>jo(se.text,se),description:S!=="IMAGE"?se.title&&se.text:void 0,children:S==="IMAGE"?G(I.Image,{title:se.title||se.text,src:se.image}):se.title||se.text},`${se.id}-${se.text}`))},S))]})}),G(I.Page,{id:"edit",onDismiss:Ze(()=>{t(j("search")),u(null)}),children:c&&G(co,{suggestion:c,onTouched:s,onDismiss:()=>{s(!1),t(j("search")),u(null),p([])},onNext:Fu,onPrevious:Hu,onUse:S=>{t(j("search")),jo(S,c),t(J(!1)),p([]),u(null)}})}),G(I.Page,{id:"entities",title:n("entitiesTitle"),isExperimental:!0,onDismiss:Ze(()=>{t(j("search"))}),children:G(ml,{onUse:Du,onCopy:Mu})}),G(I.Page,{id:"summary",title:n("summaryTitle"),isExperimental:!0,onDismiss:Ze(()=>{t(j("search"))}),children:G(xl,{onCopy:Nu})}),G(I.Page,{id:"knowledgeSearch",title:n("knowledgeSearch"),isExperimental:!0,onDismiss:Ze(()=>{t(Yt()),t(j("search"))}),children:G(Rl,{promptInstruction:l.knowledgeSearchPromptInstruction,question:r,onUse:Ou,onResetQuestion:()=>{t(Yt()),i("")}})})]})},Ol=Hg;import{jsx as Ys,jsxs as Kg}from"react/jsx-runtime";var Bg=()=>{let t=T("showSearch"),e=T("isEmbedded");return Kg(Fg,{children:[t&&Ys(Ol,{}),Ys(Ya,{}),e&&Ys(rl,{})]})},Nl=Bg;import{Provider as Ug}from"react-redux";import{jsx as So}from"react/jsx-runtime";var Vg=({children:t})=>{let n=T("locale").replace("-","");return So(ts.Provider,{value:n,children:t})},jg=({store:t,customStyles:e={},children:n})=>So(Ug,{store:t,children:So(Vg,{children:So(Lt.Provider,{value:e,children:n})})}),nn=jg;import ir from"classnames";import{useEffect as Cf,useRef as Tf,useState as wf}from"react";import{connect as bf,useDispatch as Ef,useSelector as To}from"react-redux";import{useState as zg}from"react";function Dl(t,e){let[n,o]=zg(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return _.error(r),e}});return[n,r=>{try{let i=r instanceof Function?r(n):r;o(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){_.error(i)}}]}function vo(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:n,showSuggestionsAfterPattern:o}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?n&&new RegExp(n).test(s.substring(r.end))||o&&new RegExp(o).test(s.substring(0,r.end))?!0:n===!1&&o===!1:!1}import Gg from"classnames";import{Fragment as $g,useCallback as tr,useMemo as Fl}from"react";var er={};K(er,{enUS:()=>qg,nlNL:()=>Wg});var qg={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"}]}]},Wg={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 Hl={root:"_root_1vfca_1",anchor:"_anchor_1vfca_6",anchorButton:"_anchorButton_1vfca_11"};import{jsx as xo,jsxs as Bl}from"react/jsx-runtime";var nr=(t,e,n)=>o=>xo("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),Xg=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o})=>{let s=E(er),r=ee(),i=y("Login",Hl),a=T("productName"),l=tr(m=>{m.preventDefault(),o&&o(parseInt(m.target.value,10))},[]),c=tr(m=>{m.preventDefault(),r.send(yt,!0)},[e]),u=Fl(()=>m=>xo("a",{href:e,className:i.anchor,target:"_blank",rel:"noreferrer",children:m},"login"),[e]),d=tr(m=>xo("button",{type:"button",className:i.anchorButton,onClick:c,children:m},"prompt"),[c]),{min:p,hour:g,day:h}=Fl(()=>({min:nr(i,60*10,l),hour:nr(i,60*60,l),day:nr(i,60*60*12,l)}),[]);return Bl("div",{className:Gg(t,i.root),children:[s("loginPlease",{login:n?d:u,productName:a}),o&&Bl($g,{children:[xo("br",{}),s("snooze",{min:p,hour:g,day:h})]})]})},Co=Xg;import{useDispatch as Qg}from"react-redux";var Kl={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};import{jsx as Ul,jsxs as Jg}from"react/jsx-runtime";var Zg=({title:t})=>{let e=y("SearchTrigger",Kl),n=Qg();return Jg("button",{type:"button",className:e.root,onClick:()=>n(J(!0)),children:[Ul(dt,{}),Ul("span",{className:e.text,children:t})]})},Vl=Zg;import{Fragment as yf}from"react";import{Interweave as af}from"interweave";import{useEffect as lf,useMemo as cf,useRef as uf}from"react";import{useDispatch as pf,useSelector as df}from"react-redux";import{useEffect as Yg}from"react";function jl(t,e,n){Yg(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var ef=/[.*+?^${}()|[\]\\]/g,tf=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function nf(t){return t.replace(ef,"\\$&")}function of(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function or(t){return t.search(tf)}function zl(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${nf(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function ql(t){return t.replace(ot,'<mark data-type="placeholder">$1</mark>')}function on(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function sf(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 sr(t,e,n={}){if(e){let o=of(e.toLowerCase(),t.toLowerCase()),s=on(t.substring(o,t.length));if(n.stripAgentPart){let l=t.substring(0,o),c=or(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(ri).length>3||e.length>30?sf(e.trim(),o):0;return`${`${i>0?"\u2026":""}${on(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var Wl={badge:"_badge_8rv7b_1",formattedText:"_formattedText_8rv7b_5"};import{jsx as Gl}from"react/jsx-runtime";var mf=["search","personal-collection-search","studio-search"];function gf(t,e,n,o={}){let s="";return mf.includes(e)?s=zl(sr(t,n,{stripAgentPart:!0}),o.searchKeywords??[n]):s=sr(t,n,o),o.placeholders===!0&&(s=ql(s)),s}var ff=()=>{},hf=({index:t,selected:e,suggestion:n})=>{let o=T("inlineSuggestions"),s=df(rt),r=pf(),i=y("TextSuggestion",Wl),a=uf(null);lf(()=>{let c=setTimeout(()=>{r(vi({text:n.text,suggestion:n}))},500);return()=>{clearTimeout(c)}},[n]),jl(a,"click",()=>{r(Xn(t)),r(ie({suggestion:n,text:n.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=cf(()=>gf(n.text,n.source,s,{stripAgentPart:o,placeholders:!0,searchKeywords:n.searchKeywords}),[o,n.text,n.source,s,n.searchKeywords]);return n.source==="gpt"?null:Gl(N,{ref:a,as:"button",selected:e,onClick:ff,children:Gl(af,{containerTagName:"div",noWrap:!1,tagName:"span",className:i.formattedText,content:l})})},$l=hf;import{jsx as Xl}from"react/jsx-runtime";var Sf=({suggestions:t,selectedIndex:e})=>Xl(yf,{children:t.slice().map((n,o)=>Xl($l,{index:o,selected:o===e,suggestion:n},`${n.text}-${n.source}`)).reverse()}),Ql=Sf;var rr={};K(rr,{enUS:()=>vf,nlNL:()=>xf});var vf={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"}]},xf={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 Zl={root:"_root_4kcme_1",isInline:"_isInline_4kcme_14",toggleButton:"_toggleButton_4kcme_18",toggleButtonWrapper:"_toggleButtonWrapper_4kcme_22",toggleButtonWrapperHidden:"_toggleButtonWrapperHidden_4kcme_29",isCollapsed:"_isCollapsed_4kcme_33",collapsible:"_collapsible_4kcme_33",hints:"_hints_4kcme_41",hintsHidden:"_hintsHidden_4kcme_48",triggers:"_triggers_4kcme_53",triggersRight:"_triggersRight_4kcme_68"};import{jsx as B,jsxs as sn}from"react/jsx-runtime";var _f=({inline:t=!1,textSuggestions:e,selectedIndex:n})=>{let o=y("SuggestionsOverlay",Zl),s=E(rr),r=T("inlineSuggestions"),i=To(vo),a=gi(),l=Ef(),c=Tf(null),u=T("searchTriggerKey"),d=T("productName"),p=To(Ha),g=To(Se),h=To(Hn),[m,x]=wf(null),b=T("showSearch"),f=T("showTextSuggestions"),v=T("adminUrl"),C=T("isEmbedded"),[P,w]=Dl("dd-snooze-until-ms",0),O=p||P>Date.now(),X=e.filter(ne=>ne.source!=="gpt").length,D=()=>{O&&w(0),l(Ka(!O))},k=ne=>{let oe=Date.now()+ne*1e3;w(oe),_.info(`Snooze until: ${new Date(oe)}`),l(ht({collapse:!0}))};return Cf(()=>{X===0&&x(null)},[e,X]),lt(()=>{l(ht({collapse:!0,skipWhenInputFocus:!0}))}),r!==t||g===null||h===!1?null:g===!1?sn("div",{ref:c,className:ir(o.root,{[o.isCollapsed]:O,[o.isInline]:t}),"data-inline":t,children:[!O&&sn("div",{className:o.triggers,children:[B("div",{style:{flex:1}}),B("div",{className:o.triggersRight,children:B(nt,{className:o.toggleButton,title:s("collapse"),onClick:D,isCollapsed:!1})})]}),B("div",{className:o.toggleButtonWrapper,children:B(nt,{className:o.toggleButton,title:s("open",{productName:d}),onClick:D,isCollapsed:!0})}),B("div",{className:o.collapsible,children:B(Co,{loginUrl:v,isEmbedded:C,onSnooze:k})})]}):!a||!i?null:sn("div",{ref:c,className:ir(o.root,{[o.isCollapsed]:O,[o.isInline]:t}),"data-inline":t,children:[!O&&sn("div",{className:o.triggers,children:[B("div",{style:{flex:1},children:b&&B("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>x(s(so()?"searchHintMac":"searchHintWindows",{searchTriggerKey:u.toUpperCase()})),onMouseLeave:()=>x(null),children:B(Vl,{title:s("search")})})}),sn("div",{className:o.triggersRight,onFocus:()=>{},children:[B("div",{className:ir(!m&&o.hintsHidden,o.hints),children:m}),B(nt,{className:o.toggleButton,title:s("collapse"),onClick:D,isCollapsed:!1})]})]}),B("div",{className:o.toggleButtonWrapper,children:B(nt,{className:o.toggleButton,title:s("open",{productName:d}),onClick:D,isCollapsed:!0})}),X>0&&f&&B("div",{className:o.collapsible,onFocus:()=>{},children:B(me,{children:B(Ql,{suggestions:e,selectedIndex:n})})})]})},Pf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),wo=bf(Pf)(_f);import yr from"classnames";import{Interweave as vh}from"interweave";import{useCallback as xh,useEffect as Ch,useMemo as yc,useRef as Th}from"react";import{connect as wh}from"react-redux";import{cloneElement as kf}from"react";var Rf=["div","span","mark","strong","b","i","u","em"];function ar(t,e,n=0){var r;let o=t[t.length-1],s=typeof o=="object"&&o!==null?(r=o.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,o];if(Rf.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),kf(o,{children:ar(i,e,n+1)})]}return[...t,...e]}function Te(t){return t.tagName.toLowerCase()==="textarea"}var Jl={root:"_root_1l8n5_1",container:"_container_1l8n5_4",agentText:"_agentText_1l8n5_7",tabText:"_tabText_1l8n5_8",hint:"_hint_1l8n5_8",matchSelection:"_matchSelection_1l8n5_12",focus:"_focus_1l8n5_18",resetIndent:"_resetIndent_1l8n5_22",matchKeyword:"_matchKeyword_1l8n5_26",matchPlaceholder:"_matchPlaceholder_1l8n5_27",hover:"_hover_1l8n5_33",hintText:"_hintText_1l8n5_66",popover:"_popover_1l8n5_74",popoverRoot:"_popoverRoot_1l8n5_79",popoverContentContainer:"_popoverContentContainer_1l8n5_83",popoverContent:"_popoverContent_1l8n5_83",selectionOptions:"_selectionOptions_1l8n5_109",selectionOptionsIsHidden:"_selectionOptionsIsHidden_1l8n5_114",selectionOptionsButton:"_selectionOptionsButton_1l8n5_118",caret:"_caret_1l8n5_134",popoverSuggestionsRoot:"_popoverSuggestionsRoot_1l8n5_138",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_1l8n5_143"};import{Matcher as jf}from"interweave";import{Fragment as zf,useEffect as qf}from"react";import oc from"classnames";import{createRef as Bf,useCallback as cr,useMemo as Kf,useRef as Uf,useState as Vf}from"react";import{useState as If,useLayoutEffect as Lf}from"react";var Af=["bottom","height","left","right","top","width"],Mf=(t={},e={})=>Af.some(n=>t[n]!==e[n]),we=new Map,Yl,ec=()=>{let t=[],e=[];we.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();Mf(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{we.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),Yl=window.requestAnimationFrame(ec)};function Of(t,e){return{observe(){let n=we.size===0;if(we.has(t)){let o=we.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else we.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&ec()},unobserve(){let n=we.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||we.delete(t),we.size||cancelAnimationFrame(Yl)}}}}function lr(t){let[e,n]=If(null);return Lf(()=>{if(!t.current)return;let o=Of(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as Nf,useLayoutEffect as Df,useState as Hf}from"react";import{createPortal as Ff}from"react-dom";var tc={root:"_root_1jq08_1"};var nc=({children:t})=>{let[e,n]=Hf(null),o=Nf(Lt);return Df(()=>{let s=document.createElement("div");return je(s),s.classList.add(tc.root),o!=null&&o.rootNode&&s.classList.add(o==null?void 0:o.rootNode),document.body.appendChild(s),n(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?Ff(t,e):null};var ue={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 ur}from"react/jsx-runtime";var Tt=(t=!1)=>{let[e,n]=Vf(t),o=cr(()=>n(!0),[]),s=cr(()=>n(!1),[]),r=cr(()=>n(a=>!a),[]),i=Uf(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function pr(t,e=null,n=0){if(!t)return{display:"none"};let o=e?t.top-e.top<0||t.top<e.top-n?e.top-n:t.top+t.height>e.top+e.height+n?e.top+e.height+n-t.height:t.top:t.top,s=e?t.left<e.left-n?e.left-n:t.left+t.width>e.left+e.width+n?e.left+e.width+n-t.width:t.left:t.left;return{top:o,left:s,height:t.height,width:t.width}}var wt=({className:t,triggerRef:e,boundaryRef:n=Bf(),position:o="above",align:s="center",children:r,toStyle:i=pr,...a})=>{let l=lr(e),c=lr(n),u=Kf(()=>i(l,c,0),[l,c]);return ur(nc,{children:ur("div",{className:oc(ue.ref,{[ue.positionAbove]:o==="above",[ue.positionBelow]:o==="below",[ue.positionLeft]:o==="left",[ue.positionRight]:o==="right",[ue.alignStart]:s==="start",[ue.alignCenter]:s==="center",[ue.alignEnd]:s==="end"}),style:u,...a,role:"dialog",children:ur("div",{className:oc(t,ue.root),children:r})})})};import{jsx as rn,jsxs as Gf}from"react/jsx-runtime";var Wf=({inputStyle:t,inputElement:e})=>{let n=y("TabCompletion",Y),o=Tt(document.activeElement===e);return lt(()=>o.close()),qf(()=>{let s=()=>o.open();return e.addEventListener("focus",s),()=>{e.removeEventListener("focus",s)}},[]),Gf(zf,{children:[rn("mark",{className:Y.caret,ref:o.triggerRef}),o.opened&&rn(wt,{className:n.popoverSuggestionsRoot,triggerRef:o.triggerRef,position:"above",align:"start",children:rn("div",{style:t,className:n.suggestionsOverlayInputStyles,children:rn(wo,{inline:!0})})})]})},bo=class extends jf{charCounter=0;charLength=0;found=!1;onlyAtEnd=!1;props;onBeforeParse(e,n){var o;return this.props=n,this.charCounter=0,this.onlyAtEnd=n.inlineSuggestionsOnlyAtEnd??!1,this.charLength=(Te(n.inputElement)?n.inputElement.value.length:(o=n.inputElement.textContent)==null?void 0:o.length)??0,this.found=!1,e}match(e){if(this.found||!this.props||this.props.selection===null)return null;let[n,o]=this.props.selection;if(n!==o||this.onlyAtEnd&&n!==this.charLength)return null;let s=n,i=s>=this.charCounter&&s<=this.charCounter+e.length?{index:or(e.slice(0,s))+1-this.charCounter,length:0,match:"",valid:!0}:null;return i&&(this.found=!0),this.charCounter+=e.length,i??null}replaceWith(e,n){return rn(Wf,{inputStyle:n.inputStyle,inputElement:n.inputElement},"caret")}asTag(){return"mark"}};import Zf from"classnames";import{Matcher as Jf}from"interweave";import{useEffect as Yf,useMemo as eh}from"react";function sc(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Eo(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function rc(t){return t!=null}import $f from"classnames";import{forwardRef as Xf,useRef as Qf}from"react";import{jsx as ic}from"react/jsx-runtime";var _o=Xf(({className:t,children:e,...n},o)=>{let s=Qf(null),r=y("TabCompletion",Y);return ic("div",{ref:Eo([s,o]),className:$f(t,r.popoverContentContainer),...n,children:ic("div",{className:r.popoverContent,children:e})})});import{jsx as an,jsxs as oh}from"react/jsx-runtime";var th=t=>e=>{let n=pr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},nh=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=y("TabCompletion",Y),i=Tt(),a=eh(()=>th(t.getBoundingClientRect()),[t]),[l,c]=Zn(t);return Yf(()=>{c?i.open():i.close()},[c]),oh("span",{children:[an("mark",{ref:Eo([l,i.triggerRef]),className:Zf(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&an(wt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:an(_o,{style:n,children:an("div",{className:r.hintText,children:s})})})]})},Po=class extends Jf{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,n){return n.keywordMatches&&n.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=n.keywordMatches.map(o=>({...o,keywordRegex:new RegExp(`\\b${sc(o.keyword)}\\b`,"i")})),this.keywordMatches=n.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let n=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(rc);if(n.length===0)return null;let o=n.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(o.preparedKeywordMatch),o}replaceWith(e,n){return an(nh,{inputElement:n.inputElement,suggestion:n.suggestion,inputStyle:n.inputStyle,boundaryRef:n.boundaryRef,children:e},`keyword_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import hr from"classnames";import{Matcher as dh}from"interweave";import{createRef as mh,forwardRef as gh,useCallback as fh,useEffect as gc,useRef as fc,useState as hc}from"react";import{useDispatch as hh}from"react-redux";import{jsx as ac}from"react/jsx-runtime";var lc=()=>ac("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:ac("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 sh,useEffect as uc,useState as pc}from"react";import{useDispatch as rh,useSelector as dc}from"react-redux";import ih from"lodash.debounce";var cc={root:"_root_1muu8_1",content:"_content_1muu8_7"};function ko(t,e,n){var s;let o=((s=t.imageSizes)==null?void 0:s[e])||t.image||n;if(!o)return null;try{return new URL(o).toString()}catch{return null}}function dr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Ge,jsxs as mr}from"react/jsx-runtime";var ah=3,lh=t=>({image:t.image||"",text:`https://${t.text}`,id:t.id,title:t.title}),ch=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=ah})=>{let r=y("LinkSearch",cc),[i,a]=pc(""),l=rh(),c=dc(ba("url")),u=dc(ca("URL",lh)),[d,p]=pc(u.length-1),g=T("fallbackImage"),h=f=>{let v=f.target;a(v.value)},m=(f,v)=>{f.stopPropagation(),f.preventDefault(),window.open(v,"_blank")},x=f=>{var P;let v=d-1<0?u.length-1:d-1,C=d+1===u.length?0:d+1;f.code==="Escape"&&(a(""),e()),f.code==="ArrowUp"&&p(v),f.code==="ArrowDown"&&p(C),f.code==="Enter"&&t(((P=u[d])==null?void 0:P.text)||i)},b=sh(ih(f=>{l(ze({query:f,type:"URL",tags:["link-search"]}))},300),[]);return uc(()=>{i&&b(i)},[i]),uc(()=>()=>{l(io())},[]),mr("div",{className:r.root,children:[Ge(me,{withDivider:!0,children:(i?u:c).slice(0,s).map((f,v)=>Ge(N,{selected:d===v,onClick:()=>t(f.text),"data-testid":"linksearch-suggestion",children:mr(H,{children:[Ge(H.Image,{src:ko(f,"small",g||void 0),title:f.title||f.text}),mr(H.Content,{className:r.content,cropText:!0,children:[Ge(H.Title,{children:f.title||dr(f.text)}),f.title&&dr(f.text)]}),Ge(N.Actions,{children:Ge(N.ActionButton,{label:o,onClick:C=>m(C,f.text)})})]})},f.text))}),Ge(Qt,{value:i,onChange:h,autoFocus:!0,placeholder:n,onKeyUp:x})]})},mc=ch;var gr={};K(gr,{enUS:()=>uh,nlNL:()=>ph});var uh={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},ph={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as pe,jsxs as fr}from"react/jsx-runtime";var yh=gh((t,e)=>{let n=y("TabCompletion",Y);return pe("mark",{ref:e,className:hr(n.matchSelection)},"selection-start")}),Sh=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=E(gr),i=y("TabCompletion",Y),a=fc(null),l=fc(null),[c,u]=hc(null),d=hh(),p=Tt(document.activeElement===o),[g]=hc(()=>document.createRange());p.triggerRef.current=g,gc(()=>()=>g.detach(),[]),gc(()=>{let m=t.current,x=a.current;!m||!x||(g.setStart(m,0),g.setEnd(x,0))},[t.current,a.current]),lt(()=>{p.close()});let h=fh(m=>{let x=g.toString(),b=/^http(s?):\/\//.test(m)?m:`https://${m}`;d(zn({text:`[${x}](${b})`}))},[]);return fr("span",{children:[pe("mark",{ref:a,className:hr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":p.opened?"true":"false",children:s}),p.opened&&pe(wt,{className:i.popoverRoot,triggerRef:p.triggerRef,boundaryRef:e,position:"above",align:"start",children:fr(_o,{style:n,ref:l,children:[pe("div",{className:hr(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:fr("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>u("insertLink"),children:[pe(lc,{}),pe("span",{children:"\xA0"}),pe("span",{children:r("insertLink")})]})}),c==="insertLink"&&pe(mc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:h,onDismiss:()=>{u(null),p.close()}})]})})]},"selection-end")},Ro=class extends dh{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,n){return this.props=n,this.charCount=0,this.startRef=mh(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[n,o]=this.props.selection;if(n===o)return null;let s=this.foundIndex===0?n:o,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,n){return n.isStart?pe(yh,{ref:this.startRef}):pe(Sh,{inputElement:n.inputElement,startRef:this.startRef,boundaryRef:n.boundaryRef,inputStyle:n.inputStyle})}asTag(){return"mark"}};import{jsx as bt,jsxs as _h}from"react/jsx-runtime";var bh=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=y("TabCompletion",Jl),u=T("insertLink"),d=T("showMidSentenceSuggestions"),p=T("inlineSuggestions"),g=Yn(a),h=Th(null);Ch(()=>{Te(a)&&g&&eo(a,g)},[g]);let m=xh(f=>{if(!s||!n)return f;let v=[bt("span",{className:c.resetIndent,children:"\u200B"},"u200B"),bt("span",{className:yr(c.tabText,c.resetIndent),"data-source":l,children:n},"tabText")];return o&&v.push(bt("span",{className:yr(c.hint,c.resetIndent),children:bt(os,{keyCode:"tab"},"tabHint")})),ar(f,v)},[s,n,o]),x=yc(()=>{let f=[];return p&&f.push(new bo("inline")),u&&f.push(new Ro("selection")),f.push(new at("placeholders")),r&&f.push(new Po("keywords")),f},[p,u,r]),b=yc(()=>{let f=window.getComputedStyle(a);return{"--dd-color":f.color,"--dd-font-size":f.fontSize,"--dd-font-family":f.fontFamily,"--dd-font-variant":f.fontVariant}},[]);return t?_h("div",{ref:f=>{f!=null&&f.parentElement&&(h.current=f==null?void 0:f.parentElement)},className:c.root,style:b,children:[bt(vh,{tagName:"span",containerTagName:"div",className:yr(c.container,c.agentText),disableLineBreaks:Te(a),content:e||"\u200B",onAfterParse:m,matchers:x,selection:g,keywordMatches:i,inputElement:a,inputStyle:b,boundaryRef:h,inlineSuggestionsOnlyAtEnd:!d}),bt("br",{})]}):null},Eh=({input:t,ui:e,settings:n,styleSuggestions:o,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??on(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:u}=e,{isSupported:d}=s,{showTabCompletion:p,visible:g,showStyleSuggestions:h}=n;return{showTabHint:u,showStyleSuggestions:h,showTabCompletion:p,content:l,tabText:c,source:a,keywordMatches:((m=o.list)==null?void 0:m.keywordMatches)??[],enabled:g&&d!==!1}},Sc=wh(Eh)(bh);import cy from"classnames";import{useEffect as uy}from"react";import{useDispatch as py,useSelector as $}from"react-redux";import{createAsyncThunk as ln,createSlice as Ph}from"@reduxjs/toolkit";var vc={list:[],fetchState:"idle",isInitialRequest:null},Cc=t=>t.autoflows.list||[],xc=t=>e=>{var n;return(n=e.list)==null?void 0:n.find(o=>o.triggerPayload===t)},be=ln("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");return n.getAutoflows(t)}),Sr=ln("autoflows/start",async(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");await o.startAutoflowSession(t),await n(be(t.platformSessionId))}),vr=ln("autoflows/stop",async(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");await o.stopAutoflowSession(t.platformSessionId),await n(be(t.platformSessionId))}),kh=Ph({name:"autoflows",initialState:vc,reducers:{},extraReducers:t=>{t.addCase(Sr.pending,(e,n)=>{let o=xc(n.meta.arg.triggerPayload)(e);o.state="Started",o.isBusy=!0}),t.addCase(vr.pending,(e,n)=>{let o=xc(n.meta.arg.triggerPayload)(e);o.state="Aborted",o.isBusy=!0}),t.addCase(be.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(be.rejected,e=>{e.fetchState="error"}),t.addCase(be.fulfilled,(e,n)=>{e.list=n.payload,e.fetchState="done"}),t.addCase(R,()=>vc)}}),Tc=ln("autoflows/openStream",(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");let s=o.openStream(t);s.on("sessionAborted",()=>{n(be(t))}),s.on("sessionCompleted",()=>{n(be(t))})}),wc=ln("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.closeStream(t)}),bc=kh.reducer;import{createAsyncThunk as un,createSlice as Rh}from"@reduxjs/toolkit";var Ec={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},_c=t=>t.customMessages.list,Pc=t=>e=>!!e.customMessages.sentSuggestions.find(n=>n===t),kc=t=>e=>!!e.customMessages.answeredSuggestions.find(n=>n===t),Rc=t=>e=>!!e.customMessages.errorSuggestions.find(n=>n===t),cn=un("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");return n.getCustomMessages(t)}),Io=un("customMessages/send",async(t,e)=>{let{platformSessionId:n,suggestion:o}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(n,o)}),Lo=un("customMessages/answer",async(t,e)=>{let{platformSessionId:n,reply:o}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(n,o)}),Ic=Rh({name:"customMessages",initialState:Ec,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(cn.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(cn.rejected,e=>{e.fetchState="error"}).addCase(cn.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload||[]}).addCase(Io.pending,(e,n)=>{e.sentSuggestions.push(n.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(o=>n.meta.arg.suggestion.text!==o)}).addCase(Io.rejected,(e,n)=>{let o=e.sentSuggestions.indexOf(n.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(o,1))}).addCase(Lo.pending,(e,n)=>{e.sentSuggestions.push(n.meta.arg.suggestion.text),e.answeredSuggestions.push(n.meta.arg.suggestion.text)}).addCase(Lo.rejected,(e,n)=>{let o=e.answeredSuggestions.indexOf(n.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(o,1)),e.answeredSuggestions.splice(o,1)}).addCase(R,()=>Ec)}}),Lc=un("customMessages/openStream",(t,e)=>{let{dispatch:n}=e,{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.openStream(t).on("customMessageSuggestion",r=>{n(Ic.actions.onCustomMessage(r))})}),Ac=un("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.closeStream(t)}),Mc=Ic.reducer;import{createAsyncThunk as Oc,createSlice as Ih}from"@reduxjs/toolkit";var Lh={jwt:null,accountUrl:null,interval:null},Nc=t=>e=>{let{exchangeToken:{jwt:n,accountUrl:o}}=e;return n&&o?`${o}/apis/admin/session/jwt/?jwt=${n}&redirect=${t}`:null},xr=Oc("exchangeToken/getTemporaryExchangeToken",async(t,e)=>{let{deepdeskAPI:n}=e.extra,o=await n.getTemporaryExchangeToken();return{accountUrl:n.client.baseUrl,jwt:o}}),Cr=Oc("exchangeToken/pollExchangeToken",(t={},e)=>{let{interval:n=1e3*60*30}=t,{dispatch:o}=e;return o(xr()),setInterval(()=>o(xr()),n)}),Dc=Ih({name:"exchangeToken",initialState:Lh,reducers:{stopPollExchangeToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(xr.fulfilled,(e,n)=>{e.jwt=n.payload.jwt,e.accountUrl=n.payload.accountUrl}),t.addCase(Cr.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollExchangeToken:Hc}=Dc.actions,Fc=Dc.reducer;function Bc(t){let{customMessages:e,autoflows:n}=t;return n.fetchState==="loading"&&n.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as Uh}from"react";import{connect as Vh}from"react-redux";import Fh from"classnames";import{Fragment as Bh}from"react";import Ah from"classnames";var Kc={root:"_root_838fd_1"};import{jsx as Oh}from"react/jsx-runtime";var Mh=({className:t,children:e})=>{let n=y("Unicode",Kc);return Oh("span",{className:Ah(t,n.root),children:e})},Uc=Mh;var Vc={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 Tr={};K(Tr,{enUS:()=>Nh,nlNL:()=>Dh});var Nh={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"}]},Dh={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 $e,jsxs as Ao}from"react/jsx-runtime";var Kh=({disabled:t,state:e,displayName:n,description:o,onStartAutoflow:s,onStopAutoflow:r})=>{let i=y("Autoflow",Vc),a=E(Tr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return Ao(N,{className:Fh(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[$e(H,{children:Ao(H.Content,{children:[Ao(H.Title,{children:[e&&$e("span",{className:i.stateBadge,children:a(e)}),n]}),$e("span",{children:o})]})}),$e(N.Actions,{fixed:e==="Started",children:$e(N.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Ao(Bh,{children:[$e(Uc,{children:c})," ",$e("span",{children:a(l)})]})})})]})},jc=Kh;import{jsx as zc}from"react/jsx-runtime";var jh=(t,e)=>{let n=e.filter(o=>o.state==="Started");return n.length>0?n.indexOf(t)===-1:!1},zh=({autoflows:t,onStartAutoflow:e,onStopAutoflow:n,platformSessionId:o})=>zc(Uh,{children:t.map(s=>zc(jc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||jh(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:o,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>n({platformSessionId:o,triggerPayload:s.triggerPayload})},s.displayName))}),qh=({autoflows:t,conversation:e})=>{var n;return{autoflows:t.list,platformSessionId:(n=e.current)==null?void 0:n.sessionId}},Wh={onStartAutoflow:Sr,onStopAutoflow:vr},qc=Vh(qh,Wh)(zh);import{useEffect as Gh,useState as $h}from"react";import{useDispatch as Xh}from"react-redux";import $c from"classnames";import{jsx as Wc}from"react/jsx-runtime";var wr=()=>Wc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Wc("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 Gc={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 Et,jsxs as Xc}from"react/jsx-runtime";var Qh=({entities:t})=>{let e=y("EntitiesWidgetList",Gc),[n,o]=$h(void 0),s=Xh(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),Jt(a.text),s(Z({name:"entity copied",data:{entity:a,type:"copy"}})))};return Gh(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:Et("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>Xc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Et("span",{className:e.entityText,children:a.text}),Xc("span",{className:e.iconWrapper,children:[Et("span",{className:$c(e.icon),children:Et(wr,{})}),Et("span",{className:$c(e.icon,n===l&&e.iconClicked),children:Et(wr,{})})]})]},a.text))})},Qc=Qh;import Yh from"classnames";import{useCallback as Zc}from"react";import{useDispatch as ey,useSelector as Mo}from"react-redux";var pn={};K(pn,{enUS:()=>Zh,nlNL:()=>Jh});var Zh={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"}],answer:[{type:0,value:"Answer"}]},Jh={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"}],answer:[{type:0,value:"Antwoord"}]};var Ee={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 Ne,jsxs as Oo}from"react/jsx-runtime";var ty=({suggestion:t})=>{let e=E(pn),n=ey(),o=Mo(Pc(t.text)),s=Mo(kc(t.text)),r=Mo(Rc(t.text)),i=Mo(Nn),{replyOptions:a}=t,l=Zc(u=>{u.preventDefault(),u.stopPropagation(),!(o||!i)&&n(Io({platformSessionId:i,suggestion:t}))},[t,o,n,i]),c=Zc(u=>{if(u.preventDefault(),u.stopPropagation(),!i||!a)return;let d=parseInt(u.target.dataset.index,10),p=a[d];n(Lo({platformSessionId:i,reply:p,suggestion:t}))},[t,o,n,i]);return Oo(N,{onClick:l,className:Yh(Ee.root,{[Ee.isUsed]:o,[Ee.hasError]:r}),children:[Ne(H,{children:Oo(H.Content,{children:[Oo(H.Title,{className:Ee.title,children:[t.text," ",Ne(ss,{className:Ee.label,children:"analyse tool"})," ",r&&Ne("span",{className:Ee.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Ne("ul",{className:Ee.quickReplies,children:a.map(u=>Ne("li",{className:Ee.quickReply,children:u.title},u.title))})]})}),Oo(N.Actions,{fixed:r||o,children:[a&&a.length>0&&Ne(N.DropdownButton,{label:e("answer"),disabled:s,children:a.map((u,d)=>Ne(N.DropdownItem,{index:d,label:u.title,onClick:c},u.title))}),Ne(N.ActionButton,{primary:!0,disabled:o,onClick:l,label:e(o?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Jc=ty;import{jsx as Yc}from"react/jsx-runtime";var eu=()=>Yc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Yc("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 sy}from"react-redux";import{useCallback as ny}from"react";import{jsx as Xe,jsxs as No}from"react/jsx-runtime";var oy=({suggestion:t,lines:e,onEdit:n,onUse:o})=>{var p;let s=t.text||t.url||t.message,r=ao(s),i=E(pn),a=T("showImages"),l=T("fallbackImage"),c=g=>{g.preventDefault(),g.stopPropagation(),o(s)},u=g=>{g.preventDefault(),g.stopPropagation(),n(t)},d=ny(g=>{window.open(r,"_blank"),g.stopPropagation(),g.preventDefault()},[r]);return No(N,{onClick:c,"data-testid":"edit-suggestion",children:[No(H,{children:[a&&t.image&&Xe(H.Image,{src:ko(t,"small",l||void 0),title:t.title}),No(H.Content,{children:[t.title&&Xe(H.Title,{children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&Xe(N.Labels,{labels:t.searchKeywords}),Xe(H.Content,{cropText:e==="single",lineClamp:e==="multiple",children:s})]})]}),No(N.Actions,{children:[r&&Xe(N.ActionButton,{onClick:d,label:i("visitUrl")}),Xe(N.ActionButton,{primary:!0,onClick:u,label:i("preview")}),Xe(N.ActionButton,{primary:!0,onClick:c,label:i("useSuggestion")})]})]})},tu=oy;import{Fragment as iy,jsx as nu}from"react/jsx-runtime";var ry=({contentType:t,lines:e,suggestions:n})=>{let o=ee(),s=sy(gt),r=a=>{o.send(Bs,{state:s,suggestion:a,contentType:t})},i=(a,l)=>{o.send(ve,{text:a,suggestion:{...l,source:l.source,sourceText:l.text}})};return nu(iy,{children:n.map(a=>nu(tu,{suggestion:a,lines:e,onEdit:l=>r(l),onUse:l=>i(l,a)},a.text||a.url||a.message))})},ou=ry;var br={};K(br,{enUS:()=>ay,nlNL:()=>ly});var ay={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"}],linkPersonalcollection:[{type:0,value:"Personal Collection"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},ly={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"}],linkPersonalcollection:[{type:0,value:"Personal Collection"}],linkSummary:[{type:0,value:"Vat gesprek samen"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}]};var su={root:"_root_1bwme_1",loginText:"_loginText_1bwme_7",stateText:"_stateText_1bwme_8",sectionList:"_sectionList_1bwme_20",shortcutList:"_shortcutList_1bwme_24",shortcut:"_shortcut_1bwme_24",link:"_link_1bwme_50"};import{jsx as ru}from"react/jsx-runtime";var iu=()=>ru("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:ru("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 au}from"react/jsx-runtime";var lu=()=>au("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:au("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 M,jsxs as _t}from"react/jsx-runtime";var Do=(t,e)=>{let n=$(Se);uy(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},dy=()=>{let t=E(br),e=py(),n=T("isEmbedded"),o=y("Widget",su),s=T("showAutoflows"),r=T("showCustomMessages"),i=T("showPersonalCollectionLink"),a=T("showSummaryCommand"),l=T("showKnowledgeSearch"),c=T("showSearch"),u=$(xt),d=$(yo),p=$(Cc),g=$(go),h=$(_c),m=$(Dn),x=$(Hn),b=$(Se),f=$(Nn),v=$(Bc),C=$(gt),P=ee(),w=$(_a),O=$(Nc("/admin/personal-collection")),X=T("adminUrl");if(Do(()=>(e(cn(f)),e(Lc(f)),()=>{e(Ac(f))}),[e,x,r,f]),Do(()=>(e(be(f)),e(Tc(f)),()=>{e(wc(f))}),[e,x,s,f]),Do(()=>{d.forEach(({type:k})=>{e(k==="entities"?ae():he(k))})},[e,x,m,u]),Do(()=>(e(Cr()),()=>{e(Hc())}),[e,x,i,m]),x===!1)return M("div",{className:o.stateText,children:M("div",{children:M("p",{children:t("notSupported")})})},"supported");if(b===!1)return M("div",{className:o.loginText,children:M("div",{children:M(Co,{isEmbedded:n,loginUrl:X})})},"login");if(!u||!f||b===null||w||v)return M("div",{className:o.stateText,children:M("div",{children:M("p",{children:t("waiting")})})},"waiting");let D=c||a||l||O;return M("div",{className:cy(o.root),"data-testid":"widget",children:_t(is,{className:o.sectionList,children:[D&&M(Be,{title:t("actions"),type:"shortcuts",children:_t("div",{className:o.shortcutList,children:[c&&_t("button",{className:o.shortcut,onClick:()=>P.send("ShowCommandPalette",{isOpen:!0}),children:[M(dt,{}),t("linkSearch")]}),a&&_t("button",{className:o.shortcut,onClick:()=>P.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[M(lu,{}),t("linkSummary")]}),l&&_t("button",{className:o.shortcut,onClick:()=>P.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeSearch"}),children:[M(iu,{}),t("linkKnowledgeSearch")]}),O&&_t("a",{className:o.shortcut,target:"_blank",href:O,rel:"noreferrer",children:[M(eu,{}),t("linkPersonalcollection")]})]})}),r&&h.length>0&&M(Be,{type:"custom-messages","data-testid":"custom-messages",children:M(me,{withDivider:!0,children:h.map(k=>M(Jc,{suggestion:k},k.text))})}),s&&p.length>0&&M(Be,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:M(me,{withDivider:!0,children:M(qc,{})})}),d.map(({type:k,title:ne,amount:oe,lines:Vo})=>{var He;switch(k){case"entities":return g&&g.length>0&&M(Be,{type:k,title:ne,"data-testid":`type-${k}`,children:M(Qc,{entities:g})},k);default:return((He=C[k])==null?void 0:He.fetchState)==="done"&&C[k].suggestions.length>0&&M(Be,{type:k,title:ne,"data-testid":`type-${k}`,children:M(me,{withDivider:!0,children:M(ou,{lines:Vo,contentType:k,suggestions:C[k].suggestions.slice(0,oe)||[]})})},k)}})]})})},cu=dy;function uu(t){let e=new Range;return e.selectNodeContents(t),e}var dn=/[\u200B-\u200D\uFEFF]/g;function Pt(t,e,n){let o=new Range;if(t.firstChild===null&&e===0&&n===0)return o.selectNodeContents(t),o;let s=0,r=!1;function i(l,c){let u=-1,d=/[\u200B-\u200D\uFEFF]/;if(!d.test(l))return c;for(let p=0;p<=l.length;p++)if(d.test(l[p])||u++,u===c)return p;throw new Error("Offset out of range")}function a(l){var c;switch(l.nodeType){case Node.TEXT_NODE:{let u=l.textContent,d=u.replace(dn,""),p=s+d.length,g=e>=s&&e<=p,h=n>=s&&n<=p;if(g){let m=i(u,e-s);m===0&&!h?o.setStartBefore(l):o.setStart(l,m)}h&&(o.setEnd(l,i(u,n-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(l.tagName==="BR"&&(s===e&&o.setStartBefore(l),s++,s===n)){o.setEndAfter(l),r=!0;return}for(let d=0;d<l.childNodes.length&&(a(l.childNodes[d]),!r);d++);let u=(c=l.lastChild)==null?void 0:c.tagName;l.tagName==="DIV"&&u!=="DIV"&&u!=="BR"&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function Er(t,e){if(!t.contains(e.commonAncestorContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r}=e,i,a,l=0;function c(u){let d=u===n,p=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let g=u.textContent;d&&(i=l+g.substring(0,o).replace(dn,"").length),p&&(a=l+g.substring(0,r).replace(dn,"").length),l+=g.replace(dn,"").length;break}case Node.ELEMENT_NODE:{let{tagName:g}=u,h=u.nextSibling===null;g==="BR"&&!h&&l++;for(let m=0;m<u.childNodes.length&&(d&&m===o&&(i=l),c(u.childNodes[m]),p&&m===r-1&&(a=l),a===void 0);m++);!p&&g==="DIV"&&!h&&l++,p&&(a=l);break}default:break}}if(c(t),a===void 0)throw new Error("Could not determine start and end");return{start:i??a,end:a}}function Ho(t,e){if(!t.contains(e.commonAncestorContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let u=c===n,d=c===s;switch(u&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let p=u?o:0,g=d?r:void 0,h=c.textContent.replace(dn,"");p===0&&g===void 0?a+=h:a+=h.substring(p,g);break}case Node.ELEMENT_NODE:{let{tagName:p}=c,g=c.nextSibling===null;i===0&&p==="BR"&&!g&&(a+=`
4
+ `);for(let h=u?o:0;h<(d?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[h]),i!==1);h++);!d&&i===0&&p==="DIV"&&!g&&(a+=`
5
+ `);break}default:break}d&&i++}return l(t),a}var kt=class extends Ae{observer;getText(){let e=new Range;return e.selectNodeContents(this.element),Ho(this.element,e)}getHTML(){return this.element.innerHTML||""}getSelection(){if(document.activeElement!==this.element)return null;let e=window.getSelection();if(!e||e.rangeCount===0)return null;let n=e.getRangeAt(0);return!n||!this.element.contains(n.commonAncestorContainer)?null:Er(this.element,n)}getSelectedText(){if(!this.currentSelection)return"";let{start:e,end:n}=this.currentSelection;return Ho(this.element,Pt(this.element,e,n))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let n=this.getText(),o=e(this.element);(s=this.observer)==null||s.takeRecords(),Promise.resolve(o).then(()=>{this.currentText=this.getText(),n!==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,n=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>n.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var _r=class{constructor(e){this.name=e;_.warn("BroadcastChannel is not supported")}postMessage(){}addEventListener(){}removeEventListener(){}close(){}},Pr=class{constructor(e,n){this.name=e;this.options=n;this.broadcastChannel=new this.options.broadcastChannelConstructor(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(e)}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},kr=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.iframe=this.createIframe(),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];createIframe(){let e=`deepdesk-iframe-${this.name}`,n=document.getElementById(e);if(n)return n;let o=document.createElement("iframe"),s=`${this.targetOrigin}/v2/widget/liveengage/channel.html`,r=new URLSearchParams({channel:this.name,host:window.location.origin});return this.options.debug&&r.set("debug","1"),o.style.position="absolute",o.style.left="-999em",o.style.width="0px",o.style.height="0px",o.tabIndex=-1,o.id=e,o.title=`iframe-${this.name}`,o.src=`${s}?${r.toString()}`,o}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var n;(n=this.iframe.contentWindow)==null||n.postMessage(e,this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(n=>n()),(e=this.iframe)==null||e.remove()}},Rr=class{sessionId;deepdeskUrl;channel;broadcastChannelConstructor;eventMap;isIntegration;constructor(e){this.deepdeskUrl=e.deepdeskUrl,this.broadcastChannelConstructor=e.broadcastChannelConstructor||window.BroadcastChannel||_r,this.isIntegration=e.deepdeskUrl!==(e.origin||window.location.origin),this.eventMap=e.eventMap,this.setSessionId("deepdesk-general")}setSessionId(e){if(this.sessionId===e)return;this.cleanup(),_.info("Set sessionId",e),this.sessionId=e,this.channel=this.isIntegration?new kr(e,this.deepdeskUrl,{debug:!0}):new Pr(e,{broadcastChannelConstructor:this.broadcastChannelConstructor});let n=o=>{var s,r;o.origin===this.deepdeskUrl&&o.data.type==="event"&&(_.info("Received broadcast event",this.sessionId,o),(r=(s=this.eventMap)[o.data.name])==null||r.call(s,o.data.payload))};this.channel.onMessage(n)}send(e,n){var s,r,i;if(!this.sessionId)return;_.info("broadcast event",{sessionId:this.sessionId,name:e,payload:n});let o={type:"event",name:e,payload:n};(r=(s=this.eventMap)[e])==null||r.call(s,n),(i=this.channel)==null||i.postMessage(o)}cleanup(){var e;(e=this.channel)==null||e.close(),delete this.channel}},pu=Rr;var Rt=class extends Error{constructor(n,o){super(n);this.body=o}name="CustomError"};var Ir=t=>new Promise(e=>{setTimeout(e,t)});var It=class extends Rt{name="ClientError"},Lr=class extends Rt{name="ServerError"},_e=class t{constructor(e="",n={}){this.baseUrl=e;this.options=n;n.fetch&&(this.fetch=n.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}async request(e,n={}){let o={isStale:!1},s=`${this.baseUrl}${e}`,r=this.fetch,{abortLatest:i=!1,attempts:a=1,retryDelay:l=500,refreshTokenOn401:c=!0,retryOnError:u=C=>C instanceof TypeError,retryOnResponse:d=C=>C.status>=500,version:p="v1",...g}=n,h={credentials:"include",...g,headers:{"Content-Type":"application/json",...g.headers}};n.method!==void 0&&n.method!=="GET"&&this.csrfToken&&(h.headers={...h.headers,"X-CSRFToken":this.csrfToken}),typeof p=="string"&&(h.headers={...h.headers,"X-Deepdesk-API-Version":p});let m=a,x=!1;if(!r)throw new Error("fetch is not set");this.latestRequestByUrl[s]&&i&&(this.latestRequestByUrl[s].isStale=!0),this.latestRequestByUrl[s]=o;let b=async()=>(m--,r(s,h).then(async C=>d(C)&&!o.isStale&&m>0?(await Ir(l),b()):C.status===401&&c===!0&&x===!1?(x=!0,await this.refreshToken(),b()):C).catch(async C=>{if(u(C)&&!o.isStale&&m>0)return await Ir(l),b();throw C})),f=await b(),v=await f.json().catch(()=>null);if(o.isStale)throw new Error("Aborted");if(f.status>=500)throw new Lr("Server Error",v);if(f.status===401)throw new It("Unauthorized",v);if(f.status===403)throw new It("Forbidden",v);if(f.status===404)throw new It("Not Found",v);if(f.status>=400)throw new It("Bad Request",v);return delete this.latestRequestByUrl[s],v}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:n}=await this.get("/apis/admin/session/validate/",{version:null});return!!n}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,{method:"POST",body:JSON.stringify(n),...o})}patch(e,n,o){return this.request(e,{method:"PATCH",body:JSON.stringify(n),...o})}put(e,n,o){return this.request(e,{method:"PUT",body:JSON.stringify(n),...o})}delete(e,n){return this.request(e,{method:"DELETE",...n})}};var my;(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||={})})(my||={});function Fo(t){return{...A(t),tags:t.tags}}var De=class t{constructor(e,n={}){this.options=n;this.client=new _e(e,{fetch:n.fetch}),this.client.patchFetch(o=>async(s,r)=>{let i=await o(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(),_.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let n=await this.client.post("/api/conversations",{...F(e),tags:e.tags},{version:"v2"});return Fo(n)}async getProfile(e){let n=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return A(n)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return A(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return A(e)}async checkUserExists(e){let{exists:n}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return n}async getConversationBySessionId(e,n={}){await this.preflight(),_.info(`Getting conversation for session ${e}`);let{attempts:o=1,retryDelay:s=1e3}=n,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:o,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return Fo(r)}async isConversationSupported(e,n={}){_.info(`Check if conversation for session ${e} is supported`);let{attempts:o=1,retryDelay:s=1e3}=n;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:o,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,n){let o=F(n);n.tags&&(o.tags=n.tags);let s=await this.client.put(`/api/conversations/${e}`,o,{version:"v2"});return Fo(s)}async postMessages(e,n){return(await this.client.post(`/api/conversations/${e}/messages`,n.map(s=>({...F(s),tags:s.tags})),{version:"v2"})).map(s=>Fo(s))}async sendEvent(e,n){let{data:o,...s}=n,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",F({...r,...s,data:o,name:e}),{version:"v2"})}async sendEventV1(e,n){let o=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:F({...n,...o})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(o=>o.text)})).entities}async getSummary(e){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(o=>o.text&&o.source)}})).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(n=>{throw _.warn(`Invalid token '${e}'`),n})}async authenticateWithKey(e,n){await this.client.post("/apis/admin/session/api-key/",F(n),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,n={},o){return o==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${o}`,F(n),{abortLatest:!0})).map(r=>({...A(r),text:r.text||r.url||r.message,source:o,type:o})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,n){return(await this.client.post(`/api/conversations/${e}/autocomplete`,F(n),{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 n=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return A(n).map(o=>({...o,text:o.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let n=await this.client.post("/api/style-suggestions",F(e),{abortLatest:!0});return A(n)}async search(e){let n=await this.client.post(`/api/profiles/${e.profile}/search`,F(e),{version:"v2"});return A(n)}async knowledgeSearch(e,n,o){let s=await this.client.post("/api/knowledge-search/search",F({question:e.question,promptInstruction:e.promptInstruction,profile:o,chatHistory:n.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return A(s)}async requestLoginByEmail(e){let n=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return A(n)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let n=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return A(n)}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(ii);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&_.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};var mn=class{constructor(e,n){this.url=e;this.options={timeout:25e3,...n}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(Is(e),n=>{let{data:o}=n;try{let s=JSON.parse(o);this.emit(e,A(s))}catch{_.warn(`Invalid JSON for ${e}: ${o}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let n=!1;e.onopen=()=>{n=!0},e.onerror=()=>{n&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(o=>{this.proxyEvent(o)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,n){this.eventListeners[e]&&this.eventListeners[e].forEach(o=>o(n))}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),this.proxyEvent(e),()=>{this.off(e,n)}}off(e,n){let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}};var gy;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(gy||={});var gn=class{constructor(e,n={}){this.apiUrl=e;this.client=new _e(e,n)}client;streams={};logger=_;async getCustomMessages(e){let n=await this.client.get(`/sessions/${e}/suggestions`);return A(n.suggestions)}async sendCustomMessage(e,n){let o=await this.client.post(`/sessions/${e}/messages`,F(n));return A(o)}async answerCustomMessage(e,n){await this.client.post(`/sessions/${e}/answers`,F(n))}async getAutoflows(e){let n=await this.client.get(`/sessions/${e}/autoflows`);return A(n.autoflows)}async startAutoflowSession(e){let n=await this.client.post("/autoflow-sessions",F(e));return A(n)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new mn(`${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 Cy,configureStore as Ty}from"@reduxjs/toolkit";import{createSlice as fy}from"@reduxjs/toolkit";var du={startTime:null,stopTime:null},mu=fy({name:"handlingTime",initialState:du,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(R,()=>du)}}),{handlingTimeStart:gu,handlingTimeStop:Bo,handlingTimeReset:fu}=mu.actions,hu=mu.reducer;var yu=(t={})=>{let e={onAuthError:po(!1),...t};return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};import{createAsyncThunk as hy,createSlice as yy}from"@reduxjs/toolkit";var Ar={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var Qe=hy("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:n}=e.extra,o=e.getState(),{showStyleSuggestions:s}=o.settings,r=(i=o.conversation.current)==null?void 0:i.profileCode;if(!s)return Ar.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return n.getStyleSuggestions({profileCode:r,message:t})}),Sy=yy({name:"styleSuggestions",initialState:Ar,reducers:{},extraReducers:t=>{t.addCase(Qe.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(Qe.rejected,e=>{e.fetchState="error"}).addCase(Qe.fulfilled,(e,n)=>{e.fetchState="done",ke(e.list,n.payload)||(e.list=n.payload)}).addCase(R,()=>Ar)}}),Su=Sy.reducer;var vu=(t={})=>{let e,n=!0,o={getStyleSuggestions:Qe,debounce:500,...t};return s=>r=>i=>{var g;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:u}=c.settings;if(!((g=c.conversation.current)==null?void 0:g.id)||!u)return l;let{text:p}=c.input;return p===a&&!n||(clearTimeout(e),p==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:p}))},t.debounce)),l}};function vy(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var xu=(t={})=>{let e={getTextSuggestions:he,getAutocompleteSuggestions:Wt,debounce:200,check:vo,...t},n,o=!0;return s=>r=>i=>{var x;let{input:{userCommitted:a}}=s.getState(),l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{recommendTextSuggestions:u,showTabCompletion:d}=c.settings,p=(x=c.conversation.current)==null?void 0:x.id,g=i.type===uo.toString();if(!p||!u&&!d)return l;let{input:{userCommitted:h}}=c;return vy(h,a)&&!o&&!g||(clearTimeout(n),!e.check(c))||(n=setTimeout(()=>{o=!1;let b=rt(c);b===""?s.dispatch(e.getTextSuggestions("default")):s.dispatch(e.getAutocompleteSuggestions(b))},g?0:e.debounce)),l}};var Cu=Qe.fulfilled.toString();function xy(t,e){let n=new Set([...e.keywordMatches.map(s=>s.keyword)]),o=[];return n.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||o.push(...i.slice(0,a))}),o}var Tu=t=>e=>n=>o=>{var u;if(o.type!==Cu){n(o);return}let s=e.getState().styleSuggestions.list;n(o);let r=e.getState(),i=r.styleSuggestions.list,a=(u=r.conversation)==null?void 0:u.current,{agentInfo:l}=r.info;if(s===i)return;let c=xy(s,i);o.type===Cu&&c.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,agentId:l.agentId??(a==null?void 0:a.agentId),agentName:l.agentName??(a==null?void 0:a.agentName),agentEmail:l.agentEmail??(a==null?void 0:a.agentEmail),data:{keywordMatches:c}})};var wy=Cy({activeSuggestion:Da,answer:bl,auth:Qa,autoflows:bc,conversation:di,contentTypes:al,customMessages:Mc,exchangeToken:Fc,entities:ul,handlingTime:hu,info:ra,input:gs.reducer,overlayInput:z.reducer,settings:li,profile:Il,search:pa,summary:yl,styleSuggestions:Su,ui:Ua,textSuggestions:La});function wu(t){return Ty({reducer:wy,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),yu(),xu({debounce:200}),vu({debounce:500}),Tu(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var by=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Ey=t=>e=>n=>o=>{var a;let s=e.getState(),r=us("inlineSuggestions")(s);switch(o.type){case ye.toString():{let l=Ea(o.payload.contentType)(e.getState()),c=l.indexOf(o.payload.suggestion);t.emit("edit-suggestion",{contentType:o.payload.contentType,index:c,suggestions:l});break}case ie.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:by(o.payload.suggestion),...o.payload,replace:o.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case zn.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...o.payload,replace:o.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Bt.toString():{let l=e.getState(),{text:c,selection:u}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:u},{mayApplyChanges:!0});break}case $n.toString():t.emit("select-image",o.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case ae.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:o.payload}});break;case xe.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{inputText:JSON.stringify(o.payload.original),summary:o.payload.summary}});break;case Z.toString():t.sendEvent(o.payload.name,{conversationId:((a=o.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:o.payload.data});break;case qn.toString():t.handleKeyDown(o.payload);break;case Ft.toString():t.logSendMessage(o.payload);break;case Wn.toString():t.logSendEditSuggestionMessage(o.payload);break;case Gn.toString():t.handleInputChanged(o.payload);break;default:break}let i=n(o);switch(o.type){case Ft.toString():t.handleAfterSendMessage(o.payload);break;case Gt.toString():t.onUpdateShowTabHint(o.payload);break;case Bo.toString():t.logHandlingTime();break;case ie.toString():{r&&(e.dispatch(Ie([])),e.dispatch(Le()));break}default:break}return i},bu=Ey;function Mr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Eu(t,e){var s,r,i;let{startTime:n,stopTime:o}=t.handlingTime;if(!n||!o)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:Mr(n),timeStop:Mr(o)}}function Or(t,e,n){var P,w,O;let{text:o,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,pastes:u,cuts:d,deletions:p,textSuggestions:g,offeredTextSuggestions:h}}=e[t],m=o.length,b=g.reduce((X,{text:D,searchTerm:k})=>X+D.length-(k?k.length:0),0),f=c??Date.now(),v=(Date.now()-f)/1e3,C=s/v;return{conversationId:e.conversation.current.id,source:"agent",text:o,clientVersion:n.version,pastes:u,cuts:d,deletions:p,lenTextTyped:s,lenTextTotal:m,lenTextAssisted:b,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:v,charsPerSecond:C,numPastes:l,textSuggestionsV2:g,suggestionsCounters:[{source:"gpt",countOffered:h.filter(X=>X.source==="gpt").length}],agentId:(P=e.info.agentInfo)==null?void 0:P.agentId,agentName:(w=e.info.agentInfo)==null?void 0:w.agentName,agentEmail:(O=e.info.agentInfo)==null?void 0:O.agentEmail}}function _u(t,e){let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;return o instanceof HTMLElement?_u(o,e):null}function Pu(t,e){return _u(t,e)}function ku(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Nr(t){return t instanceof HTMLElement&&(Te(t)||Jn(t))}var Ru=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch{return e}}catch{return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch{_.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function _y(t){return t.offsetParent!==null}function Iu(t){if(!_y(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 Dr(t,e,n=100){let o=Iu(t);e({isVisible:o});let s=setInterval(()=>{let r=Iu(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}import{jsx as te}from"react/jsx-runtime";var Lu=Ru("showTabHint",!0),Uo=class t{static version="10.1.2";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:n,version:o=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new De(l,{token:r,fetch:i}),this.version=o,this.instanceId=t.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[bu({emit:(u,d,p)=>this.emit(u,d,p),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),logSendEditSuggestionMessage:u=>this.logSendEditMessage(u),onUpdateShowTabHint:u=>Lu.update(u),sendEvent:(u,d)=>this.deepdeskApi.sendEvent(u,d)})]};n&&Object.assign(c,{deepdeskBrokerAPI:new gn(n)}),this.store=wu(c),this.broadcastEvents=new pu({debug:!0,deepdeskUrl:l,eventMap:Za(this.store)}),this.store.dispatch(Ht),this.store.dispatch(Gt(Lu.value())),this.store.dispatch(Ht({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(_.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(_.warn("Profile has not been loaded (yet)"),!0):(_.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(po(null)),this.store.dispatch(We()),new Promise(e=>{let n=this.store.subscribe(()=>{let o=this.store.getState();Se(o)&&za(o)!=="loading"&&e()});this.unmountHandlers.push(()=>{n()})})}isLoggedIn(){return this.deepdeskApi.isLoggedIn()}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(n){_.warn("Failed to attach user:",n)}}async isConversationSupported(e,n){return(await this.store.dispatch(ds({sessionId:e,options:n}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Fn(e))).payload}async getConversationBySessionId(e,n){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Bn({sessionId:e,options:n}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(ms(e))).payload}async postMessages(e){return(await this.store.dispatch(Un(e))).payload}async updateConversation(e){return(await this.store.dispatch(Kn(e))).payload}resetConversation(){this.store.dispatch(R()),this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(xe());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Ht(e))}setVisitorInfo(e){this.store.dispatch(sa(e))}async setAgentInfo(e){await this.store.dispatch(jt(e))}async setAgentSettings(e){await this.store.dispatch(As(e))}async getAgentSettings(){return(await this.store.dispatch(Ms())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();let e=[];return this.store.dispatch(uo()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Gn(e))}syncInputHtml(e){this.store.dispatch(Ei(e))}notifyKeyDown(e){this.store.dispatch(qn(e))}notifyPaste(e,n){this.store.dispatch(wi({text:e,selectionText:n}))}notifyCut(e){this.store.dispatch(Ci(e))}notifyExternalSuggestion(e){this.store.dispatch(ie(e)),this.store.dispatch(Le())}notifyEditSuggestion(e){this.store.dispatch(Ra(e.contentType,e.suggestions)),this.store.dispatch(ye({contentType:e.contentType,suggestion:typeof e.index=="number"?e.suggestions[e.index]:null}))}handleInputChanged(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui;n&&o&&this.store.dispatch(ht({collapse:!1})),this.inputMediator&&this.store.dispatch(fi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(Ie([])))}handleKeyDown(e){let{overlayCollapsed:n}=this.state.ui,{textSuggestions:o,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=o.length>0,l=s!==-1;if(this.store.dispatch(Ti(jn(e))),!(e.key!=="Tab"&&!this.settings.showTextSuggestions))switch(e.key){case"Up":case"ArrowUp":if(n||!a||!r||e.shiftKey)return;this.store.dispatch(Si()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault();return;case"Down":case"ArrowDown":{if(n||!a||!r||e.shiftKey)return;this.store.dispatch(xi());let{selectedSuggestionIndex:c}=this.state.input;c===-1?this.store.dispatch(Bt()):i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault();return}case"Esc":case"Escape":{l?(this.store.dispatch(Xn(-1)),this.store.dispatch(Bt()),e.preventDefault()):n||(this.store.dispatch(ht({collapse:!0})),this.store.dispatch(Ba(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:c}=this.state.input,u=c.text.substring(0,c.selection.end),{tabCompletionSuggestion:d}=this.state.input;this.store.dispatch(Gt(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):this.settings.showTabCompletion&&d&&d.text.startsWith(u)&&(this.store.dispatch(ie({text:d.text,suggestion:d,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Le())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(bi()),this.store.dispatch(Ie([]))}handlingTimeStart(){this.state.handlingTime.startTime||(_.info("Start handling time"),this.store.dispatch(gu()))}handlingTimeStop(){this.state.handlingTime.startTime&&(_.info("Stop handling time"),this.store.dispatch(Bo()))}logSendMessage(e){let n=Or("input",this.state,{version:this.version});e&&Object.assign(n,{text:e}),this.deepdeskApi.sendEventV1("Send Message",n),this.emit("send-message-event",n)}logSendEditMessage(e){let n=Or("overlayInput",this.state,{version:"v2"});e&&Object.assign(n,{text:e}),this.store.dispatch(yi(this.state.overlayInput.metrics)),this.deepdeskApi.sendEvent("suggestion edited",{data:n})}logHandlingTime(){let e=Eu(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(fu())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Le()),this.store.dispatch(Ft(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let n=this.state.input.selectedSuggestionIndex,{textSuggestions:o}=this.state.input;this.store.dispatch(ie({text:o[n].text,suggestion:o[n],eventMetrics:e,replace:"until-selection-end"}))}emit(e,n,o={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(n)}catch(i){_.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),_.error(i)}})};this.inputMediator&&o.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let n=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&n();let o=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==o&&(o=this.hasConversation(),o&&n())})}overlayContainerFactory(e,n,o,s){let[r,i]=Kt(o,s);return r.dataset.testid=e,n!=null&&n.rootNode&&r.classList.add(n.rootNode),this.unmountHandlers.push(()=>{Hr(r),i(),r.remove()}),r}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return je(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,n.appendChild(s),this.unmountHandlers.push(()=>{Hr(s),s.remove()}),s}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Nr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:o={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:u,isEmbedded:d,detectSubmit:p,insertLink:g,inputMediator:h,closestScrollSelector:m,appendOverlayTo:x,inlineSuggestions:b}=n;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:u,showTextSuggestions:i,insertLink:g,isEmbedded:d,inlineSuggestions:b});let f=m&&Pu(e,m)||void 0,v=this.overlayContainerFactory("deepdesk-tab-completion",o,e,{appendTo:x,closestScrollElement:f,mirrorOverflow:!0,onRemove:()=>this.unmount()}),C=this.overlayContainerFactory("deepdesk-suggestions-overlay",o,f||e,{appendTo:x});n.automaticHandlingTime&&this.setupHandlingTime(e),Ko(te(nn,{store:this.store,customStyles:o,children:te($t,{broadcastEvents:this.broadcastEvents,children:te(Sc,{inputElement:e})})}),v),Ko(te(nn,{store:this.store,customStyles:o,children:te($t,{broadcastEvents:this.broadcastEvents,children:te(wo,{})})}),C),Ko(te(nn,{store:this.store,customStyles:o,children:te($t,{broadcastEvents:this.broadcastEvents,children:te(Nl,{})})}),this.createContainer("deepdesk-overlays")),je(e),this.inputMediator=h||(Te(e)?new Me(e):new kt(e)),this.inputMediator.on("change",({plainText:w})=>{this.notifyInputChanged(w)}),this.inputMediator.on("updated",({rawHtml:w})=>{w!=null&&this.syncInputHtml(w)}),this.inputMediator.on("keydown",w=>{this.notifyKeyDown(w)}),this.inputMediator.on("paste",({pastedText:w,selectionText:O})=>{this.notifyPaste(w,O)}),this.inputMediator.on("cut",({selectionText:w})=>{this.notifyCut(w)});let P;this.inputMediator.on("selection",w=>{clearTimeout(P),w===null?P=setTimeout(()=>{w!==null&&this.store.dispatch(fs(w))},500):this.store.dispatch(fs(w))}),this.inputMediator.on("disabled",()=>{var w;(w=this.inputMediator)==null||w.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(ft(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(ft(!0))),this.store.dispatch(hi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.whenConversationLoaded(()=>{var w;this.broadcastEvents.setSessionId((w=this.state.conversation.current)==null?void 0:w.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(n=>n()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,n={}){if(this.widgetRoot&&_.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,showPersonalCollectionLink:r,isEmbedded:i}=n;this.widgetRoot=e,this.configure({showImages:s,showPersonalCollectionLink:r,isEmbedded:i}),Ko(te(nn,{store:this.store,customStyles:o,children:te($t,{broadcastEvents:this.broadcastEvents,children:te(cu,{})})}),e),this.whenConversationLoaded(()=>{var a;this.broadcastEvents.setSessionId((a=this.state.conversation.current)==null?void 0:a.sessionId)})}unmountWidget(){this.widgetRoot&&Hr(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let n=Dr(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){ku(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(en());let e=xt(this.state);e&&this.store.dispatch(Ht({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:e.knowledgeSearch,recommendTextSuggestions:e.recommendTextSuggestions}))}),this.loadProfileConfigPromise)}async checkForTrialMode(e){try{let{account:n}=await this.deepdeskApi.getPlatformConfig();if(!n.isTrial){this.shouldRender=!0;return}if(_.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(n){let{message:o}=n;_.info(o),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=yo(this.state);try{n.forEach(({type:o})=>{o==="entities"?this.store.dispatch(ae()):this.store.dispatch(he(o))})}catch(o){this.handleError(o)}}};async function Py(t,e,n={}){let{value:o}=t,{start:s,end:r}=n.replace??{start:0,end:o.length},i=`${o.slice(0,s)}${e}${o.slice(r)}`,a=n.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(n.setValue)return n.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function ky(t,e,n={}){let o=n.replace?Pt(t,n.replace.start,n.replace.end):uu(t),s,r=()=>{if(n.setRange)return n.setRange(o.cloneRange());o.deleteContents(),s=document.createElement("span"),o.insertNode(s),e.split(`
6
+ `).reverse().forEach((i,a)=>{a>0&&o.insertNode(document.createElement("br")),o.insertNode(document.createTextNode(i))}),o.commonAncestorContainer===t&&o.surroundContents(document.createElement("div"))};return Promise.resolve(r()).then(()=>{try{if(n.selectionAfter!==!1){t.focus();let i=n.selectionAfter?Pt(t,n.selectionAfter.start,n.selectionAfter.end):(o.collapse(!1),o),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 Ry(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function Iy(t,e,n){await new De(t).authenticateWithKey(e,n)}async function Ly(t){let n=await new _e(t).get("/platform/config/",{version:null});return A(n)}async function Ay(t){let n=await(t.fetch??window.fetch)(t.url),o=await n.blob();return new File([o],t.name,{type:t.mimeType??n.headers.get("Content-Type")??"image/jpeg"})}async function My(t,e){let n=await Ay(e),o=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[n]}),t.dispatchEvent(o)}finally{Object.hasOwn(t,"files")&&delete t.files}}export{H as Card,yp as Chip,kt as ContentEditableInput,De as DeepdeskAPI,Uo as DeepdeskSDK,Ae as InputMediator,Ue as InputType,os as KeyboardHint,ss as Label,On as Locale,Be as Section,is as SectionList,Ke as Sources,N as Suggestion,me as SuggestionList,Me as TextAreaInput,nt as ToggleButton,My as attachFile,Iy as authenticateWithKey,Kt as createOverlayContainer,Pt as createRangeFromOffsets,on as escapeHTML,Ly as fetchPlatformConfig,Ry as formatTextMarkup,Er as getRangeOffsets,Ho as getRangeText,Nr as isSupportedInputElement,ky as updateContentEditable,Py as updateTextArea,y as useStyles,Dr as waitForElementVisibilityChange};