@ihoomanai/chat-widget 3.0.21 → 3.0.22
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/cdn/SRI_HASHES.md +8 -8
- package/cdn/health.json +2 -2
- package/cdn/latest/chat.js +56 -54
- package/cdn/latest/chat.js.map +1 -1
- package/cdn/latest/chat.min.js +1 -1
- package/cdn/latest/chat.min.js.map +1 -1
- package/cdn/manifest.json +9 -9
- package/cdn/v3/chat.js +56 -54
- package/cdn/v3/chat.js.map +1 -1
- package/cdn/v3/chat.min.js +1 -1
- package/cdn/v3/chat.min.js.map +1 -1
- package/cdn/{v3.0.16 → v3.0.21}/chat.js +56 -54
- package/cdn/v3.0.21/chat.js.map +1 -0
- package/cdn/v3.0.21/chat.min.js +2 -0
- package/cdn/v3.0.21/chat.min.js.map +1 -0
- package/dist/index.cjs.js +5 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +5 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.umd.js +5 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/dist/widget.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/widget.ts +4 -1
- package/cdn/v3.0.16/chat.js.map +0 -1
- package/cdn/v3.0.16/chat.min.js +0 -2
- package/cdn/v3.0.16/chat.min.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @ihoomanai/chat-widget v3.0.
|
|
2
|
+
* @ihoomanai/chat-widget v3.0.21
|
|
3
3
|
* Universal chat support widget for any website - secure Widget ID based initialization
|
|
4
4
|
*
|
|
5
5
|
* @license MIT
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* Enhanced with professional features
|
|
17
17
|
* @version 3.0.0
|
|
18
18
|
*/
|
|
19
|
-
const VERSION = '3.0.
|
|
19
|
+
const VERSION = '3.0.21';
|
|
20
20
|
const STORAGE_PREFIX = 'ihooman_chat_';
|
|
21
21
|
const DEFAULT_SERVER_URL = 'https://api.ihooman.ai';
|
|
22
22
|
const defaultConfig = {
|
|
@@ -62,9 +62,7 @@
|
|
|
62
62
|
history: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>`,
|
|
63
63
|
plus: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>`,
|
|
64
64
|
star: `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"></path></svg>`,
|
|
65
|
-
starEmpty: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"></path></svg
|
|
66
|
-
thumbUp: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path></svg>`,
|
|
67
|
-
thumbDown: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"></path></svg>`};
|
|
65
|
+
starEmpty: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"></path></svg>`};
|
|
68
66
|
let config = { widgetId: '', ...defaultConfig };
|
|
69
67
|
let state = {
|
|
70
68
|
isOpen: false,
|
|
@@ -83,6 +81,7 @@
|
|
|
83
81
|
};
|
|
84
82
|
let currentView = 'chat';
|
|
85
83
|
let isLiveAgentMode = false;
|
|
84
|
+
let isConversationClosed = false;
|
|
86
85
|
let shownProactiveIds = [];
|
|
87
86
|
let proactiveCooldowns = {};
|
|
88
87
|
let proactiveCheckInterval = null;
|
|
@@ -298,6 +297,8 @@
|
|
|
298
297
|
.ihooman-input-btn.send:hover { opacity: 0.9; }
|
|
299
298
|
.ihooman-input-btn.send:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
300
299
|
.ihooman-input-btn svg { width: 16px; height: 16px; }
|
|
300
|
+
.ihooman-input:disabled { opacity: 0.6; cursor: not-allowed; }
|
|
301
|
+
.ihooman-input-btn.attach:disabled { opacity: 0.4; cursor: not-allowed; }
|
|
301
302
|
.ihooman-file-input { display: none; }
|
|
302
303
|
.ihooman-powered { text-align: center; padding: 8px; font-size: 11px; color: ${mutedColor}; background: ${bgColor}; }
|
|
303
304
|
.ihooman-powered a { color: ${primaryColor}; text-decoration: none; }
|
|
@@ -623,21 +624,10 @@
|
|
|
623
624
|
if (metadata?.quick_replies && metadata.quick_replies.length > 0) {
|
|
624
625
|
quickRepliesHtml = `<div class="ihooman-quick-replies">${metadata.quick_replies.map(qr => `<button class="ihooman-quick-reply" data-text="${escapeHtml(qr.text)}">${escapeHtml(qr.text)}</button>`).join('')}</div>`;
|
|
625
626
|
}
|
|
626
|
-
// Feedback buttons for bot messages
|
|
627
|
-
let feedbackHtml = '';
|
|
628
|
-
if (sender === 'bot' && !metadata?.is_system_message) {
|
|
629
|
-
feedbackHtml = `
|
|
630
|
-
<div class="ihooman-feedback-btns">
|
|
631
|
-
<button class="ihooman-feedback-btn" data-feedback="up" title="Helpful">${icons.thumbUp}</button>
|
|
632
|
-
<button class="ihooman-feedback-btn" data-feedback="down" title="Not helpful">${icons.thumbDown}</button>
|
|
633
|
-
</div>
|
|
634
|
-
`;
|
|
635
|
-
}
|
|
636
627
|
el.innerHTML = `
|
|
637
628
|
<div class="ihooman-message-content">${parseMarkdown(content)}</div>
|
|
638
629
|
${escalationButtonsHtml}
|
|
639
630
|
${quickRepliesHtml}
|
|
640
|
-
${feedbackHtml}
|
|
641
631
|
${config.showTimestamps ? `<div class="ihooman-message-time">${formatTime(message.timestamp)}</div>` : ''}
|
|
642
632
|
`;
|
|
643
633
|
// Event listeners
|
|
@@ -657,26 +647,22 @@
|
|
|
657
647
|
}
|
|
658
648
|
});
|
|
659
649
|
});
|
|
660
|
-
// Feedback listeners
|
|
661
|
-
el.querySelectorAll('.ihooman-feedback-btn').forEach(btn => {
|
|
662
|
-
btn.addEventListener('click', () => {
|
|
663
|
-
const feedback = btn.dataset.feedback;
|
|
664
|
-
el.querySelectorAll('.ihooman-feedback-btn').forEach(b => b.classList.remove('active'));
|
|
665
|
-
btn.classList.add('active');
|
|
666
|
-
submitFeedback(message.id, feedback === 'up' ? 'positive' : 'negative');
|
|
667
|
-
});
|
|
668
|
-
});
|
|
669
650
|
const typing = elements.messages.querySelector('.ihooman-typing');
|
|
670
651
|
if (typing)
|
|
671
652
|
typing.remove();
|
|
672
653
|
elements.messages.appendChild(el);
|
|
673
654
|
elements.messages.scrollTop = elements.messages.scrollHeight;
|
|
674
|
-
if (sender === 'bot'
|
|
675
|
-
|
|
676
|
-
if (
|
|
677
|
-
elements.badge.textContent = String(state.unreadCount);
|
|
678
|
-
if (config.enableSounds)
|
|
655
|
+
if (sender === 'bot') {
|
|
656
|
+
// Always play sound for bot messages when sounds are enabled
|
|
657
|
+
if (config.enableSounds) {
|
|
679
658
|
playSound();
|
|
659
|
+
}
|
|
660
|
+
// Update unread count only when widget is closed
|
|
661
|
+
if (!state.isOpen) {
|
|
662
|
+
state.unreadCount++;
|
|
663
|
+
if (elements.badge)
|
|
664
|
+
elements.badge.textContent = String(state.unreadCount);
|
|
665
|
+
}
|
|
680
666
|
}
|
|
681
667
|
emit('message', message);
|
|
682
668
|
return message;
|
|
@@ -947,23 +933,6 @@
|
|
|
947
933
|
liveAgentPollInterval = null;
|
|
948
934
|
}
|
|
949
935
|
}
|
|
950
|
-
async function submitFeedback(messageId, feedbackType) {
|
|
951
|
-
try {
|
|
952
|
-
await fetch(`${config.serverUrl}/api/widget/feedback`, {
|
|
953
|
-
method: 'POST',
|
|
954
|
-
headers: { 'Content-Type': 'application/json' },
|
|
955
|
-
body: JSON.stringify({
|
|
956
|
-
widget_id: config.widgetId,
|
|
957
|
-
message_id: messageId,
|
|
958
|
-
session_id: state.sessionId,
|
|
959
|
-
feedback_type: feedbackType,
|
|
960
|
-
}),
|
|
961
|
-
});
|
|
962
|
-
}
|
|
963
|
-
catch (error) {
|
|
964
|
-
console.error('Error submitting feedback:', error);
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
936
|
async function handleSurveySubmit() {
|
|
968
937
|
const starsContainer = elements.surveyView?.querySelector('.ihooman-survey-stars');
|
|
969
938
|
const activeStars = starsContainer?.querySelectorAll('.ihooman-survey-star.active');
|
|
@@ -974,15 +943,15 @@
|
|
|
974
943
|
return;
|
|
975
944
|
}
|
|
976
945
|
try {
|
|
977
|
-
await fetch(`${config.serverUrl}/api/widget/survey-response`, {
|
|
946
|
+
await fetch(`${config.serverUrl}/api/widget/public/survey-response?widget_id=${encodeURIComponent(config.widgetId)}`, {
|
|
978
947
|
method: 'POST',
|
|
979
948
|
headers: { 'Content-Type': 'application/json' },
|
|
980
949
|
body: JSON.stringify({
|
|
981
|
-
|
|
982
|
-
survey_id: config.surveyConfig?.id,
|
|
950
|
+
survey_config_id: config.surveyConfig?.id,
|
|
983
951
|
session_id: state.sessionId,
|
|
952
|
+
visitor_id: state.visitorId,
|
|
984
953
|
rating,
|
|
985
|
-
comment,
|
|
954
|
+
comment: comment || null,
|
|
986
955
|
}),
|
|
987
956
|
});
|
|
988
957
|
// Track survey submission analytics
|
|
@@ -1060,7 +1029,29 @@
|
|
|
1060
1029
|
if (typing)
|
|
1061
1030
|
typing.remove();
|
|
1062
1031
|
}
|
|
1032
|
+
function disableInput() {
|
|
1033
|
+
if (elements.input) {
|
|
1034
|
+
elements.input.disabled = true;
|
|
1035
|
+
elements.input.placeholder = 'Conversation closed — start a new chat to continue';
|
|
1036
|
+
}
|
|
1037
|
+
if (elements.sendBtn)
|
|
1038
|
+
elements.sendBtn.disabled = true;
|
|
1039
|
+
if (elements.attachBtn)
|
|
1040
|
+
elements.attachBtn.disabled = true;
|
|
1041
|
+
}
|
|
1042
|
+
function enableInput() {
|
|
1043
|
+
if (elements.input) {
|
|
1044
|
+
elements.input.disabled = false;
|
|
1045
|
+
elements.input.placeholder = config.placeholder || 'Type a message...';
|
|
1046
|
+
}
|
|
1047
|
+
if (elements.sendBtn)
|
|
1048
|
+
elements.sendBtn.disabled = !elements.input?.value.trim();
|
|
1049
|
+
if (elements.attachBtn)
|
|
1050
|
+
elements.attachBtn.disabled = false;
|
|
1051
|
+
}
|
|
1063
1052
|
function handleSendClick() {
|
|
1053
|
+
if (isConversationClosed)
|
|
1054
|
+
return;
|
|
1064
1055
|
const content = elements.input?.value.trim();
|
|
1065
1056
|
if (!content)
|
|
1066
1057
|
return;
|
|
@@ -1086,6 +1077,8 @@
|
|
|
1086
1077
|
elements.presetQuestions.classList.add('hidden');
|
|
1087
1078
|
}
|
|
1088
1079
|
async function sendMessageToServer(content) {
|
|
1080
|
+
if (isConversationClosed)
|
|
1081
|
+
return;
|
|
1089
1082
|
if (ws && ws.readyState === WebSocket.OPEN) {
|
|
1090
1083
|
ws.send(JSON.stringify({ type: 'message', content }));
|
|
1091
1084
|
return;
|
|
@@ -1339,7 +1332,7 @@
|
|
|
1339
1332
|
emit('connected');
|
|
1340
1333
|
startHeartbeat();
|
|
1341
1334
|
};
|
|
1342
|
-
ws.onclose = (
|
|
1335
|
+
ws.onclose = (event) => {
|
|
1343
1336
|
state.isConnected = false;
|
|
1344
1337
|
state.connectionStatus = 'disconnected';
|
|
1345
1338
|
updateStatus(false);
|
|
@@ -1349,6 +1342,9 @@
|
|
|
1349
1342
|
intentionalDisconnect = false;
|
|
1350
1343
|
return;
|
|
1351
1344
|
}
|
|
1345
|
+
// Code 4002 means this connection was replaced by a newer one — don't reconnect
|
|
1346
|
+
if (event.code === 4002)
|
|
1347
|
+
return;
|
|
1352
1348
|
if (!state.isOpen)
|
|
1353
1349
|
return;
|
|
1354
1350
|
if (reconnectAttempts < maxReconnectAttempts) {
|
|
@@ -1393,10 +1389,12 @@
|
|
|
1393
1389
|
emit('escalation:accepted', { type: 'live_agent' });
|
|
1394
1390
|
}
|
|
1395
1391
|
if (metadata.closed_by_agent) {
|
|
1396
|
-
// Agent has closed the conversation -
|
|
1392
|
+
// Agent has closed the conversation - disable input, require new conversation
|
|
1397
1393
|
isLiveAgentMode = false;
|
|
1394
|
+
isConversationClosed = true;
|
|
1398
1395
|
stopLiveAgentPolling();
|
|
1399
1396
|
updateStatusBar('hidden');
|
|
1397
|
+
disableInput();
|
|
1400
1398
|
emit('escalation:end', { type: 'live_agent' });
|
|
1401
1399
|
}
|
|
1402
1400
|
// Track message received analytics
|
|
@@ -1430,8 +1428,10 @@
|
|
|
1430
1428
|
}
|
|
1431
1429
|
else if (data.status === 'disconnected') {
|
|
1432
1430
|
isLiveAgentMode = false;
|
|
1431
|
+
isConversationClosed = true;
|
|
1433
1432
|
stopLiveAgentPolling();
|
|
1434
1433
|
updateStatusBar('hidden');
|
|
1434
|
+
disableInput();
|
|
1435
1435
|
emit('escalation:end', { type: 'live_agent' });
|
|
1436
1436
|
}
|
|
1437
1437
|
}
|
|
@@ -1546,6 +1546,7 @@
|
|
|
1546
1546
|
state.visitorId = null;
|
|
1547
1547
|
state.messages = [];
|
|
1548
1548
|
isLiveAgentMode = false;
|
|
1549
|
+
isConversationClosed = false;
|
|
1549
1550
|
storage('session_id', null);
|
|
1550
1551
|
state.visitorId = generateId('v_');
|
|
1551
1552
|
storage('visitor_id', state.visitorId);
|
|
@@ -1553,6 +1554,7 @@
|
|
|
1553
1554
|
elements.messages.innerHTML = '';
|
|
1554
1555
|
updateStatusBar('hidden');
|
|
1555
1556
|
stopLiveAgentPolling();
|
|
1557
|
+
enableInput();
|
|
1556
1558
|
reconnectAttempts = 0;
|
|
1557
1559
|
if (ws) {
|
|
1558
1560
|
intentionalDisconnect = true;
|
|
@@ -1599,7 +1601,7 @@
|
|
|
1599
1601
|
intentionalDisconnect = false;
|
|
1600
1602
|
}
|
|
1601
1603
|
function sendMessage(content) {
|
|
1602
|
-
if (!content.trim())
|
|
1604
|
+
if (!content.trim() || isConversationClosed)
|
|
1603
1605
|
return;
|
|
1604
1606
|
if (elements.input)
|
|
1605
1607
|
elements.input.value = content;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/widget.ts","../src/index.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).IhoomanChat={})}(this,function(e){"use strict";const t="https://api.ihooman.ai",o={serverUrl:t,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,presetQuestions:[],proactiveMessages:[],surveyConfig:null,locale:"en",allowLocalhost:!0},n={chat:'<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>',close:'<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>',send:'<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>',attach:'<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>',minimize:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line></svg>',bot:'<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>',agent:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>',ticket:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"></path><polyline points="14 2 14 8 20 8"></polyline></svg>',history:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>',plus:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>',star:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"></path></svg>',starEmpty:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"></path></svg>'};let i={widgetId:"",...o},a={isOpen:!1,isConnected:!1,messages:[],pendingMessages:[],sessionId:null,visitorId:null,unreadCount:0,view:"chat",connectionStatus:"disconnected",typingIndicator:!1,soundMuted:!1,escalationStatus:null,userInfo:null},s="chat",r=!1,d=!1,c=[],l={},p=null,u=[],h={};const m={};let g=null,f=null,b=0;let y=!1,v=null,x=null;function w(e=""){return e+Math.random().toString(36).slice(2,14)+Date.now().toString(36)}function k(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}function $(e,t){const o="ihooman_chat_"+e;try{if(void 0===t){const e=localStorage.getItem(o);return e?JSON.parse(e):null}return null===t?(localStorage.removeItem(o),null):(localStorage.setItem(o,JSON.stringify(t)),t)}catch{return null}}function _(e,t){(m[e]||[]).forEach(o=>{try{o(t)}catch(t){console.error(`Error in ${e} handler:`,t)}});const o=`on${e.charAt(0).toUpperCase()}${e.slice(1)}`,n=i[o];if("function"==typeof n)try{n(t)}catch(e){console.error(`Error in ${o}:`,e)}}async function S(e,t){if(i.widgetId&&i.serverUrl)try{const o=`${i.serverUrl}/widget-analytics/track?widget_id=${encodeURIComponent(i.widgetId)}`;await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event_type:e,session_id:a.sessionId,visitor_id:a.visitorId,metadata:t||{}})})}catch(t){console.debug("[IhoomanChat] Failed to track event:",e,t)}}function C(){const e=window.scrollY||document.documentElement.scrollTop,t=document.documentElement.scrollHeight-window.innerHeight;return t>0?Math.round(e/t*100):0}function I(e){try{return new RegExp(e.replace(/\*/g,".*")).test(window.location.href)}catch{return window.location.href.includes(e)}}let T=null;function q(){const e=document.createElement("div");e.id="ihooman-chat-widget-host",e.style.cssText="all: initial !important; position: fixed !important; z-index: 2147483647 !important; pointer-events: none !important;",document.body.appendChild(e),T=e.attachShadow({mode:"open"});const t=document.createElement("style");t.id="ihooman-widget-styles",t.textContent=function(){const{primaryColor:e,gradientFrom:t,gradientTo:o,fontFamily:n,borderRadius:a,zIndex:s,width:r,height:d,buttonSize:c}=i,l="dark"===i.theme,p=l?"#1a1a2e":"#ffffff",u=l?"#e4e4e7":"#1f2937",h=l?"#71717a":"#6b7280",m=l?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)",g=l?"#16162a":"#f9fafb",f=`linear-gradient(135deg, ${t}, ${o})`,b=l?"#252542":"#f1f5f9",y=i.position?.includes("right")??!0,v=i.position?.includes("bottom")??!0;return`\n *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n :host { all: initial; }\n .ihooman-widget { font-family: ${n}; font-size: 14px; line-height: 1.5; color: ${u}; -webkit-font-smoothing: antialiased; }\n button { \n font-family: inherit;\n font-size: 100%;\n line-height: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n background: transparent;\n border: none;\n cursor: pointer;\n outline: none;\n }\n .ihooman-toggle { position: fixed !important; ${y?"right: 20px":"left: 20px"}; ${v?"bottom: 20px":"top: 20px"}; width: ${c}px !important; height: ${c}px !important; border-radius: 50% !important; background: linear-gradient(135deg, ${t}, ${o}) !important; border: none !important; cursor: pointer; z-index: ${s}; display: flex !important; 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 .chat-icon { display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease, opacity 0.2s ease; }\n .ihooman-toggle .close-icon { position: absolute; display: flex; align-items: center; justify-content: center; transform: rotate(-90deg) scale(0); opacity: 0; transition: transform 0.3s ease, opacity 0.2s ease; }\n .ihooman-toggle.open .chat-icon { transform: rotate(90deg) scale(0); opacity: 0; }\n .ihooman-toggle.open .close-icon { transform: rotate(0) scale(1); opacity: 1; }\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; ${y?"right: 20px":"left: 20px"}; ${v?"bottom: 90px":"top: 90px"}; width: ${r}px; height: ${d}px; min-height: ${d}px; max-height: ${d}px; z-index: ${(s??9999)-1}; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(20px) scale(0.95); transition: opacity 0.3s, visibility 0.3s, transform 0.3s; overscroll-behavior: contain; }\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: ${a}px; overflow: hidden; flex-shrink: 0; }\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: ${a}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, ${t}, ${o}); 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: 28px; height: 28px; border-radius: 6px; 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: 14px; height: 14px; }\n .ihooman-messages { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 16px; display: flex; flex-direction: column; gap: 12px; background: ${p}; overscroll-behavior: contain; min-height: 0; }\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: ${u}; 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: ${h}; 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: ${h}; 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: ${g}; 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: ${u}; resize: none; max-height: 100px; outline: none; line-height: 1.4; }\n .ihooman-input::placeholder { color: ${h}; }\n .ihooman-input-btn { width: 32px; height: 32px; border-radius: 8px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; background: transparent; color: ${h}; }\n .ihooman-input-btn:hover { background: ${m}; color: ${u}; }\n .ihooman-input-btn.send { background: linear-gradient(135deg, ${t}, ${o}); color: white; }\n .ihooman-input-btn.send:hover { opacity: 0.9; }\n .ihooman-input-btn.send:disabled { opacity: 0.5; cursor: not-allowed; }\n .ihooman-input-btn svg { width: 16px; height: 16px; }\n .ihooman-input:disabled { opacity: 0.6; cursor: not-allowed; }\n .ihooman-input-btn.attach:disabled { opacity: 0.4; cursor: not-allowed; }\n .ihooman-file-input { display: none; }\n .ihooman-powered { text-align: center; padding: 8px; font-size: 11px; color: ${h}; background: ${p}; }\n .ihooman-powered a { color: ${e}; text-decoration: none; }\n .ihooman-escalation-actions { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }\n .ihooman-escalation-btn svg { width: 14px; height: 14px; flex-shrink: 0; }\n .ihooman-status-bar { padding: 10px 16px; text-align: center; font-size: 13px; display: none; }\n .ihooman-status-bar.show { display: block; }\n .ihooman-status-bar.waiting { background: #fef3c7; color: #92400e; }\n .ihooman-status-bar.connected { background: #dcfce7; color: #166534; }\n .ihooman-chat-view { display: flex; flex-direction: column; flex: 1; overflow: hidden; min-height: 0; }\n .ihooman-chat-view.hidden { display: none; }\n .ihooman-ticket-view { display: none; flex-direction: column; padding: 20px; gap: 16px; background: ${p}; flex: 1; overflow-y: auto; min-height: 0; }\n .ihooman-ticket-view.show { display: flex; }\n .ihooman-ticket-title { font-size: 18px; font-weight: 600; color: ${u}; margin: 0; }\n .ihooman-ticket-subtitle { font-size: 13px; color: ${h}; margin: 0; }\n .ihooman-ticket-input { padding: 12px 14px; border: 1px solid ${m}; border-radius: 10px; font-size: 14px; font-family: inherit; background: ${g}; color: ${u}; outline: none; transition: border-color 0.2s; }\n .ihooman-ticket-input:focus { border-color: ${e}; }\n .ihooman-ticket-input::placeholder { color: ${h}; }\n .ihooman-ticket-textarea { min-height: 100px; resize: vertical; }\n .ihooman-ticket-submit { display: flex; align-items: center; justify-content: center; padding: 12px; background: linear-gradient(135deg, ${t}, ${o}); color: white; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s; line-height: 1.4; }\n .ihooman-ticket-submit:hover { opacity: 0.9; }\n .ihooman-ticket-submit:disabled { opacity: 0.5; cursor: not-allowed; }\n .ihooman-ticket-back { display: flex; align-items: center; justify-content: center; padding: 10px; background: transparent; color: ${h}; border: 1px solid ${m}; border-radius: 8px; font-size: 13px; cursor: pointer; transition: all 0.2s; line-height: 1.4; }\n .ihooman-ticket-back:hover { background: ${l?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)"}; }\n .ihooman-history-view { display: none; flex-direction: column; flex: 1; overflow: hidden; background: ${p}; }\n .ihooman-history-view.show { display: flex; }\n .ihooman-history-header { padding: 12px 16px; border-bottom: 1px solid ${m}; display: flex; justify-content: space-between; align-items: center; }\n .ihooman-history-title { font-size: 14px; font-weight: 600; color: ${u}; margin: 0; }\n .ihooman-history-new { display: inline-flex; align-items: center; justify-content: center; gap: 4px; background: linear-gradient(135deg, ${t}, ${o}); color: white; border: none; padding: 6px 12px; border-radius: 6px; font-size: 12px; font-weight: 500; cursor: pointer; transition: all 0.2s; line-height: 1.4; }\n .ihooman-history-new:hover { opacity: 0.9; }\n .ihooman-history-new svg { width: 12px; height: 12px; flex-shrink: 0; }\n .ihooman-history-list { flex: 1; overflow-y: auto; padding: 8px; overscroll-behavior: contain; }\n .ihooman-history-item { padding: 12px; border: 1px solid ${m}; border-radius: 8px; margin-bottom: 6px; cursor: pointer; transition: all 0.2s; background: ${p}; }\n .ihooman-history-item:hover { background: ${l?"rgba(255,255,255,0.05)":"#f8fafc"}; }\n .ihooman-history-item.active { background: ${l?"rgba(0, 174, 255, 0.1)":"#eff6ff"}; border-color: ${e}; }\n .ihooman-history-preview { font-size: 13px; color: ${u}; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .ihooman-history-meta { font-size: 11px; color: ${h}; margin-top: 4px; display: flex; justify-content: space-between; }\n .ihooman-history-empty { padding: 40px; text-align: center; color: ${h}; font-size: 14px; }\n .ihooman-preset-questions { padding: 10px 16px; display: flex; flex-wrap: wrap; gap: 6px; background: ${p}; border-top: 1px solid ${m}; }\n .ihooman-preset-questions:empty { display: none; }\n .ihooman-preset-questions.hidden { display: none; }\n .ihooman-proactive-toast { position: fixed; ${y?"right: 20px":"left: 20px"}; ${v?"bottom: 90px":"top: 90px"}; max-width: 300px; padding: 16px; background: ${p}; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.15); z-index: ${(s??9999)-2}; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all 0.3s ease; border: 1px solid ${m}; }\n .ihooman-proactive-toast.show { opacity: 1; visibility: visible; transform: translateY(0); }\n .ihooman-proactive-toast-content { font-size: 14px; color: ${u}; margin-bottom: 12px; }\n .ihooman-proactive-toast-actions { display: flex; gap: 8px; }\n .ihooman-proactive-toast-btn { display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; border-radius: 6px; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.2s; line-height: 1.4; }\n .ihooman-proactive-toast-btn.primary { background: linear-gradient(135deg, ${t}, ${o}); color: white; border: none; }\n .ihooman-proactive-toast-btn.primary:hover { opacity: 0.9; }\n .ihooman-proactive-toast-btn.secondary { background: transparent; color: ${h}; border: 1px solid ${m}; }\n .ihooman-proactive-toast-btn.secondary:hover { background: ${l?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)"}; }\n .ihooman-survey-view { display: none; flex-direction: column; padding: 20px; gap: 16px; background: ${p}; flex: 1; align-items: center; justify-content: center; }\n .ihooman-survey-view.show { display: flex; }\n .ihooman-survey-question { font-size: 16px; font-weight: 600; color: ${u}; text-align: center; }\n .ihooman-survey-stars { display: flex; gap: 8px; }\n .ihooman-survey-star { width: 40px; height: 40px; cursor: pointer; color: ${h}; transition: all 0.2s; }\n .ihooman-survey-star:hover, .ihooman-survey-star.active { color: #fbbf24; transform: scale(1.1); }\n .ihooman-survey-star svg { width: 100%; height: 100%; }\n .ihooman-survey-comment { width: 100%; padding: 12px; border: 1px solid ${m}; border-radius: 8px; font-size: 14px; resize: none; min-height: 80px; background: ${g}; color: ${u}; }\n .ihooman-survey-submit { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; background: linear-gradient(135deg, ${t}, ${o}); color: white; border: none; border-radius: 6px; font-size: 13px; font-weight: 500; cursor: pointer; line-height: 1.4; }\n .ihooman-survey-submit:hover { opacity: 0.9; }\n .ihooman-survey-skip { display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; background: transparent; color: ${h}; border: none; font-size: 12px; cursor: pointer; line-height: 1.4; }\n .ihooman-survey-skip:hover { color: ${u}; }\n .ihooman-feedback-btns { display: flex; gap: 6px; margin-top: 6px; }\n .ihooman-feedback-btn svg { width: 12px; height: 12px; }\n .ihooman-carousel { display: flex; gap: 12px; overflow-x: auto; padding: 8px 0; scroll-snap-type: x mandatory; }\n .ihooman-carousel::-webkit-scrollbar { height: 4px; }\n .ihooman-carousel-card { min-width: 200px; max-width: 250px; border: 1px solid ${m}; border-radius: 12px; overflow: hidden; scroll-snap-align: start; background: ${p}; }\n .ihooman-carousel-card img { width: 100%; height: 120px; object-fit: cover; }\n .ihooman-carousel-card-content { padding: 12px; }\n .ihooman-carousel-card-title { font-size: 14px; font-weight: 600; color: ${u}; margin-bottom: 4px; }\n .ihooman-carousel-card-desc { font-size: 12px; color: ${h}; margin-bottom: 8px; }\n .ihooman-carousel-card-btns { display: flex; flex-direction: column; gap: 6px; }\n .ihooman-quick-replies { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }\n @media (max-width: 480px) { .ihooman-window { width: calc(100vw - 20px); height: calc(100vh - 100px); min-height: 400px; max-height: calc(100vh - 100px); left: 10px; right: 10px; bottom: 80px; } .ihooman-toggle { ${y?"right: 16px":"left: 16px"}; bottom: 16px; } .ihooman-proactive-toast { left: 10px; right: 10px; max-width: none; } }\n `}(),T.appendChild(t);const o=document.createElement("div");o.className="ihooman-widget",o.style.cssText="pointer-events: auto;",o.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.chat}</span>\n <span class="close-icon">${n.close}</span>\n </button>\n <div class="ihooman-proactive-toast">\n <div class="ihooman-proactive-toast-content"></div>\n <div class="ihooman-proactive-toast-actions">\n <button class="ihooman-proactive-toast-btn primary">Chat Now</button>\n <button class="ihooman-proactive-toast-btn secondary">Dismiss</button>\n </div>\n </div>\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">${i.avatarUrl?`<img src="${k(i.avatarUrl)}" alt="Support">`:n.bot}</div>\n <div class="ihooman-header-info">\n <div class="ihooman-header-title">${k(i.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="history" title="Chat history">${n.history}</button>\n <button class="ihooman-header-btn" data-action="refresh" title="New conversation">${n.plus}</button>\n <button class="ihooman-header-btn" data-action="minimize" title="Minimize">${n.minimize}</button>\n </div>\n </div>\n <div class="ihooman-chat-view">\n <div class="ihooman-status-bar"></div>\n <div class="ihooman-messages" role="log" aria-live="polite"></div>\n <div class="ihooman-preset-questions"></div>\n <div class="ihooman-input-area">\n <div class="ihooman-input-wrapper">\n ${i.enableFileUpload?`<button class="ihooman-input-btn attach" title="Attach file">${n.attach}</button><input type="file" class="ihooman-file-input">`:""}\n <textarea class="ihooman-input" placeholder="${k(i.placeholder||"Type a message...")}" rows="1" aria-label="Message input"></textarea>\n <button class="ihooman-input-btn send" title="Send message" disabled>${n.send}</button>\n </div>\n </div>\n </div>\n <div class="ihooman-ticket-view">\n <h4 class="ihooman-ticket-title">📝 Submit a Ticket</h4>\n <p class="ihooman-ticket-subtitle">We'll get back to you via email</p>\n <input class="ihooman-ticket-input" id="ihooman-ticket-name" placeholder="Your name" required>\n <input class="ihooman-ticket-input" id="ihooman-ticket-email" type="email" placeholder="Your email" required>\n <textarea class="ihooman-ticket-input ihooman-ticket-textarea" id="ihooman-ticket-issue" placeholder="Describe your issue..."></textarea>\n <button class="ihooman-ticket-submit" id="ihooman-ticket-submit">Submit Ticket</button>\n <button class="ihooman-ticket-back" id="ihooman-ticket-back">← Back to Chat</button>\n </div>\n <div class="ihooman-history-view">\n <div class="ihooman-history-header">\n <span class="ihooman-history-title">Your Conversations</span>\n <button class="ihooman-history-new">${n.plus} New Chat</button>\n </div>\n <div class="ihooman-history-list"></div>\n </div>\n <div class="ihooman-survey-view">\n <div class="ihooman-survey-question">${i.surveyConfig?.question||"How was your experience?"}</div>\n <div class="ihooman-survey-stars"></div>\n <textarea class="ihooman-survey-comment" placeholder="Any additional feedback? (optional)"></textarea>\n <button class="ihooman-survey-submit">Submit Feedback</button>\n <button class="ihooman-survey-skip">Skip</button>\n </div>\n ${i.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 `,T.appendChild(o),h={widget:o,toggle:o.querySelector(".ihooman-toggle"),badge:o.querySelector(".ihooman-badge"),window:o.querySelector(".ihooman-window"),chatView:o.querySelector(".ihooman-chat-view"),ticketView:o.querySelector(".ihooman-ticket-view"),historyView:o.querySelector(".ihooman-history-view"),surveyView:o.querySelector(".ihooman-survey-view"),historyList:o.querySelector(".ihooman-history-list"),messages:o.querySelector(".ihooman-messages"),presetQuestions:o.querySelector(".ihooman-preset-questions"),input:o.querySelector(".ihooman-input"),sendBtn:o.querySelector(".ihooman-input-btn.send"),attachBtn:o.querySelector(".ihooman-input-btn.attach"),fileInput:o.querySelector(".ihooman-file-input"),statusDot:o.querySelector(".ihooman-status-dot"),statusText:o.querySelector(".ihooman-status-text"),statusBar:o.querySelector(".ihooman-status-bar"),ticketName:o.querySelector("#ihooman-ticket-name"),ticketEmail:o.querySelector("#ihooman-ticket-email"),ticketIssue:o.querySelector("#ihooman-ticket-issue"),ticketSubmitBtn:o.querySelector("#ihooman-ticket-submit"),ticketBackBtn:o.querySelector("#ihooman-ticket-back"),proactiveToast:o.querySelector(".ihooman-proactive-toast")},function(){if(!h.toggle||!h.sendBtn||!h.input)return;h.toggle.addEventListener("click",ie),h.sendBtn.addEventListener("click",P),h.input.addEventListener("input",()=>{h.sendBtn&&(h.sendBtn.disabled=!h.input?.value.trim()),h.input&&(h.input.style.height="auto",h.input.style.height=Math.min(h.input.scrollHeight,100)+"px")}),h.input.addEventListener("keydown",e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),h.sendBtn?.disabled||P())}),h.attachBtn&&h.fileInput&&(h.attachBtn.addEventListener("click",()=>h.fileInput?.click()),h.fileInput.addEventListener("change",Q));h.widget?.querySelector('[data-action="refresh"]')?.addEventListener("click",ae),h.widget?.querySelector('[data-action="minimize"]')?.addEventListener("click",ne),h.widget?.querySelector('[data-action="history"]')?.addEventListener("click",O),h.ticketSubmitBtn&&h.ticketSubmitBtn.addEventListener("click",j);h.ticketBackBtn&&h.ticketBackBtn.addEventListener("click",()=>B("chat"));const e=h.widget?.querySelector(".ihooman-history-new");e&&e.addEventListener("click",()=>{ae(),B("chat")});const t=h.proactiveToast?.querySelector(".ihooman-proactive-toast-btn.primary"),o=h.proactiveToast?.querySelector(".ihooman-proactive-toast-btn.secondary");t&&t.addEventListener("click",()=>{const e=c[c.length-1];e&&S("proactive_clicked",{message_id:e}),K(),oe(),_("proactive:clicked")});o&&o.addEventListener("click",()=>{K()});const i=h.surveyView?.querySelector(".ihooman-survey-submit"),a=h.surveyView?.querySelector(".ihooman-survey-skip");i&&i.addEventListener("click",A);a&&a.addEventListener("click",()=>B("chat"));!function(){const e=h.surveyView?.querySelector(".ihooman-survey-stars");if(!e)return;let t=0;e.innerHTML="";for(let o=1;o<=5;o++){const i=document.createElement("div");i.className="ihooman-survey-star",i.innerHTML=n.starEmpty,i.dataset.rating=String(o),i.addEventListener("click",()=>{t=o,z(e,o)}),i.addEventListener("mouseenter",()=>z(e,o)),i.addEventListener("mouseleave",()=>z(e,t)),e.appendChild(i)}}()}()}function z(e,t){e.querySelectorAll(".ihooman-survey-star").forEach((e,o)=>{const i=e;o<t?(i.innerHTML=n.star,i.classList.add("active")):(i.innerHTML=n.starEmpty,i.classList.remove("active"))})}function L(e,t="bot",o={}){const s={id:w("msg_"),content:e,sender:t,timestamp:new Date,metadata:o};if(a.messages.push(s),!h.messages)return s;const r=document.createElement("div");r.className=`ihooman-message ${t}`;const d="bot"===t&&!0===o?.escalation_offered;let c="";d&&(c=`\n <div class="ihooman-escalation-actions">\n <button class="ihooman-escalation-btn primary" data-action="live-agent">${n.agent}<span>Talk to Agent</span></button>\n <button class="ihooman-escalation-btn secondary" data-action="create-ticket">${n.ticket}<span>Create Ticket</span></button>\n </div>\n `);let l="";var p,u;o?.quick_replies&&o.quick_replies.length>0&&(l=`<div class="ihooman-quick-replies">${o.quick_replies.map(e=>`<button class="ihooman-quick-reply" data-text="${k(e.text)}">${k(e.text)}</button>`).join("")}</div>`),r.innerHTML=`\n <div class="ihooman-message-content">${u=e,u?k(u).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/\[(.*?)\]\((.*?)\)/g,'<a href="$2" target="_blank" rel="noopener">$1</a>').replace(/\n/g,"<br>"):""}</div>\n ${c}\n ${l}\n ${i.showTimestamps?`<div class="ihooman-message-time">${p=s.timestamp,new Date(p).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}</div>`:""}\n `,d&&(r.querySelector('[data-action="live-agent"]')?.addEventListener("click",()=>E("live-agent")),r.querySelector('[data-action="create-ticket"]')?.addEventListener("click",()=>E("create-ticket"))),r.querySelectorAll(".ihooman-quick-reply").forEach(e=>{e.addEventListener("click",()=>{const t=e.dataset.text;t&&(D(),L(t,"user"),V(),F(t))})});const m=h.messages.querySelector(".ihooman-typing");return m&&m.remove(),h.messages.appendChild(r),h.messages.scrollTop=h.messages.scrollHeight,"bot"===t&&(i.enableSounds&&function(){if(a.soundMuted)return;try{const e=window.AudioContext||window.webkitAudioContext;if(!e)return;const t=new e,o=t.createOscillator(),n=t.createGain();o.connect(n),n.connect(t.destination),o.frequency.setValueAtTime(880,t.currentTime),o.frequency.setValueAtTime(1108.73,t.currentTime+.1),n.gain.setValueAtTime(0,t.currentTime),n.gain.linearRampToValueAtTime(.3,t.currentTime+.01),n.gain.linearRampToValueAtTime(.2,t.currentTime+.1),n.gain.linearRampToValueAtTime(0,t.currentTime+.3),o.start(t.currentTime),o.stop(t.currentTime+.3),o.onended=()=>{t.close().catch(()=>{})}}catch(e){console.debug("[IhoomanChat] Sound playback failed:",e)}}(),a.isOpen||(a.unreadCount++,h.badge&&(h.badge.textContent=String(a.unreadCount)))),_("message",s),s}function M(){console.debug("[IhoomanChat] Rendering preset questions:",u.length),h.presetQuestions&&0!==u.length?(h.presetQuestions.innerHTML=u.map(e=>`\n <button class="ihooman-preset-btn" data-question-id="${k(e.id)}" data-question-text="${k(e.text)}">\n ${e.icon||e.emoji?`<span class="icon">${k(e.icon||e.emoji||"")}</span>`:""}\n <span>${k(e.text)}</span>\n </button>\n `).join(""),h.presetQuestions.querySelectorAll(".ihooman-preset-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.dataset.questionText;t&&function(e){D(),L(e,"user"),V(),F(e)}(t)})})):h.presetQuestions&&(h.presetQuestions.innerHTML="")}function E(e){document.querySelectorAll(".ihooman-escalation-btn").forEach(e=>e.disabled=!0),"live-agent"===e?async function(){if(!a.sessionId)return void L("Please send a message first to start a conversation.","bot",{is_system_message:!0});try{const e=await fetch(`${i.serverUrl}/api/widget/live-agent`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({widget_id:i.widgetId,session_id:a.sessionId,visitor_id:a.visitorId})}),t=await e.json();r=!0,a.escalationStatus={active:!0,type:"live_agent",queuePosition:t.position_in_queue},t.position_in_queue&&t.position_in_queue>1?U("waiting",`⏳ Waiting for agent (Position: #${t.position_in_queue})`):U("waiting","⏳ Connecting to live support..."),H(),_("escalation:start",{type:"live_agent"})}catch(e){console.error("Error requesting live agent:",e),L("❌ Unable to connect to live support. Please try again.","bot",{is_system_message:!0})}}():"create-ticket"===e&&B("ticket")}function B(e){s=e,a.view=e,h.chatView&&h.chatView.classList.toggle("hidden","chat"!==e),h.ticketView&&h.ticketView.classList.toggle("show","ticket"===e),h.historyView&&h.historyView.classList.toggle("show","history"===e),h.surveyView&&h.surveyView.classList.toggle("show","survey"===e),"history"===e&&async function(){if(!h.historyList||!a.visitorId)return;h.historyList.innerHTML='<div class="ihooman-history-empty">Loading...</div>';try{const e=await fetch(`${i.serverUrl}/api/widget/conversations?widget_id=${i.widgetId}&visitor_id=${a.visitorId}&limit=20`);if(!e.ok)throw new Error("Failed to load history");const t=await e.json();if(!t.length)return void(h.historyList.innerHTML='<div class="ihooman-history-empty">No conversations yet</div>');h.historyList.innerHTML=t.map(e=>`\n <div class="ihooman-history-item ${e.session_id===a.sessionId?"active":""}" data-session-id="${e.session_id}">\n <div class="ihooman-history-preview">${k(e.preview||"New conversation")}</div>\n <div class="ihooman-history-meta">\n <span>${e.message_count} msgs</span>\n <span>${"pending"===e.status?"🟡 Pending":"closed"===e.status?"✓ Closed":""} ${function(e){const t=Date.now()-new Date(e).getTime();return t<6e4?"now":t<36e5?Math.floor(t/6e4)+"m":t<864e5?Math.floor(t/36e5)+"h":Math.floor(t/864e5)+"d"}(e.updated_at)}</span>\n </div>\n </div>\n `).join(""),h.historyList.querySelectorAll(".ihooman-history-item").forEach(e=>{e.addEventListener("click",()=>{const t=e.dataset.sessionId;t&&async function(e){a.sessionId=e,i.persistSession&&$("session_id",e);h.messages&&(h.messages.innerHTML="");r=!1,W(),U("hidden"),y=!0,g&&(g.close(),g=null);X(),B("chat"),await async function(e){try{const t=await fetch(`${i.serverUrl}/api/widget/transcript/${e}?widget_id=${i.widgetId}`);if(!t.ok)throw new Error("Failed to load messages");const o=await t.json();h.messages&&(h.messages.innerHTML=""),o.messages&&o.messages.length>0?o.messages.forEach(e=>{const t="user"===e.sender_type?"user":"bot";L(e.content,t,e.extra_data||{})}):i.welcomeMessage&&L(i.welcomeMessage,"bot"),"pending"===o.status&&(r=!0,H(),U("waiting","⏳ Waiting for agent..."))}catch(e){console.error("Error loading conversation messages:",e),i.welcomeMessage&&L(i.welcomeMessage,"bot")}}(e)}(t)})})}catch(e){console.error("Error loading conversation history:",e),h.historyList.innerHTML='<div class="ihooman-history-empty">Failed to load history</div>'}}()}function O(){B("history"===s?"chat":"history")}function U(e,t){h.statusBar&&("hidden"!==e?(h.statusBar.classList.add("show"),h.statusBar.classList.remove("waiting","connected"),h.statusBar.classList.add(e),t&&(h.statusBar.textContent=t)):h.statusBar.classList.remove("show"))}async function j(){const e=h.ticketName?.value.trim(),t=h.ticketEmail?.value.trim(),o=h.ticketIssue?.value.trim();if(e&&t){h.ticketSubmitBtn&&(h.ticketSubmitBtn.disabled=!0,h.ticketSubmitBtn.textContent="Submitting...");try{const n=await fetch(`${i.serverUrl}/api/widget/submit-ticket`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({widget_id:i.widgetId,session_id:a.sessionId,user_name:e,user_email:t,issue:o||"No description provided"})}),s=await n.json();h.ticketName&&(h.ticketName.value=""),h.ticketEmail&&(h.ticketEmail.value=""),h.ticketIssue&&(h.ticketIssue.value=""),B("chat");L(`✅ Ticket submitted! We'll contact you at ${t}. Reference: #${s.ticket_id?s.ticket_id.slice(0,8):"submitted"}`,"bot",{is_system_message:!0})}catch(e){console.error("Error submitting ticket:",e),L("❌ Error submitting ticket. Please try again.","bot",{is_system_message:!0})}h.ticketSubmitBtn&&(h.ticketSubmitBtn.disabled=!1,h.ticketSubmitBtn.textContent="Submit Ticket")}else alert("Please fill in your name and email")}function H(){x||(x=setInterval(async()=>{if(a.sessionId&&r)try{const e=await fetch(`${i.serverUrl}/api/widget/escalation-status/${a.sessionId}?widget_id=${i.widgetId}`);if(e.ok){const t=await e.json();t.escalated&&("in_progress"===t.ticket_status||"active"===t.conversation_status?U("connected","🟢 Connected to live agent"):"open"===t.ticket_status?U("waiting",t.position_in_queue>1?`⏳ Waiting for agent (Position: #${t.position_in_queue})`:"⏳ Waiting for agent..."):"closed"!==t.ticket_status&&"resolved"!==t.ticket_status||(r=!1,W(),U("hidden"),L("This conversation has been closed. Thank you for contacting us!","bot",{is_system_message:!0}),_("escalation:end",{type:"live_agent"})))}}catch{}else W()},3e3))}function W(){x&&(clearInterval(x),x=null)}async function A(){const e=h.surveyView?.querySelector(".ihooman-survey-stars"),t=e?.querySelectorAll(".ihooman-survey-star.active"),o=t?.length||0,n=h.surveyView?.querySelector(".ihooman-survey-comment")?.value;if(0!==o)try{await fetch(`${i.serverUrl}/api/widget/public/survey-response?widget_id=${encodeURIComponent(i.widgetId)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({survey_config_id:i.surveyConfig?.id,session_id:a.sessionId,visitor_id:a.visitorId,rating:o,comment:n||null})}),S("survey_submitted",{survey_id:i.surveyConfig?.id,rating:o,comment:n||null,session_id:a.sessionId,visitor_id:a.visitorId}),$("survey_completed_"+a.sessionId,!0),_("survey:submitted",{rating:o,comment:n}),L(i.surveyConfig?.thankYouMessage||"Thank you for your feedback!","bot",{is_system_message:!0}),B("chat")}catch(e){console.error("Error submitting survey:",e)}else alert("Please select a rating")}function V(){if(!i.showTypingIndicator||!h.messages)return;if(h.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>',h.messages.appendChild(e),h.messages.scrollTop=h.messages.scrollHeight}function R(){const e=h.messages?.querySelector(".ihooman-typing");e&&e.remove()}function N(){h.input&&(h.input.disabled=!0,h.input.placeholder="Conversation closed — start a new chat to continue"),h.sendBtn&&(h.sendBtn.disabled=!0),h.attachBtn&&(h.attachBtn.disabled=!0)}function P(){if(d)return;const e=h.input?.value.trim();e&&(D(),h.input&&(h.input.value="",h.input.style.height="auto"),h.sendBtn&&(h.sendBtn.disabled=!0),L(e,"user"),S("message_sent",{session_id:a.sessionId,visitor_id:a.visitorId,message_length:e.length}),V(),F(e))}function D(){h.presetQuestions&&h.presetQuestions.classList.add("hidden")}async function F(e){if(!d)if(g&&g.readyState===WebSocket.OPEN)g.send(JSON.stringify({type:"message",content:e}));else try{const t=await fetch(`${i.serverUrl}/api/v1/public/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e,session_id:a.sessionId,visitor_id:a.visitorId,widget_id:i.widgetId})}),o=await t.json();R(),o.session_id&&(a.sessionId=o.session_id,i.persistSession&&$("session_id",a.sessionId)),o.response&&(L(o.response,"bot",{sources:o.sources,confidence:o.confidence,escalation_offered:o.escalation_offered,quick_replies:o.quick_replies}),S("message_received",{session_id:a.sessionId,visitor_id:a.visitorId,message_length:o.response.length,has_sources:!!o.sources,confidence:o.confidence}))}catch(e){R(),L("Sorry, something went wrong. Please try again.","bot"),_("error",e)}}function Q(e){const t=e.target,o=t.files?.[0];if(!o)return;L(`📎 Uploading: ${o.name}...`,"user"),V();const n=new FormData;n.append("file",o),n.append("session_id",a.sessionId||""),n.append("visitor_id",a.visitorId||""),n.append("widget_id",i.widgetId),fetch(`${i.serverUrl}/api/upload`,{method:"POST",body:n}).then(e=>e.json()).then(e=>{R(),e.message&&L(e.message,"bot")}).catch(()=>{R(),L("Failed to upload file.","bot")}),t.value=""}function Y(){i.proactiveMessages&&0!==i.proactiveMessages.length?(console.debug("[IhoomanChat] Initializing proactive messages:",i.proactiveMessages.length),c=$("shown_proactive")||[],l=$("proactive_cooldowns")||{},p=setInterval(J,5e3),window.addEventListener("scroll",J),document.addEventListener("mouseout",e=>{e.clientY<=0&&function(){if(a.isOpen||!i.proactiveMessages)return;const e=i.proactiveMessages.filter(e=>"exit_intent"===e.trigger.type&&!c.includes(e.id));e.length>0&&G(e[0])}()})):console.debug("[IhoomanChat] No proactive messages configured")}function J(){if(a.isOpen||!i.proactiveMessages)return;const e=Date.now();for(const t of i.proactiveMessages){if(c.includes(t.id))continue;const o=l[t.id];if(o&&e-o<60*t.cooldownMinutes*1e3)continue;if(t.startDate&&new Date(t.startDate)>new Date)continue;if(t.endDate&&new Date(t.endDate)<new Date)continue;let n=!1;switch(t.trigger.type){case"time":const o="number"==typeof t.trigger.value?t.trigger.value:parseInt(String(t.trigger.value),10);e-($("page_load_time")||e)>=1e3*o&&(n=!0);break;case"scroll":const i="number"==typeof t.trigger.value?t.trigger.value:parseInt(String(t.trigger.value),10);C()>=i&&(n=!0);break;case"url_pattern":I(String(t.trigger.value))&&(n=!0)}if(n){G(t);break}}}function G(e){if(c.push(e.id),l[e.id]=Date.now(),$("shown_proactive",c),$("proactive_cooldowns",l),S("proactive_displayed",{message_id:e.id}),h.proactiveToast){const t=h.proactiveToast.querySelector(".ihooman-proactive-toast-content");t&&(t.textContent=e.message),h.proactiveToast.classList.add("show"),_("proactive:shown",e),e.autoOpen&&setTimeout(()=>{K(),oe()},3e3)}}function K(){h.proactiveToast&&h.proactiveToast.classList.remove("show")}function X(e){if(!i.serverUrl&&!e)return;let t;if(i.widgetId){const e=i.serverUrl?.replace(/^http/,"ws"),o=new URLSearchParams({widget_id:i.widgetId});a.visitorId&&o.append("visitor_id",a.visitorId),a.sessionId&&o.append("session_id",a.sessionId),t=`${e}/public/ws?${o.toString()}`}else t=e||i.serverUrl?.replace(/^http/,"ws")+"/ws";try{Z(),g=new WebSocket(t),g.onopen=()=>{a.isConnected=!0,a.connectionStatus="connected",b=0,te(!0),_("connected"),Z(),v=setInterval(()=>{if(g&&g.readyState===WebSocket.OPEN)try{g.send(JSON.stringify({type:"ping"}))}catch{}},25e3)},g.onclose=t=>{if(a.isConnected=!1,a.connectionStatus="disconnected",te(!1),Z(),_("disconnected"),y)y=!1;else if(4002!==t.code&&a.isOpen)if(b<5){b++;const t=Math.min(1e3*Math.pow(2,b),3e4);setTimeout(()=>X(e),t)}else ee()},g.onerror=e=>{console.error("WebSocket error:",e)},g.onmessage=e=>{try{const t=JSON.parse(e.data);if("connected"===t.type)t.session_id&&(a.sessionId=t.session_id,i.persistSession&&$("session_id",a.sessionId)),t.visitor_id&&(a.visitorId=t.visitor_id,i.persistSession&&$("visitor_id",a.visitorId)),t.welcome_message&&0===a.messages.length&&L(t.welcome_message,"bot");else if("message"===t.type){R();const e="user"===t.sender?"user":"bot",o=t.metadata||{};o.agent_accepted&&(r=!0,U("connected","🟢 Connected to live agent"),_("escalation:accepted",{type:"live_agent"})),o.closed_by_agent&&(r=!1,d=!0,W(),U("hidden"),N(),_("escalation:end",{type:"live_agent"})),S("message_received",{session_id:a.sessionId,visitor_id:a.visitorId,sender:t.sender,is_system_message:o.is_system_message||!1}),L(t.content,e,{confidence:t.confidence,agent_name:t.agent_name,escalation_offered:t.escalation_offered,escalated:t.escalated,quick_replies:t.quick_replies,...o})}else"typing"===t.type?t.is_typing?V():R():"pong"===t.type||("agent_status"===t.type?"connected"===t.status?(r=!0,U("connected","🟢 Connected to live agent"),_("escalation:accepted",{type:"live_agent"})):"disconnected"===t.status&&(r=!1,d=!0,W(),U("hidden"),N(),_("escalation:end",{type:"live_agent"})):"error"===t.type&&(console.error("WebSocket server error:",t.message),_("error",{message:t.message})))}catch{}}}catch{ee()}}function Z(){v&&(clearInterval(v),v=null)}function ee(){f||(f=setInterval(async()=>{if(a.sessionId)try{const e=await fetch(`${i.serverUrl}/api/messages?session_id=${a.sessionId}&since=${Date.now()-5e3}&widget_id=${i.widgetId}`),t=await e.json();t.messages&&t.messages.forEach(e=>{a.messages.find(t=>t.id===e.id)||L(e.content,e.sender_type,e.metadata)})}catch{}},5e3))}function te(e){h.statusDot&&h.statusDot.classList.toggle("offline",!e),h.statusText&&(h.statusText.textContent=e?"Online":"Offline")}function oe(){a.isOpen||(a.isOpen=!0,a.unreadCount=0,h.badge&&(h.badge.textContent=""),h.toggle&&h.toggle.classList.add("open"),h.window&&h.window.classList.add("open"),K(),setTimeout(()=>h.input?.focus(),300),S("widget_open"),_("open"))}function ne(){if(a.isOpen){if(a.isOpen=!1,h.toggle&&h.toggle.classList.remove("open"),h.window&&h.window.classList.remove("open"),S("widget_close"),i.surveyConfig&&a.messages.length>=4){a.sessionId&&$("survey_completed_"+a.sessionId)||setTimeout(()=>{a.isOpen||(i.surveyConfig&&(a.sessionId&&$("survey_completed_"+a.sessionId)||a.messages.length<4||(S("survey_displayed",{survey_id:i.surveyConfig.id,session_id:a.sessionId,visitor_id:a.visitorId}),B("survey"),_("survey:shown",i.surveyConfig))),oe())},500)}_("close")}}function ie(){a.isOpen?ne():oe()}function ae(){a.sessionId=null,a.visitorId=null,a.messages=[],r=!1,d=!1,$("session_id",null),a.visitorId=w("v_"),$("visitor_id",a.visitorId),h.messages&&(h.messages.innerHTML=""),U("hidden"),W(),h.input&&(h.input.disabled=!1,h.input.placeholder=i.placeholder||"Type a message..."),h.sendBtn&&(h.sendBtn.disabled=!h.input?.value.trim()),h.attachBtn&&(h.attachBtn.disabled=!1),b=0,g&&(y=!0,g.close(),g=null),X(),i.welcomeMessage&&L(i.welcomeMessage,"bot"),h.presetQuestions&&h.presetQuestions.classList.remove("hidden"),M(),_("newConversation")}const se={backgroundColor:"#00aeff",textColor:"#ffffff",borderColor:"transparent",borderWidth:0,borderRadius:8,paddingVertical:8,paddingHorizontal:16,fontSize:13,fontWeight:"medium"},re={backgroundColor:"transparent",textColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:1,borderRadius:8,paddingVertical:8,paddingHorizontal:16,fontSize:13,fontWeight:"medium"},de={backgroundColor:"rgba(0, 174, 255, 0.1)",textColor:"#00aeff",borderColor:"rgba(0, 174, 255, 0.2)",borderWidth:1,borderRadius:20,paddingVertical:6,paddingHorizontal:12,fontSize:12,fontWeight:"medium"},ce={backgroundColor:"#f3f4f6",textColor:"#374151",borderColor:"#e5e7eb",borderWidth:1,borderRadius:16,paddingVertical:5,paddingHorizontal:10,fontSize:11,fontWeight:"medium"},le={backgroundColor:"transparent",textColor:"#9ca3af",borderColor:"#e5e7eb",borderWidth:1,borderRadius:6,paddingVertical:4,paddingHorizontal:8,fontSize:12,fontWeight:"medium"},pe={backgroundColor:"rgba(255, 255, 255, 0.1)",textColor:"#ffffff",borderColor:"transparent",borderWidth:0,borderRadius:6,paddingVertical:6,paddingHorizontal:6,fontSize:14,fontWeight:"medium"},ue={backgroundColor:"#00aeff",textColor:"#ffffff",borderColor:"transparent",borderWidth:0,borderRadius:8,paddingVertical:8,paddingHorizontal:14,fontSize:12,fontWeight:"medium"},he={backgroundColor:"#00aeff",textColor:"#ffffff",borderColor:"transparent",borderWidth:0,borderRadius:6,paddingVertical:6,paddingHorizontal:12,fontSize:12,fontWeight:"medium"},me={backgroundColor:"#00aeff",textColor:"#ffffff",borderColor:"transparent",borderWidth:0,borderRadius:30,paddingVertical:0,paddingHorizontal:0,fontSize:14,fontWeight:"medium"},ge={backgroundColor:"transparent",textColor:"#6b7280",borderColor:"transparent",borderWidth:0,borderRadius:8,paddingVertical:6,paddingHorizontal:6,fontSize:14,fontWeight:"medium"};function fe(e){const t="ihooman-button-styling",o=T||document.head;let n=o.querySelector(`#${t}`);n||(n=document.createElement("style"),n.id=t,o.appendChild(n));const i={primary:{...se,...e?.primary||{}},secondary:{...re,...e?.secondary||{}},presetQuestions:{...de,...e?.presetQuestions||{}},quickReplies:{...ce,...e?.quickReplies||{}},feedback:{...le,...e?.feedback||{}},headerActions:{...pe,...e?.headerActions||{}},escalation:{...ue,...e?.escalation||{}},cardActions:{...he,...e?.cardActions||{}},toggleButton:{...me,...e?.toggleButton||{}},attachButton:{...ge,...e?.attachButton||{}}},a=(e,t)=>{const o=t.backgroundColor,n=t.textColor,i=t.borderColor;return`\n ${e} {\n background: ${o};\n color: ${n};\n border: ${t.borderWidth}px solid ${i};\n border-radius: ${t.borderRadius}px;\n padding: ${t.paddingVertical}px ${t.paddingHorizontal}px;\n margin: 0;\n font-family: inherit;\n font-size: ${t.fontSize}px;\n font-weight: ${function(e){switch(e){case"normal":return 400;case"medium":default:return 500;case"semibold":return 600;case"bold":return 700}}(t.fontWeight)};\n min-width: unset;\n min-height: unset;\n width: auto;\n height: auto;\n max-width: none;\n max-height: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n line-height: 1.4;\n text-transform: none;\n letter-spacing: normal;\n box-shadow: none;\n text-decoration: none;\n white-space: nowrap;\n box-sizing: border-box;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n `};let s="";s+=a(".ihooman-input-btn.send",i.primary),s+=a(".ihooman-proactive-toast-btn.primary",i.primary),s+=a(".ihooman-survey-submit",i.primary),s+=a(".ihooman-ticket-submit",i.primary),s+=a(".ihooman-history-new",i.primary),s+=a(".ihooman-proactive-toast-btn.secondary",i.secondary),s+=a(".ihooman-survey-skip",i.secondary),s+=a(".ihooman-ticket-back",i.secondary),s+=a(".ihooman-preset-btn",i.presetQuestions),s+=a(".ihooman-quick-reply",i.quickReplies),s+=a(".ihooman-feedback-btn",i.feedback),s+=a(".ihooman-header-btn",i.headerActions),s+=a(".ihooman-escalation-btn",i.escalation),s+=a(".ihooman-escalation-btn.primary",i.escalation),s+=a(".ihooman-escalation-btn.secondary",i.secondary),s+=a(".ihooman-carousel-card-btn",i.cardActions);const r=i.toggleButton,d=r.backgroundColor,c=r.textColor,l=r.borderColor;s+=`\n .ihooman-toggle {\n background: linear-gradient(135deg, ${d}, ${d}) !important;\n color: ${c};\n border: ${r.borderWidth}px solid ${l};\n border-radius: ${r.borderRadius}px;\n }\n `,s+=a(".ihooman-input-btn.attach",i.attachButton),console.debug("[IhoomanChat] Applied button styling CSS:",s.length,"chars"),n.textContent=s}async function be(e){if(!e.widgetId)return console.error("IhoomanChat: widgetId is required"),null;i={...o,...e},a.visitorId=$("visitor_id")||w("v_"),$("visitor_id",a.visitorId),i.persistSession&&(a.sessionId=$("session_id")),$("page_load_time")||$("page_load_time",Date.now());const n=i.serverUrl||t,s=await async function(e,t){try{const o=await fetch(`${t}/api/widget/config?widget_id=${encodeURIComponent(e)}`);return o.ok?await o.json():{success:!1,error:(await o.json().catch(()=>({}))).error||`HTTP ${o.status}`}}catch(e){return{success:!1,error:"Unable to connect. Please check your internet connection."}}}(i.widgetId,n);let r;var d;return s.success&&s.config?(d=s.config,i.title=d.title||i.title,i.subtitle=d.subtitle||i.subtitle,i.welcomeMessage=d.welcomeMessage||i.welcomeMessage,i.placeholder=d.placeholder||i.placeholder,i.position=d.position||i.position,d.theme&&(i.primaryColor=d.theme.primaryColor||i.primaryColor,i.gradientFrom=d.theme.gradientFrom||i.gradientFrom,i.gradientTo=d.theme.gradientTo||i.gradientTo,i.fontFamily=d.theme.fontFamily||i.fontFamily,d.theme.borderRadius&&(i.borderRadius=parseInt(d.theme.borderRadius,10)||i.borderRadius)),d.behavior&&(i.startOpen=d.behavior.startOpen??i.startOpen,i.showTypingIndicator=d.behavior.showTypingIndicator??i.showTypingIndicator,i.showTimestamps=d.behavior.showTimestamps??i.showTimestamps,i.enableSounds=d.behavior.enableSounds??i.enableSounds,i.enableFileUpload=d.behavior.enableFileUpload??i.enableFileUpload,i.persistSession=d.behavior.persistSession??i.persistSession),d.branding&&(i.avatarUrl=d.branding.avatarUrl||i.avatarUrl,i.logoUrl=d.branding.logoUrl||i.logoUrl,i.poweredBy=d.branding.poweredBy??i.poweredBy,i.customCss=d.branding.customCss||i.customCss),d.size&&(i.width=d.size.width||i.width,i.height=d.size.height||i.height,i.buttonSize=d.size.buttonSize||i.buttonSize),d.presetQuestions&&Array.isArray(d.presetQuestions)&&(console.debug("[IhoomanChat] Server config presetQuestions:",d.presetQuestions.length),u=d.presetQuestions.map(e=>({id:e.id,text:e.text,icon:e.icon,emoji:e.icon})),i.presetQuestions=u),d.proactiveMessages&&Array.isArray(d.proactiveMessages)&&(console.debug("[IhoomanChat] Server config proactiveMessages:",d.proactiveMessages.length),i.proactiveMessages=d.proactiveMessages.filter(e=>!1!==e.isActive).map(e=>({id:e.id,message:e.message,trigger:{type:e.trigger.type,value:"time"===e.trigger.type||"scroll"===e.trigger.type?parseInt(e.trigger.value,10)||30:e.trigger.value},autoOpen:e.autoOpen||!1,cooldownMinutes:e.cooldownMinutes||60}))),d.surveyConfig&&!1!==d.surveyConfig.isActive&&(console.debug("[IhoomanChat] Server config surveyConfig:",d.surveyConfig.id),i.surveyConfig={id:d.surveyConfig.id,type:d.surveyConfig.type,question:d.surveyConfig.question,followUpQuestion:d.surveyConfig.followUpQuestion,thankYouMessage:d.surveyConfig.thankYouMessage}),d.buttonStyling&&(console.debug("[IhoomanChat] Server config buttonStyling:",Object.keys(d.buttonStyling)),i.buttonStyling=d.buttonStyling,fe(d.buttonStyling)),r=s.chatEndpoint,s.apiBaseUrl&&(i.serverUrl=s.apiBaseUrl)):s.error&&(console.warn("IhoomanChat: Could not fetch server config:",s.error),"Widget not authorized for this domain"===s.error&&console.error("IhoomanChat: Widget configuration error. Please contact support.")),q(),fe(i.buttonStyling),M(),a.messages.forEach(e=>L(e.content,"user"===e.sender?"user":"bot",e.metadata)),0===a.messages.length&&i.welcomeMessage&&L(i.welcomeMessage,"bot"),X(r),Y(),i.startOpen&&setTimeout(oe,500),_("ready"),ye}const ye={init:be,open:oe,close:ne,toggle:ie,isOpen:function(){return a.isOpen},destroy:function(){Z(),W(),p&&(clearInterval(p),p=null),window.removeEventListener("scroll",J),y=!0,g&&(g.close(),g=null),f&&(clearInterval(f),f=null),h.widget&&h.widget.remove();const e=document.getElementById("ihooman-widget-styles");e&&e.remove(),a={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},h={},b=0,y=!1},sendMessage:function(e){e.trim()&&!d&&(h.input&&(h.input.value=e),P())},setUser:function(e){a.userInfo=e,e.name&&$("user_name",e.name),e.email&&$("user_email",e.email),e.metadata&&$("user_metadata",e.metadata)},clearUser:function(){a.userInfo=null,$("user_name",null),$("user_email",null),$("user_metadata",null)},clearHistory:function(){ae()},on:function(e,t){m[e]||(m[e]=[]),m[e].push(t)},off:function(e,t){m[e]&&(m[e]=m[e].filter(e=>e!==t))},getState:function(){return{...a}},getConfig:function(){return{...i}},showSurvey:function(){i.surveyConfig?(S("survey_displayed",{survey_id:i.surveyConfig.id,session_id:a.sessionId,visitor_id:a.visitorId,trigger:"manual"}),B("survey"),_("survey:shown",i.surveyConfig)):console.warn("[IhoomanChat] No survey configured")},resetProactiveMessages:function(){c=[],l={},$("shown_proactive",null),$("proactive_cooldowns",null),console.debug("[IhoomanChat] Proactive message history reset")},version:"3.0.21"},ve=ye;!function(){if("undefined"==typeof document)return;let e=document.currentScript;if(!e){const t=document.getElementsByTagName("script");for(let o=0;o<t.length;o++)if(t[o].src&&t[o].src.includes("ihooman")){e=t[o];break}}if(!e)return;const t=e.getAttribute("data-widget-id");if(t){const o={widgetId:t},n=e.getAttribute("data-server-url");n&&(o.serverUrl=n);const i=e.getAttribute("data-theme");"light"!==i&&"dark"!==i||(o.theme=i);const a=e.getAttribute("data-position");a&&(o.position=a);"true"===e.getAttribute("data-start-open")&&(o.startOpen=!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>be(o)):be(o)}}(),"undefined"!=typeof window&&(window.IhoomanChat=ve),e.IhoomanChat=ve,e.createWidgetInstance=function(){return{...ye}},e.default=ve,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
|
+
//# sourceMappingURL=index.umd.min.js.map
|