@getwidgets/live-chat-widget 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/live-chat-widget.umd.js +37 -17
- package/package.json +1 -1
|
@@ -20210,6 +20210,24 @@
|
|
|
20210
20210
|
const luminance = (0.299 * r2 + 0.587 * g + 0.114 * b) / 255;
|
|
20211
20211
|
return luminance > 0.5 ? "#000000" : "#FFFFFF";
|
|
20212
20212
|
};
|
|
20213
|
+
const getMessageTime = (message) => {
|
|
20214
|
+
if (!message) return "";
|
|
20215
|
+
const raw = message.timestamp ?? message.created_at;
|
|
20216
|
+
if (!raw) return "";
|
|
20217
|
+
if (typeof raw === "string") {
|
|
20218
|
+
const looksLikeTimeOnly = /:\d{2}/.test(raw) && !/\d{4}-\d{2}-\d{2}|T|Z/i.test(raw);
|
|
20219
|
+
if (looksLikeTimeOnly) return raw;
|
|
20220
|
+
const parsed2 = new Date(raw);
|
|
20221
|
+
if (!Number.isNaN(parsed2.getTime())) {
|
|
20222
|
+
return parsed2.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
|
|
20223
|
+
}
|
|
20224
|
+
return "";
|
|
20225
|
+
}
|
|
20226
|
+
const parsed = new Date(raw);
|
|
20227
|
+
if (Number.isNaN(parsed.getTime())) return "";
|
|
20228
|
+
return parsed.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
|
|
20229
|
+
};
|
|
20230
|
+
const timeTextColor = getContrastColor(appearanceConfig.background_color || "#F9FAFB");
|
|
20213
20231
|
const isMobile = windowWidth < 768;
|
|
20214
20232
|
return /* @__PURE__ */ React.createElement("div", { style: getPositionStyles() }, !isOpen && showNotificationPreview && /* @__PURE__ */ React.createElement(
|
|
20215
20233
|
"div",
|
|
@@ -20428,23 +20446,25 @@
|
|
|
20428
20446
|
}
|
|
20429
20447
|
},
|
|
20430
20448
|
inputAreaConfig.first_ai_message || "Hello! How can I assist you today?"
|
|
20431
|
-
)) : combinedMessages.map((message) =>
|
|
20432
|
-
|
|
20433
|
-
{
|
|
20434
|
-
|
|
20435
|
-
|
|
20436
|
-
|
|
20437
|
-
|
|
20438
|
-
|
|
20439
|
-
|
|
20440
|
-
|
|
20441
|
-
|
|
20442
|
-
|
|
20443
|
-
|
|
20444
|
-
|
|
20445
|
-
|
|
20446
|
-
|
|
20447
|
-
|
|
20449
|
+
)) : combinedMessages.map((message) => {
|
|
20450
|
+
const timeText = getMessageTime(message);
|
|
20451
|
+
return /* @__PURE__ */ React.createElement("div", { key: message.id, className: `flex flex-col ${message.role === "user" ? "items-end" : "items-start"}` }, /* @__PURE__ */ React.createElement(
|
|
20452
|
+
"div",
|
|
20453
|
+
{
|
|
20454
|
+
className: `p-3 inline-block rounded-lg`,
|
|
20455
|
+
style: {
|
|
20456
|
+
backgroundColor: message.role === "user" ? chatAreaConfig.user_response_color || "#4ADE80" : message.isError ? "#FEE2E2" : chatAreaConfig.ai_response_color || "#E2E8F0",
|
|
20457
|
+
borderRadius: chatAreaConfig.chat_bubble_radius || "16px",
|
|
20458
|
+
fontSize: isMobile ? "13px" : "14px",
|
|
20459
|
+
color: message.role === "user" ? chatAreaConfig.user_font_color || "#111827" : message.isError ? "#991B1B" : chatAreaConfig.ai_font_color || "#111827",
|
|
20460
|
+
marginBottom: isMobile ? "4px" : "2px",
|
|
20461
|
+
maxWidth: isMobile ? "85%" : "80%",
|
|
20462
|
+
wordBreak: "break-word"
|
|
20463
|
+
}
|
|
20464
|
+
},
|
|
20465
|
+
message.role !== "system" ? /* @__PURE__ */ React.createElement(Markdown, { remarkPlugins: [remarkGfm] }, message.content) : /* @__PURE__ */ React.createElement("em", { className: "text-xs opacity-70" }, message.content)
|
|
20466
|
+
), message.role !== "system" && timeText && /* @__PURE__ */ React.createElement("div", { className: "text-xs opacity-70", style: { color: timeTextColor, marginBottom: isMobile ? "6px" : "4px" } }, timeText));
|
|
20467
|
+
}), localLoading && /* @__PURE__ */ React.createElement("div", { className: "flex justify-start" }, /* @__PURE__ */ React.createElement(
|
|
20448
20468
|
"div",
|
|
20449
20469
|
{
|
|
20450
20470
|
className: "text-left p-3 inline-block max-w-[85%]",
|