@deepdesk/deepdesk-sdk 10.1.1 → 10.1.3
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/README.md +2 -59
- package/dist/index.cjs.js +5 -5
- package/dist/index.d.mts +207 -199
- package/dist/index.d.ts +207 -199
- package/dist/index.esm.js +5 -5
- package/dist/index.iife.js +29 -29
- package/package.json +4 -3
- package/styles/index.js +1 -1
- package/styles.css +1 -1
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 jp=Object.defineProperty;var K=(t,e)=>{for(var o in e)jp(t,o,{get:e[o],enumerable:!0})};import Wn from"classnames";import $p,{createContext as Xp,useContext as Gn,useEffect as Qp,useState as Zp}from"react";import Vp,{useContext as qp}from"react";import Wp from"classnames";var Mt=Vp.createContext({});function y(t,e){let{debug:o,...n}=qp(Mt),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let l=s[i];return{...r,[i]:Wp(a,l,o?`${t}__${i}`:!1)}},{}):e}var Kr={root:"_root_vr71j_1"};import{jsx as yo,jsxs as Gp}from"react/jsx-runtime";var Ur=()=>Gp("svg",{className:Kr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[yo("defs",{children:yo("style",{children:".cls-1 { fill: #b3b3b3; }"})}),yo("title",{children:"Failed loading image"}),yo("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 qn={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 So=Xp(qn),Jp=({title:t,src:e})=>{let o=Gn(So),[n,s]=Zp(!1);return Qp(()=>{s(!1)},[e]),Ye("div",{className:o.imageWrapper,children:e&&!n?Ye("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):Ye(Ur,{})})},Yp=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=Gn(So);return Ye("div",{className:Wn(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},eu=({as:t="h1",cropText:e=!1,className:o,children:n})=>{let s=Gn(So);return $p.createElement(t,{className:Wn(s.title,o,{[s.contentIsCropped]:e})},n)},vo=({children:t})=>{let e=y("Card",qn);return Ye("div",{className:Wn(e.root),children:Ye(So.Provider,{value:e,children:t})})};vo.Image=Jp;vo.Content=Yp;vo.Title=eu;var B=vo;var zr={root:"_root_nkim0_1"};import{createContext as du,useContext as mu}from"react";var $n=function(t,e){return $n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,n){o.__proto__=n}||function(o,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=n[s])},$n(t,e)};function Ot(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");$n(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var Z=function(){return Z=Object.assign||function(e){for(var o,n=1,s=arguments.length;n<s;n++){o=arguments[n];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},Z.apply(this,arguments)};function jr(t,e){var o={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s])&&(o[n[s]]=t[n[s]]);return o}function _o(t,e,o){if(o||arguments.length===2)for(var n=0,s=e.length,r;n<s;n++)(r||!(n in e))&&(r||(r=Array.prototype.slice.call(e,0,n)),r[n]=e[n]);return t.concat(r||Array.prototype.slice.call(e))}var xo;(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"})(xo||(xo={}));var bo=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 Co;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Co||(Co={}));function Xn(t){return t.type===re.literal}function Vr(t){return t.type===re.argument}function wo(t){return t.type===re.number}function To(t){return t.type===re.date}function Eo(t){return t.type===re.time}function ko(t){return t.type===re.select}function Po(t){return t.type===re.plural}function qr(t){return t.type===re.pound}function Io(t){return t.type===re.tag}function Ro(t){return!!(t&&typeof t=="object"&&t.type===Co.number)}function Nt(t){return!!(t&&typeof t=="object"&&t.type===Co.dateTime)}function Qn(t){t.forEach(function(e){if(delete e.location,ko(e)||Po(e))for(var o in e.options)delete e.options[o].location,Qn(e.options[o].value);else wo(e)&&Ro(e.style)||(To(e)||Eo(e))&&Nt(e.style)?delete e.style.location:Io(e)&&Qn(e.children)})}function Wr(t,e){e===void 0&&(e={}),e=Z({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new bo(t,e).parse();if(o.err){var n=SyntaxError(xo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||Qn(o.val),o.val}function Lo(t,e){var o=e&&e.cache?e.cache:iu,n=e&&e.serializer?e.serializer:ru,s=e&&e.strategy?e.strategy:ou;return s(t,{cache:o,serializer:n})}function tu(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Gr(t,e,o,n){var s=tu(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function $r(t,e,o){var n=Array.prototype.slice.call(arguments,3),s=o(n),r=e.get(s);return typeof r>"u"&&(r=t.apply(this,n),e.set(s,r)),r}function Zn(t,e,o,n,s){return o.bind(e,t,n,s)}function ou(t,e){var o=t.length===1?Gr:$r;return Zn(t,this,o,e.cache.create(),e.serializer)}function nu(t,e){return Zn(t,this,$r,e.cache.create(),e.serializer)}function su(t,e){return Zn(t,this,Gr,e.cache.create(),e.serializer)}var ru=function(){return JSON.stringify(arguments)};function Jn(){this.cache=Object.create(null)}Jn.prototype.get=function(t){return this.cache[t]};Jn.prototype.set=function(t,e){this.cache[t]=e};var iu={create:function(){return new Jn}},Ao={variadic:nu,monadic:su};var Fe;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Fe||(Fe={}));var Dt=function(t){Ot(e,t);function e(o,n,s){var r=t.call(this,o)||this;return r.code=n,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var Yn=function(t){Ot(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),Fe.INVALID_VALUE,r)||this}return e}(Dt);var Xr=function(t){Ot(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),Fe.INVALID_VALUE,s)||this}return e}(Dt);var Qr=function(t){Ot(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),Fe.MISSING_VALUE,n)||this}return e}(Dt);var U;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(U||(U={}));function au(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==U.literal||o.type!==U.literal?e.push(o):n.value+=o.value,e},[])}function lu(t){return typeof t=="function"}function Bt(t,e,o,n,s,r,i){if(t.length===1&&Xn(t[0]))return[{type:U.literal,value:t[0].value}];for(var a=[],l=0,c=t;l<c.length;l++){var p=c[l];if(Xn(p)){a.push({type:U.literal,value:p.value});continue}if(qr(p)){typeof r=="number"&&a.push({type:U.literal,value:o.getNumberFormat(e).format(r)});continue}var d=p.value;if(!(s&&d in s))throw new Qr(d,i);var u=s[d];if(Vr(p)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?U.literal:U.object,value:u});continue}if(To(p)){var g=typeof p.style=="string"?n.date[p.style]:Nt(p.style)?p.style.parsedOptions:void 0;a.push({type:U.literal,value:o.getDateTimeFormat(e,g).format(u)});continue}if(Eo(p)){var g=typeof p.style=="string"?n.time[p.style]:Nt(p.style)?p.style.parsedOptions:n.time.medium;a.push({type:U.literal,value:o.getDateTimeFormat(e,g).format(u)});continue}if(wo(p)){var g=typeof p.style=="string"?n.number[p.style]:Ro(p.style)?p.style.parsedOptions:void 0;g&&g.scale&&(u=u*(g.scale||1)),a.push({type:U.literal,value:o.getNumberFormat(e,g).format(u)});continue}if(Io(p)){var h=p.children,m=p.value,_=s[m];if(!lu(_))throw new Xr(m,"function",i);var w=Bt(h,e,o,n,s,r),f=_(w.map(function(k){return k.value}));Array.isArray(f)||(f=[f]),a.push.apply(a,f.map(function(k){return{type:typeof k=="string"?U.literal:U.object,value:k}}))}if(ko(p)){var v=p.options[u]||p.options.other;if(!v)throw new Yn(p.value,u,Object.keys(p.options),i);a.push.apply(a,Bt(v.value,e,o,n,s));continue}if(Po(p)){var v=p.options["=".concat(u)];if(!v){if(!Intl.PluralRules)throw new Dt(`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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}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
|
|
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.1";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&&
|
|
3
|
+
`,Fe.MISSING_INTL_API,i);var x=o.getPluralRules(e,{type:p.pluralType}).select(u-(p.offset||0));v=p.options[x]||p.options.other}if(!v)throw new Yn(p.value,u,Object.keys(p.options),i);a.push.apply(a,Bt(v.value,e,o,n,s,u-(p.offset||0)));continue}}return au(a)}function cu(t,e){return e?Z(Z(Z({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=Z(Z({},t[n]),e[n]||{}),o},{})):t}function pu(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=cu(t[n],e[n]),o},Z({},t)):t}function es(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function uu(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Lo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,_o([void 0],o,!1)))},{cache:es(t.number),strategy:Ao.variadic}),getDateTimeFormat:Lo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,_o([void 0],o,!1)))},{cache:es(t.dateTime),strategy:Ao.variadic}),getPluralRules:Lo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,_o([void 0],o,!1)))},{cache:es(t.pluralRules),strategy:Ao.variadic})}}var Zr=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(c){var p=r.formatToParts(c);if(p.length===1)return p[0].value;var d=p.reduce(function(u,g){return!u.length||g.type!==U.literal||typeof u[u.length-1]!="string"?u.push(g.value):u[u.length-1]+=g.value,u},[]);return d.length<=1?d[0]||"":d},this.formatToParts=function(c){return Bt(r.ast,r.locales,r.formatters,r.formats,c,void 0,r.message)},this.resolvedOptions=function(){var c;return{locale:((c=r.resolvedLocale)===null||c===void 0?void 0:c.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,l=jr(i,["formatters"]);this.ast=t.__parse(e,Z(Z({},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=pu(t.formats,n),this.formatters=s&&s.formatters||uu(this.formatterCache)}return Object.defineProperty(t,"defaultLocale",{get:function(){return t.memoizedDefaultLocale||(t.memoizedDefaultLocale=new Intl.NumberFormat().resolvedOptions().locale),t.memoizedDefaultLocale},enumerable:!1,configurable:!0}),t.memoizedDefaultLocale=null,t.resolveLocale=function(e){if(!(typeof Intl.Locale>"u")){var o=Intl.NumberFormat.supportedLocalesOf(e);return o.length>0?new Intl.Locale(o[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=Wr,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 gu(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var fu="dummy",ts=du(null);function T(t){let e=mu(ts);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=t[e]??{};return(n,s)=>{let r=gu(o,n);return r?new Zr(r).format(s):(e!==fu&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}var os={};K(os,{enUS:()=>hu,nlNL:()=>yu});var hu={experimental:[{type:0,value:"Experimental"}]},yu={experimental:[{type:0,value:"Experimenteel"}]};import{jsx as Yr}from"react/jsx-runtime";var Jr=({children:t})=>{let e=y("Chip",zr);return Yr("span",{className:e.root,children:t})},Mo=()=>{let t=T(os);return Yr(Jr,{children:t("experimental")})},Su=Jr;import vu from"classnames";var ei={root:"_root_cq1yq_1"};import{jsx as bu}from"react/jsx-runtime";var _u={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},xu=({className:t,keyCode:e,...o})=>{let n=y("KeyboardHint",ei);return bu("span",{"data-key":_u[e],className:vu(t,n.root),...o})},ns=xu;import Cu from"classnames";var ti={root:"_root_4a08n_1"};import{jsx as Tu}from"react/jsx-runtime";var wu=({className:t,children:e,...o})=>{let n=y("Label",ti);return Tu("span",{...o,className:Cu(t,n.root),children:e})},ss=wu;var oi={root:"_root_jlggj_1",subTitleContainer:"_subTitleContainer_jlggj_5",subtitle:"_subtitle_jlggj_9",suggestions:"_suggestions_jlggj_17"};import{jsx as rs,jsxs as ku}from"react/jsx-runtime";var Eu=({title:t,children:e,type:o,...n})=>{let s=y("Section",oi);return ku("section",{...n,className:s.root,"data-section-type":o,children:[t&&rs("div",{className:s.subTitleContainer,children:rs("span",{className:s.subtitle,children:t})}),rs("div",{className:s.suggestions,children:e})]})},Ke=Eu;import Pu from"classnames";import Iu from"react";var ni={root:"_root_19wxp_1"};import{jsx as Lu}from"react/jsx-runtime";var Ru=Iu.forwardRef(({className:t,children:e},o)=>{let n=y("SectionList",ni);return Lu("div",{ref:o,className:Pu(n.root,t),children:e})}),is=Ru;import Oo from"classnames";import Au,{createContext as Mu,useCallback as Ou,useContext as Ht}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 Fu}from"react/jsx-runtime";var et=Mu(as),Nu=({fixed:t,children:e,...o})=>{let n=Ht(et);return de("div",{...o,className:Oo(n.actions,{[n.actionsIsFixed]:t}),children:e})},Du=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=Ht(et);return Fu("div",{className:Oo(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,de("ul",{className:r.dropdownList,children:s})]})},Bu=({index:t,label:e,onClick:o})=>{let n=Ht(et);return de("li",{className:n.dropdownItem,children:de("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Hu=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=Ht(et);return de("button",{type:"button",className:Oo(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},ls=({labels:t})=>{let e=Ht(et);return de("div",{className:e.labels,children:t.map(o=>de("span",{className:e.label,children:o},o))})},tt=Au.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=y("Suggestion",as),l=Ou(c=>{c.preventDefault(),o&&o(c)},[o]);return de(s,{...r,ref:i,className:Oo(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:l,children:de(et.Provider,{value:a,children:n})})});tt.Labels=ls;tt.Actions=Nu;tt.ActionButton=Hu;tt.DropdownButton=Du;tt.DropdownItem=Bu;var N=tt;import Ku from"classnames";var si={root:"_root_fp74r_1",isWithDivider:"_isWithDivider_fp74r_9"};import{jsx as zu}from"react/jsx-runtime";var Uu=({withDivider:t,children:e})=>{let o=y("SuggestionList",si);return zu("div",{className:Ku(o.root,{[o.isWithDivider]:t}),children:e})},me=Uu;import ju from"classnames";var ri={root:"_root_1wpmq_1",isCollapsed:"_isCollapsed_1wpmq_17"};import{jsx as cs}from"react/jsx-runtime";var Vu=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=y("ToggleButton",ri);return cs("button",{type:"button",className:ju(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,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"})})})},ot=Vu;var ii=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,nt=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ai=/x-deepdesk-(([a-z0-9\-_])+-version)/,Ue=(u=>(u.SEARCH="search",u.TEMPLATE="template",u.ELASTIC_SEARCH="studio-search",u.GPT="gpt",u.TRIE="trie",u.TRIE_WITH_TYPOS="trie-with-typos",u.SEMANTIC="semantic",u.TEXT_RECOMMENDATION="text_recommendation",u.URL_RECOMMENDATION="url_recommendation",u.LINK_RECOMMENDATION="link_recommendation",u.PERSONAL_COLLECTION="personal-collection",u.PERSONAL_COLLECTION_SEARCH="personal-collection-search",u))(Ue||{}),ze=(s=>(s.TAB="tab",s.ARROW="arrow",s.HOTKEY="hotkey",s.MOUSE="mouse",s))(ze||{});import{render as Kn,unmountComponentAtNode as Hr}from"react-dom";import{Fragment as Fg}from"react";import{createSlice as qu}from"@reduxjs/toolkit";import{useSelector as Wu}from"react-redux";var No=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(No||{});var Gu={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"},li=qu({name:"settings",initialState:Gu,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:Ft}=li.actions,ps=t=>e=>e.settings[t],b=t=>Wu(ps(t)),ci=li.reducer;import{useState as km}from"react";import{useDispatch as Pm,useSelector as zs}from"react-redux";import{createAction as je,createSlice as td}from"@reduxjs/toolkit";import{diffChars as od}from"diff";import{useSelector as nd}from"react-redux";function pi(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Pe(t,e,o=10){let n=typeof t,s=typeof e;if(o===0)throw new Error("Max depth deepEqual, possible circular references?");return n!==s?!1:t==null||n==="string"||n==="number"||n==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Pe(r,e[i],o-1)):pi(t)&&pi(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Pe(t[i],e[i],o-1)):!1}function $u(t){return Math.max(...t.map(e=>e.length))}function Xu(t,e){let o=t.reduce((n,s)=>{if(s){let r=n[s]?n[s]+1:1;return{...n,[s]:r}}return n},{});return Object.keys(o).reduce((n,s)=>(o[s]<e&&n.push(s),n),[])}function ui(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<$u(n);s++){let r=Xu(n.map(a=>a[s]),e),i=n.filter(a=>!r.includes(a[s]));if(i.length>=e)n=i;else return{text:n[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var Qu=2;function us(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=ui(t,Qu);return o&&o.text!==e?o:t[0]}import{createAction as Zu,createAsyncThunk as st,createSlice as Ju}from"@reduxjs/toolkit";var di={current:null,isSupported:null},P=Zu("resetConversation"),Do=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},Bo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Ho=t=>t.conversation.isSupported,ds=st("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Fo=st("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Ko=st("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),Uo=st("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Bo(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),ms=st("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:l}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),zo=st("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Bo(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),Yu=[Fo.rejected,Ko.rejected,Uo.rejected,zo.rejected].map(t=>t==null?void 0:t.toString()),ed=Ju({name:"conversation",initialState:di,reducers:{},extraReducers:t=>{t.addCase(ds.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Fo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Ko.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(ms.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Uo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(zo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(P,()=>di).addMatcher(e=>Yu.includes(e.type),(e,o)=>{throw new Error(o.error.message)})}}),mi=ed.reducer;var Ie={text:"",html:null,selection:{start:0,end:0},stagedSuggestion:null,userCommitted:{text:"",selection:{start:0,end:0}},tabCompletionSuggestion:void 0,previousKeyDownEvent:null,textSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function Vo(t){let{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}=t;return{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}}var qo=je("input/replaceText"),Wo=je("input/keyDown"),Kt=je("input/sendMessage"),Go=je("input/sendEditSuggestionMessage"),$o=je("input/uiInputChange"),Xo=je("input/applyImageSuggestion"),J=je("input/sendEvent");function jo(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i},eventMetrics:{inputType:a},replace:l}=t.stagedSuggestion,c=o==="search"||o==="personal-collection-search",p=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.push({text:p,source:o,abVariant:n,abTestName:s,inputType:a,sourceText:i,trainingJobs:r||[],searchTerm:c?t.userCommitted.text:null}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var gi=t=>td({name:t,initialState:Ie,reducers:{initialInput(e,o){let{text:n,selection:s,html:r}=o.payload;e.text=n,e.selection.start=(s==null?void 0:s.start)??n.length,e.selection.end=(s==null?void 0:s.end)??n.length,e.userCommitted.text=n,e.userCommitted.selection.start=(s==null?void 0:s.start)??n.length,e.userCommitted.selection.end=(s==null?void 0:s.end)??n.length,e.html=r||null},reset(e){Object.assign(e,{...Ie,selection:e.selection})},resetToCommitted(e){e.text=e.userCommitted.text,e.selection=e.userCommitted.selection,e.stagedSuggestion=null,e.tabCompletionSuggestion=us(e.textSuggestions,e.userCommitted.text)},setInputHtml(e,o){e.html=o.payload},changeSelection(e,o){o.payload&&(Pe(e.selection,o.payload)||(e.selection=o.payload,e.userCommitted.selection=e.selection,e.stagedSuggestion&&jo(e)))},userInput(e,o){var i,a,l,c;if(e.previousKeyDownEvent){let{key:p,shiftKey:d,ctrlKey:u,metaKey:g,altKey:h}=e.previousKeyDownEvent;switch(p){case"Enter":d&&(e.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:m}=e,{text:_}=o.payload,w=od(m,_);m.length-_.length>1&&e.metrics.deletions.push(...w.filter(f=>f.removed).map(f=>f.value)),e.metrics.numCharsDeleted+=m.length-_.length;break}case"C":case"V":case"X":if(!u&&!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(!u&&!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&&o.payload.text!==e.text&&(e.metrics.agentStartedTypingTimestamp=Date.now()),o.payload.text===""&&(e.metrics=Ie.metrics,e.textSuggestions=[]),e.text!==o.payload.text&&jo(e);let{text:n,html:s,selection:r}=o.payload;r&&(e.selection.start=r.start,e.selection.end=r.end,e.userCommitted.selection.start=r.start,e.userCommitted.selection.end=r.end),e.text=n,e.html=s||null,e.userCommitted.text=n,e.previousKeyDownEvent=null},stageSuggestion(e,o){let{text:n}=o.payload;switch(e.stagedSuggestion=o.payload,e.tabCompletionSuggestion=void 0,o.payload.replace){case"selection":e.text=`${e.text.slice(0,e.selection.start)}${n}${e.text.slice(e.selection.end)}`,e.selection.end=e.selection.start+n.length,e.selection.start+=n.length;break;case"until-selection-end":e.text=`${n}${e.text.slice(e.selection.end)}`,e.selection.start=n.length,e.selection.end=n.length;break;default:throw new Error(`Unknown replace ${o.payload.replace}`)}o.payload.eventMetrics.inputType==="tab"&&jo(e)},commitSuggestion(e){jo(e)},offeredTextSuggestion(e,o){let{text:n,suggestion:{source:s}}=o.payload;e.metrics.offeredTextSuggestions.find(i=>i.text===n)||e.metrics.offeredTextSuggestions.push({text:n,source:s})},registerCut(e,o){let{metrics:n}=e,s=o.payload;e.metrics={...e.metrics,numCharsCut:n.numCharsCut+s.length,cuts:[...n.cuts,s]}},registerPaste(e,o){let{metrics:n}=e,{text:s,selectionText:r}=o.payload,i=n.numCharsDeleted+(r&&r.length?r.length:0),a=r&&r.length?[...n.deletions,r]:n.deletions;e.metrics={...e.metrics,numCharsDeleted:i,deletions:a,numCharsPasted:n.numCharsPasted+s.length,numPaste:n.numPaste+1,pastes:[...n.pastes,s]}},registerKeyDown(e,o){e.previousKeyDownEvent=o.payload},nextTextSuggestionIndex(e){let o=e.textSuggestions.length;e.selectedSuggestionIndex=e.selectedSuggestionIndex<o-1?e.selectedSuggestionIndex+1:e.selectedSuggestionIndex},previousTextSuggestionIndex(e){e.selectedSuggestionIndex=e.selectedSuggestionIndex>=0?e.selectedSuggestionIndex-1:e.selectedSuggestionIndex},setTextSuggestions(e,o){if(e.selectedSuggestionIndex=-1,e.textSuggestions=o.payload,o.payload.length===0)return;let n=e.userCommitted.text.substring(0,e.userCommitted.selection.end),s=us(o.payload,n);e.tabCompletionSuggestion=s!=null&&s.text.includes(n)?s:void 0},setSelectedTextSuggestionIndex(e,o){e.selectedSuggestionIndex=o.payload},mergeMetrics(e,{payload:o}){e.metrics.numCharsTyped+=o.numCharsTyped,e.metrics.numCharsPasted+=o.numCharsPasted,e.metrics.numCharsCut+=o.numCharsCut,e.metrics.numCharsDeleted+=o.numCharsDeleted,e.metrics.numPaste+=o.numPaste,e.metrics.pastes.push(...o.pastes),e.metrics.deletions.push(...o.deletions)}},extraReducers:e=>{e.addCase(P,o=>{o.tabCompletionSuggestion=Ie.tabCompletionSuggestion,o.previousKeyDownEvent=Ie.previousKeyDownEvent,o.textSuggestions=Ie.textSuggestions,o.selectedSuggestionIndex=Ie.selectedSuggestionIndex,o.metrics=Ie.metrics})}}),gs=gi("input"),rt=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),sd=t=>t.input.selection,fi=()=>nd(sd),{userInput:hi,changeSelection:fs,initialInput:yi,mergeMetrics:Si,nextTextSuggestionIndex:vi,offeredTextSuggestion:_i,previousTextSuggestionIndex:xi,registerCut:bi,registerKeyDown:Ci,registerPaste:wi,reset:Ti,resetToCommitted:Ut,setInputHtml:Ei,setSelectedTextSuggestionIndex:Qo,setTextSuggestions:Re,stageSuggestion:ie,commitSuggestion:Le}=gs.actions,V=gi("overlay");import{useEffect as Pi,useRef as Ii}from"react";var ki={root:"_root_1qp5s_1",content:"_content_1qp5s_23"};import{jsx as Ri}from"react/jsx-runtime";var rd=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,overlayAriaLabel:r,contentAriaLabel:i})=>{let a=Ii(null),l=Ii(null),c=y("Dialog",ki);return Pi(()=>{var u,g;let p=h=>{h.key==="Escape"&&(h.preventDefault(),h.stopPropagation(),s())},d=h=>{let m=window.getSelection();m!=null&&m.toString()||h.target===a.current&&t&&n()};return(u=a.current)==null||u.addEventListener("click",d),(g=a.current)==null||g.addEventListener("keyup",p),()=>{var h,m;(h=a.current)==null||h.removeEventListener("click",d),(m=a.current)==null||m.removeEventListener("keyup",p)}},[a,l,s,n]),Pi(()=>{var p,d;!a.current||!t||!e||(d=(p=a.current)==null?void 0:p.querySelector("input, textarea"))==null||d.focus()},[t,e,a]),t?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:o})}):null},it=rd;import{useEffect as va}from"react";import{useDispatch as lm,useSelector as cm}from"react-redux";var hs={};K(hs,{enUS:()=>id,nlNL:()=>ad});var id={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?"}]},ad={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 Li={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 Ai,jsxs as ld}from"react/jsx-runtime";var Zo=()=>ld("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Ai("title",{id:"angleLeftTitle",children:"AngleLeft"}),Ai("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 Mi,jsxs as cd}from"react/jsx-runtime";var Oi=()=>cd("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleRightTitle",children:[Mi("title",{id:"angleRightTitle",children:"AngleRight"}),Mi("path",{d:"M64 448c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L178.8 256L41.38 118.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160c12.5 12.5 12.5 32.75 0 45.25l-160 160C80.38 444.9 72.19 448 64 448z"})]});import{useEffect as jt,useRef as Cs,useState as Ed}from"react";import{useDispatch as kd}from"react-redux";import{Interweave as Pd}from"interweave";import Qi 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 md}from"interweave";import gd from"classnames";import{useEffect as pd,useRef as ud,useState as dd}from"react";function Ni(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Jo(t){let e=ud(null),[o,n]=dd(!1);return pd(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Ni((p,d)=>{let u=e.current;if(!u)return;let g=p/r,h=d/r,m=u.getBoundingClientRect(),_=g>m.x&&g<m.x+m.width&&h>m.y&&h<m.y+m.height;_&&!s?(s=!0,n(!0)):!_&&s&&(s=!1,n(!1))},({clientX:p,clientY:d})=>[p,d]),[l,c]=Ni(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}var ee={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 Di}from"react/jsx-runtime";var fd=({inputElement:t,children:e})=>{let o=y("TabCompletion",ee),[n,s]=Jo(t);return Di("mark",{ref:n,className:gd(o.matchPlaceholder,{[o.hover]:s}),children:e})},at=class extends md{match(e){let o=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return o?{index:o.index,length:o[0].length,match:o[0],matchString:o[0],valid:!0}:null}replaceWith(e,o){return Di(fd,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{useEffect as hd,useRef as yd,useState as Sd}from"react";function Yo(t){return t.contentEditable==="true"}function vd(t){let e=0,o=0,n=window.getSelection();if(n.rangeCount!==0){let s=n.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),o=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:o}}function Bi(t){let{selectionStart:e,selectionEnd:o}=Yo(t)?vd(t):t;return[e,o]}function en(t){let[,e]=Sd(),o=yd(null);return o.current=Bi(t),hd(()=>{let n=()=>{let[s,r]=o.current??[],i=Bi(t);(!i||s!==i[0]||r!==i[1])&&(o.current=i,e({}))};return t.addEventListener("keyup",n),t.addEventListener("click",n),t.addEventListener("focus",n),document.addEventListener("selectionchange",n),()=>{t.removeEventListener("keyup",n),t.removeEventListener("click",n),t.removeEventListener("focus",n),document.removeEventListener("selectionchange",n)}},[t]),o.current}function tn(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(nt);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=n.indexOf(l,a);return s>c&&r<c+l.length?(o.selectionStart=c,o.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{useEffect as _d}from"react";function lt(t){_d(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ve(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var Hi,le=new Map,xd=["bottom","height","left","right","top","width"],bd=(t={},e={})=>xd.some(o=>t[o]!==e[o]),Fi=()=>{let t=[];le.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),le.delete(o);return}let n=o.getBoundingClientRect();bd(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{e.callbacks.forEach(o=>o(e.rect))}),le.size!==0&&(Hi=window.requestAnimationFrame(Fi))};function Ki(t,e){return{observe(){let o=le.size===0;if(le.has(t)){let n=le.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else le.set(t,{rect:void 0,callbacks:[e]});o&&Fi()},unobserve(){let o=le.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||le.delete(t),le.size||cancelAnimationFrame(Hi)}}}}var Ui,ce=new Map,zi=()=>{ce.forEach((t,e)=>{if(!e.isConnected){ce.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ce.size!==0&&(Ui=window.requestAnimationFrame(zi))};function ji(t,e){return{observe(){let o=ce.size===0;ce.has(t)?ce.get(t).callbacks.push(e):ce.set(t,{visible:void 0,callbacks:[e]}),o&&zi()},unobserve(){let o=ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ce.delete(t),ce.size||cancelAnimationFrame(Ui)}}}}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,o){return o.forEach(n=>{e.style[n]=t[n]})}function ct(t){return parseFloat(t)}function on(t){return Math.round(t*1e6)}function Vi(t){return t/1e6}function _s(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=ct(t.width),r=ct(t.borderLeftWidth),i=ct(t.borderRightWidth),a=ct(t.paddingRight),l=Vi(on(s)-on(r)-on(i)),c=Vi(on(n));if(l-c>2){let p=l-c;o.style.paddingRight=`${a+p}px`}}function zt(t,e={}){var l;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position="fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Ve(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};vs(n,o,Ss),_s(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=ji(t,()=>{vs(n,o,Ss),_s(n,t,o),r(),setTimeout(r,0)}),a=Ki(t,c=>{if(c===null){e.onRemove&&e.onRemove(),o.remove();return}if(c.height===0&&c.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(vs(n,o,Ss),_s(n,t,o),r(),o.style.top=`${c.top}px`,o.style.left=`${c.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let p=e.closestScrollElement.getBoundingClientRect(),d=window.getComputedStyle(e.closestScrollElement),u=ct(d.borderTopWidth),g=ct(d.borderBottomWidth),h=p.top+u-c.top,m=c.top+c.height+-(p.top+p.height-g);o.style.clipPath=`inset(${h}px 0px ${m}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(l=t.parentElement)==null||l.appendChild(o),a.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),a.unobserve(),i.unobserve()}]}var xs={};K(xs,{enUS:()=>Cd,nlNL:()=>wd});var Cd={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 qi,jsxs as Td}from"react/jsx-runtime";var Wi=()=>Td("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 512 512","aria-labelledby":"circleCheckTitle",children:[qi("title",{id:"circleCheckTitle",children:"Check"}),qi("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 Gi}from"react/jsx-runtime";var $i=()=>Gi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:Gi("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 Xi=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Xi||{}),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,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e,rawHtml:o}),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e,rawHtml:o}),this.currentHTML=o))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="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:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Xi).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){let e=this.currentSelection;this.isPossibleClearInputAction=!0,e&&this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){let o=(e.clipboardData||window.clipboardData).getData("text");this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){let e=()=>{let n=document.activeElement===this.element?this.getSelection():null;Pe(this.currentSelection,n)||(this.currentSelection=n,this.emit("selection",n))};document.addEventListener("selectionchange",e),this.disposeHandlers.push(()=>{window.document&&document.removeEventListener("selectionchange",e)}),this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let o=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});o.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{o.disconnect()})}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.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:o}=this.element;return{start:e,end:o}}getSelectedText(){return this.currentSelection?this.getText().slice(this.currentSelection.start,this.currentSelection.end):""}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};import{jsx as ge,jsxs as bs}from"react/jsx-runtime";var Id=({value:t,onUse:e,...o})=>{var p;let n=T(xs),s=kd(),r=y("EditSuggestionTextInput",ys),[i,a]=Ed(null),l=Cs(null),c=((p=t.match(nt))==null?void 0:p.length)||0;return jt(()=>{let d;return l.current&&(a(l.current),d=new Me(l.current),d.on("change",({plainText:u})=>{s(V.actions.userInput({text:u,selection:d.getSelection()}))}),d.on("keydown",u=>{s(V.actions.registerKeyDown(Vo(u))),u.code==="Enter"&&u.shiftKey&&e(d.getText())}),d.on("paste",({pastedText:u,selectionText:g})=>{s(V.actions.registerPaste({text:u,selectionText:g}))}),d.on("cut",({selectionText:u})=>{s(V.actions.registerCut(u))})),()=>{s(V.actions.reset()),d.dispose(),d.deactivate()}},[l]),jt(()=>{t&&l.current&&(l.current.value=t)},[t,l]),jt(()=>{l.current&&setTimeout(()=>{if(!l.current)return;let d=l.current.value.length;l.current.setSelectionRange(d,d),l.current.focus()},0)},[l]),bs("div",{className:r.textInputWrapper,children:[ge("textarea",{...o,ref:l,"data-testid":"edit-suggestion-dialog-textarea",className:r.textInput,defaultValue:t,onChange:()=>{}}),i&&ge(Rd,{inputElement:l.current,value:t}),bs("div",{className:Qi(r.alert,c===0?r.success:r.warning),children:[ge("div",{className:r.alertText,children:n("placeholders",{placeholderSize:c})}),c===0?ge(Wi,{}):ge($i,{})]})]})},Rd=({inputElement:t,value:e})=>{let o=y("EditSuggestionTextInput",ys),n=Cs(null),s=en(t);return jt(()=>{tn(t,s)},[s,t]),ge(Ld,{inputElement:t,children:bs("div",{ref:n,className:Qi(o.root,o.agentText),children:[ge(Pd,{tagName:"span",disableLineBreaks:!0,content:e,matchers:[new at("placeholders")],inputElement:t,boundaryRef:n}),ge("br",{})]})})},Ld=({inputElement:t,children:e})=>{let o=Cs(null);return jt(()=>{if(!o.current)return()=>{};let[n,s]=zt(t,{overlayContainer:o.current,mirrorOverflow:!0});return()=>{s()}},[o.current]),ge("div",{ref:o,children:e})},Zi=Id;import{useEffect as sm,useState as rm,useRef as im}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 Ji,jsxs as Md}from"react/jsx-runtime";var Ad=({src:t,title:e})=>{let o=y("CommandPalette",q);return Md("div",{className:o.image,children:[Ji("img",{src:t,alt:e,className:o.imageSrc}),e&&Ji("span",{className:o.imageTitle,children:e})]})},Yi=Ad;import Od from"react";import Nd from"classnames";import{jsx as ea,jsxs as Dd}from"react/jsx-runtime";function ws({children:t,heading:e,orientation:o}){let n=y("CommandPalette",q);return Od.Children.count(t)===0?null:Dd("div",{"data-testid":"commandpalette-list",className:n.list,children:[e&&ea("h4",{className:n.listHeading,children:e}),ea("div",{className:Nd(n.listWrapper,o==="horizontal"&&n.listHorizontal),children:t})]})}import nn from"classnames";import Ts from"react";import{jsx as Bd}from"react/jsx-runtime";var ta=Ts.createContext(void 0);function Oe(){let t=Ts.useContext(ta);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var oa=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Ts.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Bd(ta.Provider,{value:i,children:t})};import{jsx as pt,jsxs as sn}from"react/jsx-runtime";function Es({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onSourceClick:s,index:r,isExperimental:i,description:a,sources:l,styles:c,...p}){let{selected:d,onChangeOpen:u}=Oe(),g=y("CommandPalette",q);function h(m){n(m),t&&u(!1)}return sn("div",{className:nn(g.listItem,d===r&&g.listItemSelected),children:[sn("button",{type:"button",className:nn("command-palette-list-item",g.listItemAction,g.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:h,...p,children:[sn("div",{className:g.listItemContent,children:[typeof o=="string"?pt("p",{className:nn(g.listItemText,g.truncate,c==null?void 0:c.title),children:o}):o,a&&pt("p",{className:nn(g.listItemDescription,c==null?void 0:c.description,e?g.lineClamp:g.truncate),children:a})]}),i&&pt(Mo,{})]}),l&&sn("div",{className:g.sources,children:[pt("span",{className:g.sourcesTitle,children:"Sources"}),l.map(m=>m.url?pt("a",{className:g.source,href:m.url,target:"_blank",title:m.url,rel:"noopener noreferrer",onClick:()=>s&&s(m),children:m.name},m.url):pt("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 ks,jsxs as Ps}from"react/jsx-runtime";function Is({children:t,title:e,id:o,onDismiss:n,isExperimental:s}){let r=T(Vt),i=y("CommandPalette",q),{page:a}=Oe();return a!==o?null:Ps("div",{className:i.page,id:`page_${o}`,tabIndex:-1,children:[n&&Ps("div",{className:i.pageNav,children:[Ps("button",{className:i.pageBackButton,type:"button",onClick:n,children:[ks(Zo,{}),r("back")]}),e&&ks("h3",{className:i.pageTitle,children:e}),s&&ks(Mo,{})]}),t]})}import{Fragment as Qd,useCallback as Zd,useEffect as Jd,useRef as Yd}from"react";var rn=()=>/Mac/i.test(navigator.platform);import{createAsyncThunk as Vd,createSlice as qd}from"@reduxjs/toolkit";var Kd={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},E=Kd;import{createAsyncThunk as Ls,createSlice as zd}from"@reduxjs/toolkit";function Ud(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,o)=>({...e,[Ud(o)]:A(t[o])}),{}):t}function Rs(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,o)=>({...e,[Rs(o)]:H(t[o])}),{}):t}var jd={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},Wt=t=>{var e,o,n;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((o=t.info.agentInfo)==null?void 0:o.agentNickname)||"",visitorName:((n=t.info.visitorInfo)==null?void 0:n.visitorName)||""}},qt=Ls("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=await o.client.get("/apis/admin/session/me/",{version:null}),s={};return n.external_id||(s.external_id=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?A(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),A(n))}),As=Ls("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.client.get("/apis/admin/session/me/",{version:null}),s={...typeof n.ui_config=="object"?n.ui_config:{},...t};return await o.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),Ms=Ls("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),na=t=>t.info.agentInfo,sa=zd({name:"info",initialState:jd,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(qt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(qt.rejected,e=>{e.fetchState="error"}).addCase(qt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(As.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(Ms.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(P,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:ra}=sa.actions,ia=sa.reducer;var an={list:[],fetchState:"idle",isOpen:!1,page:"search"},aa=t=>t.search.isOpen,la=t=>t.search.page,ca=t=>t.search.list;function pa(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var qe=Vd("search/getAll",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r}=await o.search({profile:s,query:t.query,filters:{type:t.type},params:Wt(n),tags:t.tags});return r}),ua=qd({name:"search",initialState:an,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=an.fetchState,t.list=an.list}},extraReducers:t=>{t.addCase(qe.pending,e=>{e.fetchState="loading"}).addCase(qe.rejected,(e,o)=>{e.fetchState="error",E.error(o.error)}).addCase(qe.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload}).addCase(P,()=>an)}}),{resetSearch:ln,setIsOpen:Y,setPage:j}=ua.actions,da=ua.reducer;var Wd=/(https?:\/\/[^\s]+)/,cn=t=>t.split(" ").find(e=>Wd.test(e));import ma from"classnames";import{jsx as $d,jsxs as Xd}from"react/jsx-runtime";var Gd=({onClick:t,shortKeys:e,children:o,...n})=>{let s=y("CommandPalette",q);return Xd("button",{type:"button",...n,onClick:t,className:ma(s.actionButton,n.className),children:[o,e&&e.map(r=>$d("span",{className:ma(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},ut=Gd;import{jsx as pn,jsxs as Os}from"react/jsx-runtime";var em=({children:t,primaryLabel:e,secondaryLabel:o,onPrimary:n,onSecondary:s,list:r})=>{let i=y("CommandPalette",q),a=T(Vt),{selected:l,setSelected:c}=Oe(),p=r[l],d=p&&typeof p.text=="string"&&cn(p.text),u=Yd(null);function g(v){if(!u.current)return;let x=u.current.querySelectorAll(".command-palette-list-item"),k=0,C=0;v==="down"?(x.forEach((X,D)=>{D===l&&(k=D)}),C=k===x.length-1?0:k+1):v==="up"?(x.forEach((X,D)=>{D===l&&(k=D)}),C=k?k-1:x.length-1):c(0);let O=x[C];O&&typeof C=="number"&&(c(C),O.scrollIntoView&&O.scrollIntoView({behavior:"smooth",block:C?"center":"end"}))}function h(){if(!u.current)return;let v=u.current.querySelectorAll(".command-palette-list-item"),x=0;v.forEach((C,O)=>{O===l&&(x=O)});let k=v[x];k&&k.click()}let m=()=>{d&&window.open(d,"_blank")},_=()=>{p&&n(p,l)},w=()=>{!p.type||["IMAGE","command"].includes(p.type)||s&&s(p,l)},f=Zd(v=>{if(v.key==="Enter"&&v.altKey&&d){m();return}if(v.key==="Enter"&&v.shiftKey){w();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 Jd(()=>(window.addEventListener("keyup",f),()=>{window.removeEventListener("keyup",f)}),[f]),Os("div",{className:i.actions,children:[pn("div",{className:i.actionsWrapper,ref:u,children:t}),Os("div",{className:i.actionsBar,children:[d&&pn(ut,{onClick:m,shortKeys:[rn()?8997:"ALT",8629],children:a("visitUrl")}),p&&Os(Qd,{children:[s&&p.type&&!["command","image"].includes(p.type.toLowerCase())&&pn(ut,{onClick:w,shortKeys:[8679,8629],children:o}),pn(ut,{onClick:_,shortKeys:[8629],children:e})]})]})]})},fa=em;import{forwardRef as om}from"react";import{jsx as ha,jsxs as tm}from"react/jsx-runtime";var dt=()=>tm("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[ha("path",{d:"M0 0h24v24H0z",fill:"none"}),ha("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:o,typePlaceholder:n,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:o,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===n?void 0:c.target.value),value:i||n,children:[n&&mt("option",{children:n}),s.map(c=>mt("option",{value:c.value,children:c.label},c.value))]})})]})]})}var ya=om(nm);import{jsx as Sa,jsxs as am}from"react/jsx-runtime";function We({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:p,isOpen:d,search:u}){let[g,h]=rm(0),m=im(null),_=()=>{s&&s(o),i(void 0),r(""),a(!1)},w=()=>{var f;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(f=m.current)==null||f.focus();return}if(u.length>0){r("");return}a(!1)};return sm(()=>{h(0)},[u,n]),Sa(it,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:d,onBack:w,onClose:_,children:am(oa,{selected:g,setSelected:h,isOpen:d,onChangeOpen:a,page:n,children:[n===o&&Sa(ya,{ref:m,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:l,types:c,typePlaceholder:e}),p]})})}We.Page=Is;We.List=ws;We.Image=Yi;We.ListItem=Es;We.ActionsBar=fa;We.Button=ut;var R=We;import{jsx as fe,jsxs as Gt}from"react/jsx-runtime";var pm=({suggestion:t,onUse:e,onDismiss:o,onTouched:n,onNext:s,onPrevious:r})=>{let i=t.text||t.url||t.message,a=y("EditSuggestionForm",Li),l=lm(),c=T(hs),p=cm(h=>h.overlayInput.text);va(()=>{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=h=>{h.preventDefault(),u(p)},u=h=>{l(Go(h)),e(h)},g=h=>m=>{p!==i?window.confirm(c("warning"))&&h(m):h(m)};return va(()=>{n&&n(p!==i)},[n,t,p]),Gt("div",{className:a.root,children:[Gt("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(Zi,{onUse:u,value:p})]}),Gt("form",{className:a.actions,onSubmit:d,children:[Gt("div",{children:[fe("button",{disabled:!r,className:a.pagination,type:"button",onClick:r&&g(r),children:fe(Zo,{})}),fe("button",{disabled:!s,className:a.pagination,type:"button",onClick:s&&g(s),children:fe(Oi,{})})]}),Gt("div",{className:a.primaryButtons,children:[fe(R.Button,{onClick:g(o),shortKeys:["esc"],children:c("dismiss")}),fe(R.Button,{shortKeys:[8679,8629],type:"submit",children:c("add")})]})]})]})},un=pm;import{createAction as mm,createAsyncThunk as Ca,createSlice as gm}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}"],dm=new RegExp(um.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function _a(t,e){let o=t.split(dm),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],l=r===o.length-2;n+=i.length;let c=n;if(l){let d=a.charAt(0),u=0;do c=d?e.indexOf(d,c+1):-1,u+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&u>2)return t}else c=a&&a!==""?e.indexOf(a,n):-1;let p=c===-1?e.slice(n):e.slice(n,c);s.push(p),n=c}return s.join("")}function xa(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var wa={suggestions:[],fetchState:"idle",isInitialRequest:null},ba={default:wa},Ta=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},Ea=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},ka=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},gt=t=>t.textSuggestions,Pa=t=>e=>e.text.startsWith(t),dn=mm("textSuggestions/refresh"),he=Ca("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=rt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,Wt(n),t);if(t==="default"){let p=i?l.filter(Pa(a)):l;e.dispatch(Re(p.slice(0,r)))}return l}),$t=Ca("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...Wt(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(Pa(t))),i&&(l=l.map(p=>({...p,text:p.source!=="trie-with-typos"?_a(p.text,t):p.text}))),l=xa(l,r),e.dispatch(Re(l)),l}),Ia=gm({name:"textSuggestions",initialState:ba,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(he.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||wa;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(he.rejected,(e,o)=>{let n=o.meta.arg;e[n].fetchState="error"}).addCase(he.fulfilled,(e,o)=>{let n=o.meta.arg;e[n].fetchState="done",e[n].suggestions=o.payload}).addCase($t.pending,e=>{e.default.fetchState="loading"}).addCase($t.rejected,e=>{e.default.fetchState="error"}).addCase($t.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(P,()=>ba)}}),{setTextSuggestions:Ra,setSuggestionState:La}=Ia.actions,Aa=Ia.reducer;import{createSlice as fm}from"@reduxjs/toolkit";var Ma={contentType:null,suggestion:null},Oa=t=>t.activeSuggestion.suggestion,Na=t=>t.activeSuggestion.contentType,Da=fm({name:"activeSuggestion",initialState:Ma,reducers:{setActiveSuggestion(t,e){let{contentType:o,suggestion:n}=e.payload;t.contentType=o,t.suggestion=n},resetActiveSuggestion(t){t.contentType=null,t.suggestion=null}},extraReducers:t=>{t.addCase(P,()=>Ma)}}),{setActiveSuggestion:ye,resetActiveSuggestion:Ds}=Da.actions,Ba=Da.reducer;var Bs={};K(Bs,{enUS:()=>hm,nlNL:()=>ym});var hm={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"}]},ym={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 Sm}from"@reduxjs/toolkit";var vm={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var Ha=({ui:t})=>t.overlayCollapsed;var Fa=Sm({name:"ui",initialState:vm,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:Xt,setInputHasFocus:ft,setOverlayCollapsed:ht,setOpenOverlayWhenTyping:Ka,setOverlayCollapsedUserOverwrite:Ua}=Fa.actions,za=Fa.reducer;import ja,{useContext as _m}from"react";import{jsx as xm}from"react/jsx-runtime";var Va=ja.createContext(null),Qt=({broadcastEvents:t,children:e})=>{let o=ja.useMemo(()=>t,[]);return xm(Va.Provider,{value:o,children:e})},te=()=>{let t=_m(Va);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createAsyncThunk as Hs,createSlice as bm}from"@reduxjs/toolkit";var Cm={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},Se=t=>t.auth.isLoggedIn,qa=t=>t.auth.loginFetchState,Wa=t=>t.auth.verifyFetchState,Ga=t=>t.auth.showLoginOverlay,Ne=Hs("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),$a=Hs("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Zt=Hs("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),Xa=bm({name:"auth",initialState:Cm,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(Ne.pending,e=>{e.loginFetchState="loading"}),t.addCase(Ne.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(Ne.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Zt.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Zt.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Zt.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:yt,setShowLoginOverlay:Qa}=Xa.actions,Za=Xa.reducer;var Fs="SetActiveSuggestion",St="ShowLoginOverlay",Ks="UserLoggedIn",wm="UserLoggedOut",ve="ApplySuggestion",Us="ApplyImageSuggestion",Tm="ShowCommandPalette",Em=t=>({[Fs]:e=>{t.dispatch(La(e.state)),t.dispatch(ye({contentType:e.contentType,suggestion:e.suggestion}))},[Tm]:e=>{t.dispatch(Y(e.isOpen)),e.page&&t.dispatch(j(e.page))},[St]:e=>{t.dispatch(Qa(e))},[Ks]:()=>{t.dispatch(Ne())},[wm]:()=>{t.dispatch(Ne())},[Us]:e=>{t.dispatch(Xo({suggestion:e.suggestion}))},[ve]:e=>{t.dispatch(ie({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(Le())}}),Ja=Em;import{jsx as Ya}from"react/jsx-runtime";var Im=()=>{var h;let[t,e]=km(!1),o=zs(Oa),n=zs(Na),s=zs(gt),r=Pm(),i=te(),a=T(Bs),l=()=>{o!==null&&t?window.confirm(a("warning"))&&c():c()},c=()=>{r(Ds()),r(ft(!0)),r(V.actions.reset())},p=(m,_)=>{r(Ds()),r(ft(!0)),i.send(ve,{text:m,suggestion:_})};if(o===null||n===null)return null;let d=(h=s[n])==null?void 0:h.suggestions.indexOf(o),u=d===0||d===null?void 0:()=>r(ye({contentType:n,suggestion:s[n].suggestions[d-1]})),g=d===s[n].suggestions.length-1||d===null?void 0:()=>r(ye({contentType:n,suggestion:s[n].suggestions[d+1]}));return Ya(it,{autoFocus:!0,isOpen:d!==null,onClose:l,onBack:l,contentAriaLabel:a("editContentLabel"),overlayAriaLabel:a("overlayLabel"),children:Ya(un,{onTouched:e,onDismiss:c,onUse:m=>p(m,o),suggestion:o,onNext:g,onPrevious:u})})},el=Im;import{useSelector as rl}from"react-redux";import Vs from"classnames";import{useCallback as nl,useEffect as Nm,useMemo as Dm,useState as qs}from"react";import{useDispatch as Bm,useSelector as Hm}from"react-redux";import Rm from"classnames";var tl={root:"_root_1ukx5_1"};import{jsx as Am}from"react/jsx-runtime";var Lm=({className:t,value:e,...o})=>{let n=y("TextInput",tl);return Am("input",{className:Rm(t,n.root),type:"text",value:e,...o})},Jt=Lm;var js={};K(js,{enUS:()=>Mm,nlNL:()=>Om});var Mm={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"}]},Om={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 ol={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 mn}from"react/jsx-runtime";var Fm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},Km=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=T(js),i=y("LoginTokenDialog",ol),a=Hm(Wa),l=Bm(),c=b("productName"),[p,d]=qs(t||""),[u,g]=qs(0),[h,m]=qs(""),_=nl(async x=>{x.preventDefault(),l($a({email:p})),g(1)},[o,p]),w=()=>{m(""),g(0)},f=nl(async x=>{x.preventDefault();let k=Fm(x.target.elements.token.value);if(!k){m(r("verifyCodeError",{login:v}));return}l(Zt({token:k}))},[o]),v=Dm(()=>x=>W("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:w,children:x},"back-button"),[]);return Nm(()=>{a==="error"&&m(r("verifyCodeError",{login:v})),a==="done"&&n()},[a]),W(it,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:mn("div",{className:i.root,children:[W("h1",{className:i.title,children:r("promptTitle",{productName:c})}),u===0&&mn("form",{onSubmit:_,children:[W("h2",{className:i.subtitle,children:r("requestCodeTitle")}),W("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),W(Jt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:p,onChange:x=>d(x.target.value)}),W("div",{className:i.actions,children:W("button",{type:"submit",className:Vs(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&mn("form",{onSubmit:f,children:[W("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),W("p",{className:i.text,children:r("verifyCodeBody")}),W(Jt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),h&&W("div",{className:i.errorMessage,children:h}),mn("div",{className:i.actions,children:[W("button",{type:"button",className:Vs(i.button),onClick:w,children:r("back")}),W("button",{type:"submit",className:Vs(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},sl=Km;import{jsx as zm}from"react/jsx-runtime";var Um=()=>{let t=rl(Ga),e=rl(na),o=b("adminUrl"),n=te(),s=()=>n.send(St,!1),r=()=>{n.send(St,!1),n.send(Ks)};return zm(sl,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},il=Um;import Ag from"lodash.debounce";import{useCallback as Js,useEffect as Ys,useState as oo}from"react";import{useDispatch as Mg,useSelector as Ct}from"react-redux";import{createAsyncThunk as jm,createSlice as Vm}from"@reduxjs/toolkit";var qm={data:null,fetchState:"idle"},al=t=>t.contentTypes.data,Yt=jm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),Wm=Vm({name:"contentTypes",initialState:qm,reducers:{},extraReducers:t=>{t.addCase(Yt.pending,e=>{e.fetchState="loading"}).addCase(Yt.rejected,e=>{e.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),ll=Wm.reducer;function eo(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 Gm}from"react";function cl(t,e){Gm(()=>{let o=n=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?n.metaKey:n.ctrlKey)&&n.key===t&&(n.preventDefault(),n.stopPropagation(),e())};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}},[])}import{useEffect as ml,useRef as eg}from"react";import{useSelector as tg,useDispatch as og}from"react-redux";import{createAsyncThunk as $m,createSlice as Xm}from"@reduxjs/toolkit";var pl={data:null,fetchState:"idle"},gn=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},ae=$m("entities/getEntities",async(t,e)=>{let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):o.getEntities(r)}),Qm=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),Zm=Xm({name:"entities",initialState:pl,reducers:{},extraReducers:t=>{t.addCase(ae.pending,e=>{e.fetchState="loading"}).addCase(ae.rejected,e=>{e.fetchState="error"}).addCase(ae.fulfilled,(e,o)=>{e.fetchState="done",e.data=Qm(e.data?[...e.data,...o.payload]:o.payload)}).addCase(P,()=>pl)}}),ul=Zm.reducer;var Ws={};K(Ws,{enUS:()=>Jm,nlNL:()=>Ym});var Jm={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Ym={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var dl={root:"_root_17kae_1",empty:"_empty_17kae_5"};import{jsx as fn,jsxs as sg}from"react/jsx-runtime";var ng=({onCopy:t,onUse:e})=>{let o=eg(null),n=y("EntitiesList",dl),s=T(Ws),r=tg(gn),i=og();return ml(()=>{i(ae())},[]),ml(()=>{o.current&&o.current.focus()},[o]),sg("div",{className:n.root,ref:o,tabIndex:-1,children:[r&&r.length>0&&fn(R.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:fn(R.List,{children:r.map((a,l)=>fn(R.ListItem,{index:l,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities")}),r&&r.length===0&&fn("p",{className:n.empty,children:s("noResults")})]})},gl=ng;import{Fragment as pg,useEffect as hn,useRef as ug,useState as dg}from"react";import{useSelector as _l,useDispatch as mg}from"react-redux";import{createAsyncThunk as rg,createSlice as ig}from"@reduxjs/toolkit";var fl={data:null,fetchState:"idle"},hl=t=>t.summary.data,yl=t=>t.summary.fetchState==="error",_e=rg("summary/getSummary",async(t,e)=>{let o=e.getState().profile.data;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:n,dynamicThunkObject:s}=e.extra;if(!s.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let r=s.conversationQuery,i=await r();if(i.length===0)return Promise.reject(new Error("No messages are included"));let a=await n.getSummary(i,{promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return{original:i,summary:a}}),ag=ig({name:"summary",initialState:fl,reducers:{},extraReducers:t=>{t.addCase(_e.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(_e.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(_e.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary)}).addCase(P,()=>fl)}}),Sl=ag.reducer;var Gs={};K(Gs,{enUS:()=>lg,nlNL:()=>cg});var lg={copy:[{type:0,value:"Copy"}],error:[{type:0,value:"Could not generate a summary"}],loading:[{type:0,value:"Generating summary, this may take a few moments."}]},cg={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 vl={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 vt,jsxs as fg}from"react/jsx-runtime";var gg=({onCopy:t})=>{let e=ug(null),o=y("SummaryForm",vl),[n,s]=dg(""),r=T(Gs),i=_l(hl),a=_l(yl),l=mg(),c=()=>{l(J({name:"summary copied to clipboard",data:{originalText:i,finalText:n},options:{includeConversationData:!0}})),t(n)},p=()=>{let d=document.getSelection();d&&l(J({name:"summary copied to clipboard",data:{originalText:i,finalText:d==null?void 0:d.toString()},options:{includeConversationData:!0}}))};return hn(()=>{l(_e())},[]),hn(()=>{s(i||"")},[i]),hn(()=>{e.current&&i&&e.current.focus()},[e,i]),hn(()=>{let d=u=>{u.key==="Enter"&&u.shiftKey&&c()};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[n]),vt("div",{className:o.root,tabIndex:-1,children:a?vt("p",{className:o.error,children:r("error")}):fg(pg,{children:[vt("div",{className:o.main,children:vt("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:o.textInput,ref:e,value:n,onCopy:p,onChange:d=>s(d.target.value)})}),vt("div",{className:o.actions,children:vt(R.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},xl=gg;var $s={};K($s,{enUS:()=>hg,nlNL:()=>yg});var hg={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?"}]},yg={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 Tg,{useEffect as Pl,useRef as Eg}from"react";import{useDispatch as kg,useSelector as Il}from"react-redux";var Xs={};K(Xs,{enUS:()=>Sg,nlNL:()=>vg});var Sg={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"}]},vg={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 bl={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 _g,createAsyncThunk as xg,createSlice as bg}from"@reduxjs/toolkit";var Qs={data:[],fetchState:"idle"},Cl=t=>{var e;return(e=t.answer)==null?void 0:e.data},wl=t=>t.answer.fetchState,xt=_g("answer/resetKnowledgeSearch"),_t=xg("answer/getAnswer",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=(i=e.getState().conversation.current)==null?void 0:i.profileCode;if(!s)throw new Error("Profile is not defined");let r=await o.knowledgeSearch({promptInstruction:t.promptInstruction,question:t.question},n,s);return{question:t.question,answer:r}}),Cg=bg({name:"answer",initialState:Qs,reducers:{},extraReducers:t=>{t.addCase(_t.pending,e=>{e.fetchState="loading"}).addCase(_t.rejected,e=>{e.fetchState="error"}).addCase(_t.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(P,()=>Qs).addCase(xt,()=>Qs)}}),Tl=Cg.reducer;import{jsx as El,jsxs as wg}from"react/jsx-runtime";var kl=()=>wg("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 xe,jsxs as Zs}from"react/jsx-runtime";var Pg=({onUse:t,onResetQuestion:e,question:o,promptInstruction:n})=>{let[s,r]=Tg.useState(""),{setSelected:i}=Oe(),a=Eg(null),l=y("EntitiesList",bl),c=T(Xs),p=kg(),d=Il(Cl),u=Il(wl),g=async m=>{m.preventDefault(),m.stopPropagation(),s!==""&&p(_t({question:s,promptInstruction:n}))},h=(m,_)=>{p(J({name:"knowledge assist source viewed",data:{question:_,sourceViewed:m.url||m.name},options:{includeConversationData:!0}}))};return Pl(()=>{var m;o&&u==="idle"?p(_t({question:o,promptInstruction:n})):(m=a.current)==null||m.focus()},[a,u]),Pl(()=>{u==="done"&&(p(J({name:"knowledge assist question answered",data:{question:s||o,sources:d[d.length-1].answer.sources,isFollowUpQuestion:d.length>1},options:{includeConversationData:!0}})),i(0),r(""))},[u,d]),Zs("div",{className:l.root,children:[d.length>0&&xe("div",{className:l.alignRight,children:xe(R.Button,{onClick:e,children:c("reset")})}),Zs(R.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:_},w)=>xe(R.List,{children:xe(R.ListItem,{"data-testid":"knowledge-search-answer",index:w,description:_.answer,closeOnSelect:!0,onClick:()=>t(_.answer),onSourceClick:f=>h(f,m),sources:_.sources,styles:{title:l.question,description:l.answer},children:m})},`${_.answer}_${w}`)),u==="loading"&&xe("p",{className:l.status,children:c("loading")}),u==="error"&&xe("p",{className:l.status,children:c("error")}),Zs("form",{className:l.form,onSubmit:g,children:[xe("input",{ref:a,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:s,onFocus:()=>{i(-1)},onChange:m=>{i(-1),r(m.target.value)}}),xe("button",{type:"submit",className:l.submit,children:xe(kl,{})})]})]})]})},Rl=Pg;import{createAsyncThunk as Ig,createSlice as Rg}from"@reduxjs/toolkit";var Ll={data:null,fetchState:"idle"},bt=t=>t.profile.data,yn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],to=Ig("profile/getProfile",async(t,e)=>{var r;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=n.profile.data)==null?void 0:r.code)===s.profileCode?n.profile.data:o.getProfile(s.profileCode)}),Lg=Rg({name:"profile",initialState:Ll,reducers:{},extraReducers:t=>{t.addCase(to.pending,e=>{e.fetchState="loading"}).addCase(to.rejected,e=>{e.fetchState="error"}).addCase(to.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload}).addCase(P,()=>Ll)}}),Al=Lg.reducer;import{jsx as G,jsxs as Ol}from"react/jsx-runtime";var Og=200,Ng=5,Dg=4,Bg=t=>t.reduce((e,o)=>[...e,...o.list.map(n=>({...n,type:o.value}))],[]),Ml=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Hg=()=>{let t=Mg(),e=te(),o=T($s),[n,s]=oo(!1),[r,i]=oo(""),a=Ct(la),l=Ct(bt),[c,p]=oo(null),[d,u]=oo([]),[g,h]=oo(),m=Ct(Se),_=b("showSearch"),w=b("showEntitiesCommand"),f=b("showSummaryCommand"),v=b("showKnowledgeSearch"),x=b("showImageSearch"),k=b("searchTriggerKey"),C=Ct(al),O=Ct(ca),X=Ct(aa),D=S=>Vn(O.filter(L=>L.type===S.toUpperCase()),S),I=[{value:"PERSONAL",label:o("personalSuggestions"),list:D("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:D("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:D("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:D("IMAGE"),listOrientation:"horizontal",shouldShow:x}].filter(S=>S.shouldShow),Q=[{label:o("entitiesClipboard"),onClick:()=>t(j("entities")),shouldShow:w&&Ml(o("entitiesClipboard"),r),experimental:!0},{label:o("summaryClipboard"),onClick:()=>t(j("summary")),shouldShow:f&&Ml(o("summaryClipboard"),r),experimental:!0},{label:r?`${o("knowledgeSearch")}: ${r}`:o("knowledgeSearch"),onClick:()=>t(j("knowledgeSearch")),shouldShow:v,experimental:!0}].filter(S=>S.shouldShow),ne=(C==null?void 0:C.map(S=>({value:S.code.toUpperCase(),label:`${S.name}s`,list:D(S.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],zn=Js(Ag((S,L)=>{t(qe({query:S,type:L,tags:["search-overlay"]}))},Og),[]),He=Bg([...ne,...I]),Mp=Js((S,L)=>{if(!L)return;let ke=[...I,...ne].find(({value:Je})=>Je===L);ke&&(t(j("edit")),p(S),u(ke.list))},[t,c,ne]),jn=Js((S,L)=>{switch(L.type){case"IMAGE":e.send(Us,{suggestion:L});break;default:e.send(ve,{text:S,suggestion:L})}t(Y(!1))},[t]),Op=S=>{eo(S.text),t(J({name:"entity copied",data:{entity:S,type:"copy"}})),t(Y(!1))},Np=S=>{e.send(ve,{text:S,suggestion:{source:"knowledge-assist",text:S}}),t(J({name:"answer used",data:{originalText:S},options:{includeConversationData:!0}})),i(""),t(j("search")),t(xt()),t(Y(!1))},Dp=S=>{eo(S),t(Y(!1))},Bp=S=>{e.send(ve,{text:S.text,suggestion:{source:"entity",text:S.text}}),t(Y(!1))},Hp=c===null||d.indexOf(c)-1<0?void 0:()=>p(d[d.indexOf(c)-1]),Fp=c===null||d.indexOf(c)===d.length-1?void 0:()=>p(d[d.indexOf(c)+1]);function Vn(S,L){return S.slice(0,g?10:L.toLowerCase()==="image"?Dg:Ng)}function Fr(S,L,ke){return L.reduce((Je,ho)=>ke&&g===ke?ho.length+Je:Vn(ho,ke).length+Je,S)}function Ze(S){return L=>{n?window.confirm(o("warning"))&&(S(L),s(!1)):S(L)}}return Ys(()=>{r?zn(r,g):t(ln())},[r,g]),Ys(()=>{a==="search"&&t(xt())},[a]),Ys(()=>{m&&t(Yt())},[m]),cl(k,()=>t(Y(!0))),!_||!l?null:Ol(R,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Ze(S=>t(Y(S))),onChangeType:S=>h(S),onChangePage:Ze(S=>t(j(S))),selectedType:g,search:r,page:a,isOpen:X,types:[...ne,...I],children:[G(R.Page,{id:"search",children:Ol(R.ActionsBar,{list:[...Q.map(S=>({text:S.label,type:"command"})),...He.map(S=>({text:S.text||S.url||S.message,type:S.type}))],primaryLabel:o("use"),secondaryLabel:o("preview"),onPrimary:({text:S},L)=>jn(S,He[L]),onSecondary:(S,L)=>{Mp(He[L-Q.length],He[L-Q.length].type)},children:[Q.length>0&&G(R.List,{heading:o("commands"),children:Q.map((S,L)=>G(R.ListItem,{index:Fr(L,[],"commands"),closeOnSelect:!1,onClick:S.onClick,isExperimental:S.experimental,children:S.label},S.label))}),[...ne,...I].map(({value:S,label:L,list:ke,lineClamp:Je,listOrientation:ho},Kp)=>G(R.List,{heading:L,orientation:ho==="horizontal"?"horizontal":"vertical",children:Vn(ke,S).map((se,Up)=>G(R.ListItem,{index:Fr(Q.length+Up,[...ne,...I].slice(0,Kp).map(({list:zp})=>zp),S),closeOnSelect:!1,lineClamp:Je,onClick:()=>jn(se.text,se),description:S!=="IMAGE"?se.title&&se.text:void 0,children:S==="IMAGE"?G(R.Image,{title:se.title||se.text,src:se.image}):se.title||se.text},`${se.id}-${se.text}`))},S))]})}),G(R.Page,{id:"edit",onDismiss:Ze(()=>{t(j("search")),p(null)}),children:c&&G(un,{suggestion:c,onTouched:s,onDismiss:()=>{s(!1),t(j("search")),p(null),u([])},onNext:Fp,onPrevious:Hp,onUse:S=>{t(j("search")),jn(S,c),t(Y(!1)),u([]),p(null)}})}),G(R.Page,{id:"entities",title:o("entitiesTitle"),isExperimental:!0,onDismiss:Ze(()=>{t(j("search"))}),children:G(gl,{onUse:Bp,onCopy:Op})}),G(R.Page,{id:"summary",title:o("summaryTitle"),isExperimental:!0,onDismiss:Ze(()=>{t(j("search"))}),children:G(xl,{onCopy:Dp})}),G(R.Page,{id:"knowledgeSearch",title:o("knowledgeSearch"),isExperimental:!0,onDismiss:Ze(()=>{t(xt()),t(j("search"))}),children:G(Rl,{promptInstruction:l.knowledgeSearchPromptInstruction,question:r,onUse:Np,onResetQuestion:()=>{t(xt()),i("")}})})]})},Nl=Hg;import{jsx as er,jsxs as Ug}from"react/jsx-runtime";var Kg=()=>{let t=b("showSearch"),e=b("isEmbedded");return Ug(Fg,{children:[t&&er(Nl,{}),er(el,{}),e&&er(il,{})]})},Dl=Kg;import{Provider as zg}from"react-redux";import{jsx as Sn}from"react/jsx-runtime";var jg=({children:t})=>{let o=b("locale").replace("-","");return Sn(ts.Provider,{value:o,children:t})},Vg=({store:t,customStyles:e={},children:o})=>Sn(zg,{store:t,children:Sn(jg,{children:Sn(Mt.Provider,{value:e,children:o})})}),no=Vg;import ar from"classnames";import{useEffect as bf,useRef as Cf,useState as wf}from"react";import{connect as Tf,useDispatch as Ef,useSelector as bn}from"react-redux";import{useState as qg}from"react";function Bl(t,e){let[o,n]=qg(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return E.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){E.error(i)}}]}function vn(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import $g from"classnames";import{Fragment as Xg,useCallback as or,useMemo as Fl}from"react";var tr={};K(tr,{enUS:()=>Wg,nlNL:()=>Gg});var Wg={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"}]}]},Gg={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 _n,jsxs as Kl}from"react/jsx-runtime";var nr=(t,e,o)=>n=>_n("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Qg=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n})=>{let s=T(tr),r=te(),i=y("Login",Hl),a=b("productName"),l=or(m=>{m.preventDefault(),n&&n(parseInt(m.target.value,10))},[]),c=or(m=>{m.preventDefault(),r.send(St,!0)},[e]),p=Fl(()=>m=>_n("a",{href:e,className:i.anchor,target:"_blank",rel:"noreferrer",children:m},"login"),[e]),d=or(m=>_n("button",{type:"button",className:i.anchorButton,onClick:c,children:m},"prompt"),[c]),{min:u,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 Kl("div",{className:$g(t,i.root),children:[s("loginPlease",{login:o?d:p,productName:a}),n&&Kl(Xg,{children:[_n("br",{}),s("snooze",{min:u,hour:g,day:h})]})]})},xn=Qg;import{useDispatch as Zg}from"react-redux";var Ul={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};import{jsx as zl,jsxs as Yg}from"react/jsx-runtime";var Jg=({title:t})=>{let e=y("SearchTrigger",Ul),o=Zg();return Yg("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[zl(dt,{}),zl("span",{className:e.text,children:t})]})},jl=Jg;import{Fragment as Sf}from"react";import{Interweave as lf}from"interweave";import{useEffect as cf,useMemo as pf,useRef as uf}from"react";import{useDispatch as df,useSelector as mf}from"react-redux";import{useEffect as ef}from"react";function Vl(t,e,o){ef(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var tf=/[.*+?^${}()|[\]\\]/g,of=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function nf(t){return t.replace(tf,"\\$&")}function sf(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function sr(t){return t.search(of)}function ql(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${nf(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function Wl(t){return t.replace(nt,'<mark data-type="placeholder">$1</mark>')}function so(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function rf(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 rr(t,e,o={}){if(e){let n=sf(e.toLowerCase(),t.toLowerCase()),s=so(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),c=sr(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(ii).length>3||e.length>30?rf(e.trim(),n):0;return`${`${i>0?"\u2026":""}${so(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Gl={badge:"_badge_8rv7b_1",formattedText:"_formattedText_8rv7b_5"};import{jsx as $l}from"react/jsx-runtime";var gf=["search","personal-collection-search","studio-search"];function ff(t,e,o,n={}){let s="";return gf.includes(e)?s=ql(rr(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=rr(t,o,n),n.placeholders===!0&&(s=Wl(s)),s}var hf=()=>{},yf=({index:t,selected:e,suggestion:o})=>{let n=b("inlineSuggestions"),s=mf(rt),r=df(),i=y("TextSuggestion",Gl),a=uf(null);cf(()=>{let c=setTimeout(()=>{r(_i({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(c)}},[o]),Vl(a,"click",()=>{r(Qo(t)),r(ie({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=pf(()=>ff(o.text,o.source,s,{stripAgentPart:n,placeholders:!0,searchKeywords:o.searchKeywords}),[n,o.text,o.source,s,o.searchKeywords]);return o.source==="gpt"?null:$l(N,{ref:a,as:"button",selected:e,onClick:hf,children:$l(lf,{containerTagName:"div",noWrap:!1,tagName:"span",className:i.formattedText,content:l})})},Xl=yf;import{jsx as Ql}from"react/jsx-runtime";var vf=({suggestions:t,selectedIndex:e})=>Ql(Sf,{children:t.slice().map((o,n)=>Ql(Xl,{index:n,selected:n===e,suggestion:o},`${o.text}-${o.source}`)).reverse()}),Zl=vf;var ir={};K(ir,{enUS:()=>_f,nlNL:()=>xf});var _f={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 Jl={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 ro}from"react/jsx-runtime";var kf=({inline:t=!1,textSuggestions:e,selectedIndex:o})=>{let n=y("SuggestionsOverlay",Jl),s=T(ir),r=b("inlineSuggestions"),i=bn(vn),a=fi(),l=Ef(),c=Cf(null),p=b("searchTriggerKey"),d=b("productName"),u=bn(Ha),g=bn(Se),h=bn(Ho),[m,_]=wf(null),w=b("showSearch"),f=b("showTextSuggestions"),v=b("adminUrl"),x=b("isEmbedded"),[k,C]=Bl("dd-snooze-until-ms",0),O=u||k>Date.now(),X=e.filter(Q=>Q.source!=="gpt").length,D=()=>{O&&C(0),l(Ua(!O))},I=Q=>{let ne=Date.now()+Q*1e3;C(ne),E.info(`Snooze until: ${new Date(ne)}`),l(ht({collapse:!0}))};return bf(()=>{X===0&&_(null)},[e,X]),lt(()=>{l(ht({collapse:!0,skipWhenInputFocus:!0}))}),r!==t||g===null||h===!1?null:g===!1?ro("div",{ref:c,className:ar(n.root,{[n.isCollapsed]:O,[n.isInline]:t}),"data-inline":t,children:[!O&&ro("div",{className:n.triggers,children:[F("div",{style:{flex:1}}),F("div",{className:n.triggersRight,children:F(ot,{className:n.toggleButton,title:s("collapse"),onClick:D,isCollapsed:!1})})]}),F("div",{className:n.toggleButtonWrapper,children:F(ot,{className:n.toggleButton,title:s("open",{productName:d}),onClick:D,isCollapsed:!0})}),F("div",{className:n.collapsible,children:F(xn,{loginUrl:v,isEmbedded:x,onSnooze:I})})]}):!a||!i?null:ro("div",{ref:c,className:ar(n.root,{[n.isCollapsed]:O,[n.isInline]:t}),"data-inline":t,children:[!O&&ro("div",{className:n.triggers,children:[F("div",{style:{flex:1},children:w&&F("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>_(s(rn()?"searchHintMac":"searchHintWindows",{searchTriggerKey:p.toUpperCase()})),onMouseLeave:()=>_(null),children:F(jl,{title:s("search")})})}),ro("div",{className:n.triggersRight,onFocus:()=>{},children:[F("div",{className:ar(!m&&n.hintsHidden,n.hints),children:m}),F(ot,{className:n.toggleButton,title:s("collapse"),onClick:D,isCollapsed:!1})]})]}),F("div",{className:n.toggleButtonWrapper,children:F(ot,{className:n.toggleButton,title:s("open",{productName:d}),onClick:D,isCollapsed:!0})}),X>0&&f&&F("div",{className:n.collapsible,onFocus:()=>{},children:F(me,{children:F(Zl,{suggestions:e,selectedIndex:o})})})]})},Pf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Cn=Tf(Pf)(kf);import Sr from"classnames";import{Interweave as _h}from"interweave";import{useCallback as xh,useEffect as bh,useMemo as Sc,useRef as Ch}from"react";import{connect as wh}from"react-redux";import{cloneElement as If}from"react";var Rf=["div","span","mark","strong","b","i","u","em"];function lr(t,e,o=0){var r;let n=t[t.length-1],s=typeof n=="object"&&n!==null?(r=n.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,n];if(Rf.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),If(n,{children:lr(i,e,o+1)})]}return[...t,...e]}function be(t){return t.tagName.toLowerCase()==="textarea"}var Yl={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 Vf}from"interweave";import{Fragment as qf,useEffect as Wf}from"react";import sc from"classnames";import{createRef as Kf,useCallback as pr,useMemo as Uf,useRef as zf,useState as jf}from"react";import{useState as Lf,useLayoutEffect as Af}from"react";var Mf=["bottom","height","left","right","top","width"],Of=(t={},e={})=>Mf.some(o=>t[o]!==e[o]),Ce=new Map,ec,tc=()=>{let t=[],e=[];Ce.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Of(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ce.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),ec=window.requestAnimationFrame(tc)};function Nf(t,e){return{observe(){let o=Ce.size===0;if(Ce.has(t)){let n=Ce.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ce.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&tc()},unobserve(){let o=Ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ce.delete(t),Ce.size||cancelAnimationFrame(ec)}}}}function cr(t){let[e,o]=Lf(null);return Af(()=>{if(!t.current)return;let n=Nf(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Df,useLayoutEffect as Bf,useState as Hf}from"react";import{createPortal as Ff}from"react-dom";var oc={root:"_root_1jq08_1"};var nc=({children:t})=>{let[e,o]=Hf(null),n=Df(Mt);return Bf(()=>{let s=document.createElement("div");return Ve(s),s.classList.add(oc.root),n!=null&&n.rootNode&&s.classList.add(n==null?void 0:n.rootNode),document.body.appendChild(s),o(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?Ff(t,e):null};var pe={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 wt=(t=!1)=>{let[e,o]=jf(t),n=pr(()=>o(!0),[]),s=pr(()=>o(!1),[]),r=pr(()=>o(a=>!a),[]),i=zf(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function dr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Tt=({className:t,triggerRef:e,boundaryRef:o=Kf(),position:n="above",align:s="center",children:r,toStyle:i=dr,...a})=>{let l=cr(e),c=cr(o),p=Uf(()=>i(l,c,0),[l,c]);return ur(nc,{children:ur("div",{className:sc(pe.ref,{[pe.positionAbove]:n==="above",[pe.positionBelow]:n==="below",[pe.positionLeft]:n==="left",[pe.positionRight]:n==="right",[pe.alignStart]:s==="start",[pe.alignCenter]:s==="center",[pe.alignEnd]:s==="end"}),style:p,...a,role:"dialog",children:ur("div",{className:sc(t,pe.root),children:r})})})};import{jsx as io,jsxs as $f}from"react/jsx-runtime";var Gf=({inputStyle:t,inputElement:e})=>{let o=y("TabCompletion",ee),n=wt(document.activeElement===e);return lt(()=>n.close()),Wf(()=>{let s=()=>n.open();return e.addEventListener("focus",s),()=>{e.removeEventListener("focus",s)}},[]),$f(qf,{children:[io("mark",{className:ee.caret,ref:n.triggerRef}),n.opened&&io(Tt,{className:o.popoverSuggestionsRoot,triggerRef:n.triggerRef,position:"above",align:"start",children:io("div",{style:t,className:o.suggestionsOverlayInputStyles,children:io(Cn,{inline:!0})})})]})},wn=class extends Vf{charCounter=0;charLength=0;found=!1;onlyAtEnd=!1;props;onBeforeParse(e,o){var n;return this.props=o,this.charCounter=0,this.onlyAtEnd=o.inlineSuggestionsOnlyAtEnd??!1,this.charLength=(be(o.inputElement)?o.inputElement.value.length:(n=o.inputElement.textContent)==null?void 0:n.length)??0,this.found=!1,e}match(e){if(this.found||!this.props||this.props.selection===null)return null;let[o,n]=this.props.selection;if(o!==n||this.onlyAtEnd&&o!==this.charLength)return null;let s=o,i=s>=this.charCounter&&s<=this.charCounter+e.length?{index:sr(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,o){return io(Gf,{inputStyle:o.inputStyle,inputElement:o.inputElement},"caret")}asTag(){return"mark"}};import Jf from"classnames";import{Matcher as Yf}from"interweave";import{useEffect as eh,useMemo as th}from"react";function rc(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Tn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function ic(t){return t!=null}import Xf from"classnames";import{forwardRef as Qf,useRef as Zf}from"react";import{jsx as ac}from"react/jsx-runtime";var En=Qf(({className:t,children:e,...o},n)=>{let s=Zf(null),r=y("TabCompletion",ee);return ac("div",{ref:Tn([s,n]),className:Xf(t,r.popoverContentContainer),...o,children:ac("div",{className:r.popoverContent,children:e})})});import{jsx as ao,jsxs as sh}from"react/jsx-runtime";var oh=t=>e=>{let o=dr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},nh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=y("TabCompletion",ee),i=wt(),a=th(()=>oh(t.getBoundingClientRect()),[t]),[l,c]=Jo(t);return eh(()=>{c?i.open():i.close()},[c]),sh("span",{children:[ao("mark",{ref:Tn([l,i.triggerRef]),className:Jf(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&ao(Tt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:ao(En,{style:o,children:ao("div",{className:r.hintText,children:s})})})]})},kn=class extends Yf{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(n=>({...n,keywordRegex:new RegExp(`\\b${rc(n.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let o=this.preparedKeywordMatches.map(s=>{if(this.usedKeywordMatches.has(s))return null;let r=e.match(s.keywordRegex);if(!r)return null;let i=e.charAt(r.index-1),a=e.charAt(r.index+s.keyword.length);return i==="{"&&a==="}"?null:{index:r.index,length:r[0].length,match:r[0],matchString:r[0],suggestion:s.suggestion,preparedKeywordMatch:s,valid:!0}}).filter(ic);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return ao(nh,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import yr from"classnames";import{Matcher as mh}from"interweave";import{createRef as gh,forwardRef as fh,useCallback as hh,useEffect as fc,useRef as hc,useState as yc}from"react";import{useDispatch as yh}from"react-redux";import{jsx as lc}from"react/jsx-runtime";var cc=()=>lc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:lc("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 rh,useEffect as uc,useState as dc}from"react";import{useDispatch as ih,useSelector as mc}from"react-redux";import ah from"lodash.debounce";var pc={root:"_root_1muu8_1",content:"_content_1muu8_7"};function Pn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch{return null}}function mr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Ge,jsxs as gr}from"react/jsx-runtime";var lh=3,ch=t=>({image:t.image||"",text:`https://${t.text}`,id:t.id,title:t.title}),ph=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=lh})=>{let r=y("LinkSearch",pc),[i,a]=dc(""),l=ih(),c=mc(Ta("url")),p=mc(pa("URL",ch)),[d,u]=dc(p.length-1),g=b("fallbackImage"),h=f=>{let v=f.target;a(v.value)},m=(f,v)=>{f.stopPropagation(),f.preventDefault(),window.open(v,"_blank")},_=f=>{var k;let v=d-1<0?p.length-1:d-1,x=d+1===p.length?0:d+1;f.code==="Escape"&&(a(""),e()),f.code==="ArrowUp"&&u(v),f.code==="ArrowDown"&&u(x),f.code==="Enter"&&t(((k=p[d])==null?void 0:k.text)||i)},w=rh(ah(f=>{l(qe({query:f,type:"URL",tags:["link-search"]}))},300),[]);return uc(()=>{i&&w(i)},[i]),uc(()=>()=>{l(ln())},[]),gr("div",{className:r.root,children:[Ge(me,{withDivider:!0,children:(i?p:c).slice(0,s).map((f,v)=>Ge(N,{selected:d===v,onClick:()=>t(f.text),"data-testid":"linksearch-suggestion",children:gr(B,{children:[Ge(B.Image,{src:Pn(f,"small",g||void 0),title:f.title||f.text}),gr(B.Content,{className:r.content,cropText:!0,children:[Ge(B.Title,{children:f.title||mr(f.text)}),f.title&&mr(f.text)]}),Ge(N.Actions,{children:Ge(N.ActionButton,{label:n,onClick:x=>m(x,f.text)})})]})},f.text))}),Ge(Jt,{value:i,onChange:h,autoFocus:!0,placeholder:o,onKeyUp:_})]})},gc=ph;var fr={};K(fr,{enUS:()=>uh,nlNL:()=>dh});var uh={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},dh={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as ue,jsxs as hr}from"react/jsx-runtime";var Sh=fh((t,e)=>{let o=y("TabCompletion",ee);return ue("mark",{ref:e,className:yr(o.matchSelection)},"selection-start")}),vh=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=T(fr),i=y("TabCompletion",ee),a=hc(null),l=hc(null),[c,p]=yc(null),d=yh(),u=wt(document.activeElement===n),[g]=yc(()=>document.createRange());u.triggerRef.current=g,fc(()=>()=>g.detach(),[]),fc(()=>{let m=t.current,_=a.current;!m||!_||(g.setStart(m,0),g.setEnd(_,0))},[t.current,a.current]),lt(()=>{u.close()});let h=hh(m=>{let _=g.toString(),w=/^http(s?):\/\//.test(m)?m:`https://${m}`;d(qo({text:`[${_}](${w})`}))},[]);return hr("span",{children:[ue("mark",{ref:a,className:yr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&ue(Tt,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:hr(En,{style:o,ref:l,children:[ue("div",{className:yr(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:hr("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>p("insertLink"),children:[ue(cc,{}),ue("span",{children:"\xA0"}),ue("span",{children:r("insertLink")})]})}),c==="insertLink"&&ue(gc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:h,onDismiss:()=>{p(null),u.close()}})]})})]},"selection-end")},In=class extends mh{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=gh(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,n]=this.props.selection;if(o===n)return null;let s=this.foundIndex===0?o:n,r=s>=this.charCount&&s<=this.charCount+e.length?{index:s-this.charCount,length:0,match:"",valid:!0}:null;r&&this.foundIndex++;let i=this.foundIndex===1;return r&&i?this.charCount+=s-this.charCount:this.charCount+=e.length,r?{isStart:i,...r}:null}replaceWith(e,o){return o.isStart?ue(Sh,{ref:this.startRef}):ue(vh,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{jsx as Et,jsxs as kh}from"react/jsx-runtime";var Th=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=y("TabCompletion",Yl),p=b("insertLink"),d=b("showMidSentenceSuggestions"),u=b("inlineSuggestions"),g=en(a),h=Ch(null);bh(()=>{be(a)&&g&&tn(a,g)},[g]);let m=xh(f=>{if(!s||!o)return f;let v=[Et("span",{className:c.resetIndent,children:"\u200B"},"u200B"),Et("span",{className:Sr(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&v.push(Et("span",{className:Sr(c.hint,c.resetIndent),children:Et(ns,{keyCode:"tab"},"tabHint")})),lr(f,v)},[s,o,n]),_=Sc(()=>{let f=[];return u&&f.push(new wn("inline")),p&&f.push(new In("selection")),f.push(new at("placeholders")),r&&f.push(new kn("keywords")),f},[u,p,r]),w=Sc(()=>{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?kh("div",{ref:f=>{f!=null&&f.parentElement&&(h.current=f==null?void 0:f.parentElement)},className:c.root,style:w,children:[Et(_h,{tagName:"span",containerTagName:"div",className:Sr(c.container,c.agentText),disableLineBreaks:be(a),content:e||"\u200B",onAfterParse:m,matchers:_,selection:g,keywordMatches:i,inputElement:a,inputStyle:w,boundaryRef:h,inlineSuggestionsOnlyAtEnd:!d}),Et("br",{})]}):null},Eh=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??so(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:p}=e,{isSupported:d}=s,{showTabCompletion:u,visible:g,showStyleSuggestions:h}=o;return{showTabHint:p,showStyleSuggestions:h,showTabCompletion:u,content:l,tabText:c,source:a,keywordMatches:((m=n.list)==null?void 0:m.keywordMatches)??[],enabled:g&&d!==!1}},vc=wh(Eh)(Th);import py from"classnames";import{useEffect as uy}from"react";import{useDispatch as dy,useSelector as $}from"react-redux";import{createAsyncThunk as lo,createSlice as Ph}from"@reduxjs/toolkit";var _c={list:[],fetchState:"idle",isInitialRequest:null},bc=t=>t.autoflows.list||[],xc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},we=lo("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),vr=lo("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(we(t.platformSessionId))}),_r=lo("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(we(t.platformSessionId))}),Ih=Ph({name:"autoflows",initialState:_c,reducers:{},extraReducers:t=>{t.addCase(vr.pending,(e,o)=>{let n=xc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(_r.pending,(e,o)=>{let n=xc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(we.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(we.rejected,e=>{e.fetchState="error"}),t.addCase(we.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(P,()=>_c)}}),Cc=lo("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(we(t))}),s.on("sessionCompleted",()=>{o(we(t))})}),wc=lo("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Tc=Ih.reducer;import{createAsyncThunk as po,createSlice as Rh}from"@reduxjs/toolkit";var Ec={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},kc=t=>t.customMessages.list,Pc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Ic=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Rc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),co=po("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),Rn=po("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),Ln=po("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),Lc=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(co.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(co.rejected,e=>{e.fetchState="error"}).addCase(co.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Rn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Rn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Ln.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Ln.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(P,()=>Ec)}}),Ac=po("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(Lc.actions.onCustomMessage(r))})}),Mc=po("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Oc=Lc.reducer;import{createAsyncThunk as Nc,createSlice as Lh}from"@reduxjs/toolkit";var Ah={jwt:null,accountUrl:null,interval:null},Dc=t=>e=>{let{exchangeToken:{jwt:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/jwt/?jwt=${o}&redirect=${t}`:null},xr=Nc("exchangeToken/getTemporaryExchangeToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.getTemporaryExchangeToken();return{accountUrl:o.client.baseUrl,jwt:n}}),br=Nc("exchangeToken/pollExchangeToken",(t={},e)=>{let{interval:o=1e3*60*30}=t,{dispatch:n}=e;return n(xr()),setInterval(()=>n(xr()),o)}),Bc=Lh({name:"exchangeToken",initialState:Ah,reducers:{stopPollExchangeToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(xr.fulfilled,(e,o)=>{e.jwt=o.payload.jwt,e.accountUrl=o.payload.accountUrl}),t.addCase(br.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollExchangeToken:Hc}=Bc.actions,Fc=Bc.reducer;function Kc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as zh}from"react";import{connect as jh}from"react-redux";import Fh from"classnames";import{Fragment as Kh}from"react";import Mh from"classnames";var Uc={root:"_root_838fd_1"};import{jsx as Nh}from"react/jsx-runtime";var Oh=({className:t,children:e})=>{let o=y("Unicode",Uc);return Nh("span",{className:Mh(t,o.root),children:e})},zc=Oh;var jc={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 Cr={};K(Cr,{enUS:()=>Dh,nlNL:()=>Bh});var 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"}]},Bh={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 An}from"react/jsx-runtime";var Uh=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=y("Autoflow",jc),a=T(Cr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return An(N,{className:Fh(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[$e(B,{children:An(B.Content,{children:[An(B.Title,{children:[e&&$e("span",{className:i.stateBadge,children:a(e)}),o]}),$e("span",{children:n})]})}),$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:An(Kh,{children:[$e(zc,{children:c})," ",$e("span",{children:a(l)})]})})})]})},Vc=Uh;import{jsx as qc}from"react/jsx-runtime";var Vh=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},qh=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>qc(zh,{children:t.map(s=>qc(Vc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||Vh(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),Wh=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},Gh={onStartAutoflow:vr,onStopAutoflow:_r},Wc=jh(Wh,Gh)(qh);import{useEffect as $h,useState as Xh}from"react";import{useDispatch as Qh}from"react-redux";import Xc from"classnames";import{jsx as Gc}from"react/jsx-runtime";var wr=()=>Gc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Gc("path",{d:"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"})});var $c={root:"_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 kt,jsxs as Qc}from"react/jsx-runtime";var Zh=({entities:t})=>{let e=y("EntitiesWidgetList",$c),[o,n]=Xh(void 0),s=Qh(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),eo(a.text),s(J({name:"entity copied",data:{entity:a,type:"copy"}})))};return $h(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:kt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>Qc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[kt("span",{className:e.entityText,children:a.text}),Qc("span",{className:e.iconWrapper,children:[kt("span",{className:Xc(e.icon),children:kt(wr,{})}),kt("span",{className:Xc(e.icon,o===l&&e.iconClicked),children:kt(wr,{})})]})]},a.text))})},Zc=Zh;import ey from"classnames";import{useCallback as Jc}from"react";import{useDispatch as ty,useSelector as Mn}from"react-redux";var uo={};K(uo,{enUS:()=>Jh,nlNL:()=>Yh});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"}]},Yh={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 Te={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 De,jsxs as On}from"react/jsx-runtime";var oy=({suggestion:t})=>{let e=T(uo),o=ty(),n=Mn(Pc(t.text)),s=Mn(Ic(t.text)),r=Mn(Rc(t.text)),i=Mn(Do),{replyOptions:a}=t,l=Jc(p=>{p.preventDefault(),p.stopPropagation(),!(n||!i)&&o(Rn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=Jc(p=>{if(p.preventDefault(),p.stopPropagation(),!i||!a)return;let d=parseInt(p.target.dataset.index,10),u=a[d];o(Ln({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return On(N,{onClick:l,className:ey(Te.root,{[Te.isUsed]:n,[Te.hasError]:r}),children:[De(B,{children:On(B.Content,{children:[On(B.Title,{className:Te.title,children:[t.text," ",De(ss,{className:Te.label,children:"analyse tool"})," ",r&&De("span",{className:Te.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&De("ul",{className:Te.quickReplies,children:a.map(p=>De("li",{className:Te.quickReply,children:p.title},p.title))})]})}),On(N.Actions,{fixed:r||n,children:[a&&a.length>0&&De(N.DropdownButton,{label:e("answer"),disabled:s,children:a.map((p,d)=>De(N.DropdownItem,{index:d,label:p.title,onClick:c},p.title))}),De(N.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Yc=oy;import{jsx as ep}from"react/jsx-runtime";var tp=()=>ep("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ep("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 ry}from"react-redux";import{useCallback as ny}from"react";import{jsx as Xe,jsxs as Nn}from"react/jsx-runtime";var sy=({suggestion:t,lines:e,onEdit:o,onUse:n})=>{var u;let s=t.text||t.url||t.message,r=cn(s),i=T(uo),a=b("showImages"),l=b("fallbackImage"),c=g=>{g.preventDefault(),g.stopPropagation(),n(s)},p=g=>{g.preventDefault(),g.stopPropagation(),o(t)},d=ny(g=>{window.open(r,"_blank"),g.stopPropagation(),g.preventDefault()},[r]);return Nn(N,{onClick:c,"data-testid":"edit-suggestion",children:[Nn(B,{children:[a&&t.image&&Xe(B.Image,{src:Pn(t,"small",l||void 0),title:t.title}),Nn(B.Content,{children:[t.title&&Xe(B.Title,{children:t.title}),t.searchKeywords&&((u=t.searchKeywords)==null?void 0:u.length)>0&&Xe(N.Labels,{labels:t.searchKeywords}),Xe(B.Content,{cropText:e==="single",lineClamp:e==="multiple",children:s})]})]}),Nn(N.Actions,{children:[r&&Xe(N.ActionButton,{onClick:d,label:i("visitUrl")}),Xe(N.ActionButton,{primary:!0,onClick:p,label:i("preview")}),Xe(N.ActionButton,{primary:!0,onClick:c,label:i("useSuggestion")})]})]})},op=sy;import{Fragment as ay,jsx as np}from"react/jsx-runtime";var iy=({contentType:t,lines:e,suggestions:o})=>{let n=te(),s=ry(gt),r=a=>{n.send(Fs,{state:s,suggestion:a,contentType:t})},i=(a,l)=>{n.send(ve,{text:a,suggestion:{...l,source:l.source,sourceText:l.text}})};return np(ay,{children:o.map(a=>np(op,{suggestion:a,lines:e,onEdit:l=>r(l),onUse:l=>i(l,a)},a.text||a.url||a.message))})},sp=iy;var Tr={};K(Tr,{enUS:()=>ly,nlNL:()=>cy});var ly={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"}]},cy={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 rp={root:"_root_x0pwe_1",loginText:"_loginText_x0pwe_7",stateText:"_stateText_x0pwe_8",sectionList:"_sectionList_x0pwe_20",shortcutList:"_shortcutList_x0pwe_24",shortcut:"_shortcut_x0pwe_24",link:"_link_x0pwe_52"};import{jsx as ip}from"react/jsx-runtime";var ap=()=>ip("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:ip("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 lp}from"react/jsx-runtime";var cp=()=>lp("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:lp("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 Pt}from"react/jsx-runtime";var Dn=(t,e)=>{let o=$(Se);uy(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},my=()=>{let t=T(Tr),e=dy(),o=b("isEmbedded"),n=y("Widget",rp),s=b("showAutoflows"),r=b("showCustomMessages"),i=b("showPersonalCollectionLink"),a=b("showSummaryCommand"),l=b("showKnowledgeSearch"),c=b("showSearch"),p=$(bt),d=$(yn),u=$(bc),g=$(gn),h=$(kc),m=$(Bo),_=$(Ho),w=$(Se),f=$(Do),v=$(Kc),x=$(gt),k=te(),C=$(ka),O=$(Dc("/admin/personal-collection")),X=b("adminUrl");if(Dn(()=>(e(co(f)),e(Ac(f)),()=>{e(Mc(f))}),[e,_,r,f]),Dn(()=>(e(we(f)),e(Cc(f)),()=>{e(wc(f))}),[e,_,s,f]),Dn(()=>{d.forEach(({type:I})=>{e(I==="entities"?ae():he(I))})},[e,_,m,p]),Dn(()=>(e(br()),()=>{e(Hc())}),[e,_,i,m]),_===!1)return M("div",{className:n.stateText,children:M("div",{children:M("p",{children:t("notSupported")})})},"supported");if(w===!1)return M("div",{className:n.loginText,children:M("div",{children:M(xn,{isEmbedded:o,loginUrl:X})})},"login");if(!p||!f||w===null||C||v)return M("div",{className:n.stateText,children:M("div",{children:M("p",{children:t("waiting")})})},"waiting");let D=c||a||l||O;return M("div",{className:py(n.root),"data-testid":"widget",children:Pt(is,{className:n.sectionList,children:[D&&M(Ke,{title:t("actions"),type:"shortcuts",children:Pt("div",{className:n.shortcutList,children:[c&&Pt("button",{className:n.shortcut,onClick:()=>k.send("ShowCommandPalette",{isOpen:!0}),children:[M(dt,{}),t("linkSearch")]}),a&&Pt("button",{className:n.shortcut,onClick:()=>k.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[M(cp,{}),t("linkSummary")]}),l&&Pt("button",{className:n.shortcut,onClick:()=>k.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeSearch"}),children:[M(ap,{}),t("linkKnowledgeSearch")]}),O&&Pt("a",{className:n.shortcut,target:"_blank",href:O,rel:"noreferrer",children:[M(tp,{}),t("linkPersonalcollection")]})]})}),r&&h.length>0&&M(Ke,{type:"custom-messages","data-testid":"custom-messages",children:M(me,{withDivider:!0,children:h.map(I=>M(Yc,{suggestion:I},I.text))})}),s&&u.length>0&&M(Ke,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:M(me,{withDivider:!0,children:M(Wc,{})})}),d.map(({type:I,title:Q,amount:ne,lines:zn})=>{var He;switch(I){case"entities":return g&&g.length>0&&M(Ke,{type:I,title:Q,"data-testid":`type-${I}`,children:M(Zc,{entities:g})},I);default:return((He=x[I])==null?void 0:He.fetchState)==="done"&&x[I].suggestions.length>0&&M(Ke,{type:I,title:Q,"data-testid":`type-${I}`,children:M(me,{withDivider:!0,children:M(sp,{lines:zn,contentType:I,suggestions:x[I].suggestions.slice(0,ne)||[]})})},I)}})]})})},pp=my;function up(t){let e=new Range;return e.selectNodeContents(t),e}var mo=/[\u200B-\u200D\uFEFF]/g;function It(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(l,c){let p=-1,d=/[\u200B-\u200D\uFEFF]/;if(!d.test(l))return c;for(let u=0;u<=l.length;u++)if(d.test(l[u])||p++,p===c)return u;throw new Error("Offset out of range")}function a(l){var c;switch(l.nodeType){case Node.TEXT_NODE:{let p=l.textContent,d=p.replace(mo,""),u=s+d.length,g=e>=s&&e<=u,h=o>=s&&o<=u;if(g){let m=i(p,e-s);m===0&&!h?n.setStartBefore(l):n.setStart(l,m)}h&&(n.setEnd(l,i(p,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(l.tagName==="BR"&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let d=0;d<l.childNodes.length&&(a(l.childNodes[d]),!r);d++);let p=(c=l.lastChild)==null?void 0:c.tagName;l.tagName==="DIV"&&p!=="DIV"&&p!=="BR"&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Er(t,e){if(!t.contains(e.commonAncestorContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i,a,l=0;function c(p){let d=p===o,u=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let g=p.textContent;d&&(i=l+g.substring(0,n).replace(mo,"").length),u&&(a=l+g.substring(0,r).replace(mo,"").length),l+=g.replace(mo,"").length;break}case Node.ELEMENT_NODE:{let{tagName:g}=p,h=p.nextSibling===null;g==="BR"&&!h&&l++;for(let m=0;m<p.childNodes.length&&(d&&m===n&&(i=l),c(p.childNodes[m]),u&&m===r-1&&(a=l),a===void 0);m++);!u&&g==="DIV"&&!h&&l++,u&&(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 Bn(t,e){if(!t.contains(e.commonAncestorContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let p=c===o,d=c===s;switch(p&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let u=p?n:0,g=d?r:void 0,h=c.textContent.replace(mo,"");u===0&&g===void 0?a+=h:a+=h.substring(u,g);break}case Node.ELEMENT_NODE:{let{tagName:u}=c,g=c.nextSibling===null;i===0&&u==="BR"&&!g&&(a+=`
|
|
4
|
+
`);for(let h=p?n:0;h<(d?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[h]),i!==1);h++);!d&&i===0&&u==="DIV"&&!g&&(a+=`
|
|
5
|
+
`);break}default:break}d&&i++}return l(t),a}var Rt=class extends Ae{observer;getText(){let e=new Range;return e.selectNodeContents(this.element),Bn(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 o=e.getRangeAt(0);return!o||!this.element.contains(o.commonAncestorContainer)?null:Er(this.element,o)}getSelectedText(){if(!this.currentSelection)return"";let{start:e,end:o}=this.currentSelection;return Bn(this.element,It(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var kr=class{constructor(e){this.name=e;E.warn("BroadcastChannel is not supported")}postMessage(){}addEventListener(){}removeEventListener(){}close(){}},Pr=class{constructor(e,o){this.name=e;this.options=o;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()}},Ir=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=this.createIframe(),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];createIframe(){let e=`deepdesk-iframe-${this.name}`,o=document.getElementById(e);if(o)return o;let n=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"),n.style.position="absolute",n.style.left="-999em",n.style.width="0px",n.style.height="0px",n.tabIndex=-1,n.id=e,n.title=`iframe-${this.name}`,n.src=`${s}?${r.toString()}`,n}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(e,this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},Rr=class{sessionId;deepdeskUrl;channel;defaultChannel;broadcastChannelConstructor;eventMap;isIntegration;constructor(e){this.deepdeskUrl=e.deepdeskUrl,this.broadcastChannelConstructor=e.broadcastChannelConstructor||window.BroadcastChannel||kr,this.isIntegration=e.deepdeskUrl!==(e.origin||window.location.origin),this.eventMap=e.eventMap,this.defaultChannel=this.createChannel("deepdesk-general")}setSessionId(e){this.sessionId!==e&&(this.cleanup(),E.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.isIntegration?new Ir(e,this.deepdeskUrl,{debug:!0}):new Pr(e,{broadcastChannelConstructor:this.broadcastChannelConstructor}),n=s=>{var r,i;s.origin===this.deepdeskUrl&&s.data.type==="event"&&(E.info("Received broadcast event",this.sessionId,s),(i=(r=this.eventMap)[s.data.name])==null||i.call(r,s.data.payload))};return o.onMessage(n),o}send(e,o){var s,r,i;if(!this.sessionId)return;E.info("broadcast event",{sessionId:this.sessionId,name:e,payload:o});let n={type:"event",name:e,payload:o};(r=(s=this.eventMap)[e])==null||r.call(s,o),(i=this.channel)==null||i.postMessage(n)}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},dp=Rr;var Lt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Lr=t=>new Promise(e=>{setTimeout(e,t)});var At=class extends Lt{name="ClientError"},Ar=class extends Lt{name="ServerError"},Ee=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}async request(e,o={}){let n={isStale:!1},s=`${this.baseUrl}${e}`,r=this.fetch,{abortLatest:i=!1,attempts:a=1,retryDelay:l=500,refreshTokenOn401:c=!0,retryOnError:p=x=>x instanceof TypeError,retryOnResponse:d=x=>x.status>=500,version:u="v1",...g}=o,h={credentials:"include",...g,headers:{"Content-Type":"application/json",...g.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(h.headers={...h.headers,"X-CSRFToken":this.csrfToken}),typeof u=="string"&&(h.headers={...h.headers,"X-Deepdesk-API-Version":u});let m=a,_=!1;if(!r)throw new Error("fetch is not set");this.latestRequestByUrl[s]&&i&&(this.latestRequestByUrl[s].isStale=!0),this.latestRequestByUrl[s]=n;let w=async()=>(m--,r(s,h).then(async x=>d(x)&&!n.isStale&&m>0?(await Lr(l),w()):x.status===401&&c===!0&&_===!1?(_=!0,await this.refreshToken(),w()):x).catch(async x=>{if(p(x)&&!n.isStale&&m>0)return await Lr(l),w();throw x})),f=await w(),v=await f.json().catch(()=>null);if(n.isStale)throw new Error("Aborted");if(f.status>=500)throw new Ar("Server Error",v);if(f.status===401)throw new At("Unauthorized",v);if(f.status===403)throw new At("Forbidden",v);if(f.status===404)throw new At("Not Found",v);if(f.status>=400)throw new At("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:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var gy;(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||={})})(gy||={});function Hn(t){return{...A(t),tags:t.tags}}var Be=class t{constructor(e,o={}){this.options=o;this.client=new Ee(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),E.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...H(e),tags:e.tags},{version:"v2"});return Hn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return A(o)}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:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),E.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return Hn(r)}async isConversationSupported(e,o={}){E.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=H(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Hn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...H(s),tags:s.tags})),{version:"v2"})).map(s=>Hn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",H({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:H({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source)},prompt_instruction:o.promptInstruction,model:o.model})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw E.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.client.post("/apis/admin/session/api-key/",H(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,H(o),{abortLatest:!0})).map(r=>({...A(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,H(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return A(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",H(e),{abortLatest:!0});return A(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,H(e),{version:"v2"});return A(o)}async knowledgeSearch(e,o,n){let s=await this.client.post("/api/knowledge-search/search",H({question:e.question,promptInstruction:e.promptInstruction,profile:n,chatHistory:o.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return A(s)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return A(o)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return A(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(ai);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&E.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var go=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(Rs(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,A(s))}catch{E.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var fy;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(fy||={});var fo=class{constructor(e,o={}){this.apiUrl=e;this.client=new Ee(e,o)}client;streams={};logger=E;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return A(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,H(o));return A(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,H(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return A(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",H(e));return A(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new go(`${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 by,configureStore as Cy}from"@reduxjs/toolkit";import{createSlice as hy}from"@reduxjs/toolkit";var mp={startTime:null,stopTime:null},gp=hy({name:"handlingTime",initialState:mp,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(P,()=>mp)}}),{handlingTimeStart:fp,handlingTimeStop:Fn,handlingTimeReset:hp}=gp.actions,yp=gp.reducer;var Sp=(t={})=>{let e={onAuthError:yt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as yy,createSlice as Sy}from"@reduxjs/toolkit";var Mr={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var Qe=yy("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return Mr.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),vy=Sy({name:"styleSuggestions",initialState:Mr,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,o)=>{e.fetchState="done",Pe(e.list,o.payload)||(e.list=o.payload)}).addCase(P,()=>Mr)}}),vp=vy.reducer;var _p=(t={})=>{let e,o=!0,n={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:p}=c.settings;if(!((g=c.conversation.current)==null?void 0:g.id)||!p)return l;let{text:u}=c.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),l}};function _y(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var xp=(t={})=>{let e={getTextSuggestions:he,getAutocompleteSuggestions:$t,debounce:200,check:vn,...t},o;return n=>s=>r=>{var m;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:p}=l.settings,d=(m=l.conversation.current)==null?void 0:m.id,u=r.type===dn.toString();if(!d||!c&&!p)return a;let{input:{userCommitted:g}}=l;return _y(g,i)&&!u||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let _=rt(l);_===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(_))},u?0:e.debounce)),a}};var bp=Qe.fulfilled.toString();function xy(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Cp=t=>e=>o=>n=>{var p;if(n.type!==bp){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(p=r.conversation)==null?void 0:p.current,{agentInfo:l}=r.info;if(s===i)return;let c=xy(s,i);n.type===bp&&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=by({activeSuggestion:Ba,answer:Tl,auth:Za,autoflows:Tc,conversation:mi,contentTypes:ll,customMessages:Oc,exchangeToken:Fc,entities:ul,handlingTime:yp,info:ia,input:gs.reducer,overlayInput:V.reducer,settings:ci,profile:Al,search:da,summary:Sl,styleSuggestions:vp,ui:za,textSuggestions:Aa});function wp(t){return Cy({reducer:wy,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Sp(),xp({debounce:200}),_p({debounce:500}),Cp(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Ty=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Ey=t=>e=>o=>n=>{var a;let s=e.getState(),r=ps("inlineSuggestions")(s);switch(n.type){case ye.toString():{let l=Ea(n.payload.contentType)(e.getState()),c=l.indexOf(n.payload.suggestion);t.emit("edit-suggestion",{contentType:n.payload.contentType,index:c,suggestions:l});break}case yt.toString():{!n.payload&&t.emit("logout",void 0);break}case ie.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Ty(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case qo.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Ut.toString():{let l=e.getState(),{text:c,selection:p}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:p},{mayApplyChanges:!0});break}case Xo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case _e.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{inputText:JSON.stringify(n.payload.original),summary:n.payload.summary}});break;case J.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case Wo.toString():t.handleKeyDown(n.payload);break;case Kt.toString():t.logSendMessage(n.payload);break;case Go.toString():t.logSendEditSuggestionMessage(n.payload);break;case $o.toString():t.handleInputChanged(n.payload);break;default:break}let i=o(n);switch(n.type){case Kt.toString():t.handleAfterSendMessage(n.payload);break;case Xt.toString():t.onUpdateShowTabHint(n.payload);break;case Fn.toString():t.logHandlingTime();break;case ie.toString():{r&&(e.dispatch(Re([])),e.dispatch(Le()));break}default:break}return i},Tp=Ey;function Or(t){return t.toISOString().replace("T"," ").replace("Z","")}function Ep(t,e){var s,r,i;let{startTime:o,stopTime:n}=t.handlingTime;if(!o||!n)throw new Error("No startTime and stopTime for handling time metrics");return{conversationId:t.conversation.current.id,clientVersion:e.version,agentId:(s=t.info.agentInfo)==null?void 0:s.agentId,agentName:(r=t.info.agentInfo)==null?void 0:r.agentName,agentEmail:(i=t.info.agentInfo)==null?void 0:i.agentEmail,timeStart:Or(o),timeStop:Or(n)}}function Nr(t,e,o){var k,C,O;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,pastes:p,cuts:d,deletions:u,textSuggestions:g,offeredTextSuggestions:h}}=e[t],m=n.length,w=g.reduce((X,{text:D,searchTerm:I})=>X+D.length-(I?I.length:0),0),f=c??Date.now(),v=(Date.now()-f)/1e3,x=s/v;return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:p,cuts:d,deletions:u,lenTextTyped:s,lenTextTotal:m,lenTextAssisted:w,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:v,charsPerSecond:x,numPastes:l,textSuggestionsV2:g,suggestionsCounters:[{source:"gpt",countOffered:h.filter(X=>X.source==="gpt").length}],agentId:(k=e.info.agentInfo)==null?void 0:k.agentId,agentName:(C=e.info.agentInfo)==null?void 0:C.agentName,agentEmail:(O=e.info.agentInfo)==null?void 0:O.agentEmail}}function kp(t,e){let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;return n instanceof HTMLElement?kp(n,e):null}function Pp(t,e){return kp(t,e)}function Ip(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Dr(t){return t instanceof HTMLElement&&(be(t)||Yo(t))}var Rp=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{E.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function ky(t){return t.offsetParent!==null}function Lp(t){if(!ky(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 Br(t,e,o=100){let n=Lp(t);e({isVisible:n});let s=setInterval(()=>{let r=Lp(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as oe}from"react/jsx-runtime";var Ap=Rp("showTabHint",!0),Un=class t{static version="10.1.3";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new Be(l,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Tp({emit:(p,d,u)=>this.emit(p,d,u),handleAfterSendMessage:p=>this.handleAfterSendMessage(p),handleInputChanged:p=>this.handleInputChanged(p),handleKeyDown:p=>this.handleKeyDown(p),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:p=>this.logSendMessage(p),logSendEditSuggestionMessage:p=>this.logSendEditMessage(p),onUpdateShowTabHint:p=>Ap.update(p),sendEvent:(p,d)=>this.deepdeskApi.sendEvent(p,d)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new fo(o)}),this.store=wp(c),this.broadcastEvents=new dp({debug:!0,deepdeskUrl:l,eventMap:Ja(this.store)}),this.store.dispatch(Ft),this.store.dispatch(Xt(Ap.value())),this.store.dispatch(Ft({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?(E.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(E.warn("Profile has not been loaded (yet)"),!0):(E.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(yt(null)),this.store.dispatch(Ne()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();Se(n)&&qa(n)!=="loading"&&e()});this.unmountHandlers.push(()=>{o()})})}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(o){E.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ds({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Fo(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Ko({sessionId:e,options:o}))).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(zo(e))).payload}async updateConversation(e){return(await this.store.dispatch(Uo(e))).payload}resetConversation(){this.store.dispatch(P()),this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(_e());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Ft(e))}setVisitorInfo(e){this.store.dispatch(ra(e))}async setAgentInfo(e){await this.store.dispatch(qt(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(dn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch($o(e))}syncInputHtml(e){this.store.dispatch(Ei(e))}notifyKeyDown(e){this.store.dispatch(Wo(e))}notifyPaste(e,o){this.store.dispatch(wi({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(bi(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:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(ht({collapse:!1})),this.inputMediator&&this.store.dispatch(hi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(Re([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,l=s!==-1;if(this.store.dispatch(Ci(Vo(e))),!(e.key!=="Tab"&&!this.settings.showTextSuggestions))switch(e.key){case"Up":case"ArrowUp":if(o||!a||!r||e.shiftKey)return;this.store.dispatch(vi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault();return;case"Down":case"ArrowDown":{if(o||!a||!r||e.shiftKey)return;this.store.dispatch(xi());let{selectedSuggestionIndex:c}=this.state.input;c===-1?this.store.dispatch(Ut()):i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault();return}case"Esc":case"Escape":{l?(this.store.dispatch(Qo(-1)),this.store.dispatch(Ut()),e.preventDefault()):o||(this.store.dispatch(ht({collapse:!0})),this.store.dispatch(Ka(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:c}=this.state.input,p=c.text.substring(0,c.selection.end),{tabCompletionSuggestion:d}=this.state.input;this.store.dispatch(Xt(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):this.settings.showTabCompletion&&d&&d.text.startsWith(p)&&(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(Ti()),this.store.dispatch(Re([]))}handlingTimeStart(){this.state.handlingTime.startTime||(E.info("Start handling time"),this.store.dispatch(fp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(E.info("Stop handling time"),this.store.dispatch(Fn()))}logSendMessage(e){let o=Nr("input",this.state,{version:this.version});e&&Object.assign(o,{text:e}),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o)}logSendEditMessage(e){let o=Nr("overlayInput",this.state,{version:"v2"});e&&Object.assign(o,{text:e}),this.store.dispatch(Si(this.state.overlayInput.metrics)),this.deepdeskApi.sendEvent("suggestion edited",{data:o})}logHandlingTime(){let e=Ep(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(hp())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Le()),this.store.dispatch(Kt(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(ie({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){E.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),E.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=zt(n,s);return r.dataset.testid=e,o!=null&&o.rootNode&&r.classList.add(o.rootNode),this.unmountHandlers.push(()=>{Hr(r),i(),r.remove()}),r}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ve(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,o.appendChild(s),this.unmountHandlers.push(()=>{Hr(s),s.remove()}),s}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Dr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,isEmbedded:d,detectSubmit:u,insertLink:g,inputMediator:h,closestScrollSelector:m,appendOverlayTo:_,inlineSuggestions:w}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,showTextSuggestions:i,insertLink:g,isEmbedded:d,inlineSuggestions:w});let f=m&&Pp(e,m)||void 0,v=this.overlayContainerFactory("deepdesk-tab-completion",n,e,{appendTo:_,closestScrollElement:f,mirrorOverflow:!0,onRemove:()=>this.unmount()}),x=this.overlayContainerFactory("deepdesk-suggestions-overlay",n,f||e,{appendTo:_});o.automaticHandlingTime&&this.setupHandlingTime(e),Kn(oe(no,{store:this.store,customStyles:n,children:oe(Qt,{broadcastEvents:this.broadcastEvents,children:oe(vc,{inputElement:e})})}),v),Kn(oe(no,{store:this.store,customStyles:n,children:oe(Qt,{broadcastEvents:this.broadcastEvents,children:oe(Cn,{})})}),x),Kn(oe(no,{store:this.store,customStyles:n,children:oe(Qt,{broadcastEvents:this.broadcastEvents,children:oe(Dl,{})})}),this.createContainer("deepdesk-overlays")),Ve(e),this.inputMediator=h||(be(e)?new Me(e):new Rt(e)),this.inputMediator.on("change",({plainText:C})=>{this.notifyInputChanged(C)}),this.inputMediator.on("updated",({rawHtml:C})=>{C!=null&&this.syncInputHtml(C)}),this.inputMediator.on("keydown",C=>{this.notifyKeyDown(C)}),this.inputMediator.on("paste",({pastedText:C,selectionText:O})=>{this.notifyPaste(C,O)}),this.inputMediator.on("cut",({selectionText:C})=>{this.notifyCut(C)});let k;this.inputMediator.on("selection",C=>{clearTimeout(k),C===null?k=setTimeout(()=>{C!==null&&this.store.dispatch(fs(C))},500):this.store.dispatch(fs(C))}),this.inputMediator.on("disabled",()=>{var C;(C=this.inputMediator)==null||C.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(ft(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(ft(!0))),this.store.dispatch(yi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.whenConversationLoaded(()=>{var C;this.refresh(),this.broadcastEvents.setSessionId((C=this.state.conversation.current)==null?void 0:C.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&E.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,showPersonalCollectionLink:r,isEmbedded:i}=o;this.widgetRoot=e,this.configure({showImages:s,showPersonalCollectionLink:r,isEmbedded:i}),Kn(oe(no,{store:this.store,customStyles:n,children:oe(Qt,{broadcastEvents:this.broadcastEvents,children:oe(pp,{})})}),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 o=Br(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Ip(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(to());let e=bt(this.state);e&&this.store.dispatch(Ft({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:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(E.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;E.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=yn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(he(n))})}catch(n){this.handleError(n)}}};async function Py(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function Iy(t,e,o={}){let n=o.replace?It(t,o.replace.start,o.replace.end):up(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),e.split(`
|
|
6
|
+
`).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}),n.commonAncestorContainer===t&&n.surroundContents(document.createElement("div"))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?It(t,o.selectionAfter.start,o.selectionAfter.end):(n.collapse(!1),n),a=window.getSelection();a==null||a.removeAllRanges(),a==null||a.addRange(i)}if(!s)return;s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function Ry(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function Ly(t,e,o){await new Be(t).authenticateWithKey(e,o)}async function Ay(t){let o=await new Ee(t).get("/platform/config/",{version:null});return A(o)}async function My(t){let o=await(t.fetch??window.fetch)(t.url),n=await o.blob();return new File([n],t.name,{type:t.mimeType??o.headers.get("Content-Type")??"image/jpeg"})}async function Oy(t,e){let o=await My(e),n=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[o]}),t.dispatchEvent(n)}finally{Object.hasOwn(t,"files")&&delete t.files}}export{B as Card,Su as Chip,Rt as ContentEditableInput,Be as DeepdeskAPI,Un as DeepdeskSDK,Ae as InputMediator,ze as InputType,ns as KeyboardHint,ss as Label,No as Locale,Ke as Section,is as SectionList,Ue as Sources,N as Suggestion,me as SuggestionList,Me as TextAreaInput,ot as ToggleButton,Oy as attachFile,Ly as authenticateWithKey,zt as createOverlayContainer,It as createRangeFromOffsets,so as escapeHTML,Ay as fetchPlatformConfig,Ry as formatTextMarkup,Er as getRangeOffsets,Bn as getRangeText,Dr as isSupportedInputElement,Iy as updateContentEditable,Py as updateTextArea,y as useStyles,Br as waitForElementVisibilityChange};
|