@copilotkit/react-ui 1.4.0-pre-1-4-0.12 → 1.4.0-pre-1-4-0.13
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/CHANGELOG.md +13 -0
- package/dist/{chunk-QK6XA3PL.mjs → chunk-H5CXJBR5.mjs} +3 -3
- package/dist/{chunk-TEZWY2BL.mjs → chunk-M2NVAJQA.mjs} +2 -2
- package/dist/{chunk-C5KOJ3IH.mjs → chunk-ORHE7FYT.mjs} +2 -2
- package/dist/{chunk-OJ5NVSTU.mjs → chunk-PY7YBFPA.mjs} +2 -2
- package/dist/{chunk-CPMIEVKK.mjs → chunk-RKPANT3F.mjs} +65 -15
- package/dist/chunk-RKPANT3F.mjs.map +1 -0
- package/dist/components/chat/Chat.js +62 -13
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +2 -2
- package/dist/components/chat/Messages.d.ts +6 -1
- package/dist/components/chat/Messages.js +66 -15
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +5 -3
- package/dist/components/chat/Modal.js +62 -13
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +3 -3
- package/dist/components/chat/Popup.js +62 -13
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +4 -4
- package/dist/components/chat/Sidebar.js +62 -13
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +4 -4
- package/dist/components/chat/index.js +62 -13
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +5 -5
- package/dist/components/index.js +62 -13
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +5 -5
- package/dist/index.js +62 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- package/package.json +7 -7
- package/src/components/chat/Messages.tsx +72 -15
- package/dist/chunk-CPMIEVKK.mjs.map +0 -1
- /package/dist/{chunk-QK6XA3PL.mjs.map → chunk-H5CXJBR5.mjs.map} +0 -0
- /package/dist/{chunk-TEZWY2BL.mjs.map → chunk-M2NVAJQA.mjs.map} +0 -0
- /package/dist/{chunk-C5KOJ3IH.mjs.map → chunk-ORHE7FYT.mjs.map} +0 -0
- /package/dist/{chunk-OJ5NVSTU.mjs.map → chunk-PY7YBFPA.mjs.map} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CopilotModal
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-H5CXJBR5.mjs";
|
|
4
4
|
import "../../chunk-YAGE7RCE.mjs";
|
|
5
5
|
import "../../chunk-VEC45H6Q.mjs";
|
|
6
6
|
import "../../chunk-RQNJNK2W.mjs";
|
|
7
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-ORHE7FYT.mjs";
|
|
8
8
|
import "../../chunk-V7W6IM2V.mjs";
|
|
9
9
|
import "../../chunk-OMTPWC7T.mjs";
|
|
10
10
|
import "../../chunk-ZABXREBH.mjs";
|
|
@@ -17,7 +17,7 @@ import "../../chunk-OTPAZXVR.mjs";
|
|
|
17
17
|
import "../../chunk-4LUMV4YO.mjs";
|
|
18
18
|
import "../../chunk-YQFVRDNC.mjs";
|
|
19
19
|
import "../../chunk-YQ3D5IQV.mjs";
|
|
20
|
-
import "../../chunk-
|
|
20
|
+
import "../../chunk-RKPANT3F.mjs";
|
|
21
21
|
import "../../chunk-3XAXY2Z3.mjs";
|
|
22
22
|
import "../../chunk-CBBFRI3Q.mjs";
|
|
23
23
|
import "../../chunk-UPTB2MVO.mjs";
|
|
@@ -526,7 +526,7 @@ var Header = ({}) => {
|
|
|
526
526
|
};
|
|
527
527
|
|
|
528
528
|
// src/components/chat/Messages.tsx
|
|
529
|
-
var import_react3 =
|
|
529
|
+
var import_react3 = require("react");
|
|
530
530
|
var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
531
531
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
532
532
|
var Messages = ({
|
|
@@ -556,18 +556,8 @@ var Messages = ({
|
|
|
556
556
|
}
|
|
557
557
|
}
|
|
558
558
|
}
|
|
559
|
-
const messagesEndRef =
|
|
560
|
-
|
|
561
|
-
if (messagesEndRef.current) {
|
|
562
|
-
messagesEndRef.current.scrollIntoView({
|
|
563
|
-
behavior: "auto"
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
};
|
|
567
|
-
(0, import_react3.useEffect)(() => {
|
|
568
|
-
scrollToBottom();
|
|
569
|
-
}, [messages]);
|
|
570
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "copilotKitMessages", children: [
|
|
559
|
+
const { messagesEndRef, messagesContainerRef } = useScrollToBottom(messages);
|
|
560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "copilotKitMessages", ref: messagesContainerRef, children: [
|
|
571
561
|
messages.map((message, index) => {
|
|
572
562
|
const isCurrentMessage = index === messages.length - 1;
|
|
573
563
|
if (message.isTextMessage()) {
|
|
@@ -636,6 +626,65 @@ function makeInitialMessages(initial) {
|
|
|
636
626
|
})
|
|
637
627
|
);
|
|
638
628
|
}
|
|
629
|
+
function useScrollToBottom(messages) {
|
|
630
|
+
const messagesEndRef = (0, import_react3.useRef)(null);
|
|
631
|
+
const messagesContainerRef = (0, import_react3.useRef)(null);
|
|
632
|
+
const isProgrammaticScrollRef = (0, import_react3.useRef)(false);
|
|
633
|
+
const isUserScrollUpRef = (0, import_react3.useRef)(false);
|
|
634
|
+
const scrollToBottom = () => {
|
|
635
|
+
if (messagesEndRef.current) {
|
|
636
|
+
isProgrammaticScrollRef.current = true;
|
|
637
|
+
messagesEndRef.current.scrollIntoView({
|
|
638
|
+
behavior: "auto"
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
};
|
|
642
|
+
const handleScroll = () => {
|
|
643
|
+
if (isProgrammaticScrollRef.current) {
|
|
644
|
+
isProgrammaticScrollRef.current = false;
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
if (messagesContainerRef.current) {
|
|
648
|
+
const { scrollTop, scrollHeight, clientHeight } = messagesContainerRef.current;
|
|
649
|
+
isUserScrollUpRef.current = scrollTop + clientHeight < scrollHeight;
|
|
650
|
+
}
|
|
651
|
+
};
|
|
652
|
+
(0, import_react3.useEffect)(() => {
|
|
653
|
+
const container = messagesContainerRef.current;
|
|
654
|
+
if (container) {
|
|
655
|
+
container.addEventListener("scroll", handleScroll);
|
|
656
|
+
}
|
|
657
|
+
return () => {
|
|
658
|
+
if (container) {
|
|
659
|
+
container.removeEventListener("scroll", handleScroll);
|
|
660
|
+
}
|
|
661
|
+
};
|
|
662
|
+
}, []);
|
|
663
|
+
(0, import_react3.useEffect)(() => {
|
|
664
|
+
const container = messagesContainerRef.current;
|
|
665
|
+
if (!container) {
|
|
666
|
+
return;
|
|
667
|
+
}
|
|
668
|
+
const mutationObserver = new MutationObserver(() => {
|
|
669
|
+
if (!isUserScrollUpRef.current) {
|
|
670
|
+
scrollToBottom();
|
|
671
|
+
}
|
|
672
|
+
});
|
|
673
|
+
mutationObserver.observe(container, {
|
|
674
|
+
childList: true,
|
|
675
|
+
subtree: true,
|
|
676
|
+
characterData: true
|
|
677
|
+
});
|
|
678
|
+
return () => {
|
|
679
|
+
mutationObserver.disconnect();
|
|
680
|
+
};
|
|
681
|
+
}, []);
|
|
682
|
+
(0, import_react3.useEffect)(() => {
|
|
683
|
+
isUserScrollUpRef.current = false;
|
|
684
|
+
scrollToBottom();
|
|
685
|
+
}, [messages.filter((m) => m.isTextMessage() && m.role === import_runtime_client_gql.Role.User).length]);
|
|
686
|
+
return { messagesEndRef, messagesContainerRef };
|
|
687
|
+
}
|
|
639
688
|
|
|
640
689
|
// src/components/chat/Input.tsx
|
|
641
690
|
var import_react6 = require("react");
|