@katechat/ui 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/cjs/index.js CHANGED
@@ -57407,22 +57407,6 @@ var CopyMessageButton = ({
57407
57407
  /* @__PURE__ */ import_react2.default.createElement(import_icons_react.IconCopy, null)
57408
57408
  )), /* @__PURE__ */ import_react2.default.createElement(import_core2.ActionIcon, { disabled: true, size: "sm", className: "check-icon" }, /* @__PURE__ */ import_react2.default.createElement(import_icons_react.IconCopyCheck, null)));
57409
57409
 
57410
- // src/components/chat/message/ChatMessage.module.scss
57411
- var ChatMessage_module_default = {
57412
- "messageContainer": "_messageContainer_bxv2j_1",
57413
- "main": "_main_bxv2j_7",
57414
- "linked": "_linked_bxv2j_8",
57415
- "linkedToggle": "_linkedToggle_bxv2j_19",
57416
- "hidden": "_hidden_bxv2j_41",
57417
- "linkedMessageContainer": "_linkedMessageContainer_bxv2j_45",
57418
- "message": "_message_bxv2j_1",
57419
- "preview": "_preview_bxv2j_82",
57420
- "detailsBlock": "_detailsBlock_bxv2j_91",
57421
- "messageFooter": "_messageFooter_bxv2j_251",
57422
- "user": "_user_bxv2j_277",
57423
- "error": "_error_bxv2j_282"
57424
- };
57425
-
57426
57410
  // src/components/chat/message/ChatMessage.Carousel.module.scss
57427
57411
  var ChatMessage_Carousel_module_default = {
57428
57412
  "controls": "_controls_pp1ia_1"
@@ -57536,7 +57520,7 @@ var ChatMessage = (props) => {
57536
57520
  const mainMessage = (0, import_react3.useMemo)(() => {
57537
57521
  const plugins = pluginsLoader ? pluginsLoader(message) : null;
57538
57522
  const model = models?.find((m) => m.modelId === message?.modelId);
57539
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_core3.Group, { align: "center" }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Avatar, { color: "gray", radius: "xl", size: "md", src: isUserMessage ? message?.user?.avatarUrl : void 0 }, isUserMessage ? /* @__PURE__ */ import_react3.default.createElement(import_icons_react2.IconUser, null) : model ? /* @__PURE__ */ import_react3.default.createElement(ProviderIcon, { apiProvider: model.apiProvider, provider: model.provider }) : /* @__PURE__ */ import_react3.default.createElement(import_icons_react2.IconRobot, null)), /* @__PURE__ */ import_react3.default.createElement(import_core3.Group, { gap: "xs" }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Text, { size: "sm", fw: 500, c: isUserMessage ? "blue" : "teal" }, username), /* @__PURE__ */ import_react3.default.createElement(import_core3.Text, { size: "xs", c: "dimmed" }, timestamp), status && /* @__PURE__ */ import_react3.default.createElement(MessageStatus, { status }), statusInfo && /* @__PURE__ */ import_react3.default.createElement(import_core3.Text, { size: "xs", c: "dimmed" }, statusInfo))), /* @__PURE__ */ import_react3.default.createElement("div", { className: ChatMessage_module_default.message }, streaming && !content && /* @__PURE__ */ import_react3.default.createElement(import_core3.Loader, { size: "md", mb: "md" }), html2 ? html2.map((part, index2) => /* @__PURE__ */ import_react3.default.createElement("div", { key: index2, dangerouslySetInnerHTML: { __html: part } })) : /* @__PURE__ */ import_react3.default.createElement("div", null, content), details && /* @__PURE__ */ import_react3.default.createElement(import_core3.Box, { mt: "md" }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Group, { mb: 5 }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Button, { onClick: toggleDetails, p: "xs", variant: "light", size: "xs" }, "Details")), /* @__PURE__ */ import_react3.default.createElement(import_core3.Collapse, { in: showDetails }, /* @__PURE__ */ import_react3.default.createElement("div", { className: ChatMessage_module_default.detailsBlock }, details))), /* @__PURE__ */ import_react3.default.createElement("div", { className: ChatMessage_module_default.messageFooter }, /* @__PURE__ */ import_react3.default.createElement(CopyMessageButton, { messageId: id, messageIndex: index }), plugins)));
57523
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_core3.Group, { align: "center" }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Avatar, { color: "gray", radius: "xl", size: "md", src: isUserMessage ? message?.user?.avatarUrl : void 0 }, isUserMessage ? /* @__PURE__ */ import_react3.default.createElement(import_icons_react2.IconUser, null) : model ? /* @__PURE__ */ import_react3.default.createElement(ProviderIcon, { apiProvider: model.apiProvider, provider: model.provider }) : /* @__PURE__ */ import_react3.default.createElement(import_icons_react2.IconRobot, null)), /* @__PURE__ */ import_react3.default.createElement(import_core3.Group, { gap: "xs" }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Text, { size: "sm", fw: 500, c: isUserMessage ? "blue" : "teal" }, username), /* @__PURE__ */ import_react3.default.createElement(import_core3.Text, { size: "xs", c: "dimmed" }, timestamp), status && /* @__PURE__ */ import_react3.default.createElement(MessageStatus, { status }), statusInfo && /* @__PURE__ */ import_react3.default.createElement(import_core3.Text, { size: "xs", c: "dimmed" }, statusInfo))), /* @__PURE__ */ import_react3.default.createElement("div", { className: "katechat-message-content" }, streaming && !content && /* @__PURE__ */ import_react3.default.createElement(import_core3.Loader, { size: "md", mb: "md" }), html2 ? html2.map((part, index2) => /* @__PURE__ */ import_react3.default.createElement("div", { key: index2, dangerouslySetInnerHTML: { __html: part } })) : /* @__PURE__ */ import_react3.default.createElement("div", null, content), details && /* @__PURE__ */ import_react3.default.createElement(import_core3.Box, { mt: "md" }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Group, { mb: 5 }, /* @__PURE__ */ import_react3.default.createElement(import_core3.Button, { onClick: toggleDetails, p: "xs", variant: "light", size: "xs" }, "Details")), /* @__PURE__ */ import_react3.default.createElement(import_core3.Collapse, { in: showDetails }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "katechat-message-content-details" }, details))), /* @__PURE__ */ import_react3.default.createElement("div", { className: "katechat-message-footer" }, /* @__PURE__ */ import_react3.default.createElement(CopyMessageButton, { messageId: id, messageIndex: index }), plugins)));
57540
57524
  }, [
57541
57525
  role,
57542
57526
  username,
@@ -57579,9 +57563,9 @@ var ChatMessage = (props) => {
57579
57563
  );
57580
57564
  }, [linkedMessages, models, pluginsLoader, index]);
