@yartsun/hypershadow-widget 0.1.18 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/index.cjs.js +1 -1
- package/dist/lib/index.es.js +2 -2
- package/dist/standalone/hs-widget.es.js +3 -3
- package/dist/standalone/hs-widget.iife.js +1 -1
- package/dist/static/widget/v1/chat/assets/{ChatWrapper.vue_vue_type_style_index_0_lang-CshUvpPd.js → ChatWrapper.vue_vue_type_style_index_0_lang-pVu31fZ3.js} +1 -1
- package/dist/static/widget/v1/chat/assets/{federation-expose-Chat-CarouQCl.js → federation-expose-Chat-GQ2f7Bv3.js} +1 -1
- package/dist/static/widget/v1/chat/assets/{index-CeiKwoGg.js → index-EmZb1-Ix.js} +1 -1
- package/dist/static/widget/v1/chat/assets/remoteChat.js +1 -1
- package/dist/static/widget/v1/chat/assets/{style-Bo16kVmG.css → style-DM9xNhPA.css} +1 -1
- package/dist/static/widget/v1/chat/index.html +3 -3
- package/package.json +1 -1
package/dist/lib/index.cjs.js
CHANGED
|
@@ -112,4 +112,4 @@ ${r}</tr>
|
|
|
112
112
|
`}tablecell(r){let e=this.parser.parseInline(r.tokens),t=r.header?"th":"td";return(r.align?`<${t} align="${r.align}">`:`<${t}>`)+e+`</${t}>
|
|
113
113
|
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${Dt(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${this.parser.parseInline(r)}</del>`}link({href:r,title:e,tokens:t}){let n=this.parser.parseInline(t),s=Ei(r);if(s===null)return n;r=s;let i='<a href="'+r+'"';return e&&(i+=' title="'+Dt(e)+'"'),i+=">"+n+"</a>",i}image({href:r,title:e,text:t,tokens:n}){n&&(t=this.parser.parseInline(n,this.parser.textRenderer));let s=Ei(r);if(s===null)return Dt(t);r=s;let i=`<img src="${r}" alt="${t}"`;return e&&(i+=` title="${Dt(e)}"`),i+=">",i}text(r){return"tokens"in r&&r.tokens?this.parser.parseInline(r.tokens):"escaped"in r&&r.escaped?r.text:Dt(r.text)}},Fs=class{strong({text:r}){return r}em({text:r}){return r}codespan({text:r}){return r}del({text:r}){return r}html({text:r}){return r}text({text:r}){return r}link({text:r}){return""+r}image({text:r}){return""+r}br(){return""}checkbox({raw:r}){return r}},vt=class cs{constructor(e){ce(this,"options");ce(this,"renderer");ce(this,"textRenderer");this.options=e||an,this.options.renderer=this.options.renderer||new _r,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Fs}static parse(e,t){return new cs(t).parse(e)}static parseInline(e,t){return new cs(t).parseInline(e)}parse(e){var n,s;let t="";for(let i=0;i<e.length;i++){let a=e[i];if((s=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&s[a.type]){let l=a,u=this.options.extensions.renderers[l.type].call({parser:this},l);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){t+=u||"";continue}}let o=a;switch(o.type){case"space":{t+=this.renderer.space(o);break}case"hr":{t+=this.renderer.hr(o);break}case"heading":{t+=this.renderer.heading(o);break}case"code":{t+=this.renderer.code(o);break}case"table":{t+=this.renderer.table(o);break}case"blockquote":{t+=this.renderer.blockquote(o);break}case"list":{t+=this.renderer.list(o);break}case"checkbox":{t+=this.renderer.checkbox(o);break}case"html":{t+=this.renderer.html(o);break}case"def":{t+=this.renderer.def(o);break}case"paragraph":{t+=this.renderer.paragraph(o);break}case"text":{t+=this.renderer.text(o);break}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return t}parseInline(e,t=this.renderer){var s,i;let n="";for(let a=0;a<e.length;a++){let o=e[a];if((i=(s=this.options.extensions)==null?void 0:s.renderers)!=null&&i[o.type]){let u=this.options.extensions.renderers[o.type].call({parser:this},o);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){n+=u||"";continue}}let l=o;switch(l.type){case"escape":{n+=t.text(l);break}case"html":{n+=t.html(l);break}case"link":{n+=t.link(l);break}case"image":{n+=t.image(l);break}case"checkbox":{n+=t.checkbox(l);break}case"strong":{n+=t.strong(l);break}case"em":{n+=t.em(l);break}case"codespan":{n+=t.codespan(l);break}case"br":{n+=t.br(l);break}case"del":{n+=t.del(l);break}case"text":{n+=t.text(l);break}default:{let u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return n}},cr,Vn=(cr=class{constructor(r){ce(this,"options");ce(this,"block");this.options=r||an}preprocess(r){return r}postprocess(r){return r}processAllTokens(r){return r}emStrongMask(r){return r}provideLexer(){return this.block?yt.lex:yt.lexInline}provideParser(){return this.block?vt.parse:vt.parseInline}},ce(cr,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),ce(cr,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),cr),Wd=class{constructor(...r){ce(this,"defaults",zs());ce(this,"options",this.setOptions);ce(this,"parse",this.parseMarkdown(!0));ce(this,"parseInline",this.parseMarkdown(!1));ce(this,"Parser",vt);ce(this,"Renderer",_r);ce(this,"TextRenderer",Fs);ce(this,"Lexer",yt);ce(this,"Tokenizer",Cr);ce(this,"Hooks",Vn);this.use(...r)}walkTokens(r,e){var n,s;let t=[];for(let i of r)switch(t=t.concat(e.call(this,i)),i.type){case"table":{let a=i;for(let o of a.header)t=t.concat(this.walkTokens(o.tokens,e));for(let o of a.rows)for(let l of o)t=t.concat(this.walkTokens(l.tokens,e));break}case"list":{let a=i;t=t.concat(this.walkTokens(a.items,e));break}default:{let a=i;(s=(n=this.defaults.extensions)==null?void 0:n.childTokens)!=null&&s[a.type]?this.defaults.extensions.childTokens[a.type].forEach(o=>{let l=a[o].flat(1/0);t=t.concat(this.walkTokens(l,e))}):a.tokens&&(t=t.concat(this.walkTokens(a.tokens,e)))}}return t}use(...r){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return r.forEach(t=>{let n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let i=e.renderers[s.name];i?e.renderers[s.name]=function(...a){let o=s.renderer.apply(this,a);return o===!1&&(o=i.apply(this,a)),o}:e.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[s.level];i?i.unshift(s.tokenizer):e[s.level]=[s.tokenizer],s.start&&(s.level==="block"?e.startBlock?e.startBlock.push(s.start):e.startBlock=[s.start]:s.level==="inline"&&(e.startInline?e.startInline.push(s.start):e.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(e.childTokens[s.name]=s.childTokens)}),n.extensions=e),t.renderer){let s=this.defaults.renderer||new _r(this.defaults);for(let i in t.renderer){if(!(i in s))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let a=i,o=t.renderer[a],l=s[a];s[a]=(...u)=>{let d=o.apply(s,u);return d===!1&&(d=l.apply(s,u)),d||""}}n.renderer=s}if(t.tokenizer){let s=this.defaults.tokenizer||new Cr(this.defaults);for(let i in t.tokenizer){if(!(i in s))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let a=i,o=t.tokenizer[a],l=s[a];s[a]=(...u)=>{let d=o.apply(s,u);return d===!1&&(d=l.apply(s,u)),d}}n.tokenizer=s}if(t.hooks){let s=this.defaults.hooks||new Vn;for(let i in t.hooks){if(!(i in s))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let a=i,o=t.hooks[a],l=s[a];Vn.passThroughHooks.has(i)?s[a]=u=>{if(this.defaults.async&&Vn.passThroughHooksRespectAsync.has(i))return(async()=>{let p=await o.call(s,u);return l.call(s,p)})();let d=o.call(s,u);return l.call(s,d)}:s[a]=(...u)=>{if(this.defaults.async)return(async()=>{let p=await o.apply(s,u);return p===!1&&(p=await l.apply(s,u)),p})();let d=o.apply(s,u);return d===!1&&(d=l.apply(s,u)),d}}n.hooks=s}if(t.walkTokens){let s=this.defaults.walkTokens,i=t.walkTokens;n.walkTokens=function(a){let o=[];return o.push(i.call(this,a)),s&&(o=o.concat(s.call(this,a))),o}}this.defaults={...this.defaults,...n}}),this}setOptions(r){return this.defaults={...this.defaults,...r},this}lexer(r,e){return yt.lex(r,e??this.defaults)}parser(r,e){return vt.parse(r,e??this.defaults)}parseMarkdown(r){return(e,t)=>{let n={...t},s={...this.defaults,...n},i=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&n.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=r),s.async)return(async()=>{let a=s.hooks?await s.hooks.preprocess(e):e,o=await(s.hooks?await s.hooks.provideLexer():r?yt.lex:yt.lexInline)(a,s),l=s.hooks?await s.hooks.processAllTokens(o):o;s.walkTokens&&await Promise.all(this.walkTokens(l,s.walkTokens));let u=await(s.hooks?await s.hooks.provideParser():r?vt.parse:vt.parseInline)(l,s);return s.hooks?await s.hooks.postprocess(u):u})().catch(i);try{s.hooks&&(e=s.hooks.preprocess(e));let a=(s.hooks?s.hooks.provideLexer():r?yt.lex:yt.lexInline)(e,s);s.hooks&&(a=s.hooks.processAllTokens(a)),s.walkTokens&&this.walkTokens(a,s.walkTokens);let o=(s.hooks?s.hooks.provideParser():r?vt.parse:vt.parseInline)(a,s);return s.hooks&&(o=s.hooks.postprocess(o)),o}catch(a){return i(a)}}}onError(r,e){return t=>{if(t.message+=`
|
|
114
114
|
Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error occurred:</p><pre>"+Dt(t.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(t);throw t}}},sn=new Wd;function xe(r,e){return sn.parse(r,e)}xe.options=xe.setOptions=function(r){return sn.setOptions(r),xe.defaults=sn.defaults,ra(xe.defaults),xe};xe.getDefaults=zs;xe.defaults=an;xe.use=function(...r){return sn.use(...r),xe.defaults=sn.defaults,ra(xe.defaults),xe};xe.walkTokens=function(r,e){return sn.walkTokens(r,e)};xe.parseInline=sn.parseInline;xe.Parser=vt;xe.parser=vt.parse;xe.Renderer=_r;xe.TextRenderer=Fs;xe.Lexer=yt;xe.lexer=yt.lex;xe.Tokenizer=Cr;xe.Hooks=Vn;xe.parse=xe;xe.options;xe.setOptions;xe.use;xe.walkTokens;xe.parseInline;vt.parse;yt.lex;const Hn=class Hn{constructor(e={}){ce(this,"wordsPerChunk");this.wordsPerChunk=e.wordsPerChunk??8,this.configureMarked()}parseMarkdownToHtml(e){return e?xe.parse(e):""}extractPlainText(e){return e&&new DOMParser().parseFromString(e,"text/html").body.textContent||""}truncateHtmlByChars(e,t){if(t<=0||!e)return"";const s=new DOMParser().parseFromString(`<div>${e}</div>`,"text/html").body.firstChild;if(!s)return"";let i=0,a=!1;const o=l=>{var d;if(a){(d=l.parentNode)==null||d.removeChild(l);return}if(l.nodeType===Node.TEXT_NODE){const p=l.textContent||"";if(i+p.length>t)for(l.textContent=p.slice(0,t-i),a=!0,i=t;l.nextSibling;)l.nextSibling.remove();else i+=p.length;return}const u=Array.from(l.childNodes);for(const p of u)o(p)};return o(s),s.innerHTML}buildRevealBoundaries(e){if(!e)return[];const t=[];let n=-1;for(;;){const s=e.indexOf(`
|
|
115
|
-
`,n+1);if(s===-1)break;t.push(s+1),n=s}if(!t.length||t[t.length-1]<e.length){let s=0;const i=/\S+\s*/g;let a=null;for(;(a=i.exec(e))!==null;)s+=1,s%this.wordsPerChunk===0&&t.push(a.index+a[0].length)}return(!t.length||t[t.length-1]<e.length)&&t.push(e.length),t}configureMarked(){Hn.markedConfigured||(xe.setOptions({breaks:!0,gfm:!0}),Hn.markedConfigured=!0)}};ce(Hn,"markedConfigured",!1);let us=Hn;function qd(r){const e=r.batchChars??120,t=r.debounceMs??48,n=r.stepDelayMs??90;let s=r.getTotalTextChars();const i=c.ref(s);let a=null,o=null,l=0,u=Promise.resolve(),d=[];const p=S=>new Promise(y=>window.setTimeout(y,S)),f=S=>{o!==null&&cancelAnimationFrame(o),o=requestAnimationFrame(()=>{o=null,S()})},g=S=>{u=u.then(async()=>{for(;d.length&&S===l;){const y=d.shift();!y||y<=s||(s=y,i.value=y,await p(n))}if(S===l&&!d.length){const y=r.getTotalTextChars();s<y&&m(!1)}})},w=(S,y)=>{const v=r.buildRevealBoundaries(r.getPlainText()).filter(x=>x>s&&x<=S);v.length&&(d.push(...v),g(y))},h=S=>{const y=r.getTotalTextChars(),b=S?y:Math.min(y,s+e);b<=s||w(b,l)},m=(S=!1)=>{a!==null&&(window.clearTimeout(a),a=null);const y=S?0:t;a=window.setTimeout(()=>{a=null,f(()=>{h(S)})},y)};return{displayedLength:i,scheduleFlush:m,reset:()=>{l+=1,u=Promise.resolve(),d=[],a!==null&&(window.clearTimeout(a),a=null),o!==null&&(cancelAnimationFrame(o),o=null),s=0,i.value=0}}}function Gd(r){const e=c.ref(!1),t=c.ref(!1),n=c.ref(null);let s=null,i=null;const a=()=>c.unref(r.ttsUrl),o=()=>{s&&(s.pause(),s.src="",s=null),i&&(URL.revokeObjectURL(i),i=null)},l=async g=>{const w=a();if(!w)throw n.value="TTS URL not configured",new Error(n.value);if(!(g!=null&&g.trim()))throw n.value="No text to speak",new Error(n.value);p(),t.value=!0,n.value=null;try{const h=await fetch(w,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:g.trim(),voice:r.voice||"nova"})});if(!h.ok){const k=await h.json().catch(()=>({}));throw new Error(k.error||`TTS request failed: ${h.status}`)}const m=await h.blob();return i=URL.createObjectURL(m),new Promise((k,S)=>{s=new Audio(i),s.onplay=()=>{e.value=!0,t.value=!1},s.onended=()=>{e.value=!1,o(),k()},s.onerror=()=>{e.value=!1,t.value=!1,n.value="Audio playback failed",o(),S(n.value)},s.play().catch(y=>{t.value=!1,n.value=y.message,S(y)})})}catch(h){throw t.value=!1,n.value=h.message||"TTS failed",h}},u=()=>{s&&e.value&&(s.pause(),e.value=!1)},d=()=>{s&&!e.value&&(s.play(),e.value=!0)},p=()=>{e.value=!1,t.value=!1,o()},f=g=>{e.value?u():s&&s.paused&&s.currentTime>0?d():g&&l(g)};return c.onUnmounted(()=>{p()}),{isSpeaking:e,isLoading:t,error:n,speak:l,pause:u,resume:d,stop:p,toggle:f}}const Xd=["aria-label"],Zd={key:1,width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yd=["aria-label","disabled"],Qd={key:1,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Jd=c.defineComponent({__name:"MessageBotActions",props:{messageText:{},color:{},ttsUrl:{},ttsEnabled:{type:Boolean},visible:{type:Boolean},textElementRef:{}},setup(r){const e=r,t=c.ref("idle"),n=c.ref(!1);let s;const i=()=>{s&&(window.clearTimeout(s),s=void 0)},a=(v=1500)=>{i(),s=window.setTimeout(()=>{t.value="idle"},v)},o=()=>{var x,_;const v=(_=(x=e.textElementRef)==null?void 0:x.innerText)==null?void 0:_.trim();return v||(e.messageText||"").trim()},l=v=>{const x=document.createElement("textarea");x.value=v,x.setAttribute("readonly",""),x.style.position="fixed",x.style.top="-9999px",x.style.left="-9999px",document.body.appendChild(x),x.select();const _=document.execCommand("copy");return document.body.removeChild(x),_},u=async()=>{var x;const v=o();if(v)try{if((x=navigator.clipboard)!=null&&x.writeText)await navigator.clipboard.writeText(v);else if(!l(v))throw new Error("execCommand(copy) failed");t.value="copied",a()}catch(_){console.warn("Copy failed",_),t.value="error",a(2e3)}},d=c.computed(()=>t.value==="copied"?"Copied":t.value==="error"?"Copy failed":"Copy"),p=c.computed(()=>n.value||t.value!=="idle"),f=c.computed(()=>e.ttsUrl),{speak:g,stop:w,isSpeaking:h,isLoading:m}=Gd({ttsUrl:f,voice:"nova"}),k=c.ref(!1),S=c.computed(()=>m.value?"Loading...":h.value?"Stop":"Speak"),y=c.computed(()=>k.value||h.value||m.value),b=()=>{h.value?w():e.messageText&&g(e.messageText)};return c.onBeforeUnmount(()=>{i()}),(v,x)=>(c.openBlock(),c.createElementBlock("div",{class:c.normalizeClass(["tw:flex tw:items-center tw:transition-opacity tw:duration-200 tw:gap-1 tw:z-10 tw:justify-end",{"tw:opacity-0":!r.visible}])},[c.createElementVNode("div",{class:"tw:relative tw:flex",onMouseenter:x[2]||(x[2]=_=>n.value=!0),onMouseleave:x[3]||(x[3]=_=>n.value=!1)},[c.createElementVNode("span",{class:c.normalizeClass(["tw:pointer-events-none tw:absolute tw:bottom-full tw:left-[-50%] tw:mb-2 tw:whitespace-nowrap tw:text-[11px] tw:px-2 tw:py-1 tw:rounded tw:bg-black/80 tw:text-white tw:opacity-0 tw:transition-opacity tw:duration-150 tw:z-10",{"tw:opacity-100":p.value}]),role:"tooltip"},c.toDisplayString(d.value),3),c.createElementVNode("button",{class:"copy-button tw:opacity-80 tw:transition-opacity tw:duration-200 tw:cursor-pointer tw:rounded tw:hover:opacity-100",onClick:c.withModifiers(u,["stop"]),onFocus:x[0]||(x[0]=_=>n.value=!0),onBlur:x[1]||(x[1]=_=>n.value=!1),"aria-label":d.value,type:"button"},[t.value==="copied"?(c.openBlock(),c.createElementBlock("svg",{key:0,xmlns:"http://www.w3.org/2000/svg",class:"tw:w-3.5 tw:h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:c.normalizeStyle({color:r.color,opacity:.7})},[...x[8]||(x[8]=[c.createElementVNode("polyline",{points:"20 6 9 17 4 12"},null,-1)])],4)):(c.openBlock(),c.createElementBlock("svg",Zd,[...x[9]||(x[9]=[c.createElementVNode("path",{d:"M10.6667 8.60004V11.4C10.6667 13.7334 9.73334 14.6667 7.40001 14.6667H4.60001C2.26668 14.6667 1.33334 13.7334 1.33334 11.4V8.60004C1.33334 6.26671 2.26668 5.33337 4.60001 5.33337H7.40001C9.73334 5.33337 10.6667 6.26671 10.6667 8.60004Z",fill:"#A6A6A6"},null,-1),c.createElementVNode("path",{d:"M11.4 1.33337H8.6C6.6793 1.33337 5.71167 1.97031 5.42923 3.49264C5.32764 4.04021 5.79499 4.50004 6.3519 4.50004H7.4C10.2 4.50004 11.5 5.80004 11.5 8.60004V9.64814C11.5 10.205 11.9598 10.6724 12.5074 10.5708C14.0297 10.2884 14.6667 9.32074 14.6667 7.40004V4.60004C14.6667 2.26671 13.7333 1.33337 11.4 1.33337Z",fill:"#A6A6A6"},null,-1)])]))],40,Xd)],32),r.ttsEnabled?(c.openBlock(),c.createElementBlock("div",{key:0,class:"tw:relative tw:flex",onMouseenter:x[6]||(x[6]=_=>k.value=!0),onMouseleave:x[7]||(x[7]=_=>k.value=!1)},[c.createElementVNode("span",{class:c.normalizeClass(["tw:pointer-events-none tw:absolute tw:bottom-full tw:left-[-50%] tw:mb-2 tw:whitespace-nowrap tw:text-[11px] tw:px-2 tw:py-1 tw:rounded tw:bg-black/80 tw:text-white tw:opacity-0 tw:transition-opacity tw:duration-150 tw:z-10",{"tw:opacity-100":y.value}]),role:"tooltip"},c.toDisplayString(S.value),3),c.createElementVNode("button",{class:c.normalizeClass(["tts-button tw:opacity-80 tw:hover:opacity-100 tw:transition-opacity tw:duration-200 tw:cursor-pointer tw:rounded tw:hover:bg-white",{"tw:opacity-100":c.unref(h)||c.unref(m),"tts-speaking":c.unref(h),"tts-loading":c.unref(m)}]),onClick:c.withModifiers(b,["stop"]),onFocus:x[4]||(x[4]=_=>k.value=!0),onBlur:x[5]||(x[5]=_=>k.value=!1),"aria-label":S.value,disabled:c.unref(m),type:"button"},[c.unref(h)?(c.openBlock(),c.createElementBlock("svg",{key:0,xmlns:"http://www.w3.org/2000/svg",class:"tw:w-3.5 tw:h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:c.normalizeStyle({color:r.color,opacity:.6})},[...x[10]||(x[10]=[c.createElementVNode("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"},null,-1),c.createElementVNode("line",{x1:"23",y1:"9",x2:"17",y2:"15"},null,-1),c.createElementVNode("line",{x1:"17",y1:"9",x2:"23",y2:"15"},null,-1)])],4)):(c.openBlock(),c.createElementBlock("svg",Qd,[...x[11]||(x[11]=[c.createElementVNode("path",{d:"M12 11.1666C11.8933 11.1666 11.7933 11.1333 11.7 11.0666C11.48 10.9 11.4333 10.5866 11.6 10.3666C12.6467 8.97331 12.6467 7.02664 11.6 5.63331C11.4333 5.41331 11.48 5.09998 11.7 4.93331C11.92 4.76665 12.2333 4.81331 12.4 5.03331C13.7067 6.77998 13.7067 9.21998 12.4 10.9666C12.3 11.1 12.1533 11.1666 12 11.1666Z",fill:"#A6A6A6"},null,-1),c.createElementVNode("path",{d:"M13.22 12.8334C13.1133 12.8334 13.0133 12.8 12.92 12.7334C12.7 12.5667 12.6533 12.2534 12.82 12.0334C14.6 9.66002 14.6 6.34002 12.82 3.96669C12.6533 3.74669 12.7 3.43335 12.92 3.26669C13.14 3.10002 13.4533 3.14669 13.62 3.36669C15.6667 6.09335 15.6667 9.90669 13.62 12.6334C13.5267 12.7667 13.3733 12.8334 13.22 12.8334Z",fill:"#A6A6A6"},null,-1),c.createElementVNode("path",{d:"M9.34668 2.52002C8.60001 2.10669 7.64668 2.21335 6.67334 2.82002L4.72668 4.04002C4.59334 4.12002 4.44001 4.16669 4.28668 4.16669H3.66668H3.33334C1.72001 4.16669 0.833344 5.05335 0.833344 6.66669V9.33335C0.833344 10.9467 1.72001 11.8334 3.33334 11.8334H3.66668H4.28668C4.44001 11.8334 4.59334 11.88 4.72668 11.96L6.67334 13.18C7.26001 13.5467 7.83334 13.7267 8.36668 13.7267C8.71334 13.7267 9.04668 13.6467 9.34668 13.48C10.0867 13.0667 10.5 12.2067 10.5 11.06V4.94002C10.5 3.79335 10.0867 2.93335 9.34668 2.52002Z",fill:"#A6A6A6"},null,-1)])]))],42,Yd)],32)):c.createCommentVNode("",!0)],2))}}),ef={key:"message",class:"message-text tw:relative tw:flex tw:items-end tw:self-start tw:gap-1"},Bn=.22,tf=24,nf=40,rf=c.defineComponent({__name:"MessageBot",props:{message:{},welcomeColor:{},color:{},bgColor:{},size:{},isPreview:{type:Boolean},bgType:{},fontSize:{},borderWidth:{},borderColor:{},configDesignClass:{},ttsUrl:{},isChangeMode:{type:Boolean},isProduction:{type:Boolean}},setup(r){const e=new us,t=r,n=c.computed(()=>!t.isProduction),s=c.computed(()=>{var N;return t.ttsUrl||((N=t.configDesignClass)==null?void 0:N.getKey("settings.ttsUrl"))||""}),i=c.computed(()=>!!s.value),a=c.ref(null),o=c.ref(null),l=c.ref(!1),u=c.computed(()=>t.message.text||""),d=c.computed(()=>u.value?e.parseMarkdownToHtml(u.value):""),p=c.computed(()=>e.extractPlainText(d.value)),f=c.computed(()=>p.value.length),g=c.computed(()=>!!t.message.chunk&&f.value>0&&f.value<=nf),{displayedLength:w,scheduleFlush:h,reset:m}=qd({getPlainText:()=>p.value,getTotalTextChars:()=>f.value,buildRevealBoundaries:N=>e.buildRevealBoundaries(N)}),k=c.computed(()=>{var N,H;return!!(t.message.text&&!((N=t.message.chunk)!=null&&N.start)&&((H=t.message.chunk)!=null&&H.end)&&(n.value||w.value>=f.value))}),S=c.computed(()=>{var te,se;const N=(te=t.message.chunk)!=null&&te.start?"#2F2F31":t.color,H=!((se=t.message.chunk)!=null&&se.start),W=H&&t.bgType==="bubble"?t.bgColor:"transparent";return{color:N,backgroundColor:W,fontSize:`${t.fontSize}px`,border:t.bgType==="bubble"&&H?`${t.borderWidth}px solid ${t.borderColor}`:"none","--hsw-message-table-header-bg":W&&W!=="transparent"?`color-mix(in srgb, ${W} 85%, white)`:W}}),y=c.computed(()=>({...S.value,opacity:l.value?1:0})),b=c.computed(()=>{switch(t.size){case"sm":return t.bgType==="bubble"?" tw:min-h-[25px] tw:py-1 tw:px-2 ":"";case"md":return t.bgType==="bubble"?" tw:min-h-[33px] tw:py-2 tw:px-3":"";case"lg":return t.bgType==="bubble"?" tw:min-h-[40px] tw:py-3 tw:px-4":""}});let v="",x=[],_=0,C=!1,T=null,P=null,D=new WeakSet;const B=[],A=N=>{if(N.querySelector(".hsw-tr-reveal"))return;N.querySelectorAll("td, th").forEach(W=>{const te=W,se=getComputedStyle(te);te.dataset.hswOrigPadding=se.padding,te.dataset.hswOrigBorder=se.borderWidth,te.style.padding="0",te.style.borderWidth="0";const Z=document.createElement("div");for(Z.className="hsw-tr-reveal",Z.style.height="0",Z.style.overflow="hidden",Z.style.opacity="0";te.firstChild;)Z.appendChild(te.firstChild);te.appendChild(Z)})},z=N=>{N.querySelectorAll(".hsw-tr-reveal").forEach(H=>{const W=H.parentElement;for(;H.firstChild;)W.insertBefore(H.firstChild,H);W.removeChild(H)}),N.querySelectorAll("td, th").forEach(H=>{const W=H;W.style.padding="",W.style.borderWidth="",delete W.dataset.hswOrigPadding,delete W.dataset.hswOrigBorder})},L=()=>{if(C)return;const N=a.value;if(!N||!B.length)return;const H=B.splice(0),W=H.map(X=>X.onComplete),se=Array.from(new Set(H.flatMap(X=>X.nodes))).filter(X=>N.contains(X));if(!se.length){W.forEach(X=>X()),L();return}const Z=se.filter(X=>X.dataset.hswInsertedReveal==="1"),pe=se.filter(X=>X.dataset.hswInsertedReveal!=="1"&&!D.has(X)),ke=Z.filter(X=>X.tagName.toLowerCase()==="tr"),Ve=Z.filter(X=>X.tagName.toLowerCase()!=="tr"),ve=pe.filter(X=>X.tagName.toLowerCase()==="tr"),Xe=pe.filter(X=>X.tagName.toLowerCase()!=="tr");[...ke,...ve].forEach(X=>A(X));const rt=Ve.filter(X=>X.tagName.toLowerCase()==="li"),$e=Ve.filter(X=>X.tagName.toLowerCase()!=="li"),He=$e.map(X=>Math.max(Math.ceil(X.scrollHeight),1)),ge=rt.map(X=>{ae.set(X,{height:"auto",clearProps:"paddingTop,paddingBottom"});const le=getComputedStyle(X),Gt=Math.max(Math.ceil(X.scrollHeight),1),Mr=le.paddingTop,nr=le.paddingBottom;return ae.set(X,{height:0,paddingTop:0,paddingBottom:0}),{height:Gt,paddingTop:Mr,paddingBottom:nr}}),_e=[],Oe=[];[...ke,...ve].forEach(X=>{X.querySelectorAll(".hsw-tr-reveal").forEach(le=>_e.push(le)),X.querySelectorAll("td, th").forEach(le=>Oe.push(le))});const Mt=_e.map(X=>{X.style.height="auto";const le=Math.max(Math.ceil(X.scrollHeight),1);return X.style.height="0",le});C=!0;const we=ae.timeline({onUpdate:()=>{Fe("update")},onComplete:()=>{Ve.length&&(Ve.forEach(X=>{delete X.dataset.hswInsertedReveal,D.add(X)}),ae.set(Ve,{clearProps:"height,overflow,opacity,transform,paddingTop,paddingBottom"})),ke.length&&ke.forEach(X=>{delete X.dataset.hswInsertedReveal,D.add(X),z(X)}),ve.length&&ve.forEach(X=>{D.add(X),z(X)}),Xe.length&&Xe.forEach(X=>D.add(X)),W.forEach(X=>X()),C=!1,L()}});$e.length&&we.to($e,{opacity:1,y:0,height:X=>`${He[X]}px`,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),rt.length&&we.to(rt,{opacity:1,y:0,height:X=>`${ge[X].height}px`,paddingTop:X=>ge[X].paddingTop,paddingBottom:X=>ge[X].paddingBottom,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),_e.length&&(we.to(_e,{height:X=>`${Mt[X]}px`,opacity:1,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),we.to(Oe,{padding:X=>Oe[X].dataset.hswOrigPadding||"",borderWidth:X=>Oe[X].dataset.hswOrigBorder||"",duration:Bn,ease:"power2.out"},0)),Xe.length&&we.fromTo(Xe,{opacity:0,y:10},{opacity:1,y:0,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),x=[we]},O=(N,H)=>{B.push({nodes:N,onComplete:H}),L()},E=(N,H)=>{const W=[],te=new RegExp(`</${H}\\s*>`,"gi");let se=te.exec(N);for(;se;){const Z=se.index+se[0].length,pe=e.extractPlainText(N.slice(0,Z)).length;pe>0&&W.push(pe),se=te.exec(N)}return W},R=c.computed(()=>{if(!d.value)return[];const N=document.createElement("template");N.innerHTML=d.value;const H=[...E(d.value,"li"),...E(d.value,"tr"),...E(d.value,"p")];let W=0;const te=Z=>{Z<=0||(W+=Z,H.push(W))},se=Z=>(Z.textContent||"").length;return Array.from(N.content.childNodes).forEach(Z=>{if(Z.nodeType===Node.TEXT_NODE){te(se(Z));return}if(Z.nodeType!==Node.ELEMENT_NODE)return;const pe=Z,ke=pe.tagName.toLowerCase();ke==="ul"||ke==="ol"||ke==="table"||ke==="thead"||ke==="tbody"||ke==="tfoot"||ke==="tr"||ke==="p"||ke==="li"||te(se(pe))}),Array.from(new Set(H)).filter(Z=>Z>0).sort((Z,pe)=>Z-pe)}),F=()=>{x.forEach(N=>N.kill()),x=[],B.length=0,C=!1},J=()=>{P&&(clearTimeout(P),P=null),T=null},U=()=>{J(),F();const N=a.value;N&&N.replaceChildren(),D=new WeakSet,v="",_=0,l.value=!1;const H=o.value;H&&(H.style.height="auto")},G=N=>{const H=document.createElement("template");return H.innerHTML=N,H.content.cloneNode(!0)},ie=new Set(["img","svg","video","audio","canvas","iframe","hr","br","input","textarea","select","button"]),Y=N=>{if(N.nodeType===Node.TEXT_NODE)return(N.textContent||"").trim().length>0;if(N.nodeType!==Node.ELEMENT_NODE)return!1;const H=N,W=H.tagName.toLowerCase();if(ie.has(W))return!0;if(W==="ul"||W==="ol"){const se=Array.from(H.children).filter(Z=>Z.tagName.toLowerCase()==="li");return se.length?se.some(Z=>Y(Z)):!1}return W==="table"?Array.from(H.querySelectorAll("tr")).some(se=>Y(se)):(H.textContent||"").replace(/\u00a0/g," ").trim().length>0?!0:!!H.querySelector("img,svg,video,audio,canvas,iframe,hr,br,input,textarea,select,button")},I=N=>{if(N.nodeType!==Node.ELEMENT_NODE)return;const H=N;Array.from(H.childNodes).forEach(W=>I(W)),Array.from(H.childNodes).forEach(W=>{Y(W)||H.removeChild(W)})},j=N=>{if(!N)return"";const H=G(N);Array.from(H.childNodes).forEach(te=>I(te)),Array.from(H.childNodes).forEach(te=>{Y(te)||H.removeChild(te)});const W=document.createElement("template");return W.content.appendChild(H),W.innerHTML.trim()},V=new Set(["td","th","p","li","tr"]),K=(N,H)=>{if(N.nodeType!==Node.ELEMENT_NODE)return;const W=new Set,te=N,se=Z=>{var ke,Ve;if(W.has(Z))return;const pe=Z.tagName.toLowerCase();if(pe==="tr"){W.add(Z),H.push(Z),Z.dataset.hswInsertedReveal="1";return}if((ke=Z.closest("table, .message-item"))!=null&&ke.matches("table")){Array.from(Z.children).forEach(ve=>{se(ve)});return}if((Ve=Z.closest("ol, ul, .message-item"))!=null&&Ve.matches("ol, ul")&&pe!=="li"){Array.from(Z.children).forEach(ve=>{se(ve)});return}if(W.add(Z),H.push(Z),Z.dataset.hswInsertedReveal="1",pe!=="tr"&&!t.isChangeMode&&!n.value){const ve={opacity:0,height:0,overflow:"hidden",y:10};pe==="li"&&(ve.paddingTop=0,ve.paddingBottom=0),ae.set(Z,ve)}V.has(pe)||Array.from(Z.children).forEach(ve=>{se(ve)})};se(te)},ee=N=>{const H=N.parentElement;if(!H)return null;const W=H.closest("tr");return W&&W.closest("table")?W:H.closest("li, p, blockquote, pre, code, tr")||H},ye=(N,H)=>{const W=Array.from(N.attributes),te=Array.from(H.attributes);W.forEach(se=>{H.hasAttribute(se.name)||N.removeAttribute(se.name)}),te.forEach(se=>{N.getAttribute(se.name)!==se.value&&N.setAttribute(se.name,se.value)})},Ce=(N,H,W,te,se)=>{const Z=Array.from(N.childNodes),pe=N.nodeType===Node.ELEMENT_NODE?N.tagName.toLowerCase():"";if(pe==="ol"||pe==="ul"){const ge=we=>we.nodeType===Node.ELEMENT_NODE&&we.tagName.toLowerCase()==="li",_e=Z.filter(ge),Oe=H.filter(ge),Mt=Math.min(_e.length,Oe.length);for(let we=0;we<Mt;we+=1)_e[we].innerHTML!==Oe[we].innerHTML&&(ye(_e[we],Oe[we]),Ce(_e[we],Array.from(Oe[we].childNodes),W,te,se));for(let we=Mt;we<Oe.length;we+=1){const X=Oe[we].cloneNode(!0);se?se.push({targetParent:N,el:X}):(console.warn("appending newNode",X),N.appendChild(X),l.value=!0,K(X,W))}for(let we=_e.length-1;we>=Oe.length;we-=1)N.removeChild(_e[we]);return}const Ve=ge=>ge.nodeType!==Node.TEXT_NODE||(ge.textContent||"").trim().length>0,ve=Z.filter(Ve),Xe=H.filter(Ve),rt=ge=>ge.nodeType===Node.ELEMENT_NODE?ge.tagName:`#${ge.nodeType}`;let $e=0,He=0;for(;$e<ve.length&&He<Xe.length;){const ge=ve[$e],_e=Xe[He],Oe=rt(ge),Mt=rt(_e);if(Oe===Mt){if(ge.nodeType===Node.TEXT_NODE){if(ge.textContent!==_e.textContent){ge.textContent=_e.textContent||"";const le=ee(ge);le&&te.push(le)}}else if(ge.nodeType===Node.ELEMENT_NODE){const le=ge,Gt=_e;ye(le,Gt),le.innerHTML!==Gt.innerHTML&&Ce(le,Array.from(Gt.childNodes),W,te,se)}$e++,He++;continue}const we=Xe.slice(He+1).findIndex(le=>rt(le)===Oe),X=ve.slice($e+1).findIndex(le=>rt(le)===Mt);if(we===-1&&X===-1){const le=_e.cloneNode(!0);N.replaceChild(le,ge),le.nodeType===Node.ELEMENT_NODE&&K(le,W),$e++,He++;continue}if(we===-1){N.removeChild(ge),$e++;continue}if(X===-1){const le=_e.cloneNode(!0);N.insertBefore(le,ge),le.nodeType===Node.ELEMENT_NODE&&K(le,W),He++;continue}if(X<=we)N.removeChild(ge),$e++;else{const le=_e.cloneNode(!0);N.insertBefore(le,ge),le.nodeType===Node.ELEMENT_NODE&&K(le,W),He++}}for(let ge=ve.length-1;ge>=$e;ge--)ve[ge].parentNode===N&&N.removeChild(ve[ge]);for(let ge=He;ge<Xe.length;ge++){const _e=Xe[ge].cloneNode(!0);if(_e.nodeType===Node.ELEMENT_NODE){const Oe=_e;se?se.push({targetParent:N,el:Oe}):(console.warn("appending newNode",Oe),N.appendChild(Oe),l.value=!0,K(Oe,W))}else console.warn("appending textNode",_e),N.appendChild(_e)}},de=(N,H)=>{const W=G(H),te=Array.from(W.childNodes),se=[],Z=[],pe=[];return Ce(N,te,se,Z,pe),{addedElements:se,updatedElements:Z,appendQueue:pe}},Me=(N,H,W)=>{var pe,ke;if(!N.length){W();return}const te=N.shift(),se=((pe=te.el.textContent)==null?void 0:pe.trim().length)??0,Z=!!t.message.chunkId;(se>=20||(ke=t.message.chunk)!=null&&ke.end||!t.isPreview||Z)&&(te.targetParent.appendChild(te.el),l.value=!0,K(te.el,H)),N.length?requestAnimationFrame(()=>Me(N,H,W)):W()},Fe=N=>{window.dispatchEvent(new CustomEvent("hsw:bot-render-progress",{detail:{phase:N,chunkId:t.message.chunkId||null}}))},Pt=(N,H=!0)=>{var ve,Xe;const W=a.value;if(!W)return;const te=j(N);if(!te&&!((ve=t.message.chunk)!=null&&ve.end)&&v||te===v)return;const{addedElements:se,updatedElements:Z,appendQueue:pe}=de(W,te),ke=!!((Xe=t.message.chunk)!=null&&Xe.end);v=te,Fe("update");const Ve=()=>{const rt=Array.from(new Set([...se,...Z]));if(!H||!te){Fe("complete");return}const $e=rt.filter(He=>!W.contains(He)||D.has(He)?!1:ke?He.dataset.hswInsertedReveal==="1":!0);if(!$e.length){Fe("complete");return}O($e,()=>Fe("complete"))};pe.length?Me(pe,se,Ve):Ve()},Re=()=>{if(P&&(clearTimeout(P),P=null),!T)return;const{html:N,animate:H}=T;T=null,Pt(N,H)},dt=(N,H=!0,W=!1)=>{if(T={html:N,animate:H},W){Re();return}P&&clearTimeout(P),P=setTimeout(()=>Re(),tf)},Ee=()=>{var te,se;if(!d.value)return{html:"",charsToRender:0};if(t.isChangeMode||n.value)return{html:e.truncateHtmlByChars(d.value,f.value),charsToRender:f.value};if(g.value)return(te=t.message.chunk)!=null&&te.end?{html:e.truncateHtmlByChars(d.value,f.value),charsToRender:f.value}:{html:"",charsToRender:0};const N=Math.min(w.value,f.value);if(!!((se=t.message.chunk)!=null&&se.end)&&N>=f.value)return{html:e.truncateHtmlByChars(d.value,f.value),charsToRender:f.value};let W=0;for(const Z of R.value){if(Z>N)break;W=Z}return W<=0?{html:"",charsToRender:0}:{html:e.truncateHtmlByChars(d.value,W),charsToRender:W}},ft=()=>{var se,Z;if(g.value&&!((se=t.message.chunk)!=null&&se.end))return;const{html:N,charsToRender:H}=Ee();if(H<=_&&N||!N&&_>0)return;const W=!!((Z=t.message.chunk)!=null&&Z.end)&&H>=f.value,te=t.isChangeMode||n.value;dt(N,!te,W||te),_=H};return c.watch(w,(N,H)=>{N<H&&U(),ft()}),c.watch(u,(N,H)=>{N.length<((H==null?void 0:H.length)||0)&&(U(),m()),h(!1)}),c.watch(()=>{var N;return(N=t.message.chunk)==null?void 0:N.end},N=>{N&&(h(!0),ft())}),c.watch(n,N=>{N&&(F(),U(),l.value=!0,ft())}),c.onBeforeUnmount(()=>{J(),F(),m()}),c.onMounted(()=>{(t.isChangeMode||n.value)&&(l.value=!0),ft()}),(N,H)=>{var W;return c.openBlock(),c.createElementBlock("li",{ref_key:"messageItemEl",ref:o,class:c.normalizeClass(["message-item tw:flex tw:items-end tw:text-white tw:max-w-[95%] tw:w-fit tw:whitespace-break-spaces tw:transition-colors tw:transition-opacity tw:duration-[250ms] tw:ease-[ease]",[b.value,{"item-primary":!((W=r.message.chunk)!=null&&W.start)}]]),style:c.normalizeStyle(y.value)},[c.createElementVNode("div",ef,[c.createElementVNode("span",{ref_key:"messageTextEl",ref:a,class:"tw:relative tw:gap-2 tw:z-[1] tw:flex-1 tw:max-w-[100%] tw:overflow-x-scroll tw:overflow-y-hidden tw:flex markdown-content tw:flex-col"},null,512)]),c.createVNode(Jd,{"message-text":r.message.text||"",color:r.color,"tts-url":s.value,"tts-enabled":i.value,visible:k.value,"text-element-ref":a.value},null,8,["message-text","color","tts-url","tts-enabled","visible","text-element-ref"])],6)}}}),sf=c.defineComponent({__name:"MessageUser",props:{message:{},isFirst:{type:Boolean},color:{},bgColor:{},borderWidth:{},borderColor:{},fontSize:{},size:{},bgType:{},configDesignClass:{}},setup(r){const e=r,t=c.computed(()=>{switch(e.size){case"sm":return e.bgType==="bubble"?" tw:min-h-[25px] tw:py-1 tw:px-2 ":"";case"md":return e.bgType==="bubble"?" tw:min-h-[33px] tw:py-2 tw:px-3":"";case"lg":return e.bgType==="bubble"?" tw:min-h-[40px] tw:py-3 tw:px-4":""}}),n=c.computed(()=>e.bgType==="bubble"?e.borderWidth+"px solid "+e.borderColor:"none");return(s,i)=>(c.openBlock(),c.createElementBlock("li",{class:c.normalizeClass(["message-item tw:transition-colors tw:max-w-[95%] tw:w-fit tw:whitespace-break-spaces item-secondary tw:ml-auto",[t.value,{"tw:mt-[5px] !tw:bg-transparent":r.isFirst}]]),style:c.normalizeStyle({color:r.color,"background-color":r.bgType==="bubble"?r.bgColor:"transparent",border:n.value,"font-size":r.fontSize+"px"})},c.toDisplayString(r.message.text),7))}}),of=["innerHTML"],Oi=c.defineComponent({__name:"LoadingIndicator",props:{isPaused:{type:Boolean},loader:{},activeStepColor:{},loaderSize:{},completeIconSrc:{}},setup(r,{expose:e}){const t=r,n=c.ref(null),s=c.ref(null),i=c.ref(null),a=c.ref(null),o=c.ref(null),l=c.ref(null);let u=null;const d=()=>!t.loader||t.loader==="dots"?i.value:t.loader==="dots-pulse"?a.value:t.loader==="circle-pulse"?o.value:t.loader==="circle-pulse-1"?l.value:i.value,p=f=>{u&&u.kill();const g=n.value,w=d(),h=s.value;if(!g||!w||!h)return;const m=f?w:h,k=f?h:w,S=k.offsetWidth,y=.3,b="power2.inOut";u=ae.timeline(),u.to(m,{opacity:0,scale:.8,duration:y*.6,ease:b}),u.to(g,{width:S,duration:y,ease:b},`-=${y*.3}`),u.fromTo(k,{opacity:0,scale:.8},{opacity:1,scale:1,duration:y*.6,ease:b},`-=${y*.4}`)};return c.onMounted(()=>{c.nextTick(()=>{const f=n.value,g=s.value,w=d(),h=t.isPaused?g:w,m=t.isPaused?w:g;h&&ae.set(h,{opacity:1,scale:1}),m&&ae.set(m,{opacity:0,scale:.8}),f&&h&&ae.set(f,{width:h.offsetWidth})})}),c.watch(()=>t.isPaused,f=>{p(f)}),c.onBeforeUnmount(()=>{u&&u.kill()}),e({completeIconRef:s,dotsRef:i,dotsPulseRef:a,circlePulseRef:o,circlePulse1Ref:l,wrapperRef:n}),(f,g)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"wrapperRef",ref:n,class:"tw:grid tw:overflow-hidden tw:shrink-0 tw:place-items-center tw:justify-items-start"},[c.createElementVNode("div",{ref_key:"completeIconRef",ref:s,innerHTML:r.completeIconSrc,class:"svg-inherit tw:opacity-0",style:c.normalizeStyle([{"grid-area":"1 / 1"},{color:r.activeStepColor,height:r.loaderSize+"px",width:r.loaderSize+"px"}])},null,12,of),!r.loader||r.loader==="dots"?(c.openBlock(),c.createElementBlock("div",{key:0,ref_key:"dotsRef",ref:i,class:"tw:flex tw:items-center tw:justify-start tw:gap-1 tw:h-4 tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot tw:rounded-full"},null,4),c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot loading-dot-delay-1 tw:rounded-full"},null,4),c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot loading-dot-delay-2 tw:rounded-full"},null,4),c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot loading-dot-delay-3 tw:rounded-full"},null,4)],512)):c.createCommentVNode("",!0),r.loader==="dots-pulse"?(c.openBlock(),c.createElementBlock("div",{key:1,ref_key:"dotsPulseRef",ref:a,class:"tw:flex tw:items-center tw:justify-start tw:gap-1 tw:h-4 tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"dot-pulse dot-1"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"dot-pulse dot-2"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"dot-pulse dot-3"},null,4)],512)):c.createCommentVNode("",!0),r.loader==="circle-pulse"?(c.openBlock(),c.createElementBlock("div",{key:2,ref_key:"circlePulseRef",ref:o,class:"circle-pulse tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ring ring-1"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ring ring-2"},null,4)],512)):c.createCommentVNode("",!0),r.loader==="circle-pulse-1"?(c.openBlock(),c.createElementBlock("div",{key:3,ref_key:"circlePulse1Ref",ref:l,class:"circle-pulse-1 tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ripple r1"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ripple r2"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"center"},null,4)],512)):c.createCommentVNode("",!0)],512))}}),af=c.defineComponent({__name:"TextTransition",props:{text:{},duration:{default:.6}},setup(r){const e=r,t=c.ref(null),n=c.ref(e.text);let s=null;const i={p:100},a=()=>{if(!t.value)return;const l=i.p,u=`linear-gradient(to right, #000 ${l}%, transparent ${l+30}%)`;t.value.style.webkitMaskImage=u,t.value.style.maskImage=u},o=l=>{if(s&&s.kill(),!t.value){n.value=l;return}s=ae.timeline(),s.to(i,{p:-30,duration:e.duration,ease:"power2.in",onUpdate:a,onComplete:()=>{n.value=l}}),s.to(i,{p:100,duration:e.duration,ease:"power2.out",onUpdate:a})};return c.watch(()=>e.text,(l,u)=>{l!==u&&o(l)}),c.onMounted(()=>{n.value=e.text,a()}),c.onBeforeUnmount(()=>{s&&s.kill()}),(l,u)=>(c.openBlock(),c.createElementBlock("span",{ref_key:"textRef",ref:t,class:"text-transition"},c.toDisplayString(n.value),513))}}),lf=(r,e)=>{const t=r.__vccOpts||r;for(const[n,s]of e)t[n]=s;return t},Di=lf(af,[["__scopeId","data-v-f4bee663"]]),cf={key:1,class:"tw:flex tw:items-center tw:justify-center tw:overflow-hidden"},uf={key:0,class:"tw:block"},df=["data-text"],zi=c.defineComponent({__name:"LoadingMessage",props:{isProduction:{type:Boolean},borderRadius:{},loader:{},text:{},message:{},configDesignClass:{},paused:{type:Boolean},color:{},bgColor:{},loadingTime:{}},setup(r){const e=r,t=c.shallowRef(void 0);c.watch(()=>e.loadingTime,f=>{(!d.value||!t.value)&&(t.value=f)});const n=c.ref(null),s=c.ref(!1);let i=null;const a=c.computed(()=>Number(e.configDesignClass.getKey("sections.loader.completeStep.icon.size"))||16),o=()=>{const f=n.value;if(!f)return;const g=f.closest(".message-enter-item")??f.closest("li");if(!g)return;const w=g.nextElementSibling;if(!w){s.value=!1;return}const h=w.getAttribute("data-component")==="MessageBot"||typeof w.matches=="function"&&w.matches('[data-component="MessageBot"]')||!!w.querySelector('[data-component="MessageBot"]');s.value=h},l=c.ref(e.configDesignClass.getKey("sections.inside.dataAction.type")),u=c.computed(()=>e.configDesignClass.getKeyObject("sections.inside.dataAction"));c.onMounted(()=>{c.nextTick(o);const f=n.value,g=f==null?void 0:f.closest("ul");g&&(i=new MutationObserver(()=>o()),i.observe(g,{childList:!0,subtree:!0}))}),c.onBeforeUnmount(()=>{i&&i.disconnect()});const d=c.computed(()=>!!e.paused||s.value);c.watch(()=>l.value,()=>{ae.to(n.value,{opacity:0,duration:.25,ease:"power2.inOut"})});const p=(f,g)=>{const w=f;ae.to(w,{height:0,duration:.25,ease:"power2.inOut",onComplete:()=>{ae.set(w,{clearProps:"height"}),g()}})};return(f,g)=>{var w,h;return(w=r.message)!=null&&w.text?(c.openBlock(),c.createElementBlock("li",{key:"loading",ref_key:"rootRef",ref:n,class:c.normalizeClass(["message-text-loading tw:min-w-0 tw:flex tw:min-w-[60%] tw:justify-start tw:overflow-hidden tw:flex-wrap tw:border-solid",{"tw:flex-col tw:border tw:max-w-xs":l.value==="box","tw:border tw:px-3 tw:py-2.5":l.value==="outline","tw:!rounded-none":l.value==="compact","tw:items-center tw:gap-2":l.value!=="box"}]),style:c.normalizeStyle({borderColor:u.value.strokeColor,borderWidth:(h=r.message)!=null&&h.text?u.value.strokeWidth+"px":0,borderRadius:r.borderRadius})},[l.value==="box"?(c.openBlock(),c.createElementBlock("div",{key:0,class:"tw:flex tw:items-center tw:justify-start tw:gap-2 tw:px-2 tw:py-2.5",style:c.normalizeStyle({backgroundColor:u.value.headerFillColor,color:u.value.pastStepColor})},[c.createVNode(Oi,{"is-paused":d.value,loader:r.loader,"active-step-color":u.value.pastStepColor,"loader-size":a.value,"complete-icon-src":r.configDesignClass.getKey("sections.loader.completeStep.icon.src")},null,8,["is-paused","loader","active-step-color","loader-size","complete-icon-src"]),c.createElementVNode("span",{style:c.normalizeStyle({fontSize:r.configDesignClass.getKey("sections.loader.completeStep.fontSize")+"px"})},[c.createVNode(Di,{text:d.value?"Thinking completed":u.value.headerText},null,8,["text"])],4)],4)):c.createCommentVNode("",!0),l.value!=="box"?(c.openBlock(),c.createElementBlock("div",cf,[c.createVNode(Oi,{"is-paused":d.value,loader:r.loader,"active-step-color":u.value.activeStepColor,"loader-size":a.value,"complete-icon-src":r.configDesignClass.getKey("sections.loader.completeStep.icon.src")},null,8,["is-paused","loader","active-step-color","loader-size","complete-icon-src"])])):c.createCommentVNode("",!0),c.createVNode(c.Transition,{css:!1,onLeave:p},{default:c.withCtx(()=>{var m,k,S;return[l.value!=="box"||l.value==="box"&&!d.value?(c.openBlock(),c.createElementBlock("span",uf,[c.createElementVNode("span",{class:c.normalizeClass(["tw:transition-all tw:leading-none tw:w-full tw:block",{"tw:px-3 tw:py-3 tw:border-t":l.value==="box"}]),"data-text":(m=r.message)!=null&&m.text?(k=r.message)==null?void 0:k.text:"",style:c.normalizeStyle({color:u.value.activeStepColor,fontSize:r.configDesignClass.getKey("sections.loader.completeStep.fontSize")+"px",background:l.value==="box"?u.value.bodyFillColor:"transparent",borderColor:u.value.strokeColor,borderTopWidth:l.value==="box"?u.value.strokeWidth+"px":0})},[c.createVNode(Di,{text:d.value?"Thinking completed":((S=r.message)==null?void 0:S.text)||""},null,8,["text"])],14,df)])):c.createCommentVNode("",!0)]}),_:1}),c.createVNode(c.Transition,{name:"fade",mode:"out-in"},{default:c.withCtx(()=>[t.value&&t.value>0&&d.value&&(l.value==="outline"||l.value==="compact")?(c.openBlock(),c.createElementBlock("div",{key:0,class:c.normalizeClass(["tw:text-xs",{"tw:w-full tw:-mt-2":l.value==="compact","tw:ml-auto":l.value==="outline"}]),style:c.normalizeStyle({color:u.value.pastStepColor})},c.toDisplayString(t.value)+" seconds total ",7)):c.createCommentVNode("",!0)]),_:1})],6)):c.createCommentVNode("",!0)}}}),ff=["data-height"],hf={class:"tw:transition-all tw:relative tw:w-[16px] tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-1"},gf={class:"tw:transition-all tw:flex tw:items-center tw:gap-2 tw:leading-none"},pf=c.defineComponent({__name:"MessageSystem",props:{isProduction:{type:Boolean},message:{},welcomeColor:{},color:{},bgColor:{},size:{},configDesignClass:{},activeMessage:{type:Boolean},bgType:{},isLast:{type:Boolean},traceLastShown:{type:Boolean},index:{}},setup(r){const e=r,t=c.computed(()=>e.index===3&&e.traceLastShown||e.isLast),n=c.computed(()=>{switch(e.size){case"sm":return"tw:text-xs";case"md":return"tw:text-xs";case"lg":return"tw:text-base"}}),s=c.computed(()=>e.configDesignClass.getKeyObject("sections.inside.dataAction")),i=c.computed(()=>t.value?s.value.activeStepColor:s.value.pastStepColor),a=c.computed(()=>Ds(e.configDesignClass,"inside"));return(o,l)=>(c.openBlock(),c.createElementBlock("li",{class:c.normalizeClass(["message-system tw:text-left tw:relative tw:w-full tw:text-white tw:w-fit tw:whitespace-break-spaces tw:transition-colors tw:duration-[250ms] tw:ease-[ease]",n.value]),style:c.normalizeStyle([{"margin-bottom":"0px !important"},{"padding-top":r.configDesignClass.getKey("sections.loader.completeStep.verticalSpacing")+"px"}]),"data-height":r.configDesignClass.getKey("sections.loader.completeStep.verticalSpacing")},[c.createElementVNode("div",{key:"message",class:c.normalizeClass(["message-text flex tw:transition-all tw:space-between tw:gap-3 tw:flex tw:items-center tw:align-center",{"tw:mb-0":r.isLast}])},[c.createElementVNode("div",hf,[c.createElementVNode("hr",{class:"tw:w-[1px] tw:absolute",style:c.normalizeStyle([{display:"none"},{height:r.configDesignClass.getKey("sections.loader.completeStep.verticalSpacing")+r.configDesignClass.getKey("sections.loader.completeStep.fontSize")/2+6+"px",left:"50%",transform:"translateX(-50%)",bottom:"100%",border:0,backgroundColor:s.value.pastStepColor}])},null,4),c.createElementVNode("span",{class:"tw:w-[8px] tw:h-[8px] tw:rounded-full",style:c.normalizeStyle({backgroundColor:i.value})},null,4)]),c.createElementVNode("div",gf,[r.message.meta&&!r.isProduction?(c.openBlock(),c.createBlock(c.unref(Bt),{key:0,style:c.normalizeStyle({color:e.activeMessage?"rgba(255, 255, 255, 0.60)":"#3F3F46",background:e.activeMessage?"#2F2F31":"#ECEDEE",border:e.activeMessage?"none":"1px solid #fff"}),class:c.normalizeClass(["tw:flex tw:items-center tw:gap-1 tw:rounded-md tw:shadow-xs",a.value])},{default:c.withCtx(()=>[l[0]||(l[0]=c.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c.createElementVNode("path",{d:"M10.7935 1.33301H5.20683C2.78016 1.33301 1.3335 2.77967 1.3335 5.20634V10.7863C1.3335 13.2197 2.78016 14.6663 5.20683 14.6663H10.7868C13.2135 14.6663 14.6602 13.2197 14.6602 10.793V5.20634C14.6668 2.77967 13.2202 1.33301 10.7935 1.33301ZM6.62683 8.84634C6.1735 9.52634 5.54683 10.0797 4.8135 10.4463C4.74683 10.4797 4.66683 10.4997 4.5935 10.4997C4.40683 10.4997 4.2335 10.3997 4.14683 10.2263C4.02016 9.97967 4.12016 9.67967 4.3735 9.55301C4.9535 9.26634 5.44683 8.82634 5.80016 8.29301C5.92016 8.11301 5.92016 7.88634 5.80016 7.70634C5.44016 7.17301 4.94683 6.73301 4.3735 6.44634C4.12016 6.32634 4.02016 6.02634 4.14683 5.77301C4.26683 5.52634 4.56683 5.42634 4.8135 5.55301C5.54683 5.91967 6.1735 6.47301 6.62683 7.15301C6.9735 7.66634 6.9735 8.33301 6.62683 8.84634ZM11.3335 10.4997H8.66683C8.3935 10.4997 8.16683 10.273 8.16683 9.99967C8.16683 9.72634 8.3935 9.49967 8.66683 9.49967H11.3335C11.6068 9.49967 11.8335 9.72634 11.8335 9.99967C11.8335 10.273 11.6068 10.4997 11.3335 10.4997Z",fill:"currentColor"})],-1)),c.createElementVNode("span",null,c.toDisplayString(r.message.text),1)]),_:1},8,["style","class"])):(c.openBlock(),c.createElementBlock("p",{key:1,style:c.normalizeStyle({color:i.value,"font-size":r.configDesignClass.getKey("sections.loader.completeStep.fontSize")+"px"})},c.toDisplayString(r.message.text),5))])],2)],14,ff))}}),mf=["innerHTML"],wf=["data-is-user"],bf=c.defineComponent({__name:"MessageList",props:{messages:{},isPreview:{type:Boolean},isEmbedded:{type:Boolean},showWelcome:{type:Boolean},sectionBorderRadius:{},isLoading:{type:Boolean},isStreaming:{type:Boolean},configDesignClass:{},activeMessage:{},traceLastShown:{type:Boolean},isProduction:{type:Boolean},ttsUrl:{}},emits:["handleClickMessage"],setup(r,{emit:e}){const t=c.ref(null);let n=null;const s=r,i=e,a=O=>{O.meta&&i("handleClickMessage",O)},o=c.ref(!1);c.watch(()=>s.isProduction,()=>{o.value=!0,setTimeout(()=>{o.value=!1},1e3)},{immediate:!0});const l=c.computed(()=>s.configDesignClass.getKey("sections.inside.dataAction.type")),u=c.computed(()=>s.configDesignClass.getKeyObject("sections.inside.dataAction")),d=(O,E)=>{const R=Number.parseFloat(String(E??"16")),F=Number.isFinite(R)&&R>0?R:16;if(typeof O=="number")return`${Math.round(O*F)}px`;const J=String(O??"").trim().toLowerCase();if(!J||J==="normal")return`${Math.round(1.2*F)}px`;if(/^\d*\.?\d+$/.test(J)){const G=Number.parseFloat(J);return`${Math.round(G*F)}px`}if(J.endsWith("px"))return J;if(J.endsWith("%")){const G=Number.parseFloat(J);return`${Math.round(G/100*F)}px`}if(J.endsWith("em")||J.endsWith("rem")){const G=Number.parseFloat(J);return`${Math.round(G*F)}px`}const U=Number.parseFloat(J);return Number.isFinite(U)?`${Math.round(U)}px`:`${Math.round(1.2*F)}px`},p=c.computed(()=>s.messages.filter((O,E,R)=>{var F,J;return O.snippet?!1:s.isProduction?!(O.type==="usageTokensByAI"&&((F=R[E-1])!=null&&F.chunkId)||O.isSystem&&((J=R[E+1])!=null&&J.isSystem)&&l.value!=="steps"):!0}));c.watch(()=>s.messages,()=>{y()&&m()},{deep:!0}),c.watch(()=>{var O;return(O=s.messages[s.messages.length-1])==null?void 0:O.text},()=>{y()&&m()});let f=Promise.resolve();const g=()=>new Promise(O=>{window.requestAnimationFrame(()=>O())}),w=O=>{if(!s.isProduction)return;const E=O;ae.set(E,{opacity:0,visibility:"hidden"})},h=(O,E)=>{if(!s.isProduction){E();return}const R=O,F=l.value==="steps",J=R.style.transition;R.style.transition="none";const U=F?.12:.65,G=F?0:.25,ie=5e3,Y=()=>{ae.set(R,{clearProps:"all"}),R.style.transition=J,E()};f=f.then(async()=>{if(!R.isConnected){E();return}if(await c.nextTick(),await g(),!R.isConnected){E();return}ae.set(R,{visibility:"visible",opacity:0,y:12,willChange:"opacity,visibility,y"}),await new Promise(I=>{const j=window.setTimeout(()=>{Y(),I()},ie);ae.timeline({onStart:()=>{k()},onComplete:()=>{window.clearTimeout(j),ae.set(R,{clearProps:"opacity,visibility,y"}),R.style.transition=J,k(),E(),I()}}).to(R,{opacity:1,y:0,duration:U,delay:G,ease:"power2.out"},0)})}).catch(()=>{Y()})},m=()=>{c.nextTick(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})},k=()=>{y()&&n===null&&(n=window.requestAnimationFrame(()=>{n=null,m()}))},S=c.ref(!0),y=()=>S.value,b=()=>{if(!t.value)return;const O=t.value,E=50;S.value=O.scrollHeight-O.scrollTop-O.clientHeight<=E},v=O=>{k()};c.onMounted(()=>{window.addEventListener("hsw:bot-render-progress",v)}),c.onBeforeUnmount(()=>{window.removeEventListener("hsw:bot-render-progress",v),n!==null&&(window.cancelAnimationFrame(n),n=null)});const x=O=>{const E=O.replace("#",""),R=parseInt(E.substr(0,2),16),F=parseInt(E.substr(2,2),16),J=parseInt(E.substr(4,2),16),U=Math.max(0,R-12),G=Math.max(0,F-12),ie=Math.max(0,J-12);return`linear-gradient(180deg, rgba(${U}, ${G}, ${ie}, 0.95) 0%, rgba(0,0,0, 0) 100%)`},_=c.computed(()=>{switch(s.configDesignClass.getKey("sections.inside.welcomeMessage.size")){case"sm":return"tw:px-1.5 tw:py-2.5";case"md":return"tw:px-3 tw:py-4";case"lg":return"tw:px-4.5 tw:py-5.5"}}),C=c.computed(()=>s.configDesignClass.getKey("sections.inside.welcomeMessage.bgType")==="gradient"?x(s.configDesignClass.getKey("sections.inside.welcomeMessage.bgColor")):s.configDesignClass.getKey("sections.inside.welcomeMessage.bgType")==="bubble"?s.configDesignClass.getKey("sections.inside.welcomeMessage.bgColor"):"transparent"),T=({isUser:O,isBot:E})=>E&&s.configDesignClass.getKey("sections.inside.messageBot.bgType")==="plain"?"0px":s.configDesignClass.getKey("settings.globalRoundingRadius")?s.sectionBorderRadius.borderRadius:s.configDesignClass.getKey(O?"sections.inside.messageUser.borderRadius":"sections.inside.messageBot.borderRadius")+"px",P=(O,E)=>{if(!O.time)return 0;let R=null;for(let U=E-1;U>=0;U--){const G=p.value[U];if(G!=null&&G.isUser&&(G!=null&&G.time)){R=G;break}}if(!(R!=null&&R.time))return 0;const F=Date.parse(O.time)-Date.parse(R.time);if(F<=0)return 0;const J=Number((F/1e3).toFixed(1));return J<=.1?Number((.2+Math.random()*.5).toFixed(1)):J};let D=0;const B=new WeakMap,A=O=>(B.has(O)||B.set(O,`msg-${++D}`),B.get(O)),z=c.computed(()=>{const O=new Map;let E=null;for(const R of s.messages)R.isSystem?(E||(E=R),O.set(R,A(E))):E=null;return O}),L=O=>O.isSystem&&s.isProduction&&l.value!=="steps"&&z.value.get(O)||A(O);return(O,E)=>(c.openBlock(),c.createElementBlock("ul",{class:"message-list tw:overflow-y-scroll tw:flex-1 tw:list-none tw:pb-4",ref_key:"messageListRef",ref:t,onScroll:b},[c.createVNode(c.TransitionGroup,{css:!1,onBeforeEnter:w,onEnter:h},{default:c.withCtx(()=>[r.showWelcome?(c.openBlock(),c.createElementBlock("li",{key:"welcome",class:c.normalizeClass(["tw:text-"+(r.configDesignClass.getKey("sections.inside.params.size")==="sm"?"xs":r.configDesignClass.getKey("sections.inside.params.size")==="md"?"sm":"base")]),style:c.normalizeStyle({color:r.configDesignClass.getKey("sections.inside.welcomeMessage.color"),"margin-bottom":`${r.configDesignClass.getKey("settings.gapMessageLine")}px`})},[c.createElementVNode("div",{class:c.normalizeClass(_.value),style:c.normalizeStyle({borderRadius:r.configDesignClass.getKey("settings.globalRoundingRadius")?r.sectionBorderRadius.borderRadius:r.configDesignClass.getKey("sections.inside.welcomeMessage.borderRadius")+"px",color:r.configDesignClass.getKey("sections.inside.welcomeMessage.color"),background:C.value,lineHeight:d(r.configDesignClass.getKey("settings.lineHeight"),r.configDesignClass.getKey("sections.inside.welcomeMessage.fontSize")),fontSize:r.configDesignClass.getKey("sections.inside.welcomeMessage.fontSize")+"px",letterSpacing:r.configDesignClass.getKey("settings.letterSpacing")+"px",border:`${r.configDesignClass.getKey("sections.inside.welcomeMessage.borderWidth")}px solid ${r.configDesignClass.getKey("sections.inside.welcomeMessage.borderColor")}`})},[c.createElementVNode("div",{innerHTML:c.unref(Hr)(r.configDesignClass.getKey("texts.welcomeMessage"))},null,8,mf)],6)],6)):c.createCommentVNode("",!0),(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(p.value,(R,F)=>{var J,U,G;return c.openBlock(),c.createElementBlock("li",{key:L(R),class:"message-enter-item tw:flex tw:flex-wrap tw:w-full","data-is-user":R.isUser||void 0},[(c.openBlock(),c.createBlock(c.resolveDynamicComponent(R.isUser?sf:R.isSystem?r.isProduction&&l.value!=="steps"?zi:pf:rf),{message:R,"data-component":R.isSystem?r.isProduction&&l.value!=="steps"?"LoadingMessage":"MessageSystem":"MessageBot",style:c.normalizeStyle({"margin-top":`${(J=p.value[F-1])!=null&&J.isSystem&&!R.isSystem?"12px":"0px"}`,"margin-bottom":`${R.isSystem?"2px":r.configDesignClass.getKey("settings.gapMessageLine")+"px"}`,borderRadius:T({isUser:R.isUser,isBot:!R.isUser&&!R.isSystem}),lineHeight:d(r.configDesignClass.getKey("settings.lineHeight"),R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.fontSize"):r.configDesignClass.getKey("sections.inside.messageBot.fontSize")),letterSpacing:r.configDesignClass.getKey("settings.letterSpacing")+"px"}),loader:r.configDesignClass.getKey("settings.loader"),color:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.color"):r.configDesignClass.getKey("sections.inside.messageBot.color"),welcomeColor:r.configDesignClass.getKey("sections.inside.messageUser.color"),bgType:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.bgType"):r.configDesignClass.getKey("sections.inside.messageBot.bgType"),bgColor:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.bgColor"):r.configDesignClass.getKey("sections.inside.messageBot.bgColor"),size:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.size"):r.configDesignClass.getKey("sections.inside.messageBot.size"),fontSize:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.fontSize"):r.configDesignClass.getKey("sections.inside.messageBot.fontSize"),borderWidth:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.borderWidth"):r.configDesignClass.getKey("sections.inside.messageBot.borderWidth"),borderColor:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.borderColor"):r.configDesignClass.getKey("sections.inside.messageBot.borderColor"),index:F,isChangeMode:o.value,isProduction:r.isProduction||!1,loadingTime:((U=R.meta)==null?void 0:U.traceLoadingTime)??P(R,F),traceLastShown:r.traceLastShown,configDesignClass:r.configDesignClass,ttsUrl:r.ttsUrl,isPreview:r.isPreview,activeMessage:r.activeMessage===R,isLast:F===p.value.length-1,paused:!!((G=R.meta)!=null&&G.tracePaused),borderRadius:T({isUser:R.isUser,isBot:!R.isUser&&!R.isSystem}),onClick:ie=>a(R)},null,8,["message","data-component","style","loader","color","welcomeColor","bgType","bgColor","size","fontSize","borderWidth","borderColor","index","isChangeMode","isProduction","loadingTime","traceLastShown","configDesignClass","ttsUrl","isPreview","activeMessage","isLast","paused","borderRadius","onClick"]))],8,wf)}),128)),r.isLoading?(c.openBlock(),c.createBlock(zi,{key:"loading",class:c.normalizeClass({"tw:mt-8":r.traceLastShown}),borderRadius:T({isUser:!1,isBot:!1}),isProduction:r.isProduction||!1,loader:r.configDesignClass.getKey("settings.loader"),configDesignClass:r.configDesignClass,color:u.value.headerText,bgColor:u.value.headerFillColor,text:r.configDesignClass.getKey("texts.typingLoader")},null,8,["class","borderRadius","isProduction","loader","configDesignClass","color","bgColor","text"])):c.createCommentVNode("",!0)]),_:1}),c.renderSlot(O.$slots,"footer")],544))}}),yf=c.defineComponent({__name:"ChatMessagesContainer",props:{messages:{},isPreview:{type:Boolean},isEmbedded:{type:Boolean},sectionBorderRadius:{},isLoading:{type:Boolean},isStreaming:{type:Boolean},configDesignClass:{},activeMessage:{},showWelcome:{type:Boolean},isProcessError:{type:Boolean},restartChat:{type:Function},traceLastShown:{type:Boolean},isProduction:{type:Boolean},ttsUrl:{}},emits:["handleClickMessage","update:activeMessage"],setup(r,{emit:e}){const t=r,n=c.computed(()=>t.ttsUrl),s=e,i=c.computed({get:()=>t.activeMessage,set:a=>s("update:activeMessage",a)});return(a,o)=>(c.openBlock(),c.createElementBlock("div",{class:"tw:transition-all tw:flex tw:flex-col tw:justify-between tw:w-full tw:min-h-0",style:c.normalizeStyle([{flex:"1 1 0"},{paddingLeft:(r.configDesignClass.getKey("sections.inside.params.sidePadding")??8)+"px",paddingRight:(r.configDesignClass.getKey("sections.inside.params.sidePadding")??8)+"px",paddingTop:(r.configDesignClass.getKey("sections.inside.params.verticalPadding")??8)+"px"}])},[c.createVNode(bf,{messages:r.messages,isPreview:r.isPreview,isEmbedded:r.isEmbedded,configDesignClass:r.configDesignClass,isLoading:r.isLoading,isStreaming:r.isStreaming,isProduction:r.isProduction,sectionBorderRadius:r.sectionBorderRadius,showWelcome:r.showWelcome,ttsUrl:n.value,activeMessage:i.value,"onUpdate:activeMessage":o[0]||(o[0]=l=>i.value=l),traceLastShown:r.traceLastShown,onHandleClickMessage:o[1]||(o[1]=l=>a.$emit("handleClickMessage",l))},null,8,["messages","isPreview","isEmbedded","configDesignClass","isLoading","isStreaming","isProduction","sectionBorderRadius","showWelcome","ttsUrl","activeMessage","traceLastShown"])],4))}}),vf={key:0,class:"chat tw:w-full tw:h-full tw:flex tw:pt-0 tw:relative"},xf={key:0,class:"tw:w-full tw:h-full"},kf={key:1,class:"messages tw:transition-all tw:flex tw:flex-col tw:justify-between tw:w-full"},Cf="https://hs-generator.onrender.com/api/transcribe",_f="https://hs-generator.onrender.com/api/tts",Sf=1e3,Ln=0,Tf=c.defineComponent({__name:"ChatWrapper",props:{link:{},isEmbedded:{type:Boolean},isPreview:{type:Boolean},configWidget:{},configLink:{},scenario:{},scenarioOptions:{},widgetId:{},isProduction:{type:Boolean},restartChat:{type:Function}},emits:["trace","choose-trace","restart-chat"],setup(r,{expose:e,emit:t}){const n=t,s=c.ref(!1),i=c.ref(!1),a=c.ref(null),o=c.ref(!1),l=c.ref(!1),u=c.ref(!1),d=c.ref(!1),p=c.ref(!0),f=c.ref(!1),g=c.ref(!1),w=c.ref(!1),h=c.ref(0),m=c.ref(!1),k=c.ref(null),S=c.ref(!1),y=r,b=async()=>{if(!(y.isPreview||y.scenario))try{n("restart-chat"),Ve(),await X()}catch(M){console.error("Failed to restart chat connection",M)}},v=c.computed(()=>y.restartChat??b),x=c.computed(()=>{const M=E.value.getKey("settings.position"),$=E.value.getKey("settings.offset.x"),q=E.value.getKey("settings.offset.y"),oe=Y.value?E.value.getKey("settings.size.width"):E.value.getKey("sections.colapsed.width"),ue=Y.value?E.value.getKey("settings.size.height"):E.value.getKey("sections.colapsed.height");return{...{...M==="topLeft"?{top:q+"px",left:$+"px"}:{},...M==="topRight"?{top:q+"px",right:$+"px"}:{},...M==="bottomLeft"?{bottom:q+"px",left:$+"px"}:{},...M==="bottomRight"?{bottom:q+"px",right:$+"px"}:{},...M==="top"?{top:q+"px",left:"50%",transform:"translateX(-50%)"}:{},...M==="bottom"?{bottom:q+"px",left:"50%",transform:"translateX(-50%)"}:{},...M==="left"?{left:$+"px",top:"50%",transform:"translateY(-50%)"}:{},...M==="right"?{right:$+"px",top:"50%",transform:"translateY(-50%)"}:{}},width:Y.value&&!ee.value?oe+"px":void 0,height:Y.value||ee.value?ue+"px":void 0}}),_=()=>{if(y.configLink)return y.configLink;const $=new URLSearchParams(window.location.search).get("config");if($)return $},C=c.ref(null),T=c.ref(null),P=c.ref(null),D=()=>P.value?P.value:_()?T.value&&typeof T.value=="object"?T.value:he:y.configWidget?y.configWidget:he,B=c.shallowRef(he);c.watchEffect(async M=>{const $=D();let q=!1;M(()=>{q=!0});const oe=await bu($,{verbose:!1});if(q)return;const ue=oe??$,{isValid:Ke,errors:ht}=yu(ue);if(!Ke){console.warn("[HSW] Invalid widget config (after migration), falling back to DEFAULT_CONFIG:",ht),B.value=he;return}B.value=ue});const A=M=>{C.value=M,n("choose-trace",{action:M.type,messages:[M]})},z=async()=>{n("choose-trace",{action:"copyAll",messages:de.value})},L=async()=>{if(de.value.length===0){n("choose-trace",{action:"copyLast",messages:[]});return}let M=-1;for(let q=de.value.length-1;q>=0;q--)if(de.value[q].isUser){M=q;break}const $=M>=0?M:0;n("choose-trace",{action:"copyLast",messages:de.value.slice($)})},O=async M=>{switch(console.log("handleHeaderTrace",M),M.action){case"copyLast":await L();break;case"copyIteration":await L();break;case"copyAll":await z();break}},E=c.computed(()=>new vu(B.value)),R=c.computed(()=>Xi(E.value)),F=c.computed(()=>Kn(E.value,8)),J=c.computed(()=>E.value.getConfig().settings.container),U=c.computed(()=>{const M=J.value;if(!M)return!1;const $=M.innerBorder,q=M.outerBorder;return(($==null?void 0:$.width)??0)>0||((q==null?void 0:q.width)??0)>0?($==null?void 0:$.width)!==0||(q==null?void 0:q.width)!==0:!1}),G=c.computed(()=>{var Tn,Rn,En,Pn,Q,$s;const M=J.value,$=E.value.getKey("settings.bgChat"),q=M==null?void 0:M.gradient,oe=q?`linear-gradient(360deg, ${$} 78.99%, ${q} 100%)`:"",ue=typeof q=="string"&&q.trim()&&q!=="transparent"?oe:$,Ke=((Tn=M==null?void 0:M.innerBorder)==null?void 0:Tn.width)??0,ht=((Rn=M==null?void 0:M.innerBorder)==null?void 0:Rn.color)??"transparent",gt=((En=M==null?void 0:M.innerBorder)==null?void 0:En.style)??"solid",ln=((Pn=M==null?void 0:M.outerBorder)==null?void 0:Pn.width)??0,rr=((Q=M==null?void 0:M.outerBorder)==null?void 0:Q.color)??"transparent",sr=(($s=M==null?void 0:M.outerBorder)==null?void 0:$s.style)??"solid",bt={background:ue,borderRadius:`${String(R.value)}px`};return bt["--hsw-container-radius"]=`${String(R.value)}px`,bt["--hsw-container-inner-width"]=`${Ke}px`,bt["--hsw-container-inner-color"]=ht,bt["--hsw-container-inner-style"]=gt,bt["--hsw-container-outer-width"]=`${ln}px`,bt["--hsw-container-outer-color"]=rr,bt["--hsw-container-outer-style"]=sr,bt}),ie=c.computed(()=>{switch(E.value.getKey("sections.bottom.params.size")){case"sm":return"tw:min-h-[25px]";case"md":return"tw:min-h-[45px]";case"lg":return"tw:min-h-[60px]"}}),Y=c.ref(!0),I=()=>{const M=a.value;if(!M)return{width:56,height:56};const $=M.querySelector(".chat-action");if(!$)return{width:56,height:56};const q=$.getBoundingClientRect();return{width:Math.max(1,q.width),height:Math.max(1,q.height)}},j=c.ref(!1),V=async M=>{if(j.value)return;j.value=!0;const $=a.value;if(!$||M===Y.value)return;const q=$.querySelector(".chatWrapper"),oe=q==null?void 0:q.querySelector(".chat");if(M){const ue=$.querySelector(".chat-collapsed");ue&&(ae.killTweensOf(ue),ae.to(ue,{opacity:1,duration:.15,ease:"power2.in"}));const{height:Ke,width:ht}=I();await new Promise(ln=>setTimeout(ln,150)),Y.value=!0,await c.nextTick();const gt=Math.max(Ke||0,ht||0)||56;ae.killTweensOf($),oe&&ae.killTweensOf(oe),q&&ae.killTweensOf(q),ae.set($,{width:gt,height:gt,overflow:"hidden",opacity:0,willChange:"width, height, opacity"}),q&&ae.set(q,{opacity:0,willChange:"opacity"}),oe&&ae.set(oe,{opacity:0,willChange:"opacity"}),ae.set($,{width:gt,height:gt,overflow:"hidden",opacity:0,willChange:"width, height, opacity"}),ae.to($,{width:E.value.getKey("settings.size.width"),height:E.value.getKey("settings.size.height"),opacity:1,duration:.4,ease:"power2.out",onComplete:()=>{ae.set($,{clearProps:"overflow,position,left,top,xPercent,yPercent,marginTop,willChange,opacity"}),j.value=!1}}),q&&ae.to(q,{opacity:1,duration:.3,delay:.35,ease:"power2.out",onComplete:()=>{ae.set(q,{clearProps:"willChange,opacity"})}}),oe&&ae.to(oe,{opacity:1,duration:.3,delay:.15,ease:"power2.out",onComplete:()=>{ae.set(oe,{clearProps:"willChange"})}})}else{const ue=E.value.getKey("sections.colapsed.height")+E.value.getKey("sections.colapsed.borderWidth")*2;ae.killTweensOf($),oe&&ae.killTweensOf(oe),q&&ae.killTweensOf(q),ae.set($,{width:E.value.getKey("settings.size.width"),height:E.value.getKey("settings.size.height"),overflow:"hidden",willChange:"width, height, opacity"}),q&&(ae.set(q,{willChange:"opacity"}),ae.to(q,{opacity:0,duration:.5,ease:"power3.inOut",onComplete:()=>{ae.set(q,{clearProps:"willChange,opacity"})}})),oe&&(ae.set(oe,{willChange:"opacity"}),ae.to(oe,{opacity:0,duration:.2,ease:"power2.in",onComplete:()=>{ae.set(oe,{clearProps:"willChange"})}})),ae.to($,{width:ue,height:ue,opacity:0,duration:.35,marginTop:0,ease:"power2.inOut",onComplete:()=>{Y.value=!1,c.nextTick().then(()=>{const Ke=$.querySelector(".chat-collapsed");Ke&&(ae.set(Ke,{opacity:0}),ae.to(Ke,{opacity:1,duration:.25,ease:"power2.out"})),ae.set($,{opacity:1})}),ae.set($,{clearProps:"overflow,position,left,top,xPercent,yPercent,marginTop,willChange"}),j.value=!1}})}},K=c.ref(y.isPreview||!1),ee=c.ref(y.isEmbedded||!1);c.watch(()=>y.isEmbedded,M=>{ee.value=M});const ye=c.ref(!!y.isPreview),Ce=c.ref(y.widgetId||`hsw-${Math.random().toString(36).slice(2,10)}`),de=c.ref([]),Me=c.ref("");let Fe=null,Pt=0,Re=null,dt=0;const Ee=()=>{Pt+=1,Fe&&(clearTimeout(Fe),Fe=null)},ft=M=>{const $=Array.isArray(M)?M:[];if(Ee(),de.value=[],!$.length)return;const q=Pt;let oe=0;const ue=()=>{if(q===Pt){if(de.value.push($[oe]),oe+=1,oe>=$.length){Fe=null;return}Fe=setTimeout(ue,Sf)}};ue()},N=c.computed(()=>de.value.length>0&&de.value[de.value.length-1].isUser===!0||l.value),H=c.ref(null),W=(M,$)=>{console.log("handleSnippetAction",M,$),rt({action:{sequence:$,command:M,data:{}}}),H.value=null},te=M=>{var $,q;if(M.chunkId&&M.text){const oe=de.value.find(ue=>ue.chunkId===M.chunkId);oe?(($=M.chunk)!=null&&$.start?oe.text="":oe.text+=M.text,oe.chunk.start=!1,oe.chunk.end=!!((q=M.chunk)!=null&&q.end)||!1):de.value.push(M)}else de.value.push(M)},Z=(()=>{if(y.link)return y.link;const $=new URLSearchParams(window.location.search).get("link");if($)return $;const oe=new URLSearchParams(window.location.hash.substring(1)).get("link");if(oe)return oe;try{const ue="ws://localhost:8080/client/widget-chat/v1/ws/?token=4_VwvCOWbvUlaGPg9UsJYbZ-1PtKYSM32gZ2vCbnaB0SzknjtE9uiCsTYNU-keS9iYGBVvnLjFZ5gL-3Zd3zrn8jB9-28gns0k8Mk6M4sulzK6IfFFCCM2WUnJaoD5z3jaxR7oQd9oAU6_Dn6oBX4TNcjQ";if(ue)return ue}catch(ue){console.warn("Environment variables not available:",ue)}return console.log("Using fallback link: ws://localhost:3000"),"ws://localhost:3000"})(),pe=()=>{if(dt>=Ln){te({text:`Failed to connect after ${Ln} attempts. Please check your connection.`,isUser:!1});return}dt++,console.log(`Reconnection attempt ${dt}/${Ln}`),setTimeout(()=>{ke()},2e3*dt)},ke=()=>{try{if(!Z||typeof Z!="string"){console.error("Invalid WebSocket link:",Z),te({text:"Error: Invalid WebSocket URL",isUser:!1});return}if(console.log("Attempting to connect to:",Z),Re=new WebSocket(Z),!Re){console.error("Failed to create WebSocket instance");return}Re.onmessage=M=>{var $,q,oe,ue,Ke,ht,gt,ln,rr,sr,bt,Tn,Rn,En,Pn;if(S.value)try{const Q=JSON.parse(M.data);if(Q.snippet){H.value={...Q.snippet,data:JSON.parse(Q.snippet.data||"{}")};return}if(Q.error)return te({text:Q.error.message,isUser:!1,isSystem:!0,isError:!0});if(($=Q==null?void 0:Q.textChunk)!=null&&$.start&&(m.value=!0,k.value=(q=Q==null?void 0:Q.textChunk)==null?void 0:q.start,te({text:"",isUser:!1,chunkId:(oe=Q==null?void 0:Q.textChunk)==null?void 0:oe.start,time:(ue=Q==null?void 0:Q.textChunk)!=null&&ue.time?(Ke=Q==null?void 0:Q.textChunk)==null?void 0:Ke.time:new Date().toISOString(),chunk:Q==null?void 0:Q.textChunk})),(ht=Q==null?void 0:Q.textChunk)!=null&&ht.end||(gt=Q==null?void 0:Q.textChunk)!=null&>.start){(ln=Q==null?void 0:Q.textChunk)!=null&&ln.end&&k.value&&((rr=Q==null?void 0:Q.textChunk)==null?void 0:rr.end)===k.value&&(m.value=!1,k.value=null,te({text:" ",isUser:!1,chunkId:(sr=Q==null?void 0:Q.textChunk)==null?void 0:sr.end,time:(bt=Q==null?void 0:Q.textChunk)!=null&&bt.time?(Tn=Q==null?void 0:Q.textChunk)==null?void 0:Tn.time:new Date().toISOString(),chunk:Q==null?void 0:Q.textChunk}));return}(Rn=Q==null?void 0:Q.textChunk)!=null&&Rn.text&&te({text:Q.textChunk.text,isUser:!1,chunkId:(En=Q==null?void 0:Q.textChunk)==null?void 0:En.id,chunk:Q==null?void 0:Q.textChunk}),Q!=null&&Q.trace&&te({text:Q.trace.message,isUser:!1,isSystem:!0,meta:Q.trace.meta,time:Q.trace.time,type:Q.trace.type}),(Pn=Q==null?void 0:Q.trace)!=null&&Pn.meta&&!y.isProduction&&n("trace",{action:Q.trace.type,messages:[Q.trace]})}catch(Q){console.error("Error parsing WebSocket message:",Q),te({text:"Error: Failed to parse server response",isUser:!1})}},Re.onopen=()=>{dt=0},Re.onclose=M=>{console.log("Connection closed",M);let $=`Connection closed (${M.code})`;switch(M.code){case 1e3:$="Connection closed normally";break;case 1001:$="Connection closed: going away";break;case 1006:if(d.value=!0,dt<Ln&&!K.value){pe();return}break;case 1011:$="Connection closed: server error";break;default:u.value=!0}console.log($)},Re.onerror=M=>{console.error("WebSocket connection error:",M),o.value=!0,te({text:"Connection error: Unable to connect to chat server",isUser:!1,isSystem:!0,isError:!0}),dt<Ln&&!K.value&&pe()}}catch(M){console.error("Error connecting to socket server:",M),te({text:`Connection error: ${M instanceof Error?M.message:"Unknown error"}`,isUser:!1,isSystem:!0,isError:!0})}},Ve=()=>{Re&&Re.close(),Re=null};c.onUnmounted(()=>{Ee(),Re&&Re.close()});const ve=M=>{(y.isPreview||y.scenario)&&!M||V(!Y.value)},Xe=()=>{if(!(y.isPreview||y.scenario)&&Me.value.trim()!==""){if(y.isProduction&&de.value.length>0){const M=de.value[de.value.length-1];M.isSystem===!0&&!M.isError&&!M.snippet&&de.value.pop()}de.value.push({text:Me.value,isUser:!0,time:new Date().toISOString()}),m.value=!0,S.value=!0,rt({message:Me.value}),Me.value=""}},rt=M=>{Re&&Re.send(JSON.stringify(M))},$e=()=>{try{const M=["e-Ukraine","MacPaw Fixel"],$=E.value.getKey("settings.fontFamily")||"MacPaw Fixel";if(M.includes($))return;const q=`https://fonts.googleapis.com/css2?family=${$.replace(/\s+/g,"+")}:wght@300;400;500;600;700&display=swap`,oe=document.createElement("link");oe.rel="preload",oe.as="style",oe.href=q,document.head.appendChild(oe);const ue=document.createElement("link");ue.rel="stylesheet",ue.href=q,ue.setAttribute("data-google-font","true"),document.head.appendChild(ue),a.value&&(a.value.style.fontFamily=`"${$}", sans-serif`)}catch(M){console.error("Error loading font:",M)}},He=()=>{const M=E.value.getKey("settings.fontWeight")||400;a.value&&(a.value.style.fontWeight=M)};i.value=!0,c.watch(()=>E.value.getKey("settings.fontFamily"),()=>{$e()}),c.watch(()=>E.value.getKey("settings.fontWeight"),()=>{He()});const ge=async()=>{if(_()){const $=await(await fetch(_()+"config")).json();T.value=$,s.value=!0}else s.value=!0},_e=(M,$,q)=>new Promise(oe=>{const ue=performance.now(),Ke=ht=>{const gt=Math.min(1,(ht-ue)/q);h.value=M+($-M)*gt,gt<1?requestAnimationFrame(Ke):oe()};requestAnimationFrame(Ke)}),Oe=async M=>{w.value=!0,h.value=0,await c.nextTick(),await _e(0,.3,500),M(),await _e(.3,.6,200),h.value=.6,await new Promise($=>setTimeout($,100)),await _e(.6,0,500),w.value=!1},Mt=async(M,$=2e3)=>{if(!(M!=null&&M.length))return;const q=Math.round(M.length*$/1e3);for(let oe=0;oe<M.length;oe++){const ue=M[oe];oe===M.length-1&&(ue.meta={...ue.meta,tracePaused:!0,traceLoadingTime:q}),de.value.push(ue),await new Promise(ht=>setTimeout(ht,$))}},we=async(M,$)=>{var ue;if(M==="preview")return;const q=_i.getState(M,E.value,$||y.scenarioOptions),oe=q.useTypewriterAnimation?[...q.messages]:null;await Oe(()=>{if(Y.value=q.isChatOpen,de.value=oe?[]:q.messages,l.value=q.traceLastShown,o.value=q.isConnectionError,u.value=q.isProcessError,d.value=q.isReconnectError,f.value=q.isInputDisabled,p.value=q.showWelcome,g.value=q.showReconnectNotice??!1,H.value=q.snippet??null,K.value=!0,Re){try{Re.close()}catch{}Re=null}}),!oe&&((ue=q.pendingTraces)!=null&&ue.length)&&await Mt(q.pendingTraces,q.traceAnimationDelay??2e3)},X=async()=>{await Oe(()=>{K.value=ye.value,p.value=!0,f.value=!1,g.value=!1,o.value=!1,u.value=!1,d.value=!1,de.value=[],K.value||(!Re||Re.readyState!==1)&&ke()})};c.onBeforeMount(async()=>{await ge()}),c.onMounted(async()=>{va.init("hypershadow/widget-i9dqo"),$e(),He();const M=y.scenario??_i.getScenarioFromUrl();if(M){await we(M);return}y.isPreview||ke()}),c.watch(()=>y.scenario,async M=>{M?await we(M):await X()});const le={id:Ce,setScenario:async(M,$)=>{await we(M,$)},clearScenario:async()=>{await X()},toggleChat:()=>{ve(!0)},setOpen:M=>{Y.value=M},setActive:M=>{M&&!Y.value&&(Y.value=!0)},setInputDisabled:M=>{f.value=M},setShowReconnectNotice:M=>{g.value=M},setMessages:M=>{ft(M)},pushMessage:M=>{de.value.push(M)},setSnippet:M=>{H.value=M??null},resetToLive:async()=>{await X()},setConfig:M=>{P.value=JSON.parse(JSON.stringify(M))},getConfig:()=>B.value},Gt=()=>{const M=window;M.hswWidgets=M.hswWidgets||{},M.hswWidgets[Ce.value]=le,window.dispatchEvent(new CustomEvent("hsw:ready",{detail:{widgetId:Ce.value}}))},Mr=()=>{const M=window;M.hswWidgets&&M.hswWidgets[Ce.value]&&delete M.hswWidgets[Ce.value]},nr=async M=>{var ue;const $=M,q=(ue=$.detail)==null?void 0:ue.widgetId;if(q&&q!==Ce.value)return;const{action:oe}=$.detail;switch(oe){case"setScenario":await le.setScenario($.detail.payload.type,$.detail.payload.options);break;case"clearScenario":await le.clearScenario();break;case"setOpen":le.setOpen($.detail.payload);break;case"setActive":le.setActive($.detail.payload);break;case"setInputDisabled":le.setInputDisabled($.detail.payload);break;case"setShowReconnectNotice":le.setShowReconnectNotice($.detail.payload);break;case"setMessages":le.setMessages($.detail.payload);break;case"pushMessage":le.pushMessage($.detail.payload);break;case"setSnippet":le.setSnippet($.detail.payload);break;case"resetToLive":await le.resetToLive();break;case"setConfig":le.setConfig($.detail.payload);break}};return c.onMounted(()=>{Gt(),window.addEventListener("hsw:control",nr)}),c.onUnmounted(()=>{Mr(),window.removeEventListener("hsw:control",nr)}),e(le),(M,$)=>s.value?(c.openBlock(),c.createElementBlock("div",{key:0,class:c.normalizeClass(["tw:z-[999] tw:flex tw:justify-end component-isolator tw:transition-all chatContainer",{"tw:fixed":!ee.value,"tw:w-full":Y.value}]),style:c.normalizeStyle({letterSpacing:E.value.getKey("settings.letterSpacing")+"px",...x.value}),ref_key:"chatWrapperRef",ref:a},[c.withDirectives(c.createVNode(Kc,{toggleChat:ve,element:E.value.getKeyObject("sections.colapsed")},null,8,["element"]),[[c.vShow,!Y.value]]),c.withDirectives(c.createElementVNode("div",{class:c.normalizeClass(["chatWrapper tw:w-full tw:backdrop-blur-[22px] tw:flex tw:items-center tw:border-0 tw:flex-col",[{"chatWrapper--pseudoBorders":U.value,"tw:h-auto tw:shadow-2xl chat-active":Y.value,"tw:shadow-lg tw:w-fit":!Y.value,"chat-embedded tw:w-full tw:h-full tw:static tw:top-0 tw:left-0":ee.value}]]),style:c.normalizeStyle(G.value)},[c.createVNode(Mu,{isChatOpen:Y.value,toggleChat:ve,configDesignClass:E.value,sectionBorderRadius:F.value,mainBorderRadius:R.value,isPreview:K.value,isEmbedded:ee.value,isProduction:r.isProduction||!1,restartChat:v.value},null,8,["isChatOpen","configDesignClass","sectionBorderRadius","mainBorderRadius","isPreview","isEmbedded","isProduction","restartChat"]),Y.value?(c.openBlock(),c.createElementBlock("div",vf,[o.value?(c.openBlock(),c.createElementBlock("div",xf,[c.createElementVNode("div",{class:"tw:absolute tw:left-0 tw:top-0 tw:w-full tw:h-full",style:c.normalizeStyle({padding:E.value.getKey("sections.warnings.launchIssue.content.sidePadding")+"px"})},[c.createVNode(Ys,{type:"launchIssue",class:"tw:h-full",headlineText:E.value.getKey("texts.launchIssueTitle"),descriptionText:E.value.getKeyObject("texts.launchIssueText"),warningElement:E.value.getKeyObject("sections.warnings.launchIssue"),configDesignClass:E.value,isProcessError:u.value,restartChat:v.value},null,8,["headlineText","descriptionText","warningElement","configDesignClass","isProcessError","restartChat"])],4)])):(c.openBlock(),c.createElementBlock("div",kf,[c.createVNode(yf,{messages:de.value,isPreview:K.value,isEmbedded:ee.value,configDesignClass:E.value,isLoading:N.value,isStreaming:m.value,isProduction:r.isProduction,sectionBorderRadius:F.value,showWelcome:p.value,ttsUrl:_f,activeMessage:C.value,"onUpdate:activeMessage":$[0]||($[0]=q=>C.value=q),isProcessError:u.value,traceLastShown:l.value,onHandleClickMessage:A,restartChat:v.value},null,8,["messages","isPreview","isEmbedded","configDesignClass","isLoading","isStreaming","isProduction","sectionBorderRadius","showWelcome","activeMessage","isProcessError","traceLastShown","restartChat"]),r.isProduction?c.createCommentVNode("",!0):(c.openBlock(),c.createBlock(cd,{key:0,configDesignClass:E.value,sectionBorderRadius:F.value,onTrace:O},null,8,["configDesignClass","sectionBorderRadius"])),u.value?(c.openBlock(),c.createElementBlock("div",{key:1,style:c.normalizeStyle({padding:E.value.getKey("sections.warnings.connectionIssue.content.sidePadding")+"px"})},[c.createVNode(Ys,{type:"connectionIssue",headlineText:E.value.getKey("texts.issueText"),configDesignClass:E.value,warningElement:E.value.getKeyObject("sections.warnings.connectionIssue"),restartChat:v.value},null,8,["headlineText","configDesignClass","warningElement","restartChat"])],4)):(c.openBlock(),c.createBlock(Xu,{key:2,messageText:Me.value,"onUpdate:messageText":$[1]||($[1]=q=>Me.value=q),isPreview:K.value,isProduction:r.isProduction||!1,configDesignClass:E.value,sectionBorderRadius:F.value,classSize:ie.value,sendMessage:Xe,isInputDisabled:f.value||K.value,showReconnectNotice:g.value,restartChat:v.value,isStreaming:m.value,mainBorderRadius:R.value,transcribeUrl:Cf,snippet:H.value,onTrace:O,onSnippetAction:W},null,8,["messageText","isPreview","isProduction","configDesignClass","sectionBorderRadius","classSize","isInputDisabled","showReconnectNotice","restartChat","isStreaming","mainBorderRadius","snippet"]))]))])):c.createCommentVNode("",!0),c.createVNode(c.Transition,{name:"fade"},{default:c.withCtx(()=>[w.value?(c.openBlock(),c.createElementBlock("div",{key:0,class:"tw:absolute tw:inset-0 tw:backdrop-blur-[40px] tw:z-[1000]",style:c.normalizeStyle({borderRadius:`${String(R.value)}px`,backgroundColor:`rgba(0,0,0, ${h.value})`})},null,4)):c.createCommentVNode("",!0)]),_:1})],6),[[c.vShow,i.value&&Y.value]])],6)):c.createCommentVNode("",!0)}}),Et=r=>{const e=window,t=r||Object.keys(e.hswWidgets||{})[0];if(!e.hswWidgets||!e.hswWidgets[t])throw new Error("HSW widget API not ready. Wait for hsw:ready event or pass correct widgetId");return e.hswWidgets[t]},Rf=async(r,e,t)=>Et(t).setScenario(r,e),Ef=async r=>Et(r).clearScenario(),Pf=(r,e)=>Et(e).setOpen(r),Mf=(r,e)=>Et(e).setActive(r),Of=(r,e)=>Et(e).setInputDisabled(r),Df=(r,e)=>Et(e).setShowReconnectNotice(r),zf=(r,e)=>Et(e).setMessages(r),Af=(r,e)=>Et(e).pushMessage(r),Bf=(r,e)=>Et(e).setSnippet(r),Lf=async r=>Et(r).resetToLive();exports.ChatWrapper=Tf;exports.clearScenario=Ef;exports.cn=fs;exports.pushMessage=Af;exports.resetToLive=Lf;exports.setActive=Mf;exports.setInputDisabled=Of;exports.setMessages=zf;exports.setOpen=Pf;exports.setScenario=Rf;exports.setShowReconnectNotice=Df;exports.setSnippet=Bf;
|
|
115
|
+
`,n+1);if(s===-1)break;t.push(s+1),n=s}if(!t.length||t[t.length-1]<e.length){let s=0;const i=/\S+\s*/g;let a=null;for(;(a=i.exec(e))!==null;)s+=1,s%this.wordsPerChunk===0&&t.push(a.index+a[0].length)}return(!t.length||t[t.length-1]<e.length)&&t.push(e.length),t}configureMarked(){Hn.markedConfigured||(xe.setOptions({breaks:!0,gfm:!0}),Hn.markedConfigured=!0)}};ce(Hn,"markedConfigured",!1);let us=Hn;function qd(r){const e=r.batchChars??120,t=r.debounceMs??48,n=r.stepDelayMs??90;let s=r.getTotalTextChars();const i=c.ref(s);let a=null,o=null,l=0,u=Promise.resolve(),d=[];const p=S=>new Promise(y=>window.setTimeout(y,S)),f=S=>{o!==null&&cancelAnimationFrame(o),o=requestAnimationFrame(()=>{o=null,S()})},g=S=>{u=u.then(async()=>{for(;d.length&&S===l;){const y=d.shift();!y||y<=s||(s=y,i.value=y,await p(n))}if(S===l&&!d.length){const y=r.getTotalTextChars();s<y&&m(!1)}})},w=(S,y)=>{const v=r.buildRevealBoundaries(r.getPlainText()).filter(x=>x>s&&x<=S);v.length&&(d.push(...v),g(y))},h=S=>{const y=r.getTotalTextChars(),b=S?y:Math.min(y,s+e);b<=s||w(b,l)},m=(S=!1)=>{a!==null&&(window.clearTimeout(a),a=null);const y=S?0:t;a=window.setTimeout(()=>{a=null,f(()=>{h(S)})},y)};return{displayedLength:i,scheduleFlush:m,reset:()=>{l+=1,u=Promise.resolve(),d=[],a!==null&&(window.clearTimeout(a),a=null),o!==null&&(cancelAnimationFrame(o),o=null),s=0,i.value=0}}}function Gd(r){const e=c.ref(!1),t=c.ref(!1),n=c.ref(null);let s=null,i=null;const a=()=>c.unref(r.ttsUrl),o=()=>{s&&(s.pause(),s.src="",s=null),i&&(URL.revokeObjectURL(i),i=null)},l=async g=>{const w=a();if(!w)throw n.value="TTS URL not configured",new Error(n.value);if(!(g!=null&&g.trim()))throw n.value="No text to speak",new Error(n.value);p(),t.value=!0,n.value=null;try{const h=await fetch(w,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:g.trim(),voice:r.voice||"nova"})});if(!h.ok){const k=await h.json().catch(()=>({}));throw new Error(k.error||`TTS request failed: ${h.status}`)}const m=await h.blob();return i=URL.createObjectURL(m),new Promise((k,S)=>{s=new Audio(i),s.onplay=()=>{e.value=!0,t.value=!1},s.onended=()=>{e.value=!1,o(),k()},s.onerror=()=>{e.value=!1,t.value=!1,n.value="Audio playback failed",o(),S(n.value)},s.play().catch(y=>{t.value=!1,n.value=y.message,S(y)})})}catch(h){throw t.value=!1,n.value=h.message||"TTS failed",h}},u=()=>{s&&e.value&&(s.pause(),e.value=!1)},d=()=>{s&&!e.value&&(s.play(),e.value=!0)},p=()=>{e.value=!1,t.value=!1,o()},f=g=>{e.value?u():s&&s.paused&&s.currentTime>0?d():g&&l(g)};return c.onUnmounted(()=>{p()}),{isSpeaking:e,isLoading:t,error:n,speak:l,pause:u,resume:d,stop:p,toggle:f}}const Xd=["aria-label"],Zd={key:1,width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yd=["aria-label","disabled"],Qd={key:1,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Jd=c.defineComponent({__name:"MessageBotActions",props:{messageText:{},color:{},ttsUrl:{},ttsEnabled:{type:Boolean},visible:{type:Boolean},textElementRef:{}},setup(r){const e=r,t=c.ref("idle"),n=c.ref(!1);let s;const i=()=>{s&&(window.clearTimeout(s),s=void 0)},a=(v=1500)=>{i(),s=window.setTimeout(()=>{t.value="idle"},v)},o=()=>{var x,_;const v=(_=(x=e.textElementRef)==null?void 0:x.innerText)==null?void 0:_.trim();return v||(e.messageText||"").trim()},l=v=>{const x=document.createElement("textarea");x.value=v,x.setAttribute("readonly",""),x.style.position="fixed",x.style.top="-9999px",x.style.left="-9999px",document.body.appendChild(x),x.select();const _=document.execCommand("copy");return document.body.removeChild(x),_},u=async()=>{var x;const v=o();if(v)try{if((x=navigator.clipboard)!=null&&x.writeText)await navigator.clipboard.writeText(v);else if(!l(v))throw new Error("execCommand(copy) failed");t.value="copied",a()}catch(_){console.warn("Copy failed",_),t.value="error",a(2e3)}},d=c.computed(()=>t.value==="copied"?"Copied":t.value==="error"?"Copy failed":"Copy"),p=c.computed(()=>n.value||t.value!=="idle"),f=c.computed(()=>e.ttsUrl),{speak:g,stop:w,isSpeaking:h,isLoading:m}=Gd({ttsUrl:f,voice:"nova"}),k=c.ref(!1),S=c.computed(()=>m.value?"Loading...":h.value?"Stop":"Speak"),y=c.computed(()=>k.value||h.value||m.value),b=()=>{h.value?w():e.messageText&&g(e.messageText)};return c.onBeforeUnmount(()=>{i()}),(v,x)=>(c.openBlock(),c.createElementBlock("div",{class:c.normalizeClass(["tw:flex tw:items-center tw:transition-opacity tw:duration-200 tw:gap-1 tw:z-10 tw:justify-end",{"tw:opacity-0":!r.visible}])},[c.createElementVNode("div",{class:"tw:relative tw:flex",onMouseenter:x[2]||(x[2]=_=>n.value=!0),onMouseleave:x[3]||(x[3]=_=>n.value=!1)},[c.createElementVNode("span",{class:c.normalizeClass(["tw:pointer-events-none tw:absolute tw:bottom-full tw:left-[-50%] tw:mb-2 tw:whitespace-nowrap tw:text-[11px] tw:px-2 tw:py-1 tw:rounded tw:bg-black/80 tw:text-white tw:opacity-0 tw:transition-opacity tw:duration-150 tw:z-10",{"tw:opacity-100":p.value}]),role:"tooltip"},c.toDisplayString(d.value),3),c.createElementVNode("button",{class:"copy-button tw:opacity-80 tw:transition-opacity tw:duration-200 tw:cursor-pointer tw:rounded tw:hover:opacity-100",onClick:c.withModifiers(u,["stop"]),onFocus:x[0]||(x[0]=_=>n.value=!0),onBlur:x[1]||(x[1]=_=>n.value=!1),"aria-label":d.value,type:"button"},[t.value==="copied"?(c.openBlock(),c.createElementBlock("svg",{key:0,xmlns:"http://www.w3.org/2000/svg",class:"tw:w-3.5 tw:h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:c.normalizeStyle({color:r.color,opacity:.7})},[...x[8]||(x[8]=[c.createElementVNode("polyline",{points:"20 6 9 17 4 12"},null,-1)])],4)):(c.openBlock(),c.createElementBlock("svg",Zd,[...x[9]||(x[9]=[c.createElementVNode("path",{d:"M10.6667 8.60004V11.4C10.6667 13.7334 9.73334 14.6667 7.40001 14.6667H4.60001C2.26668 14.6667 1.33334 13.7334 1.33334 11.4V8.60004C1.33334 6.26671 2.26668 5.33337 4.60001 5.33337H7.40001C9.73334 5.33337 10.6667 6.26671 10.6667 8.60004Z",fill:"#A6A6A6"},null,-1),c.createElementVNode("path",{d:"M11.4 1.33337H8.6C6.6793 1.33337 5.71167 1.97031 5.42923 3.49264C5.32764 4.04021 5.79499 4.50004 6.3519 4.50004H7.4C10.2 4.50004 11.5 5.80004 11.5 8.60004V9.64814C11.5 10.205 11.9598 10.6724 12.5074 10.5708C14.0297 10.2884 14.6667 9.32074 14.6667 7.40004V4.60004C14.6667 2.26671 13.7333 1.33337 11.4 1.33337Z",fill:"#A6A6A6"},null,-1)])]))],40,Xd)],32),r.ttsEnabled?(c.openBlock(),c.createElementBlock("div",{key:0,class:"tw:relative tw:flex",onMouseenter:x[6]||(x[6]=_=>k.value=!0),onMouseleave:x[7]||(x[7]=_=>k.value=!1)},[c.createElementVNode("span",{class:c.normalizeClass(["tw:pointer-events-none tw:absolute tw:bottom-full tw:left-[-50%] tw:mb-2 tw:whitespace-nowrap tw:text-[11px] tw:px-2 tw:py-1 tw:rounded tw:bg-black/80 tw:text-white tw:opacity-0 tw:transition-opacity tw:duration-150 tw:z-10",{"tw:opacity-100":y.value}]),role:"tooltip"},c.toDisplayString(S.value),3),c.createElementVNode("button",{class:c.normalizeClass(["tts-button tw:opacity-80 tw:hover:opacity-100 tw:transition-opacity tw:duration-200 tw:cursor-pointer tw:rounded tw:hover:bg-white",{"tw:opacity-100":c.unref(h)||c.unref(m),"tts-speaking":c.unref(h),"tts-loading":c.unref(m)}]),onClick:c.withModifiers(b,["stop"]),onFocus:x[4]||(x[4]=_=>k.value=!0),onBlur:x[5]||(x[5]=_=>k.value=!1),"aria-label":S.value,disabled:c.unref(m),type:"button"},[c.unref(h)?(c.openBlock(),c.createElementBlock("svg",{key:0,xmlns:"http://www.w3.org/2000/svg",class:"tw:w-3.5 tw:h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:c.normalizeStyle({color:r.color,opacity:.6})},[...x[10]||(x[10]=[c.createElementVNode("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"},null,-1),c.createElementVNode("line",{x1:"23",y1:"9",x2:"17",y2:"15"},null,-1),c.createElementVNode("line",{x1:"17",y1:"9",x2:"23",y2:"15"},null,-1)])],4)):(c.openBlock(),c.createElementBlock("svg",Qd,[...x[11]||(x[11]=[c.createElementVNode("path",{d:"M12 11.1666C11.8933 11.1666 11.7933 11.1333 11.7 11.0666C11.48 10.9 11.4333 10.5866 11.6 10.3666C12.6467 8.97331 12.6467 7.02664 11.6 5.63331C11.4333 5.41331 11.48 5.09998 11.7 4.93331C11.92 4.76665 12.2333 4.81331 12.4 5.03331C13.7067 6.77998 13.7067 9.21998 12.4 10.9666C12.3 11.1 12.1533 11.1666 12 11.1666Z",fill:"#A6A6A6"},null,-1),c.createElementVNode("path",{d:"M13.22 12.8334C13.1133 12.8334 13.0133 12.8 12.92 12.7334C12.7 12.5667 12.6533 12.2534 12.82 12.0334C14.6 9.66002 14.6 6.34002 12.82 3.96669C12.6533 3.74669 12.7 3.43335 12.92 3.26669C13.14 3.10002 13.4533 3.14669 13.62 3.36669C15.6667 6.09335 15.6667 9.90669 13.62 12.6334C13.5267 12.7667 13.3733 12.8334 13.22 12.8334Z",fill:"#A6A6A6"},null,-1),c.createElementVNode("path",{d:"M9.34668 2.52002C8.60001 2.10669 7.64668 2.21335 6.67334 2.82002L4.72668 4.04002C4.59334 4.12002 4.44001 4.16669 4.28668 4.16669H3.66668H3.33334C1.72001 4.16669 0.833344 5.05335 0.833344 6.66669V9.33335C0.833344 10.9467 1.72001 11.8334 3.33334 11.8334H3.66668H4.28668C4.44001 11.8334 4.59334 11.88 4.72668 11.96L6.67334 13.18C7.26001 13.5467 7.83334 13.7267 8.36668 13.7267C8.71334 13.7267 9.04668 13.6467 9.34668 13.48C10.0867 13.0667 10.5 12.2067 10.5 11.06V4.94002C10.5 3.79335 10.0867 2.93335 9.34668 2.52002Z",fill:"#A6A6A6"},null,-1)])]))],42,Yd)],32)):c.createCommentVNode("",!0)],2))}}),ef={key:"message",class:"message-text tw:min-w-0 tw:relative tw:flex tw:items-end tw:self-start tw:gap-1"},Bn=.22,tf=24,nf=40,rf=c.defineComponent({__name:"MessageBot",props:{message:{},welcomeColor:{},color:{},bgColor:{},size:{},isPreview:{type:Boolean},bgType:{},fontSize:{},borderWidth:{},borderColor:{},configDesignClass:{},ttsUrl:{},isChangeMode:{type:Boolean},isProduction:{type:Boolean}},setup(r){const e=new us,t=r,n=c.computed(()=>!t.isProduction),s=c.computed(()=>{var N;return t.ttsUrl||((N=t.configDesignClass)==null?void 0:N.getKey("settings.ttsUrl"))||""}),i=c.computed(()=>!!s.value),a=c.ref(null),o=c.ref(null),l=c.ref(!1),u=c.computed(()=>t.message.text||""),d=c.computed(()=>u.value?e.parseMarkdownToHtml(u.value):""),p=c.computed(()=>e.extractPlainText(d.value)),f=c.computed(()=>p.value.length),g=c.computed(()=>!!t.message.chunk&&f.value>0&&f.value<=nf),{displayedLength:w,scheduleFlush:h,reset:m}=qd({getPlainText:()=>p.value,getTotalTextChars:()=>f.value,buildRevealBoundaries:N=>e.buildRevealBoundaries(N)}),k=c.computed(()=>{var N,H;return!!(t.message.text&&!((N=t.message.chunk)!=null&&N.start)&&((H=t.message.chunk)!=null&&H.end)&&(n.value||w.value>=f.value))}),S=c.computed(()=>{var te,se;const N=(te=t.message.chunk)!=null&&te.start?"#2F2F31":t.color,H=!((se=t.message.chunk)!=null&&se.start),W=H&&t.bgType==="bubble"?t.bgColor:"transparent";return{color:N,backgroundColor:W,fontSize:`${t.fontSize}px`,border:t.bgType==="bubble"&&H?`${t.borderWidth}px solid ${t.borderColor}`:"none","--hsw-message-table-header-bg":W&&W!=="transparent"?`color-mix(in srgb, ${W} 85%, white)`:W}}),y=c.computed(()=>({...S.value,opacity:l.value?1:0})),b=c.computed(()=>{switch(t.size){case"sm":return t.bgType==="bubble"?" tw:min-h-[25px] tw:py-1 tw:px-2 ":"";case"md":return t.bgType==="bubble"?" tw:min-h-[33px] tw:py-2 tw:px-3":"";case"lg":return t.bgType==="bubble"?" tw:min-h-[40px] tw:py-3 tw:px-4":""}});let v="",x=[],_=0,C=!1,T=null,P=null,D=new WeakSet;const B=[],A=N=>{if(N.querySelector(".hsw-tr-reveal"))return;N.querySelectorAll("td, th").forEach(W=>{const te=W,se=getComputedStyle(te);te.dataset.hswOrigPadding=se.padding,te.dataset.hswOrigBorder=se.borderWidth,te.style.padding="0",te.style.borderWidth="0";const Z=document.createElement("div");for(Z.className="hsw-tr-reveal",Z.style.height="0",Z.style.overflow="hidden",Z.style.opacity="0";te.firstChild;)Z.appendChild(te.firstChild);te.appendChild(Z)})},z=N=>{N.querySelectorAll(".hsw-tr-reveal").forEach(H=>{const W=H.parentElement;for(;H.firstChild;)W.insertBefore(H.firstChild,H);W.removeChild(H)}),N.querySelectorAll("td, th").forEach(H=>{const W=H;W.style.padding="",W.style.borderWidth="",delete W.dataset.hswOrigPadding,delete W.dataset.hswOrigBorder})},L=()=>{if(C)return;const N=a.value;if(!N||!B.length)return;const H=B.splice(0),W=H.map(X=>X.onComplete),se=Array.from(new Set(H.flatMap(X=>X.nodes))).filter(X=>N.contains(X));if(!se.length){W.forEach(X=>X()),L();return}const Z=se.filter(X=>X.dataset.hswInsertedReveal==="1"),pe=se.filter(X=>X.dataset.hswInsertedReveal!=="1"&&!D.has(X)),ke=Z.filter(X=>X.tagName.toLowerCase()==="tr"),Ve=Z.filter(X=>X.tagName.toLowerCase()!=="tr"),ve=pe.filter(X=>X.tagName.toLowerCase()==="tr"),Xe=pe.filter(X=>X.tagName.toLowerCase()!=="tr");[...ke,...ve].forEach(X=>A(X));const rt=Ve.filter(X=>X.tagName.toLowerCase()==="li"),$e=Ve.filter(X=>X.tagName.toLowerCase()!=="li"),He=$e.map(X=>Math.max(Math.ceil(X.scrollHeight),1)),ge=rt.map(X=>{ae.set(X,{height:"auto",clearProps:"paddingTop,paddingBottom"});const le=getComputedStyle(X),Gt=Math.max(Math.ceil(X.scrollHeight),1),Mr=le.paddingTop,nr=le.paddingBottom;return ae.set(X,{height:0,paddingTop:0,paddingBottom:0}),{height:Gt,paddingTop:Mr,paddingBottom:nr}}),_e=[],Oe=[];[...ke,...ve].forEach(X=>{X.querySelectorAll(".hsw-tr-reveal").forEach(le=>_e.push(le)),X.querySelectorAll("td, th").forEach(le=>Oe.push(le))});const Mt=_e.map(X=>{X.style.height="auto";const le=Math.max(Math.ceil(X.scrollHeight),1);return X.style.height="0",le});C=!0;const we=ae.timeline({onUpdate:()=>{Fe("update")},onComplete:()=>{Ve.length&&(Ve.forEach(X=>{delete X.dataset.hswInsertedReveal,D.add(X)}),ae.set(Ve,{clearProps:"height,overflow,opacity,transform,paddingTop,paddingBottom"})),ke.length&&ke.forEach(X=>{delete X.dataset.hswInsertedReveal,D.add(X),z(X)}),ve.length&&ve.forEach(X=>{D.add(X),z(X)}),Xe.length&&Xe.forEach(X=>D.add(X)),W.forEach(X=>X()),C=!1,L()}});$e.length&&we.to($e,{opacity:1,y:0,height:X=>`${He[X]}px`,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),rt.length&&we.to(rt,{opacity:1,y:0,height:X=>`${ge[X].height}px`,paddingTop:X=>ge[X].paddingTop,paddingBottom:X=>ge[X].paddingBottom,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),_e.length&&(we.to(_e,{height:X=>`${Mt[X]}px`,opacity:1,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),we.to(Oe,{padding:X=>Oe[X].dataset.hswOrigPadding||"",borderWidth:X=>Oe[X].dataset.hswOrigBorder||"",duration:Bn,ease:"power2.out"},0)),Xe.length&&we.fromTo(Xe,{opacity:0,y:10},{opacity:1,y:0,duration:Bn,ease:"power2.out",stagger:.06,overwrite:"auto"},0),x=[we]},O=(N,H)=>{B.push({nodes:N,onComplete:H}),L()},E=(N,H)=>{const W=[],te=new RegExp(`</${H}\\s*>`,"gi");let se=te.exec(N);for(;se;){const Z=se.index+se[0].length,pe=e.extractPlainText(N.slice(0,Z)).length;pe>0&&W.push(pe),se=te.exec(N)}return W},R=c.computed(()=>{if(!d.value)return[];const N=document.createElement("template");N.innerHTML=d.value;const H=[...E(d.value,"li"),...E(d.value,"tr"),...E(d.value,"p")];let W=0;const te=Z=>{Z<=0||(W+=Z,H.push(W))},se=Z=>(Z.textContent||"").length;return Array.from(N.content.childNodes).forEach(Z=>{if(Z.nodeType===Node.TEXT_NODE){te(se(Z));return}if(Z.nodeType!==Node.ELEMENT_NODE)return;const pe=Z,ke=pe.tagName.toLowerCase();ke==="ul"||ke==="ol"||ke==="table"||ke==="thead"||ke==="tbody"||ke==="tfoot"||ke==="tr"||ke==="p"||ke==="li"||te(se(pe))}),Array.from(new Set(H)).filter(Z=>Z>0).sort((Z,pe)=>Z-pe)}),F=()=>{x.forEach(N=>N.kill()),x=[],B.length=0,C=!1},J=()=>{P&&(clearTimeout(P),P=null),T=null},U=()=>{J(),F();const N=a.value;N&&N.replaceChildren(),D=new WeakSet,v="",_=0,l.value=!1;const H=o.value;H&&(H.style.height="auto")},G=N=>{const H=document.createElement("template");return H.innerHTML=N,H.content.cloneNode(!0)},ie=new Set(["img","svg","video","audio","canvas","iframe","hr","br","input","textarea","select","button"]),Y=N=>{if(N.nodeType===Node.TEXT_NODE)return(N.textContent||"").trim().length>0;if(N.nodeType!==Node.ELEMENT_NODE)return!1;const H=N,W=H.tagName.toLowerCase();if(ie.has(W))return!0;if(W==="ul"||W==="ol"){const se=Array.from(H.children).filter(Z=>Z.tagName.toLowerCase()==="li");return se.length?se.some(Z=>Y(Z)):!1}return W==="table"?Array.from(H.querySelectorAll("tr")).some(se=>Y(se)):(H.textContent||"").replace(/\u00a0/g," ").trim().length>0?!0:!!H.querySelector("img,svg,video,audio,canvas,iframe,hr,br,input,textarea,select,button")},I=N=>{if(N.nodeType!==Node.ELEMENT_NODE)return;const H=N;Array.from(H.childNodes).forEach(W=>I(W)),Array.from(H.childNodes).forEach(W=>{Y(W)||H.removeChild(W)})},j=N=>{if(!N)return"";const H=G(N);Array.from(H.childNodes).forEach(te=>I(te)),Array.from(H.childNodes).forEach(te=>{Y(te)||H.removeChild(te)});const W=document.createElement("template");return W.content.appendChild(H),W.innerHTML.trim()},V=new Set(["td","th","p","li","tr"]),K=(N,H)=>{if(N.nodeType!==Node.ELEMENT_NODE)return;const W=new Set,te=N,se=Z=>{var ke,Ve;if(W.has(Z))return;const pe=Z.tagName.toLowerCase();if(pe==="tr"){W.add(Z),H.push(Z),Z.dataset.hswInsertedReveal="1";return}if((ke=Z.closest("table, .message-item"))!=null&&ke.matches("table")){Array.from(Z.children).forEach(ve=>{se(ve)});return}if((Ve=Z.closest("ol, ul, .message-item"))!=null&&Ve.matches("ol, ul")&&pe!=="li"){Array.from(Z.children).forEach(ve=>{se(ve)});return}if(W.add(Z),H.push(Z),Z.dataset.hswInsertedReveal="1",pe!=="tr"&&!t.isChangeMode&&!n.value){const ve={opacity:0,height:0,overflow:"hidden",y:10};pe==="li"&&(ve.paddingTop=0,ve.paddingBottom=0),ae.set(Z,ve)}V.has(pe)||Array.from(Z.children).forEach(ve=>{se(ve)})};se(te)},ee=N=>{const H=N.parentElement;if(!H)return null;const W=H.closest("tr");return W&&W.closest("table")?W:H.closest("li, p, blockquote, pre, code, tr")||H},ye=(N,H)=>{const W=Array.from(N.attributes),te=Array.from(H.attributes);W.forEach(se=>{H.hasAttribute(se.name)||N.removeAttribute(se.name)}),te.forEach(se=>{N.getAttribute(se.name)!==se.value&&N.setAttribute(se.name,se.value)})},Ce=(N,H,W,te,se)=>{const Z=Array.from(N.childNodes),pe=N.nodeType===Node.ELEMENT_NODE?N.tagName.toLowerCase():"";if(pe==="ol"||pe==="ul"){const ge=we=>we.nodeType===Node.ELEMENT_NODE&&we.tagName.toLowerCase()==="li",_e=Z.filter(ge),Oe=H.filter(ge),Mt=Math.min(_e.length,Oe.length);for(let we=0;we<Mt;we+=1)_e[we].innerHTML!==Oe[we].innerHTML&&(ye(_e[we],Oe[we]),Ce(_e[we],Array.from(Oe[we].childNodes),W,te,se));for(let we=Mt;we<Oe.length;we+=1){const X=Oe[we].cloneNode(!0);se?se.push({targetParent:N,el:X}):(console.warn("appending newNode",X),N.appendChild(X),l.value=!0,K(X,W))}for(let we=_e.length-1;we>=Oe.length;we-=1)N.removeChild(_e[we]);return}const Ve=ge=>ge.nodeType!==Node.TEXT_NODE||(ge.textContent||"").trim().length>0,ve=Z.filter(Ve),Xe=H.filter(Ve),rt=ge=>ge.nodeType===Node.ELEMENT_NODE?ge.tagName:`#${ge.nodeType}`;let $e=0,He=0;for(;$e<ve.length&&He<Xe.length;){const ge=ve[$e],_e=Xe[He],Oe=rt(ge),Mt=rt(_e);if(Oe===Mt){if(ge.nodeType===Node.TEXT_NODE){if(ge.textContent!==_e.textContent){ge.textContent=_e.textContent||"";const le=ee(ge);le&&te.push(le)}}else if(ge.nodeType===Node.ELEMENT_NODE){const le=ge,Gt=_e;ye(le,Gt),le.innerHTML!==Gt.innerHTML&&Ce(le,Array.from(Gt.childNodes),W,te,se)}$e++,He++;continue}const we=Xe.slice(He+1).findIndex(le=>rt(le)===Oe),X=ve.slice($e+1).findIndex(le=>rt(le)===Mt);if(we===-1&&X===-1){const le=_e.cloneNode(!0);N.replaceChild(le,ge),le.nodeType===Node.ELEMENT_NODE&&K(le,W),$e++,He++;continue}if(we===-1){N.removeChild(ge),$e++;continue}if(X===-1){const le=_e.cloneNode(!0);N.insertBefore(le,ge),le.nodeType===Node.ELEMENT_NODE&&K(le,W),He++;continue}if(X<=we)N.removeChild(ge),$e++;else{const le=_e.cloneNode(!0);N.insertBefore(le,ge),le.nodeType===Node.ELEMENT_NODE&&K(le,W),He++}}for(let ge=ve.length-1;ge>=$e;ge--)ve[ge].parentNode===N&&N.removeChild(ve[ge]);for(let ge=He;ge<Xe.length;ge++){const _e=Xe[ge].cloneNode(!0);if(_e.nodeType===Node.ELEMENT_NODE){const Oe=_e;se?se.push({targetParent:N,el:Oe}):(console.warn("appending newNode",Oe),N.appendChild(Oe),l.value=!0,K(Oe,W))}else console.warn("appending textNode",_e),N.appendChild(_e)}},de=(N,H)=>{const W=G(H),te=Array.from(W.childNodes),se=[],Z=[],pe=[];return Ce(N,te,se,Z,pe),{addedElements:se,updatedElements:Z,appendQueue:pe}},Me=(N,H,W)=>{var pe,ke;if(!N.length){W();return}const te=N.shift(),se=((pe=te.el.textContent)==null?void 0:pe.trim().length)??0,Z=!!t.message.chunkId;(se>=20||(ke=t.message.chunk)!=null&&ke.end||!t.isPreview||Z)&&(te.targetParent.appendChild(te.el),l.value=!0,K(te.el,H)),N.length?requestAnimationFrame(()=>Me(N,H,W)):W()},Fe=N=>{window.dispatchEvent(new CustomEvent("hsw:bot-render-progress",{detail:{phase:N,chunkId:t.message.chunkId||null}}))},Pt=(N,H=!0)=>{var ve,Xe;const W=a.value;if(!W)return;const te=j(N);if(!te&&!((ve=t.message.chunk)!=null&&ve.end)&&v||te===v)return;const{addedElements:se,updatedElements:Z,appendQueue:pe}=de(W,te),ke=!!((Xe=t.message.chunk)!=null&&Xe.end);v=te,Fe("update");const Ve=()=>{const rt=Array.from(new Set([...se,...Z]));if(!H||!te){Fe("complete");return}const $e=rt.filter(He=>!W.contains(He)||D.has(He)?!1:ke?He.dataset.hswInsertedReveal==="1":!0);if(!$e.length){Fe("complete");return}O($e,()=>Fe("complete"))};pe.length?Me(pe,se,Ve):Ve()},Re=()=>{if(P&&(clearTimeout(P),P=null),!T)return;const{html:N,animate:H}=T;T=null,Pt(N,H)},dt=(N,H=!0,W=!1)=>{if(T={html:N,animate:H},W){Re();return}P&&clearTimeout(P),P=setTimeout(()=>Re(),tf)},Ee=()=>{var te,se;if(!d.value)return{html:"",charsToRender:0};if(t.isChangeMode||n.value)return{html:e.truncateHtmlByChars(d.value,f.value),charsToRender:f.value};if(g.value)return(te=t.message.chunk)!=null&&te.end?{html:e.truncateHtmlByChars(d.value,f.value),charsToRender:f.value}:{html:"",charsToRender:0};const N=Math.min(w.value,f.value);if(!!((se=t.message.chunk)!=null&&se.end)&&N>=f.value)return{html:e.truncateHtmlByChars(d.value,f.value),charsToRender:f.value};let W=0;for(const Z of R.value){if(Z>N)break;W=Z}return W<=0?{html:"",charsToRender:0}:{html:e.truncateHtmlByChars(d.value,W),charsToRender:W}},ft=()=>{var se,Z;if(g.value&&!((se=t.message.chunk)!=null&&se.end))return;const{html:N,charsToRender:H}=Ee();if(H<=_&&N||!N&&_>0)return;const W=!!((Z=t.message.chunk)!=null&&Z.end)&&H>=f.value,te=t.isChangeMode||n.value;dt(N,!te,W||te),_=H};return c.watch(w,(N,H)=>{N<H&&U(),ft()}),c.watch(u,(N,H)=>{N.length<((H==null?void 0:H.length)||0)&&(U(),m()),h(!1)}),c.watch(()=>{var N;return(N=t.message.chunk)==null?void 0:N.end},N=>{N&&(h(!0),ft())}),c.watch(n,N=>{N&&(F(),U(),l.value=!0,ft())}),c.onBeforeUnmount(()=>{J(),F(),m()}),c.onMounted(()=>{(t.isChangeMode||n.value)&&(l.value=!0),ft()}),(N,H)=>{var W;return c.openBlock(),c.createElementBlock("li",{ref_key:"messageItemEl",ref:o,class:c.normalizeClass(["message-item tw:flex tw:items-end tw:text-white tw:max-w-[95%] tw:w-fit tw:whitespace-break-spaces tw:transition-colors tw:transition-opacity tw:duration-[250ms] tw:ease-[ease]",[b.value,{"item-primary":!((W=r.message.chunk)!=null&&W.start)}]]),style:c.normalizeStyle(y.value)},[c.createElementVNode("div",ef,[c.createElementVNode("span",{ref_key:"messageTextEl",ref:a,class:"tw:relative tw:min-w-0 tw:gap-2 tw:z-[1] tw:flex-1 tw:max-w-[100%] tw:overflow-x-scroll tw:overflow-y-hidden tw:flex markdown-content tw:flex-col"},null,512)]),c.createVNode(Jd,{"message-text":r.message.text||"",color:r.color,"tts-url":s.value,"tts-enabled":i.value,visible:k.value,"text-element-ref":a.value},null,8,["message-text","color","tts-url","tts-enabled","visible","text-element-ref"])],6)}}}),sf=c.defineComponent({__name:"MessageUser",props:{message:{},isFirst:{type:Boolean},color:{},bgColor:{},borderWidth:{},borderColor:{},fontSize:{},size:{},bgType:{},configDesignClass:{}},setup(r){const e=r,t=c.computed(()=>{switch(e.size){case"sm":return e.bgType==="bubble"?" tw:min-h-[25px] tw:py-1 tw:px-2 ":"";case"md":return e.bgType==="bubble"?" tw:min-h-[33px] tw:py-2 tw:px-3":"";case"lg":return e.bgType==="bubble"?" tw:min-h-[40px] tw:py-3 tw:px-4":""}}),n=c.computed(()=>e.bgType==="bubble"?e.borderWidth+"px solid "+e.borderColor:"none");return(s,i)=>(c.openBlock(),c.createElementBlock("li",{class:c.normalizeClass(["message-item tw:transition-colors tw:max-w-[95%] tw:w-fit tw:whitespace-break-spaces item-secondary tw:ml-auto",[t.value,{"tw:mt-[5px] !tw:bg-transparent":r.isFirst}]]),style:c.normalizeStyle({color:r.color,"background-color":r.bgType==="bubble"?r.bgColor:"transparent",border:n.value,"font-size":r.fontSize+"px"})},c.toDisplayString(r.message.text),7))}}),of=["innerHTML"],Oi=c.defineComponent({__name:"LoadingIndicator",props:{isPaused:{type:Boolean},loader:{},activeStepColor:{},loaderSize:{},completeIconSrc:{}},setup(r,{expose:e}){const t=r,n=c.ref(null),s=c.ref(null),i=c.ref(null),a=c.ref(null),o=c.ref(null),l=c.ref(null);let u=null;const d=()=>!t.loader||t.loader==="dots"?i.value:t.loader==="dots-pulse"?a.value:t.loader==="circle-pulse"?o.value:t.loader==="circle-pulse-1"?l.value:i.value,p=f=>{u&&u.kill();const g=n.value,w=d(),h=s.value;if(!g||!w||!h)return;const m=f?w:h,k=f?h:w,S=k.offsetWidth,y=.3,b="power2.inOut";u=ae.timeline(),u.to(m,{opacity:0,scale:.8,duration:y*.6,ease:b}),u.to(g,{width:S,duration:y,ease:b},`-=${y*.3}`),u.fromTo(k,{opacity:0,scale:.8},{opacity:1,scale:1,duration:y*.6,ease:b},`-=${y*.4}`)};return c.onMounted(()=>{c.nextTick(()=>{const f=n.value,g=s.value,w=d(),h=t.isPaused?g:w,m=t.isPaused?w:g;h&&ae.set(h,{opacity:1,scale:1}),m&&ae.set(m,{opacity:0,scale:.8}),f&&h&&ae.set(f,{width:h.offsetWidth})})}),c.watch(()=>t.isPaused,f=>{p(f)}),c.onBeforeUnmount(()=>{u&&u.kill()}),e({completeIconRef:s,dotsRef:i,dotsPulseRef:a,circlePulseRef:o,circlePulse1Ref:l,wrapperRef:n}),(f,g)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"wrapperRef",ref:n,class:"tw:grid tw:overflow-hidden tw:shrink-0 tw:place-items-center tw:justify-items-start"},[c.createElementVNode("div",{ref_key:"completeIconRef",ref:s,innerHTML:r.completeIconSrc,class:"svg-inherit tw:opacity-0",style:c.normalizeStyle([{"grid-area":"1 / 1"},{color:r.activeStepColor,height:r.loaderSize+"px",width:r.loaderSize+"px"}])},null,12,of),!r.loader||r.loader==="dots"?(c.openBlock(),c.createElementBlock("div",{key:0,ref_key:"dotsRef",ref:i,class:"tw:flex tw:items-center tw:justify-start tw:gap-1 tw:h-4 tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot tw:rounded-full"},null,4),c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot loading-dot-delay-1 tw:rounded-full"},null,4),c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot loading-dot-delay-2 tw:rounded-full"},null,4),c.createElementVNode("div",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"loading-dot loading-dot-delay-3 tw:rounded-full"},null,4)],512)):c.createCommentVNode("",!0),r.loader==="dots-pulse"?(c.openBlock(),c.createElementBlock("div",{key:1,ref_key:"dotsPulseRef",ref:a,class:"tw:flex tw:items-center tw:justify-start tw:gap-1 tw:h-4 tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"dot-pulse dot-1"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"dot-pulse dot-2"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"dot-pulse dot-3"},null,4)],512)):c.createCommentVNode("",!0),r.loader==="circle-pulse"?(c.openBlock(),c.createElementBlock("div",{key:2,ref_key:"circlePulseRef",ref:o,class:"circle-pulse tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ring ring-1"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ring ring-2"},null,4)],512)):c.createCommentVNode("",!0),r.loader==="circle-pulse-1"?(c.openBlock(),c.createElementBlock("div",{key:3,ref_key:"circlePulse1Ref",ref:l,class:"circle-pulse-1 tw:opacity-0",style:{"grid-area":"1 / 1"}},[c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ripple r1"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"ripple r2"},null,4),c.createElementVNode("span",{style:c.normalizeStyle({backgroundColor:r.activeStepColor}),class:"center"},null,4)],512)):c.createCommentVNode("",!0)],512))}}),af=c.defineComponent({__name:"TextTransition",props:{text:{},duration:{default:.6}},setup(r){const e=r,t=c.ref(null),n=c.ref(e.text);let s=null;const i={p:100},a=()=>{if(!t.value)return;const l=i.p,u=`linear-gradient(to right, #000 ${l}%, transparent ${l+30}%)`;t.value.style.webkitMaskImage=u,t.value.style.maskImage=u},o=l=>{if(s&&s.kill(),!t.value){n.value=l;return}s=ae.timeline(),s.to(i,{p:-30,duration:e.duration,ease:"power2.in",onUpdate:a,onComplete:()=>{n.value=l}}),s.to(i,{p:100,duration:e.duration,ease:"power2.out",onUpdate:a})};return c.watch(()=>e.text,(l,u)=>{l!==u&&o(l)}),c.onMounted(()=>{n.value=e.text,a()}),c.onBeforeUnmount(()=>{s&&s.kill()}),(l,u)=>(c.openBlock(),c.createElementBlock("span",{ref_key:"textRef",ref:t,class:"text-transition"},c.toDisplayString(n.value),513))}}),lf=(r,e)=>{const t=r.__vccOpts||r;for(const[n,s]of e)t[n]=s;return t},Di=lf(af,[["__scopeId","data-v-f4bee663"]]),cf={key:1,class:"tw:flex tw:items-center tw:justify-center tw:overflow-hidden"},uf={key:0,class:"tw:block"},df=["data-text"],zi=c.defineComponent({__name:"LoadingMessage",props:{isProduction:{type:Boolean},borderRadius:{},loader:{},text:{},message:{},configDesignClass:{},paused:{type:Boolean},color:{},bgColor:{},loadingTime:{}},setup(r){const e=r,t=c.shallowRef(void 0);c.watch(()=>e.loadingTime,f=>{(!d.value||!t.value)&&(t.value=f)});const n=c.ref(null),s=c.ref(!1);let i=null;const a=c.computed(()=>Number(e.configDesignClass.getKey("sections.loader.completeStep.icon.size"))||16),o=()=>{const f=n.value;if(!f)return;const g=f.closest(".message-enter-item")??f.closest("li");if(!g)return;const w=g.nextElementSibling;if(!w){s.value=!1;return}const h=w.getAttribute("data-component")==="MessageBot"||typeof w.matches=="function"&&w.matches('[data-component="MessageBot"]')||!!w.querySelector('[data-component="MessageBot"]');s.value=h},l=c.ref(e.configDesignClass.getKey("sections.inside.dataAction.type")),u=c.computed(()=>e.configDesignClass.getKeyObject("sections.inside.dataAction"));c.onMounted(()=>{c.nextTick(o);const f=n.value,g=f==null?void 0:f.closest("ul");g&&(i=new MutationObserver(()=>o()),i.observe(g,{childList:!0,subtree:!0}))}),c.onBeforeUnmount(()=>{i&&i.disconnect()});const d=c.computed(()=>!!e.paused||s.value);c.watch(()=>l.value,()=>{ae.to(n.value,{opacity:0,duration:.25,ease:"power2.inOut"})});const p=(f,g)=>{const w=f;ae.to(w,{height:0,duration:.25,ease:"power2.inOut",onComplete:()=>{ae.set(w,{clearProps:"height"}),g()}})};return(f,g)=>{var w,h;return(w=r.message)!=null&&w.text?(c.openBlock(),c.createElementBlock("li",{key:"loading",ref_key:"rootRef",ref:n,class:c.normalizeClass(["message-text-loading tw:min-w-0 tw:flex tw:min-w-[60%] tw:justify-start tw:overflow-hidden tw:flex-wrap tw:border-solid",{"tw:flex-col tw:border tw:max-w-xs":l.value==="box","tw:border tw:px-3 tw:py-2.5":l.value==="outline","tw:!rounded-none":l.value==="compact","tw:items-center tw:gap-2":l.value!=="box"}]),style:c.normalizeStyle({borderColor:u.value.strokeColor,borderWidth:(h=r.message)!=null&&h.text?u.value.strokeWidth+"px":0,borderRadius:r.borderRadius})},[l.value==="box"?(c.openBlock(),c.createElementBlock("div",{key:0,class:"tw:flex tw:items-center tw:justify-start tw:gap-2 tw:px-2 tw:py-2.5",style:c.normalizeStyle({backgroundColor:u.value.headerFillColor,color:u.value.pastStepColor})},[c.createVNode(Oi,{"is-paused":d.value,loader:r.loader,"active-step-color":u.value.pastStepColor,"loader-size":a.value,"complete-icon-src":r.configDesignClass.getKey("sections.loader.completeStep.icon.src")},null,8,["is-paused","loader","active-step-color","loader-size","complete-icon-src"]),c.createElementVNode("span",{style:c.normalizeStyle({fontSize:r.configDesignClass.getKey("sections.loader.completeStep.fontSize")+"px"})},[c.createVNode(Di,{text:d.value?"Thinking completed":u.value.headerText},null,8,["text"])],4)],4)):c.createCommentVNode("",!0),l.value!=="box"?(c.openBlock(),c.createElementBlock("div",cf,[c.createVNode(Oi,{"is-paused":d.value,loader:r.loader,"active-step-color":u.value.activeStepColor,"loader-size":a.value,"complete-icon-src":r.configDesignClass.getKey("sections.loader.completeStep.icon.src")},null,8,["is-paused","loader","active-step-color","loader-size","complete-icon-src"])])):c.createCommentVNode("",!0),c.createVNode(c.Transition,{css:!1,onLeave:p},{default:c.withCtx(()=>{var m,k,S;return[l.value!=="box"||l.value==="box"&&!d.value?(c.openBlock(),c.createElementBlock("span",uf,[c.createElementVNode("span",{class:c.normalizeClass(["tw:transition-all tw:leading-none tw:w-full tw:block",{"tw:px-3 tw:py-3 tw:border-t":l.value==="box"}]),"data-text":(m=r.message)!=null&&m.text?(k=r.message)==null?void 0:k.text:"",style:c.normalizeStyle({color:u.value.activeStepColor,fontSize:r.configDesignClass.getKey("sections.loader.completeStep.fontSize")+"px",background:l.value==="box"?u.value.bodyFillColor:"transparent",borderColor:u.value.strokeColor,borderTopWidth:l.value==="box"?u.value.strokeWidth+"px":0})},[c.createVNode(Di,{text:d.value?"Thinking completed":((S=r.message)==null?void 0:S.text)||""},null,8,["text"])],14,df)])):c.createCommentVNode("",!0)]}),_:1}),c.createVNode(c.Transition,{name:"fade",mode:"out-in"},{default:c.withCtx(()=>[t.value&&t.value>0&&d.value&&(l.value==="outline"||l.value==="compact")?(c.openBlock(),c.createElementBlock("div",{key:0,class:c.normalizeClass(["tw:text-xs",{"tw:w-full tw:-mt-2":l.value==="compact","tw:ml-auto":l.value==="outline"}]),style:c.normalizeStyle({color:u.value.pastStepColor})},c.toDisplayString(t.value)+" seconds total ",7)):c.createCommentVNode("",!0)]),_:1})],6)):c.createCommentVNode("",!0)}}}),ff=["data-height"],hf={class:"tw:transition-all tw:relative tw:w-[16px] tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-1"},gf={class:"tw:transition-all tw:flex tw:items-center tw:gap-2 tw:leading-none"},pf=c.defineComponent({__name:"MessageSystem",props:{isProduction:{type:Boolean},message:{},welcomeColor:{},color:{},bgColor:{},size:{},configDesignClass:{},activeMessage:{type:Boolean},bgType:{},isLast:{type:Boolean},traceLastShown:{type:Boolean},index:{}},setup(r){const e=r,t=c.computed(()=>e.index===3&&e.traceLastShown||e.isLast),n=c.computed(()=>{switch(e.size){case"sm":return"tw:text-xs";case"md":return"tw:text-xs";case"lg":return"tw:text-base"}}),s=c.computed(()=>e.configDesignClass.getKeyObject("sections.inside.dataAction")),i=c.computed(()=>t.value?s.value.activeStepColor:s.value.pastStepColor),a=c.computed(()=>Ds(e.configDesignClass,"inside"));return(o,l)=>(c.openBlock(),c.createElementBlock("li",{class:c.normalizeClass(["message-system tw:text-left tw:relative tw:w-full tw:text-white tw:w-fit tw:whitespace-break-spaces tw:transition-colors tw:duration-[250ms] tw:ease-[ease]",n.value]),style:c.normalizeStyle([{"margin-bottom":"0px !important"},{"padding-top":r.configDesignClass.getKey("sections.loader.completeStep.verticalSpacing")+"px"}]),"data-height":r.configDesignClass.getKey("sections.loader.completeStep.verticalSpacing")},[c.createElementVNode("div",{key:"message",class:c.normalizeClass(["message-text flex tw:transition-all tw:space-between tw:gap-3 tw:flex tw:items-center tw:align-center",{"tw:mb-0":r.isLast}])},[c.createElementVNode("div",hf,[c.createElementVNode("hr",{class:"tw:w-[1px] tw:absolute",style:c.normalizeStyle([{display:"none"},{height:r.configDesignClass.getKey("sections.loader.completeStep.verticalSpacing")+r.configDesignClass.getKey("sections.loader.completeStep.fontSize")/2+6+"px",left:"50%",transform:"translateX(-50%)",bottom:"100%",border:0,backgroundColor:s.value.pastStepColor}])},null,4),c.createElementVNode("span",{class:"tw:w-[8px] tw:h-[8px] tw:rounded-full",style:c.normalizeStyle({backgroundColor:i.value})},null,4)]),c.createElementVNode("div",gf,[r.message.meta&&!r.isProduction?(c.openBlock(),c.createBlock(c.unref(Bt),{key:0,style:c.normalizeStyle({color:e.activeMessage?"rgba(255, 255, 255, 0.60)":"#3F3F46",background:e.activeMessage?"#2F2F31":"#ECEDEE",border:e.activeMessage?"none":"1px solid #fff"}),class:c.normalizeClass(["tw:flex tw:items-center tw:gap-1 tw:rounded-md tw:shadow-xs",a.value])},{default:c.withCtx(()=>[l[0]||(l[0]=c.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c.createElementVNode("path",{d:"M10.7935 1.33301H5.20683C2.78016 1.33301 1.3335 2.77967 1.3335 5.20634V10.7863C1.3335 13.2197 2.78016 14.6663 5.20683 14.6663H10.7868C13.2135 14.6663 14.6602 13.2197 14.6602 10.793V5.20634C14.6668 2.77967 13.2202 1.33301 10.7935 1.33301ZM6.62683 8.84634C6.1735 9.52634 5.54683 10.0797 4.8135 10.4463C4.74683 10.4797 4.66683 10.4997 4.5935 10.4997C4.40683 10.4997 4.2335 10.3997 4.14683 10.2263C4.02016 9.97967 4.12016 9.67967 4.3735 9.55301C4.9535 9.26634 5.44683 8.82634 5.80016 8.29301C5.92016 8.11301 5.92016 7.88634 5.80016 7.70634C5.44016 7.17301 4.94683 6.73301 4.3735 6.44634C4.12016 6.32634 4.02016 6.02634 4.14683 5.77301C4.26683 5.52634 4.56683 5.42634 4.8135 5.55301C5.54683 5.91967 6.1735 6.47301 6.62683 7.15301C6.9735 7.66634 6.9735 8.33301 6.62683 8.84634ZM11.3335 10.4997H8.66683C8.3935 10.4997 8.16683 10.273 8.16683 9.99967C8.16683 9.72634 8.3935 9.49967 8.66683 9.49967H11.3335C11.6068 9.49967 11.8335 9.72634 11.8335 9.99967C11.8335 10.273 11.6068 10.4997 11.3335 10.4997Z",fill:"currentColor"})],-1)),c.createElementVNode("span",null,c.toDisplayString(r.message.text),1)]),_:1},8,["style","class"])):(c.openBlock(),c.createElementBlock("p",{key:1,style:c.normalizeStyle({color:i.value,"font-size":r.configDesignClass.getKey("sections.loader.completeStep.fontSize")+"px"})},c.toDisplayString(r.message.text),5))])],2)],14,ff))}}),mf=["innerHTML"],wf=["data-is-user"],bf=c.defineComponent({__name:"MessageList",props:{messages:{},isPreview:{type:Boolean},isEmbedded:{type:Boolean},showWelcome:{type:Boolean},sectionBorderRadius:{},isLoading:{type:Boolean},isStreaming:{type:Boolean},configDesignClass:{},activeMessage:{},traceLastShown:{type:Boolean},isProduction:{type:Boolean},ttsUrl:{}},emits:["handleClickMessage"],setup(r,{emit:e}){const t=c.ref(null);let n=null;const s=r,i=e,a=O=>{O.meta&&i("handleClickMessage",O)},o=c.ref(!1);c.watch(()=>s.isProduction,()=>{o.value=!0,setTimeout(()=>{o.value=!1},1e3)},{immediate:!0});const l=c.computed(()=>s.configDesignClass.getKey("sections.inside.dataAction.type")),u=c.computed(()=>s.configDesignClass.getKeyObject("sections.inside.dataAction")),d=(O,E)=>{const R=Number.parseFloat(String(E??"16")),F=Number.isFinite(R)&&R>0?R:16;if(typeof O=="number")return`${Math.round(O*F)}px`;const J=String(O??"").trim().toLowerCase();if(!J||J==="normal")return`${Math.round(1.2*F)}px`;if(/^\d*\.?\d+$/.test(J)){const G=Number.parseFloat(J);return`${Math.round(G*F)}px`}if(J.endsWith("px"))return J;if(J.endsWith("%")){const G=Number.parseFloat(J);return`${Math.round(G/100*F)}px`}if(J.endsWith("em")||J.endsWith("rem")){const G=Number.parseFloat(J);return`${Math.round(G*F)}px`}const U=Number.parseFloat(J);return Number.isFinite(U)?`${Math.round(U)}px`:`${Math.round(1.2*F)}px`},p=c.computed(()=>s.messages.filter((O,E,R)=>{var F,J;return O.snippet?!1:s.isProduction?!(O.type==="usageTokensByAI"&&((F=R[E-1])!=null&&F.chunkId)||O.isSystem&&((J=R[E+1])!=null&&J.isSystem)&&l.value!=="steps"):!0}));c.watch(()=>s.messages,()=>{y()&&m()},{deep:!0}),c.watch(()=>{var O;return(O=s.messages[s.messages.length-1])==null?void 0:O.text},()=>{y()&&m()});let f=Promise.resolve();const g=()=>new Promise(O=>{window.requestAnimationFrame(()=>O())}),w=O=>{if(!s.isProduction)return;const E=O;ae.set(E,{opacity:0,visibility:"hidden"})},h=(O,E)=>{if(!s.isProduction){E();return}const R=O,F=l.value==="steps",J=R.style.transition;R.style.transition="none";const U=F?.12:.65,G=F?0:.25,ie=5e3,Y=()=>{ae.set(R,{clearProps:"all"}),R.style.transition=J,E()};f=f.then(async()=>{if(!R.isConnected){E();return}if(await c.nextTick(),await g(),!R.isConnected){E();return}ae.set(R,{visibility:"visible",opacity:0,y:12,willChange:"opacity,visibility,y"}),await new Promise(I=>{const j=window.setTimeout(()=>{Y(),I()},ie);ae.timeline({onStart:()=>{k()},onComplete:()=>{window.clearTimeout(j),ae.set(R,{clearProps:"opacity,visibility,y"}),R.style.transition=J,k(),E(),I()}}).to(R,{opacity:1,y:0,duration:U,delay:G,ease:"power2.out"},0)})}).catch(()=>{Y()})},m=()=>{c.nextTick(()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)})},k=()=>{y()&&n===null&&(n=window.requestAnimationFrame(()=>{n=null,m()}))},S=c.ref(!0),y=()=>S.value,b=()=>{if(!t.value)return;const O=t.value,E=50;S.value=O.scrollHeight-O.scrollTop-O.clientHeight<=E},v=O=>{k()};c.onMounted(()=>{window.addEventListener("hsw:bot-render-progress",v)}),c.onBeforeUnmount(()=>{window.removeEventListener("hsw:bot-render-progress",v),n!==null&&(window.cancelAnimationFrame(n),n=null)});const x=O=>{const E=O.replace("#",""),R=parseInt(E.substr(0,2),16),F=parseInt(E.substr(2,2),16),J=parseInt(E.substr(4,2),16),U=Math.max(0,R-12),G=Math.max(0,F-12),ie=Math.max(0,J-12);return`linear-gradient(180deg, rgba(${U}, ${G}, ${ie}, 0.95) 0%, rgba(0,0,0, 0) 100%)`},_=c.computed(()=>{switch(s.configDesignClass.getKey("sections.inside.welcomeMessage.size")){case"sm":return"tw:px-1.5 tw:py-2.5";case"md":return"tw:px-3 tw:py-4";case"lg":return"tw:px-4.5 tw:py-5.5"}}),C=c.computed(()=>s.configDesignClass.getKey("sections.inside.welcomeMessage.bgType")==="gradient"?x(s.configDesignClass.getKey("sections.inside.welcomeMessage.bgColor")):s.configDesignClass.getKey("sections.inside.welcomeMessage.bgType")==="bubble"?s.configDesignClass.getKey("sections.inside.welcomeMessage.bgColor"):"transparent"),T=({isUser:O,isBot:E})=>E&&s.configDesignClass.getKey("sections.inside.messageBot.bgType")==="plain"?"0px":s.configDesignClass.getKey("settings.globalRoundingRadius")?s.sectionBorderRadius.borderRadius:s.configDesignClass.getKey(O?"sections.inside.messageUser.borderRadius":"sections.inside.messageBot.borderRadius")+"px",P=(O,E)=>{if(!O.time)return 0;let R=null;for(let U=E-1;U>=0;U--){const G=p.value[U];if(G!=null&&G.isUser&&(G!=null&&G.time)){R=G;break}}if(!(R!=null&&R.time))return 0;const F=Date.parse(O.time)-Date.parse(R.time);if(F<=0)return 0;const J=Number((F/1e3).toFixed(1));return J<=.1?Number((.2+Math.random()*.5).toFixed(1)):J};let D=0;const B=new WeakMap,A=O=>(B.has(O)||B.set(O,`msg-${++D}`),B.get(O)),z=c.computed(()=>{const O=new Map;let E=null;for(const R of s.messages)R.isSystem?(E||(E=R),O.set(R,A(E))):E=null;return O}),L=O=>O.isSystem&&s.isProduction&&l.value!=="steps"&&z.value.get(O)||A(O);return(O,E)=>(c.openBlock(),c.createElementBlock("ul",{class:"message-list tw:overflow-y-scroll tw:flex-1 tw:list-none tw:pb-4",ref_key:"messageListRef",ref:t,onScroll:b},[c.createVNode(c.TransitionGroup,{css:!1,onBeforeEnter:w,onEnter:h},{default:c.withCtx(()=>[r.showWelcome?(c.openBlock(),c.createElementBlock("li",{key:"welcome",class:c.normalizeClass(["tw:text-"+(r.configDesignClass.getKey("sections.inside.params.size")==="sm"?"xs":r.configDesignClass.getKey("sections.inside.params.size")==="md"?"sm":"base")]),style:c.normalizeStyle({color:r.configDesignClass.getKey("sections.inside.welcomeMessage.color"),"margin-bottom":`${r.configDesignClass.getKey("settings.gapMessageLine")}px`})},[c.createElementVNode("div",{class:c.normalizeClass(_.value),style:c.normalizeStyle({borderRadius:r.configDesignClass.getKey("settings.globalRoundingRadius")?r.sectionBorderRadius.borderRadius:r.configDesignClass.getKey("sections.inside.welcomeMessage.borderRadius")+"px",color:r.configDesignClass.getKey("sections.inside.welcomeMessage.color"),background:C.value,lineHeight:d(r.configDesignClass.getKey("settings.lineHeight"),r.configDesignClass.getKey("sections.inside.welcomeMessage.fontSize")),fontSize:r.configDesignClass.getKey("sections.inside.welcomeMessage.fontSize")+"px",letterSpacing:r.configDesignClass.getKey("settings.letterSpacing")+"px",border:`${r.configDesignClass.getKey("sections.inside.welcomeMessage.borderWidth")}px solid ${r.configDesignClass.getKey("sections.inside.welcomeMessage.borderColor")}`})},[c.createElementVNode("div",{innerHTML:c.unref(Hr)(r.configDesignClass.getKey("texts.welcomeMessage"))},null,8,mf)],6)],6)):c.createCommentVNode("",!0),(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(p.value,(R,F)=>{var J,U,G;return c.openBlock(),c.createElementBlock("li",{key:L(R),class:"message-enter-item tw:flex tw:flex-wrap tw:w-full","data-is-user":R.isUser||void 0},[(c.openBlock(),c.createBlock(c.resolveDynamicComponent(R.isUser?sf:R.isSystem?r.isProduction&&l.value!=="steps"?zi:pf:rf),{message:R,"data-component":R.isSystem?r.isProduction&&l.value!=="steps"?"LoadingMessage":"MessageSystem":"MessageBot",style:c.normalizeStyle({"margin-top":`${(J=p.value[F-1])!=null&&J.isSystem&&!R.isSystem?"12px":"0px"}`,"margin-bottom":`${R.isSystem?"2px":r.configDesignClass.getKey("settings.gapMessageLine")+"px"}`,borderRadius:T({isUser:R.isUser,isBot:!R.isUser&&!R.isSystem}),lineHeight:d(r.configDesignClass.getKey("settings.lineHeight"),R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.fontSize"):r.configDesignClass.getKey("sections.inside.messageBot.fontSize")),letterSpacing:r.configDesignClass.getKey("settings.letterSpacing")+"px"}),loader:r.configDesignClass.getKey("settings.loader"),color:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.color"):r.configDesignClass.getKey("sections.inside.messageBot.color"),welcomeColor:r.configDesignClass.getKey("sections.inside.messageUser.color"),bgType:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.bgType"):r.configDesignClass.getKey("sections.inside.messageBot.bgType"),bgColor:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.bgColor"):r.configDesignClass.getKey("sections.inside.messageBot.bgColor"),size:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.size"):r.configDesignClass.getKey("sections.inside.messageBot.size"),fontSize:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.fontSize"):r.configDesignClass.getKey("sections.inside.messageBot.fontSize"),borderWidth:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.borderWidth"):r.configDesignClass.getKey("sections.inside.messageBot.borderWidth"),borderColor:R.isUser?r.configDesignClass.getKey("sections.inside.messageUser.borderColor"):r.configDesignClass.getKey("sections.inside.messageBot.borderColor"),index:F,isChangeMode:o.value,isProduction:r.isProduction||!1,loadingTime:((U=R.meta)==null?void 0:U.traceLoadingTime)??P(R,F),traceLastShown:r.traceLastShown,configDesignClass:r.configDesignClass,ttsUrl:r.ttsUrl,isPreview:r.isPreview,activeMessage:r.activeMessage===R,isLast:F===p.value.length-1,paused:!!((G=R.meta)!=null&&G.tracePaused),borderRadius:T({isUser:R.isUser,isBot:!R.isUser&&!R.isSystem}),onClick:ie=>a(R)},null,8,["message","data-component","style","loader","color","welcomeColor","bgType","bgColor","size","fontSize","borderWidth","borderColor","index","isChangeMode","isProduction","loadingTime","traceLastShown","configDesignClass","ttsUrl","isPreview","activeMessage","isLast","paused","borderRadius","onClick"]))],8,wf)}),128)),r.isLoading?(c.openBlock(),c.createBlock(zi,{key:"loading",class:c.normalizeClass({"tw:mt-8":r.traceLastShown}),borderRadius:T({isUser:!1,isBot:!1}),isProduction:r.isProduction||!1,loader:r.configDesignClass.getKey("settings.loader"),configDesignClass:r.configDesignClass,color:u.value.headerText,bgColor:u.value.headerFillColor,text:r.configDesignClass.getKey("texts.typingLoader")},null,8,["class","borderRadius","isProduction","loader","configDesignClass","color","bgColor","text"])):c.createCommentVNode("",!0)]),_:1}),c.renderSlot(O.$slots,"footer")],544))}}),yf=c.defineComponent({__name:"ChatMessagesContainer",props:{messages:{},isPreview:{type:Boolean},isEmbedded:{type:Boolean},sectionBorderRadius:{},isLoading:{type:Boolean},isStreaming:{type:Boolean},configDesignClass:{},activeMessage:{},showWelcome:{type:Boolean},isProcessError:{type:Boolean},restartChat:{type:Function},traceLastShown:{type:Boolean},isProduction:{type:Boolean},ttsUrl:{}},emits:["handleClickMessage","update:activeMessage"],setup(r,{emit:e}){const t=r,n=c.computed(()=>t.ttsUrl),s=e,i=c.computed({get:()=>t.activeMessage,set:a=>s("update:activeMessage",a)});return(a,o)=>(c.openBlock(),c.createElementBlock("div",{class:"tw:transition-all tw:flex tw:flex-col tw:justify-between tw:w-full tw:min-h-0",style:c.normalizeStyle([{flex:"1 1 0"},{paddingLeft:(r.configDesignClass.getKey("sections.inside.params.sidePadding")??8)+"px",paddingRight:(r.configDesignClass.getKey("sections.inside.params.sidePadding")??8)+"px",paddingTop:(r.configDesignClass.getKey("sections.inside.params.verticalPadding")??8)+"px"}])},[c.createVNode(bf,{messages:r.messages,isPreview:r.isPreview,isEmbedded:r.isEmbedded,configDesignClass:r.configDesignClass,isLoading:r.isLoading,isStreaming:r.isStreaming,isProduction:r.isProduction,sectionBorderRadius:r.sectionBorderRadius,showWelcome:r.showWelcome,ttsUrl:n.value,activeMessage:i.value,"onUpdate:activeMessage":o[0]||(o[0]=l=>i.value=l),traceLastShown:r.traceLastShown,onHandleClickMessage:o[1]||(o[1]=l=>a.$emit("handleClickMessage",l))},null,8,["messages","isPreview","isEmbedded","configDesignClass","isLoading","isStreaming","isProduction","sectionBorderRadius","showWelcome","ttsUrl","activeMessage","traceLastShown"])],4))}}),vf={key:0,class:"chat tw:w-full tw:h-full tw:flex tw:pt-0 tw:relative"},xf={key:0,class:"tw:w-full tw:h-full"},kf={key:1,class:"messages tw:transition-all tw:flex tw:flex-col tw:justify-between tw:w-full"},Cf="https://hs-generator.onrender.com/api/transcribe",_f="https://hs-generator.onrender.com/api/tts",Sf=1e3,Ln=0,Tf=c.defineComponent({__name:"ChatWrapper",props:{link:{},isEmbedded:{type:Boolean},isPreview:{type:Boolean},configWidget:{},configLink:{},scenario:{},scenarioOptions:{},widgetId:{},isProduction:{type:Boolean},restartChat:{type:Function}},emits:["trace","choose-trace","restart-chat"],setup(r,{expose:e,emit:t}){const n=t,s=c.ref(!1),i=c.ref(!1),a=c.ref(null),o=c.ref(!1),l=c.ref(!1),u=c.ref(!1),d=c.ref(!1),p=c.ref(!0),f=c.ref(!1),g=c.ref(!1),w=c.ref(!1),h=c.ref(0),m=c.ref(!1),k=c.ref(null),S=c.ref(!1),y=r,b=async()=>{if(!(y.isPreview||y.scenario))try{n("restart-chat"),Ve(),await X()}catch(M){console.error("Failed to restart chat connection",M)}},v=c.computed(()=>y.restartChat??b),x=c.computed(()=>{const M=E.value.getKey("settings.position"),$=E.value.getKey("settings.offset.x"),q=E.value.getKey("settings.offset.y"),oe=Y.value?E.value.getKey("settings.size.width"):E.value.getKey("sections.colapsed.width"),ue=Y.value?E.value.getKey("settings.size.height"):E.value.getKey("sections.colapsed.height");return{...{...M==="topLeft"?{top:q+"px",left:$+"px"}:{},...M==="topRight"?{top:q+"px",right:$+"px"}:{},...M==="bottomLeft"?{bottom:q+"px",left:$+"px"}:{},...M==="bottomRight"?{bottom:q+"px",right:$+"px"}:{},...M==="top"?{top:q+"px",left:"50%",transform:"translateX(-50%)"}:{},...M==="bottom"?{bottom:q+"px",left:"50%",transform:"translateX(-50%)"}:{},...M==="left"?{left:$+"px",top:"50%",transform:"translateY(-50%)"}:{},...M==="right"?{right:$+"px",top:"50%",transform:"translateY(-50%)"}:{}},width:Y.value&&!ee.value?oe+"px":void 0,height:Y.value||ee.value?ue+"px":void 0}}),_=()=>{if(y.configLink)return y.configLink;const $=new URLSearchParams(window.location.search).get("config");if($)return $},C=c.ref(null),T=c.ref(null),P=c.ref(null),D=()=>P.value?P.value:_()?T.value&&typeof T.value=="object"?T.value:he:y.configWidget?y.configWidget:he,B=c.shallowRef(he);c.watchEffect(async M=>{const $=D();let q=!1;M(()=>{q=!0});const oe=await bu($,{verbose:!1});if(q)return;const ue=oe??$,{isValid:Ke,errors:ht}=yu(ue);if(!Ke){console.warn("[HSW] Invalid widget config (after migration), falling back to DEFAULT_CONFIG:",ht),B.value=he;return}B.value=ue});const A=M=>{C.value=M,n("choose-trace",{action:M.type,messages:[M]})},z=async()=>{n("choose-trace",{action:"copyAll",messages:de.value})},L=async()=>{if(de.value.length===0){n("choose-trace",{action:"copyLast",messages:[]});return}let M=-1;for(let q=de.value.length-1;q>=0;q--)if(de.value[q].isUser){M=q;break}const $=M>=0?M:0;n("choose-trace",{action:"copyLast",messages:de.value.slice($)})},O=async M=>{switch(console.log("handleHeaderTrace",M),M.action){case"copyLast":await L();break;case"copyIteration":await L();break;case"copyAll":await z();break}},E=c.computed(()=>new vu(B.value)),R=c.computed(()=>Xi(E.value)),F=c.computed(()=>Kn(E.value,8)),J=c.computed(()=>E.value.getConfig().settings.container),U=c.computed(()=>{const M=J.value;if(!M)return!1;const $=M.innerBorder,q=M.outerBorder;return(($==null?void 0:$.width)??0)>0||((q==null?void 0:q.width)??0)>0?($==null?void 0:$.width)!==0||(q==null?void 0:q.width)!==0:!1}),G=c.computed(()=>{var Tn,Rn,En,Pn,Q,$s;const M=J.value,$=E.value.getKey("settings.bgChat"),q=M==null?void 0:M.gradient,oe=q?`linear-gradient(360deg, ${$} 78.99%, ${q} 100%)`:"",ue=typeof q=="string"&&q.trim()&&q!=="transparent"?oe:$,Ke=((Tn=M==null?void 0:M.innerBorder)==null?void 0:Tn.width)??0,ht=((Rn=M==null?void 0:M.innerBorder)==null?void 0:Rn.color)??"transparent",gt=((En=M==null?void 0:M.innerBorder)==null?void 0:En.style)??"solid",ln=((Pn=M==null?void 0:M.outerBorder)==null?void 0:Pn.width)??0,rr=((Q=M==null?void 0:M.outerBorder)==null?void 0:Q.color)??"transparent",sr=(($s=M==null?void 0:M.outerBorder)==null?void 0:$s.style)??"solid",bt={background:ue,borderRadius:`${String(R.value)}px`};return bt["--hsw-container-radius"]=`${String(R.value)}px`,bt["--hsw-container-inner-width"]=`${Ke}px`,bt["--hsw-container-inner-color"]=ht,bt["--hsw-container-inner-style"]=gt,bt["--hsw-container-outer-width"]=`${ln}px`,bt["--hsw-container-outer-color"]=rr,bt["--hsw-container-outer-style"]=sr,bt}),ie=c.computed(()=>{switch(E.value.getKey("sections.bottom.params.size")){case"sm":return"tw:min-h-[25px]";case"md":return"tw:min-h-[45px]";case"lg":return"tw:min-h-[60px]"}}),Y=c.ref(!0),I=()=>{const M=a.value;if(!M)return{width:56,height:56};const $=M.querySelector(".chat-action");if(!$)return{width:56,height:56};const q=$.getBoundingClientRect();return{width:Math.max(1,q.width),height:Math.max(1,q.height)}},j=c.ref(!1),V=async M=>{if(j.value)return;j.value=!0;const $=a.value;if(!$||M===Y.value)return;const q=$.querySelector(".chatWrapper"),oe=q==null?void 0:q.querySelector(".chat");if(M){const ue=$.querySelector(".chat-collapsed");ue&&(ae.killTweensOf(ue),ae.to(ue,{opacity:1,duration:.15,ease:"power2.in"}));const{height:Ke,width:ht}=I();await new Promise(ln=>setTimeout(ln,150)),Y.value=!0,await c.nextTick();const gt=Math.max(Ke||0,ht||0)||56;ae.killTweensOf($),oe&&ae.killTweensOf(oe),q&&ae.killTweensOf(q),ae.set($,{width:gt,height:gt,overflow:"hidden",opacity:0,willChange:"width, height, opacity"}),q&&ae.set(q,{opacity:0,willChange:"opacity"}),oe&&ae.set(oe,{opacity:0,willChange:"opacity"}),ae.set($,{width:gt,height:gt,overflow:"hidden",opacity:0,willChange:"width, height, opacity"}),ae.to($,{width:E.value.getKey("settings.size.width"),height:E.value.getKey("settings.size.height"),opacity:1,duration:.4,ease:"power2.out",onComplete:()=>{ae.set($,{clearProps:"overflow,position,left,top,xPercent,yPercent,marginTop,willChange,opacity"}),j.value=!1}}),q&&ae.to(q,{opacity:1,duration:.3,delay:.35,ease:"power2.out",onComplete:()=>{ae.set(q,{clearProps:"willChange,opacity"})}}),oe&&ae.to(oe,{opacity:1,duration:.3,delay:.15,ease:"power2.out",onComplete:()=>{ae.set(oe,{clearProps:"willChange"})}})}else{const ue=E.value.getKey("sections.colapsed.height")+E.value.getKey("sections.colapsed.borderWidth")*2;ae.killTweensOf($),oe&&ae.killTweensOf(oe),q&&ae.killTweensOf(q),ae.set($,{width:E.value.getKey("settings.size.width"),height:E.value.getKey("settings.size.height"),overflow:"hidden",willChange:"width, height, opacity"}),q&&(ae.set(q,{willChange:"opacity"}),ae.to(q,{opacity:0,duration:.5,ease:"power3.inOut",onComplete:()=>{ae.set(q,{clearProps:"willChange,opacity"})}})),oe&&(ae.set(oe,{willChange:"opacity"}),ae.to(oe,{opacity:0,duration:.2,ease:"power2.in",onComplete:()=>{ae.set(oe,{clearProps:"willChange"})}})),ae.to($,{width:ue,height:ue,opacity:0,duration:.35,marginTop:0,ease:"power2.inOut",onComplete:()=>{Y.value=!1,c.nextTick().then(()=>{const Ke=$.querySelector(".chat-collapsed");Ke&&(ae.set(Ke,{opacity:0}),ae.to(Ke,{opacity:1,duration:.25,ease:"power2.out"})),ae.set($,{opacity:1})}),ae.set($,{clearProps:"overflow,position,left,top,xPercent,yPercent,marginTop,willChange"}),j.value=!1}})}},K=c.ref(y.isPreview||!1),ee=c.ref(y.isEmbedded||!1);c.watch(()=>y.isEmbedded,M=>{ee.value=M});const ye=c.ref(!!y.isPreview),Ce=c.ref(y.widgetId||`hsw-${Math.random().toString(36).slice(2,10)}`),de=c.ref([]),Me=c.ref("");let Fe=null,Pt=0,Re=null,dt=0;const Ee=()=>{Pt+=1,Fe&&(clearTimeout(Fe),Fe=null)},ft=M=>{const $=Array.isArray(M)?M:[];if(Ee(),de.value=[],!$.length)return;const q=Pt;let oe=0;const ue=()=>{if(q===Pt){if(de.value.push($[oe]),oe+=1,oe>=$.length){Fe=null;return}Fe=setTimeout(ue,Sf)}};ue()},N=c.computed(()=>de.value.length>0&&de.value[de.value.length-1].isUser===!0||l.value),H=c.ref(null),W=(M,$)=>{console.log("handleSnippetAction",M,$),rt({action:{sequence:$,command:M,data:{}}}),H.value=null},te=M=>{var $,q;if(M.chunkId&&M.text){const oe=de.value.find(ue=>ue.chunkId===M.chunkId);oe?(($=M.chunk)!=null&&$.start?oe.text="":oe.text+=M.text,oe.chunk.start=!1,oe.chunk.end=!!((q=M.chunk)!=null&&q.end)||!1):de.value.push(M)}else de.value.push(M)},Z=(()=>{if(y.link)return y.link;const $=new URLSearchParams(window.location.search).get("link");if($)return $;const oe=new URLSearchParams(window.location.hash.substring(1)).get("link");if(oe)return oe;try{const ue="ws://localhost:8080/client/widget-chat/v1/ws/?token=4_VwvCOWbvUlaGPg9UsJYbZ-1PtKYSM32gZ2vCbnaB0SzknjtE9uiCsTYNU-keS9iYGBVvnLjFZ5gL-3Zd3zrn8jB9-28gns0k8Mk6M4sulzK6IfFFCCM2WUnJaoD5z3jaxR7oQd9oAU6_Dn6oBX4TNcjQ";if(ue)return ue}catch(ue){console.warn("Environment variables not available:",ue)}return console.log("Using fallback link: ws://localhost:3000"),"ws://localhost:3000"})(),pe=()=>{if(dt>=Ln){te({text:`Failed to connect after ${Ln} attempts. Please check your connection.`,isUser:!1});return}dt++,console.log(`Reconnection attempt ${dt}/${Ln}`),setTimeout(()=>{ke()},2e3*dt)},ke=()=>{try{if(!Z||typeof Z!="string"){console.error("Invalid WebSocket link:",Z),te({text:"Error: Invalid WebSocket URL",isUser:!1});return}if(console.log("Attempting to connect to:",Z),Re=new WebSocket(Z),!Re){console.error("Failed to create WebSocket instance");return}Re.onmessage=M=>{var $,q,oe,ue,Ke,ht,gt,ln,rr,sr,bt,Tn,Rn,En,Pn;if(S.value)try{const Q=JSON.parse(M.data);if(Q.snippet){H.value={...Q.snippet,data:JSON.parse(Q.snippet.data||"{}")};return}if(Q.error)return te({text:Q.error.message,isUser:!1,isSystem:!0,isError:!0});if(($=Q==null?void 0:Q.textChunk)!=null&&$.start&&(m.value=!0,k.value=(q=Q==null?void 0:Q.textChunk)==null?void 0:q.start,te({text:"",isUser:!1,chunkId:(oe=Q==null?void 0:Q.textChunk)==null?void 0:oe.start,time:(ue=Q==null?void 0:Q.textChunk)!=null&&ue.time?(Ke=Q==null?void 0:Q.textChunk)==null?void 0:Ke.time:new Date().toISOString(),chunk:Q==null?void 0:Q.textChunk})),(ht=Q==null?void 0:Q.textChunk)!=null&&ht.end||(gt=Q==null?void 0:Q.textChunk)!=null&>.start){(ln=Q==null?void 0:Q.textChunk)!=null&&ln.end&&k.value&&((rr=Q==null?void 0:Q.textChunk)==null?void 0:rr.end)===k.value&&(m.value=!1,k.value=null,te({text:" ",isUser:!1,chunkId:(sr=Q==null?void 0:Q.textChunk)==null?void 0:sr.end,time:(bt=Q==null?void 0:Q.textChunk)!=null&&bt.time?(Tn=Q==null?void 0:Q.textChunk)==null?void 0:Tn.time:new Date().toISOString(),chunk:Q==null?void 0:Q.textChunk}));return}(Rn=Q==null?void 0:Q.textChunk)!=null&&Rn.text&&te({text:Q.textChunk.text,isUser:!1,chunkId:(En=Q==null?void 0:Q.textChunk)==null?void 0:En.id,chunk:Q==null?void 0:Q.textChunk}),Q!=null&&Q.trace&&te({text:Q.trace.message,isUser:!1,isSystem:!0,meta:Q.trace.meta,time:Q.trace.time,type:Q.trace.type}),(Pn=Q==null?void 0:Q.trace)!=null&&Pn.meta&&!y.isProduction&&n("trace",{action:Q.trace.type,messages:[Q.trace]})}catch(Q){console.error("Error parsing WebSocket message:",Q),te({text:"Error: Failed to parse server response",isUser:!1})}},Re.onopen=()=>{dt=0},Re.onclose=M=>{console.log("Connection closed",M);let $=`Connection closed (${M.code})`;switch(M.code){case 1e3:$="Connection closed normally";break;case 1001:$="Connection closed: going away";break;case 1006:if(d.value=!0,dt<Ln&&!K.value){pe();return}break;case 1011:$="Connection closed: server error";break;default:u.value=!0}console.log($)},Re.onerror=M=>{console.error("WebSocket connection error:",M),o.value=!0,te({text:"Connection error: Unable to connect to chat server",isUser:!1,isSystem:!0,isError:!0}),dt<Ln&&!K.value&&pe()}}catch(M){console.error("Error connecting to socket server:",M),te({text:`Connection error: ${M instanceof Error?M.message:"Unknown error"}`,isUser:!1,isSystem:!0,isError:!0})}},Ve=()=>{Re&&Re.close(),Re=null};c.onUnmounted(()=>{Ee(),Re&&Re.close()});const ve=M=>{(y.isPreview||y.scenario)&&!M||V(!Y.value)},Xe=()=>{if(!(y.isPreview||y.scenario)&&Me.value.trim()!==""){if(y.isProduction&&de.value.length>0){const M=de.value[de.value.length-1];M.isSystem===!0&&!M.isError&&!M.snippet&&de.value.pop()}de.value.push({text:Me.value,isUser:!0,time:new Date().toISOString()}),m.value=!0,S.value=!0,rt({message:Me.value}),Me.value=""}},rt=M=>{Re&&Re.send(JSON.stringify(M))},$e=()=>{try{const M=["e-Ukraine","MacPaw Fixel"],$=E.value.getKey("settings.fontFamily")||"MacPaw Fixel";if(M.includes($))return;const q=`https://fonts.googleapis.com/css2?family=${$.replace(/\s+/g,"+")}:wght@300;400;500;600;700&display=swap`,oe=document.createElement("link");oe.rel="preload",oe.as="style",oe.href=q,document.head.appendChild(oe);const ue=document.createElement("link");ue.rel="stylesheet",ue.href=q,ue.setAttribute("data-google-font","true"),document.head.appendChild(ue),a.value&&(a.value.style.fontFamily=`"${$}", sans-serif`)}catch(M){console.error("Error loading font:",M)}},He=()=>{const M=E.value.getKey("settings.fontWeight")||400;a.value&&(a.value.style.fontWeight=M)};i.value=!0,c.watch(()=>E.value.getKey("settings.fontFamily"),()=>{$e()}),c.watch(()=>E.value.getKey("settings.fontWeight"),()=>{He()});const ge=async()=>{if(_()){const $=await(await fetch(_()+"config")).json();T.value=$,s.value=!0}else s.value=!0},_e=(M,$,q)=>new Promise(oe=>{const ue=performance.now(),Ke=ht=>{const gt=Math.min(1,(ht-ue)/q);h.value=M+($-M)*gt,gt<1?requestAnimationFrame(Ke):oe()};requestAnimationFrame(Ke)}),Oe=async M=>{w.value=!0,h.value=0,await c.nextTick(),await _e(0,.3,500),M(),await _e(.3,.6,200),h.value=.6,await new Promise($=>setTimeout($,100)),await _e(.6,0,500),w.value=!1},Mt=async(M,$=2e3)=>{if(!(M!=null&&M.length))return;const q=Math.round(M.length*$/1e3);for(let oe=0;oe<M.length;oe++){const ue=M[oe];oe===M.length-1&&(ue.meta={...ue.meta,tracePaused:!0,traceLoadingTime:q}),de.value.push(ue),await new Promise(ht=>setTimeout(ht,$))}},we=async(M,$)=>{var ue;if(M==="preview")return;const q=_i.getState(M,E.value,$||y.scenarioOptions),oe=q.useTypewriterAnimation?[...q.messages]:null;await Oe(()=>{if(Y.value=q.isChatOpen,de.value=oe?[]:q.messages,l.value=q.traceLastShown,o.value=q.isConnectionError,u.value=q.isProcessError,d.value=q.isReconnectError,f.value=q.isInputDisabled,p.value=q.showWelcome,g.value=q.showReconnectNotice??!1,H.value=q.snippet??null,K.value=!0,Re){try{Re.close()}catch{}Re=null}}),!oe&&((ue=q.pendingTraces)!=null&&ue.length)&&await Mt(q.pendingTraces,q.traceAnimationDelay??2e3)},X=async()=>{await Oe(()=>{K.value=ye.value,p.value=!0,f.value=!1,g.value=!1,o.value=!1,u.value=!1,d.value=!1,de.value=[],K.value||(!Re||Re.readyState!==1)&&ke()})};c.onBeforeMount(async()=>{await ge()}),c.onMounted(async()=>{va.init("hypershadow/widget-i9dqo"),$e(),He();const M=y.scenario??_i.getScenarioFromUrl();if(M){await we(M);return}y.isPreview||ke()}),c.watch(()=>y.scenario,async M=>{M?await we(M):await X()});const le={id:Ce,setScenario:async(M,$)=>{await we(M,$)},clearScenario:async()=>{await X()},toggleChat:()=>{ve(!0)},setOpen:M=>{Y.value=M},setActive:M=>{M&&!Y.value&&(Y.value=!0)},setInputDisabled:M=>{f.value=M},setShowReconnectNotice:M=>{g.value=M},setMessages:M=>{ft(M)},pushMessage:M=>{de.value.push(M)},setSnippet:M=>{H.value=M??null},resetToLive:async()=>{await X()},setConfig:M=>{P.value=JSON.parse(JSON.stringify(M))},getConfig:()=>B.value},Gt=()=>{const M=window;M.hswWidgets=M.hswWidgets||{},M.hswWidgets[Ce.value]=le,window.dispatchEvent(new CustomEvent("hsw:ready",{detail:{widgetId:Ce.value}}))},Mr=()=>{const M=window;M.hswWidgets&&M.hswWidgets[Ce.value]&&delete M.hswWidgets[Ce.value]},nr=async M=>{var ue;const $=M,q=(ue=$.detail)==null?void 0:ue.widgetId;if(q&&q!==Ce.value)return;const{action:oe}=$.detail;switch(oe){case"setScenario":await le.setScenario($.detail.payload.type,$.detail.payload.options);break;case"clearScenario":await le.clearScenario();break;case"setOpen":le.setOpen($.detail.payload);break;case"setActive":le.setActive($.detail.payload);break;case"setInputDisabled":le.setInputDisabled($.detail.payload);break;case"setShowReconnectNotice":le.setShowReconnectNotice($.detail.payload);break;case"setMessages":le.setMessages($.detail.payload);break;case"pushMessage":le.pushMessage($.detail.payload);break;case"setSnippet":le.setSnippet($.detail.payload);break;case"resetToLive":await le.resetToLive();break;case"setConfig":le.setConfig($.detail.payload);break}};return c.onMounted(()=>{Gt(),window.addEventListener("hsw:control",nr)}),c.onUnmounted(()=>{Mr(),window.removeEventListener("hsw:control",nr)}),e(le),(M,$)=>s.value?(c.openBlock(),c.createElementBlock("div",{key:0,class:c.normalizeClass(["tw:z-[999] tw:flex tw:justify-end component-isolator tw:transition-all chatContainer",{"tw:fixed":!ee.value,"tw:w-full":Y.value}]),style:c.normalizeStyle({letterSpacing:E.value.getKey("settings.letterSpacing")+"px",...x.value}),ref_key:"chatWrapperRef",ref:a},[c.withDirectives(c.createVNode(Kc,{toggleChat:ve,element:E.value.getKeyObject("sections.colapsed")},null,8,["element"]),[[c.vShow,!Y.value]]),c.withDirectives(c.createElementVNode("div",{class:c.normalizeClass(["chatWrapper tw:w-full tw:backdrop-blur-[22px] tw:flex tw:items-center tw:border-0 tw:flex-col",[{"chatWrapper--pseudoBorders":U.value,"tw:h-auto tw:shadow-2xl chat-active":Y.value,"tw:shadow-lg tw:w-fit":!Y.value,"chat-embedded tw:w-full tw:h-full tw:static tw:top-0 tw:left-0":ee.value}]]),style:c.normalizeStyle(G.value)},[c.createVNode(Mu,{isChatOpen:Y.value,toggleChat:ve,configDesignClass:E.value,sectionBorderRadius:F.value,mainBorderRadius:R.value,isPreview:K.value,isEmbedded:ee.value,isProduction:r.isProduction||!1,restartChat:v.value},null,8,["isChatOpen","configDesignClass","sectionBorderRadius","mainBorderRadius","isPreview","isEmbedded","isProduction","restartChat"]),Y.value?(c.openBlock(),c.createElementBlock("div",vf,[o.value?(c.openBlock(),c.createElementBlock("div",xf,[c.createElementVNode("div",{class:"tw:absolute tw:left-0 tw:top-0 tw:w-full tw:h-full",style:c.normalizeStyle({padding:E.value.getKey("sections.warnings.launchIssue.content.sidePadding")+"px"})},[c.createVNode(Ys,{type:"launchIssue",class:"tw:h-full",headlineText:E.value.getKey("texts.launchIssueTitle"),descriptionText:E.value.getKeyObject("texts.launchIssueText"),warningElement:E.value.getKeyObject("sections.warnings.launchIssue"),configDesignClass:E.value,isProcessError:u.value,restartChat:v.value},null,8,["headlineText","descriptionText","warningElement","configDesignClass","isProcessError","restartChat"])],4)])):(c.openBlock(),c.createElementBlock("div",kf,[c.createVNode(yf,{messages:de.value,isPreview:K.value,isEmbedded:ee.value,configDesignClass:E.value,isLoading:N.value,isStreaming:m.value,isProduction:r.isProduction,sectionBorderRadius:F.value,showWelcome:p.value,ttsUrl:_f,activeMessage:C.value,"onUpdate:activeMessage":$[0]||($[0]=q=>C.value=q),isProcessError:u.value,traceLastShown:l.value,onHandleClickMessage:A,restartChat:v.value},null,8,["messages","isPreview","isEmbedded","configDesignClass","isLoading","isStreaming","isProduction","sectionBorderRadius","showWelcome","activeMessage","isProcessError","traceLastShown","restartChat"]),r.isProduction?c.createCommentVNode("",!0):(c.openBlock(),c.createBlock(cd,{key:0,configDesignClass:E.value,sectionBorderRadius:F.value,onTrace:O},null,8,["configDesignClass","sectionBorderRadius"])),u.value?(c.openBlock(),c.createElementBlock("div",{key:1,style:c.normalizeStyle({padding:E.value.getKey("sections.warnings.connectionIssue.content.sidePadding")+"px"})},[c.createVNode(Ys,{type:"connectionIssue",headlineText:E.value.getKey("texts.issueText"),configDesignClass:E.value,warningElement:E.value.getKeyObject("sections.warnings.connectionIssue"),restartChat:v.value},null,8,["headlineText","configDesignClass","warningElement","restartChat"])],4)):(c.openBlock(),c.createBlock(Xu,{key:2,messageText:Me.value,"onUpdate:messageText":$[1]||($[1]=q=>Me.value=q),isPreview:K.value,isProduction:r.isProduction||!1,configDesignClass:E.value,sectionBorderRadius:F.value,classSize:ie.value,sendMessage:Xe,isInputDisabled:f.value||K.value,showReconnectNotice:g.value,restartChat:v.value,isStreaming:m.value,mainBorderRadius:R.value,transcribeUrl:Cf,snippet:H.value,onTrace:O,onSnippetAction:W},null,8,["messageText","isPreview","isProduction","configDesignClass","sectionBorderRadius","classSize","isInputDisabled","showReconnectNotice","restartChat","isStreaming","mainBorderRadius","snippet"]))]))])):c.createCommentVNode("",!0),c.createVNode(c.Transition,{name:"fade"},{default:c.withCtx(()=>[w.value?(c.openBlock(),c.createElementBlock("div",{key:0,class:"tw:absolute tw:inset-0 tw:backdrop-blur-[40px] tw:z-[1000]",style:c.normalizeStyle({borderRadius:`${String(R.value)}px`,backgroundColor:`rgba(0,0,0, ${h.value})`})},null,4)):c.createCommentVNode("",!0)]),_:1})],6),[[c.vShow,i.value&&Y.value]])],6)):c.createCommentVNode("",!0)}}),Et=r=>{const e=window,t=r||Object.keys(e.hswWidgets||{})[0];if(!e.hswWidgets||!e.hswWidgets[t])throw new Error("HSW widget API not ready. Wait for hsw:ready event or pass correct widgetId");return e.hswWidgets[t]},Rf=async(r,e,t)=>Et(t).setScenario(r,e),Ef=async r=>Et(r).clearScenario(),Pf=(r,e)=>Et(e).setOpen(r),Mf=(r,e)=>Et(e).setActive(r),Of=(r,e)=>Et(e).setInputDisabled(r),Df=(r,e)=>Et(e).setShowReconnectNotice(r),zf=(r,e)=>Et(e).setMessages(r),Af=(r,e)=>Et(e).pushMessage(r),Bf=(r,e)=>Et(e).setSnippet(r),Lf=async r=>Et(r).resetToLive();exports.ChatWrapper=Tf;exports.clearScenario=Ef;exports.cn=fs;exports.pushMessage=Af;exports.resetToLive=Lf;exports.setActive=Mf;exports.setInputDisabled=Of;exports.setMessages=zf;exports.setOpen=Pf;exports.setScenario=Rf;exports.setShowReconnectNotice=Df;exports.setSnippet=Bf;
|
package/dist/lib/index.es.js
CHANGED
|
@@ -12157,7 +12157,7 @@ const zf = ["aria-label"], If = {
|
|
|
12157
12157
|
}
|
|
12158
12158
|
}), Ff = {
|
|
12159
12159
|
key: "message",
|
|
12160
|
-
class: "message-text tw:relative tw:flex tw:items-end tw:self-start tw:gap-1"
|
|
12160
|
+
class: "message-text tw:min-w-0 tw:relative tw:flex tw:items-end tw:self-start tw:gap-1"
|
|
12161
12161
|
}, Jn = 0.22, $f = 24, Vf = 40, Uf = /* @__PURE__ */ We({
|
|
12162
12162
|
__name: "MessageBot",
|
|
12163
12163
|
props: {
|
|
@@ -12680,7 +12680,7 @@ const zf = ["aria-label"], If = {
|
|
|
12680
12680
|
te("span", {
|
|
12681
12681
|
ref_key: "messageTextEl",
|
|
12682
12682
|
ref: a,
|
|
12683
|
-
class: "tw:relative tw:gap-2 tw:z-[1] tw:flex-1 tw:max-w-[100%] tw:overflow-x-scroll tw:overflow-y-hidden tw:flex markdown-content tw:flex-col"
|
|
12683
|
+
class: "tw:relative tw:min-w-0 tw:gap-2 tw:z-[1] tw:flex-1 tw:max-w-[100%] tw:overflow-x-scroll tw:overflow-y-hidden tw:flex markdown-content tw:flex-col"
|
|
12684
12684
|
}, null, 512)
|
|
12685
12685
|
]),
|
|
12686
12686
|
He(jf, {
|