@helpai/elements 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/elements.js CHANGED
@@ -36,5 +36,5 @@ ${i}`:i;continue}o.startsWith("id:")&&(n=o.slice(3).trim())}if(!t||t==="[DONE]")
36
36
  `?"":n,e.pending="");continue;case"_":case"*":{if(e.token===19||e.token===30||e.token===31||e.token===14)break;let i=12,a=14,s=e.pending[0];if(s==="_"&&(i=13,a=15),e.pending.length===1){if(s===n){e.pending=o;continue}if(n!==" "&&n!==`
37
37
  `){U(e),F(e,i),e.pending=n;continue}}else{if(s===n){U(e),F(e,a),F(e,i),e.pending="";continue}if(n!==" "&&n!==`
38
38
  `){U(e),F(e,a),e.pending=n;continue}}break}case"~":if(e.token!==19&&e.token!==16){if(e.pending==="~"){if(n==="~"){e.pending=o;continue}}else if(n!==" "&&n!==`
39
- `){U(e),F(e,16),e.pending=n;continue}}break;case"$":if(e.token!==19&&e.token!==16&&e.pending==="$")if(n==="$"){e.token=105,e.pending=o;continue}else{if(Wd(n.charCodeAt(0)))break;U(e),F(e,31),e.pending=n;continue}break;case"[":if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n!=="]"){U(e),F(e,17),e.pending=n;continue}break;case"!":if(e.token!==19&&n==="["){U(e),F(e,19),e.pending="";continue}break;case" ":if(e.pending.length===1&&n===" ")continue;break}if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n==="h"&&(e.pending===" "||e.pending==="")){e.text+=e.pending,e.pending=n,e.token=102;continue}e.text+=e.pending,e.pending=n}U(e)}function rr(e){return{add_token:Kd,end_token:Gd,add_text:Vd,set_attr:qd,data:{nodes:[e,,,,,],index:0}}}function Kd(e,t){let n=e.nodes[e.index],o;switch(t){case 1:return;case 20:o=document.createElement("blockquote");break;case 2:o=document.createElement("p");break;case 21:o=document.createElement("br");break;case 22:o=document.createElement("hr");break;case 3:o=document.createElement("h1");break;case 4:o=document.createElement("h2");break;case 5:o=document.createElement("h3");break;case 6:o=document.createElement("h4");break;case 7:o=document.createElement("h5");break;case 8:o=document.createElement("h6");break;case 12:case 13:o=document.createElement("em");break;case 14:case 15:o=document.createElement("strong");break;case 16:o=document.createElement("s");break;case 11:o=document.createElement("code");break;case 18:case 17:o=document.createElement("a");break;case 19:o=document.createElement("img");break;case 23:o=document.createElement("ul");break;case 24:o=document.createElement("ol");break;case 25:o=document.createElement("li");break;case 26:let i=o=document.createElement("input");i.type="checkbox",i.disabled=!0;break;case 9:case 10:n=n.appendChild(document.createElement("pre")),o=document.createElement("code");break;case 27:o=document.createElement("table");break;case 28:switch(n.children.length){case 0:n=n.appendChild(document.createElement("thead"));break;case 1:n=n.appendChild(document.createElement("tbody"));break;default:n=n.children[1]}o=document.createElement("tr");break;case 29:o=document.createElement(n.parentElement?.tagName==="THEAD"?"th":"td");break;case 30:o=document.createElement("equation-block");break;case 31:o=document.createElement("equation-inline");break}e.nodes[++e.index]=n.appendChild(o)}function Gd(e){e.index-=1}function Vd(e,t){e.nodes[e.index].appendChild(document.createTextNode(t))}function qd(e,t,n){e.nodes[e.index].setAttribute(Bd(t),n)}function Un({textSig:e,doneSig:t}){let n=N(null);return w(()=>{let o=n.current;if(!o)return;o.classList.add(`${h.cssPrefix}-md`);let i=rr(o),a=or(i),s=0,l=Me(()=>{let p=e.value,d=t.value;p.length<s&&(o.replaceChildren(),i=rr(o),a=or(i),s=0);let u=p.slice(s);u&&se(a,u),s=p.length,d&&ds(a)}),c=new MutationObserver(p=>{for(let d of p)for(let u of d.addedNodes){if(!(u instanceof HTMLElement))continue;let f=u.matches?.("a")?[u]:[...u.querySelectorAll?.("a")??[]];for(let v of f)_s(v)}});c.observe(o,{childList:!0,subtree:!0});for(let p of o.querySelectorAll("a"))_s(p);let _=p=>{let d=p.target?.closest?.("a");if(!d||!(d instanceof HTMLAnchorElement))return;let u=d.getAttribute("href")??"";!u||u.startsWith("#")||(p.preventDefault(),window.open(u,"_blank","noopener,noreferrer"))};return o.addEventListener("click",_),()=>{l(),c.disconnect(),o.removeEventListener("click",_)}},[e,t]),r("div",{ref:n})}function us({text:e}){let t=he(()=>L(e),[e]),n=he(()=>L(!0),[]);return r(Un,{textSig:t,doneSig:n})}function _s(e){let t=e.getAttribute("href")??"";if(!t||t.startsWith("#"))return;e.target!=="_blank"&&(e.target="_blank");let n=new Set((e.rel||"").split(/\s+/).filter(Boolean));n.add("noopener"),n.add("noreferrer"),e.rel=[...n].join(" ")}function ps({part:e,strings:t}){let n=h.cssPrefix;return r("span",{class:`${n}-tool-chip`,role:"status",children:[r("span",{children:[t.usedTool,":"]}),r("strong",{children:e.toolName})]})}var Se=h.cssPrefix;function fs({message:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i}){let s=ke(()=>e.partsSig.value).value,l=ke(()=>e.partsSig.value.some(f=>f.kind==="text"&&f.textSig.value.length>0)),c=ke(()=>o&&e.partsSig.value.some(f=>f.kind==="reasoning")),_=e.role==="assistant"&&e.status==="streaming",p=n==="buffered"&&_,d=_&&!l.value,u=!p&&d&&!c.value;return r("div",{class:`${Se}-bubble-row`,"data-role":e.role,"data-testid":ce(P.messageBubble,e.id),children:r("div",{class:`${Se}-bubble`,children:[p?r(Zd,{label:t.loading}):s.map(f=>r(jd,{part:f,active:d,strings:t,showReasoning:o,showToolCalls:i},Jd(f))),u&&r(Qd,{}),e.status==="error"&&e.errorText?r("div",{class:`${Se}-error`,role:"alert",children:r("span",{children:e.errorText})}):null]})})}function jd({part:e,active:t,strings:n,showReasoning:o,showToolCalls:i}){switch(e.kind){case"text":return r(Un,{textSig:e.textSig,doneSig:e.doneSig});case"reasoning":return o?r(Yd,{part:e,active:t,strings:n}):null;case"tool":return i?r(ps,{part:e,strings:n}):null;case"file":return e.mediaType.startsWith("image/")?r("img",{src:e.url,alt:"",loading:"lazy"}):r("a",{href:e.url,target:"_blank",rel:"noreferrer noopener",children:e.url});case"source":return null}}function Yd({part:e,active:t,strings:n}){return r("details",{class:`${Se}-reasoning`,open:t,"data-active":t?"true":void 0,children:[r("summary",{class:`${Se}-reasoning-summary`,children:r("span",{class:`${Se}-reasoning-label`,children:t?n.thinking:n.thoughts})}),r("div",{class:`${Se}-reasoning-body`,children:r(Un,{textSig:e.textSig,doneSig:e.doneSig})})]})}function Jd(e){switch(e.kind){case"text":case"reasoning":return`${e.kind}:${e.id}`;case"tool":return`tool:${e.toolCallId}`;case"file":return`file:${e.url}`;case"source":return`source:${e.sourceId}`}}function Qd(){return r("span",{class:`${Se}-typing`,"aria-hidden":"true",children:[r("span",{}),r("span",{}),r("span",{})]})}function Zd({label:e}){return r("span",{class:`${Se}-loading`,role:"status",children:[r("span",{class:`${Se}-loading-spinner`,"aria-hidden":"true"}),r("span",{class:`${Se}-loading-label`,children:e})]})}var gs=h.cssPrefix,ir=120;function ms({messagesSig:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,loading:a}){let s=N(null),l=ke(()=>e.value),c=N(!1),_=l.value[0]?.id;return Ri(()=>{let p=s.current;if(!p||l.value.length===0)return;c.current=!0;let d=()=>{p.scrollTop=p.scrollHeight};d();let u=new ResizeObserver(d);u.observe(p);let f=new MutationObserver(d);f.observe(p,{childList:!0,subtree:!0,characterData:!0});let v=setTimeout(()=>{u.disconnect(),f.disconnect()},300);return()=>{u.disconnect(),f.disconnect(),clearTimeout(v)}},[_]),w(()=>{let p=s.current;if(!p||!c.current)return;p.scrollHeight-p.scrollTop-p.clientHeight<ir&&(p.scrollTop=p.scrollHeight)},[l.value.length]),w(()=>{let p=s.current;if(!p)return;let d=l.value.at(-1);if(!d)return;if(d.status!=="streaming"){let f=requestAnimationFrame(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<ir*2&&(p.scrollTop=p.scrollHeight)});return()=>cancelAnimationFrame(f)}let u=setInterval(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<ir*2&&(p.scrollTop=p.scrollHeight)},250);return()=>clearInterval(u)},[l.value]),r("div",{ref:s,class:`${gs}-list`,role:"log","aria-live":"polite","aria-relevant":"additions text",children:[a&&l.value.length===0?r("div",{class:`${gs}-list-loading`,role:"status",children:t.messagesLoading}):null,l.value.map(p=>r(fs,{message:p,strings:t,responseMode:n,showReasoning:o,showToolCalls:i},p.id))]})}function mt({itemCount:e,initialFocusIndex:t}){let[n,o]=k(!1),i=N(null),a=N(null),[s,l]=k(-1),c=M(()=>{o(!1),l(-1),i.current?.focus()},[]),_=M(()=>o(u=>!u),[]);w(()=>{if(!n)return;let u=f=>{let v=a.current,m=i.current;if(!v||!m)return;let b=f.composedPath();b.includes(v)||b.includes(m)||(o(!1),l(-1))};return document.addEventListener("click",u,!0),()=>document.removeEventListener("click",u,!0)},[n]),w(()=>{if(!n||e===0)return;let u=t?.()??0,f=u<0||u>=e?0:u;l(f)},[n,e,t]),w(()=>{if(!n||s<0)return;a.current?.querySelectorAll("[role='menuitem']")?.[s]?.focus()},[n,s]);let p=M(u=>{(u.key==="ArrowDown"||u.key==="Enter"||u.key===" ")&&(u.preventDefault(),o(!0))},[]),d=M(u=>{if(e!==0)switch(u.key){case"Escape":u.preventDefault(),c();return;case"ArrowDown":u.preventDefault(),l(f=>(f+1)%e);return;case"ArrowUp":u.preventDefault(),l(f=>(f-1+e)%e);return;case"Home":u.preventDefault(),l(0);return;case"End":u.preventDefault(),l(e-1)}},[e,c]);return{open:n,focusIndex:s,triggerRef:i,menuRef:a,toggle:_,close:c,onTriggerKey:p,onMenuKey:d}}function hs({items:e,triggerLabel:t}){let n=h.cssPrefix,o=mt({itemCount:e.length}),i=a=>{a.disabled||(a.onSelect(),o.close())};return r("div",{class:`${n}-menu-wrap`,children:[r("button",{ref:o.triggerRef,type:"button",class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":"menu","aria-expanded":o.open,title:t,onClick:o.toggle,onKeyDown:o.onTriggerKey,children:r(La,{})}),o.open?r("div",{ref:o.menuRef,class:`${n}-menu`,role:"menu","aria-label":t,onKeyDown:o.onMenuKey,tabIndex:-1,children:e.map(a=>r("button",{type:"button",role:"menuitem",class:`${n}-menu-item`,"aria-pressed":a.type==="switch"?a.on:void 0,disabled:a.disabled,lang:a.lang,onClick:()=>i(a),children:[a.icon?r("span",{class:`${n}-menu-icon`,children:a.icon}):null,r("span",{class:`${n}-menu-label`,children:a.label}),a.type==="switch"&&a.on?r("span",{class:`${n}-menu-check`,"aria-hidden":"true",children:r(ft,{})}):null]},a.id))}):null]})}var e_=["today","yesterday","lastWeek","older"];function t_(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return"older";let o=Math.floor((vs(e)-vs(n))/(1440*60*1e3));return o<=0?"today":o===1?"yesterday":o<7?"lastWeek":"older"}function bs(e,t){let n=new Map;for(let o of t){let i=t_(e,o.lastMessageAt),a=n.get(i);a?a.push(o):n.set(i,[o])}return e_.filter(o=>n.has(o)).map(o=>({bucket:o,sessions:n.get(o)}))}function vs(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}var n_=R.scope("history"),o_={today:"dateToday",yesterday:"dateYesterday",lastWeek:"dateLastWeek",older:"dateOlder"};function zn({transport:e,strings:t,visitorId:n,onSelect:o,onNewChat:i}){let a=h.cssPrefix,[s,l]=k("loading"),[c,_]=k([]);w(()=>{let u=!1;return e.listSessions({visitorId:n}).then(f=>{u||(_(f.sessions??[]),l("loaded"))}).catch(f=>{u||(n_.warn("listSessions failed",{err:f}),l("error"))}),()=>{u=!0}},[e,n]);let p=i?r("div",{class:`${a}-history-footer`,children:r("button",{type:"button",class:`${a}-history-new`,onClick:i,"data-testid":P.sidebarNewChat,children:[r(xa,{}),t.historyNewChat]})}):null;if(s==="loading")return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyLoading}),p]});if(s==="error"||c.length===0)return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyEmpty}),p]});let d=bs(Date.now(),c);return r(te,{children:[r("div",{class:`${a}-history`,role:"list",children:d.map(u=>r("div",{class:`${a}-history-group`,children:[r("div",{class:`${a}-history-heading`,children:t[o_[u.bucket]]}),u.sessions.map(f=>r("button",{type:"button",role:"listitem",class:`${a}-history-item`,onClick:()=>o(f),"data-closed":f.canContinue?void 0:"true","data-testid":ce(P.historyItem,f.sessionId),children:[r("span",{class:`${a}-history-title`,children:f.title}),f.preview?r("span",{class:`${a}-history-preview`,children:f.preview}):null]},f.sessionId))]},u.bucket))}),p]})}function ys(e){return r(zn,{...e})}function xs({available:e,active:t,onSelect:n,triggerLabel:o}){let i=h.cssPrefix,a=M(()=>e.indexOf(t),[e,t]),s=mt({itemCount:e.length,initialFocusIndex:a}),l=c=>{n(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":o,"aria-haspopup":"menu","aria-expanded":s.open,title:o,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:r(Ha,{})}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":o,onKeyDown:s.onMenuKey,tabIndex:-1,children:e.map(c=>{let _=c===t;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,lang:c,"aria-current":_?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-label`,children:Br(c,t)}),_?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(ft,{})}):null]},c)})}):null]})}var ar=["auto","light","dark"];function Ps(e){switch(e){case"light":return r(Ka,{});case"dark":return r(Ga,{});case"auto":return r(Va,{})}}function sr({active:e,onSelect:t,triggerLabel:n,optionLabels:o}){let i=h.cssPrefix,a=M(()=>ar.indexOf(e),[e]),s=mt({itemCount:ar.length,initialFocusIndex:a}),l=c=>{t(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":n,"aria-haspopup":"menu","aria-expanded":s.open,title:n,"data-theme-active":e,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:Ps(e)}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":n,onKeyDown:s.onMenuKey,tabIndex:-1,children:ar.map(c=>{let _=c===e;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,"aria-current":_?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-icon`,children:Ps(c)}),r("span",{class:`${i}-menu-label`,children:o[c]}),_?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(ft,{})}):null]},c)})}):null]})}var Ss=h.cssPrefix;function ws({suggestions:e,onPick:t}){return e.length===0?null:r("div",{class:`${Ss}-suggestions`,role:"group","aria-label":"Suggested replies",children:e.map((n,o)=>r("button",{type:"button",class:`${Ss}-suggestion`,onClick:()=>t(n),"data-testid":ce(P.suggestion,o),children:n.label},n.id))})}var _e=h.cssPrefix;function ks(e){let{options:t,onClose:n}=e,o=t.strings,i=N(null);w(()=>{let c=i.current;if(!c)return;let _=On(c),p=d=>{d.key==="Escape"&&n?.()};return c.addEventListener("keydown",p),()=>{_(),c.removeEventListener("keydown",p)}},[n]);let a=N(null),s=M(c=>{a.current?.attachFromDrop(c)},[]),{visible:l}=Bn({containerRef:i,onDrop:s});return Ln(i.current,t.mode==="modal"),r("div",{ref:i,class:`${_e}-panel`,role:"dialog","aria-modal":"false","aria-label":o.panelTitle,style:{position:"relative"},"data-testid":P.panel,children:[r(lr,{...e,containerEl:i.current,dragOver:l,composerAttachApiRef:a}),r(cr,{poweredBy:e.options.poweredBy})]})}function lr({options:e,transport:t,feedback:n,bus:o,panelSize:i,view:a,canSend:s,isStreaming:l,loadingMessages:c,messagesSig:_,agent:p,suggestions:d,initialWidgetSize:u,visitorId:f,onClose:v,onBack:m,onClear:b,onExpand:y,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onSelectHistoryChat:V,onNewChat:ue,onLocaleChange:pe,onThemeChange:X,onWidgetSizeChange:Q,onSend:et,onStop:ze,onSuggestion:C,containerEl:$,dragOver:j,composerAttachApiRef:de}){let Y=e.strings;return r(te,{children:[a==="history"?r(r_,{strings:Y,onBack:O,onClose:v,showClose:Qa(e.mode,i,e.actions)}):r(l_,{agent:p,onBack:m,backLabel:Y.moduleBack,moreActionsLabel:Y.moreActions,languageLabel:Y.language,themeLabel:Y.theme,themeOptionLabels:{auto:Y.themeAuto,light:Y.themeLight,dark:Y.themeDark},activeThemeMode:e.themeMode,onThemeChange:X,panelTitle:Y.panelTitle,activeLocale:e.locale,availableLocales:e.availableLocales,onLocaleChange:pe,main:Xo(e.actions.main,e.mode,i,{popOutUrl:e.popOutUrl}),overflow:Xo(e.actions.overflow,e.mode,i,{popOutUrl:e.popOutUrl}),descriptors:c_({strings:Y,panelSize:i,feedback:n,onClear:b,onExpand:y,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onClose:v})}),a==="history"?r(ys,{transport:t,strings:Y,visitorId:f,onSelect:le=>V(le.sessionId),onNewChat:ue}):r(te,{children:[r(rs,{visible:j,strings:Y}),r(ms,{messagesSig:_,strings:Y,responseMode:e.responseMode,showReasoning:e.showReasoning,showToolCalls:e.showToolCalls,loading:c}),s?r(te,{children:[r(ws,{suggestions:d,onPick:C}),r(os,{options:e,transport:t,feedback:n,bus:o,isStreaming:l,onSend:et,onStop:ze,attachApiRef:de})]}):r(i_,{label:Y.chatClosed,ctaLabel:Y.startNewConversation,onNewChat:b}),r(a_,{disclaimer:e.composerDisclaimer})]}),e.size.resize?.enabled?r(Mn,{panelEl:$,resize:e.size.resize,position:e.position,initialSize:u,onSizeChange:Q,strings:Y}):null]})}function r_({strings:e,onBack:t,onClose:n,showClose:o}){return r("header",{class:`${_e}-header`,children:[r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:r(Ot,{})}),r("h1",{children:e.historyTitle}),o?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:r(me,{})}):null]})}function i_({label:e,ctaLabel:t,onNewChat:n}){return r("div",{class:`${_e}-readonly-banner`,role:"note",children:[r("span",{class:`${_e}-readonly-label`,children:e}),r("button",{type:"button",class:`${_e}-readonly-cta`,onClick:n,children:t})]})}function a_({disclaimer:e}){return e?r("div",{class:`${_e}-composer-footer`,children:r("div",{class:`${_e}-disclaimer`,children:e})}):null}function cr({poweredBy:e}){return e?r("div",{class:`${_e}-poweredby-bar`,children:r(s_,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function s_({logoUrl:e,text:t,href:n}){let o=r(te,{children:[e?r("img",{class:`${_e}-poweredby-logo`,src:e,alt:"",loading:"lazy"}):null,t?r("span",{children:t}):null]});return n?r("a",{class:`${_e}-poweredby`,href:n,target:"_blank",rel:"noopener noreferrer",children:o}):r("span",{class:`${_e}-poweredby`,children:o})}function l_({agent:e,onBack:t,backLabel:n,moreActionsLabel:o,languageLabel:i,themeLabel:a,themeOptionLabels:s,activeThemeMode:l,onThemeChange:c,panelTitle:_,activeLocale:p,availableLocales:d,onLocaleChange:u,main:f,overflow:v,descriptors:m}){let b=d.length>1,y=[];for(let T of v){if(T==="theme")continue;if(T==="language"){if(!b)continue;for(let O of d)y.push({id:`language:${O}`,label:i+` \u2014 ${O}`,lang:O,onSelect:()=>u(O),type:"switch",on:O===p});continue}let D=m[T];y.push({id:T,icon:D.icon,label:D.label,onSelect:D.onSelect,type:D.switchable?"switch":"button",on:D.switchOn})}let S=v.includes("theme");return r("header",{class:`${_e}-header`,"data-testid":P.panelHeader,children:[t?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(Ot,{})}):null,e?r(es,{agent:e}):r("h1",{children:_}),f.map(T=>{if(T==="language")return b?r(xs,{available:d,active:p,onSelect:u,triggerLabel:i},"language"):null;if(T==="theme")return r(sr,{active:l,onSelect:c,triggerLabel:a,optionLabels:s},"theme");let D=m[T];return r("button",{type:"button",class:`${_e}-icon-btn`,onClick:D.onSelect,"aria-label":D.label,"aria-pressed":D.switchable?D.switchOn:void 0,title:D.label,"data-testid":Xa[T],children:D.icon},T)}),S?r(sr,{active:l,onSelect:c,triggerLabel:a,optionLabels:s}):null,y.length>0?r(hs,{items:y,triggerLabel:o}):null]})}function c_(e){let{strings:t,panelSize:n,feedback:o,onClear:i,onExpand:a,onFullscreen:s,onPopOut:l,onSoundToggle:c,onToggleHistory:_,onClose:p}=e,d=n==="expanded",u=n==="fullscreen",f=ke(()=>o.mutedSig.value).value;return{clear:{icon:r($a,{}),label:t.newConversation,onSelect:i},expand:{icon:d?r(Ta,{}):r(Aa,{}),label:d?t.collapse:t.expand,onSelect:a,switchable:!0,switchOn:d},fullscreen:{icon:u?r(Ra,{}):r(Ia,{}),label:u?t.exitFullscreen:t.fullscreen,onSelect:s,switchable:!0,switchOn:u},popOut:{icon:r(Ba,{}),label:t.popOut,onSelect:l},sound:{icon:f?r(Oa,{}):r(Na,{}),label:f?t.soundOff:t.soundOn,onSelect:c,switchable:!0,switchOn:!f},history:{icon:r(Da,{}),label:t.history,onSelect:_},close:{icon:r(me,{}),label:t.close,onSelect:p??(()=>{})}}}function Cs(e){let t=h.cssPrefix,{site:n,blocks:o,strings:i,collapsed:a}=e,s=o?.navigation??[],l=o?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return r("aside",{class:`${t}-sidebar`,"data-collapsed":a?"true":"false","data-testid":P.sidebar,children:[r("div",{class:`${t}-sidebar-header`,children:[r(d_,{site:n}),r("button",{type:"button",class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?"false":"true",title:c,onClick:e.onToggleCollapsed,"data-testid":P.sidebarToggle,children:r(__,{collapsed:a})})]}),a?null:r(te,{children:[s.length>0?r("nav",{class:`${t}-sidebar-section`,"data-section":"navigation",children:r(u_,{items:s})}):null,l.length>0?r("div",{class:`${t}-sidebar-section`,"data-section":"link-cards",children:r(p_,{items:l})}):null,e.showConversations?r("div",{class:`${t}-sidebar-conversations`,children:r(zn,{transport:e.transport,strings:e.strings,visitorId:e.visitorId,onSelect:e.onSelectChat,onNewChat:e.onNewChat})}):null]})]})}function d_({site:e}){let t=h.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??"Logo";return r("picture",{children:[e.logoDark?.url?r("source",{srcset:e.logoDark.url,media:"(prefers-color-scheme: dark)"}):null,r("img",{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return r("div",{class:`${t}-sidebar-title`,children:e?.title??h.name})}function __({collapsed:e}){return r("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","aria-hidden":"true",children:e?r("polyline",{points:"9 6 15 12 9 18"}):r("polyline",{points:"15 6 9 12 15 18"})})}function u_({items:e}){let t=h.cssPrefix;return r("ul",{class:`${t}-sidebar-nav`,children:e.map(n=>r("li",{children:r("a",{class:`${t}-sidebar-nav-item`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[n.icon?r("span",{class:`${t}-sidebar-nav-icon`,"data-icon":n.icon}):null,r("span",{class:`${t}-sidebar-nav-label`,children:n.label})]})},n.id??n.label))})}function p_({items:e}){let t=h.cssPrefix;return r("div",{class:`${t}-sidebar-cards`,children:e.map(n=>r("a",{class:`${t}-sidebar-card`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[r("div",{class:`${t}-sidebar-card-label`,children:n.label}),n.description?r("div",{class:`${t}-sidebar-card-desc`,children:n.description}):null]},n.id??n.label))})}var Es=h.cssPrefix;function As(e){return r("main",{class:`${Es}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?"true":"false",children:[r(Cs,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,visitorId:e.visitorId,showConversations:e.showConversations,onSelectChat:e.onSelectChat,onNewChat:e.onNewChat,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),r("section",{class:`${Es}-page-chat`,"aria-label":"Chat",children:e.children})]})}var Ts=e=>Object.fromEntries(e.map(t=>[t,[]]));function Is(e,t,n){let o=L({activeTab:e,stacks:Ts(t)});return{sig:o,switchTab(i){o.value.activeTab!==i&&(o.value={...o.value,activeTab:i},n?.(i))},push(i){let a=o.value,s=a.stacks[a.activeTab]??[];o.value={...a,stacks:{...a.stacks,[a.activeTab]:[...s,i]}}},pop(){let i=o.value,a=i.stacks[i.activeTab]??[];a.length!==0&&(o.value={...i,stacks:{...i.stacks,[i.activeTab]:a.slice(0,-1)}})},reset(i){o.value={activeTab:i,stacks:Ts(t)}}}}var Rs=e=>e.stacks[e.activeTab]??[],Ms=e=>Rs(e).at(-1),Ls=e=>Rs(e).length===0;var Ns={Icon:Dt};var Ae=h.cssPrefix;function Fn({title:e,onClose:t,closeLabel:n}){return r("header",{class:`${Ae}-back-header`,"data-variant":"title",children:[r("span",{class:`${Ae}-back-spacer`,"aria-hidden":"true"}),r("h1",{class:`${Ae}-back-title`,children:e}),t?r("button",{type:"button",class:`${Ae}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(me,{})}):r("span",{class:`${Ae}-back-spacer`,"aria-hidden":"true"})]})}function Wn({title:e,backLabel:t,onBack:n,onClose:o,closeLabel:i,testid:a}){return r("header",{class:`${Ae}-back-header`,"data-testid":a,children:[r("button",{type:"button",class:`${Ae}-icon-btn`,onClick:n,"aria-label":t,title:t,children:r(Ot,{})}),r("h1",{class:`${Ae}-back-title`,children:e}),o?r("button",{type:"button",class:`${Ae}-icon-btn`,onClick:o,"aria-label":i,title:i,children:r(me,{})}):r("span",{class:`${Ae}-back-spacer`,"aria-hidden":"true"})]})}var ht=h.cssPrefix;function Os({placeholder:e,onActivate:t}){return r("button",{type:"button",class:`${ht}-home-search`,onClick:t,"data-testid":P.homeSearch,children:[r("span",{class:`${ht}-home-search-text`,children:e}),r("span",{class:`${ht}-home-search-icon`,"aria-hidden":"true",children:r(qo,{})})]})}function Ds({placeholder:e,value:t,onInput:n}){return r("div",{class:`${ht}-home-search`,"data-input":"true",children:[r("input",{type:"search",class:`${ht}-home-search-input`,placeholder:e,value:t,onInput:o=>n(o.currentTarget.value),"data-testid":P.helpSearch}),r("span",{class:`${ht}-home-search-icon`,"aria-hidden":"true",children:r(qo,{})})]})}var Bt=h.cssPrefix;function Kn({title:e,subtitle:t,onClick:n,testid:o}){return r("button",{type:"button",class:`${Bt}-list-row`,onClick:n,"data-testid":o,children:[r("span",{class:`${Bt}-list-row-body`,children:[r("span",{class:`${Bt}-list-row-title`,children:e}),t?r("span",{class:`${Bt}-list-row-sub`,children:t}):null]}),r("span",{class:`${Bt}-list-row-chevron`,"aria-hidden":"true",children:r(In,{})})]})}var Hs=h.cssPrefix;function ye({tone:e="info",message:t,onRetry:n,strings:o}){return r("div",{class:`${Hs}-module-empty`,role:e==="error"?"alert":"status","aria-live":"polite",children:[r("span",{children:t}),n?r("button",{type:"button",class:`${Hs}-module-retry`,onClick:n,children:o.errorRetry}):null]})}var Qe=h.cssPrefix,f_=R.scope("help"),g_=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function m_(e){let t=new Map;for(let n of e){let o=n.categories?.[0]??"";(t.get(o)??t.set(o,[]).get(o)).push(n)}return[...t.entries()]}function Bs(e,t){let n=t.toLowerCase(),o=n.indexOf(e);if(o!==-1)return 100-Math.min(o,99);let i=0;for(let a of e){if(i=n.indexOf(a,i),i===-1)return 0;i+=1}return 1}function h_(e,t){let n=t.toLowerCase().trim();return n?e.map(o=>({item:o,score:Math.max(Bs(n,o.title)*2,Bs(n,o.description??""))})).filter(o=>o.score>0).toSorted((o,i)=>i.score-o.score).map(o=>o.item):[]}function $s({article:e,nav:t}){return r(Kn,{title:e.title,subtitle:e.description,onClick:()=>g_(t,e),testid:ce(P.helpArticle,e.id)})}function v_({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=k("loading"),[c,_]=k(t.errorGeneric),[p,d]=k([]),[u,f]=k(""),[v,m]=k(0);w(()=>{let S=!1;return l("loading"),e.listContent({tags:a,sortBy:"order",limit:100}).then(T=>{S||(d(T.items??[]),l("loaded"))}).catch(T=>{S||(f_.warn("listContent (help) failed",{err:T}),_(Xe(T,t)),l("error"))}),()=>{S=!0}},[e,a,v]);let b=he(()=>h_(p,u),[p,u]);function y(){return u.trim().length>0?b.length===0?r(ye,{message:t.helpSearchEmpty,strings:t}):r("div",{class:`${Qe}-help-card`,children:b.map(S=>r($s,{article:S,nav:o},S.id))}):s==="loading"?r(ye,{message:t.helpLoading,strings:t}):s==="error"?r(ye,{tone:"error",message:c,onRetry:()=>m(S=>S+1),strings:t}):p.length===0?r(ye,{message:t.helpEmpty,strings:t}):m_(p).map(([S,T])=>r("section",{class:`${Qe}-help-group`,children:[S?r("h2",{class:`${Qe}-help-section-title`,children:S}):null,r("div",{class:`${Qe}-help-card`,children:T.map(D=>r($s,{article:D,nav:o},D.id))})]},S))}return r("div",{class:`${Qe}-module`,children:[r(Fn,{title:t.helpTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${Qe}-module-pad`,children:r(Ds,{placeholder:t.helpSearchPlaceholder,value:u,onInput:f})}),r("div",{class:`${Qe}-help-list`,children:y()})]})}var Us={Icon:Vo,Root:e=>r(v_,{...e})};var zs=h.cssPrefix;function dr({onClick:e,children:t,testid:n}){return e?r("button",{type:"button",class:`${zs}-home-card`,"data-interactive":"true",onClick:e,"data-testid":n,children:t}):r("div",{class:`${zs}-home-card`,"data-testid":n,children:t})}var G=h.cssPrefix,Fs=R.scope("home");function b_(e){let t=e.options.userContext?.name,n=e.config.greetingText;return n?{title:t?n.replace("{name}",t):n.replace(/\s*\{name\}\s*/," ").trim(),subtitle:e.strings.homeGreetingLead}:t?{title:e.strings.homeGreetingNamed.replace("{name}",t),subtitle:e.strings.homeGreetingLead}:{title:e.strings.homeGreeting}}var y_=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function x_(e){let{transport:t,strings:n,config:o,nav:i,panelProps:a}=e,[s,l]=k(null),[c,_]=k([]),p=o.contentTags?.join(",");w(()=>{if(!o.showRecentMessages)return;let m=!1;return t.listSessions({limit:1}).then(b=>!m&&l(b.sessions?.[0]??null)).catch(b=>!m&&Fs.warn("listSessions (home) failed",{err:b})),()=>{m=!0}},[t,o.showRecentMessages]),w(()=>{if(!o.contentTags?.length)return;let m=!1;return t.listContent({tags:o.contentTags,limit:6}).then(b=>!m&&_(b.items??[])).catch(b=>!m&&Fs.warn("listContent (home) failed",{err:b})),()=>{m=!0}},[t,p]);let d=b_(e),u=o.userAvatars??[],f=o.status,v=o.contentBlockTitle?Xt(n,o.contentBlockTitle):n.homeContentTitle;return r("div",{class:`${G}-module ${G}-home`,"data-testid":P.homeView,children:r("div",{class:`${G}-home-scroll`,children:[r("div",{class:`${G}-home-hero`,children:[r("div",{class:`${G}-home-hero-top`,children:[o.brandName?r("span",{class:`${G}-home-brand`,"data-testid":P.homeBrand,children:o.brandName}):r("span",{class:`${G}-home-brand-spacer`,"aria-hidden":"true"}),r("div",{class:`${G}-home-hero-actions`,children:[u.length>0?r("div",{class:`${G}-home-avatars`,children:u.map(m=>r("span",{class:`${G}-home-avatar`,title:m.role?`${m.name} \xB7 ${m.role}`:m.name,children:m.avatar?r("img",{src:m.avatar,alt:"",loading:"lazy"}):r("span",{children:Dn(m.name)})},m.name))}):null,a.onClose?r("button",{type:"button",class:`${G}-icon-btn ${G}-home-close`,onClick:a.onClose,"aria-label":n.close,title:n.close,children:r(me,{})}):null]})]}),o.showGreeting!==!1?r(te,{children:[r("h1",{class:`${G}-home-greeting`,"data-testid":P.homeGreeting,children:d.title}),d.subtitle?r("p",{class:`${G}-home-lead`,children:d.subtitle}):null]}):null]}),r("div",{class:`${G}-home-cards`,children:[o.showSearchBar!==!1?r(Os,{placeholder:n.homeSearchPlaceholder,onActivate:()=>i.switchToLayout("help")}):null,s?r(dr,{onClick:()=>i.selectSession(s.sessionId),testid:P.homeRecent,children:r("div",{class:`${G}-home-recent-row`,"data-unread":(s.unreadCount??0)>0?"true":void 0,children:[r("span",{class:`${G}-home-recent-avatar`,"aria-hidden":"true",children:r(Dt,{})}),r("span",{class:`${G}-home-recent-body`,children:[r("span",{class:`${G}-home-recent-title`,children:s.title}),s.preview?r("span",{class:`${G}-home-recent-preview`,children:s.preview}):null]}),(s.unreadCount??0)>0?r("span",{class:`${G}-home-recent-dot`,"aria-label":"Unread"}):null]})}):null,f?r(dr,{onClick:f.url?()=>i.push({kind:"iframe",url:f.url,title:f.text}):void 0,children:r("div",{class:`${G}-home-status`,"data-level":f.level??"operational",children:[r("span",{class:`${G}-home-status-icon`,"aria-hidden":"true",children:r(za,{})}),r("span",{class:`${G}-home-status-text`,children:f.text})]})}):null,c.length>0?r("section",{class:`${G}-home-content`,children:[r("div",{class:`${G}-home-content-title`,children:v}),r("div",{class:`${G}-home-content-list`,children:c.map(m=>r(Kn,{title:m.title,subtitle:m.description,onClick:()=>y_(i,m),testid:ce(P.homeContentRow,m.id)},m.id))})]}):null]})]})})}var Ws={Icon:Fa,Root:e=>r(x_,{...e})};var Te=h.cssPrefix,P_=R.scope("news");function S_({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=k("loading"),[c,_]=k(t.errorGeneric),[p,d]=k([]),[u,f]=k(0);w(()=>{let m=!1;return l("loading"),e.listContent({tags:a,sortBy:"publishedAt",sortOrder:"desc"}).then(b=>{m||(d(b.items??[]),l("loaded"))}).catch(b=>{m||(P_.warn("listContent (news) failed",{err:b}),_(Xe(b,t)),l("error"))}),()=>{m=!0}},[e,a,u]);function v(){return s==="loading"?r(ye,{message:t.newsLoading,strings:t}):s==="error"?r(ye,{tone:"error",message:c,onRetry:()=>f(m=>m+1),strings:t}):p.length===0?r(ye,{message:t.newsEmpty,strings:t}):r("div",{class:`${Te}-news-list`,children:p.map(m=>r("button",{type:"button",class:`${Te}-news-card`,onClick:()=>o.push({kind:"content",id:m.id,title:m.title}),"data-testid":ce(P.newsItem,m.id),children:[m.image?r("img",{class:`${Te}-news-hero`,src:m.image,alt:"",loading:"lazy"}):null,r("span",{class:`${Te}-news-body`,children:[m.tags&&m.tags.length>0?r("span",{class:`${Te}-news-tags`,children:m.tags.map(b=>r("span",{class:`${Te}-news-tag`,children:b},b))}):null,r("span",{class:`${Te}-news-title`,children:m.title}),m.description?r("span",{class:`${Te}-news-summary`,children:m.description}):null]})]},m.id))})}return r("div",{class:`${Te}-module`,children:[r(Fn,{title:t.newsTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${Te}-module-scroll`,children:v()})]})}var Ks={Icon:Wa,Root:e=>r(S_,{...e})};var Gn={chat:Ns,home:Ws,help:Us,news:Ks};var $t=h.cssPrefix;function Gs({modules:e,activeTab:t,strings:n,unreadCount:o,onSelect:i}){return r("nav",{class:`${$t}-tabbar`,role:"tablist","aria-label":n.panelTitle,children:e.map(a=>{let s=Gn[a.layout].Icon,l=a.id===t,c=a.layout==="chat"&&o>0?o>9?"9+":String(o):null;return r("button",{type:"button",role:"tab","aria-selected":l,class:`${$t}-tab`,onClick:()=>i(a.id),"data-testid":ce(P.tab,a.id),children:[r("span",{class:`${$t}-tab-icon`,"aria-hidden":"true",children:[r(s,{}),c?r("span",{class:`${$t}-tab-badge`,"data-testid":P.tabBadge,children:c}):null]}),r("span",{class:`${$t}-tab-label`,children:Xt(n,a.label)})]},a.id)})})}var Vs=h.cssPrefix,w_="allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads";function qs({url:e,title:t,strings:n,onBack:o,onClose:i}){return r("div",{class:`${Vs}-module`,children:[r(Wn,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:o,onClose:i,closeLabel:n.close}),r("iframe",{class:`${Vs}-content-frame`,src:e,title:t||"content",sandbox:w_,referrerpolicy:"no-referrer",loading:"lazy",allow:"fullscreen"})]})}var Ze=h.cssPrefix,k_=R.scope("content");function Xs({id:e,title:t,transport:n,strings:o,onBack:i,onClose:a}){let[s,l]=k(null),[c,_]=k(!1),[p,d]=k(0),u=M(()=>{_(!1),l(null),d(v=>v+1)},[]);w(()=>{let v=!1;return n.listContent({ids:[e],limit:1}).then(m=>{if(v)return;let b=m.items[0];b?l(b):_(!0)}).catch(m=>{v||(k_.warn("listContent (reader) failed",{err:m}),_(!0))}),()=>{v=!0}},[n,e,p]);function f(){return c?r(ye,{tone:"error",message:o.errorGeneric,onRetry:u,strings:o}):s===null?r(ye,{message:o.contentLoading,strings:o}):r("article",{class:`${Ze}-content`,"data-testid":P.contentView,children:[s.image?r("img",{class:`${Ze}-content-hero`,src:s.image,alt:"",loading:"lazy"}):null,s.description?r("p",{class:`${Ze}-content-subtitle`,children:s.description}):null,s.tags&&s.tags.length>0?r("span",{class:`${Ze}-news-tags`,children:s.tags.map(v=>r("span",{class:`${Ze}-news-tag`,children:v},v))}):null,r(us,{text:s.content??""})]})}return r("div",{class:`${Ze}-module`,children:[r(Wn,{title:s?.title||t||o.moduleBack,backLabel:o.moduleBack,onBack:i,onClose:a,closeLabel:o.close,testid:P.backHeader}),r("div",{class:`${Ze}-module-scroll`,"data-testid":P.contentScroll,children:f()})]})}var _r=h.cssPrefix;function js({panelProps:e,enabledModules:t,nav:n,unreadCount:o,onSelectSession:i,onStartNewSession:a,onSetPanelSize:s}){let l=e.options,c=l.strings,_=N(null);w(()=>{let V=_.current;if(!V)return;let ue=On(V),pe=X=>{X.key==="Escape"&&e.onClose?.()};return V.addEventListener("keydown",pe),()=>{ue(),V.removeEventListener("keydown",pe)}},[e.onClose]);let p=N(null),d=M(V=>{p.current?.attachFromDrop(V)},[]),{visible:u}=Bn({containerRef:_,onDrop:d});Ln(_.current,l.mode==="modal");let f=ke(()=>n.sig.value).value,v=Ms(f),m=l.modules.byId[f.activeTab],b=v?.kind==="iframe"||v?.kind==="content",y=t.length>1&&(Ls(f)||!b),S=N(null);w(()=>{if(b&&S.current===null)S.current=e.panelSize,e.panelSize==="normal"&&s("expanded");else if(!b&&S.current!==null){let V=S.current;S.current=null,s(V)}},[b]);let T={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:V=>{let ue=t.find(pe=>pe.layout===V);ue&&n.switchTab(ue.id)},selectSession:i,startNewSession:a},D=V=>({options:l,transport:e.transport,strings:c,config:V,visitorId:e.visitorId,nav:T,panelProps:e}),O;if(v?.kind==="iframe")O=r(qs,{url:v.url,title:v.title,strings:c,onBack:n.pop,onClose:e.onClose});else if(v?.kind==="content")O=r(Xs,{id:v.id,title:v.title,transport:e.transport,strings:c,onBack:n.pop,onClose:e.onClose});else if(m?.layout==="chat")O=r(lr,{...e,containerEl:_.current,dragOver:u,composerAttachApiRef:p});else if(m){let V=Gn[m.layout].Root;O=V?r(V,{...D(m)},m.id):null}else O=null;return r("div",{ref:_,class:`${_r}-panel ${_r}-messenger`,role:"dialog","aria-modal":"false","aria-label":c.panelTitle,style:{position:"relative"},"data-testid":P.messengerHome,children:[r("div",{class:`${_r}-messenger-body`,children:O}),y?r(Gs,{modules:t,activeTab:f.activeTab,strings:c,unreadCount:o,onSelect:n.switchTab}):null,r(cr,{poweredBy:l.poweredBy}),l.size.resize?.enabled&&!(m?.layout==="chat"&&!v)?r(Mn,{panelEl:_.current,resize:l.size.resize,position:l.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:c}):null]})}var Ut=h.cssPrefix;function Ys({strings:e,onClose:t}){return r("div",{class:`${Ut}-panel ${Ut}-modules-empty`,role:"dialog","aria-label":e.panelTitle,"data-testid":P.modulesEmpty,children:[t?r("button",{type:"button",class:`${Ut}-icon-btn ${Ut}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:r(me,{})}):null,r("p",{class:`${Ut}-modules-empty-text`,children:e.modulesEmpty})]})}async function Js(e,t,n,o){for(let i=0;i<e.length;i++){if(o.aborted)return;let a=e[i],s=t[i];!a||!s||await C_(a,s.text,n,o)}}function C_(e,t,n,o){return new Promise(i=>{let a=e.partsSig.value[0];if(!a||a.kind!=="text"){i();return}let s=()=>{a.textSig.value=t,a.doneSig.value=!0,e.status="complete",i()};if(typeof requestAnimationFrame>"u"){s();return}let l=t.length/Math.max(1,n)*1e3,c=performance.now(),_=d=>{if(o.aborted)return s();let u=l===0?1:Math.min(1,(d-c)/l);if(a.textSig.value=t.slice(0,Math.floor(u*t.length)),u>=1)return s();p=requestAnimationFrame(_)},p=requestAnimationFrame(_);o.addEventListener("abort",()=>{cancelAnimationFrame(p),s()},{once:!0})})}function Qs({callout:e,persistence:t}){let n=e?.text??"",o=e?.persistent??!0,[i,a]=k(()=>o?!1:t.loadCalloutDismissed(n));w(()=>{a(o?!1:t.loadCalloutDismissed(n))},[n,o,t]);let s=M(()=>{a(!0),o||t.saveCalloutDismissed(n)},[t,n,o]);return{dismissed:i,dismissCallout:s}}var W=R.scope("app"),ur=h.cssPrefix;function Vn({options:e,hostElement:t,bus:n}){let[o]=k(()=>qe(e.widgetId,e.storage)),[i,a]=k(()=>o.getVisitorId()),s=o.loadUserPrefs(),[l,c]=k(()=>s.locale??e.locale),[_,p]=k(()=>s.themeMode??e.themeMode),d=Rt(o.loadSessionId()),u=Rt([]),f=Rt(0),[v,m]=k(!1);function b(){let g=e.modules.list,x=new Set(g.map(ie=>ie.id)),z=o.loadActiveModule();return z&&x.has(z)?z:g[0]?.id??""}function y(){return e.modules.list.find(g=>g.layout==="chat")?.id}let S=N();if(!S.current){let g=e.modules.list.map(x=>x.id);S.current=Is(b(),g,x=>o.saveActiveModule(x))}let T=S.current,D=N(void 0);D.current=y();let[O,V]=k(!1),ue=e.mode==="standalone"||e.mode==="inline",pe=N(Lt(e,ut(),o.loadPanelOpen(),o.loadPanelSize())),[X,Q]=k(pe.current.panelOpen),et=N(!1),[ze,C]=k(!1),{dismissed:$,dismissCallout:j}=Qs({callout:e.launcher.callout,persistence:o}),de=e.launcher.callout?.persistent??!0,Y=M(()=>{W.info("calloutDismiss"),n.emit("calloutDismiss",void 0),j()},[n,j]),[le,fe]=k(pe.current.panelSize),zt=N(!1),[ll,Yn]=k("chat"),[cl,bt]=k(!0),[Fe,Ft]=k(!1),[dl,kr]=k(null),[Jn,Wt]=k([]),[Kt,Gt]=k(null),Qn=N(null),[_l,ul]=k(void 0),[pl,fl]=k(void 0),[gl,ml]=k(()=>o.loadSidebarCollapsed()??!1),[re]=k(()=>new Sn({baseUrl:e.baseUrl,auth:ta({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:"x-public-key"}),endpoints:e.endpoints})),[Oe]=k(()=>new wn(u)),[J]=k(()=>new Tn(e.sound,e.haptics)),De=M(g=>{o.patchUserPrefs(g),re.saveUserPrefs(o.loadUserPrefs()).catch(x=>{W.warn("saveUserPrefs failed",{err:x})})},[o,re]);w(()=>{s.soundMuted!==void 0&&J.setMuted(s.soundMuted)},[]),w(()=>{t.dataset.theme=_},[t,_,e]),w(()=>{J.update(e.sound,e.haptics)},[J,e.sound,e.haptics]),w(()=>()=>J.destroy(),[J]),w(()=>{let g=!0;return J.mutedSig.subscribe(x=>{if(g){g=!1;return}De({soundMuted:x})})},[J,De]),w(()=>{zt.current||!e.size.initialSize||(zt.current=!0,!o.loadPanelSize()&&fe(Uo(e.mode,e.size,ut())))},[e.mode,e.size,o]),w(()=>{if(!O||et.current)return;et.current=!0;let g=Lt(e,ut(),o.loadPanelOpen(),o.loadPanelSize());Q(g.panelOpen),fe(g.panelSize)},[O,e,o]);let Cr=N(!1),Er=N(!1),Vt=N(null);w(()=>{if(!(!O||Cr.current)){if(Cr.current=!0,Er.current){let g=D.current;g&&T.switchTab(g);return}T.reset(b())}},[O]);let Ar=M(g=>{if(!g||g.length===0)return;let{animation:x,speed:z}=e.welcome;if(x==="instant"){u.value=g.map(pa);return}Qn.current?.abort();let ie=new AbortController;Qn.current=ie;let oe=g.map(ua);u.value=oe,Js(oe,g,z,ie.signal)},[u,e.welcome]),Zn=N(0),yt=M(async({newConversation:g})=>{let x=++Zn.current,z=()=>x!==Zn.current,ie=d.value,oe=g||!ie?Ce():ie;oe!==ie&&(d.value=oe,o.saveSessionId(oe));let A;try{A=await re.startSession({visitorId:i,sessionId:oe,userPrefs:o.loadUserPrefs(),locale:e.locale})}catch(Pe){if(z())return;n.emit("error",Pe),e.onError?.(Pe),g||V(!0);return}if(z())return;if(A.visitorId&&A.visitorId!==i&&(W.info("visitor rebound",{previous:i,current:A.visitorId,reason:A.rebind?.visitorId}),o.setVisitorId(A.visitorId),a(A.visitorId),n.emit("visitorRebound",{previous:i,current:A.visitorId,reason:A.rebind?.visitorId})),A.sessionId&&A.sessionId!==oe&&(W.info("session rebound",{previous:oe,current:A.sessionId,reason:A.rebind?.sessionId}),n.emit("sessionRebound",{previous:oe,current:A.sessionId,reason:A.rebind?.sessionId})),A.agent&&kr(A.agent),A.welcome?.suggestions&&Wt(A.welcome.suggestions),e.mode==="page"&&(A.site&&Ki(A.site)?ul(A.site):A.site&&W.warn("invalid site config, using fallback",{site:A.site}),A.blocks&&Gi(A.blocks)?fl(A.blocks):A.blocks&&W.warn("invalid blocks config, using fallback",{blocks:A.blocks})),A.userPrefs&&!g&&(o.saveUserPrefs(A.userPrefs),A.userPrefs.locale&&c(A.userPrefs.locale),A.userPrefs.soundMuted!==void 0&&J.setMuted(A.userPrefs.soundMuted),A.userPrefs.themeMode&&p(A.userPrefs.themeMode)),!g&&ie&&A.sessionId===ie){m(!0);try{let Pe=A.messages?.length?{sessionId:ie,canContinue:A.canContinue??!0,messages:A.messages}:await re.loadSession(ie);if(z())return;let ge=(Pe.messages??[]).map(Ko),Hr=Vt.current?[Vt.current]:[];(ge.length||Hr.length)&&(u.value=[...ge,...Hr]),bt(Pe.canContinue??!0),Wt(Pe.suggestions??[])}catch(Pe){if(z())return;W.warn("loadSession failed; resetting sessionId",{err:Pe,sessionId:ie}),d.value=void 0,o.saveSessionId(void 0)}finally{z()||m(!1)}}else d.value=A.sessionId,o.saveSessionId(A.sessionId),Ar(A.welcome?.messages);g||(n.emit("sessionStarted",A),V(!0))},[re,i,o,e,n,u,d,J,Ar]),xt=JSON.stringify(e.userContext??null),hl=JSON.stringify(e.pageContext??null);w(()=>{re.setContext(e.userContext,E_(e.pageContext))},[re,xt,hl]);let vl=M(async g=>{let x=null;try{for await(let z of g.iter){if(!x){x=Wo(),Vt.current=x,Oe.attach(x),u.value=[...u.value,x],Ft(!0),Gt(()=>g.cancel),Er.current=!0;let ie=D.current;ie&&T.switchTab(ie),W.info("resumed in-flight reply on mount")}Oe.apply(z.chunk),z.chunk.type==="finish"&&z.chunk.canContinue===!1&&bt(!1)}x&&(x.status="complete",J.play("messageReceived"),pr(n,e,"assistant",Go(x)))}catch(z){x&&(x.status="error",x.errorText=Xe(z,e.strings),J.play("error")),W.debug("mount resume ended without completing",{err:z})}finally{Vt.current=null,x&&(Oe.detach(),Ft(!1),Gt(null),u.value=[...u.value])}},[Oe,u,J,n,e,T]);w(()=>{yt({newConversation:!1});let g=d.value,x=null;return g&&(re.primeIdentity(i,g),x=re.resumeStream(),vl(x)),()=>{Zn.current++,x?.cancel()}},[]);let Tr=N(xt);w(()=>{!O||Tr.current===xt||(Tr.current=xt,yt({newConversation:!1}))},[xt,O,yt]),w(()=>{_t(t,Pn(e.mode,le,X))},[t,X,le,e.mode]),w(()=>{if(e.mode!=="modal"||!X)return;let g=x=>{x.composedPath().some(oe=>oe instanceof HTMLElement&&oe.classList.contains(`${h.cssPrefix}-panel`))||Q(!1)};return t.addEventListener("click",g),()=>t.removeEventListener("click",g)},[t,X,e.mode]),w(()=>{if(e.mode!=="drawer"||!X)return;let g=x=>{x.key==="Escape"&&Q(!1)};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[X,e.mode]);let Ir=M(async(g,x)=>{if(W.info("send",{textLen:g.length,attachments:x.length,streaming:Fe}),Fe)return;n.emit("send",{text:g,attachmentCount:x.length}),Jn.length>0&&Wt([]);let z=await T_(re,x,ge=>{W.warn("upload failed",{err:ge}),n.emit("error",ge),e.onError?.(ge)});J.unlock(),J.play("messageSent");let ie=_a(g,z),oe=Wo();u.value=[...u.value,ie,oe],Oe.attach(oe),pr(n,e,"user",g);let A=d.value??Ce();d.value||(d.value=A,o.saveSessionId(A));let Dr=sa({messages:u.value.slice(0,-1).map(fa),sessionId:A,tools:e.features.tools,responseMode:e.responseMode,visitorId:i,userPrefs:o.loadUserPrefs()});Ft(!0);let Pe=re.sendMessage(Dr);Gt(()=>Pe.cancel);try{for await(let ge of Pe.iter)Oe.apply(ge.chunk),ge.chunk.type==="finish"&&ge.chunk.canContinue===!1&&bt(!1);oe.status="complete",J.play("messageReceived"),pr(n,e,"assistant",Go(oe))}catch(ge){oe.status="error",oe.errorText=Xe(ge,e.strings),J.play("error"),n.emit("error",ge),e.onError?.(ge)}finally{Oe.detach(),Ft(!1),Gt(null),u.value=[...u.value]}},[Fe,re,Oe,u,d,e,n,Jn.length,J,o,i]),bl=M(()=>{W.info("stop"),n.emit("stop",void 0),Kt?.()},[Kt,n]),yl=M(()=>{J.toggleMuted();let g=J.mutedSig.value;W.info("soundToggle",{muted:g}),n.emit("soundToggle",{muted:g})},[J,n]),Pt=M(()=>{if(Za(e.mode,le)==="exit-fullscreen"){W.info("close \u2192 exit-fullscreen",{mode:e.mode}),fe("normal"),n.emit("fullscreen",!1);return}W.info("close \u2192 panel closed",{mode:e.mode}),Q(!1),o.savePanelOpen(!1),n.emit("close",void 0),e.onClose?.()},[n,e,o,le]),tt=M(()=>{e.modules.list.some(g=>g.layout==="chat")&&re.listSessions({limit:50}).then(g=>{f.value=g.sessions.reduce((x,z)=>x+(z.unreadCount??0),0)}).catch(g=>W.debug("refreshUnread failed (non-fatal)",{err:g}))},[re,e.modules,f]),Rr=N(!1);w(()=>{!O||Rr.current||(Rr.current=!0,tt())},[O,tt]);let eo=M(()=>{W.info("open",{mode:e.mode}),J.unlock(),C(!0),Q(!0),o.savePanelOpen(!0),!$&&!de&&Y(),setTimeout(()=>C(!1),A_),tt(),n.emit("open",void 0),e.onOpen?.()},[n,e,J,o,$,de,Y,tt]),to=M(()=>{W.info("clear \u2192 new conversation",{wasStreaming:Fe}),n.emit("clear",void 0),Fe&&Kt?.(),Qn.current?.abort(),u.value=[],d.value=void 0,o.clearSession(),bt(!0),yt({newConversation:!0})},[Fe,Kt,u,d,o,yt,n]),no=M(()=>{to(),Yn("chat");let g=e.modules.list.find(x=>x.layout==="chat")?.id;g&&T.switchTab(g)},[to,T,e]),oo=M(()=>{let g=le==="expanded"?"normal":"expanded";W.info("expand",{from:le,expanded:g==="expanded"}),fe(g),o.savePanelSize(g),n.emit("expand",g==="expanded")},[n,le,o]),ro=M(()=>{let g=le==="fullscreen"?"normal":"fullscreen";W.info("fullscreen",{from:le,fullscreen:g==="fullscreen"}),fe(g),o.savePanelSize(g),n.emit("fullscreen",g==="fullscreen")},[n,le,o]),io=M(()=>{if(!e.popOutUrl)return;let g=new URL(e.popOutUrl);d.value&&g.searchParams.set("chat",d.value),e.widgetId!=="default"&&g.searchParams.set("widgetId",e.widgetId),W.info("popOut",{url:g.toString()}),window.open(g.toString(),"_blank","noopener,noreferrer"),n.emit("popOut",void 0)},[n,d,e.popOutUrl,e.widgetId]),xl=M(()=>{Yn(g=>{let x=g==="history"?"chat":"history";return W.info("toggleHistory",{view:x}),n.emit("toggleHistory",{view:x}),x})},[n]),Pl=M(g=>{W.info("localeChange",{locale:g}),c(g),De({locale:g}),n.emit("localeChange",g)},[De,n]),Sl=M(g=>{W.info("themeChange",{mode:g}),p(g),t.dataset.theme=g,De({themeMode:g}),n.emit("themeChange",g)},[t,De,n]),wl=M(()=>{ml(g=>{let x=!g;return W.info("sidebarToggle",{collapsed:x}),o.saveSidebarCollapsed(x),n.emit("sidebarToggle",{collapsed:x}),x})},[o,n]),kl=M(g=>{W.info("resize",g),De({widgetSize:g}),n.emit("resize",g)},[De,n]),ao=M(async g=>{W.info("selectChat",{sessionId:g}),n.emit("selectChat",{sessionId:g});try{let x=await re.loadSession(g),z=x.messages.map(Ko);u.value=z,d.value=x.sessionId,o.saveSessionId(x.sessionId),x.agent&&kr(x.agent),bt(x.canContinue),Wt(x.suggestions??[]),Yn("chat"),await re.markRead(g),tt()}catch(x){n.emit("error",x),e.onError?.(x)}},[re,u,d,n,e,o,tt]);w(()=>qi(t,{open:eo,close:Pt,expand:oo,fullscreen:ro,popout:io}),[t,eo,Pt,oo,ro,io]);let xe=he(()=>xo(e,l,_),[e,l,_]),Mr={options:xe,transport:re,feedback:J,bus:n,view:ll,canSend:cl,isStreaming:Fe,loadingMessages:v,messagesSig:u,agent:dl,suggestions:Jn,initialWidgetSize:s.widgetSize??null,visitorId:i,onClose:Pt,onClear:to,onExpand:oo,onFullscreen:ro,onPopOut:io,onSoundToggle:yl,onToggleHistory:xl,onSelectHistoryChat:ao,onNewChat:no,onLocaleChange:Pl,onThemeChange:Sl,onWidgetSizeChange:kl,onSend:Ir,onStop:bl,onSuggestion:g=>{let x=g.text??g.label;W.info("suggestion",{text:x}),n.emit("suggestion",{text:x}),Ir(x,[])}},Cl=g=>{ao(g);let x=y();x&&T.switchTab(x)};if(!O)return null;let St=xe.modules.list,so=g=>{let x=Nn("close",xe.mode,g);return St.length===0?r(Ys,{strings:xe.strings,onClose:x?Pt:void 0}):St.length===1&&St[0]?.layout==="chat"?r(ks,{...Mr,panelSize:g}):r(js,{panelProps:{...Mr,panelSize:g,onClose:x?Pt:void 0},enabledModules:St,nav:T,unreadCount:f.value,onSelectSession:Cl,onStartNewSession:no,onSetPanelSize:fe})};if(e.mode==="page"){let g=z=>{ao(z.sessionId)},x=St.some(z=>z.layout==="chat");return r("div",{class:`${ur}-anchor`,children:r(As,{site:_l,blocks:pl,transport:re,strings:xe.strings,visitorId:i,showConversations:x,onSelectChat:g,onNewChat:no,sidebarCollapsed:gl,onToggleSidebarCollapsed:wl,children:so("fullscreen")})})}if(ue){let g=e.mode==="standalone"?"fullscreen":le;return r("div",{class:`${ur}-anchor`,children:so(g)})}let Lr=e.mode==="drawer",Nr=!(e.mode==="modal")&&!e.launcher.hidden&&(!X||ze),Or=Nr&&!ze&&!$&&!Lr?xe.launcher.callout:null;return r("div",{class:`${ur}-anchor`,"data-launcher-size":xe.launcher.size,children:[X?so(le):null,Nr?r(ja,{onToggle:eo,launcher:xe.launcher,strings:xe.strings,leaving:ze,edgeTab:Lr}):null,Or?r(Ya,{callout:Or,launcherPosition:xe.position,closeLabel:xe.strings.close,onDismiss:Y}):null]})}function E_(e){let t=e?.url??(typeof location<"u"?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}var A_=120;async function T_(e,t,n){let o=[];for(let i of t)try{let{id:a,url:s}=await e.uploadFile(i.file);o.push({id:a,name:i.name,mediaType:i.mediaType,size:i.size,url:s})}catch(a){n(a)}return o}function pr(e,t,n,o){let i={role:n,text:o};e.emit("message",i),t.onMessage?.(i)}var I_=R.scope("error-boundary"),qn=class extends $e{constructor(){super(...arguments);H(this,"state",{crashed:!1})}componentDidCatch(n,o){I_.error("widget render crashed",{error:n,componentStack:o?.componentStack}),this.setState({crashed:!0}),this.props.onError(n,o?.componentStack)}render(){return this.state.crashed?this.props.fallback:this.props.children}};var R_=R.scope("iframe"),M_='<!doctype html><html><head><meta charset="utf-8"><style>html,body{margin:0;padding:0;background:transparent;overflow:hidden}</style></head><body></body></html>';function tl(e,t,n="closed",o="floating",i=null){R_.debug("createIframeMount",{position:t,initialMode:n,layoutMode:o,hasTarget:!!i});let a=document.createElement("iframe");a.title=`${h.name} chat`,a.setAttribute("allow","microphone; clipboard-write"),el(a,t,n,o),(o==="inline"&&i?i:document.body).appendChild(a);let l=a.contentDocument;if(!l)throw new Error("iframe contentDocument unavailable (cross-origin?)");l.open(),l.write(M_),l.close();let c=dt({...e,target:l.body}),_=new MutationObserver(()=>{el(a,t,c.hostElement.dataset.mode??"closed",o)});return _.observe(c.hostElement,{attributes:!0,attributeFilter:["data-mode"]}),{...c,iframeElement:a,destroy(){_.disconnect(),c.destroy(),a.remove()}}}var fr="border:0;background:transparent;z-index:2147483647;pointer-events:auto;",Zs={closed:{w:"88px",h:"88px"},expanded:{w:"min(calc(100vw - 32px), 680px)",h:"min(calc(100vh - 32px), 860px)"},open:{w:"min(calc(100vw - 32px), 440px)",h:"min(calc(100vh - 32px), 700px)"}};function el(e,t,n,o){if(n==="fullscreen"||o==="standalone"){e.style.cssText=`${fr}position:fixed;inset:0;width:100vw;height:100vh;`;return}if(o==="inline"){e.style.cssText=`${fr}position:static;display:block;width:100%;height:100%;`;return}let i=t.startsWith("top-")?"top":"bottom",a=t.endsWith("-left")?"left":"right",{w:s,h:l}=Zs[n]??Zs.open;e.style.cssText=`${fr}position:fixed;${i}:16px;${a}:16px;width:${s};height:${l};`}var vt=class{constructor(){H(this,"handlers",new Map)}on(t,n){let o=this.handlers.get(t);return o||(o=new Set,this.handlers.set(t,o)),o.add(n),()=>this.handlers.get(t)?.delete(n)}emit(t,n){let o=this.handlers.get(t);if(o)for(let i of o)try{i(n)}catch{}}clear(){this.handlers.clear()}};var L_=R.scope("hooks"),mr="*",gr=new Set;function hr(e,t,n){let o={widgetId:e,event:t,listener:n};return gr.add(o),()=>{gr.delete(o)}}function N_(e,t,n){let o=[...gr];for(let i of o)if(O_(i.widgetId,e.widgetId)&&!(i.event!==mr&&i.event!==t))try{i.listener(e,t,n)}catch(a){L_.warn("hook listener threw",{event:t,error:a})}}function nl(e,t){let n=[];for(let o of D_)n.push(t.on(o,i=>{N_(e,o,i)}));return()=>{for(let o of n)o()}}function vr(e){if(Array.isArray(e))for(let t of e){let n=H_(t);n&&hr(n.widgetId,n.event,n.listener)}}function O_(e,t){return e===mr||e===t}var D_=["open","close","expand","fullscreen","popOut","resize","message","send","stop","clear","selectChat","suggestion","toggleHistory","attach","removeAttachment","voiceStart","voiceStop","voiceCancel","localeChange","themeChange","soundToggle","sidebarToggle","calloutDismiss","error","sessionStarted","visitorRebound","sessionRebound"];function H_(e){let t,n,o;if(Array.isArray(e))[t,n,o]=e;else if(e&&typeof e=="object")({widgetId:t,event:n,listener:o}=e);else return null;return typeof t!="string"||typeof n!="string"||typeof o!="function"?null:{widgetId:t,event:n,listener:o}}var Ne=new Map;function Xn(e){e.debug!==void 0&&Qt(e.debug);let t=R.scope("mount");t.info("mount",{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let n=e,o=He(n),i=o.widgetId,a=Ne.get(i);a&&(t.debug("destroy existing instance at slot",{widgetId:i}),a.destroy());let s=xr(o),l=o.iframe?tl({position:Ve(o.mode)},o.position,s,o.mode,e.target??null):dt({position:Ve(o.mode),target:e.target??null}),c=qe(o.widgetId,o.storage),_=()=>{let y=c.loadUserPrefs().themeMode;xn(l.hostElement,y?{...o,themeMode:y}:o)};_(),_t(l.hostElement,s),l.hostElement.dataset.widgetId=i;let p=new vt,d=y=>{p.emit("error",y),o.onError?.(y)},u=()=>{at(it(qn,{onError:d},it(Vn,{bus:p,hostElement:l.hostElement,options:o})),l.appRoot)};u(),p.on("sessionStarted",y=>{y.config&&(n=Ct(n,y.config),o=He(n),yn(l.hostElement,Ve(o.mode)),_(),u())});let f=l.hostElement,v=null,m=y=>{y.debug!==void 0&&Qt(y.debug),n={...n,...y},o=He(n),_(),u()},b={widgetId:i,open:()=>Mt(f,"open"),close:()=>Mt(f,"close"),expand:()=>Mt(f,"expand"),popOut:()=>Mt(f,"popout"),on:(y,S)=>p.on(y,S),update:y=>{t.debug("update",{patch:y}),m(y)},setUserContext:y=>{t.debug("setUserContext",{keys:Object.keys(y)}),m({userContext:{...n.userContext,...y}})},clearUserContext:()=>{t.debug("clearUserContext"),m({userContext:void 0})},setPageContext:y=>{t.debug("setPageContext",{keys:Object.keys(y)}),m({pageContext:{...n.pageContext,...y}})},clearPageContext:()=>{t.debug("clearPageContext"),m({pageContext:void 0})},setDebug:y=>{Qt(y),t.info("debug level set",{level:wt()})},debugLevel:()=>wt(),onLog:y=>kt(y),destroy:()=>{t.info("destroy",{widgetId:i}),v?.(),p.clear(),at(null,l.appRoot),l.destroy(),Ne.get(i)===b&&Ne.delete(i)}};return v=nl(b,p),Ne.set(i,b),b}function jn(e){let t=e.widgetId??"default",n=Ne.get(t);return n?(n.update(e),n):Xn(e)}function br(e){if(e!==void 0){Ne.get(e)?.destroy();return}let t=[...Ne.values()];for(let n of t)n.destroy()}function we(e="default"){return Ne.get(e)??null}function ol(){return[...Ne.values()]}function yr(e,t,n){return hr(e,t,n)}var rl="0.1.0";function xr(e){if(e.mode==="standalone")return"standalone";if(e.mode==="inline")return"inline";let t=qe(e.widgetId,e.storage),{panelOpen:n,panelSize:o}=Lt(e,ut(),t.loadPanelOpen(),t.loadPanelSize());return Pn(e.mode,o,n)}var Pr=class extends HTMLElement{constructor(){super(...arguments);H(this,"bus",new vt);H(this,"mountResult",null);H(this,"rawOptions",{})}static get observedAttributes(){return Po}connectedCallback(){this.boot()}disconnectedCallback(){this.mountResult&&(at(null,this.mountResult.appRoot),this.bus.clear())}attributeChangedCallback(){this.isConnected&&this.boot()}boot(){if(this.rawOptions=en(n=>this.getAttribute(n)),!this.mountResult){let n=He(this.rawOptions);this.mountResult=dt({existingHost:this,position:Ve(n.mode)}),this.bus.on("sessionStarted",o=>{o.config&&(this.rawOptions=Ct(this.rawOptions,o.config),this.renderApp())})}this.renderApp()}renderApp(){if(!this.mountResult)return;let n=He(this.rawOptions),o=this.mountResult.hostElement;yn(o,Ve(n.mode));let i=qe(n.widgetId,n.storage).loadUserPrefs().themeMode;xn(o,i?{...n,themeMode:i}:n),_t(o,xr(n)),at(it(Vn,{bus:this.bus,hostElement:o,options:n}),this.mountResult.appRoot)}},il=!1;function Sr(){if(il||typeof customElements>"u")return;let e=h.tagName;customElements.get(e)||customElements.define(e,Pr),il=!0}typeof customElements<"u"&&Sr();var al=R.scope("iife"),wr={close:()=>we()?.close(),destroy:()=>br(),expand:()=>we()?.expand(),hook:(e,t,n)=>typeof e=="string"&&typeof t=="string"&&typeof n=="function"?yr(e,t,n):void 0,init:e=>jn(e),mount:e=>Xn(e),on:(e,t)=>we()?.on(e,t),onLog:e=>kt(e),open:()=>we()?.open(),popOut:()=>we()?.popOut(),setDebug:e=>we()?.setDebug(e),update:e=>we()?.update(e)};function sl(e,...t){let n=wr[e];if(!n){al.warn("unknown command",{command:e});return}return n(...t)}function B_(){let e=((n,...o)=>sl(n,...o));e.init=jn,e.mount=Xn,e.destroy=br,e.getInstance=we,e.getAllInstances=ol,e.version=rl,e.hook=yr,e.debugLevel=()=>wt(),e.onLog=kt;let t=new Set(["init","mount","hook","onLog"]);for(let n of Object.keys(wr))t.has(n)||(e[n]=(...o)=>wr[n](...o));return e}function $_(e){let t=e?.q;if(t)for(let n of t){let o=[...n],[i,...a]=o;if(typeof i=="string")try{sl(i,...a)}catch(s){al.warn("queued command failed",{command:i,error:s})}}}function U_(){let e=[],t=e.push.bind(e);return e.push=(...n)=>{for(let o of n)vr([o]);return t(...n)},e}function z_(){let e=document.scripts;for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.src.includes("elements"))return n}return null}function F_(){if(typeof window>"u"||typeof document>"u")return;let e=globalThis[h.global],t=B_();globalThis[h.global]=t,Sr();let n=`${h.global}Hooks`,o=globalThis[n];if(vr(o),globalThis[n]=U_(),$_(e),we())return;let i=document.currentScript??z_(),a=So(i?.dataset);if(!a.publicKey)return;let s=()=>{we()||jn(a)};if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",s,{once:!0});return}s()}F_();return Ml(W_);})();
39
+ `){U(e),F(e,16),e.pending=n;continue}}break;case"$":if(e.token!==19&&e.token!==16&&e.pending==="$")if(n==="$"){e.token=105,e.pending=o;continue}else{if(Wd(n.charCodeAt(0)))break;U(e),F(e,31),e.pending=n;continue}break;case"[":if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n!=="]"){U(e),F(e,17),e.pending=n;continue}break;case"!":if(e.token!==19&&n==="["){U(e),F(e,19),e.pending="";continue}break;case" ":if(e.pending.length===1&&n===" ")continue;break}if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n==="h"&&(e.pending===" "||e.pending==="")){e.text+=e.pending,e.pending=n,e.token=102;continue}e.text+=e.pending,e.pending=n}U(e)}function rr(e){return{add_token:Kd,end_token:Gd,add_text:Vd,set_attr:qd,data:{nodes:[e,,,,,],index:0}}}function Kd(e,t){let n=e.nodes[e.index],o;switch(t){case 1:return;case 20:o=document.createElement("blockquote");break;case 2:o=document.createElement("p");break;case 21:o=document.createElement("br");break;case 22:o=document.createElement("hr");break;case 3:o=document.createElement("h1");break;case 4:o=document.createElement("h2");break;case 5:o=document.createElement("h3");break;case 6:o=document.createElement("h4");break;case 7:o=document.createElement("h5");break;case 8:o=document.createElement("h6");break;case 12:case 13:o=document.createElement("em");break;case 14:case 15:o=document.createElement("strong");break;case 16:o=document.createElement("s");break;case 11:o=document.createElement("code");break;case 18:case 17:o=document.createElement("a");break;case 19:o=document.createElement("img");break;case 23:o=document.createElement("ul");break;case 24:o=document.createElement("ol");break;case 25:o=document.createElement("li");break;case 26:let i=o=document.createElement("input");i.type="checkbox",i.disabled=!0;break;case 9:case 10:n=n.appendChild(document.createElement("pre")),o=document.createElement("code");break;case 27:o=document.createElement("table");break;case 28:switch(n.children.length){case 0:n=n.appendChild(document.createElement("thead"));break;case 1:n=n.appendChild(document.createElement("tbody"));break;default:n=n.children[1]}o=document.createElement("tr");break;case 29:o=document.createElement(n.parentElement?.tagName==="THEAD"?"th":"td");break;case 30:o=document.createElement("equation-block");break;case 31:o=document.createElement("equation-inline");break}e.nodes[++e.index]=n.appendChild(o)}function Gd(e){e.index-=1}function Vd(e,t){e.nodes[e.index].appendChild(document.createTextNode(t))}function qd(e,t,n){e.nodes[e.index].setAttribute(Bd(t),n)}function Un({textSig:e,doneSig:t}){let n=N(null);return w(()=>{let o=n.current;if(!o)return;o.classList.add(`${h.cssPrefix}-md`);let i=rr(o),a=or(i),s=0,l=Me(()=>{let p=e.value,d=t.value;p.length<s&&(o.replaceChildren(),i=rr(o),a=or(i),s=0);let u=p.slice(s);u&&se(a,u),s=p.length,d&&ds(a)}),c=new MutationObserver(p=>{for(let d of p)for(let u of d.addedNodes){if(!(u instanceof HTMLElement))continue;let f=u.matches?.("a")?[u]:[...u.querySelectorAll?.("a")??[]];for(let v of f)_s(v)}});c.observe(o,{childList:!0,subtree:!0});for(let p of o.querySelectorAll("a"))_s(p);let _=p=>{let d=p.target?.closest?.("a");if(!d||!(d instanceof HTMLAnchorElement))return;let u=d.getAttribute("href")??"";!u||u.startsWith("#")||(p.preventDefault(),window.open(u,"_blank","noopener,noreferrer"))};return o.addEventListener("click",_),()=>{l(),c.disconnect(),o.removeEventListener("click",_)}},[e,t]),r("div",{ref:n})}function us({text:e}){let t=he(()=>L(e),[e]),n=he(()=>L(!0),[]);return r(Un,{textSig:t,doneSig:n})}function _s(e){let t=e.getAttribute("href")??"";if(!t||t.startsWith("#"))return;e.target!=="_blank"&&(e.target="_blank");let n=new Set((e.rel||"").split(/\s+/).filter(Boolean));n.add("noopener"),n.add("noreferrer"),e.rel=[...n].join(" ")}function ps({part:e,strings:t}){let n=h.cssPrefix;return r("span",{class:`${n}-tool-chip`,role:"status",children:[r("span",{children:[t.usedTool,":"]}),r("strong",{children:e.toolName})]})}var Se=h.cssPrefix;function fs({message:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i}){let s=ke(()=>e.partsSig.value).value,l=ke(()=>e.partsSig.value.some(f=>f.kind==="text"&&f.textSig.value.length>0)),c=ke(()=>o&&e.partsSig.value.some(f=>f.kind==="reasoning")),_=e.role==="assistant"&&e.status==="streaming",p=n==="buffered"&&_,d=_&&!l.value,u=_&&!p&&!(c.value&&d);return r("div",{class:`${Se}-bubble-row`,"data-role":e.role,"data-testid":ce(P.messageBubble,e.id),children:r("div",{class:`${Se}-bubble`,children:[p?r(Zd,{label:t.loading}):s.map(f=>r(jd,{part:f,active:d,strings:t,showReasoning:o,showToolCalls:i},Jd(f))),u&&r(Qd,{}),e.status==="error"&&e.errorText?r("div",{class:`${Se}-error`,role:"alert",children:r("span",{children:e.errorText})}):null]})})}function jd({part:e,active:t,strings:n,showReasoning:o,showToolCalls:i}){switch(e.kind){case"text":return r(Un,{textSig:e.textSig,doneSig:e.doneSig});case"reasoning":return o?r(Yd,{part:e,active:t,strings:n}):null;case"tool":return i?r(ps,{part:e,strings:n}):null;case"file":return e.mediaType.startsWith("image/")?r("img",{src:e.url,alt:"",loading:"lazy"}):r("a",{href:e.url,target:"_blank",rel:"noreferrer noopener",children:e.url});case"source":return null}}function Yd({part:e,active:t,strings:n}){return r("details",{class:`${Se}-reasoning`,open:t,"data-active":t?"true":void 0,children:[r("summary",{class:`${Se}-reasoning-summary`,children:r("span",{class:`${Se}-reasoning-label`,children:t?n.thinking:n.thoughts})}),r("div",{class:`${Se}-reasoning-body`,children:r(Un,{textSig:e.textSig,doneSig:e.doneSig})})]})}function Jd(e){switch(e.kind){case"text":case"reasoning":return`${e.kind}:${e.id}`;case"tool":return`tool:${e.toolCallId}`;case"file":return`file:${e.url}`;case"source":return`source:${e.sourceId}`}}function Qd(){return r("span",{class:`${Se}-typing`,"aria-hidden":"true",children:[r("span",{}),r("span",{}),r("span",{})]})}function Zd({label:e}){return r("span",{class:`${Se}-loading`,role:"status",children:[r("span",{class:`${Se}-loading-spinner`,"aria-hidden":"true"}),r("span",{class:`${Se}-loading-label`,children:e})]})}var gs=h.cssPrefix,ir=120;function ms({messagesSig:e,strings:t,responseMode:n,showReasoning:o,showToolCalls:i,loading:a}){let s=N(null),l=ke(()=>e.value),c=N(!1),_=l.value[0]?.id;return Ri(()=>{let p=s.current;if(!p||l.value.length===0)return;c.current=!0;let d=()=>{p.scrollTop=p.scrollHeight};d();let u=new ResizeObserver(d);u.observe(p);let f=new MutationObserver(d);f.observe(p,{childList:!0,subtree:!0,characterData:!0});let v=setTimeout(()=>{u.disconnect(),f.disconnect()},300);return()=>{u.disconnect(),f.disconnect(),clearTimeout(v)}},[_]),w(()=>{let p=s.current;if(!p||!c.current)return;p.scrollHeight-p.scrollTop-p.clientHeight<ir&&(p.scrollTop=p.scrollHeight)},[l.value.length]),w(()=>{let p=s.current;if(!p)return;let d=l.value.at(-1);if(!d)return;if(d.status!=="streaming"){let f=requestAnimationFrame(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<ir*2&&(p.scrollTop=p.scrollHeight)});return()=>cancelAnimationFrame(f)}let u=setInterval(()=>{p.scrollHeight-p.scrollTop-p.clientHeight<ir*2&&(p.scrollTop=p.scrollHeight)},250);return()=>clearInterval(u)},[l.value]),r("div",{ref:s,class:`${gs}-list`,role:"log","aria-live":"polite","aria-relevant":"additions text",children:[a&&l.value.length===0?r("div",{class:`${gs}-list-loading`,role:"status",children:t.messagesLoading}):null,l.value.map(p=>r(fs,{message:p,strings:t,responseMode:n,showReasoning:o,showToolCalls:i},p.id))]})}function mt({itemCount:e,initialFocusIndex:t}){let[n,o]=k(!1),i=N(null),a=N(null),[s,l]=k(-1),c=M(()=>{o(!1),l(-1),i.current?.focus()},[]),_=M(()=>o(u=>!u),[]);w(()=>{if(!n)return;let u=f=>{let v=a.current,m=i.current;if(!v||!m)return;let b=f.composedPath();b.includes(v)||b.includes(m)||(o(!1),l(-1))};return document.addEventListener("click",u,!0),()=>document.removeEventListener("click",u,!0)},[n]),w(()=>{if(!n||e===0)return;let u=t?.()??0,f=u<0||u>=e?0:u;l(f)},[n,e,t]),w(()=>{if(!n||s<0)return;a.current?.querySelectorAll("[role='menuitem']")?.[s]?.focus()},[n,s]);let p=M(u=>{(u.key==="ArrowDown"||u.key==="Enter"||u.key===" ")&&(u.preventDefault(),o(!0))},[]),d=M(u=>{if(e!==0)switch(u.key){case"Escape":u.preventDefault(),c();return;case"ArrowDown":u.preventDefault(),l(f=>(f+1)%e);return;case"ArrowUp":u.preventDefault(),l(f=>(f-1+e)%e);return;case"Home":u.preventDefault(),l(0);return;case"End":u.preventDefault(),l(e-1)}},[e,c]);return{open:n,focusIndex:s,triggerRef:i,menuRef:a,toggle:_,close:c,onTriggerKey:p,onMenuKey:d}}function hs({items:e,triggerLabel:t}){let n=h.cssPrefix,o=mt({itemCount:e.length}),i=a=>{a.disabled||(a.onSelect(),o.close())};return r("div",{class:`${n}-menu-wrap`,children:[r("button",{ref:o.triggerRef,type:"button",class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":"menu","aria-expanded":o.open,title:t,onClick:o.toggle,onKeyDown:o.onTriggerKey,children:r(La,{})}),o.open?r("div",{ref:o.menuRef,class:`${n}-menu`,role:"menu","aria-label":t,onKeyDown:o.onMenuKey,tabIndex:-1,children:e.map(a=>r("button",{type:"button",role:"menuitem",class:`${n}-menu-item`,"aria-pressed":a.type==="switch"?a.on:void 0,disabled:a.disabled,lang:a.lang,onClick:()=>i(a),children:[a.icon?r("span",{class:`${n}-menu-icon`,children:a.icon}):null,r("span",{class:`${n}-menu-label`,children:a.label}),a.type==="switch"&&a.on?r("span",{class:`${n}-menu-check`,"aria-hidden":"true",children:r(ft,{})}):null]},a.id))}):null]})}var e_=["today","yesterday","lastWeek","older"];function t_(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return"older";let o=Math.floor((vs(e)-vs(n))/(1440*60*1e3));return o<=0?"today":o===1?"yesterday":o<7?"lastWeek":"older"}function bs(e,t){let n=new Map;for(let o of t){let i=t_(e,o.lastMessageAt),a=n.get(i);a?a.push(o):n.set(i,[o])}return e_.filter(o=>n.has(o)).map(o=>({bucket:o,sessions:n.get(o)}))}function vs(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}var n_=R.scope("history"),o_={today:"dateToday",yesterday:"dateYesterday",lastWeek:"dateLastWeek",older:"dateOlder"};function zn({transport:e,strings:t,visitorId:n,onSelect:o,onNewChat:i}){let a=h.cssPrefix,[s,l]=k("loading"),[c,_]=k([]);w(()=>{let u=!1;return e.listSessions({visitorId:n}).then(f=>{u||(_(f.sessions??[]),l("loaded"))}).catch(f=>{u||(n_.warn("listSessions failed",{err:f}),l("error"))}),()=>{u=!0}},[e,n]);let p=i?r("div",{class:`${a}-history-footer`,children:r("button",{type:"button",class:`${a}-history-new`,onClick:i,"data-testid":P.sidebarNewChat,children:[r(xa,{}),t.historyNewChat]})}):null;if(s==="loading")return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyLoading}),p]});if(s==="error"||c.length===0)return r(te,{children:[r("div",{class:`${a}-history-empty`,children:t.historyEmpty}),p]});let d=bs(Date.now(),c);return r(te,{children:[r("div",{class:`${a}-history`,role:"list",children:d.map(u=>r("div",{class:`${a}-history-group`,children:[r("div",{class:`${a}-history-heading`,children:t[o_[u.bucket]]}),u.sessions.map(f=>r("button",{type:"button",role:"listitem",class:`${a}-history-item`,onClick:()=>o(f),"data-closed":f.canContinue?void 0:"true","data-testid":ce(P.historyItem,f.sessionId),children:[r("span",{class:`${a}-history-title`,children:f.title}),f.preview?r("span",{class:`${a}-history-preview`,children:f.preview}):null]},f.sessionId))]},u.bucket))}),p]})}function ys(e){return r(zn,{...e})}function xs({available:e,active:t,onSelect:n,triggerLabel:o}){let i=h.cssPrefix,a=M(()=>e.indexOf(t),[e,t]),s=mt({itemCount:e.length,initialFocusIndex:a}),l=c=>{n(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":o,"aria-haspopup":"menu","aria-expanded":s.open,title:o,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:r(Ha,{})}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":o,onKeyDown:s.onMenuKey,tabIndex:-1,children:e.map(c=>{let _=c===t;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,lang:c,"aria-current":_?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-label`,children:Br(c,t)}),_?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(ft,{})}):null]},c)})}):null]})}var ar=["auto","light","dark"];function Ps(e){switch(e){case"light":return r(Ka,{});case"dark":return r(Ga,{});case"auto":return r(Va,{})}}function sr({active:e,onSelect:t,triggerLabel:n,optionLabels:o}){let i=h.cssPrefix,a=M(()=>ar.indexOf(e),[e]),s=mt({itemCount:ar.length,initialFocusIndex:a}),l=c=>{t(c),s.close()};return r("div",{class:`${i}-menu-wrap`,children:[r("button",{ref:s.triggerRef,type:"button",class:`${i}-icon-btn`,"aria-label":n,"aria-haspopup":"menu","aria-expanded":s.open,title:n,"data-theme-active":e,onClick:s.toggle,onKeyDown:s.onTriggerKey,children:Ps(e)}),s.open?r("div",{ref:s.menuRef,class:`${i}-menu`,role:"menu","aria-label":n,onKeyDown:s.onMenuKey,tabIndex:-1,children:ar.map(c=>{let _=c===e;return r("button",{type:"button",role:"menuitem",class:`${i}-menu-item`,"aria-current":_?"true":void 0,onClick:()=>l(c),children:[r("span",{class:`${i}-menu-icon`,children:Ps(c)}),r("span",{class:`${i}-menu-label`,children:o[c]}),_?r("span",{class:`${i}-menu-check`,"aria-hidden":"true",children:r(ft,{})}):null]},c)})}):null]})}var Ss=h.cssPrefix;function ws({suggestions:e,onPick:t}){return e.length===0?null:r("div",{class:`${Ss}-suggestions`,role:"group","aria-label":"Suggested replies",children:e.map((n,o)=>r("button",{type:"button",class:`${Ss}-suggestion`,onClick:()=>t(n),"data-testid":ce(P.suggestion,o),children:n.label},n.id))})}var _e=h.cssPrefix;function ks(e){let{options:t,onClose:n}=e,o=t.strings,i=N(null);w(()=>{let c=i.current;if(!c)return;let _=On(c),p=d=>{d.key==="Escape"&&n?.()};return c.addEventListener("keydown",p),()=>{_(),c.removeEventListener("keydown",p)}},[n]);let a=N(null),s=M(c=>{a.current?.attachFromDrop(c)},[]),{visible:l}=Bn({containerRef:i,onDrop:s});return Ln(i.current,t.mode==="modal"),r("div",{ref:i,class:`${_e}-panel`,role:"dialog","aria-modal":"false","aria-label":o.panelTitle,style:{position:"relative"},"data-testid":P.panel,children:[r(lr,{...e,containerEl:i.current,dragOver:l,composerAttachApiRef:a}),r(cr,{poweredBy:e.options.poweredBy})]})}function lr({options:e,transport:t,feedback:n,bus:o,panelSize:i,view:a,canSend:s,isStreaming:l,loadingMessages:c,messagesSig:_,agent:p,suggestions:d,initialWidgetSize:u,visitorId:f,onClose:v,onBack:m,onClear:b,onExpand:y,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onSelectHistoryChat:V,onNewChat:ue,onLocaleChange:pe,onThemeChange:X,onWidgetSizeChange:Q,onSend:et,onStop:ze,onSuggestion:C,containerEl:$,dragOver:j,composerAttachApiRef:de}){let Y=e.strings;return r(te,{children:[a==="history"?r(r_,{strings:Y,onBack:O,onClose:v,showClose:Qa(e.mode,i,e.actions)}):r(l_,{agent:p,onBack:m,backLabel:Y.moduleBack,moreActionsLabel:Y.moreActions,languageLabel:Y.language,themeLabel:Y.theme,themeOptionLabels:{auto:Y.themeAuto,light:Y.themeLight,dark:Y.themeDark},activeThemeMode:e.themeMode,onThemeChange:X,panelTitle:Y.panelTitle,activeLocale:e.locale,availableLocales:e.availableLocales,onLocaleChange:pe,main:Xo(e.actions.main,e.mode,i,{popOutUrl:e.popOutUrl}),overflow:Xo(e.actions.overflow,e.mode,i,{popOutUrl:e.popOutUrl}),descriptors:c_({strings:Y,panelSize:i,feedback:n,onClear:b,onExpand:y,onFullscreen:S,onPopOut:T,onSoundToggle:D,onToggleHistory:O,onClose:v})}),a==="history"?r(ys,{transport:t,strings:Y,visitorId:f,onSelect:le=>V(le.sessionId),onNewChat:ue}):r(te,{children:[r(rs,{visible:j,strings:Y}),r(ms,{messagesSig:_,strings:Y,responseMode:e.responseMode,showReasoning:e.showReasoning,showToolCalls:e.showToolCalls,loading:c}),s?r(te,{children:[r(ws,{suggestions:d,onPick:C}),r(os,{options:e,transport:t,feedback:n,bus:o,isStreaming:l,onSend:et,onStop:ze,attachApiRef:de})]}):r(i_,{label:Y.chatClosed,ctaLabel:Y.startNewConversation,onNewChat:b}),r(a_,{disclaimer:e.composerDisclaimer})]}),e.size.resize?.enabled?r(Mn,{panelEl:$,resize:e.size.resize,position:e.position,initialSize:u,onSizeChange:Q,strings:Y}):null]})}function r_({strings:e,onBack:t,onClose:n,showClose:o}){return r("header",{class:`${_e}-header`,children:[r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:r(Ot,{})}),r("h1",{children:e.historyTitle}),o?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:r(me,{})}):null]})}function i_({label:e,ctaLabel:t,onNewChat:n}){return r("div",{class:`${_e}-readonly-banner`,role:"note",children:[r("span",{class:`${_e}-readonly-label`,children:e}),r("button",{type:"button",class:`${_e}-readonly-cta`,onClick:n,children:t})]})}function a_({disclaimer:e}){return e?r("div",{class:`${_e}-composer-footer`,children:r("div",{class:`${_e}-disclaimer`,children:e})}):null}function cr({poweredBy:e}){return e?r("div",{class:`${_e}-poweredby-bar`,children:r(s_,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function s_({logoUrl:e,text:t,href:n}){let o=r(te,{children:[e?r("img",{class:`${_e}-poweredby-logo`,src:e,alt:"",loading:"lazy"}):null,t?r("span",{children:t}):null]});return n?r("a",{class:`${_e}-poweredby`,href:n,target:"_blank",rel:"noopener noreferrer",children:o}):r("span",{class:`${_e}-poweredby`,children:o})}function l_({agent:e,onBack:t,backLabel:n,moreActionsLabel:o,languageLabel:i,themeLabel:a,themeOptionLabels:s,activeThemeMode:l,onThemeChange:c,panelTitle:_,activeLocale:p,availableLocales:d,onLocaleChange:u,main:f,overflow:v,descriptors:m}){let b=d.length>1,y=[];for(let T of v){if(T==="theme")continue;if(T==="language"){if(!b)continue;for(let O of d)y.push({id:`language:${O}`,label:i+` \u2014 ${O}`,lang:O,onSelect:()=>u(O),type:"switch",on:O===p});continue}let D=m[T];y.push({id:T,icon:D.icon,label:D.label,onSelect:D.onSelect,type:D.switchable?"switch":"button",on:D.switchOn})}let S=v.includes("theme");return r("header",{class:`${_e}-header`,"data-testid":P.panelHeader,children:[t?r("button",{type:"button",class:`${_e}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(Ot,{})}):null,e?r(es,{agent:e}):r("h1",{children:_}),f.map(T=>{if(T==="language")return b?r(xs,{available:d,active:p,onSelect:u,triggerLabel:i},"language"):null;if(T==="theme")return r(sr,{active:l,onSelect:c,triggerLabel:a,optionLabels:s},"theme");let D=m[T];return r("button",{type:"button",class:`${_e}-icon-btn`,onClick:D.onSelect,"aria-label":D.label,"aria-pressed":D.switchable?D.switchOn:void 0,title:D.label,"data-testid":Xa[T],children:D.icon},T)}),S?r(sr,{active:l,onSelect:c,triggerLabel:a,optionLabels:s}):null,y.length>0?r(hs,{items:y,triggerLabel:o}):null]})}function c_(e){let{strings:t,panelSize:n,feedback:o,onClear:i,onExpand:a,onFullscreen:s,onPopOut:l,onSoundToggle:c,onToggleHistory:_,onClose:p}=e,d=n==="expanded",u=n==="fullscreen",f=ke(()=>o.mutedSig.value).value;return{clear:{icon:r($a,{}),label:t.newConversation,onSelect:i},expand:{icon:d?r(Ta,{}):r(Aa,{}),label:d?t.collapse:t.expand,onSelect:a,switchable:!0,switchOn:d},fullscreen:{icon:u?r(Ra,{}):r(Ia,{}),label:u?t.exitFullscreen:t.fullscreen,onSelect:s,switchable:!0,switchOn:u},popOut:{icon:r(Ba,{}),label:t.popOut,onSelect:l},sound:{icon:f?r(Oa,{}):r(Na,{}),label:f?t.soundOff:t.soundOn,onSelect:c,switchable:!0,switchOn:!f},history:{icon:r(Da,{}),label:t.history,onSelect:_},close:{icon:r(me,{}),label:t.close,onSelect:p??(()=>{})}}}function Cs(e){let t=h.cssPrefix,{site:n,blocks:o,strings:i,collapsed:a}=e,s=o?.navigation??[],l=o?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return r("aside",{class:`${t}-sidebar`,"data-collapsed":a?"true":"false","data-testid":P.sidebar,children:[r("div",{class:`${t}-sidebar-header`,children:[r(d_,{site:n}),r("button",{type:"button",class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?"false":"true",title:c,onClick:e.onToggleCollapsed,"data-testid":P.sidebarToggle,children:r(__,{collapsed:a})})]}),a?null:r(te,{children:[s.length>0?r("nav",{class:`${t}-sidebar-section`,"data-section":"navigation",children:r(u_,{items:s})}):null,l.length>0?r("div",{class:`${t}-sidebar-section`,"data-section":"link-cards",children:r(p_,{items:l})}):null,e.showConversations?r("div",{class:`${t}-sidebar-conversations`,children:r(zn,{transport:e.transport,strings:e.strings,visitorId:e.visitorId,onSelect:e.onSelectChat,onNewChat:e.onNewChat})}):null]})]})}function d_({site:e}){let t=h.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??"Logo";return r("picture",{children:[e.logoDark?.url?r("source",{srcset:e.logoDark.url,media:"(prefers-color-scheme: dark)"}):null,r("img",{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return r("div",{class:`${t}-sidebar-title`,children:e?.title??h.name})}function __({collapsed:e}){return r("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","aria-hidden":"true",children:e?r("polyline",{points:"9 6 15 12 9 18"}):r("polyline",{points:"15 6 9 12 15 18"})})}function u_({items:e}){let t=h.cssPrefix;return r("ul",{class:`${t}-sidebar-nav`,children:e.map(n=>r("li",{children:r("a",{class:`${t}-sidebar-nav-item`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[n.icon?r("span",{class:`${t}-sidebar-nav-icon`,"data-icon":n.icon}):null,r("span",{class:`${t}-sidebar-nav-label`,children:n.label})]})},n.id??n.label))})}function p_({items:e}){let t=h.cssPrefix;return r("div",{class:`${t}-sidebar-cards`,children:e.map(n=>r("a",{class:`${t}-sidebar-card`,href:n.href,target:n.href?"_blank":void 0,rel:n.href?"noreferrer":void 0,children:[r("div",{class:`${t}-sidebar-card-label`,children:n.label}),n.description?r("div",{class:`${t}-sidebar-card-desc`,children:n.description}):null]},n.id??n.label))})}var Es=h.cssPrefix;function As(e){return r("main",{class:`${Es}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?"true":"false",children:[r(Cs,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,visitorId:e.visitorId,showConversations:e.showConversations,onSelectChat:e.onSelectChat,onNewChat:e.onNewChat,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),r("section",{class:`${Es}-page-chat`,"aria-label":"Chat",children:e.children})]})}var Ts=e=>Object.fromEntries(e.map(t=>[t,[]]));function Is(e,t,n){let o=L({activeTab:e,stacks:Ts(t)});return{sig:o,switchTab(i){o.value.activeTab!==i&&(o.value={...o.value,activeTab:i},n?.(i))},push(i){let a=o.value,s=a.stacks[a.activeTab]??[];o.value={...a,stacks:{...a.stacks,[a.activeTab]:[...s,i]}}},pop(){let i=o.value,a=i.stacks[i.activeTab]??[];a.length!==0&&(o.value={...i,stacks:{...i.stacks,[i.activeTab]:a.slice(0,-1)}})},reset(i){o.value={activeTab:i,stacks:Ts(t)}}}}var Rs=e=>e.stacks[e.activeTab]??[],Ms=e=>Rs(e).at(-1),Ls=e=>Rs(e).length===0;var Ns={Icon:Dt};var Ae=h.cssPrefix;function Fn({title:e,onClose:t,closeLabel:n}){return r("header",{class:`${Ae}-back-header`,"data-variant":"title",children:[r("span",{class:`${Ae}-back-spacer`,"aria-hidden":"true"}),r("h1",{class:`${Ae}-back-title`,children:e}),t?r("button",{type:"button",class:`${Ae}-icon-btn`,onClick:t,"aria-label":n,title:n,children:r(me,{})}):r("span",{class:`${Ae}-back-spacer`,"aria-hidden":"true"})]})}function Wn({title:e,backLabel:t,onBack:n,onClose:o,closeLabel:i,testid:a}){return r("header",{class:`${Ae}-back-header`,"data-testid":a,children:[r("button",{type:"button",class:`${Ae}-icon-btn`,onClick:n,"aria-label":t,title:t,children:r(Ot,{})}),r("h1",{class:`${Ae}-back-title`,children:e}),o?r("button",{type:"button",class:`${Ae}-icon-btn`,onClick:o,"aria-label":i,title:i,children:r(me,{})}):r("span",{class:`${Ae}-back-spacer`,"aria-hidden":"true"})]})}var ht=h.cssPrefix;function Os({placeholder:e,onActivate:t}){return r("button",{type:"button",class:`${ht}-home-search`,onClick:t,"data-testid":P.homeSearch,children:[r("span",{class:`${ht}-home-search-text`,children:e}),r("span",{class:`${ht}-home-search-icon`,"aria-hidden":"true",children:r(qo,{})})]})}function Ds({placeholder:e,value:t,onInput:n}){return r("div",{class:`${ht}-home-search`,"data-input":"true",children:[r("input",{type:"search",class:`${ht}-home-search-input`,placeholder:e,value:t,onInput:o=>n(o.currentTarget.value),"data-testid":P.helpSearch}),r("span",{class:`${ht}-home-search-icon`,"aria-hidden":"true",children:r(qo,{})})]})}var Bt=h.cssPrefix;function Kn({title:e,subtitle:t,onClick:n,testid:o}){return r("button",{type:"button",class:`${Bt}-list-row`,onClick:n,"data-testid":o,children:[r("span",{class:`${Bt}-list-row-body`,children:[r("span",{class:`${Bt}-list-row-title`,children:e}),t?r("span",{class:`${Bt}-list-row-sub`,children:t}):null]}),r("span",{class:`${Bt}-list-row-chevron`,"aria-hidden":"true",children:r(In,{})})]})}var Hs=h.cssPrefix;function ye({tone:e="info",message:t,onRetry:n,strings:o}){return r("div",{class:`${Hs}-module-empty`,role:e==="error"?"alert":"status","aria-live":"polite",children:[r("span",{children:t}),n?r("button",{type:"button",class:`${Hs}-module-retry`,onClick:n,children:o.errorRetry}):null]})}var Qe=h.cssPrefix,f_=R.scope("help"),g_=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function m_(e){let t=new Map;for(let n of e){let o=n.categories?.[0]??"";(t.get(o)??t.set(o,[]).get(o)).push(n)}return[...t.entries()]}function Bs(e,t){let n=t.toLowerCase(),o=n.indexOf(e);if(o!==-1)return 100-Math.min(o,99);let i=0;for(let a of e){if(i=n.indexOf(a,i),i===-1)return 0;i+=1}return 1}function h_(e,t){let n=t.toLowerCase().trim();return n?e.map(o=>({item:o,score:Math.max(Bs(n,o.title)*2,Bs(n,o.description??""))})).filter(o=>o.score>0).toSorted((o,i)=>i.score-o.score).map(o=>o.item):[]}function $s({article:e,nav:t}){return r(Kn,{title:e.title,subtitle:e.description,onClick:()=>g_(t,e),testid:ce(P.helpArticle,e.id)})}function v_({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=k("loading"),[c,_]=k(t.errorGeneric),[p,d]=k([]),[u,f]=k(""),[v,m]=k(0);w(()=>{let S=!1;return l("loading"),e.listContent({tags:a,sortBy:"order",limit:100}).then(T=>{S||(d(T.items??[]),l("loaded"))}).catch(T=>{S||(f_.warn("listContent (help) failed",{err:T}),_(Xe(T,t)),l("error"))}),()=>{S=!0}},[e,a,v]);let b=he(()=>h_(p,u),[p,u]);function y(){return u.trim().length>0?b.length===0?r(ye,{message:t.helpSearchEmpty,strings:t}):r("div",{class:`${Qe}-help-card`,children:b.map(S=>r($s,{article:S,nav:o},S.id))}):s==="loading"?r(ye,{message:t.helpLoading,strings:t}):s==="error"?r(ye,{tone:"error",message:c,onRetry:()=>m(S=>S+1),strings:t}):p.length===0?r(ye,{message:t.helpEmpty,strings:t}):m_(p).map(([S,T])=>r("section",{class:`${Qe}-help-group`,children:[S?r("h2",{class:`${Qe}-help-section-title`,children:S}):null,r("div",{class:`${Qe}-help-card`,children:T.map(D=>r($s,{article:D,nav:o},D.id))})]},S))}return r("div",{class:`${Qe}-module`,children:[r(Fn,{title:t.helpTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${Qe}-module-pad`,children:r(Ds,{placeholder:t.helpSearchPlaceholder,value:u,onInput:f})}),r("div",{class:`${Qe}-help-list`,children:y()})]})}var Us={Icon:Vo,Root:e=>r(v_,{...e})};var zs=h.cssPrefix;function dr({onClick:e,children:t,testid:n}){return e?r("button",{type:"button",class:`${zs}-home-card`,"data-interactive":"true",onClick:e,"data-testid":n,children:t}):r("div",{class:`${zs}-home-card`,"data-testid":n,children:t})}var G=h.cssPrefix,Fs=R.scope("home");function b_(e){let t=e.options.userContext?.name,n=e.config.greetingText;return n?{title:t?n.replace("{name}",t):n.replace(/\s*\{name\}\s*/," ").trim(),subtitle:e.strings.homeGreetingLead}:t?{title:e.strings.homeGreetingNamed.replace("{name}",t),subtitle:e.strings.homeGreetingLead}:{title:e.strings.homeGreeting}}var y_=(e,t)=>t.url?e.push({kind:"iframe",url:t.url,title:t.title}):e.push({kind:"content",id:t.id,title:t.title});function x_(e){let{transport:t,strings:n,config:o,nav:i,panelProps:a}=e,[s,l]=k(null),[c,_]=k([]),p=o.contentTags?.join(",");w(()=>{if(!o.showRecentMessages)return;let m=!1;return t.listSessions({limit:1}).then(b=>!m&&l(b.sessions?.[0]??null)).catch(b=>!m&&Fs.warn("listSessions (home) failed",{err:b})),()=>{m=!0}},[t,o.showRecentMessages]),w(()=>{if(!o.contentTags?.length)return;let m=!1;return t.listContent({tags:o.contentTags,limit:6}).then(b=>!m&&_(b.items??[])).catch(b=>!m&&Fs.warn("listContent (home) failed",{err:b})),()=>{m=!0}},[t,p]);let d=b_(e),u=o.userAvatars??[],f=o.status,v=o.contentBlockTitle?Xt(n,o.contentBlockTitle):n.homeContentTitle;return r("div",{class:`${G}-module ${G}-home`,"data-testid":P.homeView,children:r("div",{class:`${G}-home-scroll`,children:[r("div",{class:`${G}-home-hero`,children:[r("div",{class:`${G}-home-hero-top`,children:[o.brandName?r("span",{class:`${G}-home-brand`,"data-testid":P.homeBrand,children:o.brandName}):r("span",{class:`${G}-home-brand-spacer`,"aria-hidden":"true"}),r("div",{class:`${G}-home-hero-actions`,children:[u.length>0?r("div",{class:`${G}-home-avatars`,children:u.map(m=>r("span",{class:`${G}-home-avatar`,title:m.role?`${m.name} \xB7 ${m.role}`:m.name,children:m.avatar?r("img",{src:m.avatar,alt:"",loading:"lazy"}):r("span",{children:Dn(m.name)})},m.name))}):null,a.onClose?r("button",{type:"button",class:`${G}-icon-btn ${G}-home-close`,onClick:a.onClose,"aria-label":n.close,title:n.close,children:r(me,{})}):null]})]}),o.showGreeting!==!1?r(te,{children:[r("h1",{class:`${G}-home-greeting`,"data-testid":P.homeGreeting,children:d.title}),d.subtitle?r("p",{class:`${G}-home-lead`,children:d.subtitle}):null]}):null]}),r("div",{class:`${G}-home-cards`,children:[o.showSearchBar!==!1?r(Os,{placeholder:n.homeSearchPlaceholder,onActivate:()=>i.switchToLayout("help")}):null,s?r(dr,{onClick:()=>i.selectSession(s.sessionId),testid:P.homeRecent,children:r("div",{class:`${G}-home-recent-row`,"data-unread":(s.unreadCount??0)>0?"true":void 0,children:[r("span",{class:`${G}-home-recent-avatar`,"aria-hidden":"true",children:r(Dt,{})}),r("span",{class:`${G}-home-recent-body`,children:[r("span",{class:`${G}-home-recent-title`,children:s.title}),s.preview?r("span",{class:`${G}-home-recent-preview`,children:s.preview}):null]}),(s.unreadCount??0)>0?r("span",{class:`${G}-home-recent-dot`,"aria-label":"Unread"}):null]})}):null,f?r(dr,{onClick:f.url?()=>i.push({kind:"iframe",url:f.url,title:f.text}):void 0,children:r("div",{class:`${G}-home-status`,"data-level":f.level??"operational",children:[r("span",{class:`${G}-home-status-icon`,"aria-hidden":"true",children:r(za,{})}),r("span",{class:`${G}-home-status-text`,children:f.text})]})}):null,c.length>0?r("section",{class:`${G}-home-content`,children:[r("div",{class:`${G}-home-content-title`,children:v}),r("div",{class:`${G}-home-content-list`,children:c.map(m=>r(Kn,{title:m.title,subtitle:m.description,onClick:()=>y_(i,m),testid:ce(P.homeContentRow,m.id)},m.id))})]}):null]})]})})}var Ws={Icon:Fa,Root:e=>r(x_,{...e})};var Te=h.cssPrefix,P_=R.scope("news");function S_({transport:e,strings:t,config:n,nav:o,panelProps:i}){let a=n.contentTags,[s,l]=k("loading"),[c,_]=k(t.errorGeneric),[p,d]=k([]),[u,f]=k(0);w(()=>{let m=!1;return l("loading"),e.listContent({tags:a,sortBy:"publishedAt",sortOrder:"desc"}).then(b=>{m||(d(b.items??[]),l("loaded"))}).catch(b=>{m||(P_.warn("listContent (news) failed",{err:b}),_(Xe(b,t)),l("error"))}),()=>{m=!0}},[e,a,u]);function v(){return s==="loading"?r(ye,{message:t.newsLoading,strings:t}):s==="error"?r(ye,{tone:"error",message:c,onRetry:()=>f(m=>m+1),strings:t}):p.length===0?r(ye,{message:t.newsEmpty,strings:t}):r("div",{class:`${Te}-news-list`,children:p.map(m=>r("button",{type:"button",class:`${Te}-news-card`,onClick:()=>o.push({kind:"content",id:m.id,title:m.title}),"data-testid":ce(P.newsItem,m.id),children:[m.image?r("img",{class:`${Te}-news-hero`,src:m.image,alt:"",loading:"lazy"}):null,r("span",{class:`${Te}-news-body`,children:[m.tags&&m.tags.length>0?r("span",{class:`${Te}-news-tags`,children:m.tags.map(b=>r("span",{class:`${Te}-news-tag`,children:b},b))}):null,r("span",{class:`${Te}-news-title`,children:m.title}),m.description?r("span",{class:`${Te}-news-summary`,children:m.description}):null]})]},m.id))})}return r("div",{class:`${Te}-module`,children:[r(Fn,{title:t.newsTitle,onClose:i.onClose,closeLabel:t.close}),r("div",{class:`${Te}-module-scroll`,children:v()})]})}var Ks={Icon:Wa,Root:e=>r(S_,{...e})};var Gn={chat:Ns,home:Ws,help:Us,news:Ks};var $t=h.cssPrefix;function Gs({modules:e,activeTab:t,strings:n,unreadCount:o,onSelect:i}){return r("nav",{class:`${$t}-tabbar`,role:"tablist","aria-label":n.panelTitle,children:e.map(a=>{let s=Gn[a.layout].Icon,l=a.id===t,c=a.layout==="chat"&&o>0?o>9?"9+":String(o):null;return r("button",{type:"button",role:"tab","aria-selected":l,class:`${$t}-tab`,onClick:()=>i(a.id),"data-testid":ce(P.tab,a.id),children:[r("span",{class:`${$t}-tab-icon`,"aria-hidden":"true",children:[r(s,{}),c?r("span",{class:`${$t}-tab-badge`,"data-testid":P.tabBadge,children:c}):null]}),r("span",{class:`${$t}-tab-label`,children:Xt(n,a.label)})]},a.id)})})}var Vs=h.cssPrefix,w_="allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads";function qs({url:e,title:t,strings:n,onBack:o,onClose:i}){return r("div",{class:`${Vs}-module`,children:[r(Wn,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:o,onClose:i,closeLabel:n.close}),r("iframe",{class:`${Vs}-content-frame`,src:e,title:t||"content",sandbox:w_,referrerpolicy:"no-referrer",loading:"lazy",allow:"fullscreen"})]})}var Ze=h.cssPrefix,k_=R.scope("content");function Xs({id:e,title:t,transport:n,strings:o,onBack:i,onClose:a}){let[s,l]=k(null),[c,_]=k(!1),[p,d]=k(0),u=M(()=>{_(!1),l(null),d(v=>v+1)},[]);w(()=>{let v=!1;return n.listContent({ids:[e],limit:1}).then(m=>{if(v)return;let b=m.items[0];b?l(b):_(!0)}).catch(m=>{v||(k_.warn("listContent (reader) failed",{err:m}),_(!0))}),()=>{v=!0}},[n,e,p]);function f(){return c?r(ye,{tone:"error",message:o.errorGeneric,onRetry:u,strings:o}):s===null?r(ye,{message:o.contentLoading,strings:o}):r("article",{class:`${Ze}-content`,"data-testid":P.contentView,children:[s.image?r("img",{class:`${Ze}-content-hero`,src:s.image,alt:"",loading:"lazy"}):null,s.description?r("p",{class:`${Ze}-content-subtitle`,children:s.description}):null,s.tags&&s.tags.length>0?r("span",{class:`${Ze}-news-tags`,children:s.tags.map(v=>r("span",{class:`${Ze}-news-tag`,children:v},v))}):null,r(us,{text:s.content??""})]})}return r("div",{class:`${Ze}-module`,children:[r(Wn,{title:s?.title||t||o.moduleBack,backLabel:o.moduleBack,onBack:i,onClose:a,closeLabel:o.close,testid:P.backHeader}),r("div",{class:`${Ze}-module-scroll`,"data-testid":P.contentScroll,children:f()})]})}var _r=h.cssPrefix;function js({panelProps:e,enabledModules:t,nav:n,unreadCount:o,onSelectSession:i,onStartNewSession:a,onSetPanelSize:s}){let l=e.options,c=l.strings,_=N(null);w(()=>{let V=_.current;if(!V)return;let ue=On(V),pe=X=>{X.key==="Escape"&&e.onClose?.()};return V.addEventListener("keydown",pe),()=>{ue(),V.removeEventListener("keydown",pe)}},[e.onClose]);let p=N(null),d=M(V=>{p.current?.attachFromDrop(V)},[]),{visible:u}=Bn({containerRef:_,onDrop:d});Ln(_.current,l.mode==="modal");let f=ke(()=>n.sig.value).value,v=Ms(f),m=l.modules.byId[f.activeTab],b=v?.kind==="iframe"||v?.kind==="content",y=t.length>1&&(Ls(f)||!b),S=N(null);w(()=>{if(b&&S.current===null)S.current=e.panelSize,e.panelSize==="normal"&&s("expanded");else if(!b&&S.current!==null){let V=S.current;S.current=null,s(V)}},[b]);let T={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:V=>{let ue=t.find(pe=>pe.layout===V);ue&&n.switchTab(ue.id)},selectSession:i,startNewSession:a},D=V=>({options:l,transport:e.transport,strings:c,config:V,visitorId:e.visitorId,nav:T,panelProps:e}),O;if(v?.kind==="iframe")O=r(qs,{url:v.url,title:v.title,strings:c,onBack:n.pop,onClose:e.onClose});else if(v?.kind==="content")O=r(Xs,{id:v.id,title:v.title,transport:e.transport,strings:c,onBack:n.pop,onClose:e.onClose});else if(m?.layout==="chat")O=r(lr,{...e,containerEl:_.current,dragOver:u,composerAttachApiRef:p});else if(m){let V=Gn[m.layout].Root;O=V?r(V,{...D(m)},m.id):null}else O=null;return r("div",{ref:_,class:`${_r}-panel ${_r}-messenger`,role:"dialog","aria-modal":"false","aria-label":c.panelTitle,style:{position:"relative"},"data-testid":P.messengerHome,children:[r("div",{class:`${_r}-messenger-body`,children:O}),y?r(Gs,{modules:t,activeTab:f.activeTab,strings:c,unreadCount:o,onSelect:n.switchTab}):null,r(cr,{poweredBy:l.poweredBy}),l.size.resize?.enabled&&!(m?.layout==="chat"&&!v)?r(Mn,{panelEl:_.current,resize:l.size.resize,position:l.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:c}):null]})}var Ut=h.cssPrefix;function Ys({strings:e,onClose:t}){return r("div",{class:`${Ut}-panel ${Ut}-modules-empty`,role:"dialog","aria-label":e.panelTitle,"data-testid":P.modulesEmpty,children:[t?r("button",{type:"button",class:`${Ut}-icon-btn ${Ut}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:r(me,{})}):null,r("p",{class:`${Ut}-modules-empty-text`,children:e.modulesEmpty})]})}async function Js(e,t,n,o){for(let i=0;i<e.length;i++){if(o.aborted)return;let a=e[i],s=t[i];!a||!s||await C_(a,s.text,n,o)}}function C_(e,t,n,o){return new Promise(i=>{let a=e.partsSig.value[0];if(!a||a.kind!=="text"){i();return}let s=()=>{a.textSig.value=t,a.doneSig.value=!0,e.status="complete",i()};if(typeof requestAnimationFrame>"u"){s();return}let l=t.length/Math.max(1,n)*1e3,c=performance.now(),_=d=>{if(o.aborted)return s();let u=l===0?1:Math.min(1,(d-c)/l);if(a.textSig.value=t.slice(0,Math.floor(u*t.length)),u>=1)return s();p=requestAnimationFrame(_)},p=requestAnimationFrame(_);o.addEventListener("abort",()=>{cancelAnimationFrame(p),s()},{once:!0})})}function Qs({callout:e,persistence:t}){let n=e?.text??"",o=e?.persistent??!0,[i,a]=k(()=>o?!1:t.loadCalloutDismissed(n));w(()=>{a(o?!1:t.loadCalloutDismissed(n))},[n,o,t]);let s=M(()=>{a(!0),o||t.saveCalloutDismissed(n)},[t,n,o]);return{dismissed:i,dismissCallout:s}}var W=R.scope("app"),ur=h.cssPrefix;function Vn({options:e,hostElement:t,bus:n}){let[o]=k(()=>qe(e.widgetId,e.storage)),[i,a]=k(()=>o.getVisitorId()),s=o.loadUserPrefs(),[l,c]=k(()=>s.locale??e.locale),[_,p]=k(()=>s.themeMode??e.themeMode),d=Rt(o.loadSessionId()),u=Rt([]),f=Rt(0),[v,m]=k(!1);function b(){let g=e.modules.list,x=new Set(g.map(ie=>ie.id)),z=o.loadActiveModule();return z&&x.has(z)?z:g[0]?.id??""}function y(){return e.modules.list.find(g=>g.layout==="chat")?.id}let S=N();if(!S.current){let g=e.modules.list.map(x=>x.id);S.current=Is(b(),g,x=>o.saveActiveModule(x))}let T=S.current,D=N(void 0);D.current=y();let[O,V]=k(!1),ue=e.mode==="standalone"||e.mode==="inline",pe=N(Lt(e,ut(),o.loadPanelOpen(),o.loadPanelSize())),[X,Q]=k(pe.current.panelOpen),et=N(!1),[ze,C]=k(!1),{dismissed:$,dismissCallout:j}=Qs({callout:e.launcher.callout,persistence:o}),de=e.launcher.callout?.persistent??!0,Y=M(()=>{W.info("calloutDismiss"),n.emit("calloutDismiss",void 0),j()},[n,j]),[le,fe]=k(pe.current.panelSize),zt=N(!1),[ll,Yn]=k("chat"),[cl,bt]=k(!0),[Fe,Ft]=k(!1),[dl,kr]=k(null),[Jn,Wt]=k([]),[Kt,Gt]=k(null),Qn=N(null),[_l,ul]=k(void 0),[pl,fl]=k(void 0),[gl,ml]=k(()=>o.loadSidebarCollapsed()??!1),[re]=k(()=>new Sn({baseUrl:e.baseUrl,auth:ta({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:"x-public-key"}),endpoints:e.endpoints})),[Oe]=k(()=>new wn(u)),[J]=k(()=>new Tn(e.sound,e.haptics)),De=M(g=>{o.patchUserPrefs(g),re.saveUserPrefs(o.loadUserPrefs()).catch(x=>{W.warn("saveUserPrefs failed",{err:x})})},[o,re]);w(()=>{s.soundMuted!==void 0&&J.setMuted(s.soundMuted)},[]),w(()=>{t.dataset.theme=_},[t,_,e]),w(()=>{J.update(e.sound,e.haptics)},[J,e.sound,e.haptics]),w(()=>()=>J.destroy(),[J]),w(()=>{let g=!0;return J.mutedSig.subscribe(x=>{if(g){g=!1;return}De({soundMuted:x})})},[J,De]),w(()=>{zt.current||!e.size.initialSize||(zt.current=!0,!o.loadPanelSize()&&fe(Uo(e.mode,e.size,ut())))},[e.mode,e.size,o]),w(()=>{if(!O||et.current)return;et.current=!0;let g=Lt(e,ut(),o.loadPanelOpen(),o.loadPanelSize());Q(g.panelOpen),fe(g.panelSize)},[O,e,o]);let Cr=N(!1),Er=N(!1),Vt=N(null);w(()=>{if(!(!O||Cr.current)){if(Cr.current=!0,Er.current){let g=D.current;g&&T.switchTab(g);return}T.reset(b())}},[O]);let Ar=M(g=>{if(!g||g.length===0)return;let{animation:x,speed:z}=e.welcome;if(x==="instant"){u.value=g.map(pa);return}Qn.current?.abort();let ie=new AbortController;Qn.current=ie;let oe=g.map(ua);u.value=oe,Js(oe,g,z,ie.signal)},[u,e.welcome]),Zn=N(0),yt=M(async({newConversation:g})=>{let x=++Zn.current,z=()=>x!==Zn.current,ie=d.value,oe=g||!ie?Ce():ie;oe!==ie&&(d.value=oe,o.saveSessionId(oe));let A;try{A=await re.startSession({visitorId:i,sessionId:oe,userPrefs:o.loadUserPrefs(),locale:e.locale})}catch(Pe){if(z())return;n.emit("error",Pe),e.onError?.(Pe),g||V(!0);return}if(z())return;if(A.visitorId&&A.visitorId!==i&&(W.info("visitor rebound",{previous:i,current:A.visitorId,reason:A.rebind?.visitorId}),o.setVisitorId(A.visitorId),a(A.visitorId),n.emit("visitorRebound",{previous:i,current:A.visitorId,reason:A.rebind?.visitorId})),A.sessionId&&A.sessionId!==oe&&(W.info("session rebound",{previous:oe,current:A.sessionId,reason:A.rebind?.sessionId}),n.emit("sessionRebound",{previous:oe,current:A.sessionId,reason:A.rebind?.sessionId})),A.agent&&kr(A.agent),A.welcome?.suggestions&&Wt(A.welcome.suggestions),e.mode==="page"&&(A.site&&Ki(A.site)?ul(A.site):A.site&&W.warn("invalid site config, using fallback",{site:A.site}),A.blocks&&Gi(A.blocks)?fl(A.blocks):A.blocks&&W.warn("invalid blocks config, using fallback",{blocks:A.blocks})),A.userPrefs&&!g&&(o.saveUserPrefs(A.userPrefs),A.userPrefs.locale&&c(A.userPrefs.locale),A.userPrefs.soundMuted!==void 0&&J.setMuted(A.userPrefs.soundMuted),A.userPrefs.themeMode&&p(A.userPrefs.themeMode)),!g&&ie&&A.sessionId===ie){m(!0);try{let Pe=A.messages?.length?{sessionId:ie,canContinue:A.canContinue??!0,messages:A.messages}:await re.loadSession(ie);if(z())return;let ge=(Pe.messages??[]).map(Ko),Hr=Vt.current?[Vt.current]:[];(ge.length||Hr.length)&&(u.value=[...ge,...Hr]),bt(Pe.canContinue??!0),Wt(Pe.suggestions??[])}catch(Pe){if(z())return;W.warn("loadSession failed; resetting sessionId",{err:Pe,sessionId:ie}),d.value=void 0,o.saveSessionId(void 0)}finally{z()||m(!1)}}else d.value=A.sessionId,o.saveSessionId(A.sessionId),Ar(A.welcome?.messages);g||(n.emit("sessionStarted",A),V(!0))},[re,i,o,e,n,u,d,J,Ar]),xt=JSON.stringify(e.userContext??null),hl=JSON.stringify(e.pageContext??null);w(()=>{re.setContext(e.userContext,E_(e.pageContext))},[re,xt,hl]);let vl=M(async g=>{let x=null;try{for await(let z of g.iter){if(!x){x=Wo(),Vt.current=x,Oe.attach(x),u.value=[...u.value,x],Ft(!0),Gt(()=>g.cancel),Er.current=!0;let ie=D.current;ie&&T.switchTab(ie),W.info("resumed in-flight reply on mount")}Oe.apply(z.chunk),z.chunk.type==="finish"&&z.chunk.canContinue===!1&&bt(!1)}x&&(x.status="complete",J.play("messageReceived"),pr(n,e,"assistant",Go(x)))}catch(z){x&&(x.status="error",x.errorText=Xe(z,e.strings),J.play("error")),W.debug("mount resume ended without completing",{err:z})}finally{Vt.current=null,x&&(Oe.detach(),Ft(!1),Gt(null),u.value=[...u.value])}},[Oe,u,J,n,e,T]);w(()=>{yt({newConversation:!1});let g=d.value,x=null;return g&&(re.primeIdentity(i,g),x=re.resumeStream(),vl(x)),()=>{Zn.current++,x?.cancel()}},[]);let Tr=N(xt);w(()=>{!O||Tr.current===xt||(Tr.current=xt,yt({newConversation:!1}))},[xt,O,yt]),w(()=>{_t(t,Pn(e.mode,le,X))},[t,X,le,e.mode]),w(()=>{if(e.mode!=="modal"||!X)return;let g=x=>{x.composedPath().some(oe=>oe instanceof HTMLElement&&oe.classList.contains(`${h.cssPrefix}-panel`))||Q(!1)};return t.addEventListener("click",g),()=>t.removeEventListener("click",g)},[t,X,e.mode]),w(()=>{if(e.mode!=="drawer"||!X)return;let g=x=>{x.key==="Escape"&&Q(!1)};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[X,e.mode]);let Ir=M(async(g,x)=>{if(W.info("send",{textLen:g.length,attachments:x.length,streaming:Fe}),Fe)return;n.emit("send",{text:g,attachmentCount:x.length}),Jn.length>0&&Wt([]);let z=await T_(re,x,ge=>{W.warn("upload failed",{err:ge}),n.emit("error",ge),e.onError?.(ge)});J.unlock(),J.play("messageSent");let ie=_a(g,z),oe=Wo();u.value=[...u.value,ie,oe],Oe.attach(oe),pr(n,e,"user",g);let A=d.value??Ce();d.value||(d.value=A,o.saveSessionId(A));let Dr=sa({messages:u.value.slice(0,-1).map(fa),sessionId:A,tools:e.features.tools,responseMode:e.responseMode,visitorId:i,userPrefs:o.loadUserPrefs()});Ft(!0);let Pe=re.sendMessage(Dr);Gt(()=>Pe.cancel);try{for await(let ge of Pe.iter)Oe.apply(ge.chunk),ge.chunk.type==="finish"&&ge.chunk.canContinue===!1&&bt(!1);oe.status="complete",J.play("messageReceived"),pr(n,e,"assistant",Go(oe))}catch(ge){oe.status="error",oe.errorText=Xe(ge,e.strings),J.play("error"),n.emit("error",ge),e.onError?.(ge)}finally{Oe.detach(),Ft(!1),Gt(null),u.value=[...u.value]}},[Fe,re,Oe,u,d,e,n,Jn.length,J,o,i]),bl=M(()=>{W.info("stop"),n.emit("stop",void 0),Kt?.()},[Kt,n]),yl=M(()=>{J.toggleMuted();let g=J.mutedSig.value;W.info("soundToggle",{muted:g}),n.emit("soundToggle",{muted:g})},[J,n]),Pt=M(()=>{if(Za(e.mode,le)==="exit-fullscreen"){W.info("close \u2192 exit-fullscreen",{mode:e.mode}),fe("normal"),n.emit("fullscreen",!1);return}W.info("close \u2192 panel closed",{mode:e.mode}),Q(!1),o.savePanelOpen(!1),n.emit("close",void 0),e.onClose?.()},[n,e,o,le]),tt=M(()=>{e.modules.list.some(g=>g.layout==="chat")&&re.listSessions({limit:50}).then(g=>{f.value=g.sessions.reduce((x,z)=>x+(z.unreadCount??0),0)}).catch(g=>W.debug("refreshUnread failed (non-fatal)",{err:g}))},[re,e.modules,f]),Rr=N(!1);w(()=>{!O||Rr.current||(Rr.current=!0,tt())},[O,tt]);let eo=M(()=>{W.info("open",{mode:e.mode}),J.unlock(),C(!0),Q(!0),o.savePanelOpen(!0),!$&&!de&&Y(),setTimeout(()=>C(!1),A_),tt(),n.emit("open",void 0),e.onOpen?.()},[n,e,J,o,$,de,Y,tt]),to=M(()=>{W.info("clear \u2192 new conversation",{wasStreaming:Fe}),n.emit("clear",void 0),Fe&&Kt?.(),Qn.current?.abort(),u.value=[],d.value=void 0,o.clearSession(),bt(!0),yt({newConversation:!0})},[Fe,Kt,u,d,o,yt,n]),no=M(()=>{to(),Yn("chat");let g=e.modules.list.find(x=>x.layout==="chat")?.id;g&&T.switchTab(g)},[to,T,e]),oo=M(()=>{let g=le==="expanded"?"normal":"expanded";W.info("expand",{from:le,expanded:g==="expanded"}),fe(g),o.savePanelSize(g),n.emit("expand",g==="expanded")},[n,le,o]),ro=M(()=>{let g=le==="fullscreen"?"normal":"fullscreen";W.info("fullscreen",{from:le,fullscreen:g==="fullscreen"}),fe(g),o.savePanelSize(g),n.emit("fullscreen",g==="fullscreen")},[n,le,o]),io=M(()=>{if(!e.popOutUrl)return;let g=new URL(e.popOutUrl);d.value&&g.searchParams.set("chat",d.value),e.widgetId!=="default"&&g.searchParams.set("widgetId",e.widgetId),W.info("popOut",{url:g.toString()}),window.open(g.toString(),"_blank","noopener,noreferrer"),n.emit("popOut",void 0)},[n,d,e.popOutUrl,e.widgetId]),xl=M(()=>{Yn(g=>{let x=g==="history"?"chat":"history";return W.info("toggleHistory",{view:x}),n.emit("toggleHistory",{view:x}),x})},[n]),Pl=M(g=>{W.info("localeChange",{locale:g}),c(g),De({locale:g}),n.emit("localeChange",g)},[De,n]),Sl=M(g=>{W.info("themeChange",{mode:g}),p(g),t.dataset.theme=g,De({themeMode:g}),n.emit("themeChange",g)},[t,De,n]),wl=M(()=>{ml(g=>{let x=!g;return W.info("sidebarToggle",{collapsed:x}),o.saveSidebarCollapsed(x),n.emit("sidebarToggle",{collapsed:x}),x})},[o,n]),kl=M(g=>{W.info("resize",g),De({widgetSize:g}),n.emit("resize",g)},[De,n]),ao=M(async g=>{W.info("selectChat",{sessionId:g}),n.emit("selectChat",{sessionId:g});try{let x=await re.loadSession(g),z=x.messages.map(Ko);u.value=z,d.value=x.sessionId,o.saveSessionId(x.sessionId),x.agent&&kr(x.agent),bt(x.canContinue),Wt(x.suggestions??[]),Yn("chat"),await re.markRead(g),tt()}catch(x){n.emit("error",x),e.onError?.(x)}},[re,u,d,n,e,o,tt]);w(()=>qi(t,{open:eo,close:Pt,expand:oo,fullscreen:ro,popout:io}),[t,eo,Pt,oo,ro,io]);let xe=he(()=>xo(e,l,_),[e,l,_]),Mr={options:xe,transport:re,feedback:J,bus:n,view:ll,canSend:cl,isStreaming:Fe,loadingMessages:v,messagesSig:u,agent:dl,suggestions:Jn,initialWidgetSize:s.widgetSize??null,visitorId:i,onClose:Pt,onClear:to,onExpand:oo,onFullscreen:ro,onPopOut:io,onSoundToggle:yl,onToggleHistory:xl,onSelectHistoryChat:ao,onNewChat:no,onLocaleChange:Pl,onThemeChange:Sl,onWidgetSizeChange:kl,onSend:Ir,onStop:bl,onSuggestion:g=>{let x=g.text??g.label;W.info("suggestion",{text:x}),n.emit("suggestion",{text:x}),Ir(x,[])}},Cl=g=>{ao(g);let x=y();x&&T.switchTab(x)};if(!O)return null;let St=xe.modules.list,so=g=>{let x=Nn("close",xe.mode,g);return St.length===0?r(Ys,{strings:xe.strings,onClose:x?Pt:void 0}):St.length===1&&St[0]?.layout==="chat"?r(ks,{...Mr,panelSize:g}):r(js,{panelProps:{...Mr,panelSize:g,onClose:x?Pt:void 0},enabledModules:St,nav:T,unreadCount:f.value,onSelectSession:Cl,onStartNewSession:no,onSetPanelSize:fe})};if(e.mode==="page"){let g=z=>{ao(z.sessionId)},x=St.some(z=>z.layout==="chat");return r("div",{class:`${ur}-anchor`,children:r(As,{site:_l,blocks:pl,transport:re,strings:xe.strings,visitorId:i,showConversations:x,onSelectChat:g,onNewChat:no,sidebarCollapsed:gl,onToggleSidebarCollapsed:wl,children:so("fullscreen")})})}if(ue){let g=e.mode==="standalone"?"fullscreen":le;return r("div",{class:`${ur}-anchor`,children:so(g)})}let Lr=e.mode==="drawer",Nr=!(e.mode==="modal")&&!e.launcher.hidden&&(!X||ze),Or=Nr&&!ze&&!$&&!Lr?xe.launcher.callout:null;return r("div",{class:`${ur}-anchor`,"data-launcher-size":xe.launcher.size,children:[X?so(le):null,Nr?r(ja,{onToggle:eo,launcher:xe.launcher,strings:xe.strings,leaving:ze,edgeTab:Lr}):null,Or?r(Ya,{callout:Or,launcherPosition:xe.position,closeLabel:xe.strings.close,onDismiss:Y}):null]})}function E_(e){let t=e?.url??(typeof location<"u"?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}var A_=120;async function T_(e,t,n){let o=[];for(let i of t)try{let{id:a,url:s}=await e.uploadFile(i.file);o.push({id:a,name:i.name,mediaType:i.mediaType,size:i.size,url:s})}catch(a){n(a)}return o}function pr(e,t,n,o){let i={role:n,text:o};e.emit("message",i),t.onMessage?.(i)}var I_=R.scope("error-boundary"),qn=class extends $e{constructor(){super(...arguments);H(this,"state",{crashed:!1})}componentDidCatch(n,o){I_.error("widget render crashed",{error:n,componentStack:o?.componentStack}),this.setState({crashed:!0}),this.props.onError(n,o?.componentStack)}render(){return this.state.crashed?this.props.fallback:this.props.children}};var R_=R.scope("iframe"),M_='<!doctype html><html><head><meta charset="utf-8"><style>html,body{margin:0;padding:0;background:transparent;overflow:hidden}</style></head><body></body></html>';function tl(e,t,n="closed",o="floating",i=null){R_.debug("createIframeMount",{position:t,initialMode:n,layoutMode:o,hasTarget:!!i});let a=document.createElement("iframe");a.title=`${h.name} chat`,a.setAttribute("allow","microphone; clipboard-write"),el(a,t,n,o),(o==="inline"&&i?i:document.body).appendChild(a);let l=a.contentDocument;if(!l)throw new Error("iframe contentDocument unavailable (cross-origin?)");l.open(),l.write(M_),l.close();let c=dt({...e,target:l.body}),_=new MutationObserver(()=>{el(a,t,c.hostElement.dataset.mode??"closed",o)});return _.observe(c.hostElement,{attributes:!0,attributeFilter:["data-mode"]}),{...c,iframeElement:a,destroy(){_.disconnect(),c.destroy(),a.remove()}}}var fr="border:0;background:transparent;z-index:2147483647;pointer-events:auto;",Zs={closed:{w:"88px",h:"88px"},expanded:{w:"min(calc(100vw - 32px), 680px)",h:"min(calc(100vh - 32px), 860px)"},open:{w:"min(calc(100vw - 32px), 440px)",h:"min(calc(100vh - 32px), 700px)"}};function el(e,t,n,o){if(n==="fullscreen"||o==="standalone"){e.style.cssText=`${fr}position:fixed;inset:0;width:100vw;height:100vh;`;return}if(o==="inline"){e.style.cssText=`${fr}position:static;display:block;width:100%;height:100%;`;return}let i=t.startsWith("top-")?"top":"bottom",a=t.endsWith("-left")?"left":"right",{w:s,h:l}=Zs[n]??Zs.open;e.style.cssText=`${fr}position:fixed;${i}:16px;${a}:16px;width:${s};height:${l};`}var vt=class{constructor(){H(this,"handlers",new Map)}on(t,n){let o=this.handlers.get(t);return o||(o=new Set,this.handlers.set(t,o)),o.add(n),()=>this.handlers.get(t)?.delete(n)}emit(t,n){let o=this.handlers.get(t);if(o)for(let i of o)try{i(n)}catch{}}clear(){this.handlers.clear()}};var L_=R.scope("hooks"),mr="*",gr=new Set;function hr(e,t,n){let o={widgetId:e,event:t,listener:n};return gr.add(o),()=>{gr.delete(o)}}function N_(e,t,n){let o=[...gr];for(let i of o)if(O_(i.widgetId,e.widgetId)&&!(i.event!==mr&&i.event!==t))try{i.listener(e,t,n)}catch(a){L_.warn("hook listener threw",{event:t,error:a})}}function nl(e,t){let n=[];for(let o of D_)n.push(t.on(o,i=>{N_(e,o,i)}));return()=>{for(let o of n)o()}}function vr(e){if(Array.isArray(e))for(let t of e){let n=H_(t);n&&hr(n.widgetId,n.event,n.listener)}}function O_(e,t){return e===mr||e===t}var D_=["open","close","expand","fullscreen","popOut","resize","message","send","stop","clear","selectChat","suggestion","toggleHistory","attach","removeAttachment","voiceStart","voiceStop","voiceCancel","localeChange","themeChange","soundToggle","sidebarToggle","calloutDismiss","error","sessionStarted","visitorRebound","sessionRebound"];function H_(e){let t,n,o;if(Array.isArray(e))[t,n,o]=e;else if(e&&typeof e=="object")({widgetId:t,event:n,listener:o}=e);else return null;return typeof t!="string"||typeof n!="string"||typeof o!="function"?null:{widgetId:t,event:n,listener:o}}var Ne=new Map;function Xn(e){e.debug!==void 0&&Qt(e.debug);let t=R.scope("mount");t.info("mount",{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let n=e,o=He(n),i=o.widgetId,a=Ne.get(i);a&&(t.debug("destroy existing instance at slot",{widgetId:i}),a.destroy());let s=xr(o),l=o.iframe?tl({position:Ve(o.mode)},o.position,s,o.mode,e.target??null):dt({position:Ve(o.mode),target:e.target??null}),c=qe(o.widgetId,o.storage),_=()=>{let y=c.loadUserPrefs().themeMode;xn(l.hostElement,y?{...o,themeMode:y}:o)};_(),_t(l.hostElement,s),l.hostElement.dataset.widgetId=i;let p=new vt,d=y=>{p.emit("error",y),o.onError?.(y)},u=()=>{at(it(qn,{onError:d},it(Vn,{bus:p,hostElement:l.hostElement,options:o})),l.appRoot)};u(),p.on("sessionStarted",y=>{y.config&&(n=Ct(n,y.config),o=He(n),yn(l.hostElement,Ve(o.mode)),_(),u())});let f=l.hostElement,v=null,m=y=>{y.debug!==void 0&&Qt(y.debug),n={...n,...y},o=He(n),_(),u()},b={widgetId:i,open:()=>Mt(f,"open"),close:()=>Mt(f,"close"),expand:()=>Mt(f,"expand"),popOut:()=>Mt(f,"popout"),on:(y,S)=>p.on(y,S),update:y=>{t.debug("update",{patch:y}),m(y)},setUserContext:y=>{t.debug("setUserContext",{keys:Object.keys(y)}),m({userContext:{...n.userContext,...y}})},clearUserContext:()=>{t.debug("clearUserContext"),m({userContext:void 0})},setPageContext:y=>{t.debug("setPageContext",{keys:Object.keys(y)}),m({pageContext:{...n.pageContext,...y}})},clearPageContext:()=>{t.debug("clearPageContext"),m({pageContext:void 0})},setDebug:y=>{Qt(y),t.info("debug level set",{level:wt()})},debugLevel:()=>wt(),onLog:y=>kt(y),destroy:()=>{t.info("destroy",{widgetId:i}),v?.(),p.clear(),at(null,l.appRoot),l.destroy(),Ne.get(i)===b&&Ne.delete(i)}};return v=nl(b,p),Ne.set(i,b),b}function jn(e){let t=e.widgetId??"default",n=Ne.get(t);return n?(n.update(e),n):Xn(e)}function br(e){if(e!==void 0){Ne.get(e)?.destroy();return}let t=[...Ne.values()];for(let n of t)n.destroy()}function we(e="default"){return Ne.get(e)??null}function ol(){return[...Ne.values()]}function yr(e,t,n){return hr(e,t,n)}var rl="0.1.0";function xr(e){if(e.mode==="standalone")return"standalone";if(e.mode==="inline")return"inline";let t=qe(e.widgetId,e.storage),{panelOpen:n,panelSize:o}=Lt(e,ut(),t.loadPanelOpen(),t.loadPanelSize());return Pn(e.mode,o,n)}var Pr=class extends HTMLElement{constructor(){super(...arguments);H(this,"bus",new vt);H(this,"mountResult",null);H(this,"rawOptions",{})}static get observedAttributes(){return Po}connectedCallback(){this.boot()}disconnectedCallback(){this.mountResult&&(at(null,this.mountResult.appRoot),this.bus.clear())}attributeChangedCallback(){this.isConnected&&this.boot()}boot(){if(this.rawOptions=en(n=>this.getAttribute(n)),!this.mountResult){let n=He(this.rawOptions);this.mountResult=dt({existingHost:this,position:Ve(n.mode)}),this.bus.on("sessionStarted",o=>{o.config&&(this.rawOptions=Ct(this.rawOptions,o.config),this.renderApp())})}this.renderApp()}renderApp(){if(!this.mountResult)return;let n=He(this.rawOptions),o=this.mountResult.hostElement;yn(o,Ve(n.mode));let i=qe(n.widgetId,n.storage).loadUserPrefs().themeMode;xn(o,i?{...n,themeMode:i}:n),_t(o,xr(n)),at(it(Vn,{bus:this.bus,hostElement:o,options:n}),this.mountResult.appRoot)}},il=!1;function Sr(){if(il||typeof customElements>"u")return;let e=h.tagName;customElements.get(e)||customElements.define(e,Pr),il=!0}typeof customElements<"u"&&Sr();var al=R.scope("iife"),wr={close:()=>we()?.close(),destroy:()=>br(),expand:()=>we()?.expand(),hook:(e,t,n)=>typeof e=="string"&&typeof t=="string"&&typeof n=="function"?yr(e,t,n):void 0,init:e=>jn(e),mount:e=>Xn(e),on:(e,t)=>we()?.on(e,t),onLog:e=>kt(e),open:()=>we()?.open(),popOut:()=>we()?.popOut(),setDebug:e=>we()?.setDebug(e),update:e=>we()?.update(e)};function sl(e,...t){let n=wr[e];if(!n){al.warn("unknown command",{command:e});return}return n(...t)}function B_(){let e=((n,...o)=>sl(n,...o));e.init=jn,e.mount=Xn,e.destroy=br,e.getInstance=we,e.getAllInstances=ol,e.version=rl,e.hook=yr,e.debugLevel=()=>wt(),e.onLog=kt;let t=new Set(["init","mount","hook","onLog"]);for(let n of Object.keys(wr))t.has(n)||(e[n]=(...o)=>wr[n](...o));return e}function $_(e){let t=e?.q;if(t)for(let n of t){let o=[...n],[i,...a]=o;if(typeof i=="string")try{sl(i,...a)}catch(s){al.warn("queued command failed",{command:i,error:s})}}}function U_(){let e=[],t=e.push.bind(e);return e.push=(...n)=>{for(let o of n)vr([o]);return t(...n)},e}function z_(){let e=document.scripts;for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.src.includes("elements"))return n}return null}function F_(){if(typeof window>"u"||typeof document>"u")return;let e=globalThis[h.global],t=B_();globalThis[h.global]=t,Sr();let n=`${h.global}Hooks`,o=globalThis[n];if(vr(o),globalThis[n]=U_(),$_(e),we())return;let i=document.currentScript??z_(),a=So(i?.dataset);if(!a.publicKey)return;let s=()=>{we()||jn(a)};if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",s,{once:!0});return}s()}F_();return Ml(W_);})();
40
40
  //# sourceMappingURL=elements.js.map