57581
57565
  if (!linkedMessagesCmp) {
57582
- return /* @__PURE__ */ import_react3.default.createElement("div", { className: [ChatMessage_module_default.messageContainer, ChatMessage_module_default[role] || ""].join(" "), ref: componentRef }, /* @__PURE__ */ import_react3.default.createElement("div", { className: ChatMessage_module_default.main }, mainMessage));
57566
+ return /* @__PURE__ */ import_react3.default.createElement("div", { className: ["katechat-message", `katechat-message__${role || ""}`].join(" "), ref: componentRef }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "katechat-message-main" }, mainMessage));
57583
57567
  }
57584
- return /* @__PURE__ */ import_react3.default.createElement("div", { className: [ChatMessage_module_default.messageContainer, ChatMessage_module_default[role] || ""].join(" "), ref: componentRef }, /* @__PURE__ */ import_react3.default.createElement("div", { className: ChatMessage_module_default.linkedToggle }, /* @__PURE__ */ import_react3.default.createElement(
57568
+ return /* @__PURE__ */ import_react3.default.createElement("div", { className: ["katechat-message", `katechat-message__${role || ""}`].join(" "), ref: componentRef }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "katechat-message-linked-toggle" }, /* @__PURE__ */ import_react3.default.createElement(
57585
57569
  import_core3.Switch,
57586
57570
  {
57587
57571
  checked: showMainMessage,
@@ -57589,7 +57573,7 @@ var ChatMessage = (props) => {
57589
57573
  label: showMainMessage ? "Main" : "Others",
57590
57574
  size: "sm"
57591
57575
  }
57592
- )), /* @__PURE__ */ import_react3.default.createElement("div", { className: [ChatMessage_module_default.main, showMainMessage ? "" : ChatMessage_module_default.hidden].join(" ") }, mainMessage), /* @__PURE__ */ import_react3.default.createElement("div", { className: [ChatMessage_module_default.linked, showMainMessage ? ChatMessage_module_default.hidden : ""].join(" ") }, linkedMessagesCmp));
57576
+ )), /* @__PURE__ */ import_react3.default.createElement("div", { className: ["katechat-message-main", showMainMessage ? "" : "hidden"].join(" ") }, mainMessage), /* @__PURE__ */ import_react3.default.createElement("div", { className: ["katechat-message-linked", showMainMessage ? "hidden" : ""].join(" ") }, linkedMessagesCmp));
57593
57577
  };
57594
57578
  ChatMessage.displayName = "ChatMessage";
57595
57579
 
@@ -57597,7 +57581,15 @@ ChatMessage.displayName = "ChatMessage";
57597
57581
  var import_react4 = __toESM(require("react"), 1);
57598
57582
  var import_core5 = require("@mantine/core");
