@deepdesk/deepdesk-sdk 10.10.3-beta.4 → 10.10.3-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +3 -3
- package/dist/index.esm.js +3 -3
- package/dist/index.iife.js +3 -3
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -4,8 +4,8 @@ Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
|
4
4
|
c-17.9,17.9-27.3,40.1-27.3,65.7C163.4,163,163.4,233,163.4,233z M465.5,267.9V477c0,9.4-3.4,17.9-10.2,24.7
|
|
5
5
|
c-6.8,6.8-15.4,10.2-24.7,10.2h-349c-9.4,0-17.9-3.4-24.7-10.2c-6.8-6.8-10.2-15.4-10.2-24.7V267.9c0-9.4,3.4-17.9,10.2-24.7
|
|
6
6
|
c6.8-6.8,15.4-10.2,24.7-10.2h11.9v-70c0-44.4,16.2-82.8,47.8-115.2S212.1,0,256.4,0s82.8,16.2,115.2,47.8
|
|
7
|
-
c32.4,32.4,47.8,70,47.8,115.2v70h11.9c9.4,0,17.9,3.4,24.7,10.2C462.1,250,465.5,257.7,465.5,267.9z`})})});var Ei=require("react/jsx-runtime"),gf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},wp=({className:t,color:e})=>(0,Ei.jsx)("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ei.jsx)("path",{d:"M172.03 0.0199966H0V86.03C47.5 86.03 86 124.54 86 172.04C86 124.54 124.51 86.03 172.01 86.03C219.51 86.03 258.03 124.54 258.03 172.04C258.03 219.54 219.52 258.05 172.01 258.05C124.5 258.05 86 219.54 86 172.04C86 219.54 47.5 258.05 0 258.05V344.06H172.03C267.04 344.06 344.06 267.04 344.06 172.03C344.06 77.02 267.04 0 172.03 0V0.0199966Z",fill:gf[e||"pink"]})});var Tp={root:"_root_1tvv4_1",text:"_text_1tvv4_18",isLoggedIn:"_isLoggedIn_1tvv4_25",isLoggedOut:"_isLoggedOut_1tvv4_29",icon:"_icon_1tvv4_39",logo:"_logo_1tvv4_44",lock:"_lock_1tvv4_49"};var ki={};G(ki,{enUS:()=>mf,nlNL:()=>ff});var mf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},ff={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};var Ip=require("react-redux"),qt=require("react/jsx-runtime"),Rp=({onLogIn:t})=>{let e=T(ki),o=C("productName"),n=(0,Ip.useDispatch)(),s=(0,kp.useSelector)(ne),r=y("FloatingMenu",Tp);if(s===null)return null;let i=()=>{s===!0?n(te(!0)):t()};return(0,qt.jsxs)("button",{className:(0,Ep.default)(r.root,{[r.isLoggedIn]:s,[r.isLoggedOut]:!s}),onClick:i,children:[(0,qt.jsx)("div",{className:r.text,children:e(s?"search":"signin",{productName:o})}),(0,qt.jsxs)("div",{className:r.icon,children:[(0,qt.jsx)(wp,{className:r.logo,color:"pink"}),s===!1&&(0,qt.jsx)(Cp,{className:r.lock})]})]})};var Qs=require("react"),et=require("react-redux");function ko(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}var Xs=require("react");var Mp=require("interweave"),Io=require("react"),$s=require("react-redux");var Pp=require("react");function Ap(t,e,o){(0,Pp.useEffect)(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Lp={root:"_root_4u430_1",actions:"_actions_4u430_8",badge:"_badge_4u430_15",formattedText:"_formattedText_4u430_19"};var Wt=require("react/jsx-runtime"),yf=["search","personal-collection-search","search-autocomplete"];function vf(t,e,o,n={}){let s="";return yf.includes(e)?s=Il(ei(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=ei(t,o,n),n.placeholders===!0&&(s=Rl(s)),s}var Sf=()=>{},_f=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=C("inlineSuggestions"),r=(0,$s.useSelector)(so),i=(0,$s.useDispatch)(),a=y("TextSuggestion",Lp),l=(0,Io.useRef)(null);(0,Io.useEffect)(()=>{let p=setTimeout(()=>{i(Wa({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(p)}},[o]),Ap(l,"click",()=>{i(ut(t)),i(ke({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=(0,Io.useMemo)(()=>vf(o.text,o.source,r,{stripAgentPart:s,placeholders:!0,searchKeywords:o.searchKeywords}),[s,o.text,o.source,r,o.searchKeywords]);return o.source==="gpt"&&!s?null:(0,Wt.jsxs)("div",{className:a.root,onMouseEnter:()=>i(ut(t)),children:[(0,Wt.jsx)(D,{ref:l,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Sf,children:(0,Wt.jsx)(Mp.Interweave,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:c})}),e&&n&&(0,Wt.jsx)("div",{className:a.actions,children:(0,Wt.jsx)(ws,{onFeedback:()=>n(o),suggestion:o.text})})]})},Np=_f;var Ii=require("react/jsx-runtime"),xf=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=(0,Xs.useMemo)(()=>{let r=e.map((i,a)=>(0,Ii.jsx)(Np,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return(0,Ii.jsx)(Xs.Fragment,{children:s})},Zs=xf;var Op={root:"_root_otdbu_1",paper:"_paper_otdbu_11"};var hn=require("react/jsx-runtime"),bf=({textSuggestions:t,selectedIndex:e})=>{let o=(0,Qs.useRef)(null),n=y("InlineSuggestionsOverlay",Op),s=(0,et.useSelector)(ko),r=(0,et.useDispatch)(),i=(0,et.useSelector)(ne),a=(0,et.useSelector)(no),l=(0,et.useSelector)(Ds),c=C("showTextSuggestions");return po(()=>{r(yt({collapse:!0,skipWhenInputFocus:!0}))}),(0,Qs.useEffect)(()=>{let p=o.current;if(!p||!p.parentElement)return;p.parentElement.style.left="0px";let d=p.getBoundingClientRect();p.parentElement.style.left=`${Math.min(window.innerWidth-4-d.right,0)}px`}),l||!s||!c||t.length===0||i!==!0||a===!1?null:(0,hn.jsx)("div",{className:n.root,"data-variant":"inline",children:(0,hn.jsx)("div",{ref:o,className:n.paper,children:(0,hn.jsx)(Se,{children:(0,hn.jsx)(Zs,{suggestions:t,selectedIndex:e})})})})},Cf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Dp=(0,et.connect)(Cf)(bf);var Hp=require("react-redux");var yn=require("react/jsx-runtime"),wf=({children:t})=>{let o=C("locale").replace("-","");return(0,yn.jsx)(qr.Provider,{value:o,children:t})},Tf=({store:t,customStyles:e={},children:o})=>(0,yn.jsx)(Hp.Provider,{store:t,children:(0,yn.jsx)(wf,{children:(0,yn.jsx)(Do.Provider,{value:e,children:o})})}),Gt=Tf;var Ys=E(require("classnames")),Ro=require("react"),Ke=require("react-redux");var Bp=require("react");function Fp(t,e){let[o,n]=(0,Bp.useState)(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}var Up=E(require("classnames")),tt=require("react");var Ri={};G(Ri,{enUS:()=>Ef,nlNL:()=>kf});var Ef={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"}]}]},kf={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 Kp={root:"_root_1vfca_1",anchor:"_anchor_1vfca_6",anchorButton:"_anchorButton_1vfca_11"};var _t=require("react/jsx-runtime"),Pi=(t,e,o)=>n=>(0,_t.jsx)("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),If=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=T(Ri),i=xe(),a=y("Login",Kp),l=C("productName"),c=(0,tt.useCallback)(h=>{h.preventDefault(),n&&n(parseInt(h.target.value,10))},[]),p=(0,tt.useCallback)(h=>{h.preventDefault(),i.send(xo,!0)},[e]),d=(0,tt.useMemo)(()=>h=>(0,_t.jsx)("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:h},"login"),[e]),g=(0,tt.useCallback)(h=>(0,_t.jsx)("button",{type:"button",className:a.anchorButton,onClick:p,children:h},"prompt"),[p]),{min:u,hour:m,day:f}=(0,tt.useMemo)(()=>({min:Pi(a,60*10,c),hour:Pi(a,60*60,c),day:Pi(a,60*60*12,c)}),[]);return(0,_t.jsxs)("div",{className:(0,Up.default)(t,a.root),children:[r("loginPlease",{login:o?g:d,productName:l}),n&&(0,_t.jsxs)(tt.Fragment,{children:[(0,_t.jsx)("br",{}),r("snooze",{min:u,hour:m,day:f})]})]})},Js=If;var zp=require("react-redux");var jp={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};var vn=require("react/jsx-runtime"),Rf=({title:t})=>{let e=y("SearchTrigger",jp),o=(0,zp.useDispatch)();return(0,vn.jsxs)("button",{type:"button",className:e.root,onClick:()=>o(te(!0)),children:[(0,vn.jsx)(ho,{}),(0,vn.jsx)("span",{className:e.text,children:t})]})},Vp=Rf;var Ai={};G(Ai,{enUS:()=>Pf,nlNL:()=>Af});var Pf={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"}]},Af={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 qp={root:"_root_onpov_1",isInline:"_isInline_onpov_14",toggleButton:"_toggleButton_onpov_21",toggleButtonWrapper:"_toggleButtonWrapper_onpov_25",toggleButtonWrapperHidden:"_toggleButtonWrapperHidden_onpov_32",isCollapsed:"_isCollapsed_onpov_36",collapsible:"_collapsible_onpov_36",hints:"_hints_onpov_44",hintsHidden:"_hintsHidden_onpov_51",triggers:"_triggers_onpov_56",triggersRight:"_triggersRight_onpov_71"};var B=require("react/jsx-runtime"),Lf=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=y("SuggestionsOverlay",qp),s=T(Ai),r=(0,Ke.useSelector)(ko),i=Ua(),a=(0,Ke.useDispatch)(),l=(0,Ro.useRef)(null),c=C("searchTriggerKey"),p=C("productName"),d=(0,Ke.useSelector)(Ds),g=(0,Ke.useSelector)(ne),u=(0,Ke.useSelector)(no),[m,f]=(0,Ro.useState)(null),h=C("showSearch"),k=C("showTextSuggestions"),S=C("adminUrl"),x=C("isEmbedded"),[b,v]=Fp("dd-snooze-until-ms",0),A=d||b>Date.now(),M=(0,Ke.useSelector)(j=>j.input.text),K=t.filter(j=>j.source!=="gpt").length,L=()=>{A&&v(0),a(Tc(!A))},Z=j=>{a(Q({name:"suggestion feedback",data:{text:j.text,source:"overlay",context:M},options:{includeConversationData:!0}}))},I=j=>{let Qt=Date.now()+j*1e3;v(Qt),w.info(`Snooze until: ${new Date(Qt)}`),a(yt({collapse:!0}))};return(0,Ro.useEffect)(()=>{K===0&&f(null)},[t,K]),po(()=>{a(yt({collapse:!0,skipWhenInputFocus:!0}))}),g===null||u===!1?null:g===!1?(0,B.jsxs)("div",{ref:l,className:(0,Ys.default)(n.root,{[n.isCollapsed]:A}),children:[!A&&(0,B.jsxs)("div",{className:n.triggers,children:[(0,B.jsx)("div",{style:{flex:1}}),(0,B.jsx)("div",{className:n.triggersRight,children:(0,B.jsx)(Rt,{className:n.toggleButton,title:s("collapse"),onClick:L,isCollapsed:!1})})]}),(0,B.jsx)("div",{className:n.toggleButtonWrapper,children:(0,B.jsx)(Rt,{className:n.toggleButton,title:s("open",{productName:p}),onClick:L,isCollapsed:!0})}),(0,B.jsx)("div",{className:n.collapsible,children:(0,B.jsx)(Js,{loginUrl:S,isEmbedded:x,onLogIn:o,onSnooze:I})})]}):!i||!r?null:(0,B.jsxs)("div",{ref:l,className:(0,Ys.default)(n.root,{[n.isCollapsed]:A}),children:[!A&&(0,B.jsxs)("div",{className:n.triggers,children:[(0,B.jsx)("div",{style:{flex:1},children:h&&(0,B.jsx)("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(s(Ps()?"searchHintMac":"searchHintWindows",{searchTriggerKey:c.toUpperCase()})),onMouseLeave:()=>f(null),children:(0,B.jsx)(Vp,{title:s("search")})})}),(0,B.jsxs)("div",{className:n.triggersRight,onFocus:()=>{},children:[(0,B.jsx)("div",{className:(0,Ys.default)(!m&&n.hintsHidden,n.hints),children:m}),(0,B.jsx)(Rt,{className:n.toggleButton,title:s("collapse"),onClick:L,isCollapsed:!1})]})]}),(0,B.jsx)("div",{className:n.toggleButtonWrapper,children:(0,B.jsx)(Rt,{className:n.toggleButton,title:s("open",{productName:p}),onClick:L,isCollapsed:!0})}),K>0&&k&&(0,B.jsx)("div",{className:n.collapsible,onFocus:()=>{},children:(0,B.jsx)(Se,{children:(0,B.jsx)(Zs,{onFeedback:Z,suggestions:t,selectedIndex:e,reverse:!0})})})]})},Mf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Wp=(0,Ke.connect)(Mf)(Lf);var ur=E(require("classnames")),dd=require("interweave"),st=require("react"),ud=require("react-redux");var Gp=require("react"),Nf=["div","span","mark","strong","b","i","u","em"];function Li(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(Nf.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),(0,Gp.cloneElement)(n,{children:Li(i,e,o+1)})]}return[...t,...e]}function xt(t){return t.tagName.toLowerCase()==="textarea"}var $p={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};var nd=E(require("classnames")),sd=require("interweave"),lr=require("react");function Xp(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function er(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Zp(t){return t!=null}var Ni=E(require("classnames")),be=require("react");var tr=require("react"),Of=["bottom","height","left","right","top","width"],Df=(t={},e={})=>Of.some(o=>t[o]!==e[o]),ot=new Map,Qp,Jp=()=>{let t=[],e=[];ot.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Df(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{ot.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),Qp=window.requestAnimationFrame(Jp)};function Hf(t,e){return{observe(){let o=ot.size===0;if(ot.has(t)){let n=ot.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else ot.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Jp()},unobserve(){let o=ot.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ot.delete(t),ot.size||cancelAnimationFrame(Qp)}}}}function Mi(t){let[e,o]=(0,tr.useState)(null);return(0,tr.useLayoutEffect)(()=>{if(!t.current)return;let n=Hf(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}var Po=require("react"),ed=require("react-dom");var Yp={root:"_root_1jq08_1"};var td=({children:t})=>{let[e,o]=(0,Po.useState)(null),n=(0,Po.useContext)(Do);return(0,Po.useLayoutEffect)(()=>{let s=document.createElement("div");return Lt(s),s.classList.add(Yp.root),n!=null&&n.portalRootNode&&s.classList.add(n==null?void 0:n.portalRootNode),document.body.appendChild(s),o(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?(0,ed.createPortal)(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"};var or=require("react/jsx-runtime"),nr=(t=!1)=>{let[e,o]=(0,be.useState)(t),n=(0,be.useCallback)(()=>o(!0),[]),s=(0,be.useCallback)(()=>o(!1),[]),r=(0,be.useCallback)(()=>o(a=>!a),[]),i=(0,be.useRef)(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function Oi(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 sr=({className:t,triggerRef:e,boundaryRef:o=(0,be.createRef)(),position:n="above",align:s="center",children:r,toStyle:i=Oi,...a})=>{let l=Mi(e),c=Mi(o),p=(0,be.useMemo)(()=>i(l,c,0),[l,c]);return(0,or.jsx)(td,{children:(0,or.jsx)("div",{className:(0,Ni.default)(Ue.ref,{[Ue.positionAbove]:n==="above",[Ue.positionBelow]:n==="below",[Ue.positionLeft]:n==="left",[Ue.positionRight]:n==="right",[Ue.alignStart]:s==="start",[Ue.alignCenter]:s==="center",[Ue.alignEnd]:s==="end"}),style:p,...a,role:"dialog",children:(0,or.jsx)("div",{className:(0,Ni.default)(t,Ue.root),children:r})})})};var od=E(require("classnames")),rr=require("react");var Di=require("react/jsx-runtime"),ir=(0,rr.forwardRef)(({className:t,children:e,...o},n)=>{let s=(0,rr.useRef)(null),r=y("TabCompletion",Ve);return(0,Di.jsx)("div",{ref:er([s,n]),className:(0,od.default)(t,r.popoverContentContainer),...o,children:(0,Di.jsx)("div",{className:r.popoverContent,children:e})})});var bt=require("react/jsx-runtime"),Bf=t=>e=>{let o=Oi(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Ff=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=y("TabCompletion",Ve),i=nr(),a=(0,lr.useMemo)(()=>Bf(t.getBoundingClientRect()),[t]),[l,c]=hs(t);return(0,lr.useEffect)(()=>{c?i.open():i.close()},[c]),(0,bt.jsxs)("span",{children:[(0,bt.jsx)("mark",{ref:er([l,i.triggerRef]),className:(0,nd.default)(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&(0,bt.jsx)(sr,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:(0,bt.jsx)(ir,{style:o,children:(0,bt.jsx)("div",{className:r.hintText,children:s})})})]})},ar=class extends sd.Matcher{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${Xp(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(Zp);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(0,bt.jsx)(Ff,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};var pr=E(require("classnames")),cd=require("interweave"),ie=require("react"),pd=require("react-redux");var Hi=require("react/jsx-runtime"),rd=()=>(0,Hi.jsx)("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:(0,Hi.jsx)("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"})});var Ct=require("react"),Sn=require("react-redux"),ad=E(require("lodash.debounce"));var id={root:"_root_1muu8_1",content:"_content_1muu8_7"};function cr(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 Bi(t){return t.replace("https://www.","").replace("https://","")}var Ce=require("react/jsx-runtime"),Kf=3,Uf=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),jf=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=Kf})=>{let r=y("LinkSearch",id),[i,a]=(0,Ct.useState)(""),l=(0,Sn.useDispatch)(),c=(0,Sn.useSelector)(Ns("url")),p=(0,Sn.useSelector)(Yl("URL",Uf)),[d,g]=(0,Ct.useState)(p.length-1),u=C("fallbackImage"),m=S=>{let x=S.target;a(x.value)},f=(S,x)=>{S.stopPropagation(),S.preventDefault(),window.open(x,"_blank")},h=S=>{var v;let x=d-1<0?p.length-1:d-1,b=d+1===p.length?0:d+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&g(x),S.code==="ArrowDown"&&g(b),S.code==="Enter"&&t(((v=p[d])==null?void 0:v.text)||i)},k=(0,Ct.useCallback)((0,ad.default)(S=>{l(Ft({query:S,type:"URL",tags:["link-search"]}))},300),[]);return(0,Ct.useEffect)(()=>{i&&k(i)},[i]),(0,Ct.useEffect)(()=>()=>{l(Is())},[]),(0,Ce.jsxs)("div",{className:r.root,children:[(0,Ce.jsx)(Se,{withDivider:!0,children:(i?p:c).slice(0,s).map((S,x)=>(0,Ce.jsx)(D,{selected:d===x,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:(0,Ce.jsxs)(F,{children:[(0,Ce.jsx)(F.Image,{src:cr(S,"small",u||void 0),title:S.title||S.text}),(0,Ce.jsxs)(F.Content,{className:r.content,cropText:!0,children:[(0,Ce.jsx)(F.Title,{children:S.title||Bi(S.text)}),S.title&&Bi(S.text)]}),(0,Ce.jsx)(D.Actions,{children:(0,Ce.jsx)(D.ActionButton,{label:n,onClick:b=>f(b,S.text)})})]})},S.text))}),(0,Ce.jsx)(rn,{value:i,onChange:m,autoFocus:!0,placeholder:o,onKeyUp:h})]})},ld=jf;var Fi={};G(Fi,{enUS:()=>zf,nlNL:()=>Vf});var zf={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Vf={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};var re=require("react/jsx-runtime"),qf=(0,ie.forwardRef)((t,e)=>{let o=y("TabCompletion",Ve);return(0,re.jsx)("mark",{ref:e,className:(0,pr.default)(o.matchSelection)},"selection-start")}),Wf=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=T(Fi),i=y("TabCompletion",Ve),a=(0,ie.useRef)(null),l=(0,ie.useRef)(null),[c,p]=(0,ie.useState)(null),d=(0,pd.useDispatch)(),g=nr(document.activeElement===n),[u]=(0,ie.useState)(()=>document.createRange());g.triggerRef.current=u,(0,ie.useEffect)(()=>()=>u.detach(),[]),(0,ie.useEffect)(()=>{let f=t.current,h=a.current;!f||!h||(u.setStart(f,0),u.setEnd(h,0))},[t.current,a.current]),po(()=>{g.close()});let m=(0,ie.useCallback)(f=>{let h=u.toString(),k=/^http(s?):\/\//.test(f)?f:`https://${f}`;d(Zn({text:`[${h}](${k})`,replace:"selection"}))},[]);return(0,re.jsxs)("span",{children:[(0,re.jsx)("mark",{ref:a,className:(0,pr.default)(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":g.opened?"true":"false",children:s}),g.opened&&(0,re.jsx)(sr,{className:i.popoverRoot,triggerRef:g.triggerRef,boundaryRef:e,position:"above",align:"start",children:(0,re.jsxs)(ir,{style:o,ref:l,children:[(0,re.jsx)("div",{className:(0,pr.default)(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:(0,re.jsxs)("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>p("insertLink"),children:[(0,re.jsx)(rd,{}),(0,re.jsx)("span",{children:"\xA0"}),(0,re.jsx)("span",{children:r("insertLink")})]})}),c==="insertLink"&&(0,re.jsx)(ld,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:m,onDismiss:()=>{p(null),g.close()}})]})})]},"selection-end")},dr=class extends cd.Matcher{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=(0,ie.createRef)(),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?(0,re.jsx)(qf,{ref:this.startRef}):(0,re.jsx)(Wf,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};var gd=require("react-redux");var nt=require("react/jsx-runtime"),Gf=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=y("TabCompletion",$p),p=C("insertLink"),d=C("showMidSentenceSuggestions"),g=C("inlineSuggestions"),u=vs(a),m=(0,st.useRef)(null),f=(0,gd.useSelector)(ne);(0,st.useEffect)(()=>{xt(a)&&u&&Ss(a,u)},[u]);let h=(0,st.useCallback)(x=>{if(!s||!o)return x;let b=[(0,nt.jsx)("span",{className:c.resetIndent,children:"\u200B"},"u200B"),(0,nt.jsx)("span",{"data-testid":"tab-completion",className:(0,ur.default)(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&b.push((0,nt.jsx)("span",{className:(0,ur.default)(c.hint,c.resetIndent),children:(0,nt.jsx)(Bn,{keyCode:"tab"},"tabHint")})),Li(x,b)},[s,o,n]),k=(0,st.useMemo)(()=>{let x=[];return p&&x.push(new dr("selection")),x.push(new lo("placeholders")),r&&x.push(new ar("keywords")),x},[g,p,r]),S=(0,st.useMemo)(()=>{let x=window.getComputedStyle(a);return{"--dd-color":x.color,"--dd-font-size":x.fontSize,"--dd-font-family":x.fontFamily,"--dd-font-variant":x.fontVariant}},[]);return!t||!f?null:(0,nt.jsxs)("div",{ref:x=>{x!=null&&x.parentElement&&(m.current=x==null?void 0:x.parentElement)},className:c.root,style:S,children:[(0,nt.jsx)(dd.Interweave,{tagName:"span",containerTagName:"div",className:(0,ur.default)(c.container,c.agentText),disableLineBreaks:xt(a),content:e||"\u200B",onAfterParse:h,matchers:k,selection:u,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:m,inlineSuggestionsOnlyAtEnd:!d}),(0,nt.jsx)("br",{})]})},$f=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var f;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??go(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:p}=e,{isSupported:d}=s,{showTabCompletion:g,visible:u,showStyleSuggestions:m}=o;return{showTabHint:p,showStyleSuggestions:m,showTabCompletion:g,content:l,tabText:c,source:a,keywordMatches:((f=n.list)==null?void 0:f.keywordMatches)??[],enabled:u&&d!==!1}},md=(0,ud.connect)($f)(Gf);var ru=E(require("classnames")),iu=require("react"),X=require("react-redux");var wt=require("@reduxjs/toolkit");var fd={list:[],fetchState:"idle",isInitialRequest:null},yd=t=>t.autoflows.list||[],hd=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},rt=(0,wt.createAsyncThunk)("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),Ki=(0,wt.createAsyncThunk)("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(rt(t.platformSessionId))}),Ui=(0,wt.createAsyncThunk)("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(rt(t.platformSessionId))}),Xf=(0,wt.createSlice)({name:"autoflows",initialState:fd,reducers:{},extraReducers:t=>{t.addCase(Ki.pending,(e,o)=>{let n=hd(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Ui.pending,(e,o)=>{let n=hd(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(rt.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(rt.rejected,e=>{e.fetchState="error"}),t.addCase(rt.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(O,()=>fd)}}),vd=(0,wt.createAsyncThunk)("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(rt(t))}),s.on("sessionCompleted",()=>{o(rt(t))})}),Sd=(0,wt.createAsyncThunk)("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),_d=Xf.reducer;var Tt=require("@reduxjs/toolkit");var xd={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},bd=t=>t.customMessages.list,Cd=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),wd=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Td=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),_n=(0,Tt.createAsyncThunk)("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),gr=(0,Tt.createAsyncThunk)("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)}),mr=(0,Tt.createAsyncThunk)("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)}),Ed=(0,Tt.createSlice)({name:"customMessages",initialState:xd,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(_n.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(_n.rejected,e=>{e.fetchState="error"}).addCase(_n.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(gr.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(gr.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(mr.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(mr.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(O,()=>xd)}}),kd=(0,Tt.createAsyncThunk)("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(Ed.actions.onCustomMessage(r))})}),Id=(0,Tt.createAsyncThunk)("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Rd=Ed.reducer;var xn=require("@reduxjs/toolkit"),Zf={token:null,accountUrl:null,interval:null},Pd=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},ji=(0,xn.createAsyncThunk)("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),zi=(0,xn.createAsyncThunk)("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(ji()),setInterval(()=>n(ji()),o)}),Ad=(0,xn.createSlice)({name:"passwordlessToken",initialState:Zf,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(ji.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(zi.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Ld}=Ad.actions,Md=Ad.reducer;function Nd(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}var zd=require("react"),Vd=require("react-redux");var Kd=E(require("classnames")),Ud=require("react");var Dd=E(require("classnames"));var Od={root:"_root_838fd_1"};var Bd=require("react/jsx-runtime"),Qf=({className:t,children:e})=>{let o=y("Unicode",Od);return(0,Bd.jsx)("span",{className:(0,Dd.default)(t,o.root),children:e})},Hd=Qf;var Fd={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 Vi={};G(Vi,{enUS:()=>Jf,nlNL:()=>Yf});var Jf={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"}]},Yf={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"}]};var ge=require("react/jsx-runtime"),th=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=y("Autoflow",Fd),a=T(Vi),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return(0,ge.jsxs)(D,{className:(0,Kd.default)(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[(0,ge.jsx)(F,{children:(0,ge.jsxs)(F.Content,{children:[(0,ge.jsxs)(F.Title,{children:[e&&(0,ge.jsx)("span",{className:i.stateBadge,children:a(e)}),o]}),(0,ge.jsx)("span",{children:n})]})}),(0,ge.jsx)(D.Actions,{fixed:e==="Started",children:(0,ge.jsx)(D.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:(0,ge.jsxs)(Ud.Fragment,{children:[(0,ge.jsx)(Hd,{children:c})," ",(0,ge.jsx)("span",{children:a(l)})]})})})]})},jd=th;var qi=require("react/jsx-runtime"),oh=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},nh=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>(0,qi.jsx)(zd.Fragment,{children:t.map(s=>(0,qi.jsx)(jd,{displayName:s.displayName,description:s.description,disabled:s.isBusy||oh(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),sh=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},rh={onStartAutoflow:Ki,onStopAutoflow:Ui},qd=(0,Vd.connect)(sh,rh)(nh);var fr=require("react"),Gd=require("react-redux"),$i=E(require("classnames"));var Wi=require("react/jsx-runtime"),Gi=()=>(0,Wi.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:(0,Wi.jsx)("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 Wd={root:"_root_rjdyr_1",entity:"_entity_rjdyr_10",entityText:"_entityText_rjdyr_46",iconWrapper:"_iconWrapper_rjdyr_53",icon:"_icon_rjdyr_53",iconClicked:"_iconClicked_rjdyr_67"};var je=require("react/jsx-runtime"),ih=({entities:t})=>{let e=y("EntitiesWidgetList",Wd),[o,n]=(0,fr.useState)(void 0),s=(0,Gd.useDispatch)(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),ln(a.text),s(Q({name:"entity copied",data:{entity:a,type:"copy"}})))};return(0,fr.useEffect)(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:(0,je.jsx)("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>(0,je.jsxs)("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[(0,je.jsx)("span",{className:e.entityText,children:a.text}),(0,je.jsxs)("span",{className:e.iconWrapper,children:[(0,je.jsx)("span",{className:(0,$i.default)(e.icon),children:(0,je.jsx)(Gi,{})}),(0,je.jsx)("span",{className:(0,$i.default)(e.icon,o===l&&e.iconClicked),children:(0,je.jsx)(Gi,{})})]})]},a.text))})},$d=ih;var Xd=E(require("classnames")),Xi=require("react"),$t=require("react-redux");var it={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"};var pe=require("react/jsx-runtime"),ah=({suggestion:t})=>{let e=T(Ht),o=(0,$t.useDispatch)(),n=(0,$t.useSelector)(Cd(t.text)),s=(0,$t.useSelector)(wd(t.text)),r=(0,$t.useSelector)(Td(t.text)),i=(0,$t.useSelector)(jn),{replyOptions:a}=t,l=(0,Xi.useCallback)(p=>{p.preventDefault(),p.stopPropagation(),!(n||!i)&&o(gr({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=(0,Xi.useCallback)(p=>{if(p.preventDefault(),p.stopPropagation(),!i||!a)return;let d=parseInt(p.target.dataset.index,10),g=a[d];o(mr({platformSessionId:i,reply:g,suggestion:t}))},[t,n,o,i]);return(0,pe.jsxs)(D,{onClick:l,className:(0,Xd.default)(it.root,{[it.isUsed]:n,[it.hasError]:r}),children:[(0,pe.jsx)(F,{children:(0,pe.jsxs)(F.Content,{children:[(0,pe.jsxs)(F.Title,{className:it.title,children:[t.text," ",(0,pe.jsx)(Fn,{className:it.label,children:"analyse tool"})," ",r&&(0,pe.jsx)("span",{className:it.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&(0,pe.jsx)("ul",{className:it.quickReplies,children:a.map(p=>(0,pe.jsx)("li",{className:it.quickReply,children:p.title},p.title))})]})}),(0,pe.jsxs)(D.Actions,{fixed:r||n,children:[a&&a.length>0&&(0,pe.jsx)(D.DropdownButton,{label:e("answer"),disabled:s,children:a.map((p,d)=>(0,pe.jsx)(D.DropdownItem,{index:d,label:p.title,onClick:c},p.title))}),(0,pe.jsx)(D.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Zd=ah;var Zi=require("react/jsx-runtime"),Qd=()=>(0,Zi.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Zi.jsx)("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});var eu=require("react-redux");var Jd=require("react");var me=require("react/jsx-runtime"),lh=({suggestion:t,lines:e,onEdit:o,onUse:n})=>{var g;let s=t.text||t.url||t.message,r=Rs(s),i=T(Ht),a=C("showImages"),l=C("fallbackImage"),c=u=>{u.preventDefault(),u.stopPropagation(),n(s)},p=u=>{u.preventDefault(),u.stopPropagation(),o(t)},d=(0,Jd.useCallback)(u=>{window.open(r,"_blank"),u.stopPropagation(),u.preventDefault()},[r]);return(0,me.jsxs)(D,{onClick:c,"data-testid":"edit-suggestion",children:[(0,me.jsxs)(F,{children:[a&&t.image&&(0,me.jsx)(F.Image,{src:cr(t,"small",l||void 0),title:t.title}),(0,me.jsxs)(F.Content,{children:[t.title&&(0,me.jsx)(F.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((g=t.searchKeywords)==null?void 0:g.length)>0&&(0,me.jsx)(D.Labels,{labels:t.searchKeywords}),(0,me.jsx)(F.Content,{cropText:e==="single",lineClamp:e==="multiple",children:s})]})]}),(0,me.jsxs)(D.Actions,{children:[r&&(0,me.jsx)(D.ActionButton,{onClick:d,label:i("visitUrl")}),(0,me.jsx)(D.ActionButton,{primary:!0,onClick:p,label:i("preview")}),(0,me.jsx)(D.ActionButton,{primary:!0,onClick:c,label:i("useSuggestion")})]})]})},Yd=lh;var bn=require("react/jsx-runtime"),ch=({contentType:t,lines:e,suggestions:o})=>{let n=xe(),s=(0,eu.useSelector)(ht),r=a=>{n.send(hi,{state:s,suggestion:a,contentType:t})},i=(a,l)=>{n.send(Ze,{text:a,suggestion:{...l,source:l.source,sourceText:l.text}})};return(0,bn.jsx)(bn.Fragment,{children:o.map(a=>(0,bn.jsx)(Yd,{suggestion:a,lines:e,onEdit:l=>r(l),onUse:l=>i(l,a)},a.text||a.url||a.message))})},tu=ch;var Qi={};G(Qi,{enUS:()=>ph,nlNL:()=>dh});var ph={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},dh={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}]};var ou={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"};var Ji=require("react/jsx-runtime"),nu=()=>(0,Ji.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:(0,Ji.jsx)("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"})});var Yi=require("react/jsx-runtime"),su=()=>(0,Yi.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:(0,Yi.jsx)("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"})});var R=require("react/jsx-runtime"),hr=(t,e)=>{let o=(0,X.useSelector)(ne);(0,iu.useEffect)(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},uh=({onLogIn:t})=>{let e=T(Qi),o=(0,X.useDispatch)(),n=C("isEmbedded"),s=y("Widget",ou),r=C("showAutoflows"),i=C("showCustomMessages"),a=C("showSummaryCommand"),l=C("showKnowledgeSearch"),c=C("showSearch"),p=(0,X.useSelector)(St),d=(0,X.useSelector)(Ws),g=(0,X.useSelector)(yd),u=(0,X.useSelector)(Us),m=(0,X.useSelector)(bd),f=(0,X.useSelector)(zn),h=(0,X.useSelector)(no),k=(0,X.useSelector)(ne),S=(0,X.useSelector)(jn),x=(0,X.useSelector)(Nd),b=(0,X.useSelector)(ht),v=xe(),A=(0,X.useSelector)(pc),M=(0,X.useSelector)(Pd("/admin/")),K=C("adminUrl"),L=C("productName");if(hr(()=>(o(_n(S)),o(kd(S)),()=>{o(Id(S))}),[o,h,i,S]),hr(()=>(o(rt(S)),o(vd(S)),()=>{o(Sd(S))}),[o,h,r,S]),hr(()=>{d.forEach(({type:I})=>{o(I==="entities"?Le():Pe(I))})},[o,h,f,p]),hr(()=>(o(zi()),()=>{o(Ld())}),[o]),h===!1)return(0,R.jsx)("div",{className:s.stateText,children:(0,R.jsx)("div",{children:(0,R.jsx)("p",{children:e("notSupported")})})},"supported");if(k===!1)return(0,R.jsx)("div",{className:s.loginText,children:(0,R.jsx)("div",{children:(0,R.jsx)(Js,{isEmbedded:n,loginUrl:K,onLogIn:t})})},"login");if(!p||!S||k===null||A||x)return(0,R.jsx)("div",{className:s.stateText,children:(0,R.jsx)("div",{children:(0,R.jsx)("p",{children:e("waiting")})})},"waiting");let Z=c||a||l||M;return(0,R.jsx)("div",{className:(0,ru.default)(s.root),"data-testid":"widget",children:(0,R.jsxs)(Kn,{className:s.sectionList,children:[Z&&(0,R.jsx)(lt,{title:e("actions"),type:"shortcuts",children:(0,R.jsxs)("div",{className:s.shortcutList,children:[c&&(0,R.jsxs)("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0}),children:[(0,R.jsx)(ho,{}),e("linkSearch")]}),a&&(0,R.jsxs)("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[(0,R.jsx)(su,{}),e("linkSummary")]}),l&&(0,R.jsxs)("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[(0,R.jsx)(nu,{}),e("linkKnowledgeSearch")]}),M&&(0,R.jsxs)("a",{className:s.shortcut,target:"_blank",href:M,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[(0,R.jsx)(Qd,{}),e("linkStudioLogin",{productName:L})]})]})}),i&&m.length>0&&(0,R.jsx)(lt,{type:"custom-messages","data-testid":"custom-messages",children:(0,R.jsx)(Se,{withDivider:!0,children:m.map(I=>(0,R.jsx)(Zd,{suggestion:I},I.text))})}),r&&g.length>0&&(0,R.jsx)(lt,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:(0,R.jsx)(Se,{withDivider:!0,children:(0,R.jsx)(qd,{})})}),d.map(({type:I,title:j,amount:Qt,lines:No})=>{var Oo;switch(I){case"entities":return u&&u.length>0&&(0,R.jsx)(lt,{type:I,title:j,"data-testid":`type-${I}`,children:(0,R.jsx)($d,{entities:u})},I);default:return((Oo=b[I])==null?void 0:Oo.fetchState)==="done"&&b[I].suggestions.length>0&&(0,R.jsx)(lt,{type:I,title:j,"data-testid":`type-${I}`,children:(0,R.jsx)(Se,{withDivider:!0,children:(0,R.jsx)(tu,{lines:No,contentType:I,suggestions:b[I].suggestions.slice(0,Qt)||[]})})},I)}})]})})},au=uh;function Ao(t){let e=new Range;return e.selectNodeContents(t),e}function lu(t,e,o){try{return Et(t,e,o),!0}catch{return!1}}function yr(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function vr(t){return"tagName"in t&&t.tagName==="BR"}var Cn=/[\u200B-\u200D\uFEFF]/g;function Et(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(l,c){let p=-1,d=/[\u200B-\u200D\uFEFF]/;if(!d.test(l))return c;for(let g=0;g<=l.length;g++)if(d.test(l[g])||p++,p===c)return g;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,p=c.replace(Cn,""),d=s+p.length,g=e>=s&&e<=d,u=o>=s&&o<=d;if(g){let m=i(c,e-s);m===0&&!u?n.setStartBefore(l):n.setStart(l,m)}u&&(n.setEnd(l,i(c,o-s)),r=!0),s=d;break}case Node.ELEMENT_NODE:{if(vr(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let p=0;p<l.childNodes.length&&(a(l.childNodes[p]),!r);p++);let c=l.lastChild;yr(l)&&c&&!yr(c)&&!vr(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function wn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,l,c=0;function p(d){let g=d===o,u=d===s;switch(d.nodeType){case Node.TEXT_NODE:{let m=d.textContent;g&&(a=c+m.substring(0,n).replace(Cn,"").length),u&&(l=c+m.substring(0,r).replace(Cn,"").length),c+=m.replace(Cn,"").length;break}case Node.ELEMENT_NODE:{let m=d.nextSibling===null;vr(d)&&!m&&c++;for(let f=0;f<d.childNodes.length;f++){let h=g&&f===n,k=u&&f===r;if(h&&(a=c),k&&(l=c),l!==void 0||((!h||!i)&&p(d.childNodes[f]),u&&f===r-1&&(l=c),l!==void 0))break}!u&&yr(d)&&!m&&c++,u&&(l=c);break}default:break}}if(p(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Tn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let p=c===o,d=c===s;switch(p&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let g=p?n:0,u=d?r:void 0,m=c.textContent.replace(Cn,"");g===0&&u===void 0?a+=m:a+=m.substring(g,u);break}case Node.ELEMENT_NODE:{let g=c.nextSibling===null;i===0&&vr(c)&&!g&&(a+=`
|
|
7
|
+
c32.4,32.4,47.8,70,47.8,115.2v70h11.9c9.4,0,17.9,3.4,24.7,10.2C462.1,250,465.5,257.7,465.5,267.9z`})})});var Ei=require("react/jsx-runtime"),gf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},wp=({className:t,color:e})=>(0,Ei.jsx)("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ei.jsx)("path",{d:"M172.03 0.0199966H0V86.03C47.5 86.03 86 124.54 86 172.04C86 124.54 124.51 86.03 172.01 86.03C219.51 86.03 258.03 124.54 258.03 172.04C258.03 219.54 219.52 258.05 172.01 258.05C124.5 258.05 86 219.54 86 172.04C86 219.54 47.5 258.05 0 258.05V344.06H172.03C267.04 344.06 344.06 267.04 344.06 172.03C344.06 77.02 267.04 0 172.03 0V0.0199966Z",fill:gf[e||"pink"]})});var Tp={root:"_root_1tvv4_1",text:"_text_1tvv4_18",isLoggedIn:"_isLoggedIn_1tvv4_25",isLoggedOut:"_isLoggedOut_1tvv4_29",icon:"_icon_1tvv4_39",logo:"_logo_1tvv4_44",lock:"_lock_1tvv4_49"};var ki={};G(ki,{enUS:()=>mf,nlNL:()=>ff});var mf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},ff={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};var Ip=require("react-redux"),qt=require("react/jsx-runtime"),Rp=({onLogIn:t})=>{let e=T(ki),o=C("floatingMenu"),n=C("productName"),s=(0,Ip.useDispatch)(),r=(0,kp.useSelector)(ne),i=y("FloatingMenu",Tp);if(r===null||o===!1)return null;let a=()=>{r===!0?s(te(!0)):t()};return(0,qt.jsxs)("button",{className:(0,Ep.default)(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[(0,qt.jsx)("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),(0,qt.jsxs)("div",{className:i.icon,children:[(0,qt.jsx)(wp,{className:i.logo,color:"pink"}),r===!1&&(0,qt.jsx)(Cp,{className:i.lock})]})]})};var Qs=require("react"),et=require("react-redux");function ko(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}var Xs=require("react");var Mp=require("interweave"),Io=require("react"),$s=require("react-redux");var Pp=require("react");function Ap(t,e,o){(0,Pp.useEffect)(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Lp={root:"_root_4u430_1",actions:"_actions_4u430_8",badge:"_badge_4u430_15",formattedText:"_formattedText_4u430_19"};var Wt=require("react/jsx-runtime"),yf=["search","personal-collection-search","search-autocomplete"];function vf(t,e,o,n={}){let s="";return yf.includes(e)?s=Il(ei(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=ei(t,o,n),n.placeholders===!0&&(s=Rl(s)),s}var Sf=()=>{},_f=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=C("inlineSuggestions"),r=(0,$s.useSelector)(so),i=(0,$s.useDispatch)(),a=y("TextSuggestion",Lp),l=(0,Io.useRef)(null);(0,Io.useEffect)(()=>{let p=setTimeout(()=>{i(Wa({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(p)}},[o]),Ap(l,"click",()=>{i(ut(t)),i(ke({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=(0,Io.useMemo)(()=>vf(o.text,o.source,r,{stripAgentPart:s,placeholders:!0,searchKeywords:o.searchKeywords}),[s,o.text,o.source,r,o.searchKeywords]);return o.source==="gpt"&&!s?null:(0,Wt.jsxs)("div",{className:a.root,onMouseEnter:()=>i(ut(t)),children:[(0,Wt.jsx)(D,{ref:l,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Sf,children:(0,Wt.jsx)(Mp.Interweave,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:c})}),e&&n&&(0,Wt.jsx)("div",{className:a.actions,children:(0,Wt.jsx)(ws,{onFeedback:()=>n(o),suggestion:o.text})})]})},Np=_f;var Ii=require("react/jsx-runtime"),xf=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=(0,Xs.useMemo)(()=>{let r=e.map((i,a)=>(0,Ii.jsx)(Np,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return(0,Ii.jsx)(Xs.Fragment,{children:s})},Zs=xf;var Op={root:"_root_otdbu_1",paper:"_paper_otdbu_11"};var hn=require("react/jsx-runtime"),bf=({textSuggestions:t,selectedIndex:e})=>{let o=(0,Qs.useRef)(null),n=y("InlineSuggestionsOverlay",Op),s=(0,et.useSelector)(ko),r=(0,et.useDispatch)(),i=(0,et.useSelector)(ne),a=(0,et.useSelector)(no),l=(0,et.useSelector)(Ds),c=C("showTextSuggestions");return po(()=>{r(yt({collapse:!0,skipWhenInputFocus:!0}))}),(0,Qs.useEffect)(()=>{let p=o.current;if(!p||!p.parentElement)return;p.parentElement.style.left="0px";let d=p.getBoundingClientRect();p.parentElement.style.left=`${Math.min(window.innerWidth-4-d.right,0)}px`}),l||!s||!c||t.length===0||i!==!0||a===!1?null:(0,hn.jsx)("div",{className:n.root,"data-variant":"inline",children:(0,hn.jsx)("div",{ref:o,className:n.paper,children:(0,hn.jsx)(Se,{children:(0,hn.jsx)(Zs,{suggestions:t,selectedIndex:e})})})})},Cf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Dp=(0,et.connect)(Cf)(bf);var Hp=require("react-redux");var yn=require("react/jsx-runtime"),wf=({children:t})=>{let o=C("locale").replace("-","");return(0,yn.jsx)(qr.Provider,{value:o,children:t})},Tf=({store:t,customStyles:e={},children:o})=>(0,yn.jsx)(Hp.Provider,{store:t,children:(0,yn.jsx)(wf,{children:(0,yn.jsx)(Do.Provider,{value:e,children:o})})}),Gt=Tf;var Ys=E(require("classnames")),Ro=require("react"),Ke=require("react-redux");var Bp=require("react");function Fp(t,e){let[o,n]=(0,Bp.useState)(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}var Up=E(require("classnames")),tt=require("react");var Ri={};G(Ri,{enUS:()=>Ef,nlNL:()=>kf});var Ef={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"}]}]},kf={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 Kp={root:"_root_1vfca_1",anchor:"_anchor_1vfca_6",anchorButton:"_anchorButton_1vfca_11"};var _t=require("react/jsx-runtime"),Pi=(t,e,o)=>n=>(0,_t.jsx)("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),If=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=T(Ri),i=xe(),a=y("Login",Kp),l=C("productName"),c=(0,tt.useCallback)(h=>{h.preventDefault(),n&&n(parseInt(h.target.value,10))},[]),p=(0,tt.useCallback)(h=>{h.preventDefault(),i.send(xo,!0)},[e]),d=(0,tt.useMemo)(()=>h=>(0,_t.jsx)("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:h},"login"),[e]),g=(0,tt.useCallback)(h=>(0,_t.jsx)("button",{type:"button",className:a.anchorButton,onClick:p,children:h},"prompt"),[p]),{min:u,hour:m,day:f}=(0,tt.useMemo)(()=>({min:Pi(a,60*10,c),hour:Pi(a,60*60,c),day:Pi(a,60*60*12,c)}),[]);return(0,_t.jsxs)("div",{className:(0,Up.default)(t,a.root),children:[r("loginPlease",{login:o?g:d,productName:l}),n&&(0,_t.jsxs)(tt.Fragment,{children:[(0,_t.jsx)("br",{}),r("snooze",{min:u,hour:m,day:f})]})]})},Js=If;var zp=require("react-redux");var jp={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};var vn=require("react/jsx-runtime"),Rf=({title:t})=>{let e=y("SearchTrigger",jp),o=(0,zp.useDispatch)();return(0,vn.jsxs)("button",{type:"button",className:e.root,onClick:()=>o(te(!0)),children:[(0,vn.jsx)(ho,{}),(0,vn.jsx)("span",{className:e.text,children:t})]})},Vp=Rf;var Ai={};G(Ai,{enUS:()=>Pf,nlNL:()=>Af});var Pf={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"}]},Af={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 qp={root:"_root_onpov_1",isInline:"_isInline_onpov_14",toggleButton:"_toggleButton_onpov_21",toggleButtonWrapper:"_toggleButtonWrapper_onpov_25",toggleButtonWrapperHidden:"_toggleButtonWrapperHidden_onpov_32",isCollapsed:"_isCollapsed_onpov_36",collapsible:"_collapsible_onpov_36",hints:"_hints_onpov_44",hintsHidden:"_hintsHidden_onpov_51",triggers:"_triggers_onpov_56",triggersRight:"_triggersRight_onpov_71"};var B=require("react/jsx-runtime"),Lf=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=y("SuggestionsOverlay",qp),s=T(Ai),r=(0,Ke.useSelector)(ko),i=Ua(),a=(0,Ke.useDispatch)(),l=(0,Ro.useRef)(null),c=C("searchTriggerKey"),p=C("productName"),d=(0,Ke.useSelector)(Ds),g=(0,Ke.useSelector)(ne),u=(0,Ke.useSelector)(no),[m,f]=(0,Ro.useState)(null),h=C("showSearch"),k=C("showTextSuggestions"),S=C("adminUrl"),x=C("isEmbedded"),[b,v]=Fp("dd-snooze-until-ms",0),A=d||b>Date.now(),M=(0,Ke.useSelector)(j=>j.input.text),K=t.filter(j=>j.source!=="gpt").length,L=()=>{A&&v(0),a(Tc(!A))},Z=j=>{a(Q({name:"suggestion feedback",data:{text:j.text,source:"overlay",context:M},options:{includeConversationData:!0}}))},I=j=>{let Qt=Date.now()+j*1e3;v(Qt),w.info(`Snooze until: ${new Date(Qt)}`),a(yt({collapse:!0}))};return(0,Ro.useEffect)(()=>{K===0&&f(null)},[t,K]),po(()=>{a(yt({collapse:!0,skipWhenInputFocus:!0}))}),g===null||u===!1?null:g===!1?(0,B.jsxs)("div",{ref:l,className:(0,Ys.default)(n.root,{[n.isCollapsed]:A}),children:[!A&&(0,B.jsxs)("div",{className:n.triggers,children:[(0,B.jsx)("div",{style:{flex:1}}),(0,B.jsx)("div",{className:n.triggersRight,children:(0,B.jsx)(Rt,{className:n.toggleButton,title:s("collapse"),onClick:L,isCollapsed:!1})})]}),(0,B.jsx)("div",{className:n.toggleButtonWrapper,children:(0,B.jsx)(Rt,{className:n.toggleButton,title:s("open",{productName:p}),onClick:L,isCollapsed:!0})}),(0,B.jsx)("div",{className:n.collapsible,children:(0,B.jsx)(Js,{loginUrl:S,isEmbedded:x,onLogIn:o,onSnooze:I})})]}):!i||!r?null:(0,B.jsxs)("div",{ref:l,className:(0,Ys.default)(n.root,{[n.isCollapsed]:A}),children:[!A&&(0,B.jsxs)("div",{className:n.triggers,children:[(0,B.jsx)("div",{style:{flex:1},children:h&&(0,B.jsx)("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(s(Ps()?"searchHintMac":"searchHintWindows",{searchTriggerKey:c.toUpperCase()})),onMouseLeave:()=>f(null),children:(0,B.jsx)(Vp,{title:s("search")})})}),(0,B.jsxs)("div",{className:n.triggersRight,onFocus:()=>{},children:[(0,B.jsx)("div",{className:(0,Ys.default)(!m&&n.hintsHidden,n.hints),children:m}),(0,B.jsx)(Rt,{className:n.toggleButton,title:s("collapse"),onClick:L,isCollapsed:!1})]})]}),(0,B.jsx)("div",{className:n.toggleButtonWrapper,children:(0,B.jsx)(Rt,{className:n.toggleButton,title:s("open",{productName:p}),onClick:L,isCollapsed:!0})}),K>0&&k&&(0,B.jsx)("div",{className:n.collapsible,onFocus:()=>{},children:(0,B.jsx)(Se,{children:(0,B.jsx)(Zs,{onFeedback:Z,suggestions:t,selectedIndex:e,reverse:!0})})})]})},Mf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Wp=(0,Ke.connect)(Mf)(Lf);var ur=E(require("classnames")),dd=require("interweave"),st=require("react"),ud=require("react-redux");var Gp=require("react"),Nf=["div","span","mark","strong","b","i","u","em"];function Li(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(Nf.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),(0,Gp.cloneElement)(n,{children:Li(i,e,o+1)})]}return[...t,...e]}function xt(t){return t.tagName.toLowerCase()==="textarea"}var $p={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};var nd=E(require("classnames")),sd=require("interweave"),lr=require("react");function Xp(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function er(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Zp(t){return t!=null}var Ni=E(require("classnames")),be=require("react");var tr=require("react"),Of=["bottom","height","left","right","top","width"],Df=(t={},e={})=>Of.some(o=>t[o]!==e[o]),ot=new Map,Qp,Jp=()=>{let t=[],e=[];ot.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Df(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{ot.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),Qp=window.requestAnimationFrame(Jp)};function Hf(t,e){return{observe(){let o=ot.size===0;if(ot.has(t)){let n=ot.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else ot.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Jp()},unobserve(){let o=ot.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ot.delete(t),ot.size||cancelAnimationFrame(Qp)}}}}function Mi(t){let[e,o]=(0,tr.useState)(null);return(0,tr.useLayoutEffect)(()=>{if(!t.current)return;let n=Hf(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}var Po=require("react"),ed=require("react-dom");var Yp={root:"_root_1jq08_1"};var td=({children:t})=>{let[e,o]=(0,Po.useState)(null),n=(0,Po.useContext)(Do);return(0,Po.useLayoutEffect)(()=>{let s=document.createElement("div");return Lt(s),s.classList.add(Yp.root),n!=null&&n.portalRootNode&&s.classList.add(n==null?void 0:n.portalRootNode),document.body.appendChild(s),o(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?(0,ed.createPortal)(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"};var or=require("react/jsx-runtime"),nr=(t=!1)=>{let[e,o]=(0,be.useState)(t),n=(0,be.useCallback)(()=>o(!0),[]),s=(0,be.useCallback)(()=>o(!1),[]),r=(0,be.useCallback)(()=>o(a=>!a),[]),i=(0,be.useRef)(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function Oi(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 sr=({className:t,triggerRef:e,boundaryRef:o=(0,be.createRef)(),position:n="above",align:s="center",children:r,toStyle:i=Oi,...a})=>{let l=Mi(e),c=Mi(o),p=(0,be.useMemo)(()=>i(l,c,0),[l,c]);return(0,or.jsx)(td,{children:(0,or.jsx)("div",{className:(0,Ni.default)(Ue.ref,{[Ue.positionAbove]:n==="above",[Ue.positionBelow]:n==="below",[Ue.positionLeft]:n==="left",[Ue.positionRight]:n==="right",[Ue.alignStart]:s==="start",[Ue.alignCenter]:s==="center",[Ue.alignEnd]:s==="end"}),style:p,...a,role:"dialog",children:(0,or.jsx)("div",{className:(0,Ni.default)(t,Ue.root),children:r})})})};var od=E(require("classnames")),rr=require("react");var Di=require("react/jsx-runtime"),ir=(0,rr.forwardRef)(({className:t,children:e,...o},n)=>{let s=(0,rr.useRef)(null),r=y("TabCompletion",Ve);return(0,Di.jsx)("div",{ref:er([s,n]),className:(0,od.default)(t,r.popoverContentContainer),...o,children:(0,Di.jsx)("div",{className:r.popoverContent,children:e})})});var bt=require("react/jsx-runtime"),Bf=t=>e=>{let o=Oi(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Ff=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=y("TabCompletion",Ve),i=nr(),a=(0,lr.useMemo)(()=>Bf(t.getBoundingClientRect()),[t]),[l,c]=hs(t);return(0,lr.useEffect)(()=>{c?i.open():i.close()},[c]),(0,bt.jsxs)("span",{children:[(0,bt.jsx)("mark",{ref:er([l,i.triggerRef]),className:(0,nd.default)(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&(0,bt.jsx)(sr,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:(0,bt.jsx)(ir,{style:o,children:(0,bt.jsx)("div",{className:r.hintText,children:s})})})]})},ar=class extends sd.Matcher{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${Xp(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(Zp);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(0,bt.jsx)(Ff,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};var pr=E(require("classnames")),cd=require("interweave"),ie=require("react"),pd=require("react-redux");var Hi=require("react/jsx-runtime"),rd=()=>(0,Hi.jsx)("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:(0,Hi.jsx)("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"})});var Ct=require("react"),Sn=require("react-redux"),ad=E(require("lodash.debounce"));var id={root:"_root_1muu8_1",content:"_content_1muu8_7"};function cr(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 Bi(t){return t.replace("https://www.","").replace("https://","")}var Ce=require("react/jsx-runtime"),Kf=3,Uf=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),jf=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=Kf})=>{let r=y("LinkSearch",id),[i,a]=(0,Ct.useState)(""),l=(0,Sn.useDispatch)(),c=(0,Sn.useSelector)(Ns("url")),p=(0,Sn.useSelector)(Yl("URL",Uf)),[d,g]=(0,Ct.useState)(p.length-1),u=C("fallbackImage"),m=S=>{let x=S.target;a(x.value)},f=(S,x)=>{S.stopPropagation(),S.preventDefault(),window.open(x,"_blank")},h=S=>{var v;let x=d-1<0?p.length-1:d-1,b=d+1===p.length?0:d+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&g(x),S.code==="ArrowDown"&&g(b),S.code==="Enter"&&t(((v=p[d])==null?void 0:v.text)||i)},k=(0,Ct.useCallback)((0,ad.default)(S=>{l(Ft({query:S,type:"URL",tags:["link-search"]}))},300),[]);return(0,Ct.useEffect)(()=>{i&&k(i)},[i]),(0,Ct.useEffect)(()=>()=>{l(Is())},[]),(0,Ce.jsxs)("div",{className:r.root,children:[(0,Ce.jsx)(Se,{withDivider:!0,children:(i?p:c).slice(0,s).map((S,x)=>(0,Ce.jsx)(D,{selected:d===x,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:(0,Ce.jsxs)(F,{children:[(0,Ce.jsx)(F.Image,{src:cr(S,"small",u||void 0),title:S.title||S.text}),(0,Ce.jsxs)(F.Content,{className:r.content,cropText:!0,children:[(0,Ce.jsx)(F.Title,{children:S.title||Bi(S.text)}),S.title&&Bi(S.text)]}),(0,Ce.jsx)(D.Actions,{children:(0,Ce.jsx)(D.ActionButton,{label:n,onClick:b=>f(b,S.text)})})]})},S.text))}),(0,Ce.jsx)(rn,{value:i,onChange:m,autoFocus:!0,placeholder:o,onKeyUp:h})]})},ld=jf;var Fi={};G(Fi,{enUS:()=>zf,nlNL:()=>Vf});var zf={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Vf={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};var re=require("react/jsx-runtime"),qf=(0,ie.forwardRef)((t,e)=>{let o=y("TabCompletion",Ve);return(0,re.jsx)("mark",{ref:e,className:(0,pr.default)(o.matchSelection)},"selection-start")}),Wf=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=T(Fi),i=y("TabCompletion",Ve),a=(0,ie.useRef)(null),l=(0,ie.useRef)(null),[c,p]=(0,ie.useState)(null),d=(0,pd.useDispatch)(),g=nr(document.activeElement===n),[u]=(0,ie.useState)(()=>document.createRange());g.triggerRef.current=u,(0,ie.useEffect)(()=>()=>u.detach(),[]),(0,ie.useEffect)(()=>{let f=t.current,h=a.current;!f||!h||(u.setStart(f,0),u.setEnd(h,0))},[t.current,a.current]),po(()=>{g.close()});let m=(0,ie.useCallback)(f=>{let h=u.toString(),k=/^http(s?):\/\//.test(f)?f:`https://${f}`;d(Zn({text:`[${h}](${k})`,replace:"selection"}))},[]);return(0,re.jsxs)("span",{children:[(0,re.jsx)("mark",{ref:a,className:(0,pr.default)(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":g.opened?"true":"false",children:s}),g.opened&&(0,re.jsx)(sr,{className:i.popoverRoot,triggerRef:g.triggerRef,boundaryRef:e,position:"above",align:"start",children:(0,re.jsxs)(ir,{style:o,ref:l,children:[(0,re.jsx)("div",{className:(0,pr.default)(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:(0,re.jsxs)("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>p("insertLink"),children:[(0,re.jsx)(rd,{}),(0,re.jsx)("span",{children:"\xA0"}),(0,re.jsx)("span",{children:r("insertLink")})]})}),c==="insertLink"&&(0,re.jsx)(ld,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:m,onDismiss:()=>{p(null),g.close()}})]})})]},"selection-end")},dr=class extends cd.Matcher{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=(0,ie.createRef)(),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?(0,re.jsx)(qf,{ref:this.startRef}):(0,re.jsx)(Wf,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};var gd=require("react-redux");var nt=require("react/jsx-runtime"),Gf=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=y("TabCompletion",$p),p=C("insertLink"),d=C("showMidSentenceSuggestions"),g=C("inlineSuggestions"),u=vs(a),m=(0,st.useRef)(null),f=(0,gd.useSelector)(ne);(0,st.useEffect)(()=>{xt(a)&&u&&Ss(a,u)},[u]);let h=(0,st.useCallback)(x=>{if(!s||!o)return x;let b=[(0,nt.jsx)("span",{className:c.resetIndent,children:"\u200B"},"u200B"),(0,nt.jsx)("span",{"data-testid":"tab-completion",className:(0,ur.default)(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&b.push((0,nt.jsx)("span",{className:(0,ur.default)(c.hint,c.resetIndent),children:(0,nt.jsx)(Bn,{keyCode:"tab"},"tabHint")})),Li(x,b)},[s,o,n]),k=(0,st.useMemo)(()=>{let x=[];return p&&x.push(new dr("selection")),x.push(new lo("placeholders")),r&&x.push(new ar("keywords")),x},[g,p,r]),S=(0,st.useMemo)(()=>{let x=window.getComputedStyle(a);return{"--dd-color":x.color,"--dd-font-size":x.fontSize,"--dd-font-family":x.fontFamily,"--dd-font-variant":x.fontVariant}},[]);return!t||!f?null:(0,nt.jsxs)("div",{ref:x=>{x!=null&&x.parentElement&&(m.current=x==null?void 0:x.parentElement)},className:c.root,style:S,children:[(0,nt.jsx)(dd.Interweave,{tagName:"span",containerTagName:"div",className:(0,ur.default)(c.container,c.agentText),disableLineBreaks:xt(a),content:e||"\u200B",onAfterParse:h,matchers:k,selection:u,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:m,inlineSuggestionsOnlyAtEnd:!d}),(0,nt.jsx)("br",{})]})},$f=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var f;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??go(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:p}=e,{isSupported:d}=s,{showTabCompletion:g,visible:u,showStyleSuggestions:m}=o;return{showTabHint:p,showStyleSuggestions:m,showTabCompletion:g,content:l,tabText:c,source:a,keywordMatches:((f=n.list)==null?void 0:f.keywordMatches)??[],enabled:u&&d!==!1}},md=(0,ud.connect)($f)(Gf);var ru=E(require("classnames")),iu=require("react"),X=require("react-redux");var wt=require("@reduxjs/toolkit");var fd={list:[],fetchState:"idle",isInitialRequest:null},yd=t=>t.autoflows.list||[],hd=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},rt=(0,wt.createAsyncThunk)("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),Ki=(0,wt.createAsyncThunk)("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(rt(t.platformSessionId))}),Ui=(0,wt.createAsyncThunk)("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(rt(t.platformSessionId))}),Xf=(0,wt.createSlice)({name:"autoflows",initialState:fd,reducers:{},extraReducers:t=>{t.addCase(Ki.pending,(e,o)=>{let n=hd(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Ui.pending,(e,o)=>{let n=hd(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(rt.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(rt.rejected,e=>{e.fetchState="error"}),t.addCase(rt.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(O,()=>fd)}}),vd=(0,wt.createAsyncThunk)("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(rt(t))}),s.on("sessionCompleted",()=>{o(rt(t))})}),Sd=(0,wt.createAsyncThunk)("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),_d=Xf.reducer;var Tt=require("@reduxjs/toolkit");var xd={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},bd=t=>t.customMessages.list,Cd=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),wd=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Td=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),_n=(0,Tt.createAsyncThunk)("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),gr=(0,Tt.createAsyncThunk)("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)}),mr=(0,Tt.createAsyncThunk)("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)}),Ed=(0,Tt.createSlice)({name:"customMessages",initialState:xd,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(_n.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(_n.rejected,e=>{e.fetchState="error"}).addCase(_n.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(gr.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(gr.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(mr.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(mr.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(O,()=>xd)}}),kd=(0,Tt.createAsyncThunk)("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(Ed.actions.onCustomMessage(r))})}),Id=(0,Tt.createAsyncThunk)("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Rd=Ed.reducer;var xn=require("@reduxjs/toolkit"),Zf={token:null,accountUrl:null,interval:null},Pd=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},ji=(0,xn.createAsyncThunk)("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),zi=(0,xn.createAsyncThunk)("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(ji()),setInterval(()=>n(ji()),o)}),Ad=(0,xn.createSlice)({name:"passwordlessToken",initialState:Zf,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(ji.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(zi.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Ld}=Ad.actions,Md=Ad.reducer;function Nd(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}var zd=require("react"),Vd=require("react-redux");var Kd=E(require("classnames")),Ud=require("react");var Dd=E(require("classnames"));var Od={root:"_root_838fd_1"};var Bd=require("react/jsx-runtime"),Qf=({className:t,children:e})=>{let o=y("Unicode",Od);return(0,Bd.jsx)("span",{className:(0,Dd.default)(t,o.root),children:e})},Hd=Qf;var Fd={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 Vi={};G(Vi,{enUS:()=>Jf,nlNL:()=>Yf});var Jf={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"}]},Yf={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"}]};var ge=require("react/jsx-runtime"),th=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=y("Autoflow",Fd),a=T(Vi),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return(0,ge.jsxs)(D,{className:(0,Kd.default)(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[(0,ge.jsx)(F,{children:(0,ge.jsxs)(F.Content,{children:[(0,ge.jsxs)(F.Title,{children:[e&&(0,ge.jsx)("span",{className:i.stateBadge,children:a(e)}),o]}),(0,ge.jsx)("span",{children:n})]})}),(0,ge.jsx)(D.Actions,{fixed:e==="Started",children:(0,ge.jsx)(D.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:(0,ge.jsxs)(Ud.Fragment,{children:[(0,ge.jsx)(Hd,{children:c})," ",(0,ge.jsx)("span",{children:a(l)})]})})})]})},jd=th;var qi=require("react/jsx-runtime"),oh=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},nh=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>(0,qi.jsx)(zd.Fragment,{children:t.map(s=>(0,qi.jsx)(jd,{displayName:s.displayName,description:s.description,disabled:s.isBusy||oh(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),sh=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},rh={onStartAutoflow:Ki,onStopAutoflow:Ui},qd=(0,Vd.connect)(sh,rh)(nh);var fr=require("react"),Gd=require("react-redux"),$i=E(require("classnames"));var Wi=require("react/jsx-runtime"),Gi=()=>(0,Wi.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:(0,Wi.jsx)("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 Wd={root:"_root_rjdyr_1",entity:"_entity_rjdyr_10",entityText:"_entityText_rjdyr_46",iconWrapper:"_iconWrapper_rjdyr_53",icon:"_icon_rjdyr_53",iconClicked:"_iconClicked_rjdyr_67"};var je=require("react/jsx-runtime"),ih=({entities:t})=>{let e=y("EntitiesWidgetList",Wd),[o,n]=(0,fr.useState)(void 0),s=(0,Gd.useDispatch)(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),ln(a.text),s(Q({name:"entity copied",data:{entity:a,type:"copy"}})))};return(0,fr.useEffect)(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:(0,je.jsx)("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>(0,je.jsxs)("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[(0,je.jsx)("span",{className:e.entityText,children:a.text}),(0,je.jsxs)("span",{className:e.iconWrapper,children:[(0,je.jsx)("span",{className:(0,$i.default)(e.icon),children:(0,je.jsx)(Gi,{})}),(0,je.jsx)("span",{className:(0,$i.default)(e.icon,o===l&&e.iconClicked),children:(0,je.jsx)(Gi,{})})]})]},a.text))})},$d=ih;var Xd=E(require("classnames")),Xi=require("react"),$t=require("react-redux");var it={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"};var pe=require("react/jsx-runtime"),ah=({suggestion:t})=>{let e=T(Ht),o=(0,$t.useDispatch)(),n=(0,$t.useSelector)(Cd(t.text)),s=(0,$t.useSelector)(wd(t.text)),r=(0,$t.useSelector)(Td(t.text)),i=(0,$t.useSelector)(jn),{replyOptions:a}=t,l=(0,Xi.useCallback)(p=>{p.preventDefault(),p.stopPropagation(),!(n||!i)&&o(gr({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=(0,Xi.useCallback)(p=>{if(p.preventDefault(),p.stopPropagation(),!i||!a)return;let d=parseInt(p.target.dataset.index,10),g=a[d];o(mr({platformSessionId:i,reply:g,suggestion:t}))},[t,n,o,i]);return(0,pe.jsxs)(D,{onClick:l,className:(0,Xd.default)(it.root,{[it.isUsed]:n,[it.hasError]:r}),children:[(0,pe.jsx)(F,{children:(0,pe.jsxs)(F.Content,{children:[(0,pe.jsxs)(F.Title,{className:it.title,children:[t.text," ",(0,pe.jsx)(Fn,{className:it.label,children:"analyse tool"})," ",r&&(0,pe.jsx)("span",{className:it.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&(0,pe.jsx)("ul",{className:it.quickReplies,children:a.map(p=>(0,pe.jsx)("li",{className:it.quickReply,children:p.title},p.title))})]})}),(0,pe.jsxs)(D.Actions,{fixed:r||n,children:[a&&a.length>0&&(0,pe.jsx)(D.DropdownButton,{label:e("answer"),disabled:s,children:a.map((p,d)=>(0,pe.jsx)(D.DropdownItem,{index:d,label:p.title,onClick:c},p.title))}),(0,pe.jsx)(D.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Zd=ah;var Zi=require("react/jsx-runtime"),Qd=()=>(0,Zi.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Zi.jsx)("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});var eu=require("react-redux");var Jd=require("react");var me=require("react/jsx-runtime"),lh=({suggestion:t,lines:e,onEdit:o,onUse:n})=>{var g;let s=t.text||t.url||t.message,r=Rs(s),i=T(Ht),a=C("showImages"),l=C("fallbackImage"),c=u=>{u.preventDefault(),u.stopPropagation(),n(s)},p=u=>{u.preventDefault(),u.stopPropagation(),o(t)},d=(0,Jd.useCallback)(u=>{window.open(r,"_blank"),u.stopPropagation(),u.preventDefault()},[r]);return(0,me.jsxs)(D,{onClick:c,"data-testid":"edit-suggestion",children:[(0,me.jsxs)(F,{children:[a&&t.image&&(0,me.jsx)(F.Image,{src:cr(t,"small",l||void 0),title:t.title}),(0,me.jsxs)(F.Content,{children:[t.title&&(0,me.jsx)(F.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((g=t.searchKeywords)==null?void 0:g.length)>0&&(0,me.jsx)(D.Labels,{labels:t.searchKeywords}),(0,me.jsx)(F.Content,{cropText:e==="single",lineClamp:e==="multiple",children:s})]})]}),(0,me.jsxs)(D.Actions,{children:[r&&(0,me.jsx)(D.ActionButton,{onClick:d,label:i("visitUrl")}),(0,me.jsx)(D.ActionButton,{primary:!0,onClick:p,label:i("preview")}),(0,me.jsx)(D.ActionButton,{primary:!0,onClick:c,label:i("useSuggestion")})]})]})},Yd=lh;var bn=require("react/jsx-runtime"),ch=({contentType:t,lines:e,suggestions:o})=>{let n=xe(),s=(0,eu.useSelector)(ht),r=a=>{n.send(hi,{state:s,suggestion:a,contentType:t})},i=(a,l)=>{n.send(Ze,{text:a,suggestion:{...l,source:l.source,sourceText:l.text}})};return(0,bn.jsx)(bn.Fragment,{children:o.map(a=>(0,bn.jsx)(Yd,{suggestion:a,lines:e,onEdit:l=>r(l),onUse:l=>i(l,a)},a.text||a.url||a.message))})},tu=ch;var Qi={};G(Qi,{enUS:()=>ph,nlNL:()=>dh});var ph={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},dh={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}]};var ou={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"};var Ji=require("react/jsx-runtime"),nu=()=>(0,Ji.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:(0,Ji.jsx)("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"})});var Yi=require("react/jsx-runtime"),su=()=>(0,Yi.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:(0,Yi.jsx)("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"})});var R=require("react/jsx-runtime"),hr=(t,e)=>{let o=(0,X.useSelector)(ne);(0,iu.useEffect)(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},uh=({onLogIn:t})=>{let e=T(Qi),o=(0,X.useDispatch)(),n=C("isEmbedded"),s=y("Widget",ou),r=C("showAutoflows"),i=C("showCustomMessages"),a=C("showSummaryCommand"),l=C("showKnowledgeSearch"),c=C("showSearch"),p=(0,X.useSelector)(St),d=(0,X.useSelector)(Ws),g=(0,X.useSelector)(yd),u=(0,X.useSelector)(Us),m=(0,X.useSelector)(bd),f=(0,X.useSelector)(zn),h=(0,X.useSelector)(no),k=(0,X.useSelector)(ne),S=(0,X.useSelector)(jn),x=(0,X.useSelector)(Nd),b=(0,X.useSelector)(ht),v=xe(),A=(0,X.useSelector)(pc),M=(0,X.useSelector)(Pd("/admin/")),K=C("adminUrl"),L=C("productName");if(hr(()=>(o(_n(S)),o(kd(S)),()=>{o(Id(S))}),[o,h,i,S]),hr(()=>(o(rt(S)),o(vd(S)),()=>{o(Sd(S))}),[o,h,r,S]),hr(()=>{d.forEach(({type:I})=>{o(I==="entities"?Le():Pe(I))})},[o,h,f,p]),hr(()=>(o(zi()),()=>{o(Ld())}),[o]),h===!1)return(0,R.jsx)("div",{className:s.stateText,children:(0,R.jsx)("div",{children:(0,R.jsx)("p",{children:e("notSupported")})})},"supported");if(k===!1)return(0,R.jsx)("div",{className:s.loginText,children:(0,R.jsx)("div",{children:(0,R.jsx)(Js,{isEmbedded:n,loginUrl:K,onLogIn:t})})},"login");if(!p||!S||k===null||A||x)return(0,R.jsx)("div",{className:s.stateText,children:(0,R.jsx)("div",{children:(0,R.jsx)("p",{children:e("waiting")})})},"waiting");let Z=c||a||l||M;return(0,R.jsx)("div",{className:(0,ru.default)(s.root),"data-testid":"widget",children:(0,R.jsxs)(Kn,{className:s.sectionList,children:[Z&&(0,R.jsx)(lt,{title:e("actions"),type:"shortcuts",children:(0,R.jsxs)("div",{className:s.shortcutList,children:[c&&(0,R.jsxs)("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0}),children:[(0,R.jsx)(ho,{}),e("linkSearch")]}),a&&(0,R.jsxs)("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[(0,R.jsx)(su,{}),e("linkSummary")]}),l&&(0,R.jsxs)("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>v.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[(0,R.jsx)(nu,{}),e("linkKnowledgeSearch")]}),M&&(0,R.jsxs)("a",{className:s.shortcut,target:"_blank",href:M,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[(0,R.jsx)(Qd,{}),e("linkStudioLogin",{productName:L})]})]})}),i&&m.length>0&&(0,R.jsx)(lt,{type:"custom-messages","data-testid":"custom-messages",children:(0,R.jsx)(Se,{withDivider:!0,children:m.map(I=>(0,R.jsx)(Zd,{suggestion:I},I.text))})}),r&&g.length>0&&(0,R.jsx)(lt,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:(0,R.jsx)(Se,{withDivider:!0,children:(0,R.jsx)(qd,{})})}),d.map(({type:I,title:j,amount:Qt,lines:No})=>{var Oo;switch(I){case"entities":return u&&u.length>0&&(0,R.jsx)(lt,{type:I,title:j,"data-testid":`type-${I}`,children:(0,R.jsx)($d,{entities:u})},I);default:return((Oo=b[I])==null?void 0:Oo.fetchState)==="done"&&b[I].suggestions.length>0&&(0,R.jsx)(lt,{type:I,title:j,"data-testid":`type-${I}`,children:(0,R.jsx)(Se,{withDivider:!0,children:(0,R.jsx)(tu,{lines:No,contentType:I,suggestions:b[I].suggestions.slice(0,Qt)||[]})})},I)}})]})})},au=uh;function Ao(t){let e=new Range;return e.selectNodeContents(t),e}function lu(t,e,o){try{return Et(t,e,o),!0}catch{return!1}}function yr(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function vr(t){return"tagName"in t&&t.tagName==="BR"}var Cn=/[\u200B-\u200D\uFEFF]/g;function Et(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(l,c){let p=-1,d=/[\u200B-\u200D\uFEFF]/;if(!d.test(l))return c;for(let g=0;g<=l.length;g++)if(d.test(l[g])||p++,p===c)return g;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,p=c.replace(Cn,""),d=s+p.length,g=e>=s&&e<=d,u=o>=s&&o<=d;if(g){let m=i(c,e-s);m===0&&!u?n.setStartBefore(l):n.setStart(l,m)}u&&(n.setEnd(l,i(c,o-s)),r=!0),s=d;break}case Node.ELEMENT_NODE:{if(vr(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let p=0;p<l.childNodes.length&&(a(l.childNodes[p]),!r);p++);let c=l.lastChild;yr(l)&&c&&!yr(c)&&!vr(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function wn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,l,c=0;function p(d){let g=d===o,u=d===s;switch(d.nodeType){case Node.TEXT_NODE:{let m=d.textContent;g&&(a=c+m.substring(0,n).replace(Cn,"").length),u&&(l=c+m.substring(0,r).replace(Cn,"").length),c+=m.replace(Cn,"").length;break}case Node.ELEMENT_NODE:{let m=d.nextSibling===null;vr(d)&&!m&&c++;for(let f=0;f<d.childNodes.length;f++){let h=g&&f===n,k=u&&f===r;if(h&&(a=c),k&&(l=c),l!==void 0||((!h||!i)&&p(d.childNodes[f]),u&&f===r-1&&(l=c),l!==void 0))break}!u&&yr(d)&&!m&&c++,u&&(l=c);break}default:break}}if(p(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Tn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let p=c===o,d=c===s;switch(p&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let g=p?n:0,u=d?r:void 0,m=c.textContent.replace(Cn,"");g===0&&u===void 0?a+=m:a+=m.substring(g,u);break}case Node.ELEMENT_NODE:{let g=c.nextSibling===null;i===0&&vr(c)&&!g&&(a+=`
|
|
8
8
|
`);for(let u=p?n:0;u<(d?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[u]),i!==1);u++);!d&&i===0&&yr(c)&&!g&&(a+=`
|
|
9
|
-
`);break}default:break}d&&i++}return l(t),a}function cu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Xt=class extends qe{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Tn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!cu(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!cu(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return wn(this.element,e);let o=this.lastKnownSelection;if(o&&lu(this.element,o.start,o.end))return o;let n=Ao(this.element);return n.collapse(!1),wn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Tn(this.element,Et(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};function pu(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}var ea=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},ta=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=pu(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},oa=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new ta(e,this.deepdeskUrl,{debug:!0}):new ea(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=typeof s.data=="string"?JSON.parse(s.data):s.data;r.type==="event"&&r.channel===e&&(w.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o){var r,i;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let n={type:"event",name:e,payload:o};(i=(r=this.eventMap)[e])==null||i.call(r,o);let s=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;s==null||s.postMessage({...n,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},du=oa;var Lo=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var na=t=>new Promise(e=>{setTimeout(e,t)});var Mo=class extends Lo{name="ClientError"},sa=class extends Lo{name="ServerError"},Ne=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,{abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:d=!0,retryOnError:g=b=>b instanceof TypeError,retryOnResponse:u=b=>b.status>=500,version:m="v1",...f}=o,h={credentials:"include",...f,headers:{"Content-Type":"application/json",...f.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(h.headers={...h.headers,"X-CSRFToken":this.csrfToken}),typeof m=="string"&&(h.headers={...h.headers,"X-Deepdesk-API-Version":m});let k=c,S=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(k--,a(i,h).then(async b=>u(b)&&!r.isAborted&&k>0?(await na(p),x()):b.status===401&&d===!0&&S===!1?(S=!0,await this.refreshToken(),x()):b).catch(async b=>{if(g(b)&&!r.isAborted&&k>0)return await na(p),x();throw b}));x().then(b=>b.json().catch(()=>null).then(v=>{b.status>=500?s(new sa("Server Error",v)):b.status===401?s(new Mo("Unauthorized",v)):b.status===403?s(new Mo("Forbidden",v)):b.status===404?s(new Mo("Not Found",v)):b.status>=400&&s(new Mo("Bad Request",v)),delete this.latestRequestByUrl[i],n(v)})).catch(b=>{s(b)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var gh;(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||={})})(gh||={});function Sr(t){return{...N(t),tags:t.tags}}var at=class t{constructor(e,o={}){this.options=o;this.client=new Ne(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...W(e),tags:e.tags},{version:"v2"});return Sr(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return N(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null});return N(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return N(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return N(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return Sr(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=W(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Sr(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...W(s),tags:s.tags})),{version:"v2"})).map(s=>Sr(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",W({...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:W({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.client.post("/apis/admin/session/api-key/",W(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}`,W(o),{abortLatest:!0})).map(r=>({...N(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`,W(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 N(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",W(e),{abortLatest:!0});return N(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,W(e),{version:"v2"});return N(o)}async knowledgeAssist(e,o,n){let s=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,W({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return N(s)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return N(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return N(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return N(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(Ra);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var En=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ci(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,N(s))}catch{w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var mh;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(mh||={});var kn=class{constructor(e,o={}){this.apiUrl=e;this.client=new Ne(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return N(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,W(o));return N(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,W(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return N(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",W(e));return N(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new En(`${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])}};var Cr=require("@reduxjs/toolkit");var gu=require("@reduxjs/toolkit");var uu={startTime:null,stopTime:null},mu=(0,gu.createSlice)({name:"handlingTime",initialState:uu,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(O,()=>uu)}}),{handlingTimeStart:fu,handlingTimeStop:_r,handlingTimeReset:hu}=mu.actions,yu=mu.reducer;var vu=(t={})=>{let e={onAuthError:_o(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};var br=require("@reduxjs/toolkit");var xr={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var Zt=(0,br.createAsyncThunk)("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 xr.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),fh=(0,br.createSlice)({name:"styleSuggestions",initialState:xr,reducers:{},extraReducers:t=>{t.addCase(Zt.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(Zt.rejected,e=>{e.fetchState="error"}).addCase(Zt.fulfilled,(e,o)=>{e.fetchState="done",pt(e.list,o.payload)||(e.list=o.payload)}).addCase(Pt,e=>{e.list=xr.list}).addCase(O,()=>xr)}}),Su=fh.reducer;var _u=(t={})=>{let e,o=!0,n={getStyleSuggestions:Zt,debounce:500,...t};return s=>r=>i=>{var u;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:p}=c.settings;if(!((u=c.conversation.current)==null?void 0:u.id)||!p)return l;let{text:g}=c.input;return g===a&&!o||(clearTimeout(e),g==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:g}))},t.debounce)),l}};function hh(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:Pe,getAutocompleteSuggestions:en,debounce:200,check:ko,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:p}=l.settings,d=(f=l.conversation.current)==null?void 0:f.id,g=r.type===Os.toString();if(!d||!c&&!p)return a;let{input:{userCommitted:u}}=l;return hh(u,i)&&!g||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let h=so(l);h===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(h))},g?0:e.debounce)),a}};var bu=Zt.fulfilled.toString();function yh(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 Cu=t=>e=>o=>n=>{var c;if(n.type!==bu){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=yh(s,i);n.type===bu&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var vh=(0,Cr.combineReducers)({activeSuggestion:xc,answer:dp,auth:Oc,autoflows:_d,conversation:Ha,contentTypes:Gc,customMessages:Rd,passwordlessToken:Md,entities:Qc,knowledgeAssistant:lp,handlingTime:yu,info:Xl,input:Nr.reducer,overlayInput:ae.reducer,settings:Ma,profile:mp,search:tc,summary:np,styleSuggestions:Su,ui:Ec,textSuggestions:fc});function wu(t){return(0,Cr.configureStore)({reducer:vh,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),vu(),xu({debounce:200}),_u({debounce:500}),Cu(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Sh=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},_h=t=>e=>o=>n=>{var a;let s=e.getState(),r=Pr("inlineSuggestions")(s);switch(n.type){case $e.toString():{let l=Ns(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 _o.toString():{!n.payload&&t.emit("logout",void 0);break}case ke.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Sh(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Zn.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Ko.toString():{let l=e.getState(),{text:c,selection:p}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:p},{mayApplyChanges:!0});break}case es.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 Le.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case Qe.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case Q.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 Qn.toString():t.handleKeyDown(n.payload);break;case Pt.toString():t.logSendMessage(n.payload);break;case Jn.toString():t.logSendEditSuggestionMessage(n.payload);break;case Yn.toString():t.handleInputChanged(n.payload);break;default:break}let i=o(n);switch(n.type){case Pt.toString():t.handleAfterSendMessage(n.payload);break;case tn.toString():t.onUpdateShowTabHint(n.payload);break;case _r.toString():t.logHandlingTime();break;case ke.toString():{r&&(e.dispatch(He([])),e.dispatch(ze()));break}case He.toString():{r&&n.payload.length>0&&e.dispatch(ut(0));break}default:break}return i},Tu=_h;function ra(t){return t.toISOString().replace("T"," ").replace("Z","")}function Eu(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:ra(o),timeStop:ra(n)}}function ia(t,e,o){var M,K,L;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:d,cuts:g,deletions:u,textSuggestions:m,offeredTextSuggestions:f}}=e[t],h=n.length,S=m.reduce((Z,{text:I,searchTerm:j})=>Z+I.length-(j?j.length:0),0),x=c??Date.now(),b=(Date.now()-x)/1e3+(p||0),v=s/b,A=m.reduce((Z,{searchTerm:I})=>Z+(I?I.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:d,cuts:g,deletions:u,lenTextTyped:s+A,lenTextTotal:h,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:b,charsPerSecond:v,numPastes:l,textSuggestionsV2:m,suggestionsCounters:[{source:"gpt",countOffered:f.filter(Z=>Z.source==="gpt").length}],agentId:(M=e.info.agentInfo)==null?void 0:M.agentId,agentName:(K=e.info.agentInfo)==null?void 0:K.agentName,agentEmail:(L=e.info.agentInfo)==null?void 0:L.agentEmail}}function aa(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return aa(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?aa(s,e):null}function ku(t,e){return aa(t,e)}function Iu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function xh(t){return typeof t=="object"&&t!==null&&"tagName"in t}function wr(t){return xh(t)&&(xt(t)||ys(t))}var Ru=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function bh(t){return t.offsetParent!==null}function Pu(t){if(!bh(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 Tr(t,e,o=100){let n=Pu(t);e({isVisible:n});let s=setInterval(()=>{let r=Pu(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}var V=require("react/jsx-runtime");var Au=Ru("showTabHint",!0),In=class t{static version="10.10.3-beta.4";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new at(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let p={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Tu({emit:(d,g,u)=>this.emit(d,g,u),handleAfterSendMessage:d=>this.handleAfterSendMessage(d),handleInputChanged:d=>this.handleInputChanged(d),handleKeyDown:d=>this.handleKeyDown(d),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:d=>this.logSendMessage(d),logSendEditSuggestionMessage:d=>this.logSendEditMessage(d),onUpdateShowTabHint:d=>Au.update(d),sendEvent:(d,g)=>this.deepdeskApi.sendEvent(d,g)})]};o&&Object.assign(p,{deepdeskBrokerAPI:new kn(o)}),this.store=wu(p),this.broadcastEvents=new du({debug:!0,deepdeskUrl:c,eventMap:Dc(this.store),createCustomChannel:l}),this.store.dispatch(Fo),this.store.dispatch(tn(Au.value())),this.store.dispatch(Fo({locale:s,adminUrl:c,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(_o(null)),this.store.dispatch(Xe()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();ne(n)&&Rc(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(Xe())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(Lr({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Vn(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(qn({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Mr(e))).payload}async postMessages(e){return(await this.store.dispatch(Gn(e))).payload}async updateConversation(e){return(await this.store.dispatch(Wn(e))).payload}resetConversation(){this.store.dispatch(O()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(Qe());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Fo(e))}setVisitorInfo(e){this.store.dispatch($l(e))}async setAgentInfo(e){await this.store.dispatch(Zo(e))}async setAgentSettings(e){await this.store.dispatch(pi(e))}async getAgentSettings(){return(await this.store.dispatch(di())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(Os()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Yn(e))}notifyKeyDown(e){this.store.dispatch(Qn(e))}notifyPaste(e,o){this.store.dispatch(Za({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch($a(e))}notifyExternalSuggestion(e){this.store.dispatch(ke(e)),this.store.dispatch(ze())}notifyEditSuggestion(e){this.store.dispatch(gc(e.contentType,e.suggestions)),this.store.dispatch($e({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(yt({collapse:!1})),this.inputMediator&&this.store.dispatch(ja({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(He([])))}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(Xa(Xn(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(qa()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},p=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(Ga()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Ko()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?p():c();return;case"Down":case"ArrowDown":{i?c():p();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(ut(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(ut(-1)),this.store.dispatch(Ko()),e.preventDefault()):o||(this.store.dispatch(yt({collapse:!0})),this.store.dispatch(wc(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:d}=this.state.input,g=d.text.substring(0,d.selection.end),{tabCompletionSuggestion:u}=this.state.input;this.store.dispatch(tn(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&u&&u.text.startsWith(g)&&(this.store.dispatch(ke({text:u.text,suggestion:u,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(ze())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Qa()),this.store.dispatch(He([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(fu()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(_r()))}logSendMessage(e){let o=ia("input",this.state,{version:this.version});e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o)}logSendEditMessage(e){let o=ia("overlayInput",this.state,{version:this.version});e&&Object.assign(o,{text:e}),this.store.dispatch(Va(this.state.overlayInput.metrics))}logHandlingTime(){let e=Eu(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(hu())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(ze()),this.store.dispatch(Pt(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(ke({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Mt(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{(0,we.unmountComponentAtNode)(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=Mt(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{(0,we.unmountComponentAtNode)(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Lt(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{(0,we.unmountComponentAtNode)(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ya(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!wr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,isEmbedded:d,detectSubmit:g,insertLink:u,inputMediator:m,closestScrollSelector:f,appendOverlayTo:h,inlineSuggestions:k,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,showTextSuggestions:i,insertLink:u,isEmbedded:d,inlineSuggestions:k,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Lt(e),this.inputMediator=m||(xt(e)?new We(e):new Xt(e)),this.inputMediator.on("change",({plainText:v})=>{this.notifyInputChanged(v)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Ja({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",v=>{this.notifyKeyDown(v)}),this.inputMediator.on("paste",({pastedText:v,selectionText:A})=>{this.notifyPaste(v,A)}),this.inputMediator.on("cut",({selectionText:v})=>{this.notifyCut(v)});let x=f&&ku(e,f)||void 0;if(k){let{customStyles:v,appendOverlayTo:A}=o;if(xt(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let M=this.createInlineContainer(e,"deepdesk-caret");(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:v,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(Dp,{})})}),M),this.inputMediator.on("caret",L=>{this.store.dispatch(He([])),L?(M.style.display="block",M.style.top=`${L.top}px`,M.style.left=`${L.left}px`):M.style.display="none"});let K=this.overlayContainerFactory("floating-menu",x||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:A},v==null?void 0:v.floatingMenuRootNode);(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:v,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(Rp,{onLogIn:()=>this.loginViaPopup().catch(L=>w.warn(L.message))})})}),K)}else{let v=this.overlayContainerFactory("deepdesk-tab-completion",x||e,{appendTo:h,closestScrollElement:x,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),A=this.overlayContainerFactory("deepdesk-suggestions-overlay",x||e,{appendTo:h},n==null?void 0:n.suggestionsRootNode);(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(md,{inputElement:e})})}),v),(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(Wp,{onLogIn:()=>this.loginViaPopup().catch(M=>w.warn(M.message))})})}),A)}(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(bp,{})})}),this.createContainer("deepdesk-overlays"));let b;this.inputMediator.on("selection",v=>{clearTimeout(b),v===null?b=setTimeout(()=>{v!==null&&this.store.dispatch(Or(v))},500):this.store.dispatch(Or(v))}),this.inputMediator.on("disabled",()=>{var v;(v=this.inputMediator)==null||v.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{g&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(vo(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(vo(!0))),this.store.dispatch(za({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(ze()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var v;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((v=this.state.conversation.current)==null?void 0:v.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&w.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(au,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&(0,we.unmountComponentAtNode)(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Tr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Iu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(fn());let e=St(this.state);e&&(await this.store.dispatch(un()),this.store.dispatch(Fo({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let l=!1,c=()=>{p&&!p.closed&&p.close(),window.removeEventListener("message",d),clearInterval(g)};r.onmessage=async u=>{var m,f;if((m=u.data)!=null&&m.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=u.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(sn),l=!0,s.port1.close(),o()}catch(h){console.error(h),n(h)}finally{l=!0,c()}};let p=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");p===null&&n(new Error("Popup blocked by browser"));let d=async u=>{var m;if(u.origin===a.origin)switch((m=u.data)==null?void 0:m.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});p==null||p.postMessage(f,a.origin,[s.port2])}catch(f){w.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{c(),u.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(u.data.message));break}}};window.addEventListener("message",d);let g=setInterval(()=>{p&&!p.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Ws(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(Le()):this.store.dispatch(Pe(n))})}catch(n){this.handleError(n)}}};async function Lu(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 Mu(t,e,o={}){let n=o.replace?Et(t,o.replace.start,o.replace.end):Ao(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
9
|
+
`);break}default:break}d&&i++}return l(t),a}function cu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Xt=class extends qe{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Tn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!cu(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!cu(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return wn(this.element,e);let o=this.lastKnownSelection;if(o&&lu(this.element,o.start,o.end))return o;let n=Ao(this.element);return n.collapse(!1),wn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Tn(this.element,Et(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};function pu(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}var ea=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},ta=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=pu(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},oa=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new ta(e,this.deepdeskUrl,{debug:!0}):new ea(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=typeof s.data=="string"?JSON.parse(s.data):s.data;r.type==="event"&&r.channel===e&&(w.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o){var r,i;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let n={type:"event",name:e,payload:o};(i=(r=this.eventMap)[e])==null||i.call(r,o);let s=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;s==null||s.postMessage({...n,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},du=oa;var Lo=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var na=t=>new Promise(e=>{setTimeout(e,t)});var Mo=class extends Lo{name="ClientError"},sa=class extends Lo{name="ServerError"},Ne=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,{abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:d=!0,retryOnError:g=b=>b instanceof TypeError,retryOnResponse:u=b=>b.status>=500,version:m="v1",...f}=o,h={credentials:"include",...f,headers:{"Content-Type":"application/json",...f.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(h.headers={...h.headers,"X-CSRFToken":this.csrfToken}),typeof m=="string"&&(h.headers={...h.headers,"X-Deepdesk-API-Version":m});let k=c,S=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(k--,a(i,h).then(async b=>u(b)&&!r.isAborted&&k>0?(await na(p),x()):b.status===401&&d===!0&&S===!1?(S=!0,await this.refreshToken(),x()):b).catch(async b=>{if(g(b)&&!r.isAborted&&k>0)return await na(p),x();throw b}));x().then(b=>b.json().catch(()=>null).then(v=>{b.status>=500?s(new sa("Server Error",v)):b.status===401?s(new Mo("Unauthorized",v)):b.status===403?s(new Mo("Forbidden",v)):b.status===404?s(new Mo("Not Found",v)):b.status>=400&&s(new Mo("Bad Request",v)),delete this.latestRequestByUrl[i],n(v)})).catch(b=>{s(b)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var gh;(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||={})})(gh||={});function Sr(t){return{...N(t),tags:t.tags}}var at=class t{constructor(e,o={}){this.options=o;this.client=new Ne(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...W(e),tags:e.tags},{version:"v2"});return Sr(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return N(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null});return N(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return N(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return N(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return Sr(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=W(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Sr(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...W(s),tags:s.tags})),{version:"v2"})).map(s=>Sr(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",W({...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:W({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.client.post("/apis/admin/session/api-key/",W(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}`,W(o),{abortLatest:!0})).map(r=>({...N(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`,W(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 N(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",W(e),{abortLatest:!0});return N(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,W(e),{version:"v2"});return N(o)}async knowledgeAssist(e,o,n){let s=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,W({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return N(s)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return N(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return N(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return N(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(Ra);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var En=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ci(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,N(s))}catch{w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var mh;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(mh||={});var kn=class{constructor(e,o={}){this.apiUrl=e;this.client=new Ne(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return N(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,W(o));return N(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,W(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return N(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",W(e));return N(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new En(`${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])}};var Cr=require("@reduxjs/toolkit");var gu=require("@reduxjs/toolkit");var uu={startTime:null,stopTime:null},mu=(0,gu.createSlice)({name:"handlingTime",initialState:uu,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(O,()=>uu)}}),{handlingTimeStart:fu,handlingTimeStop:_r,handlingTimeReset:hu}=mu.actions,yu=mu.reducer;var vu=(t={})=>{let e={onAuthError:_o(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};var br=require("@reduxjs/toolkit");var xr={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var Zt=(0,br.createAsyncThunk)("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 xr.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),fh=(0,br.createSlice)({name:"styleSuggestions",initialState:xr,reducers:{},extraReducers:t=>{t.addCase(Zt.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(Zt.rejected,e=>{e.fetchState="error"}).addCase(Zt.fulfilled,(e,o)=>{e.fetchState="done",pt(e.list,o.payload)||(e.list=o.payload)}).addCase(Pt,e=>{e.list=xr.list}).addCase(O,()=>xr)}}),Su=fh.reducer;var _u=(t={})=>{let e,o=!0,n={getStyleSuggestions:Zt,debounce:500,...t};return s=>r=>i=>{var u;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:p}=c.settings;if(!((u=c.conversation.current)==null?void 0:u.id)||!p)return l;let{text:g}=c.input;return g===a&&!o||(clearTimeout(e),g==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:g}))},t.debounce)),l}};function hh(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:Pe,getAutocompleteSuggestions:en,debounce:200,check:ko,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:p}=l.settings,d=(f=l.conversation.current)==null?void 0:f.id,g=r.type===Os.toString();if(!d||!c&&!p)return a;let{input:{userCommitted:u}}=l;return hh(u,i)&&!g||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let h=so(l);h===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(h))},g?0:e.debounce)),a}};var bu=Zt.fulfilled.toString();function yh(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 Cu=t=>e=>o=>n=>{var c;if(n.type!==bu){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=yh(s,i);n.type===bu&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var vh=(0,Cr.combineReducers)({activeSuggestion:xc,answer:dp,auth:Oc,autoflows:_d,conversation:Ha,contentTypes:Gc,customMessages:Rd,passwordlessToken:Md,entities:Qc,knowledgeAssistant:lp,handlingTime:yu,info:Xl,input:Nr.reducer,overlayInput:ae.reducer,settings:Ma,profile:mp,search:tc,summary:np,styleSuggestions:Su,ui:Ec,textSuggestions:fc});function wu(t){return(0,Cr.configureStore)({reducer:vh,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),vu(),xu({debounce:200}),_u({debounce:500}),Cu(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Sh=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},_h=t=>e=>o=>n=>{var a;let s=e.getState(),r=Pr("inlineSuggestions")(s);switch(n.type){case $e.toString():{let l=Ns(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 _o.toString():{!n.payload&&t.emit("logout",void 0);break}case ke.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Sh(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Zn.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Ko.toString():{let l=e.getState(),{text:c,selection:p}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:p},{mayApplyChanges:!0});break}case es.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 Le.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case Qe.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case Q.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 Qn.toString():t.handleKeyDown(n.payload);break;case Pt.toString():t.logSendMessage(n.payload);break;case Jn.toString():t.logSendEditSuggestionMessage(n.payload);break;case Yn.toString():t.handleInputChanged(n.payload);break;default:break}let i=o(n);switch(n.type){case Pt.toString():t.handleAfterSendMessage(n.payload);break;case tn.toString():t.onUpdateShowTabHint(n.payload);break;case _r.toString():t.logHandlingTime();break;case ke.toString():{r&&(e.dispatch(He([])),e.dispatch(ze()));break}case He.toString():{r&&n.payload.length>0&&e.dispatch(ut(0));break}default:break}return i},Tu=_h;function ra(t){return t.toISOString().replace("T"," ").replace("Z","")}function Eu(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:ra(o),timeStop:ra(n)}}function ia(t,e,o){var M,K,L;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:d,cuts:g,deletions:u,textSuggestions:m,offeredTextSuggestions:f}}=e[t],h=n.length,S=m.reduce((Z,{text:I,searchTerm:j})=>Z+I.length-(j?j.length:0),0),x=c??Date.now(),b=(Date.now()-x)/1e3+(p||0),v=s/b,A=m.reduce((Z,{searchTerm:I})=>Z+(I?I.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:d,cuts:g,deletions:u,lenTextTyped:s+A,lenTextTotal:h,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:b,charsPerSecond:v,numPastes:l,textSuggestionsV2:m,suggestionsCounters:[{source:"gpt",countOffered:f.filter(Z=>Z.source==="gpt").length}],agentId:(M=e.info.agentInfo)==null?void 0:M.agentId,agentName:(K=e.info.agentInfo)==null?void 0:K.agentName,agentEmail:(L=e.info.agentInfo)==null?void 0:L.agentEmail}}function aa(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return aa(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?aa(s,e):null}function ku(t,e){return aa(t,e)}function Iu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function xh(t){return typeof t=="object"&&t!==null&&"tagName"in t}function wr(t){return xh(t)&&(xt(t)||ys(t))}var Ru=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function bh(t){return t.offsetParent!==null}function Pu(t){if(!bh(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 Tr(t,e,o=100){let n=Pu(t);e({isVisible:n});let s=setInterval(()=>{let r=Pu(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}var V=require("react/jsx-runtime");var Au=Ru("showTabHint",!0),In=class t{static version="10.10.3-beta.6";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new at(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let p={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Tu({emit:(d,g,u)=>this.emit(d,g,u),handleAfterSendMessage:d=>this.handleAfterSendMessage(d),handleInputChanged:d=>this.handleInputChanged(d),handleKeyDown:d=>this.handleKeyDown(d),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:d=>this.logSendMessage(d),logSendEditSuggestionMessage:d=>this.logSendEditMessage(d),onUpdateShowTabHint:d=>Au.update(d),sendEvent:(d,g)=>this.deepdeskApi.sendEvent(d,g)})]};o&&Object.assign(p,{deepdeskBrokerAPI:new kn(o)}),this.store=wu(p),this.broadcastEvents=new du({debug:!0,deepdeskUrl:c,eventMap:Dc(this.store),createCustomChannel:l}),this.store.dispatch(Fo),this.store.dispatch(tn(Au.value())),this.store.dispatch(Fo({locale:s,adminUrl:c,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(_o(null)),this.store.dispatch(Xe()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();ne(n)&&Rc(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(Xe())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(Lr({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Vn(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(qn({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Mr(e))).payload}async postMessages(e){return(await this.store.dispatch(Gn(e))).payload}async updateConversation(e){return(await this.store.dispatch(Wn(e))).payload}resetConversation(){this.store.dispatch(O()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(Qe());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Fo(e))}setVisitorInfo(e){this.store.dispatch($l(e))}async setAgentInfo(e){await this.store.dispatch(Zo(e))}async setAgentSettings(e){await this.store.dispatch(pi(e))}async getAgentSettings(){return(await this.store.dispatch(di())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(Os()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Yn(e))}notifyKeyDown(e){this.store.dispatch(Qn(e))}notifyPaste(e,o){this.store.dispatch(Za({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch($a(e))}notifyExternalSuggestion(e){this.store.dispatch(ke(e)),this.store.dispatch(ze())}notifyEditSuggestion(e){this.store.dispatch(gc(e.contentType,e.suggestions)),this.store.dispatch($e({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(yt({collapse:!1})),this.inputMediator&&this.store.dispatch(ja({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(He([])))}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(Xa(Xn(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(qa()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},p=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(Ga()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Ko()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?p():c();return;case"Down":case"ArrowDown":{i?c():p();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(ut(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(ut(-1)),this.store.dispatch(Ko()),e.preventDefault()):o||(this.store.dispatch(yt({collapse:!0})),this.store.dispatch(wc(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:d}=this.state.input,g=d.text.substring(0,d.selection.end),{tabCompletionSuggestion:u}=this.state.input;this.store.dispatch(tn(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&u&&u.text.startsWith(g)&&(this.store.dispatch(ke({text:u.text,suggestion:u,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(ze())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Qa()),this.store.dispatch(He([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(fu()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(_r()))}logSendMessage(e){let o=ia("input",this.state,{version:this.version});e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o)}logSendEditMessage(e){let o=ia("overlayInput",this.state,{version:this.version});e&&Object.assign(o,{text:e}),this.store.dispatch(Va(this.state.overlayInput.metrics))}logHandlingTime(){let e=Eu(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(hu())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(ze()),this.store.dispatch(Pt(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(ke({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Mt(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{(0,we.unmountComponentAtNode)(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=Mt(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{(0,we.unmountComponentAtNode)(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Lt(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{(0,we.unmountComponentAtNode)(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ya(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!wr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,isEmbedded:d,detectSubmit:g,insertLink:u,inputMediator:m,closestScrollSelector:f,appendOverlayTo:h,inlineSuggestions:k,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,showTextSuggestions:i,insertLink:u,isEmbedded:d,inlineSuggestions:k,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Lt(e),this.inputMediator=m||(xt(e)?new We(e):new Xt(e)),this.inputMediator.on("change",({plainText:v})=>{this.notifyInputChanged(v)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Ja({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",v=>{this.notifyKeyDown(v)}),this.inputMediator.on("paste",({pastedText:v,selectionText:A})=>{this.notifyPaste(v,A)}),this.inputMediator.on("cut",({selectionText:v})=>{this.notifyCut(v)});let x=f&&ku(e,f)||void 0;if(k){let{customStyles:v,appendOverlayTo:A}=o;if(xt(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let M=this.createInlineContainer(e,"deepdesk-caret");(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:v,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(Dp,{})})}),M),this.inputMediator.on("caret",L=>{this.store.dispatch(He([])),L?(M.style.display="block",M.style.top=`${L.top}px`,M.style.left=`${L.left}px`):M.style.display="none"});let K=this.overlayContainerFactory("floating-menu",x||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:A},v==null?void 0:v.floatingMenuRootNode);(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:v,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(Rp,{onLogIn:()=>this.loginViaPopup().catch(L=>w.warn(L.message))})})}),K)}else{let v=this.overlayContainerFactory("deepdesk-tab-completion",x||e,{appendTo:h,closestScrollElement:x,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),A=this.overlayContainerFactory("deepdesk-suggestions-overlay",x||e,{appendTo:h},n==null?void 0:n.suggestionsRootNode);(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(md,{inputElement:e})})}),v),(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(Wp,{onLogIn:()=>this.loginViaPopup().catch(M=>w.warn(M.message))})})}),A)}(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(bp,{})})}),this.createContainer("deepdesk-overlays"));let b;this.inputMediator.on("selection",v=>{clearTimeout(b),v===null?b=setTimeout(()=>{v!==null&&this.store.dispatch(Or(v))},500):this.store.dispatch(Or(v))}),this.inputMediator.on("disabled",()=>{var v;(v=this.inputMediator)==null||v.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{g&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(vo(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(vo(!0))),this.store.dispatch(za({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(ze()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var v;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((v=this.state.conversation.current)==null?void 0:v.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&w.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),(0,we.render)((0,V.jsx)(Gt,{store:this.store,customStyles:n,children:(0,V.jsx)(jt,{broadcastEvents:this.broadcastEvents,children:(0,V.jsx)(au,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&(0,we.unmountComponentAtNode)(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Tr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Iu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(fn());let e=St(this.state);e&&(await this.store.dispatch(un()),this.store.dispatch(Fo({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let l=!1,c=()=>{p&&!p.closed&&p.close(),window.removeEventListener("message",d),clearInterval(g)};r.onmessage=async u=>{var m,f;if((m=u.data)!=null&&m.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=u.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(sn),l=!0,s.port1.close(),o()}catch(h){console.error(h),n(h)}finally{l=!0,c()}};let p=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");p===null&&n(new Error("Popup blocked by browser"));let d=async u=>{var m;if(u.origin===a.origin)switch((m=u.data)==null?void 0:m.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});p==null||p.postMessage(f,a.origin,[s.port2])}catch(f){w.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{c(),u.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(u.data.message));break}}};window.addEventListener("message",d);let g=setInterval(()=>{p&&!p.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Ws(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(Le()):this.store.dispatch(Pe(n))})}catch(n){this.handleError(n)}}};async function Lu(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 Mu(t,e,o={}){let n=o.replace?Et(t,o.replace.start,o.replace.end):Ao(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
10
10
|
`).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}):n.insertNode(document.createTextNode(e))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?Et(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 Ch(t){let e=document.createElement("template");return e.innerHTML=t.replace(/(\[([^\]]+)])\(([^)]+)\)/g,'<a href="$3" target="_blank" rel="noopener noreferrer">$2</a>'),e.content}function wh(t){let e=document.createDocumentFragment();return t.split(`
|
|
11
|
-
`).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function Nu(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:Nu(t,e.parentNode)}async function Ou(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let l=a.getRangeAt(0);if(!l)return;s=document.createElement("span"),l.insertNode(s);let c=n?Ch(e):wh(e);if(o){let p=Nu(t,
|
|
11
|
+
`).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function Nu(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:Nu(t,e.parentNode)}async function Ou(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let l=a.getRangeAt(0);if(!l)return;s=document.createElement("span"),l.insertNode(s);let c=n?Ch(e):wh(e);if(o){let p=l.startContainer===t?t.childNodes[l.startOffset]:l.startContainer,d=Nu(t,p)??t.firstChild;t.insertBefore(c,(d==null?void 0:d.nextSibling)??null)}else l.insertNode(c),l.collapse(!1)};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function Du(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function Hu(t,e,o){await new at(t).authenticateWithKey(e,o)}async function Bu(t){let o=await new Ne(t).get("/platform/config/",{version:null});return N(o)}async function Th(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 Fu(t,e){let o=await Th(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}}0&&(module.exports={Card,ContentEditableInput,DeepdeskAPI,DeepdeskSDK,HTTPClient,InputMediator,InputType,KeyboardHint,Label,Locale,Section,SectionList,Sources,Suggestion,SuggestionList,TextAreaInput,ToggleButton,attachFile,authenticateWithKey,createFullRange,createOverlayContainer,createRangeFromOffsets,escapeHTML,fetchPlatformConfig,formatTextMarkup,getRangeOffsets,getRangeText,insertCKEditor,isHTML,isSupportedInputElement,updateContentEditable,updateTextArea,useStyles,waitForElementVisibilityChange});
|