@uptrademedia/site-kit 1.1.7 → 1.2.1

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.
Files changed (113) hide show
  1. package/dist/analytics/index.d.mts +2 -2
  2. package/dist/analytics/index.d.ts +2 -2
  3. package/dist/analytics/index.js +6 -6
  4. package/dist/analytics/index.mjs +2 -2
  5. package/dist/{api-l44k92vp.d.mts → api-CWtoFJCO.d.mts} +1 -1
  6. package/dist/{api-l44k92vp.d.ts → api-CWtoFJCO.d.ts} +1 -1
  7. package/dist/blog/index.d.mts +2 -2
  8. package/dist/blog/index.d.ts +2 -2
  9. package/dist/blog/server.d.mts +1 -1
  10. package/dist/blog/server.d.ts +1 -1
  11. package/dist/{chunk-HEUULOSC.js → chunk-2MNLOYDD.js} +3 -3
  12. package/dist/{chunk-HEUULOSC.js.map → chunk-2MNLOYDD.js.map} +1 -1
  13. package/dist/{chunk-LHMD7CAR.mjs → chunk-2STSAGNT.mjs} +28 -6
  14. package/dist/chunk-2STSAGNT.mjs.map +1 -0
  15. package/dist/{chunk-3LOFIO77.mjs → chunk-44OMJFCG.mjs} +187 -193
  16. package/dist/chunk-44OMJFCG.mjs.map +1 -0
  17. package/dist/{chunk-CTKXFLIF.js → chunk-47ZS7MKZ.js} +119 -80
  18. package/dist/chunk-47ZS7MKZ.js.map +1 -0
  19. package/dist/{chunk-VFJ3NNCY.js → chunk-DERI27QC.js} +187 -193
  20. package/dist/chunk-DERI27QC.js.map +1 -0
  21. package/dist/{chunk-TOUIKTXU.mjs → chunk-FHTQUJ4M.mjs} +118 -80
  22. package/dist/chunk-FHTQUJ4M.mjs.map +1 -0
  23. package/dist/{chunk-IRNMIFOE.js → chunk-ICHCPLRB.js} +28 -6
  24. package/dist/chunk-ICHCPLRB.js.map +1 -0
  25. package/dist/{chunk-HGTTGJVZ.js → chunk-LBHEVL6U.js} +3 -3
  26. package/dist/{chunk-HGTTGJVZ.js.map → chunk-LBHEVL6U.js.map} +1 -1
  27. package/dist/{chunk-YT5SBY5W.mjs → chunk-MLJXNFUO.mjs} +3 -3
  28. package/dist/{chunk-YT5SBY5W.mjs.map → chunk-MLJXNFUO.mjs.map} +1 -1
  29. package/dist/{chunk-OW2C3ATV.mjs → chunk-R6V7DQ24.mjs} +3 -3
  30. package/dist/{chunk-OW2C3ATV.mjs.map → chunk-R6V7DQ24.mjs.map} +1 -1
  31. package/dist/cli/index.js +831 -740
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/index.mjs +825 -734
  34. package/dist/cli/index.mjs.map +1 -1
  35. package/dist/commerce/index.d.mts +3 -3
  36. package/dist/commerce/index.d.ts +3 -3
  37. package/dist/commerce/server.d.mts +1 -1
  38. package/dist/commerce/server.d.ts +1 -1
  39. package/dist/engage/index.d.mts +2 -2
  40. package/dist/engage/index.d.ts +2 -2
  41. package/dist/engage/index.js +4 -4
  42. package/dist/engage/index.mjs +1 -1
  43. package/dist/images/index.d.mts +1 -1
  44. package/dist/images/index.d.ts +1 -1
  45. package/dist/index.d.mts +7 -7
  46. package/dist/index.d.ts +7 -7
  47. package/dist/index.js +4 -4
  48. package/dist/index.mjs +2 -2
  49. package/dist/llms/index.d.mts +23 -274
  50. package/dist/llms/index.d.ts +23 -274
  51. package/dist/llms/index.js +14 -14
  52. package/dist/llms/index.js.map +1 -1
  53. package/dist/llms/index.mjs +4 -4
  54. package/dist/llms/index.mjs.map +1 -1
  55. package/dist/robots/index.d.mts +46 -0
  56. package/dist/robots/index.d.ts +46 -0
  57. package/dist/robots/index.js +34 -0
  58. package/dist/robots/index.js.map +1 -0
  59. package/dist/robots/index.mjs +32 -0
  60. package/dist/robots/index.mjs.map +1 -0
  61. package/dist/{routing-D311WhuV.d.ts → routing-BI69sU8F.d.ts} +1 -1
  62. package/dist/{routing-bTjqOM8S.d.mts → routing-Bg1nr9N0.d.mts} +1 -1
  63. package/dist/{scanner-VNEXRTZF.mjs → scanner-7ZMUM2P5.mjs} +3 -3
  64. package/dist/{scanner-VNEXRTZF.mjs.map → scanner-7ZMUM2P5.mjs.map} +1 -1
  65. package/dist/{scanner-CVKYTPUO.js → scanner-OY7UF3WA.js} +14 -14
  66. package/dist/{scanner-CVKYTPUO.js.map → scanner-OY7UF3WA.js.map} +1 -1
  67. package/dist/seo/index.d.mts +3 -3
  68. package/dist/seo/index.d.ts +3 -3
  69. package/dist/seo/server.d.mts +2 -2
  70. package/dist/seo/server.d.ts +2 -2
  71. package/dist/setup/index.js +2 -2
  72. package/dist/setup/index.mjs +1 -1
  73. package/dist/setup/server.js +2 -2
  74. package/dist/setup/server.mjs +1 -1
  75. package/dist/sitemap/index.d.mts +5 -1
  76. package/dist/sitemap/index.d.ts +5 -1
  77. package/dist/sitemap/index.js +5 -4
  78. package/dist/sitemap/index.js.map +1 -1
  79. package/dist/sitemap/index.mjs +4 -3
  80. package/dist/sitemap/index.mjs.map +1 -1
  81. package/dist/{socket-loader-3FWQWPDQ.js → socket-loader-J26QHHOB.js} +2 -2
  82. package/dist/socket-loader-J26QHHOB.js.map +1 -0
  83. package/dist/{socket-loader-N5ETWMXW.mjs → socket-loader-R7S2YJ2J.mjs} +2 -2
  84. package/dist/socket-loader-R7S2YJ2J.mjs.map +1 -0
  85. package/dist/{types-C_pfGZhI.d.mts → types-Bsf5kX1n.d.mts} +1 -1
  86. package/dist/{types-C_pfGZhI.d.ts → types-Bsf5kX1n.d.ts} +1 -1
  87. package/dist/{types-DxhEH2tX.d.mts → types-CNZcDIoX.d.mts} +1 -1
  88. package/dist/{types-DxhEH2tX.d.ts → types-CNZcDIoX.d.ts} +1 -1
  89. package/dist/types-D8i7Alvv.d.mts +259 -0
  90. package/dist/types-D8i7Alvv.d.ts +259 -0
  91. package/dist/{types-DiZVgJKD.d.mts → types-DA_Kocle.d.mts} +1 -1
  92. package/dist/{types-DiZVgJKD.d.ts → types-DA_Kocle.d.ts} +1 -1
  93. package/dist/{types-CMNYdZwT.d.mts → types-DI0jnhjJ.d.mts} +1 -1
  94. package/dist/{types-CMNYdZwT.d.ts → types-DI0jnhjJ.d.ts} +1 -1
  95. package/dist/{types-BF2v5qX3.d.mts → types-wCtRFR0Y.d.mts} +1 -1
  96. package/dist/{types-BF2v5qX3.d.ts → types-wCtRFR0Y.d.ts} +1 -1
  97. package/dist/{useEventModal-x_RZRewW.d.mts → useEventModal-Bs0W9Iy_.d.mts} +2 -2
  98. package/dist/{useEventModal-5fIKdIaY.d.ts → useEventModal-Btu3uIjE.d.ts} +2 -2
  99. package/dist/{web-vitals-PW6MQOKS.js → web-vitals-444RLW3B.js} +3 -3
  100. package/dist/web-vitals-444RLW3B.js.map +1 -0
  101. package/dist/{web-vitals-YSIFBTH7.mjs → web-vitals-KPICZIEF.mjs} +3 -3
  102. package/dist/web-vitals-KPICZIEF.mjs.map +1 -0
  103. package/package.json +7 -1
  104. package/dist/chunk-3LOFIO77.mjs.map +0 -1
  105. package/dist/chunk-CTKXFLIF.js.map +0 -1
  106. package/dist/chunk-IRNMIFOE.js.map +0 -1
  107. package/dist/chunk-LHMD7CAR.mjs.map +0 -1
  108. package/dist/chunk-TOUIKTXU.mjs.map +0 -1
  109. package/dist/chunk-VFJ3NNCY.js.map +0 -1
  110. package/dist/socket-loader-3FWQWPDQ.js.map +0 -1
  111. package/dist/socket-loader-N5ETWMXW.mjs.map +0 -1
  112. package/dist/web-vitals-PW6MQOKS.js.map +0 -1
  113. package/dist/web-vitals-YSIFBTH7.mjs.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import React2, { useState, useRef, useEffect, useCallback, createElement } from 'react';