57599
57583
  var ChatMessagePreview = ({ html: html2, text: text2 }) => {
57600
- return /* @__PURE__ */ import_react4.default.createElement(import_core5.ScrollArea, { type: "hover", offsetScrollbars: true, className: [ChatMessage_module_default.message, ChatMessage_module_default.preview].join(" ") }, text2 ? /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, html2 ? html2.map((part, index) => /* @__PURE__ */ import_react4.default.createElement("div", { key: index, dangerouslySetInnerHTML: { __html: part } })) : /* @__PURE__ */ import_react4.default.createElement("div", null, text2)) : "...");
57584
+ return /* @__PURE__ */ import_react4.default.createElement(
57585
+ import_core5.ScrollArea,
57586
+ {
57587
+ type: "hover",
57588
+ offsetScrollbars: true,
57589
+ className: ["katechat-message-content", "katechat-message-preview"].join(" ")
57590
+ },
57591
+ text2 ? /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, html2 ? html2.map((part, index) => /* @__PURE__ */ import_react4.default.createElement("div", { key: index, dangerouslySetInnerHTML: { __html: part } })) : /* @__PURE__ */ import_react4.default.createElement("div", null, text2)) : "..."
57592
+ );
57601
57593
  };
57602
57594
 
57603
57595
  // src/components/chat/message/LinkedChatMessage.tsx
@@ -57644,7 +57636,7 @@ var LinkedChatMessage = ({ message, parentIndex, index, plugins, models }) => {
57644
57636
  const model = (0, import_react6.useMemo)(() => {
57645
57637
  return models?.find((m) => m.modelId === message.modelId);
57646
57638
  }, [models, message.modelId]);
57647
- return /* @__PURE__ */ import_react6.default.createElement(import_carousel2.Carousel.Slide, { key: message.id, className: ChatMessage_module_default.linkedMessageContainer }, /* @__PURE__ */ import_react6.default.createElement(import_core6.Group, { align: "center" }, /* @__PURE__ */ import_react6.default.createElement(import_core6.Avatar, { radius: "xl", size: "md" }, model ? /* @__PURE__ */ import_react6.default.createElement(ProviderIcon, { apiProvider: model.apiProvider, provider: model.provider }) : /* @__PURE__ */ import_react6.default.createElement(import_icons_react4.IconRobot, null)), /* @__PURE__ */ import_react6.default.createElement(import_core6.Group, { gap: "xs" }, /* @__PURE__ */ import_react6.default.createElement(import_core6.Text, { size: "sm", fw: 500, c: "teal" }, message.modelName), message.status && /* @__PURE__ */ import_react6.default.createElement(MessageStatus, { status: message.status }), message.statusInfo && /* @__PURE__ */ import_react6.default.createElement(import_core6.Text, { size: "xs", c: "dimmed" }, message.statusInfo))), /* @__PURE__ */ import_react6.default.createElement("div", { className: ChatMessage_module_default.message }, message.html ? message.html.map((part, index2) => /* @__PURE__ */ import_react6.default.createElement("div", { key: index2, dangerouslySetInnerHTML: { __html: part } })) : /* @__PURE__ */ import_react6.default.createElement("div", null, message.content), /* @__PURE__ */ import_react6.default.createElement("div", { className: ChatMessage_module_default.messageFooter }, /* @__PURE__ */ import_react6.default.createElement(CopyMessageButton, { messageId: message.id, messageIndex: parentIndex, linkedMessageIndex: index }), plugins)));
57639
+ return /* @__PURE__ */ import_react6.default.createElement(import_carousel2.Carousel.Slide, { key: message.id, className: "katechat-message-linked" }, /* @__PURE__ */ import_react6.default.createElement(import_core6.Group, { align: "center" }, /* @__PURE__ */ import_react6.default.createElement(import_core6.Avatar, { radius: "xl", size: "md" }, model ? /* @__PURE__ */ import_react6.default.createElement(ProviderIcon, { apiProvider: model.apiProvider, provider: model.provider }) : /* @__PURE__ */ import_react6.default.createElement(import_icons_react4.IconRobot, null)), /* @__PURE__ */ import_react6.default.createElement(import_core6.Group, { gap: "xs" }, /* @__PURE__ */ import_react6.default.createElement(import_core6.Text, { size: "sm", fw: 500, c: "teal" }, message.modelName), message.status && /* @__PURE__ */ import_react6.default.createElement(MessageStatus, { status: message.status }), message.statusInfo && /* @__PURE__ */ import_react6.default.createElement(import_core6.Text, { size: "xs", c: "dimmed" }, message.statusInfo))), /* @__PURE__ */ import_react6.default.createElement("div", { className: "katechat-message-content" }, message.html ? message.html.map((part, index2) => /* @__PURE__ */ import_react6.default.createElement("div", { key: index2, dangerouslySetInnerHTML: { __html: part } })) : /* @__PURE__ */ import_react6.default.createElement("div", null, message.content), /* @__PURE__ */ import_react6.default.createElement("div", { className: "katechat-message-footer" }, /* @__PURE__ */ import_react6.default.createElement(CopyMessageButton, { messageId: message.id, messageIndex: parentIndex, linkedMessageIndex: index }), plugins)));
57648
57640
  };
