@ihoomanai/chat-widget 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/widget.ts","../src/index.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/widget.ts","../src/index.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e={serverUrl:"https://api.ihooman.ai",theme:"light",position:"bottom-right",title:"Chat Support",subtitle:"We typically reply within minutes",welcomeMessage:"Hi there! 👋 How can we help you today?",placeholder:"Type a message...",primaryColor:"#00aeff",gradientFrom:"#00aeff",gradientTo:"#0066ff",showTimestamps:!0,showTypingIndicator:!0,enableSounds:!0,enableFileUpload:!0,startOpen:!1,persistSession:!0,zIndex:9999,width:380,height:560,buttonSize:60,borderRadius:16,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',avatarUrl:"",poweredBy:!0},n='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>',t='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',o='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',i='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"></path></svg>',a='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line></svg>',s='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>',r='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="10" rx="2"></rect><circle cx="12" cy="5" r="2"></circle><path d="M12 7v4"></path></svg>';let d={widgetId:"",...e},l={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},c={};const p={};let h=null,g=null,m=0;function u(e=""){return e+Math.random().toString(36).slice(2,14)+Date.now().toString(36)}function f(e){const n=document.createElement("div");return n.textContent=e,n.innerHTML}function b(e,n){const t="ihooman_chat_"+e;try{if(void 0===n){const e=localStorage.getItem(t);return e?JSON.parse(e):null}return null===n?(localStorage.removeItem(t),null):(localStorage.setItem(t,JSON.stringify(n)),n)}catch{return null}}function V(e,n){(p[e]||[]).forEach(t=>{try{t(n)}catch(n){console.error(`Error in ${e} event handler:`,n)}});const t=`on${e.charAt(0).toUpperCase()}${e.slice(1)}`,o=d[t];if("function"==typeof o)try{o(n)}catch(e){console.error(`Error in ${t} callback:`,e)}}function x(){const e=document.createElement("style");e.id="ihooman-widget-styles",e.textContent=function(){const{primaryColor:e,gradientFrom:n,gradientTo:t,fontFamily:o,borderRadius:i,zIndex:a,width:s,height:r,buttonSize:l}=d,c="dark"===d.theme,p=c?"#1a1a2e":"#ffffff",h=c?"#e4e4e7":"#1f2937",g=c?"#71717a":"#6b7280",m=c?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)",u=c?"#16162a":"#f9fafb",f=`linear-gradient(135deg, ${n}, ${t})`,b=c?"#252542":"#f1f5f9",V=d.position?.includes("right")??!0,x=d.position?.includes("bottom")??!0;return`\n .ihooman-widget * { box-sizing: border-box; margin: 0; padding: 0; }\n .ihooman-widget { font-family: ${o}; font-size: 14px; line-height: 1.5; color: ${h}; -webkit-font-smoothing: antialiased; }\n .ihooman-toggle { position: fixed; ${V?"right: 20px":"left: 20px"}; ${x?"bottom: 20px":"top: 20px"}; width: ${l}px; height: ${l}px; border-radius: 50%; background: linear-gradient(135deg, ${n}, ${t}); border: none; cursor: pointer; z-index: ${a}; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(0, 174, 255, 0.35); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); overflow: hidden; }\n .ihooman-toggle:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(0, 174, 255, 0.45); }\n .ihooman-toggle:active { transform: scale(0.95); }\n .ihooman-toggle::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(255,255,255,0.2), transparent); border-radius: 50%; }\n .ihooman-toggle svg { width: 26px; height: 26px; color: white; transition: transform 0.3s ease, opacity 0.2s ease; position: relative; z-index: 1; }\n .ihooman-toggle.open svg.chat-icon { transform: rotate(90deg) scale(0); opacity: 0; }\n .ihooman-toggle.open svg.close-icon { transform: rotate(0) scale(1); opacity: 1; }\n .ihooman-toggle svg.close-icon { position: absolute; transform: rotate(-90deg) scale(0); opacity: 0; }\n .ihooman-pulse { position: absolute; inset: 0; border-radius: 50%; background: ${e}; animation: ihooman-pulse 2s ease-out infinite; }\n @keyframes ihooman-pulse { 0% { transform: scale(1); opacity: 0.5; } 100% { transform: scale(1.6); opacity: 0; } }\n .ihooman-toggle.open .ihooman-pulse { display: none; }\n .ihooman-badge { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 6px; background: #ef4444; color: white; font-size: 11px; font-weight: 600; border-radius: 10px; display: flex; align-items: center; justify-content: center; z-index: 2; }\n .ihooman-badge:empty { display: none; }\n .ihooman-window { position: fixed; ${V?"right: 20px":"left: 20px"}; ${x?"bottom: 90px":"top: 90px"}; width: ${s}px; height: ${r}px; max-height: calc(100vh - 120px); z-index: ${(a??9999)-1}; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(20px) scale(0.95); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }\n .ihooman-window.open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }\n .ihooman-container { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; border-radius: ${i}px; overflow: hidden; }\n .ihooman-container::before { content: ''; position: absolute; inset: 0; background: ${p}; opacity: 0.97; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: ${i}px; border: 1px solid ${m}; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }\n .ihooman-container > * { position: relative; z-index: 1; }\n .ihooman-header { padding: 16px 20px; background: linear-gradient(135deg, ${n}, ${t}); color: white; display: flex; align-items: center; gap: 12px; flex-shrink: 0; }\n .ihooman-header-avatar { width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n .ihooman-header-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }\n .ihooman-header-avatar svg { width: 22px; height: 22px; }\n .ihooman-header-info { flex: 1; min-width: 0; }\n .ihooman-header-title { font-size: 16px; font-weight: 600; margin-bottom: 2px; }\n .ihooman-header-status { display: flex; align-items: center; gap: 6px; font-size: 12px; opacity: 0.9; }\n .ihooman-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }\n .ihooman-status-dot.offline { background: #f59e0b; }\n .ihooman-header-actions { display: flex; gap: 8px; }\n .ihooman-header-btn { width: 32px; height: 32px; border-radius: 8px; background: rgba(255,255,255,0.15); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: white; transition: background 0.2s; }\n .ihooman-header-btn:hover { background: rgba(255,255,255,0.25); }\n .ihooman-header-btn svg { width: 16px; height: 16px; }\n .ihooman-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; background: ${p}; }\n .ihooman-messages::-webkit-scrollbar { width: 6px; }\n .ihooman-messages::-webkit-scrollbar-track { background: transparent; }\n .ihooman-messages::-webkit-scrollbar-thumb { background: ${m}; border-radius: 3px; }\n .ihooman-message { display: flex; flex-direction: column; max-width: 85%; animation: ihooman-fadeIn 0.3s ease; }\n @keyframes ihooman-fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n .ihooman-message.user { align-self: flex-end; align-items: flex-end; }\n .ihooman-message.bot { align-self: flex-start; align-items: flex-start; }\n .ihooman-message-content { padding: 12px 16px; border-radius: 16px; word-wrap: break-word; }\n .ihooman-message.user .ihooman-message-content { background: ${f}; color: white; border-bottom-right-radius: 4px; }\n .ihooman-message.bot .ihooman-message-content { background: ${b}; color: ${h}; border-bottom-left-radius: 4px; }\n .ihooman-message-content code { background: rgba(0,0,0,0.1); padding: 2px 6px; border-radius: 4px; font-family: monospace; font-size: 13px; }\n .ihooman-message-time { font-size: 11px; color: ${g}; margin-top: 4px; padding: 0 4px; }\n .ihooman-typing { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: ${b}; border-radius: 16px; border-bottom-left-radius: 4px; max-width: 80px; align-self: flex-start; }\n .ihooman-typing-dots { display: flex; gap: 4px; }\n .ihooman-typing-dot { width: 8px; height: 8px; background: ${g}; border-radius: 50%; animation: ihooman-typing 1.4s infinite; }\n .ihooman-typing-dot:nth-child(2) { animation-delay: 0.2s; }\n .ihooman-typing-dot:nth-child(3) { animation-delay: 0.4s; }\n @keyframes ihooman-typing { 0%, 60%, 100% { transform: translateY(0); opacity: 0.4; } 30% { transform: translateY(-4px); opacity: 1; } }\n .ihooman-input-area { padding: 12px 16px; background: ${p}; border-top: 1px solid ${m}; flex-shrink: 0; }\n .ihooman-input-wrapper { display: flex; align-items: flex-end; gap: 8px; background: ${u}; border: 1px solid ${m}; border-radius: 12px; padding: 8px 12px; transition: border-color 0.2s, box-shadow 0.2s; }\n .ihooman-input-wrapper:focus-within { border-color: ${e}; box-shadow: 0 0 0 3px rgba(0, 174, 255, 0.1); }\n .ihooman-input { flex: 1; border: none; background: transparent; font-family: inherit; font-size: 14px; color: ${h}; resize: none; max-height: 100px; outline: none; line-height: 1.4; }\n .ihooman-input::placeholder { color: ${g}; }\n .ihooman-input-btn { width: 36px; height: 36px; border-radius: 10px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; background: transparent; color: ${g}; }\n .ihooman-input-btn:hover { background: ${m}; color: ${h}; }\n .ihooman-input-btn.send { background: linear-gradient(135deg, ${n}, ${t}); color: white; }\n .ihooman-input-btn.send:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0, 174, 255, 0.3); }\n .ihooman-input-btn.send:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\n .ihooman-input-btn svg { width: 18px; height: 18px; }\n .ihooman-file-input { display: none; }\n .ihooman-powered { text-align: center; padding: 8px; font-size: 11px; color: ${g}; background: ${p}; }\n .ihooman-powered a { color: ${e}; text-decoration: none; }\n .ihooman-error { padding: 16px; text-align: center; color: #ef4444; background: ${p}; }\n @media (max-width: 480px) { .ihooman-window { width: calc(100vw - 20px); height: calc(100vh - 100px); left: 10px; right: 10px; bottom: 80px; max-height: none; } .ihooman-toggle { ${V?"right: 16px":"left: 16px"}; bottom: 16px; } }\n `}(),document.head.appendChild(e);const l=document.createElement("div");l.className="ihooman-widget",l.innerHTML=`\n <button class="ihooman-toggle" aria-label="Open chat">\n <span class="ihooman-pulse"></span>\n <span class="ihooman-badge"></span>\n <span class="chat-icon">${n}</span>\n <span class="close-icon">${t}</span>\n </button>\n <div class="ihooman-window" role="dialog" aria-label="Chat window">\n <div class="ihooman-container">\n <div class="ihooman-header">\n <div class="ihooman-header-avatar">${d.avatarUrl?`<img src="${f(d.avatarUrl)}" alt="Support">`:r}</div>\n <div class="ihooman-header-info">\n <div class="ihooman-header-title">${f(d.title||"Chat Support")}</div>\n <div class="ihooman-header-status"><span class="ihooman-status-dot"></span><span class="ihooman-status-text">Online</span></div>\n </div>\n <div class="ihooman-header-actions">\n <button class="ihooman-header-btn" data-action="refresh" title="New conversation">${s}</button>\n <button class="ihooman-header-btn" data-action="minimize" title="Minimize">${a}</button>\n </div>\n </div>\n <div class="ihooman-messages" role="log" aria-live="polite"></div>\n <div class="ihooman-input-area">\n <div class="ihooman-input-wrapper">\n ${d.enableFileUpload?`<button class="ihooman-input-btn attach" title="Attach file">${i}</button><input type="file" class="ihooman-file-input">`:""}\n <textarea class="ihooman-input" placeholder="${f(d.placeholder||"Type a message...")}" rows="1" aria-label="Message input"></textarea>\n <button class="ihooman-input-btn send" title="Send message" disabled>${o}</button>\n </div>\n </div>\n ${d.poweredBy?'<div class="ihooman-powered">Powered by <a href="https://ihooman.ai" target="_blank" rel="noopener">Ihooman AI</a></div>':""}\n </div>\n </div>\n `,document.body.appendChild(l),c={widget:l,toggle:l.querySelector(".ihooman-toggle"),badge:l.querySelector(".ihooman-badge"),window:l.querySelector(".ihooman-window"),messages:l.querySelector(".ihooman-messages"),input:l.querySelector(".ihooman-input"),sendBtn:l.querySelector(".ihooman-input-btn.send"),attachBtn:l.querySelector(".ihooman-input-btn.attach"),fileInput:l.querySelector(".ihooman-file-input"),statusDot:l.querySelector(".ihooman-status-dot"),statusText:l.querySelector(".ihooman-status-text")},function(){if(!c.toggle||!c.sendBtn||!c.input)return;c.toggle.addEventListener("click",U),c.sendBtn.addEventListener("click",v),c.input.addEventListener("input",()=>{c.sendBtn&&(c.sendBtn.disabled=!c.input?.value.trim()),c.input&&(c.input.style.height="auto",c.input.style.height=Math.min(c.input.scrollHeight,100)+"px")}),c.input.addEventListener("keydown",e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),c.sendBtn?.disabled||v())}),c.attachBtn&&c.fileInput&&(c.attachBtn.addEventListener("click",()=>c.fileInput?.click()),c.fileInput.addEventListener("change",$));c.widget?.querySelector('[data-action="refresh"]')?.addEventListener("click",B),c.widget?.querySelector('[data-action="minimize"]')?.addEventListener("click",T)}()}function w(e,n="bot",t={}){const o={id:u("msg_"),content:e,sender:n,timestamp:new Date,metadata:t};if(l.messages.push(o),!c.messages)return o;const i=document.createElement("div");var a,s;i.className=`ihooman-message ${n}`,i.innerHTML=`\n <div class="ihooman-message-content">${s=e,s?f(s).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/\n/g,"<br>"):""}</div>\n ${d.showTimestamps?`<div class="ihooman-message-time">${a=o.timestamp,new Date(a).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}</div>`:""}\n `;const r=c.messages.querySelector(".ihooman-typing");return r&&r.remove(),c.messages.appendChild(i),c.messages.scrollTop=c.messages.scrollHeight,"bot"!==n||l.isOpen||(l.unreadCount++,c.badge&&(c.badge.textContent=String(l.unreadCount)),d.enableSounds&&function(){try{const e=new Audio("data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4Ljc2LjEwMAAAAAAAAAAAAAAA//tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAABhgC7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7//////////////////////////////////////////////////////////////////8AAAAATGF2YzU4LjEzAAAAAAAAAAAAAAAAJAAAAAAAAAAAAYYNBrP/AAAAAAAAAAAAAAAAAAAAAP/7UMQAA8AAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tQxBKDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=");e.volume=.3,e.play().catch(()=>{})}catch{}}()),V("message",o),o}function y(){if(!d.showTypingIndicator||!c.messages)return;if(c.messages.querySelector(".ihooman-typing"))return;const e=document.createElement("div");e.className="ihooman-typing",e.innerHTML='<div class="ihooman-typing-dots"><span class="ihooman-typing-dot"></span><span class="ihooman-typing-dot"></span><span class="ihooman-typing-dot"></span></div>',c.messages.appendChild(e),c.messages.scrollTop=c.messages.scrollHeight}function A(){const e=c.messages?.querySelector(".ihooman-typing");e&&e.remove()}function v(){const e=c.input?.value.trim();e&&(c.input&&(c.input.value="",c.input.style.height="auto"),c.sendBtn&&(c.sendBtn.disabled=!0),w(e,"user"),y(),async function(e){try{const n=await fetch(`${d.serverUrl}/api/v1/public/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e,session_id:l.sessionId,visitor_id:l.visitorId,widget_id:d.widgetId})}),t=await n.json();A(),t.session_id&&(l.sessionId=t.session_id,d.persistSession&&b("session_id",l.sessionId)),t.response&&w(t.response,"bot",{sources:t.sources,confidence:t.confidence})}catch(e){A(),w("Sorry, something went wrong. Please try again.","bot"),V("error",e)}}(e))}function $(e){const n=e.target,t=n.files?.[0];if(!t)return;w(`📎 Uploading: ${t.name}...`,"user"),y();const o=new FormData;o.append("file",t),o.append("session_id",l.sessionId||""),o.append("visitor_id",l.visitorId||""),o.append("widget_id",d.widgetId),fetch(`${d.serverUrl}/api/upload`,{method:"POST",body:o}).then(e=>e.json()).then(e=>{A(),e.message&&w(e.message,"bot")}).catch(()=>{A(),w("Failed to upload file.","bot")}),n.value=""}function k(e){if(d.widgetId)return void I();if(!d.serverUrl&&!e)return;const n=e||d.serverUrl?.replace(/^http/,"ws")+"/ws";try{h=new WebSocket(n),h.onopen=()=>{l.isConnected=!0,m=0,S(!0),h&&h.readyState===WebSocket.OPEN&&h.send(JSON.stringify({type:"connect",widget_id:d.widgetId,visitor_id:l.visitorId,session_id:l.sessionId}))},h.onclose=()=>{if(l.isConnected=!1,S(!1),m<5){m++;const n=Math.min(1e3*Math.pow(2,m),3e4);setTimeout(()=>k(e),n)}else I()},h.onerror=()=>{},h.onmessage=e=>{try{const n=JSON.parse(e.data);"message"===n.type?(A(),w(n.content,n.sender_type||"bot",n.metadata)):"typing"===n.type&&(n.is_typing?y():A())}catch{}}}catch{I()}}function I(){g||(g=setInterval(async()=>{if(l.sessionId)try{const e=await fetch(`${d.serverUrl}/api/messages?session_id=${l.sessionId}&since=${Date.now()-5e3}&widget_id=${d.widgetId}`),n=await e.json();n.messages&&n.messages.forEach(e=>{l.messages.find(n=>n.id===e.id)||w(e.content,e.sender_type,e.metadata)})}catch{}},5e3))}function S(e){c.statusDot&&c.statusDot.classList.toggle("offline",!e),c.statusText&&(c.statusText.textContent=e?"Online":"Offline")}function C(){l.isOpen||(l.isOpen=!0,l.unreadCount=0,c.badge&&(c.badge.textContent=""),c.toggle&&c.toggle.classList.add("open"),c.window&&c.window.classList.add("open"),setTimeout(()=>c.input?.focus(),300),V("open"))}function T(){l.isOpen&&(l.isOpen=!1,c.toggle&&c.toggle.classList.remove("open"),c.window&&c.window.classList.remove("open"),V("close"))}function U(){l.isOpen?T():C()}function B(){l.sessionId=null,l.messages=[],b("session_id",null),c.messages&&(c.messages.innerHTML=""),d.welcomeMessage&&w(d.welcomeMessage,"bot")}async function z(n){if(!n.widgetId)return console.error("IhoomanChat: widgetId is required"),null;d={...e,...n},l.visitorId=b("visitor_id")||u("v_"),b("visitor_id",l.visitorId),d.persistSession&&(l.sessionId=b("session_id"));const t=d.serverUrl||"https://api.ihooman.ai",o=await async function(e,n){try{const t=await fetch(`${n}/api/widget/config?widget_id=${encodeURIComponent(e)}`);return t.ok?await t.json():{success:!1,error:(await t.json().catch(()=>({}))).error||`HTTP ${t.status}`}}catch(e){return{success:!1,error:"Unable to connect. Please check your internet connection."}}}(d.widgetId,t);let i;var a;return o.success&&o.config?(a=o.config,d.title=a.title||d.title,d.subtitle=a.subtitle||d.subtitle,d.welcomeMessage=a.welcomeMessage||d.welcomeMessage,d.placeholder=a.placeholder||d.placeholder,d.position=a.position||d.position,a.theme&&(d.primaryColor=a.theme.primaryColor||d.primaryColor,d.gradientFrom=a.theme.gradientFrom||d.gradientFrom,d.gradientTo=a.theme.gradientTo||d.gradientTo,d.fontFamily=a.theme.fontFamily||d.fontFamily,a.theme.borderRadius&&(d.borderRadius=parseInt(a.theme.borderRadius,10)||d.borderRadius)),a.behavior&&(d.startOpen=a.behavior.startOpen??d.startOpen,d.showTypingIndicator=a.behavior.showTypingIndicator??d.showTypingIndicator,d.showTimestamps=a.behavior.showTimestamps??d.showTimestamps,d.enableSounds=a.behavior.enableSounds??d.enableSounds,d.enableFileUpload=a.behavior.enableFileUpload??d.enableFileUpload,d.persistSession=a.behavior.persistSession??d.persistSession),a.branding&&(d.avatarUrl=a.branding.avatarUrl||d.avatarUrl,d.poweredBy=a.branding.poweredBy??d.poweredBy),i=o.chatEndpoint):o.error&&(console.warn("IhoomanChat: Could not fetch server config:",o.error),"Widget not authorized for this domain"===o.error&&console.error("IhoomanChat: Widget configuration error. Please contact support.")),x(),l.messages.forEach(e=>w(e.content,e.sender,e.metadata)),0===l.messages.length&&d.welcomeMessage&&w(d.welcomeMessage,"bot"),k(i),d.startOpen&&setTimeout(C,500),V("ready"),M}const M={init:z,open:C,close:T,toggle:U,destroy:function(){h&&(h.close(),h=null),g&&(clearInterval(g),g=null),c.widget&&c.widget.remove();const e=document.getElementById("ihooman-widget-styles");e&&e.remove(),l={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},c={},m=0},sendMessage:function(e){e.trim()&&(c.input&&(c.input.value=e),v())},setUser:function(e){e.name&&b("user_name",e.name),e.email&&b("user_email",e.email),e.metadata&&b("user_metadata",e.metadata)},clearHistory:function(){B()},on:function(e,n){p[e]||(p[e]=[]),p[e].push(n)},off:function(e,n){p[e]&&(p[e]=p[e].filter(e=>e!==n))},getState:function(){return{...l}},version:"2.0.0"},_=M;function E(){return{...M}}!function(){if("undefined"==typeof document)return;let e=document.currentScript;if(!e){const n=document.getElementsByTagName("script");for(let t=0;t<n.length;t++)if(n[t].src&&n[t].src.includes("ihooman")){e=n[t];break}}if(!e)return;const n=e.getAttribute("data-widget-id");if(n){const t={widgetId:n},o=e.getAttribute("data-server-url");o&&(t.serverUrl=o);const i=e.getAttribute("data-theme");"light"!==i&&"dark"!==i||(t.theme=i);const a=e.getAttribute("data-position");a&&(t.position=a);"true"===e.getAttribute("data-start-open")&&(t.startOpen=!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>z(t)):z(t)}}(),"undefined"!=typeof window&&(window.IhoomanChat=_);export{_ as IhoomanChat,E as createWidgetInstance,_ as default};
1
+ const e={serverUrl:"https://api.ihooman.ai",theme:"light",position:"bottom-right",title:"Chat Support",subtitle:"We typically reply within minutes",welcomeMessage:"Hi there! 👋 How can we help you today?",placeholder:"Type a message...",primaryColor:"#00aeff",gradientFrom:"#00aeff",gradientTo:"#0066ff",showTimestamps:!0,showTypingIndicator:!0,enableSounds:!0,enableFileUpload:!0,startOpen:!1,persistSession:!0,zIndex:9999,width:380,height:560,buttonSize:60,borderRadius:16,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',avatarUrl:"",poweredBy:!0},n='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>',t='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',o='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',i='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"></path></svg>',a='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line></svg>',s='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>',r='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="10" rx="2"></rect><circle cx="12" cy="5" r="2"></circle><path d="M12 7v4"></path></svg>';let d={widgetId:"",...e},l={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},c={};const p={};let h=null,g=null,m=0;function u(e=""){return e+Math.random().toString(36).slice(2,14)+Date.now().toString(36)}function f(e){const n=document.createElement("div");return n.textContent=e,n.innerHTML}function b(e,n){const t="ihooman_chat_"+e;try{if(void 0===n){const e=localStorage.getItem(t);return e?JSON.parse(e):null}return null===n?(localStorage.removeItem(t),null):(localStorage.setItem(t,JSON.stringify(n)),n)}catch{return null}}function V(e,n){(p[e]||[]).forEach(t=>{try{t(n)}catch(n){console.error(`Error in ${e} event handler:`,n)}});const t=`on${e.charAt(0).toUpperCase()}${e.slice(1)}`,o=d[t];if("function"==typeof o)try{o(n)}catch(e){console.error(`Error in ${t} callback:`,e)}}function x(){const e=document.createElement("style");e.id="ihooman-widget-styles",e.textContent=function(){const{primaryColor:e,gradientFrom:n,gradientTo:t,fontFamily:o,borderRadius:i,zIndex:a,width:s,height:r,buttonSize:l}=d,c="dark"===d.theme,p=c?"#1a1a2e":"#ffffff",h=c?"#e4e4e7":"#1f2937",g=c?"#71717a":"#6b7280",m=c?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)",u=c?"#16162a":"#f9fafb",f=`linear-gradient(135deg, ${n}, ${t})`,b=c?"#252542":"#f1f5f9",V=d.position?.includes("right")??!0,x=d.position?.includes("bottom")??!0;return`\n .ihooman-widget * { box-sizing: border-box; margin: 0; padding: 0; }\n .ihooman-widget { font-family: ${o}; font-size: 14px; line-height: 1.5; color: ${h}; -webkit-font-smoothing: antialiased; }\n .ihooman-toggle { position: fixed; ${V?"right: 20px":"left: 20px"}; ${x?"bottom: 20px":"top: 20px"}; width: ${l}px; height: ${l}px; border-radius: 50%; background: linear-gradient(135deg, ${n}, ${t}); border: none; cursor: pointer; z-index: ${a}; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(0, 174, 255, 0.35); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); overflow: hidden; }\n .ihooman-toggle:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(0, 174, 255, 0.45); }\n .ihooman-toggle:active { transform: scale(0.95); }\n .ihooman-toggle::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(255,255,255,0.2), transparent); border-radius: 50%; }\n .ihooman-toggle svg { width: 26px; height: 26px; color: white; transition: transform 0.3s ease, opacity 0.2s ease; position: relative; z-index: 1; }\n .ihooman-toggle.open svg.chat-icon { transform: rotate(90deg) scale(0); opacity: 0; }\n .ihooman-toggle.open svg.close-icon { transform: rotate(0) scale(1); opacity: 1; }\n .ihooman-toggle svg.close-icon { position: absolute; transform: rotate(-90deg) scale(0); opacity: 0; }\n .ihooman-pulse { position: absolute; inset: 0; border-radius: 50%; background: ${e}; animation: ihooman-pulse 2s ease-out infinite; }\n @keyframes ihooman-pulse { 0% { transform: scale(1); opacity: 0.5; } 100% { transform: scale(1.6); opacity: 0; } }\n .ihooman-toggle.open .ihooman-pulse { display: none; }\n .ihooman-badge { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 6px; background: #ef4444; color: white; font-size: 11px; font-weight: 600; border-radius: 10px; display: flex; align-items: center; justify-content: center; z-index: 2; }\n .ihooman-badge:empty { display: none; }\n .ihooman-window { position: fixed; ${V?"right: 20px":"left: 20px"}; ${x?"bottom: 90px":"top: 90px"}; width: ${s}px; height: ${r}px; max-height: calc(100vh - 120px); z-index: ${(a??9999)-1}; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(20px) scale(0.95); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }\n .ihooman-window.open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }\n .ihooman-container { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; border-radius: ${i}px; overflow: hidden; }\n .ihooman-container::before { content: ''; position: absolute; inset: 0; background: ${p}; opacity: 0.97; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: ${i}px; border: 1px solid ${m}; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }\n .ihooman-container > * { position: relative; z-index: 1; }\n .ihooman-header { padding: 16px 20px; background: linear-gradient(135deg, ${n}, ${t}); color: white; display: flex; align-items: center; gap: 12px; flex-shrink: 0; }\n .ihooman-header-avatar { width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n .ihooman-header-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }\n .ihooman-header-avatar svg { width: 22px; height: 22px; }\n .ihooman-header-info { flex: 1; min-width: 0; }\n .ihooman-header-title { font-size: 16px; font-weight: 600; margin-bottom: 2px; }\n .ihooman-header-status { display: flex; align-items: center; gap: 6px; font-size: 12px; opacity: 0.9; }\n .ihooman-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }\n .ihooman-status-dot.offline { background: #f59e0b; }\n .ihooman-header-actions { display: flex; gap: 8px; }\n .ihooman-header-btn { width: 32px; height: 32px; border-radius: 8px; background: rgba(255,255,255,0.15); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: white; transition: background 0.2s; }\n .ihooman-header-btn:hover { background: rgba(255,255,255,0.25); }\n .ihooman-header-btn svg { width: 16px; height: 16px; }\n .ihooman-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; background: ${p}; }\n .ihooman-messages::-webkit-scrollbar { width: 6px; }\n .ihooman-messages::-webkit-scrollbar-track { background: transparent; }\n .ihooman-messages::-webkit-scrollbar-thumb { background: ${m}; border-radius: 3px; }\n .ihooman-message { display: flex; flex-direction: column; max-width: 85%; animation: ihooman-fadeIn 0.3s ease; }\n @keyframes ihooman-fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n .ihooman-message.user { align-self: flex-end; align-items: flex-end; }\n .ihooman-message.bot { align-self: flex-start; align-items: flex-start; }\n .ihooman-message-content { padding: 12px 16px; border-radius: 16px; word-wrap: break-word; }\n .ihooman-message.user .ihooman-message-content { background: ${f}; color: white; border-bottom-right-radius: 4px; }\n .ihooman-message.bot .ihooman-message-content { background: ${b}; color: ${h}; border-bottom-left-radius: 4px; }\n .ihooman-message-content code { background: rgba(0,0,0,0.1); padding: 2px 6px; border-radius: 4px; font-family: monospace; font-size: 13px; }\n .ihooman-message-time { font-size: 11px; color: ${g}; margin-top: 4px; padding: 0 4px; }\n .ihooman-typing { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: ${b}; border-radius: 16px; border-bottom-left-radius: 4px; max-width: 80px; align-self: flex-start; }\n .ihooman-typing-dots { display: flex; gap: 4px; }\n .ihooman-typing-dot { width: 8px; height: 8px; background: ${g}; border-radius: 50%; animation: ihooman-typing 1.4s infinite; }\n .ihooman-typing-dot:nth-child(2) { animation-delay: 0.2s; }\n .ihooman-typing-dot:nth-child(3) { animation-delay: 0.4s; }\n @keyframes ihooman-typing { 0%, 60%, 100% { transform: translateY(0); opacity: 0.4; } 30% { transform: translateY(-4px); opacity: 1; } }\n .ihooman-input-area { padding: 12px 16px; background: ${p}; border-top: 1px solid ${m}; flex-shrink: 0; }\n .ihooman-input-wrapper { display: flex; align-items: flex-end; gap: 8px; background: ${u}; border: 1px solid ${m}; border-radius: 12px; padding: 8px 12px; transition: border-color 0.2s, box-shadow 0.2s; }\n .ihooman-input-wrapper:focus-within { border-color: ${e}; box-shadow: 0 0 0 3px rgba(0, 174, 255, 0.1); }\n .ihooman-input { flex: 1; border: none; background: transparent; font-family: inherit; font-size: 14px; color: ${h}; resize: none; max-height: 100px; outline: none; line-height: 1.4; }\n .ihooman-input::placeholder { color: ${g}; }\n .ihooman-input-btn { width: 36px; height: 36px; border-radius: 10px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; background: transparent; color: ${g}; }\n .ihooman-input-btn:hover { background: ${m}; color: ${h}; }\n .ihooman-input-btn.send { background: linear-gradient(135deg, ${n}, ${t}); color: white; }\n .ihooman-input-btn.send:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0, 174, 255, 0.3); }\n .ihooman-input-btn.send:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\n .ihooman-input-btn svg { width: 18px; height: 18px; }\n .ihooman-file-input { display: none; }\n .ihooman-powered { text-align: center; padding: 8px; font-size: 11px; color: ${g}; background: ${p}; }\n .ihooman-powered a { color: ${e}; text-decoration: none; }\n .ihooman-error { padding: 16px; text-align: center; color: #ef4444; background: ${p}; }\n @media (max-width: 480px) { .ihooman-window { width: calc(100vw - 20px); height: calc(100vh - 100px); left: 10px; right: 10px; bottom: 80px; max-height: none; } .ihooman-toggle { ${V?"right: 16px":"left: 16px"}; bottom: 16px; } }\n `}(),document.head.appendChild(e);const l=document.createElement("div");l.className="ihooman-widget",l.innerHTML=`\n <button class="ihooman-toggle" aria-label="Open chat">\n <span class="ihooman-pulse"></span>\n <span class="ihooman-badge"></span>\n <span class="chat-icon">${n}</span>\n <span class="close-icon">${t}</span>\n </button>\n <div class="ihooman-window" role="dialog" aria-label="Chat window">\n <div class="ihooman-container">\n <div class="ihooman-header">\n <div class="ihooman-header-avatar">${d.avatarUrl?`<img src="${f(d.avatarUrl)}" alt="Support">`:r}</div>\n <div class="ihooman-header-info">\n <div class="ihooman-header-title">${f(d.title||"Chat Support")}</div>\n <div class="ihooman-header-status"><span class="ihooman-status-dot"></span><span class="ihooman-status-text">Online</span></div>\n </div>\n <div class="ihooman-header-actions">\n <button class="ihooman-header-btn" data-action="refresh" title="New conversation">${s}</button>\n <button class="ihooman-header-btn" data-action="minimize" title="Minimize">${a}</button>\n </div>\n </div>\n <div class="ihooman-messages" role="log" aria-live="polite"></div>\n <div class="ihooman-input-area">\n <div class="ihooman-input-wrapper">\n ${d.enableFileUpload?`<button class="ihooman-input-btn attach" title="Attach file">${i}</button><input type="file" class="ihooman-file-input">`:""}\n <textarea class="ihooman-input" placeholder="${f(d.placeholder||"Type a message...")}" rows="1" aria-label="Message input"></textarea>\n <button class="ihooman-input-btn send" title="Send message" disabled>${o}</button>\n </div>\n </div>\n ${d.poweredBy?'<div class="ihooman-powered">Powered by <a href="https://ihooman.ai" target="_blank" rel="noopener">Ihooman AI</a></div>':""}\n </div>\n </div>\n `,document.body.appendChild(l),c={widget:l,toggle:l.querySelector(".ihooman-toggle"),badge:l.querySelector(".ihooman-badge"),window:l.querySelector(".ihooman-window"),messages:l.querySelector(".ihooman-messages"),input:l.querySelector(".ihooman-input"),sendBtn:l.querySelector(".ihooman-input-btn.send"),attachBtn:l.querySelector(".ihooman-input-btn.attach"),fileInput:l.querySelector(".ihooman-file-input"),statusDot:l.querySelector(".ihooman-status-dot"),statusText:l.querySelector(".ihooman-status-text")},function(){if(!c.toggle||!c.sendBtn||!c.input)return;c.toggle.addEventListener("click",U),c.sendBtn.addEventListener("click",v),c.input.addEventListener("input",()=>{c.sendBtn&&(c.sendBtn.disabled=!c.input?.value.trim()),c.input&&(c.input.style.height="auto",c.input.style.height=Math.min(c.input.scrollHeight,100)+"px")}),c.input.addEventListener("keydown",e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),c.sendBtn?.disabled||v())}),c.attachBtn&&c.fileInput&&(c.attachBtn.addEventListener("click",()=>c.fileInput?.click()),c.fileInput.addEventListener("change",$));c.widget?.querySelector('[data-action="refresh"]')?.addEventListener("click",B),c.widget?.querySelector('[data-action="minimize"]')?.addEventListener("click",_)}()}function w(e,n="bot",t={}){const o={id:u("msg_"),content:e,sender:n,timestamp:new Date,metadata:t};if(l.messages.push(o),!c.messages)return o;const i=document.createElement("div");var a,s;i.className=`ihooman-message ${n}`,i.innerHTML=`\n <div class="ihooman-message-content">${s=e,s?f(s).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/\n/g,"<br>"):""}</div>\n ${d.showTimestamps?`<div class="ihooman-message-time">${a=o.timestamp,new Date(a).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}</div>`:""}\n `;const r=c.messages.querySelector(".ihooman-typing");return r&&r.remove(),c.messages.appendChild(i),c.messages.scrollTop=c.messages.scrollHeight,"bot"!==n||l.isOpen||(l.unreadCount++,c.badge&&(c.badge.textContent=String(l.unreadCount)),d.enableSounds&&function(){try{const e=new Audio("data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4Ljc2LjEwMAAAAAAAAAAAAAAA//tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAABhgC7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7//////////////////////////////////////////////////////////////////8AAAAATGF2YzU4LjEzAAAAAAAAAAAAAAAAJAAAAAAAAAAAAYYNBrP/AAAAAAAAAAAAAAAAAAAAAP/7UMQAA8AAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tQxBKDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=");e.volume=.3,e.play().catch(()=>{})}catch{}}()),V("message",o),o}function y(){if(!d.showTypingIndicator||!c.messages)return;if(c.messages.querySelector(".ihooman-typing"))return;const e=document.createElement("div");e.className="ihooman-typing",e.innerHTML='<div class="ihooman-typing-dots"><span class="ihooman-typing-dot"></span><span class="ihooman-typing-dot"></span><span class="ihooman-typing-dot"></span></div>',c.messages.appendChild(e),c.messages.scrollTop=c.messages.scrollHeight}function A(){const e=c.messages?.querySelector(".ihooman-typing");e&&e.remove()}function v(){const e=c.input?.value.trim();e&&(c.input&&(c.input.value="",c.input.style.height="auto"),c.sendBtn&&(c.sendBtn.disabled=!0),w(e,"user"),y(),async function(e){if(h&&h.readyState===WebSocket.OPEN)return void h.send(JSON.stringify({type:"message",content:e}));try{const n=await fetch(`${d.serverUrl}/api/v1/public/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e,session_id:l.sessionId,visitor_id:l.visitorId,widget_id:d.widgetId})}),t=await n.json();A(),t.session_id&&(l.sessionId=t.session_id,d.persistSession&&b("session_id",l.sessionId)),t.response&&w(t.response,"bot",{sources:t.sources,confidence:t.confidence})}catch(e){A(),w("Sorry, something went wrong. Please try again.","bot"),V("error",e)}}(e))}function $(e){const n=e.target,t=n.files?.[0];if(!t)return;w(`📎 Uploading: ${t.name}...`,"user"),y();const o=new FormData;o.append("file",t),o.append("session_id",l.sessionId||""),o.append("visitor_id",l.visitorId||""),o.append("widget_id",d.widgetId),fetch(`${d.serverUrl}/api/upload`,{method:"POST",body:o}).then(e=>e.json()).then(e=>{A(),e.message&&w(e.message,"bot")}).catch(()=>{A(),w("Failed to upload file.","bot")}),n.value=""}function k(e){if(!d.serverUrl&&!e)return;let n;if(d.widgetId){const e=d.serverUrl?.replace(/^http/,"ws"),t=new URLSearchParams({widget_id:d.widgetId});l.visitorId&&t.append("visitor_id",l.visitorId),l.sessionId&&t.append("session_id",l.sessionId),n=`${e}/public/ws?${t.toString()}`}else n=e||d.serverUrl?.replace(/^http/,"ws")+"/ws";try{h=new WebSocket(n),h.onopen=()=>{l.isConnected=!0,m=0,C(!0),V("connected")},h.onclose=()=>{if(l.isConnected=!1,C(!1),V("disconnected"),m<5){m++;const n=Math.min(1e3*Math.pow(2,m),3e4);setTimeout(()=>k(e),n)}else console.warn("WebSocket reconnection failed, falling back to polling"),I()},h.onerror=e=>{console.error("WebSocket error:",e)},h.onmessage=e=>{try{const n=JSON.parse(e.data);if("connected"===n.type)n.session_id&&(l.sessionId=n.session_id,d.persistSession&&b("session_id",l.sessionId)),n.visitor_id&&(l.visitorId=n.visitor_id,d.persistSession&&b("visitor_id",l.visitorId)),n.welcome_message&&0===l.messages.length&&w(n.welcome_message,"bot");else if("message"===n.type){A();const e="user"===n.sender?"user":"bot";w(n.content,e,{confidence:n.confidence,agent_name:n.agent_name})}else"typing"===n.type?n.is_typing?y():A():"pong"===n.type||"error"===n.type&&(console.error("WebSocket server error:",n.message),V("error",{message:n.message}))}catch{}},function(){if(S)return;S=setInterval(()=>{h&&h.readyState===WebSocket.OPEN&&h.send(JSON.stringify({type:"ping"}))},3e4)}()}catch{console.warn("WebSocket not supported, using polling"),I()}}let S=null;function I(){g||(g=setInterval(async()=>{if(l.sessionId)try{const e=await fetch(`${d.serverUrl}/api/messages?session_id=${l.sessionId}&since=${Date.now()-5e3}&widget_id=${d.widgetId}`),n=await e.json();n.messages&&n.messages.forEach(e=>{l.messages.find(n=>n.id===e.id)||w(e.content,e.sender_type,e.metadata)})}catch{}},5e3))}function C(e){c.statusDot&&c.statusDot.classList.toggle("offline",!e),c.statusText&&(c.statusText.textContent=e?"Online":"Offline")}function T(){l.isOpen||(l.isOpen=!0,l.unreadCount=0,c.badge&&(c.badge.textContent=""),c.toggle&&c.toggle.classList.add("open"),c.window&&c.window.classList.add("open"),setTimeout(()=>c.input?.focus(),300),V("open"))}function _(){l.isOpen&&(l.isOpen=!1,c.toggle&&c.toggle.classList.remove("open"),c.window&&c.window.classList.remove("open"),V("close"))}function U(){l.isOpen?_():T()}function B(){l.sessionId=null,l.messages=[],b("session_id",null),c.messages&&(c.messages.innerHTML=""),d.welcomeMessage&&w(d.welcomeMessage,"bot")}async function z(n){if(!n.widgetId)return console.error("IhoomanChat: widgetId is required"),null;d={...e,...n},l.visitorId=b("visitor_id")||u("v_"),b("visitor_id",l.visitorId),d.persistSession&&(l.sessionId=b("session_id"));const t=d.serverUrl||"https://api.ihooman.ai",o=await async function(e,n){try{const t=await fetch(`${n}/api/widget/config?widget_id=${encodeURIComponent(e)}`);return t.ok?await t.json():{success:!1,error:(await t.json().catch(()=>({}))).error||`HTTP ${t.status}`}}catch(e){return{success:!1,error:"Unable to connect. Please check your internet connection."}}}(d.widgetId,t);let i;var a;return o.success&&o.config?(a=o.config,d.title=a.title||d.title,d.subtitle=a.subtitle||d.subtitle,d.welcomeMessage=a.welcomeMessage||d.welcomeMessage,d.placeholder=a.placeholder||d.placeholder,d.position=a.position||d.position,a.theme&&(d.primaryColor=a.theme.primaryColor||d.primaryColor,d.gradientFrom=a.theme.gradientFrom||d.gradientFrom,d.gradientTo=a.theme.gradientTo||d.gradientTo,d.fontFamily=a.theme.fontFamily||d.fontFamily,a.theme.borderRadius&&(d.borderRadius=parseInt(a.theme.borderRadius,10)||d.borderRadius)),a.behavior&&(d.startOpen=a.behavior.startOpen??d.startOpen,d.showTypingIndicator=a.behavior.showTypingIndicator??d.showTypingIndicator,d.showTimestamps=a.behavior.showTimestamps??d.showTimestamps,d.enableSounds=a.behavior.enableSounds??d.enableSounds,d.enableFileUpload=a.behavior.enableFileUpload??d.enableFileUpload,d.persistSession=a.behavior.persistSession??d.persistSession),a.branding&&(d.avatarUrl=a.branding.avatarUrl||d.avatarUrl,d.poweredBy=a.branding.poweredBy??d.poweredBy),i=o.chatEndpoint):o.error&&(console.warn("IhoomanChat: Could not fetch server config:",o.error),"Widget not authorized for this domain"===o.error&&console.error("IhoomanChat: Widget configuration error. Please contact support.")),x(),l.messages.forEach(e=>w(e.content,e.sender,e.metadata)),0===l.messages.length&&d.welcomeMessage&&w(d.welcomeMessage,"bot"),k(i),d.startOpen&&setTimeout(T,500),V("ready"),E}const E={init:z,open:T,close:_,toggle:U,destroy:function(){S&&(clearInterval(S),S=null),h&&(h.close(),h=null),g&&(clearInterval(g),g=null),c.widget&&c.widget.remove();const e=document.getElementById("ihooman-widget-styles");e&&e.remove(),l={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},c={},m=0},sendMessage:function(e){e.trim()&&(c.input&&(c.input.value=e),v())},setUser:function(e){e.name&&b("user_name",e.name),e.email&&b("user_email",e.email),e.metadata&&b("user_metadata",e.metadata)},clearHistory:function(){B()},on:function(e,n){p[e]||(p[e]=[]),p[e].push(n)},off:function(e,n){p[e]&&(p[e]=p[e].filter(e=>e!==n))},getState:function(){return{...l}},version:"2.0.0"},M=E;function O(){return{...E}}!function(){if("undefined"==typeof document)return;let e=document.currentScript;if(!e){const n=document.getElementsByTagName("script");for(let t=0;t<n.length;t++)if(n[t].src&&n[t].src.includes("ihooman")){e=n[t];break}}if(!e)return;const n=e.getAttribute("data-widget-id");if(n){const t={widgetId:n},o=e.getAttribute("data-server-url");o&&(t.serverUrl=o);const i=e.getAttribute("data-theme");"light"!==i&&"dark"!==i||(t.theme=i);const a=e.getAttribute("data-position");a&&(t.position=a);"true"===e.getAttribute("data-start-open")&&(t.startOpen=!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>z(t)):z(t)}}(),"undefined"!=typeof window&&(window.IhoomanChat=M);export{M as IhoomanChat,O as createWidgetInstance,M as default};
2
2
  //# sourceMappingURL=index.esm.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.min.js","sources":["../src/widget.ts"],"sourcesContent":[null],"names":["defaultConfig","serverUrl","theme","position","title","subtitle","welcomeMessage","placeholder","primaryColor","gradientFrom","gradientTo","showTimestamps","showTypingIndicator","enableSounds","enableFileUpload","startOpen","persistSession","zIndex","width","height","buttonSize","borderRadius","fontFamily","avatarUrl","poweredBy","icons","config","widgetId","state","isOpen","isConnected","messages","sessionId","visitorId","unreadCount","elements","eventListeners","ws","pollInterval","reconnectAttempts","generateId","prefix","Math","random","toString","slice","Date","now","escapeHtml","text","div","document","createElement","textContent","innerHTML","storage","key","value","fullKey","undefined","item","localStorage","getItem","JSON","parse","removeItem","setItem","stringify","emit","event","data","forEach","fn","e","console","error","callbackName","charAt","toUpperCase","callback","createWidget","styleEl","id","isDark","bgColor","textColor","mutedColor","borderColor","inputBg","messageBgUser","messageBgBot","positionRight","includes","positionBottom","generateStyles","head","appendChild","widget","className","body","toggle","querySelector","badge","window","input","sendBtn","attachBtn","fileInput","statusDot","statusText","addEventListener","handleSendClick","disabled","trim","style","min","scrollHeight","shiftKey","preventDefault","click","handleFileSelect","startNewConversation","close","setupEventListeners","addMessage","content","sender","metadata","message","timestamp","push","el","date","replace","toLocaleTimeString","hour","minute","typing","remove","scrollTop","String","audio","Audio","volume","play","catch","playSound","showTyping","hideTyping","async","response","fetch","method","headers","session_id","visitor_id","widget_id","json","sources","confidence","sendMessageToServer","target","file","files","name","formData","FormData","append","then","r","connectWebSocket","chatEndpoint","startPolling","wsUrl","WebSocket","onopen","updateStatus","readyState","OPEN","send","type","onclose","delay","pow","setTimeout","onerror","onmessage","sender_type","is_typing","setInterval","msg","find","m","online","classList","open","add","focus","init","userConfig","configResponse","encodeURIComponent","ok","success","status","fetchWidgetConfig","serverConfig","parseInt","behavior","branding","warn","length","publicAPI","destroy","clearInterval","styles","getElementById","sendMessage","setUser","user","email","clearHistory","on","off","filter","getState","version","IhoomanChat","createWidgetInstance","script","currentScript","scripts","getElementsByTagName","i","src","getAttribute","autoConfig"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.min.js","sources":["../src/widget.ts"],"sourcesContent":[null],"names":["defaultConfig","serverUrl","theme","position","title","subtitle","welcomeMessage","placeholder","primaryColor","gradientFrom","gradientTo","showTimestamps","showTypingIndicator","enableSounds","enableFileUpload","startOpen","persistSession","zIndex","width","height","buttonSize","borderRadius","fontFamily","avatarUrl","poweredBy","icons","config","widgetId","state","isOpen","isConnected","messages","sessionId","visitorId","unreadCount","elements","eventListeners","ws","pollInterval","reconnectAttempts","generateId","prefix","Math","random","toString","slice","Date","now","escapeHtml","text","div","document","createElement","textContent","innerHTML","storage","key","value","fullKey","undefined","item","localStorage","getItem","JSON","parse","removeItem","setItem","stringify","emit","event","data","forEach","fn","e","console","error","callbackName","charAt","toUpperCase","callback","createWidget","styleEl","id","isDark","bgColor","textColor","mutedColor","borderColor","inputBg","messageBgUser","messageBgBot","positionRight","includes","positionBottom","generateStyles","head","appendChild","widget","className","body","toggle","querySelector","badge","window","input","sendBtn","attachBtn","fileInput","statusDot","statusText","addEventListener","handleSendClick","disabled","trim","style","min","scrollHeight","shiftKey","preventDefault","click","handleFileSelect","startNewConversation","close","setupEventListeners","addMessage","content","sender","metadata","message","timestamp","push","el","date","replace","toLocaleTimeString","hour","minute","typing","remove","scrollTop","String","audio","Audio","volume","play","catch","playSound","showTyping","hideTyping","async","readyState","WebSocket","OPEN","send","type","response","fetch","method","headers","session_id","visitor_id","widget_id","json","sources","confidence","sendMessageToServer","target","file","files","name","formData","FormData","append","then","r","connectWebSocket","chatEndpoint","wsUrl","baseWsUrl","params","URLSearchParams","onopen","updateStatus","onclose","delay","pow","setTimeout","warn","startPolling","onerror","onmessage","welcome_message","length","agent_name","is_typing","heartbeatInterval","setInterval","startHeartbeat","msg","find","m","sender_type","online","classList","open","add","focus","init","userConfig","configResponse","encodeURIComponent","ok","success","status","fetchWidgetConfig","serverConfig","parseInt","behavior","branding","publicAPI","destroy","clearInterval","styles","getElementById","sendMessage","setUser","user","email","clearHistory","on","off","filter","getState","version","IhoomanChat","createWidgetInstance","script","currentScript","scripts","getElementsByTagName","i","src","getAttribute","autoConfig"],"mappings":"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"}
package/dist/index.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @ihoomanai/chat-widget v2.0.1
2
+ * @ihoomanai/chat-widget v2.0.2
3
3
  * Universal chat support widget for any website - secure Widget ID based initialization
4
4
  *
5
5
  * @license MIT
@@ -442,8 +442,18 @@
442
442
  }
443
443
  /**
444
444
  * Send message to the server
445
+ * Uses WebSocket if connected, otherwise falls back to REST API
445
446
  */
446
447
  async function sendMessageToServer(content) {
448
+ // If WebSocket is connected, send via WebSocket
449
+ if (ws && ws.readyState === WebSocket.OPEN) {
450
+ ws.send(JSON.stringify({
451
+ type: 'message',
452
+ content: content,
453
+ }));
454
+ return;
455
+ }
456
+ // Fallback to REST API
447
457
  try {
448
458
  const response = await fetch(`${config.serverUrl}/api/v1/public/chat`, {
449
459
  method: 'POST',
@@ -517,39 +527,47 @@
517
527
  // WEBSOCKET CONNECTION
518
528
  // ============================================================================
519
529
  /**
520
- * Connect to WebSocket for real-time messaging
521
- * Note: WebSocket requires authentication, so for public widgets we skip it
522
- * and use REST API polling instead.
530
+ * Connect to WebSocket for real-time messaging.
531
+ *
532
+ * For public widgets (using Widget ID), connects to /public/ws endpoint
533
+ * which authenticates via Widget ID + Domain validation.
534
+ *
535
+ * For authenticated users (dashboard), connects to /ws endpoint with JWT.
523
536
  */
524
537
  function connectWebSocket(chatEndpoint) {
525
- // For public widgets (using widget ID), skip WebSocket and use REST
526
- // WebSocket is only for authenticated dashboard users
527
- if (config.widgetId) {
528
- startPolling();
529
- return;
530
- }
531
538
  if (!config.serverUrl && !chatEndpoint)
532
539
  return;
533
- const wsUrl = chatEndpoint || config.serverUrl?.replace(/^http/, 'ws') + '/ws';
540
+ let wsUrl;
541
+ if (config.widgetId) {
542
+ // Public widget - use /public/ws endpoint with widget_id auth
543
+ const baseWsUrl = config.serverUrl?.replace(/^http/, 'ws');
544
+ const params = new URLSearchParams({
545
+ widget_id: config.widgetId,
546
+ });
547
+ if (state.visitorId) {
548
+ params.append('visitor_id', state.visitorId);
549
+ }
550
+ if (state.sessionId) {
551
+ params.append('session_id', state.sessionId);
552
+ }
553
+ wsUrl = `${baseWsUrl}/public/ws?${params.toString()}`;
554
+ }
555
+ else {
556
+ // Authenticated user - use /ws endpoint
557
+ wsUrl = chatEndpoint || config.serverUrl?.replace(/^http/, 'ws') + '/ws';
558
+ }
534
559
  try {
535
560
  ws = new WebSocket(wsUrl);
536
561
  ws.onopen = () => {
537
562
  state.isConnected = true;
538
563
  reconnectAttempts = 0;
539
564
  updateStatus(true);
540
- // Send initial connection message with widget ID
541
- if (ws && ws.readyState === WebSocket.OPEN) {
542
- ws.send(JSON.stringify({
543
- type: 'connect',
544
- widget_id: config.widgetId,
545
- visitor_id: state.visitorId,
546
- session_id: state.sessionId,
547
- }));
548
- }
565
+ emit('connected');
549
566
  };
550
567
  ws.onclose = () => {
551
568
  state.isConnected = false;
552
569
  updateStatus(false);
570
+ emit('disconnected');
553
571
  // Attempt reconnection with exponential backoff
554
572
  if (reconnectAttempts < maxReconnectAttempts) {
555
573
  reconnectAttempts++;
@@ -557,34 +575,92 @@
557
575
  setTimeout(() => connectWebSocket(chatEndpoint), delay);
558
576
  }
559
577
  else {
560
- // Fall back to polling
578
+ // Fall back to polling after max reconnect attempts
579
+ console.warn('WebSocket reconnection failed, falling back to polling');
561
580
  startPolling();
562
581
  }
563
582
  };
564
- ws.onerror = () => {
583
+ ws.onerror = (error) => {
584
+ console.error('WebSocket error:', error);
565
585
  // WebSocket error - will trigger onclose
566
586
  };
567
587
  ws.onmessage = (e) => {
568
588
  try {
569
589
  const data = JSON.parse(e.data);
570
- if (data.type === 'message') {
590
+ if (data.type === 'connected') {
591
+ // Server confirmed connection - update session info
592
+ if (data.session_id) {
593
+ state.sessionId = data.session_id;
594
+ if (config.persistSession)
595
+ storage('session_id', state.sessionId);
596
+ }
597
+ if (data.visitor_id) {
598
+ state.visitorId = data.visitor_id;
599
+ if (config.persistSession)
600
+ storage('visitor_id', state.visitorId);
601
+ }
602
+ // Show welcome message if provided
603
+ if (data.welcome_message && state.messages.length === 0) {
604
+ addMessage(data.welcome_message, 'bot');
605
+ }
606
+ }
607
+ else if (data.type === 'message') {
571
608
  hideTyping();
572
- addMessage(data.content, data.sender_type || 'bot', data.metadata);
609
+ const sender = data.sender === 'user' ? 'user' : 'bot';
610
+ addMessage(data.content, sender, {
611
+ confidence: data.confidence,
612
+ agent_name: data.agent_name,
613
+ });
573
614
  }
574
615
  else if (data.type === 'typing') {
575
616
  data.is_typing ? showTyping() : hideTyping();
576
617
  }
618
+ else if (data.type === 'pong') {
619
+ // Heartbeat response - connection is alive
620
+ }
621
+ else if (data.type === 'error') {
622
+ console.error('WebSocket server error:', data.message);
623
+ emit('error', { message: data.message });
624
+ }
577
625
  }
578
626
  catch {
579
627
  // Ignore parse errors
580
628
  }
581
629
  };
630
+ // Start heartbeat to keep connection alive
631
+ startHeartbeat();
582
632
  }
583
633
  catch {
584
634
  // WebSocket not supported, fall back to polling
635
+ console.warn('WebSocket not supported, using polling');
585
636
  startPolling();
586
637
  }
587
638
  }
639
+ /**
640
+ * Heartbeat interval reference
641
+ */
642
+ let heartbeatInterval = null;
643
+ /**
644
+ * Start heartbeat to keep WebSocket connection alive
645
+ */
646
+ function startHeartbeat() {
647
+ if (heartbeatInterval)
648
+ return;
649
+ heartbeatInterval = setInterval(() => {
650
+ if (ws && ws.readyState === WebSocket.OPEN) {
651
+ ws.send(JSON.stringify({ type: 'ping' }));
652
+ }
653
+ }, 30000); // Ping every 30 seconds
654
+ }
655
+ /**
656
+ * Stop heartbeat
657
+ */
658
+ function stopHeartbeat() {
659
+ if (heartbeatInterval) {
660
+ clearInterval(heartbeatInterval);
661
+ heartbeatInterval = null;
662
+ }
663
+ }
588
664
  /**
589
665
  * Start polling for messages (fallback when WebSocket unavailable)
590
666
  */
@@ -683,6 +759,8 @@
683
759
  * Destroy the widget and clean up resources
684
760
  */
685
761
  function destroy() {
762
+ // Stop heartbeat
763
+ stopHeartbeat();
686
764
  // Close WebSocket
687
765
  if (ws) {
688
766
  ws.close();