2
+ import ReactMarkdown from 'react-markdown';
2
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
4
  import { usePathname } from 'next/navigation';
4
5
 
@@ -58,6 +59,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
58
59
  useRef(null);
59
60
  const pendingInitialMessageRef = useRef(null);
60
61
  const apiKeyMissingWarnedRef = useRef(false);
62
+ const siteContextRef = useRef(null);
61
63
  function ensureApiKey() {
62
64
  const { apiKey } = getApiConfig();
63
65
  if (apiKey) return apiKey;
@@ -176,15 +178,30 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
176
178
  }
177
179
  return null;
178
180
  }, [projectId, visitorId, baseUrl]);
181
+ const fetchSiteContext = useCallback(async () => {
182
+ if (siteContextRef.current) return siteContextRef.current;
183
+ try {
184
+ const base = typeof window !== "undefined" ? window.location.origin : "";
185
+ const res = await fetch(`${base}/llms.txt`, { cache: "no-store" });
186
+ if (res.ok) {
187
+ const text = await res.text();
188
+ if (text?.trim()) siteContextRef.current = text.trim();
189
+ }
190
+ } catch {
191
+ }
192
+ return siteContextRef.current;
193
+ }, []);
179
194
  const sendToSignalApi = useCallback(
180
195
  async (content, conversationId) => {
181
196
  const url = `${signalUrl.replace(/\/$/, "")}/echo/public/chat`;
197
+ const siteContext = await fetchSiteContext();
182
198
  const body = {
183
199
  message: content,
184
200
  projectId,
185
201
  visitorId,
186
202
  ...conversationId ? { conversationId } : {},
187
- pageUrl: typeof window !== "undefined" ? window.location.href : void 0
203
+ pageUrl: typeof window !== "undefined" ? window.location.href : void 0,
204
+ ...siteContext ? { siteContext } : {}
188
205
  };
189
206
  const res = await fetch(url, {
190
207
  method: "POST",
@@ -201,7 +218,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
201
218
  const newConversationId = data?.conversationId ?? conversationId;
202
219
  return { content: aiContent, suggestions, conversationId: newConversationId };
203
220
  },
204
- [signalUrl, projectId, visitorId]
221
+ [signalUrl, projectId, visitorId, fetchSiteContext]
205
222
  );
206
223
  const handleSocketMessage = useCallback((data) => {
207
224
  switch (data.type || data.event) {
@@ -258,7 +275,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
258
275
  socketRef.current.disconnect();
259
276
  socketRef.current = null;
260
277
  }
261
- const { createSocket } = await import('./socket-loader-N5ETWMXW.mjs');
278
+ const { createSocket } = await import('./socket-loader-R7S2YJ2J.mjs');
262
279
  const namespaceUrl = `${baseUrl.replace(/\/$/, "")}/engage/chat`;
263
280
  const socket = await createSocket(namespaceUrl, {
264
281
  query: { projectId, visitorId, sessionId: currentSessionId },
@@ -979,82 +996,101 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
979
996
  {
980
997
  style: { flex: 1, overflowY: "auto", padding: 16, display: "flex", flexDirection: "column", gap: 12, backgroundColor: "#f9fafb" },
981
998
  children: [
982
- messages.map((message) => /* @__PURE__ */ jsx("div", { style: { display: "flex", justifyContent: message.role === "user" ? "flex-end" : "flex-start" }, children: /* @__PURE__ */ jsxs(
983
- "div",
984
- {
985
- style: {
986
- maxWidth: "80%",
987
- padding: message.role === "system" ? "8px 12px" : "10px 14px",
988
- borderRadius: message.role === "user" ? "16px 16px 4px 16px" : message.role === "system" ? "8px" : "16px 16px 16px 4px",
989
- backgroundColor: message.role === "user" ? primaryColor : message.role === "system" ? "#e5e7eb" : "#ffffff",
990
- color: message.role === "user" ? isLightColor(primaryColor) ? "#1a1a1a" : "white" : message.role === "system" ? "#6b7280" : "#111827",
991
- boxShadow: message.role === "system" ? "none" : "0 1px 2px rgba(0,0,0,0.08)",
992
- fontSize: message.role === "system" ? 13 : 14,
993
- fontStyle: message.role === "system" ? "italic" : "normal",
994
- lineHeight: 1.5,
995
- whiteSpace: "pre-wrap",
996
- wordBreak: "break-word"
997
- },
998
- children: [
999
- message.agentName && message.role === "agent" && /* @__PURE__ */ jsx("div", { style: { fontSize: 12, opacity: 0.6, marginBottom: 4 }, children: message.agentName }),
1000
- message.content,
1001
- message.attachments?.length ? /* @__PURE__ */ jsx("div", { style: { marginTop: 8, display: "flex", flexDirection: "column", gap: 6 }, children: message.attachments.map(
1002
- (att, i) => att.mimeType?.startsWith("image/") ? /* @__PURE__ */ jsx("a", { href: att.url, target: "_blank", rel: "noopener noreferrer", style: { display: "block" }, children: /* @__PURE__ */ jsx("img", { src: att.url, alt: att.name, style: { maxWidth: "100%", maxHeight: 200, borderRadius: 8, objectFit: "contain" } }) }, i) : /* @__PURE__ */ jsxs("a", { href: att.url, target: "_blank", rel: "noopener noreferrer", style: { fontSize: 13, wordBreak: "break-all" }, children: [
1003
- "\u{1F4CE} ",
1004
- att.name
1005
- ] }, i)
1006
- ) }) : null,
1007
- message.suggestions?.length ? /* @__PURE__ */ jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, marginTop: 8 }, children: message.suggestions.map((s, i) => /* @__PURE__ */ jsx(
1008
- "button",
1009
- {
1010
- type: "button",
1011
- onClick: () => {
1012
- setInputValue(s);
1013
- inputRef.current?.focus();
1014
- },
1015
- style: {
1016
- padding: "6px 12px",
1017
- borderRadius: 16,
1018
- border: `1px solid ${primaryColor}`,
1019
- backgroundColor: `${primaryColor}10`,
1020
- color: primaryColor,
1021
- fontSize: 13,
1022
- cursor: "pointer"
1023
- },
1024
- children: s
1025
- },
1026
- i
1027
- )) }) : null,
1028
- message.sendFailed && lastFailedSend && /* @__PURE__ */ jsx("div", { style: { marginTop: 8 }, children: /* @__PURE__ */ jsx(
1029
- "button",
1030
- {
1031
- type: "button",
1032
- onClick: retryFailedSend,
1033
- style: { padding: "6px 12px", borderRadius: 6, border: "1px solid #ef4444", backgroundColor: "#fef2f2", color: "#dc2626", fontSize: 13, cursor: "pointer" },
1034
- children: "Retry send"
1035
- }
1036
- ) }),
1037
- widgetConfig?.signal_enabled && message.role === "assistant" && !message.suggestions?.length && widgetConfig?.handoff_enabled !== false && messages.filter((m) => m.role === "user").length >= 2 && message.id === messages.filter((m) => m.role === "assistant").slice(-1)[0]?.id && /* @__PURE__ */ jsx(
1038
- "button",
1039
- {
1040
- onClick: requestHandoff,
1041
- style: {
1042
- display: "inline-block",
1043
- marginTop: 8,
1044
- padding: "6px 12px",
1045
- borderRadius: 6,
1046
- border: `1px solid ${primaryColor}`,
1047
- backgroundColor: "transparent",
1048
- color: primaryColor,
1049
- fontSize: 13,
1050
- cursor: "pointer"
999
+ messages.map((message) => {
1000
+ const isAssistant = message.role === "assistant" || message.role === "agent";
1001
+ return /* @__PURE__ */ jsx("div", { style: { display: "flex", justifyContent: message.role === "user" ? "flex-end" : "flex-start" }, children: /* @__PURE__ */ jsxs(
1002
+ "div",
1003
+ {
1004
+ style: {
1005
+ maxWidth: "80%",
1006
+ padding: message.role === "system" ? "8px 12px" : isAssistant ? "12px 16px" : "10px 14px",
1007
+ borderRadius: message.role === "user" ? "16px 16px 4px 16px" : message.role === "system" ? "8px" : "16px 16px 16px 4px",
1008
+ backgroundColor: message.role === "user" ? primaryColor : message.role === "system" ? "#e5e7eb" : "#ffffff",
1009
+ color: message.role === "user" ? isLightColor(primaryColor) ? "#1a1a1a" : "white" : message.role === "system" ? "#6b7280" : "#111827",
1010
+ boxShadow: message.role === "system" ? "none" : "0 1px 2px rgba(0,0,0,0.08)",
1011
+ fontSize: message.role === "system" ? 13 : 14,
1012
+ fontStyle: message.role === "system" ? "italic" : "normal",
1013
+ lineHeight: isAssistant ? 1.6 : 1.5,
1014
+ whiteSpace: isAssistant ? "normal" : "pre-wrap",
1015
+ wordBreak: "break-word",
1016
+ textAlign: isAssistant ? "left" : void 0,
1017
+ borderLeft: isAssistant ? `3px solid ${primaryColor}33` : void 0
1018
+ },
1019
+ children: [
1020
+ message.agentName && message.role === "agent" && /* @__PURE__ */ jsx("div", { style: { fontSize: 12, opacity: 0.6, marginBottom: 4 }, children: message.agentName }),
1021
+ isAssistant ? /* @__PURE__ */ jsx("div", { className: "chatMessageContent", children: /* @__PURE__ */ jsx(
1022
+ ReactMarkdown,
1023
+ {
1024
+ components: {
1025
+ p: ({ children }) => /* @__PURE__ */ jsx("p", { style: { margin: "0 0 8px", lineHeight: 1.6 }, children }),
1026
+ strong: ({ children }) => /* @__PURE__ */ jsx("strong", { style: { fontWeight: 600 }, children }),
1027
+ ul: ({ children }) => /* @__PURE__ */ jsx("ul", { style: { margin: "4px 0 8px", paddingLeft: 20 }, children }),
1028
+ ol: ({ children }) => /* @__PURE__ */ jsx("ol", { style: { margin: "4px 0 8px", paddingLeft: 20 }, children }),
1029
+ li: ({ children }) => /* @__PURE__ */ jsx("li", { style: { marginBottom: 4 }, children }),
1030
+ h3: ({ children }) => /* @__PURE__ */ jsx("h3", { style: { margin: "12px 0 6px", fontSize: 15, fontWeight: 600 }, children }),
1031
+ h4: ({ children }) => /* @__PURE__ */ jsx("h4", { style: { margin: "8px 0 4px", fontSize: 14, fontWeight: 600 }, children })
1032
+ },
1033
+ children: message.content
1034
+ }
1035
+ ) }) : message.content,
1036
+ message.attachments?.length ? /* @__PURE__ */ jsx("div", { style: { marginTop: 8, display: "flex", flexDirection: "column", gap: 6 }, children: message.attachments.map(
1037
+ (att, i) => att.mimeType?.startsWith("image/") ? /* @__PURE__ */ jsx("a", { href: att.url, target: "_blank", rel: "noopener noreferrer", style: { display: "block" }, children: /* @__PURE__ */ jsx("img", { src: att.url, alt: att.name, style: { maxWidth: "100%", maxHeight: 200, borderRadius: 8, objectFit: "contain" } }) }, i) : /* @__PURE__ */ jsxs("a", { href: att.url, target: "_blank", rel: "noopener noreferrer", style: { fontSize: 13, wordBreak: "break-all", display: "flex", alignItems: "center", gap: 6 }, children: [
1038
+ /* @__PURE__ */ jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("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" }) }),
1039
+ att.name
1040
+ ] }, i)
1041
+ ) }) : null,
1042
+ message.suggestions?.length ? /* @__PURE__ */ jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, marginTop: 8 }, children: message.suggestions.map((s, i) => /* @__PURE__ */ jsx(
1043
+ "button",
1044
+ {
1045
+ type: "button",
1046
+ onClick: () => {
1047
+ setInputValue(s);
1048
+ inputRef.current?.focus();
1049
+ },
1050
+ style: {
1051
+ padding: "6px 12px",
1052
+ borderRadius: 16,
1053
+ border: `1px solid ${primaryColor}`,
1054
+ backgroundColor: `${primaryColor}10`,
1055
+ color: primaryColor,
1056
+ fontSize: 13,
1057
+ cursor: "pointer"
1058
+ },
1059
+ children: s
1051
1060
  },
1052
- children: "Talk to a person"
1053
- }
1054
- )
1055
- ]
1056
- }
1057
- ) }, message.id)),
1061
+ i
1062
+ )) }) : null,
1063
+ message.sendFailed && lastFailedSend && /* @__PURE__ */ jsx("div", { style: { marginTop: 8 }, children: /* @__PURE__ */ jsx(
1064
+ "button",
1065
+ {
1066
+ type: "button",
1067
+ onClick: retryFailedSend,
1068
+ style: { padding: "6px 12px", borderRadius: 6, border: "1px solid #ef4444", backgroundColor: "#fef2f2", color: "#dc2626", fontSize: 13, cursor: "pointer" },
1069
+ children: "Retry send"
1070
+ }
1071
+ ) }),
1072
+ widgetConfig?.signal_enabled && message.role === "assistant" && !message.suggestions?.length && widgetConfig?.handoff_enabled !== false && messages.filter((m) => m.role === "user").length >= 2 && message.id === messages.filter((m) => m.role === "assistant").slice(-1)[0]?.id && /* @__PURE__ */ jsx(
1073
+ "button",
1074
+ {
1075
+ onClick: requestHandoff,
1076
+ style: {
1077
+ display: "inline-block",
1078
+ marginTop: 8,
1079
+ padding: "6px 12px",
1080
+ borderRadius: 6,
1081
+ border: `1px solid ${primaryColor}`,
1082
+ backgroundColor: "transparent",
1083
+ color: primaryColor,
1084
+ fontSize: 13,
1085
+ cursor: "pointer"
1086
+ },
1087
+ children: "Talk to a person"
1088
+ }
1089
+ )
1090
+ ]
1091
+ }
1092
+ ) }, message.id);
1093
+ }),
1058
1094
  (isLoading || agentTyping) && /* @__PURE__ */ jsx("div", { style: { display: "flex", justifyContent: "flex-start" }, children: /* @__PURE__ */ jsxs(
1059
1095
  "div",
1060
1096
  {
@@ -1184,6 +1220,8 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
1184
1220
  from { transform: scaleX(0); }
1185
1221
  to { transform: scaleX(1); }
1186
1222
  }
1223
+ .chatMessageContent p:first-child { margin-top: 0; }
1224
+ .chatMessageContent p:last-child { margin-bottom: 0; }
1187
1225
  ` })
1188
1226
  ]
1189
1227
  }
@@ -1815,5 +1853,5 @@ function getDeviceType() {
1815
1853
  }
1816
1854
 
1817
1855
  export { ChatWidget, DesignRenderer, EngageWidget };
1818
- //# sourceMappingURL=chunk-TOUIKTXU.mjs.map
1819
- //# sourceMappingURL=chunk-TOUIKTXU.mjs.map
1856
+ //# sourceMappingURL=chunk-FHTQUJ4M.mjs.map
1857
+ //# sourceMappingURL=chunk-FHTQUJ4M.mjs.map