57649
57641
  LinkedChatMessage.displayName = "LinkedChatMessage";
57650
57642
 
@@ -58234,18 +58226,6 @@ var useTheme = () => {
58234
58226
  return context;
58235
58227
  };
58236
58228
 
58237
- // src/components/chat/ChatMessagesContainer.module.scss
58238
- var ChatMessagesContainer_module_default = {
58239
- "messagesContainer": "_messagesContainer_b8239_2",
58240
- "messagesList": "_messagesList_b8239_19",
58241
- "empty": "_empty_b8239_23",
58242
- "scroller": "_scroller_b8239_12",
58243
- "loadCompleted": "_loadCompleted_b8239_31",
58244
- "anchorContainer": "_anchorContainer_b8239_41",
58245
- "visible": "_visible_b8239_55",
58246
- "anchor": "_anchor_b8239_41"
58247
- };
58248
-
58249
58229
  // src/components/chat/ChatMessagesContainer.tsx
58250
58230
  var ChatMessagesContainer = import_react13.default.forwardRef(
58251
58231
  ({
@@ -58318,12 +58298,12 @@ var ChatMessagesContainer = import_react13.default.forwardRef(
58318
58298
  "div",
58319
58299
  {
58320
58300
  className: [
58321
- ChatMessagesContainer_module_default.messagesContainer,
58322
- loadCompleted ? ChatMessagesContainer_module_default.loadCompleted : "",
58323
- loadCompleted && messages?.length === 0 ? ChatMessagesContainer_module_default.empty : ""
58301
+ "katechat-messages-container",
58302
+ loadCompleted ? "container--load-completed" : "",
58303
+ loadCompleted && messages?.length === 0 ? "container--empty" : ""
58324
58304
  ].join(" ")
58325
58305
  },
58326
- /* @__PURE__ */ import_react13.default.createElement("div", { className: ChatMessagesContainer_module_default.scroller, ref: messagesContainerRef, onScroll: handleScroll }, /* @__PURE__ */ import_react13.default.createElement("div", { ref: firstMessageRef }), loading && /* @__PURE__ */ import_react13.default.createElement(import_core11.Group, { justify: "center", align: "center", py: "xl" }, /* @__PURE__ */ import_react13.default.createElement(import_core11.Loader, null)), /* @__PURE__ */ import_react13.default.createElement("div", { className: ChatMessagesContainer_module_default.messagesList }, messages && /* @__PURE__ */ import_react13.default.createElement(
58306
+ /* @__PURE__ */ import_react13.default.createElement("div", { className: "katechat-messages-container-scroller", ref: messagesContainerRef, onScroll: handleScroll }, /* @__PURE__ */ import_react13.default.createElement("div", { ref: firstMessageRef }), loading && /* @__PURE__ */ import_react13.default.createElement(import_core11.Group, { justify: "center", align: "center", py: "xl" }, /* @__PURE__ */ import_react13.default.createElement(import_core11.Loader, null)), /* @__PURE__ */ import_react13.default.createElement("div", { className: "katechat-messages-list" }, messages && /* @__PURE__ */ import_react13.default.createElement(
58327
58307
  ChatMessagesList,
58328
58308
  {
58329
58309
  messages,
@@ -58334,7 +58314,7 @@ var ChatMessagesContainer = import_react13.default.forwardRef(
58334
58314
  detailsPlugins
58335
58315
  }
58336
58316
  ))),
58337
- /* @__PURE__ */ import_react13.default.createElement("div", { className: [ChatMessagesContainer_module_default.anchorContainer, showAnchorButton ? ChatMessagesContainer_module_default.visible : ""].join(" ") }, /* @__PURE__ */ import_react13.default.createElement("div", { className: ChatMessagesContainer_module_default.anchor }, /* @__PURE__ */ import_react13.default.createElement(import_icons_react8.IconCircleChevronDown, { size: 32, color: "teal", style: { cursor: "pointer" }, onClick: anchorHandleClick })))
58317
+ /* @__PURE__ */ import_react13.default.createElement("div", { className: ["katechat-anchor-container", showAnchorButton ? "container--visible" : ""].join(" ") }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "katechat-anchor" }, /* @__PURE__ */ import_react13.default.createElement(import_icons_react8.IconCircleChevronDown, { size: 32, color: "teal", onClick: anchorHandleClick })))
58338
58318
  );
58339
58319
  }
58340
58320
  );