@ihoomanai/chat-widget 2.2.1 → 2.3.0
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 +13 -37
- 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/v2/chat.js +13 -37
- package/cdn/v2/chat.js.map +1 -1
- package/cdn/v2/chat.min.js +1 -1
- package/cdn/v2/chat.min.js.map +1 -1
- package/cdn/{v2.2.0 → v2.2.2}/chat.js +13 -37
- package/cdn/v2.2.2/chat.js.map +1 -0
- package/cdn/v2.2.2/chat.min.js +2 -0
- package/cdn/v2.2.2/chat.min.js.map +1 -0
- package/dist/index.cjs.js +18 -70
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +18 -70
- 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 +18 -70
- 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 +18 -73
- package/cdn/v2.2.0/chat.js.map +0 -1
- package/cdn/v2.2.0/chat.min.js +0 -2
- package/cdn/v2.2.0/chat.min.js.map +0 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @ihoomanai/chat-widget v2.
|
|
2
|
+
* @ihoomanai/chat-widget v2.3.0
|
|
3
3
|
* Universal chat support widget for any website - secure Widget ID based initialization
|
|
4
4
|
*
|
|
5
5
|
* @license MIT
|
|
@@ -290,14 +290,6 @@
|
|
|
290
290
|
.ihooman-ticket-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
|
|
291
291
|
.ihooman-ticket-back { padding: 10px; background: transparent; color: ${mutedColor}; border: 1px solid ${borderColor}; border-radius: 10px; font-size: 13px; cursor: pointer; transition: all 0.2s; }
|
|
292
292
|
.ihooman-ticket-back:hover { background: ${isDark ? 'rgba(255,255,255,0.05)' : 'rgba(0,0,0,0.03)'}; }
|
|
293
|
-
.ihooman-action-buttons { display: flex; gap: 8px; padding: 0 16px 12px; }
|
|
294
|
-
.ihooman-action-btn { flex: 1; padding: 10px; border: none; border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; transition: all 0.2s; }
|
|
295
|
-
.ihooman-action-btn svg { width: 16px; height: 16px; }
|
|
296
|
-
.ihooman-action-btn.ticket { background: #6366f1; color: white; }
|
|
297
|
-
.ihooman-action-btn.ticket:hover { background: #4f46e5; }
|
|
298
|
-
.ihooman-action-btn.live { background: #10b981; color: white; }
|
|
299
|
-
.ihooman-action-btn.live:hover { background: #059669; }
|
|
300
|
-
.ihooman-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
301
293
|
@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 { ${positionRight ? 'right: 16px' : 'left: 16px'}; bottom: 16px; } }
|
|
302
294
|
`;
|
|
303
295
|
}
|
|
@@ -341,16 +333,6 @@
|
|
|
341
333
|
<div class="ihooman-chat-view">
|
|
342
334
|
<div class="ihooman-status-bar"></div>
|
|
343
335
|
<div class="ihooman-messages" role="log" aria-live="polite"></div>
|
|
344
|
-
<div class="ihooman-action-buttons">
|
|
345
|
-
<button class="ihooman-action-btn ticket" data-action="show-ticket">
|
|
346
|
-
<svg viewBox="0 0 24 24" fill="currentColor"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg>
|
|
347
|
-
Submit Ticket
|
|
348
|
-
</button>
|
|
349
|
-
<button class="ihooman-action-btn live" data-action="live-agent">
|
|
350
|
-
<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>
|
|
351
|
-
Live Agent
|
|
352
|
-
</button>
|
|
353
|
-
</div>
|
|
354
336
|
<div class="ihooman-input-area">
|
|
355
337
|
<div class="ihooman-input-wrapper">
|
|
356
338
|
${config.enableFileUpload ? `<button class="ihooman-input-btn attach" title="Attach file">${icons.attach}</button><input type="file" class="ihooman-file-input">` : ''}
|
|
@@ -431,9 +413,6 @@
|
|
|
431
413
|
}
|
|
432
414
|
elements.widget?.querySelector('[data-action="refresh"]')?.addEventListener('click', startNewConversation);
|
|
433
415
|
elements.widget?.querySelector('[data-action="minimize"]')?.addEventListener('click', close);
|
|
434
|
-
// Action buttons - Submit Ticket and Live Agent
|
|
435
|
-
elements.widget?.querySelector('[data-action="show-ticket"]')?.addEventListener('click', handleShowTicketForm);
|
|
436
|
-
elements.widget?.querySelector('[data-action="live-agent"]')?.addEventListener('click', handleRequestLiveAgent);
|
|
437
416
|
// Ticket form buttons
|
|
438
417
|
if (elements.ticketSubmitBtn) {
|
|
439
418
|
elements.ticketSubmitBtn.addEventListener('click', handleSubmitTicket);
|
|
@@ -578,16 +557,16 @@
|
|
|
578
557
|
elements.ticketSubmitBtn.textContent = 'Submitting...';
|
|
579
558
|
}
|
|
580
559
|
try {
|
|
581
|
-
|
|
560
|
+
// Use Widget ID authenticated endpoint
|
|
561
|
+
const response = await fetch(`${config.serverUrl}/api/widget/submit-ticket`, {
|
|
582
562
|
method: 'POST',
|
|
583
563
|
headers: { 'Content-Type': 'application/json' },
|
|
584
564
|
body: JSON.stringify({
|
|
565
|
+
widget_id: config.widgetId,
|
|
585
566
|
session_id: state.sessionId,
|
|
586
567
|
user_name: name,
|
|
587
568
|
user_email: email,
|
|
588
569
|
issue: issue || 'No description provided',
|
|
589
|
-
escalation_type: 'ticket',
|
|
590
|
-
widget_id: config.widgetId,
|
|
591
570
|
}),
|
|
592
571
|
});
|
|
593
572
|
const data = await response.json();
|
|
@@ -628,13 +607,14 @@
|
|
|
628
607
|
liveBtn.innerHTML = '<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg> Connecting...';
|
|
629
608
|
}
|
|
630
609
|
try {
|
|
631
|
-
|
|
610
|
+
// Use Widget ID authenticated endpoint
|
|
611
|
+
const response = await fetch(`${config.serverUrl}/api/widget/live-agent`, {
|
|
632
612
|
method: 'POST',
|
|
633
613
|
headers: { 'Content-Type': 'application/json' },
|
|
634
614
|
body: JSON.stringify({
|
|
615
|
+
widget_id: config.widgetId,
|
|
635
616
|
session_id: state.sessionId,
|
|
636
617
|
visitor_id: state.visitorId,
|
|
637
|
-
widget_id: config.widgetId,
|
|
638
618
|
}),
|
|
639
619
|
});
|
|
640
620
|
const data = await response.json();
|
|
@@ -646,11 +626,6 @@
|
|
|
646
626
|
else {
|
|
647
627
|
updateStatusBar('waiting', '⏳ Connecting to live support...');
|
|
648
628
|
}
|
|
649
|
-
// Hide action buttons when in live agent mode
|
|
650
|
-
const actionsDiv = elements.widget?.querySelector('.ihooman-action-buttons');
|
|
651
|
-
if (actionsDiv) {
|
|
652
|
-
actionsDiv.style.display = 'none';
|
|
653
|
-
}
|
|
654
629
|
// Start polling for agent messages
|
|
655
630
|
startLiveAgentPolling();
|
|
656
631
|
}
|
|
@@ -668,7 +643,6 @@
|
|
|
668
643
|
* Live agent polling interval
|
|
669
644
|
*/
|
|
670
645
|
let liveAgentPollInterval = null;
|
|
671
|
-
let lastMessageCount = 0;
|
|
672
646
|
/**
|
|
673
647
|
* Start polling for live agent messages
|
|
674
648
|
*/
|
|
@@ -681,44 +655,11 @@
|
|
|
681
655
|
return;
|
|
682
656
|
}
|
|
683
657
|
try {
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
if (!response.ok)
|
|
688
|
-
return;
|
|
689
|
-
const data = await response.json();
|
|
690
|
-
const msgCount = data.messages?.length || 0;
|
|
691
|
-
// Check for new messages
|
|
692
|
-
if (msgCount > lastMessageCount) {
|
|
693
|
-
// Get only new messages
|
|
694
|
-
const newMessages = data.messages.slice(lastMessageCount);
|
|
695
|
-
newMessages.forEach((msg) => {
|
|
696
|
-
// Only add agent messages (user messages are already shown)
|
|
697
|
-
if (msg.sender_type === 'agent') {
|
|
698
|
-
addMessage(msg.content, 'bot', { agent_name: 'Agent' });
|
|
699
|
-
}
|
|
700
|
-
else if (msg.sender_type === 'ai' && msg.content.includes('connected to live support')) {
|
|
701
|
-
// System message about connection
|
|
702
|
-
addMessage(msg.content, 'bot', { is_system_message: true });
|
|
703
|
-
}
|
|
704
|
-
});
|
|
705
|
-
lastMessageCount = msgCount;
|
|
706
|
-
}
|
|
707
|
-
// Check if conversation was closed
|
|
708
|
-
if (data.status === 'closed') {
|
|
709
|
-
isLiveAgentMode = false;
|
|
710
|
-
stopLiveAgentPolling();
|
|
711
|
-
updateStatusBar('hidden');
|
|
712
|
-
addMessage('This conversation has been closed. Thank you for contacting us!', 'bot', { is_system_message: true });
|
|
713
|
-
// Show action buttons again
|
|
714
|
-
const actionsDiv = elements.widget?.querySelector('.ihooman-action-buttons');
|
|
715
|
-
if (actionsDiv) {
|
|
716
|
-
actionsDiv.style.display = 'flex';
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
// Update queue position and connection status
|
|
658
|
+
// Note: transcript endpoint still uses API key auth, but we can use the WebSocket
|
|
659
|
+
// for real-time updates. For now, poll the escalation status endpoint.
|
|
660
|
+
// Update queue position and connection status using Widget ID auth
|
|
720
661
|
try {
|
|
721
|
-
const escResponse = await fetch(`${config.serverUrl}/api/
|
|
662
|
+
const escResponse = await fetch(`${config.serverUrl}/api/widget/escalation-status/${state.sessionId}?widget_id=${config.widgetId}`);
|
|
722
663
|
if (escResponse.ok) {
|
|
723
664
|
const escData = await escResponse.json();
|
|
724
665
|
if (escData.escalated) {
|
|
@@ -735,6 +676,13 @@
|
|
|
735
676
|
updateStatusBar('waiting', '⏳ Waiting for agent...');
|
|
736
677
|
}
|
|
737
678
|
}
|
|
679
|
+
else if (escData.ticket_status === 'closed' || escData.ticket_status === 'resolved') {
|
|
680
|
+
// Conversation closed
|
|
681
|
+
isLiveAgentMode = false;
|
|
682
|
+
stopLiveAgentPolling();
|
|
683
|
+
updateStatusBar('hidden');
|
|
684
|
+
addMessage('This conversation has been closed. Thank you for contacting us!', 'bot', { is_system_message: true });
|
|
685
|
+
}
|
|
738
686
|
}
|
|
739
687
|
}
|
|
740
688
|
}
|
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/widget.ts","../src/index.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;;;;;;;EAAA;;;;;;;;;;;;;;;EAeG;EAYH,MAAM,OAAO,GAAG,OAAO;EACvB,MAAM,cAAc,GAAG,eAAe;EAEtC;;EAEG;EACH,MAAM,aAAa,GAA0B;EAC3C,IAAA,SAAS,EAAE,wBAAwB;EACnC,IAAA,KAAK,EAAE,OAAO;EACd,IAAA,QAAQ,EAAE,cAAc;EACxB,IAAA,KAAK,EAAE,cAAc;EACrB,IAAA,QAAQ,EAAE,mCAAmC;EAC7C,IAAA,cAAc,EAAE,yCAAyC;EACzD,IAAA,WAAW,EAAE,mBAAmB;EAChC,IAAA,YAAY,EAAE,SAAS;EACvB,IAAA,YAAY,EAAE,SAAS;EACvB,IAAA,UAAU,EAAE,SAAS;EACrB,IAAA,cAAc,EAAE,IAAI;EACpB,IAAA,mBAAmB,EAAE,IAAI;EACzB,IAAA,YAAY,EAAE,IAAI;EAClB,IAAA,gBAAgB,EAAE,IAAI;EACtB,IAAA,SAAS,EAAE,KAAK;EAChB,IAAA,cAAc,EAAE,IAAI;EACpB,IAAA,MAAM,EAAE,IAAI;EACZ,IAAA,KAAK,EAAE,GAAG;EACV,IAAA,MAAM,EAAE,GAAG;EACX,IAAA,UAAU,EAAE,EAAE;EACd,IAAA,YAAY,EAAE,EAAE;EAChB,IAAA,UAAU,EAAE,mEAAmE;EAC/E,IAAA,SAAS,EAAE,EAAE;EACb,IAAA,SAAS,EAAE,IAAI;GAChB;EAGD;;EAEG;EACH,MAAM,KAAK,GAAG;EACZ,IAAA,IAAI,EAAE,CAAA,iKAAA,CAAmK;EACzK,IAAA,KAAK,EAAE,CAAA,wKAAA,CAA0K;EACjL,IAAA,IAAI,EAAE,CAAA,oLAAA,CAAsL;EAC5L,IAAA,MAAM,EAAE,CAAA,qNAAA,CAAuN;EAC/N,IAAA,QAAQ,EAAE,CAAA,8HAAA,CAAgI;EAC1I,IAAA,OAAO,EAAE,CAAA,oQAAA,CAAsQ;EAC/Q,IAAA,GAAG,EAAE,CAAA,yMAAA,CAA2M;EAChN,IAAA,KAAK,EAAE,CAAA,mLAAA,CAAqL;EAC5L,IAAA,MAAM,EAAE,CAAA,wVAAA,CAA0V;GACnW;EAED;;EAEG;EACH,IAAI,MAAM,GAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE;EAC7D,IAAI,KAAK,GAAgB;EACvB,IAAA,MAAM,EAAE,KAAK;EACb,IAAA,WAAW,EAAE,KAAK;EAClB,IAAA,QAAQ,EAAE,EAAE;EACZ,IAAA,SAAS,EAAE,IAAI;EACf,IAAA,SAAS,EAAE,IAAI;EACf,IAAA,WAAW,EAAE,CAAC;GACf;EAOD,IAAI,eAAe,GAAG,KAAK;EA2B3B,IAAI,QAAQ,GAAmB,EAAE;EACjC,MAAM,cAAc,GAAoC,EAAE;EAE1D;;EAEG;EACH,IAAI,EAAE,GAAqB,IAAI;EAC/B,IAAI,YAAY,GAA0C,IAAI;EAC9D,IAAI,iBAAiB,GAAG,CAAC;EACzB,MAAM,oBAAoB,GAAG,CAAC;EAG9B;EACA;EACA;EAEA;;EAEG;EACH,SAAS,UAAU,CAAC,MAAM,GAAG,EAAE,EAAA;EAC7B,IAAA,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;EACnF;EAEA;;EAEG;EACH,SAAS,UAAU,CAAC,IAAU,EAAA;MAC5B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;EACtF;EAEA;;EAEG;EACH,SAAS,UAAU,CAAC,IAAY,EAAA;MAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;EACzC,IAAA,GAAG,CAAC,WAAW,GAAG,IAAI;MACtB,OAAO,GAAG,CAAC,SAAS;EACtB;EAEA;;EAEG;EACH,SAAS,aAAa,CAAC,IAAY,EAAA;EACjC,IAAA,IAAI,CAAC,IAAI;EAAE,QAAA,OAAO,EAAE;MACpB,OAAO,UAAU,CAAC,IAAI;EACnB,SAAA,OAAO,CAAC,gBAAgB,EAAE,qBAAqB;EAC/C,SAAA,OAAO,CAAC,YAAY,EAAE,aAAa;EACnC,SAAA,OAAO,CAAC,UAAU,EAAE,iBAAiB;EACrC,SAAA,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;EAC3B;EAEA;;EAEG;EACH,SAAS,OAAO,CAAI,GAAW,EAAE,KAAgB,EAAA;EAC/C,IAAA,MAAM,OAAO,GAAG,cAAc,GAAG,GAAG;EACpC,IAAA,IAAI;EACF,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;cACvB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;EAC1C,YAAA,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI;UACvC;EAAO,aAAA,IAAI,KAAK,KAAK,IAAI,EAAE;EACzB,YAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;EAChC,YAAA,OAAO,IAAI;UACb;eAAO;EACL,YAAA,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACpD,YAAA,OAAO,KAAK;UACd;MACF;EAAE,IAAA,MAAM;EACN,QAAA,OAAO,IAAI;MACb;EACF;EAEA;;EAEG;EACH,SAAS,IAAI,CAAC,KAAkB,EAAE,IAAc,EAAA;MAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;EAC7C,IAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;EACvB,QAAA,IAAI;cACF,EAAE,CAAC,IAAI,CAAC;UACV;UAAE,OAAO,CAAC,EAAE;cACV,OAAO,CAAC,KAAK,CAAC,CAAA,SAAA,EAAY,KAAK,CAAA,eAAA,CAAiB,EAAE,CAAC,CAAC;UACtD;EACF,IAAA,CAAC,CAAC;;MAGF,MAAM,YAAY,GAAG,CAAA,EAAA,EAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAwB;EAChG,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;EACrC,IAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;EAClC,QAAA,IAAI;cACD,QAA0B,CAAC,IAAI,CAAC;UACnC;UAAE,OAAO,CAAC,EAAE;cACV,OAAO,CAAC,KAAK,CAAC,CAAA,SAAA,EAAY,YAAY,CAAA,UAAA,CAAY,EAAE,CAAC,CAAC;UACxD;MACF;EACF;EAGA;EACA;EACA;EAEA;;EAEG;EACH,SAAS,cAAc,GAAA;MACrB,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,EACX,GAAG,MAAM;EAEV,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM;MACtC,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS;MAC9C,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS;MAChD,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS;MACjD,MAAM,WAAW,GAAG,MAAM,GAAG,uBAAuB,GAAG,kBAAkB;MACzE,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS;EAC9C,IAAA,MAAM,aAAa,GAAG,CAAA,wBAAA,EAA2B,YAAY,CAAA,EAAA,EAAK,UAAU,GAAG;MAC/E,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS;EAEnD,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI;EAChE,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI;MAElE,OAAO;;AAE4B,mCAAA,EAAA,UAAU,+CAA+C,SAAS,CAAA;yCAC9D,aAAa,GAAG,aAAa,GAAG,YAAY,CAAA,EAAA,EAAK,cAAc,GAAG,cAAc,GAAG,WAAW,CAAA,SAAA,EAAY,UAAU,CAAA,YAAA,EAAe,UAAU,CAAA,4DAAA,EAA+D,YAAY,CAAA,EAAA,EAAK,UAAU,CAAA,2CAAA,EAA8C,MAAM,CAAA;;;;;;;;qFAQ/O,YAAY,CAAA;;;;;AAKxD,uCAAA,EAAA,aAAa,GAAG,aAAa,GAAG,YAAY,CAAA,EAAA,EAAK,cAAc,GAAG,cAAc,GAAG,WAAW,CAAA,SAAA,EAAY,KAAK,CAAA,YAAA,EAAe,MAAM,CAAA,8CAAA,EAAiD,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAA;;gIAElH,YAAY,CAAA;0FAClD,OAAO,CAAA,kGAAA,EAAqG,YAAY,CAAA,sBAAA,EAAyB,WAAW,CAAA;;AAEtK,8EAAA,EAAA,YAAY,KAAK,UAAU,CAAA;;;;;;;;;;;;;kIAauB,OAAO,CAAA;;;+DAG1E,WAAW,CAAA;;;;;;mEAMP,aAAa,CAAA;AACd,gEAAA,EAAA,YAAY,YAAY,SAAS,CAAA;;sDAE7C,UAAU,CAAA;sGACsC,YAAY,CAAA;;iEAEjD,UAAU,CAAA;;;;AAIf,0DAAA,EAAA,OAAO,2BAA2B,WAAW,CAAA;AACd,yFAAA,EAAA,OAAO,uBAAuB,WAAW,CAAA;0DAC1E,YAAY,CAAA;qHAC+C,SAAS,CAAA;2CACnF,UAAU,CAAA;6NACwK,UAAU,CAAA;AAC1L,2CAAA,EAAA,WAAW,YAAY,SAAS,CAAA;AACT,kEAAA,EAAA,YAAY,KAAK,UAAU,CAAA;;;;;AAKZ,iFAAA,EAAA,UAAU,iBAAiB,OAAO,CAAA;kCACnF,YAAY,CAAA;sFACwC,OAAO,CAAA;;;;AAIjB,0EAAA,EAAA,YAAY,KAAK,UAAU,CAAA;;sDAEjD,MAAM,GAAG,uBAAuB,GAAG,kBAAkB,CAAA,SAAA,EAAY,SAAS,CAAA,oBAAA,EAAuB,WAAW,CAAA;AACtG,0DAAA,EAAA,MAAM,GAAG,wBAAwB,GAAG,kBAAkB,CAAA;;;;;;;;0GAQR,OAAO,CAAA;;wEAEzC,SAAS,CAAA;yDACxB,UAAU,CAAA;oEACC,WAAW,CAAA,0EAAA,EAA6E,OAAO,CAAA,SAAA,EAAY,SAAS,CAAA;kDACtI,YAAY,CAAA;kDACZ,UAAU,CAAA;;AAEsB,gFAAA,EAAA,YAAY,KAAK,UAAU,CAAA;;;AAGjC,0EAAA,EAAA,UAAU,uBAAuB,WAAW,CAAA;AACzE,6CAAA,EAAA,MAAM,GAAG,wBAAwB,GAAG,kBAAkB,CAAA;;;;;;;;;AASoF,uLAAA,EAAA,aAAa,GAAG,aAAa,GAAG,YAAY,CAAA;GAClO;EACH;EAGA;EACA;EACA;EAEA;;EAEG;EACH,SAAS,YAAY,GAAA;;MAEnB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;EAC/C,IAAA,OAAO,CAAC,EAAE,GAAG,uBAAuB;EACpC,IAAA,OAAO,CAAC,WAAW,GAAG,cAAc,EAAE;EACtC,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;;MAGlC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;EAC5C,IAAA,MAAM,CAAC,SAAS,GAAG,gBAAgB;MACnC,MAAM,CAAC,SAAS,GAAG;;;;AAIW,8BAAA,EAAA,KAAK,CAAC,IAAI,CAAA;AACT,+BAAA,EAAA,KAAK,CAAC,KAAK,CAAA;;;;;AAKG,6CAAA,EAAA,MAAM,CAAC,SAAS,GAAG,CAAA,UAAA,EAAa,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA,gBAAA,CAAkB,GAAG,KAAK,CAAC,GAAG,CAAA;;AAEzF,8CAAA,EAAA,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,CAAA;;;;AAIM,8FAAA,EAAA,KAAK,CAAC,OAAO,CAAA;AACpB,uFAAA,EAAA,KAAK,CAAC,QAAQ,CAAA;;;;;;;;;;;;;;;;;;;;AAoBvF,cAAA,EAAA,MAAM,CAAC,gBAAgB,GAAG,CAAA,6DAAA,EAAgE,KAAK,CAAC,MAAM,CAAA,uDAAA,CAAyD,GAAG,EAAE;AACvH,2DAAA,EAAA,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAA;AAC7B,mFAAA,EAAA,KAAK,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;UAgBrF,MAAM,CAAC,SAAS,GAAG,CAAA,wHAAA,CAA0H,GAAG,EAAE;;;GAGzJ;EAED,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;EAGjC,IAAA,QAAQ,GAAG;UACT,MAAM;EACN,QAAA,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAsB;EACpE,QAAA,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAgB;EAC5D,QAAA,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAgB;EAC9D,QAAA,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAgB;EACnE,QAAA,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAgB;EACvE,QAAA,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAgB;EAClE,QAAA,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAwB;EACpE,QAAA,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAsB;EAC7E,QAAA,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAA6B;EACxF,QAAA,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAA4B;EACjF,QAAA,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAgB;EACrE,QAAA,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAgB;EACvE,QAAA,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAgB;EACrE,QAAA,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAqB;EAC5E,QAAA,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAqB;EAC9E,QAAA,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAwB;EACjF,QAAA,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAsB;EACpF,QAAA,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAsB;OACjF;;EAGD,IAAA,mBAAmB,EAAE;EACvB;EAEA;;EAEG;EACH,SAAS,mBAAmB,GAAA;EAC1B,IAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK;UAAE;MAE9D,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC;MACjD,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC;MAE3D,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAK;EAC5C,QAAA,IAAI,QAAQ,CAAC,OAAO,EAAE;EACpB,YAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;UAC3D;EACA,QAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;cAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;cACpC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,IAAI;UACjF;EACF,IAAA,CAAC,CAAC;MAEF,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,KAAI;UAC9D,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;cACpC,CAAC,CAAC,cAAc,EAAE;EAClB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ;EAAE,gBAAA,eAAe,EAAE;UACpD;EACF,IAAA,CAAC,CAAC;MAEF,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,EAAE;EAC5C,QAAA,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;UAC/E,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC;MACjE;EAEA,IAAA,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC;EAC1G,IAAA,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC;;EAG5F,IAAA,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC;EAC9G,IAAA,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,4BAA4B,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,CAAC;;EAG/G,IAAA,IAAI,QAAQ,CAAC,eAAe,EAAE;UAC5B,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC;MACxE;EACA,IAAA,IAAI,QAAQ,CAAC,aAAa,EAAE;EAC1B,QAAA,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;MAC1E;EACF;EAGA;EACA;EACA;EAEA;;EAEG;EACH,SAAS,UAAU,CAAC,OAAe,EAAE,SAAyB,KAAK,EAAE,WAAgC,EAAE,EAAA;EACrG,IAAA,MAAM,OAAO,GAAY;EACvB,QAAA,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC;UACtB,OAAO;UACP,MAAM;UACN,SAAS,EAAE,IAAI,IAAI,EAAE;UACrB,QAAQ;OACT;EACD,IAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;MAE5B,IAAI,CAAC,QAAQ,CAAC,QAAQ;EAAE,QAAA,OAAO,OAAO;MAEtC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;EACxC,IAAA,EAAE,CAAC,SAAS,GAAG,CAAA,gBAAA,EAAmB,MAAM,EAAE;;MAG1C,MAAM,qBAAqB,GAAG,MAAM,KAAK,KAAK,IAAI,QAAQ,EAAE,kBAAkB,KAAK,IAAI;MAEvF,IAAI,qBAAqB,GAAG,EAAE;MAC9B,IAAI,qBAAqB,EAAE;EACzB,QAAA,qBAAqB,GAAG;;;AAGhB,UAAA,EAAA,KAAK,CAAC,KAAK;;;;AAIX,UAAA,EAAA,KAAK,CAAC,MAAM;;;;KAInB;MACH;MAEA,EAAE,CAAC,SAAS,GAAG;2CAC0B,aAAa,CAAC,OAAO,CAAC,CAAA;MAC3D,qBAAqB;AACrB,IAAA,EAAA,MAAM,CAAC,cAAc,GAAG,qCAAqC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA,MAAA,CAAQ,GAAG,EAAE;GAC1G;;MAGD,IAAI,qBAAqB,EAAE;UACzB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC;UACnE,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,+BAA+B,CAAC;UAEnE,IAAI,YAAY,EAAE;EAChB,YAAA,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;UACpF;UACA,IAAI,SAAS,EAAE;EACb,YAAA,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,sBAAsB,CAAC,eAAe,CAAC,CAAC;UACpF;MACF;;MAGA,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC;EACjE,IAAA,IAAI,MAAM;UAAE,MAAM,CAAC,MAAM,EAAE;EAE3B,IAAA,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;MACjC,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY;;MAG5D,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;UACrC,KAAK,CAAC,WAAW,EAAE;EACnB,QAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;cAClB,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;UACxD;UACA,IAAI,MAAM,CAAC,YAAY;EAAE,YAAA,SAAS,EAAE;MACtC;EAEA,IAAA,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;EACxB,IAAA,OAAO,OAAO;EAChB;EAEA;;EAEG;EACH,SAAS,sBAAsB,CAAC,MAAsC,EAAA;;MAEpE,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;EACpE,IAAA,OAAO,CAAC,OAAO,CAAC,GAAG,IAAK,GAAyB,CAAC,QAAQ,GAAG,IAAI,CAAC;EAElE,IAAA,IAAI,MAAM,KAAK,YAAY,EAAE;EAC3B,QAAA,sBAAsB,EAAE;MAC1B;EAAO,SAAA,IAAI,MAAM,KAAK,eAAe,EAAE;EACrC,QAAA,oBAAoB,EAAE;MACxB;EACF;EAEA;;EAEG;EACH,SAAS,QAAQ,CAAC,IAAuB,EAAA;EAGvC,IAAA,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC;MAC/D;EACA,IAAA,IAAI,QAAQ,CAAC,UAAU,EAAE;EACvB,QAAA,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC;MACjE;EACF;EAEA;;EAEG;EACH,SAAS,oBAAoB,GAAA;MAC3B,QAAQ,CAAC,QAAQ,CAAC;;EAElB,IAAA,UAAU,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;EACrD;EAEA;;EAEG;EACH,SAAS,eAAe,CAAC,MAA0C,EAAE,OAAgB,EAAA;MACnF,IAAI,CAAC,QAAQ,CAAC,SAAS;UAAE;EAEzB,IAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;UACvB,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;UAC3C;MACF;MAEA,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;MACxC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;MAC3D,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;MAExC,IAAI,OAAO,EAAE;EACX,QAAA,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO;MAC1C;EACF;EAEA;;EAEG;EACH,eAAe,kBAAkB,GAAA;MAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE;MAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;MAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;EAEhD,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;UACnB,KAAK,CAAC,oCAAoC,CAAC;UAC3C;MACF;EAEA,IAAA,IAAI,QAAQ,CAAC,eAAe,EAAE;EAC5B,QAAA,QAAQ,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI;EACxC,QAAA,QAAQ,CAAC,eAAe,CAAC,WAAW,GAAG,eAAe;MACxD;EAEA,IAAA,IAAI;UACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAA,4BAAA,CAA8B,EAAE;EAC9E,YAAA,MAAM,EAAE,MAAM;EACd,YAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;EAC/C,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;kBACnB,UAAU,EAAE,KAAK,CAAC,SAAS;EAC3B,gBAAA,SAAS,EAAE,IAAI;EACf,gBAAA,UAAU,EAAE,KAAK;kBACjB,KAAK,EAAE,KAAK,IAAI,yBAAyB;EACzC,gBAAA,eAAe,EAAE,QAAQ;kBACzB,SAAS,EAAE,MAAM,CAAC,QAAQ;eAC3B,CAAC;EACH,SAAA,CAAC;EAEF,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;;UAGlC,IAAI,QAAQ,CAAC,UAAU;EAAE,YAAA,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE;UACvD,IAAI,QAAQ,CAAC,WAAW;EAAE,YAAA,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;UACzD,IAAI,QAAQ,CAAC,WAAW;EAAE,YAAA,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;;UAGzD,QAAQ,CAAC,MAAM,CAAC;;UAGhB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW;EAC3E,QAAA,UAAU,CAAC,CAAA,yCAAA,EAA4C,KAAK,CAAA,cAAA,EAAiB,SAAS,CAAA,CAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;MAE/H;MAAE,OAAO,KAAK,EAAE;EACd,QAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC;UAChD,UAAU,CAAC,8CAA8C,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;MAChG;EAEA,IAAA,IAAI,QAAQ,CAAC,eAAe,EAAE;EAC5B,QAAA,QAAQ,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK;EACzC,QAAA,QAAQ,CAAC,eAAe,CAAC,WAAW,GAAG,eAAe;MACxD;EACF;EAEA;;EAEG;EACH,eAAe,sBAAsB,GAAA;EACnC,IAAA,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;UACpB,UAAU,CAAC,sDAAsD,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;UACtG;MACF;;MAGA,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,4BAA4B,CAAsB;MACjG,IAAI,OAAO,EAAE;EACX,QAAA,OAAO,CAAC,QAAQ,GAAG,IAAI;EACvB,QAAA,OAAO,CAAC,SAAS,GAAG,4LAA4L;MAClN;EAEA,IAAA,IAAI;UACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAA,yBAAA,CAA2B,EAAE;EAC3E,YAAA,MAAM,EAAE,MAAM;EACd,YAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;EAC/C,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;kBACnB,UAAU,EAAE,KAAK,CAAC,SAAS;kBAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;kBAC3B,SAAS,EAAE,MAAM,CAAC,QAAQ;eAC3B,CAAC;EACH,SAAA,CAAC;EAEF,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;UAElC,eAAe,GAAG,IAAI;;UAGtB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE;cACxD,eAAe,CAAC,SAAS,EAAE,CAAA,gCAAA,EAAmC,IAAI,CAAC,iBAAiB,CAAA,CAAA,CAAG,CAAC;UAC1F;eAAO;EACL,YAAA,eAAe,CAAC,SAAS,EAAE,iCAAiC,CAAC;UAC/D;;UAGA,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,yBAAyB,CAAgB;UAC3F,IAAI,UAAU,EAAE;EACd,YAAA,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;UACnC;;EAGA,QAAA,qBAAqB,EAAE;MAEzB;MAAE,OAAO,KAAK,EAAE;EACd,QAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC;UACpD,UAAU,CAAC,wDAAwD,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;MAC1G;;MAGA,IAAI,OAAO,EAAE;EACX,QAAA,OAAO,CAAC,QAAQ,GAAG,KAAK;EACxB,QAAA,OAAO,CAAC,SAAS,GAAG,yLAAyL;MAC/M;EACF;EAEA;;EAEG;EACH,IAAI,qBAAqB,GAA0C,IAAI;EACvE,IAAI,gBAAgB,GAAG,CAAC;EAExB;;EAEG;EACH,SAAS,qBAAqB,GAAA;EAC5B,IAAA,IAAI,qBAAqB;UAAE;EAE3B,IAAA,qBAAqB,GAAG,WAAW,CAAC,YAAW;UAC7C,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE;EACxC,YAAA,oBAAoB,EAAE;cACtB;UACF;EAEA,QAAA,IAAI;EACF,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,CAAA,EAAG,MAAM,CAAC,SAAS,CAAA,0BAAA,EAA6B,KAAK,CAAC,SAAS,EAAE,EAAE;EAC9F,gBAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;EAChD,aAAA,CAAC;cAEF,IAAI,CAAC,QAAQ,CAAC,EAAE;kBAAE;EAElB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;cAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;;EAG3C,YAAA,IAAI,QAAQ,GAAG,gBAAgB,EAAE;;kBAE/B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;EACzD,gBAAA,WAAW,CAAC,OAAO,CAAC,CAAC,GAA6C,KAAI;;EAEpE,oBAAA,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,EAAE;EAC/B,wBAAA,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;sBACzD;EAAO,yBAAA,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;;EAExF,wBAAA,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;sBAC7D;EACF,gBAAA,CAAC,CAAC;kBACF,gBAAgB,GAAG,QAAQ;cAC7B;;EAGA,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;kBAC5B,eAAe,GAAG,KAAK;EACvB,gBAAA,oBAAoB,EAAE;kBACtB,eAAe,CAAC,QAAQ,CAAC;kBACzB,UAAU,CAAC,iEAAiE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;;kBAGjH,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,yBAAyB,CAAgB;kBAC3F,IAAI,UAAU,EAAE;EACd,oBAAA,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;kBACnC;cACF;;EAGA,YAAA,IAAI;EACF,gBAAA,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,CAAA,EAAG,MAAM,CAAC,SAAS,oCAAoC,KAAK,CAAC,SAAS,CAAA,CAAE,CAAC;EACzG,gBAAA,IAAI,WAAW,CAAC,EAAE,EAAE;EAClB,oBAAA,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;EACxC,oBAAA,IAAI,OAAO,CAAC,SAAS,EAAE;EACrB,wBAAA,IAAI,OAAO,CAAC,aAAa,KAAK,aAAa,EAAE;;EAE3C,4BAAA,eAAe,CAAC,WAAW,EAAE,4BAA4B,CAAC;0BAC5D;EAAO,6BAAA,IAAI,OAAO,CAAC,aAAa,KAAK,MAAM,EAAE;;8BAE3C,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,GAAG,CAAC,EAAE;kCAC9D,eAAe,CAAC,SAAS,EAAE,CAAA,gCAAA,EAAmC,OAAO,CAAC,iBAAiB,CAAA,CAAA,CAAG,CAAC;8BAC7F;mCAAO;EACL,gCAAA,eAAe,CAAC,SAAS,EAAE,wBAAwB,CAAC;8BACtD;0BACF;sBACF;kBACF;cACF;EAAE,YAAA,MAAM;;cAER;UAEF;UAAE,OAAO,KAAK,EAAE;EACd,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC;UACrD;MACF,CAAC,EAAE,IAAI,CAAC;EACV;EAEA;;EAEG;EACH,SAAS,oBAAoB,GAAA;MAC3B,IAAI,qBAAqB,EAAE;UACzB,aAAa,CAAC,qBAAqB,CAAC;UACpC,qBAAqB,GAAG,IAAI;MAC9B;EACF;EAEA;;EAEG;EACH,SAAS,UAAU,GAAA;MACjB,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,QAAQ;UAAE;EACvD,IAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC;UAAE;MAExD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;EAC5C,IAAA,MAAM,CAAC,SAAS,GAAG,gBAAgB;EACnC,IAAA,MAAM,CAAC,SAAS,GAAG,CAAA,+JAAA,CAAiK;EACpL,IAAA,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;MACrC,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY;EAC9D;EAEA;;EAEG;EACH,SAAS,UAAU,GAAA;MACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC;EAClE,IAAA,IAAI,MAAM;UAAE,MAAM,CAAC,MAAM,EAAE;EAC7B;EAEA;;EAEG;EACH,SAAS,eAAe,GAAA;MACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;EAC5C,IAAA,IAAI,CAAC,OAAO;UAAE;EAEd,IAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;EAClB,QAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;UACzB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;MACtC;EACA,IAAA,IAAI,QAAQ,CAAC,OAAO,EAAE;EACpB,QAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;MAClC;EAEA,IAAA,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;EAC3B,IAAA,UAAU,EAAE;MACZ,mBAAmB,CAAC,OAAO,CAAC;EAC9B;EAEA;;;EAGG;EACH,eAAe,mBAAmB,CAAC,OAAe,EAAA;;MAEhD,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;EAC1C,QAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;EACrB,YAAA,IAAI,EAAE,SAAS;EACf,YAAA,OAAO,EAAE,OAAO;EACjB,SAAA,CAAC,CAAC;UACH;MACF;;EAGA,IAAA,IAAI;UACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAA,mBAAA,CAAqB,EAAE;EACrE,YAAA,MAAM,EAAE,MAAM;EACd,YAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;EAC/C,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;EACnB,gBAAA,OAAO,EAAE,OAAO;kBAChB,UAAU,EAAE,KAAK,CAAC,SAAS;kBAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;kBAC3B,SAAS,EAAE,MAAM,CAAC,QAAQ;eAC3B,CAAC;EACH,SAAA,CAAC;EAEF,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;EAClC,QAAA,UAAU,EAAE;EAEZ,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;EACnB,YAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;cACjC,IAAI,MAAM,CAAC,cAAc;EAAE,gBAAA,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;UACnE;EAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;cACjB,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;UAC1F;MACF;MAAE,OAAO,KAAK,EAAE;EACd,QAAA,UAAU,EAAE;EACZ,QAAA,UAAU,CAAC,gDAAgD,EAAE,KAAK,CAAC;EACnE,QAAA,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;MACtB;EACF;EAEA;;EAEG;EACH,SAAS,gBAAgB,CAAC,CAAQ,EAAA;EAChC,IAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B;MAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;EAC9B,IAAA,IAAI,CAAC,IAAI;UAAE;MAEX,UAAU,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAA,GAAA,CAAK,EAAE,MAAM,CAAC;EACnD,IAAA,UAAU,EAAE;EAEZ,IAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE;EAC/B,IAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;MAC7B,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;MACpD,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;MACpD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;EAE7C,IAAA,KAAK,CAAC,CAAA,EAAG,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;WACvE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;EACpB,SAAA,IAAI,CAAC,CAAC,IAAI,KAAI;EACb,QAAA,UAAU,EAAE;UACZ,IAAI,IAAI,CAAC,OAAO;EAAE,YAAA,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;EACnD,IAAA,CAAC;WACA,KAAK,CAAC,MAAK;EACV,QAAA,UAAU,EAAE;EACZ,QAAA,UAAU,CAAC,wBAAwB,EAAE,KAAK,CAAC;EAC7C,IAAA,CAAC,CAAC;EAEJ,IAAA,MAAM,CAAC,KAAK,GAAG,EAAE;EACnB;EAEA;;EAEG;EACH,SAAS,SAAS,GAAA;EAChB,IAAA,IAAI;EACF,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,ooBAAooB,CACroB;EACD,QAAA,KAAK,CAAC,MAAM,GAAG,GAAG;UAClB,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAK,EAAE,CAAC,CAAC;MAC9B;EAAE,IAAA,MAAM;;MAER;EACF;EAGA;EACA;EACA;EAEA;;;;;;;EAOG;EACH,SAAS,gBAAgB,CAAC,YAAqB,EAAA;EAC7C,IAAA,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,YAAY;UAAE;EAExC,IAAA,IAAI,KAAa;EAEjB,IAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;;EAEnB,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;EAC1D,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;cACjC,SAAS,EAAE,MAAM,CAAC,QAAQ;EAC3B,SAAA,CAAC;EACF,QAAA,IAAI,KAAK,CAAC,SAAS,EAAE;cACnB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;UAC9C;EACA,QAAA,IAAI,KAAK,CAAC,SAAS,EAAE;cACnB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;UAC9C;UACA,KAAK,GAAG,GAAG,SAAS,CAAA,WAAA,EAAc,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAE;MACvD;WAAO;;EAEL,QAAA,KAAK,GAAG,YAAY,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK;MAC1E;EAEA,IAAA,IAAI;EACF,QAAA,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC;EAEzB,QAAA,EAAE,CAAC,MAAM,GAAG,MAAK;EACf,YAAA,KAAK,CAAC,WAAW,GAAG,IAAI;cACxB,iBAAiB,GAAG,CAAC;cACrB,YAAY,CAAC,IAAI,CAAC;cAClB,IAAI,CAAC,WAAW,CAAC;EACnB,QAAA,CAAC;EAED,QAAA,EAAE,CAAC,OAAO,GAAG,MAAK;EAChB,YAAA,KAAK,CAAC,WAAW,GAAG,KAAK;cACzB,YAAY,CAAC,KAAK,CAAC;cACnB,IAAI,CAAC,cAAc,CAAC;;EAGpB,YAAA,IAAI,iBAAiB,GAAG,oBAAoB,EAAE;EAC5C,gBAAA,iBAAiB,EAAE;EACnB,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC;kBACpE,UAAU,CAAC,MAAM,gBAAgB,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;cACzD;mBAAO;;EAEL,gBAAA,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC;EACtE,gBAAA,YAAY,EAAE;cAChB;EACF,QAAA,CAAC;EAED,QAAA,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,KAAI;EACrB,YAAA,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC;;EAE1C,QAAA,CAAC;EAED,QAAA,EAAE,CAAC,SAAS,GAAG,CAAC,CAAe,KAAI;EACjC,YAAA,IAAI;kBACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;EAE/B,gBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;;EAE7B,oBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;EACnB,wBAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;0BACjC,IAAI,MAAM,CAAC,cAAc;EAAE,4BAAA,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;sBACnE;EACA,oBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;EACnB,wBAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;0BACjC,IAAI,MAAM,CAAC,cAAc;EAAE,4BAAA,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;sBACnE;;EAEA,oBAAA,IAAI,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;EACvD,wBAAA,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC;sBACzC;kBACF;EAAO,qBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;EAClC,oBAAA,UAAU,EAAE;EACZ,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,KAAK;EACtD,oBAAA,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;0BAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;0BAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;0BAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;0BAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;EAC1B,qBAAA,CAAC;kBACJ;EAAO,qBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;EACjC,oBAAA,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE;kBAC9C;EAAO,qBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;;kBAEjC;EAAO,qBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;sBAChC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC;sBACtD,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;kBAC1C;cACF;EAAE,YAAA,MAAM;;cAER;EACF,QAAA,CAAC;;EAGD,QAAA,cAAc,EAAE;MAElB;EAAE,IAAA,MAAM;;EAEN,QAAA,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC;EACtD,QAAA,YAAY,EAAE;MAChB;EACF;EAEA;;EAEG;EACH,IAAI,iBAAiB,GAA0C,IAAI;EAEnE;;EAEG;EACH,SAAS,cAAc,GAAA;EACrB,IAAA,IAAI,iBAAiB;UAAE;EAEvB,IAAA,iBAAiB,GAAG,WAAW,CAAC,MAAK;UACnC,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;EAC1C,YAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;UAC3C;EACF,IAAA,CAAC,EAAE,KAAK,CAAC,CAAC;EACZ;EAEA;;EAEG;EACH,SAAS,aAAa,GAAA;MACpB,IAAI,iBAAiB,EAAE;UACrB,aAAa,CAAC,iBAAiB,CAAC;UAChC,iBAAiB,GAAG,IAAI;MAC1B;EACF;EAEA;;EAEG;EACH,SAAS,YAAY,GAAA;EACnB,IAAA,IAAI,YAAY;UAAE;EAElB,IAAA,YAAY,GAAG,WAAW,CAAC,YAAW;UACpC,IAAI,CAAC,KAAK,CAAC,SAAS;cAAE;EAEtB,QAAA,IAAI;cACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,CAAA,EAAG,MAAM,CAAC,SAAS,CAAA,yBAAA,EAA4B,KAAK,CAAC,SAAS,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA,WAAA,EAAc,MAAM,CAAC,QAAQ,CAAA,CAAE,CACzH;EACD,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;EAElC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;kBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAiG,KAAI;sBAC1H,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE;EAChD,wBAAA,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC;sBACxD;EACF,gBAAA,CAAC,CAAC;cACJ;UACF;EAAE,QAAA,MAAM;;UAER;MACF,CAAC,EAAE,IAAI,CAAC;EACV;EAEA;;EAEG;EACH,SAAS,YAAY,CAAC,MAAe,EAAA;EACnC,IAAA,IAAI,QAAQ,CAAC,SAAS,EAAE;EACtB,QAAA,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;MACzD;EACA,IAAA,IAAI,QAAQ,CAAC,UAAU,EAAE;EACvB,QAAA,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS;MACjE;EACF;EAGA;EACA;EACA;EAEA;;EAEG;EACH,SAAS,IAAI,GAAA;MACX,IAAI,KAAK,CAAC,MAAM;UAAE;EAClB,IAAA,KAAK,CAAC,MAAM,GAAG,IAAI;EACnB,IAAA,KAAK,CAAC,WAAW,GAAG,CAAC;EAErB,IAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;EAClB,QAAA,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE;MACjC;EACA,IAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;UACnB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;MACvC;EACA,IAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;UACnB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;MACvC;EAEA,IAAA,UAAU,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;MAC9C,IAAI,CAAC,MAAM,CAAC;EACd;EAEA;;EAEG;EACH,SAAS,KAAK,GAAA;MACZ,IAAI,CAAC,KAAK,CAAC,MAAM;UAAE;EACnB,IAAA,KAAK,CAAC,MAAM,GAAG,KAAK;EAEpB,IAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;UACnB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;MAC1C;EACA,IAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;UACnB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;MAC1C;MAEA,IAAI,CAAC,OAAO,CAAC;EACf;EAEA;;EAEG;EACH,SAAS,MAAM,GAAA;EACb,IAAA,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE;EACjC;EAEA;;EAEG;EACH,SAAS,oBAAoB,GAAA;EAC3B,IAAA,KAAK,CAAC,SAAS,GAAG,IAAI;EACtB,IAAA,KAAK,CAAC,QAAQ,GAAG,EAAE;EACnB,IAAA,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;EAE3B,IAAA,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE;MAClC;EAEA,IAAA,IAAI,MAAM,CAAC,cAAc,EAAE;EACzB,QAAA,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC;MAC1C;EACF;EAEA;;EAEG;EACH,SAAS,OAAO,GAAA;;EAEd,IAAA,aAAa,EAAE;;EAGf,IAAA,oBAAoB,EAAE;;MAGtB,IAAI,EAAE,EAAE;UACN,EAAE,CAAC,KAAK,EAAE;UACV,EAAE,GAAG,IAAI;MACX;;MAGA,IAAI,YAAY,EAAE;UAChB,aAAa,CAAC,YAAY,CAAC;UAC3B,YAAY,GAAG,IAAI;MACrB;;EAGA,IAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;EACnB,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;MAC1B;MAEA,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;MAC/D,IAAI,MAAM,EAAE;UACV,MAAM,CAAC,MAAM,EAAE;MACjB;;EAGA,IAAA,KAAK,GAAG;EACN,QAAA,MAAM,EAAE,KAAK;EACb,QAAA,WAAW,EAAE,KAAK;EAClB,QAAA,QAAQ,EAAE,EAAE;EACZ,QAAA,SAAS,EAAE,IAAI;EACf,QAAA,SAAS,EAAE,IAAI;EACf,QAAA,WAAW,EAAE,CAAC;OACf;MACD,QAAQ,GAAG,EAAE;MACb,iBAAiB,GAAG,CAAC;EACvB;EAEA;;EAEG;EACH,SAAS,WAAW,CAAC,OAAe,EAAA;EAClC,IAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;UAAE;EAErB,IAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;EAClB,QAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO;MAChC;EACA,IAAA,eAAe,EAAE;EACnB;EAEA;;EAEG;EACH,SAAS,OAAO,CAAC,IAAc,EAAA;MAC7B,IAAI,IAAI,CAAC,IAAI;EAAE,QAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;MAC9C,IAAI,IAAI,CAAC,KAAK;EAAE,QAAA,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC;MACjD,IAAI,IAAI,CAAC,QAAQ;EAAE,QAAA,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC;EAC5D;EAEA;;EAEG;EACH,SAAS,YAAY,GAAA;EACnB,IAAA,oBAAoB,EAAE;EACxB;EAEA;;EAEG;EACH,SAAS,EAAE,CAAC,KAAkB,EAAE,QAAuB,EAAA;EACrD,IAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;EAC1B,QAAA,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;MAC5B;MACA,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;EACtC;EAEA;;EAEG;EACH,SAAS,GAAG,CAAC,KAAkB,EAAE,QAAuB,EAAA;EACtD,IAAA,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;UACzB,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC;MAC/E;EACF;EAEA;;EAEG;EACH,SAAS,QAAQ,GAAA;EACf,IAAA,OAAO,EAAE,GAAG,KAAK,EAAE;EACrB;EAGA;EACA;EACA;EAEA;;;;;;EAMG;EACH,eAAe,iBAAiB,CAAC,QAAgB,EAAE,SAAiB,EAAA;EAelE,IAAA,IAAI;EACF,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,CAAA,EAAG,SAAS,CAAA,6BAAA,EAAgC,kBAAkB,CAAC,QAAQ,CAAC,CAAA,CAAE,CAAC;EAExG,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;EAChB,YAAA,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;cACzD,OAAO;EACL,gBAAA,OAAO,EAAE,KAAK;kBACd,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAA,KAAA,EAAQ,QAAQ,CAAC,MAAM,CAAA,CAAE;eACpD;UACH;EAEA,QAAA,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE;MAC9B;MAAE,OAAO,KAAK,EAAE;UACd,OAAO;EACL,YAAA,OAAO,EAAE,KAAK;EACd,YAAA,KAAK,EAAE,2DAA2D;WACnE;MACH;EACF;EAEA;;EAEG;EACH,SAAS,iBAAiB,CAAC,YAS1B,EAAA;;MAEC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;MACjD,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;MAC1D,MAAM,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc;MAC5E,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;MACnE,MAAM,CAAC,QAAQ,GAAI,YAAY,CAAC,QAAqC,IAAI,MAAM,CAAC,QAAQ;;EAGxF,IAAA,IAAI,YAAY,CAAC,KAAK,EAAE;EACtB,QAAA,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY;EAC5E,QAAA,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY;EAC5E,QAAA,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU;EACtE,QAAA,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU;EACtE,QAAA,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE;EACnC,YAAA,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,YAAY;UAC5F;MACF;;EAGA,IAAA,IAAI,YAAY,CAAC,QAAQ,EAAE;EACzB,QAAA,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;EACtE,QAAA,MAAM,CAAC,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB;EACpG,QAAA,MAAM,CAAC,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc;EACrF,QAAA,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY;EAC/E,QAAA,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB;EAC3F,QAAA,MAAM,CAAC,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc;MACvF;;EAGA,IAAA,IAAI,YAAY,CAAC,QAAQ,EAAE;EACzB,QAAA,MAAM,CAAC,SAAS,GAAI,YAAY,CAAC,QAAQ,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS;EAClF,QAAA,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS;MACnF;EACF;EAEA;;;;;;;;EAQG;EACH,eAAe,IAAI,CAAC,UAAwB,EAAA;;EAE1C,IAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;EACxB,QAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC;EAClD,QAAA,OAAO,IAAI;MACb;;MAGA,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAkB;;EAG5D,IAAA,KAAK,CAAC,SAAS,GAAG,OAAO,CAAS,YAAY,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;EACnE,IAAA,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;;EAGtC,IAAA,IAAI,MAAM,CAAC,cAAc,EAAE;EACzB,QAAA,KAAK,CAAC,SAAS,GAAG,OAAO,CAAS,YAAY,CAAC;MACjD;;;EAIA,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,wBAAwB;MAC9D,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;EAE1E,IAAA,IAAI,YAAgC;MAEpC,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE;;EAEnD,QAAA,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC;EACxC,QAAA,YAAY,GAAG,cAAc,CAAC,YAAY;MAC5C;EAAO,SAAA,IAAI,cAAc,CAAC,KAAK,EAAE;;UAE/B,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,cAAc,CAAC,KAAK,CAAC;;EAGjF,QAAA,IAAI,cAAc,CAAC,KAAK,KAAK,uCAAuC,EAAE;EACpE,YAAA,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC;;UAEnF;MACF;;EAGA,IAAA,YAAY,EAAE;;MAGd,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;;EAGlF,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE;EACxD,QAAA,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC;MAC1C;;MAGA,gBAAgB,CAAC,YAAY,CAAC;;EAG9B,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;EACpB,QAAA,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;MACvB;MAEA,IAAI,CAAC,OAAO,CAAC;EACb,IAAA,OAAO,SAAS;EAClB;EAGA;EACA;EACA;EAEA;;;;;EAKG;EACH,MAAM,SAAS,GAAmB;MAChC,IAAI;MACJ,IAAI;MACJ,KAAK;MACL,MAAM;MACN,OAAO;MACP,WAAW;MACX,OAAO;MACP,YAAY;MACZ,EAAE;MACF,GAAG;MACH,QAAQ;EACR,IAAA,OAAO,EAAE,OAAO;GACjB;EAED;;EAEG;AACI,QAAM,WAAW,GAAmB;EAE3C;;EAEG;WACa,oBAAoB,GAAA;EAClC,IAAA,OAAO,EAAE,GAAG,SAAS,EAAE;EACzB;EAEA;EACA;EACA;EAEA;;;EAGG;EACH,CAAC,SAAS,QAAQ,GAAA;MAChB,IAAI,OAAO,QAAQ,KAAK,WAAW;UAAE;EAErC,IAAA,IAAI,MAAM,GAA6B,QAAQ,CAAC,aAAkC;MAElF,IAAI,CAAC,MAAM,EAAE;UACX,MAAM,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC;EACvD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACvC,YAAA,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;EACxD,gBAAA,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;kBACnB;cACF;UACF;MACF;EAEA,IAAA,IAAI,CAAC,MAAM;UAAE;MAEb,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC;MACtD,IAAI,QAAQ,EAAE;EACZ,QAAA,MAAM,UAAU,GAAiD,EAAE,QAAQ,EAAE;;UAG7E,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC;EACxD,QAAA,IAAI,SAAS;EAAE,YAAA,UAAU,CAAC,SAAS,GAAG,SAAS;UAE/C,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;EAC/C,QAAA,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM;EAAE,YAAA,UAAU,CAAC,KAAK,GAAG,KAAK;UAEnE,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC;EACrD,QAAA,IAAI,QAAQ;EAAE,YAAA,UAAU,CAAC,QAAQ,GAAG,QAAoC;UAExE,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC;UACxD,IAAI,SAAS,KAAK,MAAM;EAAE,YAAA,UAAU,CAAC,SAAS,GAAG,IAAI;;EAGrD,QAAA,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;EACrC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,UAA0B,CAAC,CAAC;UACvF;eAAO;cACL,IAAI,CAAC,UAA0B,CAAC;UAClC;MACF;EACF,CAAC,GAAG;EAEJ;EACA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;EAChC,IAAA,MAA6C,CAAC,WAAW,GAAG,WAAW;EAC1E;;EC1kDA;;;;;;;EAOG;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/widget.ts","../src/index.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|
package/dist/index.umd.min.js
CHANGED
|
@@ -1,2 +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={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>',o='<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>',i='<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>',a='<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>',s='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line></svg>',r='<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>',c='<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>',l='<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>',d='<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><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><line x1="10" y1="9" x2="8" y2="9"></line></svg>';let p={widgetId:"",...t},u={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},h=!1,m={};const g={};let b=null,f=null,x=0;function v(e=""){return e+Math.random().toString(36).slice(2,14)+Date.now().toString(36)}function y(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}function w(e,t){const n="ihooman_chat_"+e;try{if(void 0===t){const e=localStorage.getItem(n);return e?JSON.parse(e):null}return null===t?(localStorage.removeItem(n),null):(localStorage.setItem(n,JSON.stringify(t)),t)}catch{return null}}function V(e,t){(g[e]||[]).forEach(n=>{try{n(t)}catch(t){console.error(`Error in ${e} event handler:`,t)}});const n=`on${e.charAt(0).toUpperCase()}${e.slice(1)}`,o=p[n];if("function"==typeof o)try{o(t)}catch(e){console.error(`Error in ${n} callback:`,e)}}function k(){const e=document.createElement("style");e.id="ihooman-widget-styles",e.textContent=function(){const{primaryColor:e,gradientFrom:t,gradientTo:n,fontFamily:o,borderRadius:i,zIndex:a,width:s,height:r,buttonSize:c}=p,l="dark"===p.theme,d=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",b=`linear-gradient(135deg, ${t}, ${n})`,f=l?"#252542":"#f1f5f9",x=p.position?.includes("right")??!0,v=p.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: ${u}; -webkit-font-smoothing: antialiased; }\n .ihooman-toggle { position: fixed; ${x?"right: 20px":"left: 20px"}; ${v?"bottom: 20px":"top: 20px"}; width: ${c}px; height: ${c}px; border-radius: 50%; background: linear-gradient(135deg, ${t}, ${n}); 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; ${x?"right: 20px":"left: 20px"}; ${v?"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: ${d}; 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, ${t}, ${n}); 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: ${d}; }\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: ${b}; color: white; border-bottom-right-radius: 4px; }\n .ihooman-message.bot .ihooman-message-content { background: ${f}; 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: ${f}; 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: ${d}; 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: 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: ${h}; }\n .ihooman-input-btn:hover { background: ${m}; color: ${u}; }\n .ihooman-input-btn.send { background: linear-gradient(135deg, ${t}, ${n}); 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: ${h}; background: ${d}; }\n .ihooman-powered a { color: ${e}; text-decoration: none; }\n .ihooman-error { padding: 16px; text-align: center; color: #ef4444; background: ${d}; }\n .ihooman-escalation-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }\n .ihooman-escalation-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border-radius: 8px; border: none; cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 500; transition: all 0.2s ease; }\n .ihooman-escalation-btn svg { width: 16px; height: 16px; }\n .ihooman-escalation-btn.primary { background: linear-gradient(135deg, ${t}, ${n}); color: white; }\n .ihooman-escalation-btn.primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 174, 255, 0.3); }\n .ihooman-escalation-btn.secondary { background: ${l?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.05)"}; color: ${u}; border: 1px solid ${m}; }\n .ihooman-escalation-btn.secondary:hover { background: ${l?"rgba(255,255,255,0.15)":"rgba(0,0,0,0.08)"}; }\n .ihooman-escalation-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\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; }\n .ihooman-chat-view.hidden { display: none; }\n .ihooman-ticket-view { display: none; flex-direction: column; padding: 20px; gap: 16px; background: ${d}; flex: 1; overflow-y: auto; }\n .ihooman-ticket-view.show { display: flex; }\n .ihooman-ticket-title { font-size: 18px; font-weight: 600; color: ${u}; margin: 0; display: flex; align-items: center; gap: 8px; }\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 { padding: 14px; background: linear-gradient(135deg, ${t}, ${n}); color: white; border: none; border-radius: 10px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s; }\n .ihooman-ticket-submit:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 174, 255, 0.3); }\n .ihooman-ticket-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\n .ihooman-ticket-back { padding: 10px; background: transparent; color: ${h}; border: 1px solid ${m}; border-radius: 10px; font-size: 13px; cursor: pointer; transition: all 0.2s; }\n .ihooman-ticket-back:hover { background: ${l?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)"}; }\n .ihooman-action-buttons { display: flex; gap: 8px; padding: 0 16px 12px; }\n .ihooman-action-btn { flex: 1; padding: 10px; border: none; border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; transition: all 0.2s; }\n .ihooman-action-btn svg { width: 16px; height: 16px; }\n .ihooman-action-btn.ticket { background: #6366f1; color: white; }\n .ihooman-action-btn.ticket:hover { background: #4f46e5; }\n .ihooman-action-btn.live { background: #10b981; color: white; }\n .ihooman-action-btn.live:hover { background: #059669; }\n .ihooman-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }\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 { ${x?"right: 16px":"left: 16px"}; bottom: 16px; } }\n `}(),document.head.appendChild(e);const t=document.createElement("div");t.className="ihooman-widget",t.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">${o}</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">${p.avatarUrl?`<img src="${y(p.avatarUrl)}" alt="Support">`:c}</div>\n <div class="ihooman-header-info">\n <div class="ihooman-header-title">${y(p.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">${r}</button>\n <button class="ihooman-header-btn" data-action="minimize" title="Minimize">${s}</button>\n </div>\n </div>\n \n \x3c!-- Chat View --\x3e\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-action-buttons">\n <button class="ihooman-action-btn ticket" data-action="show-ticket">\n <svg viewBox="0 0 24 24" fill="currentColor"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg>\n Submit Ticket\n </button>\n <button class="ihooman-action-btn live" data-action="live-agent">\n <svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>\n Live Agent\n </button>\n </div>\n <div class="ihooman-input-area">\n <div class="ihooman-input-wrapper">\n ${p.enableFileUpload?`<button class="ihooman-input-btn attach" title="Attach file">${a}</button><input type="file" class="ihooman-file-input">`:""}\n <textarea class="ihooman-input" placeholder="${y(p.placeholder||"Type a message...")}" rows="1" aria-label="Message input"></textarea>\n <button class="ihooman-input-btn send" title="Send message" disabled>${i}</button>\n </div>\n </div>\n </div>\n \n \x3c!-- Ticket Form View --\x3e\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 \n ${p.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(t),m={widget:t,toggle:t.querySelector(".ihooman-toggle"),badge:t.querySelector(".ihooman-badge"),window:t.querySelector(".ihooman-window"),chatView:t.querySelector(".ihooman-chat-view"),ticketView:t.querySelector(".ihooman-ticket-view"),messages:t.querySelector(".ihooman-messages"),input:t.querySelector(".ihooman-input"),sendBtn:t.querySelector(".ihooman-input-btn.send"),attachBtn:t.querySelector(".ihooman-input-btn.attach"),fileInput:t.querySelector(".ihooman-file-input"),statusDot:t.querySelector(".ihooman-status-dot"),statusText:t.querySelector(".ihooman-status-text"),statusBar:t.querySelector(".ihooman-status-bar"),ticketName:t.querySelector("#ihooman-ticket-name"),ticketEmail:t.querySelector("#ihooman-ticket-email"),ticketIssue:t.querySelector("#ihooman-ticket-issue"),ticketSubmitBtn:t.querySelector("#ihooman-ticket-submit"),ticketBackBtn:t.querySelector("#ihooman-ticket-back")},function(){if(!m.toggle||!m.sendBtn||!m.input)return;m.toggle.addEventListener("click",W),m.sendBtn.addEventListener("click",U),m.input.addEventListener("input",()=>{m.sendBtn&&(m.sendBtn.disabled=!m.input?.value.trim()),m.input&&(m.input.style.height="auto",m.input.style.height=Math.min(m.input.scrollHeight,100)+"px")}),m.input.addEventListener("keydown",e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m.sendBtn?.disabled||U())}),m.attachBtn&&m.fileInput&&(m.attachBtn.addEventListener("click",()=>m.fileInput?.click()),m.fileInput.addEventListener("change",M));m.widget?.querySelector('[data-action="refresh"]')?.addEventListener("click",D),m.widget?.querySelector('[data-action="minimize"]')?.addEventListener("click",H),m.widget?.querySelector('[data-action="show-ticket"]')?.addEventListener("click",_),m.widget?.querySelector('[data-action="live-agent"]')?.addEventListener("click",B),m.ticketSubmitBtn&&m.ticketSubmitBtn.addEventListener("click",C);m.ticketBackBtn&&m.ticketBackBtn.addEventListener("click",()=>S("chat"))}()}function A(e,t="bot",n={}){const o={id:v("msg_"),content:e,sender:t,timestamp:new Date,metadata:n};if(u.messages.push(o),!m.messages)return o;const i=document.createElement("div");i.className=`ihooman-message ${t}`;const a="bot"===t&&!0===n?.escalation_offered;let s="";var r,c;if(a&&(s=`\n <div class="ihooman-escalation-actions">\n <button class="ihooman-escalation-btn primary" data-action="live-agent">\n ${l}\n <span>Talk to Agent</span>\n </button>\n <button class="ihooman-escalation-btn secondary" data-action="create-ticket">\n ${d}\n <span>Create Ticket</span>\n </button>\n </div>\n `),i.innerHTML=`\n <div class="ihooman-message-content">${c=e,c?y(c).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/\n/g,"<br>"):""}</div>\n ${s}\n ${p.showTimestamps?`<div class="ihooman-message-time">${r=o.timestamp,new Date(r).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}</div>`:""}\n `,a){const e=i.querySelector('[data-action="live-agent"]'),t=i.querySelector('[data-action="create-ticket"]');e&&e.addEventListener("click",()=>$("live-agent")),t&&t.addEventListener("click",()=>$("create-ticket"))}const h=m.messages.querySelector(".ihooman-typing");return h&&h.remove(),m.messages.appendChild(i),m.messages.scrollTop=m.messages.scrollHeight,"bot"!==t||u.isOpen||(u.unreadCount++,m.badge&&(m.badge.textContent=String(u.unreadCount)),p.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 $(e){document.querySelectorAll(".ihooman-escalation-btn").forEach(e=>e.disabled=!0),"live-agent"===e?B():"create-ticket"===e&&_()}function S(e){m.chatView&&m.chatView.classList.toggle("hidden","chat"!==e),m.ticketView&&m.ticketView.classList.toggle("show","ticket"===e)}function _(){S("ticket"),setTimeout(()=>m.ticketName?.focus(),100)}function I(e,t){m.statusBar&&("hidden"!==e?(m.statusBar.classList.add("show"),m.statusBar.classList.remove("waiting","connected"),m.statusBar.classList.add(e),t&&(m.statusBar.textContent=t)):m.statusBar.classList.remove("show"))}async function C(){const e=m.ticketName?.value.trim(),t=m.ticketEmail?.value.trim(),n=m.ticketIssue?.value.trim();if(e&&t){m.ticketSubmitBtn&&(m.ticketSubmitBtn.disabled=!0,m.ticketSubmitBtn.textContent="Submitting...");try{const o=await fetch(`${p.serverUrl}/api/v1/public/submit-ticket`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({session_id:u.sessionId,user_name:e,user_email:t,issue:n||"No description provided",escalation_type:"ticket",widget_id:p.widgetId})}),i=await o.json();m.ticketName&&(m.ticketName.value=""),m.ticketEmail&&(m.ticketEmail.value=""),m.ticketIssue&&(m.ticketIssue.value=""),S("chat");A(`✅ Ticket submitted! We'll contact you at ${t}. Reference: #${i.ticket_id?i.ticket_id.slice(0,8):"submitted"}`,"bot",{is_system_message:!0})}catch(e){console.error("Error submitting ticket:",e),A("❌ Error submitting ticket. Please try again.","bot",{is_system_message:!0})}m.ticketSubmitBtn&&(m.ticketSubmitBtn.disabled=!1,m.ticketSubmitBtn.textContent="Submit Ticket")}else alert("Please fill in your name and email")}async function B(){if(!u.sessionId)return void A("Please send a message first to start a conversation.","bot",{is_system_message:!0});const e=m.widget?.querySelector('[data-action="live-agent"]');e&&(e.disabled=!0,e.innerHTML='<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg> Connecting...');try{const e=await fetch(`${p.serverUrl}/api/v1/public/live-agent`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({session_id:u.sessionId,visitor_id:u.visitorId,widget_id:p.widgetId})}),t=await e.json();h=!0,t.position_in_queue&&t.position_in_queue>1?I("waiting",`⏳ Waiting for agent (Position: #${t.position_in_queue})`):I("waiting","⏳ Connecting to live support...");const n=m.widget?.querySelector(".ihooman-action-buttons");n&&(n.style.display="none"),function(){if(T)return;T=setInterval(async()=>{if(u.sessionId&&h)try{const e=await fetch(`${p.serverUrl}/api/v1/public/transcript/${u.sessionId}`,{headers:{"Content-Type":"application/json"}});if(!e.ok)return;const t=await e.json(),n=t.messages?.length||0;if(n>z){t.messages.slice(z).forEach(e=>{"agent"===e.sender_type?A(e.content,"bot",{agent_name:"Agent"}):"ai"===e.sender_type&&e.content.includes("connected to live support")&&A(e.content,"bot",{is_system_message:!0})}),z=n}if("closed"===t.status){h=!1,E(),I("hidden"),A("This conversation has been closed. Thank you for contacting us!","bot",{is_system_message:!0});const e=m.widget?.querySelector(".ihooman-action-buttons");e&&(e.style.display="flex")}try{const e=await fetch(`${p.serverUrl}/api/v1/public/escalation-status/${u.sessionId}`);if(e.ok){const t=await e.json();t.escalated&&("in_progress"===t.ticket_status?I("connected","🟢 Connected to live agent"):"open"===t.ticket_status&&(t.position_in_queue&&t.position_in_queue>1?I("waiting",`⏳ Waiting for agent (Position: #${t.position_in_queue})`):I("waiting","⏳ Waiting for agent...")))}}catch{}}catch(e){console.error("Error polling for messages:",e)}else E()},3e3)}()}catch(e){console.error("Error requesting live agent:",e),A("❌ Unable to connect to live support. Please try again.","bot",{is_system_message:!0})}e&&(e.disabled=!1,e.innerHTML='<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg> Live Agent')}let T=null,z=0;function E(){T&&(clearInterval(T),T=null)}function L(){if(!p.showTypingIndicator||!m.messages)return;if(m.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>',m.messages.appendChild(e),m.messages.scrollTop=m.messages.scrollHeight}function q(){const e=m.messages?.querySelector(".ihooman-typing");e&&e.remove()}function U(){const e=m.input?.value.trim();e&&(m.input&&(m.input.value="",m.input.style.height="auto"),m.sendBtn&&(m.sendBtn.disabled=!0),A(e,"user"),L(),async function(e){if(b&&b.readyState===WebSocket.OPEN)return void b.send(JSON.stringify({type:"message",content:e}));try{const t=await fetch(`${p.serverUrl}/api/v1/public/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e,session_id:u.sessionId,visitor_id:u.visitorId,widget_id:p.widgetId})}),n=await t.json();q(),n.session_id&&(u.sessionId=n.session_id,p.persistSession&&w("session_id",u.sessionId)),n.response&&A(n.response,"bot",{sources:n.sources,confidence:n.confidence})}catch(e){q(),A("Sorry, something went wrong. Please try again.","bot"),V("error",e)}}(e))}function M(e){const t=e.target,n=t.files?.[0];if(!n)return;A(`📎 Uploading: ${n.name}...`,"user"),L();const o=new FormData;o.append("file",n),o.append("session_id",u.sessionId||""),o.append("visitor_id",u.visitorId||""),o.append("widget_id",p.widgetId),fetch(`${p.serverUrl}/api/upload`,{method:"POST",body:o}).then(e=>e.json()).then(e=>{q(),e.message&&A(e.message,"bot")}).catch(()=>{q(),A("Failed to upload file.","bot")}),t.value=""}function O(e){if(!p.serverUrl&&!e)return;let t;if(p.widgetId){const e=p.serverUrl?.replace(/^http/,"ws"),n=new URLSearchParams({widget_id:p.widgetId});u.visitorId&&n.append("visitor_id",u.visitorId),u.sessionId&&n.append("session_id",u.sessionId),t=`${e}/public/ws?${n.toString()}`}else t=e||p.serverUrl?.replace(/^http/,"ws")+"/ws";try{b=new WebSocket(t),b.onopen=()=>{u.isConnected=!0,x=0,N(!0),V("connected")},b.onclose=()=>{if(u.isConnected=!1,N(!1),V("disconnected"),x<5){x++;const t=Math.min(1e3*Math.pow(2,x),3e4);setTimeout(()=>O(e),t)}else console.warn("WebSocket reconnection failed, falling back to polling"),F()},b.onerror=e=>{console.error("WebSocket error:",e)},b.onmessage=e=>{try{const t=JSON.parse(e.data);if("connected"===t.type)t.session_id&&(u.sessionId=t.session_id,p.persistSession&&w("session_id",u.sessionId)),t.visitor_id&&(u.visitorId=t.visitor_id,p.persistSession&&w("visitor_id",u.visitorId)),t.welcome_message&&0===u.messages.length&&A(t.welcome_message,"bot");else if("message"===t.type){q();const e="user"===t.sender?"user":"bot";A(t.content,e,{confidence:t.confidence,agent_name:t.agent_name,escalation_offered:t.escalation_offered,escalated:t.escalated})}else"typing"===t.type?t.is_typing?L():q():"pong"===t.type||"error"===t.type&&(console.error("WebSocket server error:",t.message),V("error",{message:t.message}))}catch{}},function(){if(j)return;j=setInterval(()=>{b&&b.readyState===WebSocket.OPEN&&b.send(JSON.stringify({type:"ping"}))},3e4)}()}catch{console.warn("WebSocket not supported, using polling"),F()}}let j=null;function F(){f||(f=setInterval(async()=>{if(u.sessionId)try{const e=await fetch(`${p.serverUrl}/api/messages?session_id=${u.sessionId}&since=${Date.now()-5e3}&widget_id=${p.widgetId}`),t=await e.json();t.messages&&t.messages.forEach(e=>{u.messages.find(t=>t.id===e.id)||A(e.content,e.sender_type,e.metadata)})}catch{}},5e3))}function N(e){m.statusDot&&m.statusDot.classList.toggle("offline",!e),m.statusText&&(m.statusText.textContent=e?"Online":"Offline")}function P(){u.isOpen||(u.isOpen=!0,u.unreadCount=0,m.badge&&(m.badge.textContent=""),m.toggle&&m.toggle.classList.add("open"),m.window&&m.window.classList.add("open"),setTimeout(()=>m.input?.focus(),300),V("open"))}function H(){u.isOpen&&(u.isOpen=!1,m.toggle&&m.toggle.classList.remove("open"),m.window&&m.window.classList.remove("open"),V("close"))}function W(){u.isOpen?H():P()}function D(){u.sessionId=null,u.messages=[],w("session_id",null),m.messages&&(m.messages.innerHTML=""),p.welcomeMessage&&A(p.welcomeMessage,"bot")}async function Y(e){if(!e.widgetId)return console.error("IhoomanChat: widgetId is required"),null;p={...t,...e},u.visitorId=w("visitor_id")||v("v_"),w("visitor_id",u.visitorId),p.persistSession&&(u.sessionId=w("session_id"));const n=p.serverUrl||"https://api.ihooman.ai",o=await async function(e,t){try{const n=await fetch(`${t}/api/widget/config?widget_id=${encodeURIComponent(e)}`);return n.ok?await n.json():{success:!1,error:(await n.json().catch(()=>({}))).error||`HTTP ${n.status}`}}catch(e){return{success:!1,error:"Unable to connect. Please check your internet connection."}}}(p.widgetId,n);let i;var a;return o.success&&o.config?(a=o.config,p.title=a.title||p.title,p.subtitle=a.subtitle||p.subtitle,p.welcomeMessage=a.welcomeMessage||p.welcomeMessage,p.placeholder=a.placeholder||p.placeholder,p.position=a.position||p.position,a.theme&&(p.primaryColor=a.theme.primaryColor||p.primaryColor,p.gradientFrom=a.theme.gradientFrom||p.gradientFrom,p.gradientTo=a.theme.gradientTo||p.gradientTo,p.fontFamily=a.theme.fontFamily||p.fontFamily,a.theme.borderRadius&&(p.borderRadius=parseInt(a.theme.borderRadius,10)||p.borderRadius)),a.behavior&&(p.startOpen=a.behavior.startOpen??p.startOpen,p.showTypingIndicator=a.behavior.showTypingIndicator??p.showTypingIndicator,p.showTimestamps=a.behavior.showTimestamps??p.showTimestamps,p.enableSounds=a.behavior.enableSounds??p.enableSounds,p.enableFileUpload=a.behavior.enableFileUpload??p.enableFileUpload,p.persistSession=a.behavior.persistSession??p.persistSession),a.branding&&(p.avatarUrl=a.branding.avatarUrl||p.avatarUrl,p.poweredBy=a.branding.poweredBy??p.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.")),k(),u.messages.forEach(e=>A(e.content,e.sender,e.metadata)),0===u.messages.length&&p.welcomeMessage&&A(p.welcomeMessage,"bot"),O(i),p.startOpen&&setTimeout(P,500),V("ready"),R}const R={init:Y,open:P,close:H,toggle:W,destroy:function(){j&&(clearInterval(j),j=null),E(),b&&(b.close(),b=null),f&&(clearInterval(f),f=null),m.widget&&m.widget.remove();const e=document.getElementById("ihooman-widget-styles");e&&e.remove(),u={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},m={},x=0},sendMessage:function(e){e.trim()&&(m.input&&(m.input.value=e),U())},setUser:function(e){e.name&&w("user_name",e.name),e.email&&w("user_email",e.email),e.metadata&&w("user_metadata",e.metadata)},clearHistory:function(){D()},on:function(e,t){g[e]||(g[e]=[]),g[e].push(t)},off:function(e,t){g[e]&&(g[e]=g[e].filter(e=>e!==t))},getState:function(){return{...u}},version:"2.0.0"},J=R;!function(){if("undefined"==typeof document)return;let e=document.currentScript;if(!e){const t=document.getElementsByTagName("script");for(let n=0;n<t.length;n++)if(t[n].src&&t[n].src.includes("ihooman")){e=t[n];break}}if(!e)return;const t=e.getAttribute("data-widget-id");if(t){const n={widgetId:t},o=e.getAttribute("data-server-url");o&&(n.serverUrl=o);const i=e.getAttribute("data-theme");"light"!==i&&"dark"!==i||(n.theme=i);const a=e.getAttribute("data-position");a&&(n.position=a);"true"===e.getAttribute("data-start-open")&&(n.startOpen=!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>Y(n)):Y(n)}}(),"undefined"!=typeof window&&(window.IhoomanChat=J),e.IhoomanChat=J,e.createWidgetInstance=function(){return{...R}},e.default=J,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
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={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>',o='<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>',i='<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>',a='<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>',s='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line></svg>',r='<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>',l='<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>',c='<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>',d='<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><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><line x1="10" y1="9" x2="8" y2="9"></line></svg>';let p={widgetId:"",...t},u={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},m=!1,h={};const g={};let b=null,f=null,x=0;function y(e=""){return e+Math.random().toString(36).slice(2,14)+Date.now().toString(36)}function w(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}function v(e,t){const n="ihooman_chat_"+e;try{if(void 0===t){const e=localStorage.getItem(n);return e?JSON.parse(e):null}return null===t?(localStorage.removeItem(n),null):(localStorage.setItem(n,JSON.stringify(t)),t)}catch{return null}}function V(e,t){(g[e]||[]).forEach(n=>{try{n(t)}catch(t){console.error(`Error in ${e} event handler:`,t)}});const n=`on${e.charAt(0).toUpperCase()}${e.slice(1)}`,o=p[n];if("function"==typeof o)try{o(t)}catch(e){console.error(`Error in ${n} callback:`,e)}}function k(){const e=document.createElement("style");e.id="ihooman-widget-styles",e.textContent=function(){const{primaryColor:e,gradientFrom:t,gradientTo:n,fontFamily:o,borderRadius:i,zIndex:a,width:s,height:r,buttonSize:l}=p,c="dark"===p.theme,d=c?"#1a1a2e":"#ffffff",u=c?"#e4e4e7":"#1f2937",m=c?"#71717a":"#6b7280",h=c?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)",g=c?"#16162a":"#f9fafb",b=`linear-gradient(135deg, ${t}, ${n})`,f=c?"#252542":"#f1f5f9",x=p.position?.includes("right")??!0,y=p.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: ${u}; -webkit-font-smoothing: antialiased; }\n .ihooman-toggle { position: fixed; ${x?"right: 20px":"left: 20px"}; ${y?"bottom: 20px":"top: 20px"}; width: ${l}px; height: ${l}px; border-radius: 50%; background: linear-gradient(135deg, ${t}, ${n}); 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; ${x?"right: 20px":"left: 20px"}; ${y?"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: ${d}; opacity: 0.97; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: ${i}px; border: 1px solid ${h}; 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}, ${n}); 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: ${d}; }\n .ihooman-messages::-webkit-scrollbar { width: 6px; }\n .ihooman-messages::-webkit-scrollbar-track { background: transparent; }\n .ihooman-messages::-webkit-scrollbar-thumb { background: ${h}; 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: ${b}; color: white; border-bottom-right-radius: 4px; }\n .ihooman-message.bot .ihooman-message-content { background: ${f}; 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: ${m}; margin-top: 4px; padding: 0 4px; }\n .ihooman-typing { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: ${f}; 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: ${m}; 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: ${d}; border-top: 1px solid ${h}; flex-shrink: 0; }\n .ihooman-input-wrapper { display: flex; align-items: flex-end; gap: 8px; background: ${g}; border: 1px solid ${h}; 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: ${m}; }\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: ${m}; }\n .ihooman-input-btn:hover { background: ${h}; color: ${u}; }\n .ihooman-input-btn.send { background: linear-gradient(135deg, ${t}, ${n}); 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: ${m}; background: ${d}; }\n .ihooman-powered a { color: ${e}; text-decoration: none; }\n .ihooman-error { padding: 16px; text-align: center; color: #ef4444; background: ${d}; }\n .ihooman-escalation-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }\n .ihooman-escalation-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border-radius: 8px; border: none; cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 500; transition: all 0.2s ease; }\n .ihooman-escalation-btn svg { width: 16px; height: 16px; }\n .ihooman-escalation-btn.primary { background: linear-gradient(135deg, ${t}, ${n}); color: white; }\n .ihooman-escalation-btn.primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 174, 255, 0.3); }\n .ihooman-escalation-btn.secondary { background: ${c?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.05)"}; color: ${u}; border: 1px solid ${h}; }\n .ihooman-escalation-btn.secondary:hover { background: ${c?"rgba(255,255,255,0.15)":"rgba(0,0,0,0.08)"}; }\n .ihooman-escalation-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\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; }\n .ihooman-chat-view.hidden { display: none; }\n .ihooman-ticket-view { display: none; flex-direction: column; padding: 20px; gap: 16px; background: ${d}; flex: 1; overflow-y: auto; }\n .ihooman-ticket-view.show { display: flex; }\n .ihooman-ticket-title { font-size: 18px; font-weight: 600; color: ${u}; margin: 0; display: flex; align-items: center; gap: 8px; }\n .ihooman-ticket-subtitle { font-size: 13px; color: ${m}; margin: 0; }\n .ihooman-ticket-input { padding: 12px 14px; border: 1px solid ${h}; 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: ${m}; }\n .ihooman-ticket-textarea { min-height: 100px; resize: vertical; }\n .ihooman-ticket-submit { padding: 14px; background: linear-gradient(135deg, ${t}, ${n}); color: white; border: none; border-radius: 10px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s; }\n .ihooman-ticket-submit:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 174, 255, 0.3); }\n .ihooman-ticket-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\n .ihooman-ticket-back { padding: 10px; background: transparent; color: ${m}; border: 1px solid ${h}; border-radius: 10px; font-size: 13px; cursor: pointer; transition: all 0.2s; }\n .ihooman-ticket-back:hover { background: ${c?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)"}; }\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 { ${x?"right: 16px":"left: 16px"}; bottom: 16px; } }\n `}(),document.head.appendChild(e);const t=document.createElement("div");t.className="ihooman-widget",t.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">${o}</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">${p.avatarUrl?`<img src="${w(p.avatarUrl)}" alt="Support">`:l}</div>\n <div class="ihooman-header-info">\n <div class="ihooman-header-title">${w(p.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">${r}</button>\n <button class="ihooman-header-btn" data-action="minimize" title="Minimize">${s}</button>\n </div>\n </div>\n \n \x3c!-- Chat View --\x3e\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-input-area">\n <div class="ihooman-input-wrapper">\n ${p.enableFileUpload?`<button class="ihooman-input-btn attach" title="Attach file">${a}</button><input type="file" class="ihooman-file-input">`:""}\n <textarea class="ihooman-input" placeholder="${w(p.placeholder||"Type a message...")}" rows="1" aria-label="Message input"></textarea>\n <button class="ihooman-input-btn send" title="Send message" disabled>${i}</button>\n </div>\n </div>\n </div>\n \n \x3c!-- Ticket Form View --\x3e\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 \n ${p.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(t),h={widget:t,toggle:t.querySelector(".ihooman-toggle"),badge:t.querySelector(".ihooman-badge"),window:t.querySelector(".ihooman-window"),chatView:t.querySelector(".ihooman-chat-view"),ticketView:t.querySelector(".ihooman-ticket-view"),messages:t.querySelector(".ihooman-messages"),input:t.querySelector(".ihooman-input"),sendBtn:t.querySelector(".ihooman-input-btn.send"),attachBtn:t.querySelector(".ihooman-input-btn.attach"),fileInput:t.querySelector(".ihooman-file-input"),statusDot:t.querySelector(".ihooman-status-dot"),statusText:t.querySelector(".ihooman-status-text"),statusBar:t.querySelector(".ihooman-status-bar"),ticketName:t.querySelector("#ihooman-ticket-name"),ticketEmail:t.querySelector("#ihooman-ticket-email"),ticketIssue:t.querySelector("#ihooman-ticket-issue"),ticketSubmitBtn:t.querySelector("#ihooman-ticket-submit"),ticketBackBtn:t.querySelector("#ihooman-ticket-back")},function(){if(!h.toggle||!h.sendBtn||!h.input)return;h.toggle.addEventListener("click",N),h.sendBtn.addEventListener("click",E),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||E())}),h.attachBtn&&h.fileInput&&(h.attachBtn.addEventListener("click",()=>h.fileInput?.click()),h.fileInput.addEventListener("change",L));h.widget?.querySelector('[data-action="refresh"]')?.addEventListener("click",P),h.widget?.querySelector('[data-action="minimize"]')?.addEventListener("click",F),h.ticketSubmitBtn&&h.ticketSubmitBtn.addEventListener("click",_);h.ticketBackBtn&&h.ticketBackBtn.addEventListener("click",()=>S("chat"))}()}function A(e,t="bot",n={}){const o={id:y("msg_"),content:e,sender:t,timestamp:new Date,metadata:n};if(u.messages.push(o),!h.messages)return o;const i=document.createElement("div");i.className=`ihooman-message ${t}`;const a="bot"===t&&!0===n?.escalation_offered;let s="";var r,l;if(a&&(s=`\n <div class="ihooman-escalation-actions">\n <button class="ihooman-escalation-btn primary" data-action="live-agent">\n ${c}\n <span>Talk to Agent</span>\n </button>\n <button class="ihooman-escalation-btn secondary" data-action="create-ticket">\n ${d}\n <span>Create Ticket</span>\n </button>\n </div>\n `),i.innerHTML=`\n <div class="ihooman-message-content">${l=e,l?w(l).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/\n/g,"<br>"):""}</div>\n ${s}\n ${p.showTimestamps?`<div class="ihooman-message-time">${r=o.timestamp,new Date(r).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}</div>`:""}\n `,a){const e=i.querySelector('[data-action="live-agent"]'),t=i.querySelector('[data-action="create-ticket"]');e&&e.addEventListener("click",()=>$("live-agent")),t&&t.addEventListener("click",()=>$("create-ticket"))}const m=h.messages.querySelector(".ihooman-typing");return m&&m.remove(),h.messages.appendChild(i),h.messages.scrollTop=h.messages.scrollHeight,"bot"!==t||u.isOpen||(u.unreadCount++,h.badge&&(h.badge.textContent=String(u.unreadCount)),p.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 $(e){document.querySelectorAll(".ihooman-escalation-btn").forEach(e=>e.disabled=!0),"live-agent"===e?async function(){if(!u.sessionId)return void A("Please send a message first to start a conversation.","bot",{is_system_message:!0});const e=h.widget?.querySelector('[data-action="live-agent"]');e&&(e.disabled=!0,e.innerHTML='<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg> Connecting...');try{const e=await fetch(`${p.serverUrl}/api/widget/live-agent`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({widget_id:p.widgetId,session_id:u.sessionId,visitor_id:u.visitorId})}),t=await e.json();m=!0,t.position_in_queue&&t.position_in_queue>1?I("waiting",`⏳ Waiting for agent (Position: #${t.position_in_queue})`):I("waiting","⏳ Connecting to live support..."),function(){if(C)return;C=setInterval(async()=>{if(u.sessionId&&m)try{try{const e=await fetch(`${p.serverUrl}/api/widget/escalation-status/${u.sessionId}?widget_id=${p.widgetId}`);if(e.ok){const t=await e.json();t.escalated&&("in_progress"===t.ticket_status?I("connected","🟢 Connected to live agent"):"open"===t.ticket_status?t.position_in_queue&&t.position_in_queue>1?I("waiting",`⏳ Waiting for agent (Position: #${t.position_in_queue})`):I("waiting","⏳ Waiting for agent..."):"closed"!==t.ticket_status&&"resolved"!==t.ticket_status||(m=!1,B(),I("hidden"),A("This conversation has been closed. Thank you for contacting us!","bot",{is_system_message:!0})))}}catch{}}catch(e){console.error("Error polling for messages:",e)}else B()},3e3)}()}catch(e){console.error("Error requesting live agent:",e),A("❌ Unable to connect to live support. Please try again.","bot",{is_system_message:!0})}e&&(e.disabled=!1,e.innerHTML='<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg> Live Agent')}():"create-ticket"===e&&(S("ticket"),setTimeout(()=>h.ticketName?.focus(),100))}function S(e){h.chatView&&h.chatView.classList.toggle("hidden","chat"!==e),h.ticketView&&h.ticketView.classList.toggle("show","ticket"===e)}function I(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 _(){const e=h.ticketName?.value.trim(),t=h.ticketEmail?.value.trim(),n=h.ticketIssue?.value.trim();if(e&&t){h.ticketSubmitBtn&&(h.ticketSubmitBtn.disabled=!0,h.ticketSubmitBtn.textContent="Submitting...");try{const o=await fetch(`${p.serverUrl}/api/widget/submit-ticket`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({widget_id:p.widgetId,session_id:u.sessionId,user_name:e,user_email:t,issue:n||"No description provided"})}),i=await o.json();h.ticketName&&(h.ticketName.value=""),h.ticketEmail&&(h.ticketEmail.value=""),h.ticketIssue&&(h.ticketIssue.value=""),S("chat");A(`✅ Ticket submitted! We'll contact you at ${t}. Reference: #${i.ticket_id?i.ticket_id.slice(0,8):"submitted"}`,"bot",{is_system_message:!0})}catch(e){console.error("Error submitting ticket:",e),A("❌ 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")}let C=null;function B(){C&&(clearInterval(C),C=null)}function T(){if(!p.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 z(){const e=h.messages?.querySelector(".ihooman-typing");e&&e.remove()}function E(){const e=h.input?.value.trim();e&&(h.input&&(h.input.value="",h.input.style.height="auto"),h.sendBtn&&(h.sendBtn.disabled=!0),A(e,"user"),T(),async function(e){if(b&&b.readyState===WebSocket.OPEN)return void b.send(JSON.stringify({type:"message",content:e}));try{const t=await fetch(`${p.serverUrl}/api/v1/public/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e,session_id:u.sessionId,visitor_id:u.visitorId,widget_id:p.widgetId})}),n=await t.json();z(),n.session_id&&(u.sessionId=n.session_id,p.persistSession&&v("session_id",u.sessionId)),n.response&&A(n.response,"bot",{sources:n.sources,confidence:n.confidence})}catch(e){z(),A("Sorry, something went wrong. Please try again.","bot"),V("error",e)}}(e))}function L(e){const t=e.target,n=t.files?.[0];if(!n)return;A(`📎 Uploading: ${n.name}...`,"user"),T();const o=new FormData;o.append("file",n),o.append("session_id",u.sessionId||""),o.append("visitor_id",u.visitorId||""),o.append("widget_id",p.widgetId),fetch(`${p.serverUrl}/api/upload`,{method:"POST",body:o}).then(e=>e.json()).then(e=>{z(),e.message&&A(e.message,"bot")}).catch(()=>{z(),A("Failed to upload file.","bot")}),t.value=""}function U(e){if(!p.serverUrl&&!e)return;let t;if(p.widgetId){const e=p.serverUrl?.replace(/^http/,"ws"),n=new URLSearchParams({widget_id:p.widgetId});u.visitorId&&n.append("visitor_id",u.visitorId),u.sessionId&&n.append("session_id",u.sessionId),t=`${e}/public/ws?${n.toString()}`}else t=e||p.serverUrl?.replace(/^http/,"ws")+"/ws";try{b=new WebSocket(t),b.onopen=()=>{u.isConnected=!0,x=0,O(!0),V("connected")},b.onclose=()=>{if(u.isConnected=!1,O(!1),V("disconnected"),x<5){x++;const t=Math.min(1e3*Math.pow(2,x),3e4);setTimeout(()=>U(e),t)}else console.warn("WebSocket reconnection failed, falling back to polling"),M()},b.onerror=e=>{console.error("WebSocket error:",e)},b.onmessage=e=>{try{const t=JSON.parse(e.data);if("connected"===t.type)t.session_id&&(u.sessionId=t.session_id,p.persistSession&&v("session_id",u.sessionId)),t.visitor_id&&(u.visitorId=t.visitor_id,p.persistSession&&v("visitor_id",u.visitorId)),t.welcome_message&&0===u.messages.length&&A(t.welcome_message,"bot");else if("message"===t.type){z();const e="user"===t.sender?"user":"bot";A(t.content,e,{confidence:t.confidence,agent_name:t.agent_name,escalation_offered:t.escalation_offered,escalated:t.escalated})}else"typing"===t.type?t.is_typing?T():z():"pong"===t.type||"error"===t.type&&(console.error("WebSocket server error:",t.message),V("error",{message:t.message}))}catch{}},function(){if(q)return;q=setInterval(()=>{b&&b.readyState===WebSocket.OPEN&&b.send(JSON.stringify({type:"ping"}))},3e4)}()}catch{console.warn("WebSocket not supported, using polling"),M()}}let q=null;function M(){f||(f=setInterval(async()=>{if(u.sessionId)try{const e=await fetch(`${p.serverUrl}/api/messages?session_id=${u.sessionId}&since=${Date.now()-5e3}&widget_id=${p.widgetId}`),t=await e.json();t.messages&&t.messages.forEach(e=>{u.messages.find(t=>t.id===e.id)||A(e.content,e.sender_type,e.metadata)})}catch{}},5e3))}function O(e){h.statusDot&&h.statusDot.classList.toggle("offline",!e),h.statusText&&(h.statusText.textContent=e?"Online":"Offline")}function j(){u.isOpen||(u.isOpen=!0,u.unreadCount=0,h.badge&&(h.badge.textContent=""),h.toggle&&h.toggle.classList.add("open"),h.window&&h.window.classList.add("open"),setTimeout(()=>h.input?.focus(),300),V("open"))}function F(){u.isOpen&&(u.isOpen=!1,h.toggle&&h.toggle.classList.remove("open"),h.window&&h.window.classList.remove("open"),V("close"))}function N(){u.isOpen?F():j()}function P(){u.sessionId=null,u.messages=[],v("session_id",null),h.messages&&(h.messages.innerHTML=""),p.welcomeMessage&&A(p.welcomeMessage,"bot")}async function H(e){if(!e.widgetId)return console.error("IhoomanChat: widgetId is required"),null;p={...t,...e},u.visitorId=v("visitor_id")||y("v_"),v("visitor_id",u.visitorId),p.persistSession&&(u.sessionId=v("session_id"));const n=p.serverUrl||"https://api.ihooman.ai",o=await async function(e,t){try{const n=await fetch(`${t}/api/widget/config?widget_id=${encodeURIComponent(e)}`);return n.ok?await n.json():{success:!1,error:(await n.json().catch(()=>({}))).error||`HTTP ${n.status}`}}catch(e){return{success:!1,error:"Unable to connect. Please check your internet connection."}}}(p.widgetId,n);let i;var a;return o.success&&o.config?(a=o.config,p.title=a.title||p.title,p.subtitle=a.subtitle||p.subtitle,p.welcomeMessage=a.welcomeMessage||p.welcomeMessage,p.placeholder=a.placeholder||p.placeholder,p.position=a.position||p.position,a.theme&&(p.primaryColor=a.theme.primaryColor||p.primaryColor,p.gradientFrom=a.theme.gradientFrom||p.gradientFrom,p.gradientTo=a.theme.gradientTo||p.gradientTo,p.fontFamily=a.theme.fontFamily||p.fontFamily,a.theme.borderRadius&&(p.borderRadius=parseInt(a.theme.borderRadius,10)||p.borderRadius)),a.behavior&&(p.startOpen=a.behavior.startOpen??p.startOpen,p.showTypingIndicator=a.behavior.showTypingIndicator??p.showTypingIndicator,p.showTimestamps=a.behavior.showTimestamps??p.showTimestamps,p.enableSounds=a.behavior.enableSounds??p.enableSounds,p.enableFileUpload=a.behavior.enableFileUpload??p.enableFileUpload,p.persistSession=a.behavior.persistSession??p.persistSession),a.branding&&(p.avatarUrl=a.branding.avatarUrl||p.avatarUrl,p.poweredBy=a.branding.poweredBy??p.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.")),k(),u.messages.forEach(e=>A(e.content,e.sender,e.metadata)),0===u.messages.length&&p.welcomeMessage&&A(p.welcomeMessage,"bot"),U(i),p.startOpen&&setTimeout(j,500),V("ready"),W}const W={init:H,open:j,close:F,toggle:N,destroy:function(){q&&(clearInterval(q),q=null),B(),b&&(b.close(),b=null),f&&(clearInterval(f),f=null),h.widget&&h.widget.remove();const e=document.getElementById("ihooman-widget-styles");e&&e.remove(),u={isOpen:!1,isConnected:!1,messages:[],sessionId:null,visitorId:null,unreadCount:0},h={},x=0},sendMessage:function(e){e.trim()&&(h.input&&(h.input.value=e),E())},setUser:function(e){e.name&&v("user_name",e.name),e.email&&v("user_email",e.email),e.metadata&&v("user_metadata",e.metadata)},clearHistory:function(){P()},on:function(e,t){g[e]||(g[e]=[]),g[e].push(t)},off:function(e,t){g[e]&&(g[e]=g[e].filter(e=>e!==t))},getState:function(){return{...u}},version:"2.0.0"},D=W;!function(){if("undefined"==typeof document)return;let e=document.currentScript;if(!e){const t=document.getElementsByTagName("script");for(let n=0;n<t.length;n++)if(t[n].src&&t[n].src.includes("ihooman")){e=t[n];break}}if(!e)return;const t=e.getAttribute("data-widget-id");if(t){const n={widgetId:t},o=e.getAttribute("data-server-url");o&&(n.serverUrl=o);const i=e.getAttribute("data-theme");"light"!==i&&"dark"!==i||(n.theme=i);const a=e.getAttribute("data-position");a&&(n.position=a);"true"===e.getAttribute("data-start-open")&&(n.startOpen=!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>H(n)):H(n)}}(),"undefined"!=typeof window&&(window.IhoomanChat=D),e.IhoomanChat=D,e.createWidgetInstance=function(){return{...W}},e.default=D,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=index.umd.min.js.map
|