rohit-chat-widget 1.0.50 → 1.0.52
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/lib/components/MessageBubble/MessageBubble.d.ts.map +1 -1
- package/lib/components/MessageBubble/MessageBubble.js +11 -10
- package/lib/components/MessageBubble/MessageBubble.js.map +1 -1
- package/lib/index.esm.js +12 -11
- package/lib/index.esm.js.map +1 -1
- package/lib/src/components/MessageBubble/MessageBubble.d.ts.map +1 -1
- package/lib/styles.css +80 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAsD1B,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgLtD,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -13,7 +13,15 @@ const doubleTickIcon = (_jsxs("svg", { style: { marginLeft: "4px" }, width: "14"
|
|
|
13
13
|
function isFileMessage(content) {
|
|
14
14
|
try {
|
|
15
15
|
const obj = JSON.parse(content);
|
|
16
|
-
|
|
16
|
+
if (typeof obj.displayFileName !== 'string') {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
displayFileName: obj.displayFileName,
|
|
21
|
+
azureFileName: typeof obj.azureFileName === 'string' && obj.azureFileName.length > 0
|
|
22
|
+
? obj.azureFileName
|
|
23
|
+
: null
|
|
24
|
+
};
|
|
17
25
|
}
|
|
18
26
|
catch {
|
|
19
27
|
return null;
|
|
@@ -44,6 +52,7 @@ export const MessageBubble = ({ id, message, sender, timestamp, className, isMe,
|
|
|
44
52
|
};
|
|
45
53
|
// Check if message is a file message
|
|
46
54
|
const fileMsg = isFileMessage(message);
|
|
55
|
+
const isFileUploading = Boolean(fileMsg && !fileMsg.azureFileName);
|
|
47
56
|
// Handle file download with SAS URL
|
|
48
57
|
const handleFileDownload = async (azureFileName, displayFileName) => {
|
|
49
58
|
try {
|
|
@@ -94,15 +103,7 @@ export const MessageBubble = ({ id, message, sender, timestamp, className, isMe,
|
|
|
94
103
|
const datePart = date.toLocaleDateString(undefined, { month: 'long', day: 'numeric', year: 'numeric' });
|
|
95
104
|
return `${datePart} ${timePart}`;
|
|
96
105
|
};
|
|
97
|
-
return (_jsxs("div", { className: `${styles.messageWrapper} ${isMe ? styles.messageWrapperRight : styles.messageWrapperLeft} ${className || ''}`, children: [!isMe && _jsx("div", { className: styles.messageAvatar, children: initials }), _jsxs("div", { className: styles.messageContainer, children: [_jsx("div", { className: styles.senderName, children: isMe ? 'You' : senderName ? senderName : 'Support' }), _jsx("div", { className: `${styles.messageBubble} ${isMe ? styles.userMessage : styles.agentMessage}`, children: _jsx("div", { className: styles.messageText, children: fileMsg ? (_jsxs("div", { className: "
|
|
98
|
-
background: 'none',
|
|
99
|
-
border: 'none',
|
|
100
|
-
cursor: 'pointer',
|
|
101
|
-
marginLeft: 8,
|
|
102
|
-
padding: 4,
|
|
103
|
-
display: 'flex',
|
|
104
|
-
alignItems: 'center'
|
|
105
|
-
}, "aria-label": `Download ${fileMsg.displayFileName}`, children: downloadIcon(isMe ? '#FFFFFF' : '#000000') })] })) : (message) }) }), isMe && status === 'failed' ? (_jsxs("div", { className: styles.resendContainer, children: [_jsx("button", { className: styles.resendButton, "aria-label": "Resend message", onClick: handleResend, children: "\u21BB" }), _jsx("span", { className: styles.resendText, role: "button", tabIndex: 0, onClick: handleResend, onKeyPress: (e) => { if (e.key === 'Enter' || e.key === ' ')
|
|
106
|
+
return (_jsxs("div", { className: `${styles.messageWrapper} ${isMe ? styles.messageWrapperRight : styles.messageWrapperLeft} ${className || ''}`, children: [!isMe && _jsx("div", { className: styles.messageAvatar, children: initials }), _jsxs("div", { className: styles.messageContainer, children: [_jsx("div", { className: styles.senderName, children: isMe ? 'You' : senderName ? senderName : 'Support' }), _jsx("div", { className: `${styles.messageBubble} ${isMe ? styles.userMessage : styles.agentMessage}`, children: _jsx("div", { className: styles.messageText, children: fileMsg ? (_jsxs("div", { className: styles.fileMessage, children: [_jsx("span", { children: fileMsg.displayFileName }), isFileUploading ? (_jsxs("div", { className: styles.fileUploadStatus, "aria-live": "polite", children: [_jsx("span", { className: styles.fileUploadSpinner, "aria-hidden": "true" }), _jsx("span", { children: "Uploading..." })] })) : (_jsx("button", { onClick: () => handleFileDownload(fileMsg.azureFileName, fileMsg.displayFileName), className: styles.fileDownloadButton, "aria-label": `Download ${fileMsg.displayFileName}`, style: { cursor: fileMsg.azureFileName ? 'pointer' : 'not-allowed', border: 'none', background: 'none' }, children: downloadIcon(isMe ? '#FFFFFF' : '#000000') }))] })) : (message) }) }), isMe && status === 'failed' ? (_jsxs("div", { className: styles.resendContainer, children: [_jsx("button", { className: styles.resendButton, "aria-label": "Resend message", onClick: handleResend, children: "\u21BB" }), _jsx("span", { className: styles.resendText, role: "button", tabIndex: 0, onClick: handleResend, onKeyPress: (e) => { if (e.key === 'Enter' || e.key === ' ')
|
|
106
107
|
handleResend(); }, children: "Message failed to send. Tap to send" })] })) : (timestamp && (_jsxs("div", { className: `${styles.timestamp} ${isMe ? styles.timestampRight : styles.timestampLeft}`, "aria-label": formatDateTime(timestamp), tabIndex: 0, children: [_jsx("span", { children: formatDateTime(timestamp) }), isMe && (isDoubleTickVisible
|
|
107
108
|
? doubleTickIcon
|
|
108
109
|
: singleTickIcon)] })))] }), isMe && _jsx("div", { className: styles.messageAvatar, children: initials })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/components/MessageBubble/MessageBubble.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,sCAAsC;AACtC,MAAM,YAAY,GAAG,CAAC,YAAoB,SAAS,EAAE,EAAE,CAAC,CACtD,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,aAC5F,eAAM,CAAC,EAAC,s/BAAs/B,EAAC,IAAI,EAAE,SAAS,GAAI,EAClhC,eAAM,CAAC,EAAC,kwBAAkwB,EAAC,IAAI,EAAE,SAAS,GAAI,IAC1xB,CACP,CAAC;AAGF,MAAM,cAAc,GAAG,CACrB,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,YACxH,4BAAgB,SAAS,eAAW,SAAS,EAAC,CAAC,EAAC,sYAAsY,EAAC,IAAI,EAAC,SAAS,GAAG,GACpc,CACP,CAAA;AACD,MAAM,cAAc,GAAG,CACrB,eAAK,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,aAC1H,4BAAgB,SAAS,eAAW,SAAS,EAAC,CAAC,EAAC,oXAAoX,EAAC,IAAI,EAAC,SAAS,GAAG,EACtb,4BAAgB,SAAS,eAAW,SAAS,EAAC,CAAC,EAAC,8WAA8W,EAAC,IAAI,EAAC,SAAS,GAAG,IAC5a,CACP,CAAA;
|
|
1
|
+
{"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/components/MessageBubble/MessageBubble.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.esm.js
CHANGED
|
@@ -7050,7 +7050,7 @@ var styles$9 = {"chatContainer":"ChatContainer-module_chatContainer__96ZLx","mes
|
|
|
7050
7050
|
|
|
7051
7051
|
var styles$8 = {"messageList":"MessageList-module_messageList__KNVpc","loadingOverlay":"MessageList-module_loadingOverlay__GMXlG","messagesContainer":"MessageList-module_messagesContainer__ZDIIH","messageBubbleWrapper":"MessageList-module_messageBubbleWrapper__pNM3z","messagesEnd":"MessageList-module_messagesEnd__qYzpz","emptyState":"MessageList-module_emptyState__-x8KC","emptyIcon":"MessageList-module_emptyIcon__oCafg","emptyText":"MessageList-module_emptyText__-85a2","emptySubtext":"MessageList-module_emptySubtext__-RWpt"};
|
|
7052
7052
|
|
|
7053
|
-
var styles$7 = {"messageWrapper":"MessageBubble-module_messageWrapper__SMMZu","messageContainer":"MessageBubble-module_messageContainer__KnPtl","senderName":"MessageBubble-module_senderName__h5pr2","messageBubble":"MessageBubble-module_messageBubble__Vu3D-","messageText":"MessageBubble-module_messageText__D70bc","messageWrapperLeft":"MessageBubble-module_messageWrapperLeft__xv7-7","messageWrapperRight":"MessageBubble-module_messageWrapperRight__CUlgL","messageAvatar":"MessageBubble-module_messageAvatar__sqfKI","userMessage":"MessageBubble-module_userMessage__t1sZf","agentMessage":"MessageBubble-module_agentMessage__tCe5z","timestamp":"MessageBubble-module_timestamp__g--Ep","timestampLeft":"MessageBubble-module_timestampLeft__JhYDx","timestampRight":"MessageBubble-module_timestampRight__q-wih","resendContainer":"MessageBubble-module_resendContainer__TXscy","resendButton":"MessageBubble-module_resendButton__h2uAL","resendText":"MessageBubble-module_resendText__wYm2L"};
|
|
7053
|
+
var styles$7 = {"messageWrapper":"MessageBubble-module_messageWrapper__SMMZu","messageContainer":"MessageBubble-module_messageContainer__KnPtl","senderName":"MessageBubble-module_senderName__h5pr2","messageBubble":"MessageBubble-module_messageBubble__Vu3D-","messageText":"MessageBubble-module_messageText__D70bc","fileMessage":"MessageBubble-module_fileMessage__PxC4W","fileDownloadButton":"MessageBubble-module_fileDownloadButton__Wgjo8","fileUploadStatus":"MessageBubble-module_fileUploadStatus__AsTpJ","fileUploadSpinner":"MessageBubble-module_fileUploadSpinner__qf19y","messageWrapperLeft":"MessageBubble-module_messageWrapperLeft__xv7-7","messageWrapperRight":"MessageBubble-module_messageWrapperRight__CUlgL","messageAvatar":"MessageBubble-module_messageAvatar__sqfKI","userMessage":"MessageBubble-module_userMessage__t1sZf","agentMessage":"MessageBubble-module_agentMessage__tCe5z","timestamp":"MessageBubble-module_timestamp__g--Ep","timestampLeft":"MessageBubble-module_timestampLeft__JhYDx","timestampRight":"MessageBubble-module_timestampRight__q-wih","resendContainer":"MessageBubble-module_resendContainer__TXscy","resendButton":"MessageBubble-module_resendButton__h2uAL","resendText":"MessageBubble-module_resendText__wYm2L"};
|
|
7054
7054
|
|
|
7055
7055
|
/******************************************************************************
|
|
7056
7056
|
Copyright (c) Microsoft Corporation.
|
|
@@ -20580,7 +20580,15 @@ const doubleTickIcon = (jsxs("svg", { style: { marginLeft: "4px" }, width: "14",
|
|
|
20580
20580
|
function isFileMessage(content) {
|
|
20581
20581
|
try {
|
|
20582
20582
|
const obj = JSON.parse(content);
|
|
20583
|
-
|
|
20583
|
+
if (typeof obj.displayFileName !== 'string') {
|
|
20584
|
+
return null;
|
|
20585
|
+
}
|
|
20586
|
+
return {
|
|
20587
|
+
displayFileName: obj.displayFileName,
|
|
20588
|
+
azureFileName: typeof obj.azureFileName === 'string' && obj.azureFileName.length > 0
|
|
20589
|
+
? obj.azureFileName
|
|
20590
|
+
: null
|
|
20591
|
+
};
|
|
20584
20592
|
}
|
|
20585
20593
|
catch {
|
|
20586
20594
|
return null;
|
|
@@ -20611,6 +20619,7 @@ const MessageBubble = ({ id, message, sender, timestamp, className, isMe, status
|
|
|
20611
20619
|
};
|
|
20612
20620
|
// Check if message is a file message
|
|
20613
20621
|
const fileMsg = isFileMessage(message);
|
|
20622
|
+
const isFileUploading = Boolean(fileMsg && !fileMsg.azureFileName);
|
|
20614
20623
|
// Handle file download with SAS URL
|
|
20615
20624
|
const handleFileDownload = async (azureFileName, displayFileName) => {
|
|
20616
20625
|
try {
|
|
@@ -20661,15 +20670,7 @@ const MessageBubble = ({ id, message, sender, timestamp, className, isMe, status
|
|
|
20661
20670
|
const datePart = date.toLocaleDateString(undefined, { month: 'long', day: 'numeric', year: 'numeric' });
|
|
20662
20671
|
return `${datePart} ${timePart}`;
|
|
20663
20672
|
};
|
|
20664
|
-
return (jsxs("div", { className: `${styles$7.messageWrapper} ${isMe ? styles$7.messageWrapperRight : styles$7.messageWrapperLeft} ${className || ''}`, children: [!isMe && jsx("div", { className: styles$7.messageAvatar, children: initials }), jsxs("div", { className: styles$7.messageContainer, children: [jsx("div", { className: styles$7.senderName, children: isMe ? 'You' : senderName ? senderName : 'Support' }), jsx("div", { className: `${styles$7.messageBubble} ${isMe ? styles$7.userMessage : styles$7.agentMessage}`, children: jsx("div", { className: styles$7.messageText, children: fileMsg ? (jsxs("div", { className: "
|
|
20665
|
-
background: 'none',
|
|
20666
|
-
border: 'none',
|
|
20667
|
-
cursor: 'pointer',
|
|
20668
|
-
marginLeft: 8,
|
|
20669
|
-
padding: 4,
|
|
20670
|
-
display: 'flex',
|
|
20671
|
-
alignItems: 'center'
|
|
20672
|
-
}, "aria-label": `Download ${fileMsg.displayFileName}`, children: downloadIcon(isMe ? '#FFFFFF' : '#000000') })] })) : (message) }) }), isMe && status === 'failed' ? (jsxs("div", { className: styles$7.resendContainer, children: [jsx("button", { className: styles$7.resendButton, "aria-label": "Resend message", onClick: handleResend, children: "\u21BB" }), jsx("span", { className: styles$7.resendText, role: "button", tabIndex: 0, onClick: handleResend, onKeyPress: (e) => { if (e.key === 'Enter' || e.key === ' ')
|
|
20673
|
+
return (jsxs("div", { className: `${styles$7.messageWrapper} ${isMe ? styles$7.messageWrapperRight : styles$7.messageWrapperLeft} ${className || ''}`, children: [!isMe && jsx("div", { className: styles$7.messageAvatar, children: initials }), jsxs("div", { className: styles$7.messageContainer, children: [jsx("div", { className: styles$7.senderName, children: isMe ? 'You' : senderName ? senderName : 'Support' }), jsx("div", { className: `${styles$7.messageBubble} ${isMe ? styles$7.userMessage : styles$7.agentMessage}`, children: jsx("div", { className: styles$7.messageText, children: fileMsg ? (jsxs("div", { className: styles$7.fileMessage, children: [jsx("span", { children: fileMsg.displayFileName }), isFileUploading ? (jsxs("div", { className: styles$7.fileUploadStatus, "aria-live": "polite", children: [jsx("span", { className: styles$7.fileUploadSpinner, "aria-hidden": "true" }), jsx("span", { children: "Uploading..." })] })) : (jsx("button", { onClick: () => handleFileDownload(fileMsg.azureFileName, fileMsg.displayFileName), className: styles$7.fileDownloadButton, "aria-label": `Download ${fileMsg.displayFileName}`, style: { cursor: fileMsg.azureFileName ? 'pointer' : 'not-allowed', border: 'none', background: 'none' }, children: downloadIcon(isMe ? '#FFFFFF' : '#000000') }))] })) : (message) }) }), isMe && status === 'failed' ? (jsxs("div", { className: styles$7.resendContainer, children: [jsx("button", { className: styles$7.resendButton, "aria-label": "Resend message", onClick: handleResend, children: "\u21BB" }), jsx("span", { className: styles$7.resendText, role: "button", tabIndex: 0, onClick: handleResend, onKeyPress: (e) => { if (e.key === 'Enter' || e.key === ' ')
|
|
20673
20674
|
handleResend(); }, children: "Message failed to send. Tap to send" })] })) : (timestamp && (jsxs("div", { className: `${styles$7.timestamp} ${isMe ? styles$7.timestampRight : styles$7.timestampLeft}`, "aria-label": formatDateTime(timestamp), tabIndex: 0, children: [jsx("span", { children: formatDateTime(timestamp) }), isMe && (isDoubleTickVisible
|
|
20674
20675
|
? doubleTickIcon
|
|
20675
20676
|
: singleTickIcon)] })))] }), isMe && jsx("div", { className: styles$7.messageAvatar, children: initials })] }));
|