@agentiffai/design 0.1.5 → 0.1.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/{Window-CukhSS8T.d.cts → StreamStatusIndicator-DM5n4MI1.d.cts} +141 -4
- package/dist/{Window-CukhSS8T.d.ts → StreamStatusIndicator-DM5n4MI1.d.ts} +141 -4
- package/dist/copilotkit/index.cjs +974 -222
- package/dist/copilotkit/index.cjs.map +1 -1
- package/dist/copilotkit/index.d.cts +10 -2
- package/dist/copilotkit/index.d.ts +10 -2
- package/dist/copilotkit/index.js +972 -223
- package/dist/copilotkit/index.js.map +1 -1
- package/dist/index.cjs +1829 -175
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -3
- package/dist/index.d.ts +17 -3
- package/dist/index.js +1822 -176
- package/dist/index.js.map +1 -1
- package/dist/layout/index.cjs +85 -50
- package/dist/layout/index.cjs.map +1 -1
- package/dist/layout/index.d.cts +10 -3
- package/dist/layout/index.d.ts +10 -3
- package/dist/layout/index.js +85 -50
- package/dist/layout/index.js.map +1 -1
- package/dist/theme/index.cjs +6 -1
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.d.cts +8 -0
- package/dist/theme/index.d.ts +8 -0
- package/dist/theme/index.js +6 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/workflow/index.cjs +995 -0
- package/dist/workflow/index.cjs.map +1 -0
- package/dist/workflow/index.d.cts +168 -0
- package/dist/workflow/index.d.ts +168 -0
- package/dist/workflow/index.js +986 -0
- package/dist/workflow/index.js.map +1 -0
- package/package.json +15 -3
- package/public/assets/avatar-transparent-bg.png +0 -0
- package/public/assets/icon-set/Icon-arrow-left-fill.svg +1 -0
- package/public/assets/icon-set/Icon-check-fill.svg +3 -0
- package/public/assets/icon-set/Icon-close-fill.svg +3 -0
- package/public/assets/icon-set/Icon-hourglass-line.svg +3 -0
- package/public/assets/icon-set/Icon-loader-2-line.svg +3 -0
- package/public/assets/icon-set/Icon-radio-button-line.svg +3 -0
- package/public/assets/icon-set/Icon-shield-check-fill.svg +3 -0
- package/public/assets/icon-set/Icon-shield-cross-fill.svg +3 -0
- package/public/assets/icon-set/logout-box-fill.svg +1 -0
package/dist/copilotkit/index.js
CHANGED
|
@@ -458,6 +458,20 @@ var MessageContainer = styled4.div`
|
|
|
458
458
|
align-items: flex-start;
|
|
459
459
|
padding: 8px 0;
|
|
460
460
|
max-width: 100%;
|
|
461
|
+
|
|
462
|
+
/* Fade in and slide up animation */
|
|
463
|
+
animation: fadeInSlideUp 0.4s ease-out;
|
|
464
|
+
|
|
465
|
+
@keyframes fadeInSlideUp {
|
|
466
|
+
from {
|
|
467
|
+
opacity: 0;
|
|
468
|
+
transform: translateY(10px);
|
|
469
|
+
}
|
|
470
|
+
to {
|
|
471
|
+
opacity: 1;
|
|
472
|
+
transform: translateY(0);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
461
475
|
`;
|
|
462
476
|
var AvatarContainer = styled4.div`
|
|
463
477
|
flex-shrink: 0;
|
|
@@ -467,25 +481,24 @@ var Avatar = styled4.img`
|
|
|
467
481
|
height: 32px;
|
|
468
482
|
border-radius: 50%;
|
|
469
483
|
object-fit: cover;
|
|
470
|
-
background-color:
|
|
484
|
+
background-color: transparent;
|
|
471
485
|
`;
|
|
472
486
|
var AvatarInitials = styled4.div`
|
|
473
487
|
width: 32px;
|
|
474
488
|
height: 32px;
|
|
475
489
|
border-radius: 50%;
|
|
476
|
-
|
|
477
|
-
color: white;
|
|
490
|
+
overflow: hidden;
|
|
478
491
|
display: flex;
|
|
479
492
|
align-items: center;
|
|
480
493
|
justify-content: center;
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
|
494
|
+
background-color: #1e3a5f; /* Dark blue background */
|
|
495
|
+
padding: 4px; /* Make the avatar image smaller inside the circle */
|
|
496
|
+
box-sizing: border-box;
|
|
485
497
|
|
|
486
|
-
|
|
487
|
-
width:
|
|
488
|
-
height:
|
|
498
|
+
img {
|
|
499
|
+
width: 100%;
|
|
500
|
+
height: 100%;
|
|
501
|
+
object-fit: contain;
|
|
489
502
|
}
|
|
490
503
|
`;
|
|
491
504
|
var ContentContainer = styled4.div`
|
|
@@ -493,11 +506,13 @@ var ContentContainer = styled4.div`
|
|
|
493
506
|
min-width: 0;
|
|
494
507
|
`;
|
|
495
508
|
var MessageContent = styled4.div`
|
|
496
|
-
background-color:
|
|
509
|
+
background-color: rgba(45, 45, 61, 0.7); /* Semi-transparent dark gray with 70% opacity */
|
|
510
|
+
backdrop-filter: blur(10px);
|
|
511
|
+
-webkit-backdrop-filter: blur(10px);
|
|
497
512
|
padding: 12px 16px;
|
|
498
|
-
border-radius:
|
|
513
|
+
border-radius: 12px; /* Match design tokens */
|
|
499
514
|
border-top-left-radius: 4px;
|
|
500
|
-
color: #
|
|
515
|
+
color: #FFFFFF; /* White text from design tokens */
|
|
501
516
|
font-size: 14px;
|
|
502
517
|
line-height: 1.5;
|
|
503
518
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
@@ -509,8 +524,10 @@ var LoadingDots2 = styled4.div`
|
|
|
509
524
|
display: flex;
|
|
510
525
|
gap: 6px;
|
|
511
526
|
padding: 12px 16px;
|
|
512
|
-
background-color:
|
|
513
|
-
|
|
527
|
+
background-color: rgba(45, 45, 61, 0.7); /* Match MessageContent with transparency */
|
|
528
|
+
backdrop-filter: blur(10px);
|
|
529
|
+
-webkit-backdrop-filter: blur(10px);
|
|
530
|
+
border-radius: 12px; /* Match design tokens */
|
|
514
531
|
border-top-left-radius: 4px;
|
|
515
532
|
width: fit-content;
|
|
516
533
|
`;
|
|
@@ -661,20 +678,136 @@ var FileAttachment = ({
|
|
|
661
678
|
}
|
|
662
679
|
);
|
|
663
680
|
};
|
|
681
|
+
var Container = styled4.div`
|
|
682
|
+
font-family: ${(props) => props.variant === "code" ? '"SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace' : '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'};
|
|
683
|
+
white-space: pre-wrap;
|
|
684
|
+
word-break: break-word;
|
|
685
|
+
line-height: 1.5;
|
|
686
|
+
`;
|
|
687
|
+
var Cursor = styled4.span`
|
|
688
|
+
display: inline-block;
|
|
689
|
+
width: 2px;
|
|
690
|
+
height: 1em;
|
|
691
|
+
background-color: currentColor;
|
|
692
|
+
margin-left: 2px;
|
|
693
|
+
vertical-align: text-bottom;
|
|
694
|
+
animation: blink 1s infinite;
|
|
695
|
+
|
|
696
|
+
@keyframes blink {
|
|
697
|
+
0%,
|
|
698
|
+
49% {
|
|
699
|
+
opacity: 1;
|
|
700
|
+
}
|
|
701
|
+
50%,
|
|
702
|
+
100% {
|
|
703
|
+
opacity: 0;
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
`;
|
|
707
|
+
var StreamingText2 = ({
|
|
708
|
+
content,
|
|
709
|
+
isStreaming = false,
|
|
710
|
+
typingSpeed: _typingSpeed = 50,
|
|
711
|
+
// Not used - streaming shows chunks as they arrive
|
|
712
|
+
cursor = true,
|
|
713
|
+
variant = "default",
|
|
714
|
+
onStreamComplete,
|
|
715
|
+
className
|
|
716
|
+
}) => {
|
|
717
|
+
const [displayedText, setDisplayedText] = useState("");
|
|
718
|
+
useEffect(() => {
|
|
719
|
+
if (isStreaming) {
|
|
720
|
+
setDisplayedText(content);
|
|
721
|
+
return;
|
|
722
|
+
}
|
|
723
|
+
if (!isStreaming && displayedText !== content) {
|
|
724
|
+
setDisplayedText(content);
|
|
725
|
+
if (onStreamComplete) {
|
|
726
|
+
onStreamComplete();
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
}, [content, isStreaming, onStreamComplete, displayedText]);
|
|
730
|
+
const showCursor = isStreaming && cursor;
|
|
731
|
+
return /* @__PURE__ */ jsxs(Container, { variant, className, children: [
|
|
732
|
+
displayedText,
|
|
733
|
+
showCursor && /* @__PURE__ */ jsx(Cursor, {})
|
|
734
|
+
] });
|
|
735
|
+
};
|
|
736
|
+
StreamingText2.displayName = "StreamingText";
|
|
664
737
|
var AttachmentsContainer = styled4.div`
|
|
665
738
|
display: flex;
|
|
666
739
|
flex-direction: column;
|
|
667
740
|
gap: 8px;
|
|
668
741
|
margin-top: 12px;
|
|
669
742
|
`;
|
|
743
|
+
var ActionButton = styled4.button`
|
|
744
|
+
display: inline-flex;
|
|
745
|
+
align-items: center;
|
|
746
|
+
gap: 4px;
|
|
747
|
+
padding: 4px 8px;
|
|
748
|
+
font-size: 12px;
|
|
749
|
+
font-weight: 500;
|
|
750
|
+
color: #9CA3AF;
|
|
751
|
+
background: rgba(255, 255, 255, 0.05);
|
|
752
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
753
|
+
border-radius: 6px;
|
|
754
|
+
cursor: pointer;
|
|
755
|
+
transition: all 0.15s ease-in-out;
|
|
756
|
+
|
|
757
|
+
&:hover {
|
|
758
|
+
background: rgba(255, 255, 255, 0.1);
|
|
759
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
760
|
+
color: #FFFFFF;
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
&:active {
|
|
764
|
+
transform: scale(0.98);
|
|
765
|
+
}
|
|
766
|
+
`;
|
|
767
|
+
var ActionsContainer2 = styled4.div`
|
|
768
|
+
display: flex;
|
|
769
|
+
gap: 6px;
|
|
770
|
+
flex-wrap: wrap;
|
|
771
|
+
margin-top: 8px;
|
|
772
|
+
`;
|
|
773
|
+
var MessageTime = styled4.time`
|
|
774
|
+
font-size: 11px;
|
|
775
|
+
color: #6B7280;
|
|
776
|
+
margin-top: 4px;
|
|
777
|
+
display: block;
|
|
778
|
+
`;
|
|
779
|
+
var StreamingIndicator = styled4.span`
|
|
780
|
+
display: inline-block;
|
|
781
|
+
width: 4px;
|
|
782
|
+
height: 4px;
|
|
783
|
+
margin-left: 4px;
|
|
784
|
+
background-color: #459FB9;
|
|
785
|
+
border-radius: 50%;
|
|
786
|
+
animation: pulse 1.5s ease-in-out infinite;
|
|
787
|
+
|
|
788
|
+
@keyframes pulse {
|
|
789
|
+
0%,
|
|
790
|
+
100% {
|
|
791
|
+
opacity: 0.3;
|
|
792
|
+
transform: scale(0.8);
|
|
793
|
+
}
|
|
794
|
+
50% {
|
|
795
|
+
opacity: 1;
|
|
796
|
+
transform: scale(1.2);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
`;
|
|
670
800
|
var AssistantMessage = ({
|
|
671
801
|
content = "",
|
|
672
802
|
avatarUrl,
|
|
673
803
|
avatarInitials: _avatarInitials = "AI",
|
|
674
804
|
isLoading = false,
|
|
805
|
+
isStreaming = false,
|
|
675
806
|
className,
|
|
676
807
|
attachments = [],
|
|
677
|
-
enableMarkdown
|
|
808
|
+
enableMarkdown = false,
|
|
809
|
+
timestamp,
|
|
810
|
+
actions = []
|
|
678
811
|
}) => {
|
|
679
812
|
const renderContent = () => {
|
|
680
813
|
if (isLoading) {
|
|
@@ -685,12 +818,29 @@ var AssistantMessage = ({
|
|
|
685
818
|
] });
|
|
686
819
|
}
|
|
687
820
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
688
|
-
content && /* @__PURE__ */
|
|
689
|
-
|
|
821
|
+
content && /* @__PURE__ */ jsxs(MessageContent, { children: [
|
|
822
|
+
/* @__PURE__ */ jsx(
|
|
823
|
+
StreamingText2,
|
|
824
|
+
{
|
|
825
|
+
content,
|
|
826
|
+
isStreaming,
|
|
827
|
+
typingSpeed: 30,
|
|
828
|
+
cursor: false,
|
|
829
|
+
variant: enableMarkdown ? "markdown" : "default"
|
|
830
|
+
}
|
|
831
|
+
),
|
|
832
|
+
isStreaming && /* @__PURE__ */ jsx(StreamingIndicator, {})
|
|
833
|
+
] }),
|
|
834
|
+
attachments.length > 0 && /* @__PURE__ */ jsx(AttachmentsContainer, { children: attachments.map((attachment, index) => /* @__PURE__ */ jsx(FileAttachment, { ...attachment }, `${attachment.title}-${index}`)) }),
|
|
835
|
+
timestamp && /* @__PURE__ */ jsx(MessageTime, { children: timestamp }),
|
|
836
|
+
actions.length > 0 && /* @__PURE__ */ jsx(ActionsContainer2, { children: actions.map((action, index) => /* @__PURE__ */ jsxs(ActionButton, { onClick: action.onClick, children: [
|
|
837
|
+
action.icon,
|
|
838
|
+
action.label
|
|
839
|
+
] }, index)) })
|
|
690
840
|
] });
|
|
691
841
|
};
|
|
692
842
|
return /* @__PURE__ */ jsxs(MessageContainer, { className, children: [
|
|
693
|
-
/* @__PURE__ */ jsx(AvatarContainer, { children: avatarUrl ? /* @__PURE__ */ jsx(Avatar, { src: avatarUrl, alt: "Assistant avatar" }) : /* @__PURE__ */ jsx(AvatarInitials, { children: /* @__PURE__ */ jsx(
|
|
843
|
+
/* @__PURE__ */ jsx(AvatarContainer, { children: avatarUrl ? /* @__PURE__ */ jsx(Avatar, { src: avatarUrl, alt: "Assistant avatar" }) : /* @__PURE__ */ jsx(AvatarInitials, { children: /* @__PURE__ */ jsx(Avatar, { src: "/assets/avatar-transparent-bg.png", alt: "AI Assistant" }) }) }),
|
|
694
844
|
/* @__PURE__ */ jsx(ContentContainer, { children: renderContent() })
|
|
695
845
|
] });
|
|
696
846
|
};
|
|
@@ -704,11 +854,40 @@ var dotPulse3 = keyframes`
|
|
|
704
854
|
transform: scale(1);
|
|
705
855
|
}
|
|
706
856
|
`;
|
|
707
|
-
var
|
|
857
|
+
var pulse = keyframes`
|
|
858
|
+
0%, 100% {
|
|
859
|
+
opacity: 0.5;
|
|
860
|
+
transform: scale(1);
|
|
861
|
+
}
|
|
862
|
+
50% {
|
|
863
|
+
opacity: 1;
|
|
864
|
+
transform: scale(1.2);
|
|
865
|
+
}
|
|
866
|
+
`;
|
|
867
|
+
var wave = keyframes`
|
|
868
|
+
0%, 40%, 100% {
|
|
869
|
+
transform: translateY(0);
|
|
870
|
+
}
|
|
871
|
+
20% {
|
|
872
|
+
transform: translateY(-8px);
|
|
873
|
+
}
|
|
874
|
+
`;
|
|
875
|
+
var getSizeValue = (size = "md") => {
|
|
876
|
+
switch (size) {
|
|
877
|
+
case "sm":
|
|
878
|
+
return { padding: "8px 12px", avatar: "32px", icon: "16px", fontSize: "12px", dotSize: "4px" };
|
|
879
|
+
case "lg":
|
|
880
|
+
return { padding: "16px 20px", avatar: "48px", icon: "24px", fontSize: "16px", dotSize: "8px" };
|
|
881
|
+
case "md":
|
|
882
|
+
default:
|
|
883
|
+
return { padding: "12px 16px", avatar: "40px", icon: "20px", fontSize: "14px", dotSize: "6px" };
|
|
884
|
+
}
|
|
885
|
+
};
|
|
886
|
+
var Container2 = styled4.div`
|
|
708
887
|
display: inline-flex;
|
|
709
888
|
align-items: center;
|
|
710
889
|
gap: 12px;
|
|
711
|
-
padding:
|
|
890
|
+
padding: ${(props) => getSizeValue(props.size).padding};
|
|
712
891
|
background-color: #2c2c2e;
|
|
713
892
|
border-radius: 16px;
|
|
714
893
|
box-shadow: none;
|
|
@@ -718,19 +897,19 @@ var Container = styled4.div`
|
|
|
718
897
|
margin: 0 auto;
|
|
719
898
|
`;
|
|
720
899
|
var Avatar2 = styled4.div`
|
|
721
|
-
width:
|
|
722
|
-
height:
|
|
900
|
+
width: ${(props) => getSizeValue(props.size).avatar};
|
|
901
|
+
height: ${(props) => getSizeValue(props.size).avatar};
|
|
723
902
|
border-radius: 50%;
|
|
724
|
-
background: linear-gradient(135deg, #
|
|
903
|
+
background: linear-gradient(135deg, #1e5a6b 0%, #2a7a8f 100%); /* Darker teal gradient */
|
|
725
904
|
display: flex;
|
|
726
905
|
align-items: center;
|
|
727
906
|
justify-content: center;
|
|
728
907
|
flex-shrink: 0;
|
|
729
|
-
box-shadow: 0 2px 8px rgba(
|
|
908
|
+
box-shadow: 0 2px 8px rgba(44, 176, 171, 0.3); /* Teal shadow */
|
|
730
909
|
`;
|
|
731
910
|
var HeadphonesIcon = styled4.svg`
|
|
732
|
-
width:
|
|
733
|
-
height:
|
|
911
|
+
width: ${(props) => getSizeValue(props.size).icon};
|
|
912
|
+
height: ${(props) => getSizeValue(props.size).icon};
|
|
734
913
|
color: #FFFFFF;
|
|
735
914
|
`;
|
|
736
915
|
var Content = styled4.div`
|
|
@@ -741,18 +920,29 @@ var Content = styled4.div`
|
|
|
741
920
|
var LoadingDots3 = styled4.div`
|
|
742
921
|
display: flex;
|
|
743
922
|
align-items: center;
|
|
744
|
-
gap: 4px;
|
|
923
|
+
gap: ${(props) => props.variant === "wave" ? "2px" : "4px"};
|
|
745
924
|
padding: 0 4px;
|
|
746
925
|
`;
|
|
747
926
|
var Dot2 = styled4.span`
|
|
748
|
-
width:
|
|
749
|
-
height:
|
|
927
|
+
width: ${(props) => getSizeValue(props.size).dotSize};
|
|
928
|
+
height: ${(props) => getSizeValue(props.size).dotSize};
|
|
750
929
|
border-radius: 50%;
|
|
751
930
|
background-color: #8e8e93;
|
|
752
|
-
animation: ${
|
|
931
|
+
animation: ${(props) => {
|
|
932
|
+
switch (props.variant) {
|
|
933
|
+
case "pulse":
|
|
934
|
+
return pulse;
|
|
935
|
+
case "wave":
|
|
936
|
+
return wave;
|
|
937
|
+
case "dots":
|
|
938
|
+
default:
|
|
939
|
+
return dotPulse3;
|
|
940
|
+
}
|
|
941
|
+
}}
|
|
942
|
+
1.4s ease-in-out infinite;
|
|
753
943
|
`;
|
|
754
944
|
var Message2 = styled4.span`
|
|
755
|
-
font-size:
|
|
945
|
+
font-size: ${(props) => getSizeValue(props.size).fontSize};
|
|
756
946
|
color: #e5e5e7;
|
|
757
947
|
font-weight: 400;
|
|
758
948
|
line-height: 1.5;
|
|
@@ -761,26 +951,50 @@ var Message2 = styled4.span`
|
|
|
761
951
|
function AssistantThinking({
|
|
762
952
|
message = "Analyzing data, please wait...",
|
|
763
953
|
className,
|
|
764
|
-
ariaLabel = "Assistant is thinking"
|
|
954
|
+
ariaLabel = "Assistant is thinking",
|
|
955
|
+
variant = "dots",
|
|
956
|
+
size = "md"
|
|
765
957
|
}) {
|
|
766
958
|
const containerRef = useRef(null);
|
|
959
|
+
const renderLoadingIndicator = () => {
|
|
960
|
+
switch (variant) {
|
|
961
|
+
case "dots":
|
|
962
|
+
return /* @__PURE__ */ jsxs(LoadingDots3, { "aria-hidden": "true", size, children: [
|
|
963
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "0ms" }, size }),
|
|
964
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "150ms" }, size }),
|
|
965
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "300ms" }, size })
|
|
966
|
+
] });
|
|
967
|
+
case "pulse":
|
|
968
|
+
return /* @__PURE__ */ jsx(LoadingDots3, { "aria-hidden": "true", size, variant: "pulse", children: /* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "0ms" }, size, variant: "pulse" }) });
|
|
969
|
+
case "wave":
|
|
970
|
+
return /* @__PURE__ */ jsxs(LoadingDots3, { "aria-hidden": "true", size, variant: "wave", children: [
|
|
971
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "0ms" }, size, variant: "wave" }),
|
|
972
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "100ms" }, size, variant: "wave" }),
|
|
973
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "200ms" }, size, variant: "wave" }),
|
|
974
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "300ms" }, size, variant: "wave" }),
|
|
975
|
+
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "400ms" }, size, variant: "wave" })
|
|
976
|
+
] });
|
|
977
|
+
case "text":
|
|
978
|
+
return null;
|
|
979
|
+
// Just show the message with no indicator
|
|
980
|
+
default:
|
|
981
|
+
return null;
|
|
982
|
+
}
|
|
983
|
+
};
|
|
767
984
|
return /* @__PURE__ */ jsxs(
|
|
768
|
-
|
|
985
|
+
Container2,
|
|
769
986
|
{
|
|
770
987
|
ref: containerRef,
|
|
771
988
|
className,
|
|
772
989
|
role: "status",
|
|
773
990
|
"aria-live": "polite",
|
|
774
991
|
"aria-label": ariaLabel,
|
|
992
|
+
size,
|
|
775
993
|
children: [
|
|
776
|
-
/* @__PURE__ */ jsx(Avatar2, { "aria-hidden": "true", children: /* @__PURE__ */ jsx(HeadphonesIcon, { viewBox: "0 0 24 24", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx("path", { d: "M17 13a4 4 0 0 1 0 8c-2.142 0-4-1.79-4-4h-2a4 4 0 1 1-.535-2h3.07A4 4 0 0 1 17 13M2 12v-2h2V7a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v3h2v2z" }) }) }),
|
|
994
|
+
/* @__PURE__ */ jsx(Avatar2, { "aria-hidden": "true", size, children: /* @__PURE__ */ jsx(HeadphonesIcon, { viewBox: "0 0 24 24", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx("path", { d: "M17 13a4 4 0 0 1 0 8c-2.142 0-4-1.79-4-4h-2a4 4 0 1 1-.535-2h3.07A4 4 0 0 1 17 13M2 12v-2h2V7a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v3h2v2z" }) }) }),
|
|
777
995
|
/* @__PURE__ */ jsxs(Content, { children: [
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "150ms" } }),
|
|
781
|
-
/* @__PURE__ */ jsx(Dot2, { style: { animationDelay: "300ms" } })
|
|
782
|
-
] }),
|
|
783
|
-
/* @__PURE__ */ jsx(Message2, { children: message })
|
|
996
|
+
renderLoadingIndicator(),
|
|
997
|
+
/* @__PURE__ */ jsx(Message2, { size, children: message })
|
|
784
998
|
] })
|
|
785
999
|
]
|
|
786
1000
|
}
|
|
@@ -800,12 +1014,9 @@ var AssistantMessageAdapter = ({
|
|
|
800
1014
|
// markdownTagRenderers,
|
|
801
1015
|
// ImageRenderer,
|
|
802
1016
|
}) => {
|
|
803
|
-
if (isLoading) {
|
|
1017
|
+
if (isLoading || isGenerating && !message?.content) {
|
|
804
1018
|
return /* @__PURE__ */ jsx(AssistantThinking, { message: "Thinking..." });
|
|
805
1019
|
}
|
|
806
|
-
if (isGenerating && !message?.content) {
|
|
807
|
-
return /* @__PURE__ */ jsx(AssistantThinking, { message: "Generating response..." });
|
|
808
|
-
}
|
|
809
1020
|
const content = message?.content || "";
|
|
810
1021
|
const attachments = [];
|
|
811
1022
|
return /* @__PURE__ */ jsx(
|
|
@@ -813,7 +1024,8 @@ var AssistantMessageAdapter = ({
|
|
|
813
1024
|
{
|
|
814
1025
|
content,
|
|
815
1026
|
avatarInitials: "AI",
|
|
816
|
-
isLoading:
|
|
1027
|
+
isLoading: false,
|
|
1028
|
+
isStreaming: isGenerating,
|
|
817
1029
|
attachments,
|
|
818
1030
|
enableMarkdown: true
|
|
819
1031
|
}
|
|
@@ -831,7 +1043,6 @@ var StyledUserMessage = styled4.button`
|
|
|
831
1043
|
font-size: 14px;
|
|
832
1044
|
font-weight: 400;
|
|
833
1045
|
line-height: 1.4;
|
|
834
|
-
color: #ffffff;
|
|
835
1046
|
border: none;
|
|
836
1047
|
cursor: default;
|
|
837
1048
|
user-select: none;
|
|
@@ -840,34 +1051,37 @@ var StyledUserMessage = styled4.button`
|
|
|
840
1051
|
position: relative;
|
|
841
1052
|
text-align: left;
|
|
842
1053
|
|
|
843
|
-
/*
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
1054
|
+
/* Force override CopilotKit's default user message styles */
|
|
1055
|
+
&& {
|
|
1056
|
+
background: #1C3A4E !important; /* Darker brand blue - darker than secondary */
|
|
1057
|
+
color: #FFFFFF !important; /* White text on dark blue background */
|
|
1058
|
+
border-radius: 999px !important; /* Pill shape - fully rounded ends */
|
|
1059
|
+
}
|
|
848
1060
|
|
|
849
|
-
/* Subtle shadow and glow effect */
|
|
1061
|
+
/* Subtle shadow and glow effect - darker blue */
|
|
850
1062
|
box-shadow:
|
|
851
|
-
0 2px 8px rgba(
|
|
852
|
-
0 1px 3px rgba(
|
|
1063
|
+
0 2px 8px rgba(28, 58, 78, 0.25),
|
|
1064
|
+
0 1px 3px rgba(28, 58, 78, 0.15);
|
|
853
1065
|
|
|
854
1066
|
/* Smooth transitions */
|
|
855
1067
|
transition: all 0.2s ease-in-out;
|
|
856
1068
|
|
|
857
|
-
/* Speech bubble tail */
|
|
1069
|
+
/* Speech bubble tail - darker blue to match bubble */
|
|
858
1070
|
&::after {
|
|
859
1071
|
content: '';
|
|
860
1072
|
position: absolute;
|
|
861
|
-
bottom: -
|
|
862
|
-
right:
|
|
863
|
-
width:
|
|
864
|
-
height:
|
|
865
|
-
background: #
|
|
1073
|
+
bottom: -6px;
|
|
1074
|
+
right: 12px;
|
|
1075
|
+
width: 14px;
|
|
1076
|
+
height: 14px;
|
|
1077
|
+
background: #1C3A4E !important; /* Force override - darker blue */
|
|
866
1078
|
transform: rotate(45deg);
|
|
867
|
-
border-radius: 0 0
|
|
1079
|
+
border-radius: 0 0 4px 0;
|
|
1080
|
+
clip-path: polygon(0 0, 100% 100%, 0 100%);
|
|
868
1081
|
box-shadow:
|
|
869
|
-
2px 2px 4px rgba(
|
|
1082
|
+
2px 2px 4px rgba(28, 58, 78, 0.15);
|
|
870
1083
|
transition: all 0.2s ease-in-out;
|
|
1084
|
+
z-index: -1;
|
|
871
1085
|
}
|
|
872
1086
|
|
|
873
1087
|
/* Hover state - only for button elements */
|
|
@@ -875,12 +1089,12 @@ var StyledUserMessage = styled4.button`
|
|
|
875
1089
|
transform: translateY(-1px);
|
|
876
1090
|
cursor: pointer;
|
|
877
1091
|
box-shadow:
|
|
878
|
-
0 4px 12px rgba(
|
|
879
|
-
0 2px 6px rgba(
|
|
1092
|
+
0 4px 12px rgba(28, 58, 78, 0.35),
|
|
1093
|
+
0 2px 6px rgba(28, 58, 78, 0.25);
|
|
880
1094
|
|
|
881
1095
|
&::after {
|
|
882
1096
|
box-shadow:
|
|
883
|
-
3px 3px 6px rgba(
|
|
1097
|
+
3px 3px 6px rgba(28, 58, 78, 0.2);
|
|
884
1098
|
}
|
|
885
1099
|
}
|
|
886
1100
|
|
|
@@ -888,24 +1102,24 @@ var StyledUserMessage = styled4.button`
|
|
|
888
1102
|
&[role="button"]:active:not(:disabled) {
|
|
889
1103
|
transform: translateY(0);
|
|
890
1104
|
box-shadow:
|
|
891
|
-
0 1px 4px rgba(
|
|
892
|
-
0 1px 2px rgba(
|
|
1105
|
+
0 1px 4px rgba(28, 58, 78, 0.2),
|
|
1106
|
+
0 1px 2px rgba(28, 58, 78, 0.1);
|
|
893
1107
|
|
|
894
1108
|
&::after {
|
|
895
1109
|
box-shadow:
|
|
896
|
-
1px 1px 2px rgba(
|
|
1110
|
+
1px 1px 2px rgba(28, 58, 78, 0.1);
|
|
897
1111
|
}
|
|
898
1112
|
}
|
|
899
1113
|
|
|
900
1114
|
${({ $isPressed }) => $isPressed && css`
|
|
901
1115
|
transform: translateY(0) scale(0.98);
|
|
902
1116
|
box-shadow:
|
|
903
|
-
0 1px 4px rgba(
|
|
904
|
-
0 1px 2px rgba(
|
|
1117
|
+
0 1px 4px rgba(28, 58, 78, 0.2),
|
|
1118
|
+
0 1px 2px rgba(28, 58, 78, 0.1);
|
|
905
1119
|
|
|
906
1120
|
&::after {
|
|
907
1121
|
box-shadow:
|
|
908
|
-
1px 1px 2px rgba(
|
|
1122
|
+
1px 1px 2px rgba(28, 58, 78, 0.1);
|
|
909
1123
|
}
|
|
910
1124
|
`}
|
|
911
1125
|
|
|
@@ -915,12 +1129,12 @@ var StyledUserMessage = styled4.button`
|
|
|
915
1129
|
}
|
|
916
1130
|
|
|
917
1131
|
&:focus-visible {
|
|
918
|
-
outline: 2px solid #
|
|
1132
|
+
outline: 2px solid #1C3A4E;
|
|
919
1133
|
outline-offset: 3px;
|
|
920
1134
|
box-shadow:
|
|
921
|
-
0 4px 12px rgba(
|
|
922
|
-
0 2px 6px rgba(
|
|
923
|
-
0 0 0 3px rgba(
|
|
1135
|
+
0 4px 12px rgba(28, 58, 78, 0.35),
|
|
1136
|
+
0 2px 6px rgba(28, 58, 78, 0.25),
|
|
1137
|
+
0 0 0 3px rgba(28, 58, 78, 0.1);
|
|
924
1138
|
}
|
|
925
1139
|
|
|
926
1140
|
/* Disabled state */
|
|
@@ -982,6 +1196,20 @@ var UserMessageWrapper = styled4.div`
|
|
|
982
1196
|
justify-content: flex-end;
|
|
983
1197
|
width: 100%;
|
|
984
1198
|
padding: 8px 0;
|
|
1199
|
+
|
|
1200
|
+
/* Fade in and slide up animation */
|
|
1201
|
+
animation: fadeInSlideUp 0.3s ease-out;
|
|
1202
|
+
|
|
1203
|
+
@keyframes fadeInSlideUp {
|
|
1204
|
+
from {
|
|
1205
|
+
opacity: 0;
|
|
1206
|
+
transform: translateY(10px);
|
|
1207
|
+
}
|
|
1208
|
+
to {
|
|
1209
|
+
opacity: 1;
|
|
1210
|
+
transform: translateY(0);
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
985
1213
|
`;
|
|
986
1214
|
var UserMessageAdapter = ({
|
|
987
1215
|
message,
|
|
@@ -1005,7 +1233,9 @@ var ChatInputContainer = styled4.div`
|
|
|
1005
1233
|
flex-direction: column;
|
|
1006
1234
|
width: 100%;
|
|
1007
1235
|
padding: 8px;
|
|
1008
|
-
background:
|
|
1236
|
+
background-color: rgba(25, 25, 25, 0.6);
|
|
1237
|
+
backdrop-filter: blur(10px);
|
|
1238
|
+
-webkit-backdrop-filter: blur(10px);
|
|
1009
1239
|
border-radius: 0;
|
|
1010
1240
|
box-shadow: none;
|
|
1011
1241
|
box-sizing: border-box;
|
|
@@ -1068,16 +1298,17 @@ var InputWrapper = styled4.div`
|
|
|
1068
1298
|
align-items: center;
|
|
1069
1299
|
gap: 10px;
|
|
1070
1300
|
padding: 10px 14px;
|
|
1071
|
-
background-color:
|
|
1072
|
-
border: 1px solid
|
|
1301
|
+
background-color: rgba(25, 25, 25, 0.4);
|
|
1302
|
+
border: 1px solid rgba(58, 58, 60, 0.3);
|
|
1073
1303
|
border-radius: 12px;
|
|
1074
1304
|
transition: all 0.2s ease;
|
|
1075
1305
|
width: 100%;
|
|
1076
1306
|
box-sizing: border-box;
|
|
1077
1307
|
|
|
1078
1308
|
&:focus-within {
|
|
1079
|
-
border
|
|
1080
|
-
|
|
1309
|
+
/* Subtle focus indication without bold colored border */
|
|
1310
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
1311
|
+
background-color: rgba(50, 50, 52, 0.6);
|
|
1081
1312
|
}
|
|
1082
1313
|
`;
|
|
1083
1314
|
var InputField = styled4.input`
|
|
@@ -1164,6 +1395,9 @@ var ChatInput = ({
|
|
|
1164
1395
|
},
|
|
1165
1396
|
inputRef
|
|
1166
1397
|
);
|
|
1398
|
+
const handleDirectChange = (e) => {
|
|
1399
|
+
setValue(e.target.value);
|
|
1400
|
+
};
|
|
1167
1401
|
const handleKeyDown = (e) => {
|
|
1168
1402
|
if (e.key === "Enter") {
|
|
1169
1403
|
e.preventDefault();
|
|
@@ -1180,8 +1414,6 @@ var ChatInput = ({
|
|
|
1180
1414
|
const handleSuggestionClick = (suggestionText) => {
|
|
1181
1415
|
if (onSuggestionSelect && !isDisabled && !isReadOnly) {
|
|
1182
1416
|
onSuggestionSelect(suggestionText);
|
|
1183
|
-
setValue(suggestionText);
|
|
1184
|
-
inputRef.current?.focus();
|
|
1185
1417
|
}
|
|
1186
1418
|
};
|
|
1187
1419
|
const canSubmit = currentValue.trim().length > 0 && !isDisabled && !isReadOnly;
|
|
@@ -1204,9 +1436,11 @@ var ChatInput = ({
|
|
|
1204
1436
|
type: "text",
|
|
1205
1437
|
placeholder,
|
|
1206
1438
|
onKeyDown: handleKeyDown,
|
|
1439
|
+
onChange: handleDirectChange,
|
|
1207
1440
|
autoFocus,
|
|
1208
1441
|
disabled: isDisabled,
|
|
1209
|
-
readOnly: isReadOnly
|
|
1442
|
+
readOnly: isReadOnly,
|
|
1443
|
+
value: currentValue
|
|
1210
1444
|
}
|
|
1211
1445
|
),
|
|
1212
1446
|
/* @__PURE__ */ jsx(
|
|
@@ -1283,11 +1517,39 @@ var InputAdapter = ({
|
|
|
1283
1517
|
isVisible = true
|
|
1284
1518
|
}) => {
|
|
1285
1519
|
const [value, setValue] = useState("");
|
|
1520
|
+
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
1286
1521
|
const handleSubmit = async (message) => {
|
|
1287
|
-
if (!message.trim()
|
|
1288
|
-
|
|
1289
|
-
|
|
1522
|
+
if (!message.trim()) {
|
|
1523
|
+
console.log("[InputAdapter] handleSubmit: empty message, ignoring");
|
|
1524
|
+
return;
|
|
1525
|
+
}
|
|
1526
|
+
setIsSubmitting(true);
|
|
1527
|
+
try {
|
|
1528
|
+
await onSend(message);
|
|
1529
|
+
setValue("");
|
|
1530
|
+
} catch (error) {
|
|
1531
|
+
console.error("[InputAdapter] Error sending message:", error);
|
|
1532
|
+
} finally {
|
|
1533
|
+
setIsSubmitting(false);
|
|
1534
|
+
}
|
|
1535
|
+
};
|
|
1536
|
+
const handleSuggestionSelect = async (suggestion) => {
|
|
1537
|
+
if (!suggestion.trim()) {
|
|
1538
|
+
return;
|
|
1539
|
+
}
|
|
1540
|
+
if (inProgress || isSubmitting) {
|
|
1541
|
+
return;
|
|
1542
|
+
}
|
|
1543
|
+
setIsSubmitting(true);
|
|
1544
|
+
try {
|
|
1545
|
+
await onSend(suggestion);
|
|
1546
|
+
} catch (error) {
|
|
1547
|
+
console.error("[InputAdapter] Error sending suggestion:", error);
|
|
1548
|
+
} finally {
|
|
1549
|
+
setIsSubmitting(false);
|
|
1550
|
+
}
|
|
1290
1551
|
};
|
|
1552
|
+
const shouldDisableInput = isSubmitting;
|
|
1291
1553
|
return /* @__PURE__ */ jsx(
|
|
1292
1554
|
ChatInput,
|
|
1293
1555
|
{
|
|
@@ -1295,18 +1557,13 @@ var InputAdapter = ({
|
|
|
1295
1557
|
onChange: setValue,
|
|
1296
1558
|
onSubmit: handleSubmit,
|
|
1297
1559
|
placeholder: "Ask, write or search for anything...",
|
|
1298
|
-
isDisabled:
|
|
1560
|
+
isDisabled: shouldDisableInput,
|
|
1299
1561
|
autoFocus: isVisible,
|
|
1300
1562
|
"aria-label": "Chat message input",
|
|
1301
1563
|
suggestions: [
|
|
1302
|
-
{ text: "
|
|
1303
|
-
{ text: "Identify actionable tasks" },
|
|
1304
|
-
{ text: "Summarize key points" }
|
|
1564
|
+
{ text: "Explore workflows" }
|
|
1305
1565
|
],
|
|
1306
|
-
onSuggestionSelect:
|
|
1307
|
-
setValue(suggestion);
|
|
1308
|
-
handleSubmit(suggestion);
|
|
1309
|
-
}
|
|
1566
|
+
onSuggestionSelect: handleSuggestionSelect
|
|
1310
1567
|
}
|
|
1311
1568
|
);
|
|
1312
1569
|
};
|
|
@@ -1315,14 +1572,16 @@ var HeaderContainer = styled4.header`
|
|
|
1315
1572
|
display: flex;
|
|
1316
1573
|
align-items: center;
|
|
1317
1574
|
justify-content: space-between;
|
|
1318
|
-
padding: 8px;
|
|
1319
|
-
background-color:
|
|
1320
|
-
|
|
1321
|
-
|
|
1575
|
+
padding: 6px 8px;
|
|
1576
|
+
background-color: rgba(25, 25, 25, 0.6);
|
|
1577
|
+
backdrop-filter: blur(10px);
|
|
1578
|
+
-webkit-backdrop-filter: blur(10px);
|
|
1579
|
+
border-bottom: 1px solid rgba(58, 58, 60, 0.3);
|
|
1580
|
+
min-height: 44px;
|
|
1322
1581
|
box-sizing: border-box;
|
|
1323
1582
|
|
|
1324
1583
|
@media (min-width: 640px) {
|
|
1325
|
-
padding: 12px;
|
|
1584
|
+
padding: 8px 12px;
|
|
1326
1585
|
}
|
|
1327
1586
|
`;
|
|
1328
1587
|
var HeaderContent = styled4.div`
|
|
@@ -1361,7 +1620,7 @@ var HeaderActions = styled4.div`
|
|
|
1361
1620
|
gap: ${({ theme }) => theme?.spacing?.xs ?? "4px"};
|
|
1362
1621
|
margin-left: ${({ theme }) => theme?.spacing?.md ?? "16px"};
|
|
1363
1622
|
`;
|
|
1364
|
-
var
|
|
1623
|
+
var ActionButton2 = styled4.button`
|
|
1365
1624
|
display: inline-flex;
|
|
1366
1625
|
align-items: center;
|
|
1367
1626
|
justify-content: center;
|
|
@@ -1431,7 +1690,7 @@ var Header = ({
|
|
|
1431
1690
|
subtitle && /* @__PURE__ */ jsx(HeaderSubtitle, { children: subtitle })
|
|
1432
1691
|
] }),
|
|
1433
1692
|
/* @__PURE__ */ jsxs(HeaderActions, { children: [
|
|
1434
|
-
onMinimize && /* @__PURE__ */ jsx(
|
|
1693
|
+
onMinimize && /* @__PURE__ */ jsx(ActionButton2, { ref: minimizeRef, ...minimizeProps, "data-action": "minimize", children: /* @__PURE__ */ jsxs(
|
|
1435
1694
|
"svg",
|
|
1436
1695
|
{
|
|
1437
1696
|
width: "16",
|
|
@@ -1446,7 +1705,7 @@ var Header = ({
|
|
|
1446
1705
|
]
|
|
1447
1706
|
}
|
|
1448
1707
|
) }),
|
|
1449
|
-
onClose && /* @__PURE__ */ jsx(
|
|
1708
|
+
onClose && /* @__PURE__ */ jsx(ActionButton2, { ref: closeRef, ...closeProps, "data-action": "close", children: /* @__PURE__ */ jsxs(
|
|
1450
1709
|
"svg",
|
|
1451
1710
|
{
|
|
1452
1711
|
width: "16",
|
|
@@ -1466,41 +1725,18 @@ var Header = ({
|
|
|
1466
1725
|
] });
|
|
1467
1726
|
};
|
|
1468
1727
|
Header.displayName = "Header";
|
|
1469
|
-
var MessagesContainer = styled4.div`
|
|
1470
|
-
display: flex;
|
|
1471
|
-
flex-direction: column;
|
|
1472
|
-
flex: 1;
|
|
1473
|
-
overflow: hidden;
|
|
1474
|
-
background-color: #1c1c1e;
|
|
1475
|
-
padding: 8px;
|
|
1476
|
-
gap: 12px;
|
|
1477
|
-
box-sizing: border-box;
|
|
1478
|
-
|
|
1479
|
-
/* Ensure proper scrolling behavior for child components */
|
|
1480
|
-
position: relative;
|
|
1481
|
-
min-height: 0;
|
|
1482
|
-
|
|
1483
|
-
/* Desktop padding */
|
|
1484
|
-
@media (min-width: 640px) {
|
|
1485
|
-
padding: 12px;
|
|
1486
|
-
}
|
|
1487
|
-
`;
|
|
1488
|
-
var Messages = ({
|
|
1489
|
-
children,
|
|
1490
|
-
className,
|
|
1491
|
-
ariaLabel = "Messages"
|
|
1492
|
-
}) => {
|
|
1493
|
-
return /* @__PURE__ */ jsx(MessagesContainer, { className, role: "region", "aria-label": ariaLabel, children });
|
|
1494
|
-
};
|
|
1495
|
-
Messages.displayName = "Messages";
|
|
1496
1728
|
var WindowContainer = styled4.div`
|
|
1497
1729
|
display: flex;
|
|
1498
1730
|
flex-direction: column;
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1731
|
+
/* Glassmorphism effect */
|
|
1732
|
+
background: transparent;
|
|
1733
|
+
backdrop-filter: blur(3.8px);
|
|
1734
|
+
-webkit-backdrop-filter: blur(3.8px);
|
|
1735
|
+
border: 1px solid rgba(255, 255, 255, 0.25);
|
|
1736
|
+
border-radius: 16px;
|
|
1737
|
+
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
|
|
1502
1738
|
overflow: hidden;
|
|
1503
|
-
transition: all
|
|
1739
|
+
transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
1504
1740
|
position: relative;
|
|
1505
1741
|
|
|
1506
1742
|
/* Default dimensions */
|
|
@@ -1583,67 +1819,84 @@ var Window = ({
|
|
|
1583
1819
|
};
|
|
1584
1820
|
Window.displayName = "Window";
|
|
1585
1821
|
var GlobalSidebarStyles = createGlobalStyle`
|
|
1586
|
-
/* Override CopilotKit's default positioning -
|
|
1822
|
+
/* Override CopilotKit's default positioning - keep sidebar container in place */
|
|
1587
1823
|
.copilotKitSidebar {
|
|
1588
1824
|
position: fixed !important;
|
|
1589
|
-
|
|
1825
|
+
top: 0 !important;
|
|
1826
|
+
right: 0 !important;
|
|
1590
1827
|
bottom: 0 !important;
|
|
1591
|
-
|
|
1828
|
+
left: 0 !important;
|
|
1829
|
+
width: 100vw !important;
|
|
1830
|
+
height: 100vh !important;
|
|
1831
|
+
pointer-events: none !important;
|
|
1832
|
+
z-index: 1001 !important;
|
|
1592
1833
|
}
|
|
1593
1834
|
|
|
1594
|
-
/*
|
|
1835
|
+
/* Keep sidebar container always visible (the window inside will animate) */
|
|
1595
1836
|
.copilotKitSidebarContentWrapper.sidebarExpanded .copilotKitSidebar {
|
|
1596
|
-
|
|
1837
|
+
pointer-events: auto !important;
|
|
1597
1838
|
}
|
|
1598
1839
|
|
|
1599
|
-
/* Mobile-first:
|
|
1600
|
-
|
|
1840
|
+
/* Mobile-first: Glassmorphism sidebar with rounded corners */
|
|
1841
|
+
/* Target the actual dialog element that gets rendered */
|
|
1842
|
+
.copilotKitSidebar [role="dialog"] {
|
|
1601
1843
|
/* Override CopilotKit defaults for mobile */
|
|
1602
1844
|
position: fixed !important;
|
|
1603
|
-
top:
|
|
1604
|
-
right:
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1845
|
+
top: 10px !important;
|
|
1846
|
+
right: 10px !important;
|
|
1847
|
+
/* Reserve space for Android nav buttons - matches NavHorizontal approach */
|
|
1848
|
+
bottom: max(90px, env(safe-area-inset-bottom, 90px)) !important;
|
|
1849
|
+
left: 10px !important;
|
|
1850
|
+
width: calc(100vw - 20px) !important;
|
|
1851
|
+
/* Adjust height to account for bottom safe area */
|
|
1852
|
+
height: calc(100vh - 20px - max(80px, env(safe-area-inset-bottom, 80px))) !important;
|
|
1853
|
+
max-width: calc(100vw - 20px) !important;
|
|
1854
|
+
max-height: calc(100vh - 20px - max(80px, env(safe-area-inset-bottom, 80px))) !important;
|
|
1611
1855
|
margin: 0 !important;
|
|
1612
|
-
border-radius:
|
|
1856
|
+
border-radius: 16px !important;
|
|
1613
1857
|
z-index: 1001 !important;
|
|
1614
1858
|
|
|
1615
|
-
/*
|
|
1859
|
+
/* Glassmorphism effect */
|
|
1860
|
+
background: rgba(255, 255, 255, 0.26) !important;
|
|
1861
|
+
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;
|
|
1862
|
+
backdrop-filter: blur(11.1px) !important;
|
|
1863
|
+
-webkit-backdrop-filter: blur(11.1px) !important;
|
|
1864
|
+
border: 1px solid rgba(255, 255, 255, 0.3) !important;
|
|
1865
|
+
|
|
1866
|
+
/* Smooth slide transition */
|
|
1867
|
+
transition: transform 0.3s ease, visibility 0.3s ease, opacity 0.3s ease !important;
|
|
1868
|
+
}
|
|
1869
|
+
|
|
1870
|
+
/* Hidden by default */
|
|
1871
|
+
.copilotKitSidebarContentWrapper:not(.sidebarExpanded) .copilotKitSidebar [role="dialog"] {
|
|
1616
1872
|
transform: translateX(100%) !important;
|
|
1617
1873
|
visibility: hidden !important;
|
|
1618
1874
|
pointer-events: none !important;
|
|
1619
1875
|
opacity: 0 !important;
|
|
1620
|
-
display: none !important;
|
|
1621
|
-
|
|
1622
|
-
/* Smooth slide transition */
|
|
1623
|
-
transition: transform 0.3s ease, visibility 0.3s ease, opacity 0.3s ease !important;
|
|
1624
1876
|
}
|
|
1625
1877
|
|
|
1626
|
-
/*
|
|
1627
|
-
.
|
|
1628
|
-
display: flex !important;
|
|
1878
|
+
/* Visible when expanded */
|
|
1879
|
+
.copilotKitSidebarContentWrapper.sidebarExpanded .copilotKitSidebar [role="dialog"] {
|
|
1629
1880
|
transform: translateX(0) !important;
|
|
1630
1881
|
visibility: visible !important;
|
|
1631
1882
|
pointer-events: auto !important;
|
|
1632
1883
|
opacity: 1 !important;
|
|
1633
1884
|
}
|
|
1634
1885
|
|
|
1635
|
-
/* Desktop: Sidebar panel on the right (640px = CopilotKit's breakpoint) */
|
|
1886
|
+
/* Desktop: Sidebar panel on the right with glassmorphism (640px = CopilotKit's breakpoint) */
|
|
1636
1887
|
@media (min-width: 640px) {
|
|
1637
|
-
.copilotKitSidebar
|
|
1888
|
+
.copilotKitSidebar [role="dialog"] {
|
|
1638
1889
|
inset: auto !important;
|
|
1639
|
-
top:
|
|
1640
|
-
right:
|
|
1641
|
-
|
|
1890
|
+
top: 10px !important;
|
|
1891
|
+
right: 10px !important;
|
|
1892
|
+
/* Reserve space for Android nav buttons on desktop too */
|
|
1893
|
+
bottom: max(90px, env(safe-area-inset-bottom, 90px)) !important;
|
|
1642
1894
|
left: auto !important;
|
|
1643
1895
|
width: 28rem !important;
|
|
1644
|
-
height
|
|
1896
|
+
/* Adjust height to account for bottom safe area */
|
|
1897
|
+
height: calc(100vh - 20px - max(80px, env(safe-area-inset-bottom, 80px))) !important;
|
|
1645
1898
|
max-width: 28rem !important;
|
|
1646
|
-
max-height: 100vh !important;
|
|
1899
|
+
max-height: calc(100vh - 20px - max(80px, env(safe-area-inset-bottom, 80px))) !important;
|
|
1647
1900
|
}
|
|
1648
1901
|
}
|
|
1649
1902
|
|
|
@@ -1662,6 +1915,74 @@ var GlobalSidebarStyles = createGlobalStyle`
|
|
|
1662
1915
|
display: flex !important;
|
|
1663
1916
|
}
|
|
1664
1917
|
}
|
|
1918
|
+
|
|
1919
|
+
/* Fix messages container background */
|
|
1920
|
+
.copilotKitMessages {
|
|
1921
|
+
background-color: transparent !important;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
|
+
/* Fade-in animation for new messages */
|
|
1925
|
+
@keyframes messagesFadeIn {
|
|
1926
|
+
from {
|
|
1927
|
+
opacity: 0;
|
|
1928
|
+
transform: translateY(8px);
|
|
1929
|
+
}
|
|
1930
|
+
to {
|
|
1931
|
+
opacity: 1;
|
|
1932
|
+
transform: translateY(0);
|
|
1933
|
+
}
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
.copilotKitMessage {
|
|
1937
|
+
animation: messagesFadeIn 0.3s ease-out;
|
|
1938
|
+
}
|
|
1939
|
+
|
|
1940
|
+
/* Override CopilotKit suggestions to be single-row with horizontal scroll */
|
|
1941
|
+
div[role="list"][aria-label*="Suggested"] {
|
|
1942
|
+
display: flex !important;
|
|
1943
|
+
flex-wrap: nowrap !important; /* Force single row */
|
|
1944
|
+
gap: 8px !important;
|
|
1945
|
+
padding: 4px 0 !important;
|
|
1946
|
+
|
|
1947
|
+
/* Horizontal scrolling */
|
|
1948
|
+
overflow-x: auto !important;
|
|
1949
|
+
overflow-y: hidden !important;
|
|
1950
|
+
|
|
1951
|
+
/* Smooth scrolling */
|
|
1952
|
+
-webkit-overflow-scrolling: touch;
|
|
1953
|
+
scroll-behavior: smooth;
|
|
1954
|
+
|
|
1955
|
+
/* Fixed height for one suggestion */
|
|
1956
|
+
max-height: 40px !important;
|
|
1957
|
+
min-height: 40px !important;
|
|
1958
|
+
align-items: center !important;
|
|
1959
|
+
|
|
1960
|
+
/* Hide scrollbar */
|
|
1961
|
+
scrollbar-width: none !important;
|
|
1962
|
+
-ms-overflow-style: none !important;
|
|
1963
|
+
|
|
1964
|
+
&::-webkit-scrollbar {
|
|
1965
|
+
display: none !important;
|
|
1966
|
+
}
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1969
|
+
/* Ensure suggestion buttons don't wrap or shrink */
|
|
1970
|
+
div[role="list"][aria-label*="Suggested"] button {
|
|
1971
|
+
flex-shrink: 0 !important;
|
|
1972
|
+
white-space: nowrap !important;
|
|
1973
|
+
}
|
|
1974
|
+
|
|
1975
|
+
/* Remove teal/cyan outline from all inputs */
|
|
1976
|
+
.copilotKitSidebar input,
|
|
1977
|
+
.copilotKitSidebar input:focus,
|
|
1978
|
+
.copilotKitSidebar input:focus-visible,
|
|
1979
|
+
.copilotKitSidebar textarea,
|
|
1980
|
+
.copilotKitSidebar textarea:focus,
|
|
1981
|
+
.copilotKitSidebar textarea:focus-visible {
|
|
1982
|
+
outline: none !important;
|
|
1983
|
+
outline-color: transparent !important;
|
|
1984
|
+
box-shadow: none !important;
|
|
1985
|
+
}
|
|
1665
1986
|
`;
|
|
1666
1987
|
var StyledChatButton = styled4.button`
|
|
1667
1988
|
position: fixed;
|
|
@@ -1671,8 +1992,8 @@ var StyledChatButton = styled4.button`
|
|
|
1671
1992
|
height: 36px;
|
|
1672
1993
|
border-radius: 18px;
|
|
1673
1994
|
border: none;
|
|
1674
|
-
background: linear-gradient(135deg, #
|
|
1675
|
-
box-shadow: 0 4px 12px rgba(
|
|
1995
|
+
background: linear-gradient(135deg, #2CB0AB 0%, #459FB9 100%);
|
|
1996
|
+
box-shadow: 0 4px 12px rgba(44, 176, 171, 0.4);
|
|
1676
1997
|
display: flex;
|
|
1677
1998
|
align-items: center;
|
|
1678
1999
|
justify-content: center;
|
|
@@ -1682,7 +2003,7 @@ var StyledChatButton = styled4.button`
|
|
|
1682
2003
|
|
|
1683
2004
|
&:hover {
|
|
1684
2005
|
transform: scale(1.05);
|
|
1685
|
-
box-shadow: 0 6px 16px rgba(
|
|
2006
|
+
box-shadow: 0 6px 16px rgba(44, 176, 171, 0.5);
|
|
1686
2007
|
}
|
|
1687
2008
|
|
|
1688
2009
|
&:active {
|
|
@@ -1700,7 +2021,9 @@ function CustomCopilotSidebar({
|
|
|
1700
2021
|
defaultOpen = false,
|
|
1701
2022
|
onSetOpen,
|
|
1702
2023
|
instructions,
|
|
1703
|
-
className
|
|
2024
|
+
className,
|
|
2025
|
+
disabled = false,
|
|
2026
|
+
disabledReason = "Start a free trial to enable AI chat"
|
|
1704
2027
|
}) {
|
|
1705
2028
|
const HeaderAdapterWithClose = (_props) => {
|
|
1706
2029
|
const { setOpen } = useChatContext();
|
|
@@ -1708,36 +2031,34 @@ function CustomCopilotSidebar({
|
|
|
1708
2031
|
setOpen(false);
|
|
1709
2032
|
onSetOpen?.(false);
|
|
1710
2033
|
};
|
|
1711
|
-
return /* @__PURE__ */ jsx(Header, { title: "AI Assistant",
|
|
2034
|
+
return /* @__PURE__ */ jsx(Header, { title: "AI Assistant", onClose: handleClose });
|
|
1712
2035
|
};
|
|
1713
2036
|
const WindowAdapterLocal = (props) => {
|
|
1714
2037
|
return /* @__PURE__ */ jsx(Window, { children: props.children });
|
|
1715
2038
|
};
|
|
1716
|
-
const MessagesAdapter = (props) => {
|
|
1717
|
-
return /* @__PURE__ */ jsx(Messages, { children: props.messages.map((message, index) => /* @__PURE__ */ jsx(
|
|
1718
|
-
props.RenderMessage,
|
|
1719
|
-
{
|
|
1720
|
-
message,
|
|
1721
|
-
inProgress: props.inProgress,
|
|
1722
|
-
index,
|
|
1723
|
-
isCurrentMessage: index === props.messages.length - 1
|
|
1724
|
-
},
|
|
1725
|
-
message.id || `message-${index}`
|
|
1726
|
-
)) });
|
|
1727
|
-
};
|
|
1728
2039
|
const CustomButton = (_props) => {
|
|
1729
2040
|
const { open, setOpen } = useChatContext();
|
|
1730
2041
|
const handleClick = () => {
|
|
2042
|
+
if (disabled) return;
|
|
1731
2043
|
const newOpenState = !open;
|
|
1732
2044
|
setOpen(newOpenState);
|
|
1733
2045
|
onSetOpen?.(newOpenState);
|
|
1734
2046
|
};
|
|
2047
|
+
const disabledStyles = disabled ? {
|
|
2048
|
+
background: "rgba(100, 100, 100, 0.5)",
|
|
2049
|
+
boxShadow: "none",
|
|
2050
|
+
cursor: "not-allowed",
|
|
2051
|
+
opacity: 0.6
|
|
2052
|
+
} : {};
|
|
1735
2053
|
return /* @__PURE__ */ jsx(
|
|
1736
2054
|
StyledChatButton,
|
|
1737
2055
|
{
|
|
1738
2056
|
onClick: handleClick,
|
|
1739
|
-
"aria-label": open ? "Close chat" : "Open chat",
|
|
2057
|
+
"aria-label": disabled ? disabledReason : open ? "Close chat" : "Open chat",
|
|
2058
|
+
"aria-disabled": disabled,
|
|
2059
|
+
title: disabled ? disabledReason : void 0,
|
|
1740
2060
|
type: "button",
|
|
2061
|
+
style: disabledStyles,
|
|
1741
2062
|
children: /* @__PURE__ */ jsxs(
|
|
1742
2063
|
"svg",
|
|
1743
2064
|
{
|
|
@@ -1747,7 +2068,8 @@ function CustomCopilotSidebar({
|
|
|
1747
2068
|
fill: "currentColor",
|
|
1748
2069
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1749
2070
|
role: "img",
|
|
1750
|
-
"aria-
|
|
2071
|
+
"aria-hidden": "true",
|
|
2072
|
+
style: disabled ? { fill: "rgba(255, 255, 255, 0.5)" } : void 0,
|
|
1751
2073
|
children: [
|
|
1752
2074
|
/* @__PURE__ */ jsx("title", { children: "Chat" }),
|
|
1753
2075
|
/* @__PURE__ */ jsx("path", { d: "M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z" })
|
|
@@ -1767,7 +2089,6 @@ function CustomCopilotSidebar({
|
|
|
1767
2089
|
Input: InputAdapter,
|
|
1768
2090
|
Header: HeaderAdapterWithClose,
|
|
1769
2091
|
Window: WindowAdapterLocal,
|
|
1770
|
-
Messages: MessagesAdapter,
|
|
1771
2092
|
Button: CustomButton,
|
|
1772
2093
|
instructions,
|
|
1773
2094
|
labels: {
|
|
@@ -1882,18 +2203,20 @@ var InputWrapper2 = styled4.div`
|
|
|
1882
2203
|
align-items: flex-end;
|
|
1883
2204
|
gap: 8px;
|
|
1884
2205
|
padding: 12px;
|
|
1885
|
-
background-color:
|
|
1886
|
-
|
|
2206
|
+
background-color: rgba(25, 25, 25, 0.6);
|
|
2207
|
+
backdrop-filter: blur(10px);
|
|
2208
|
+
-webkit-backdrop-filter: blur(10px);
|
|
2209
|
+
border: 1px solid rgba(58, 58, 60, 0.3);
|
|
1887
2210
|
border-radius: 12px;
|
|
1888
2211
|
transition: all 0.2s ease;
|
|
1889
2212
|
|
|
1890
2213
|
&:focus-within {
|
|
1891
|
-
border
|
|
1892
|
-
|
|
2214
|
+
/* Subtle focus indication without bold colored border */
|
|
2215
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
1893
2216
|
}
|
|
1894
2217
|
|
|
1895
2218
|
&:hover:not(:focus-within) {
|
|
1896
|
-
border-color:
|
|
2219
|
+
border-color: rgba(58, 58, 60, 0.5);
|
|
1897
2220
|
}
|
|
1898
2221
|
`;
|
|
1899
2222
|
var TextArea = styled4.textarea`
|
|
@@ -1908,12 +2231,12 @@ var TextArea = styled4.textarea`
|
|
|
1908
2231
|
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
|
1909
2232
|
font-size: 14px;
|
|
1910
2233
|
line-height: 24px;
|
|
1911
|
-
color: #
|
|
2234
|
+
color: #FFFFFF;
|
|
1912
2235
|
background: transparent;
|
|
1913
2236
|
overflow-y: auto;
|
|
1914
2237
|
|
|
1915
2238
|
&::placeholder {
|
|
1916
|
-
color: #
|
|
2239
|
+
color: #8e8e93;
|
|
1917
2240
|
}
|
|
1918
2241
|
|
|
1919
2242
|
&:disabled {
|
|
@@ -1952,14 +2275,14 @@ var SendButton = styled4.button`
|
|
|
1952
2275
|
padding: 0;
|
|
1953
2276
|
border: none;
|
|
1954
2277
|
border-radius: 8px;
|
|
1955
|
-
background-color: ${(props) => props.disabled ? "
|
|
1956
|
-
color: ${(props) => props.disabled ? "#
|
|
2278
|
+
background-color: ${(props) => props.disabled ? "rgba(229, 231, 235, 0.3)" : "#2CB0AB"};
|
|
2279
|
+
color: ${(props) => props.disabled ? "#6B7280" : "#ffffff"};
|
|
1957
2280
|
cursor: ${(props) => props.disabled ? "not-allowed" : "pointer"};
|
|
1958
2281
|
transition: all 0.2s ease;
|
|
1959
2282
|
flex-shrink: 0;
|
|
1960
2283
|
|
|
1961
2284
|
&:hover:not(:disabled) {
|
|
1962
|
-
background-color: #
|
|
2285
|
+
background-color: #459FB9;
|
|
1963
2286
|
transform: translateY(-1px);
|
|
1964
2287
|
}
|
|
1965
2288
|
|
|
@@ -1968,8 +2291,7 @@ var SendButton = styled4.button`
|
|
|
1968
2291
|
}
|
|
1969
2292
|
|
|
1970
2293
|
&:focus-visible {
|
|
1971
|
-
outline:
|
|
1972
|
-
outline-offset: 2px;
|
|
2294
|
+
outline: none;
|
|
1973
2295
|
}
|
|
1974
2296
|
|
|
1975
2297
|
svg {
|
|
@@ -2073,6 +2395,34 @@ var Input = ({
|
|
|
2073
2395
|
)
|
|
2074
2396
|
] }) });
|
|
2075
2397
|
};
|
|
2398
|
+
var MessagesContainer = styled4.div`
|
|
2399
|
+
display: flex;
|
|
2400
|
+
flex-direction: column;
|
|
2401
|
+
flex: 1;
|
|
2402
|
+
overflow: hidden;
|
|
2403
|
+
/* Gradient background with subtle purple accent */
|
|
2404
|
+
background-image: linear-gradient(to right bottom, #302c4c, #26273d, #1e202d, #191a1e, #171a21, #141a24, #0f1b27, #081b2a, #081b2a, #081b2a);
|
|
2405
|
+
padding: 8px;
|
|
2406
|
+
gap: 12px;
|
|
2407
|
+
box-sizing: border-box;
|
|
2408
|
+
|
|
2409
|
+
/* Ensure proper scrolling behavior for child components */
|
|
2410
|
+
position: relative;
|
|
2411
|
+
min-height: 0;
|
|
2412
|
+
|
|
2413
|
+
/* Desktop padding */
|
|
2414
|
+
@media (min-width: 640px) {
|
|
2415
|
+
padding: 12px;
|
|
2416
|
+
}
|
|
2417
|
+
`;
|
|
2418
|
+
var Messages = ({
|
|
2419
|
+
children,
|
|
2420
|
+
className,
|
|
2421
|
+
ariaLabel = "Messages"
|
|
2422
|
+
}) => {
|
|
2423
|
+
return /* @__PURE__ */ jsx(MessagesContainer, { className, role: "region", "aria-label": ariaLabel, children });
|
|
2424
|
+
};
|
|
2425
|
+
Messages.displayName = "Messages";
|
|
2076
2426
|
var MessagesListContainer = styled4.div`
|
|
2077
2427
|
display: flex;
|
|
2078
2428
|
flex-direction: column;
|
|
@@ -2242,22 +2592,15 @@ var MessageBubble = styled4.div`
|
|
|
2242
2592
|
flex-direction: column;
|
|
2243
2593
|
max-width: 70%;
|
|
2244
2594
|
padding: 12px 16px;
|
|
2245
|
-
border-radius:
|
|
2595
|
+
border-radius: 12px; /* Consistent rounded corners, no tail */
|
|
2246
2596
|
|
|
2247
|
-
/* User message colors -
|
|
2248
|
-
background
|
|
2249
|
-
color: #FFFFFF;
|
|
2250
|
-
|
|
2251
|
-
/* Box shadow for depth */
|
|
2252
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
2597
|
+
/* User message colors - dark blue from brand */
|
|
2598
|
+
background: #264E68; /* Deep Blue from brand tokens */
|
|
2599
|
+
color: #FFFFFF; /* White text for better contrast on dark background */
|
|
2253
2600
|
|
|
2254
2601
|
/* Smooth transitions */
|
|
2255
2602
|
transition: all 0.2s ease-in-out;
|
|
2256
2603
|
|
|
2257
|
-
&:hover {
|
|
2258
|
-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
|
|
2259
|
-
}
|
|
2260
|
-
|
|
2261
2604
|
/* Username styling */
|
|
2262
2605
|
strong {
|
|
2263
2606
|
font-size: 12px;
|
|
@@ -2273,40 +2616,127 @@ var MessageContent2 = styled4.p`
|
|
|
2273
2616
|
word-wrap: break-word;
|
|
2274
2617
|
white-space: pre-wrap;
|
|
2275
2618
|
`;
|
|
2276
|
-
var
|
|
2619
|
+
var MessageTime2 = styled4.time`
|
|
2277
2620
|
font-size: 11px;
|
|
2278
2621
|
opacity: 0.7;
|
|
2279
2622
|
margin-top: 4px;
|
|
2280
2623
|
text-align: right;
|
|
2281
2624
|
`;
|
|
2625
|
+
var ActionButton3 = styled4.button`
|
|
2626
|
+
display: inline-flex;
|
|
2627
|
+
align-items: center;
|
|
2628
|
+
gap: 4px;
|
|
2629
|
+
padding: 4px 8px;
|
|
2630
|
+
margin-top: 8px;
|
|
2631
|
+
font-size: 12px;
|
|
2632
|
+
font-weight: 500;
|
|
2633
|
+
color: rgba(0, 0, 0, 0.7);
|
|
2634
|
+
background: rgba(255, 255, 255, 0.3);
|
|
2635
|
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
2636
|
+
border-radius: 6px;
|
|
2637
|
+
cursor: pointer;
|
|
2638
|
+
transition: all 0.15s ease-in-out;
|
|
2639
|
+
|
|
2640
|
+
&:hover {
|
|
2641
|
+
background: rgba(255, 255, 255, 0.5);
|
|
2642
|
+
border-color: rgba(0, 0, 0, 0.2);
|
|
2643
|
+
}
|
|
2644
|
+
|
|
2645
|
+
&:active {
|
|
2646
|
+
transform: scale(0.98);
|
|
2647
|
+
}
|
|
2648
|
+
`;
|
|
2649
|
+
var ActionsContainer3 = styled4.div`
|
|
2650
|
+
display: flex;
|
|
2651
|
+
gap: 6px;
|
|
2652
|
+
flex-wrap: wrap;
|
|
2653
|
+
`;
|
|
2654
|
+
var StreamingIndicator2 = styled4.span`
|
|
2655
|
+
display: inline-block;
|
|
2656
|
+
width: 4px;
|
|
2657
|
+
height: 4px;
|
|
2658
|
+
margin-left: 4px;
|
|
2659
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
2660
|
+
border-radius: 50%;
|
|
2661
|
+
animation: pulse 1.5s ease-in-out infinite;
|
|
2662
|
+
|
|
2663
|
+
@keyframes pulse {
|
|
2664
|
+
0%,
|
|
2665
|
+
100% {
|
|
2666
|
+
opacity: 0.3;
|
|
2667
|
+
transform: scale(0.8);
|
|
2668
|
+
}
|
|
2669
|
+
50% {
|
|
2670
|
+
opacity: 1;
|
|
2671
|
+
transform: scale(1.2);
|
|
2672
|
+
}
|
|
2673
|
+
}
|
|
2674
|
+
`;
|
|
2675
|
+
var Avatar3 = styled4.img`
|
|
2676
|
+
width: 32px;
|
|
2677
|
+
height: 32px;
|
|
2678
|
+
border-radius: 50%;
|
|
2679
|
+
margin-left: 8px;
|
|
2680
|
+
object-fit: cover;
|
|
2681
|
+
border: 2px solid rgba(216, 180, 254, 0.3);
|
|
2682
|
+
`;
|
|
2282
2683
|
var UserMessage2 = ({
|
|
2283
2684
|
content,
|
|
2284
2685
|
timestamp,
|
|
2285
2686
|
className,
|
|
2286
2687
|
avatarUrl,
|
|
2287
|
-
username
|
|
2688
|
+
username,
|
|
2689
|
+
isStreaming = false,
|
|
2690
|
+
actions = []
|
|
2288
2691
|
}) => {
|
|
2289
2692
|
return /* @__PURE__ */ jsxs(StyledUserMessage2, { className, children: [
|
|
2290
2693
|
/* @__PURE__ */ jsxs(MessageBubble, { children: [
|
|
2291
2694
|
username && /* @__PURE__ */ jsx("strong", { children: username }),
|
|
2292
|
-
/* @__PURE__ */
|
|
2293
|
-
|
|
2695
|
+
/* @__PURE__ */ jsxs(MessageContent2, { children: [
|
|
2696
|
+
content,
|
|
2697
|
+
isStreaming && /* @__PURE__ */ jsx(StreamingIndicator2, {})
|
|
2698
|
+
] }),
|
|
2699
|
+
timestamp && /* @__PURE__ */ jsx(MessageTime2, { children: timestamp }),
|
|
2700
|
+
actions.length > 0 && /* @__PURE__ */ jsx(ActionsContainer3, { children: actions.map((action, index) => /* @__PURE__ */ jsxs(ActionButton3, { onClick: action.onClick, children: [
|
|
2701
|
+
action.icon,
|
|
2702
|
+
action.label
|
|
2703
|
+
] }, index)) })
|
|
2294
2704
|
] }),
|
|
2295
|
-
avatarUrl && /* @__PURE__ */ jsx(
|
|
2296
|
-
"img",
|
|
2297
|
-
{
|
|
2298
|
-
src: avatarUrl,
|
|
2299
|
-
alt: username || "User",
|
|
2300
|
-
style: { width: "32px", height: "32px", borderRadius: "50%", marginLeft: "8px" }
|
|
2301
|
-
}
|
|
2302
|
-
)
|
|
2705
|
+
avatarUrl && /* @__PURE__ */ jsx(Avatar3, { src: avatarUrl, alt: username || "User" })
|
|
2303
2706
|
] });
|
|
2304
2707
|
};
|
|
2305
2708
|
var SuggestionsContainer = styled4.div`
|
|
2306
2709
|
display: flex;
|
|
2307
|
-
flex-wrap:
|
|
2710
|
+
flex-wrap: nowrap; /* Single row */
|
|
2308
2711
|
gap: ${({ theme }) => theme?.spacing?.sm ?? "8px"};
|
|
2309
|
-
|
|
2712
|
+
|
|
2713
|
+
/* Reduced padding for tighter height */
|
|
2714
|
+
padding: ${({ theme }) => theme?.spacing?.xs ?? "4px"} 0;
|
|
2715
|
+
|
|
2716
|
+
/* Horizontal scrolling */
|
|
2717
|
+
overflow-x: auto;
|
|
2718
|
+
overflow-y: hidden;
|
|
2719
|
+
|
|
2720
|
+
/* Smooth scrolling on mobile */
|
|
2721
|
+
-webkit-overflow-scrolling: touch;
|
|
2722
|
+
scroll-behavior: smooth;
|
|
2723
|
+
|
|
2724
|
+
/* Align items to ensure single-row height */
|
|
2725
|
+
align-items: center;
|
|
2726
|
+
|
|
2727
|
+
/* Constrain to exact height of buttons + minimal padding */
|
|
2728
|
+
/* Button height: ~14px font + 16px padding + 2px border = ~32px */
|
|
2729
|
+
/* Add small padding: 8px total = 40px */
|
|
2730
|
+
max-height: 40px;
|
|
2731
|
+
min-height: 40px;
|
|
2732
|
+
|
|
2733
|
+
/* Hide scrollbar but keep functionality */
|
|
2734
|
+
scrollbar-width: none; /* Firefox */
|
|
2735
|
+
-ms-overflow-style: none; /* IE/Edge */
|
|
2736
|
+
|
|
2737
|
+
&::-webkit-scrollbar {
|
|
2738
|
+
display: none; /* Chrome/Safari/Opera */
|
|
2739
|
+
}
|
|
2310
2740
|
`;
|
|
2311
2741
|
var StyledSuggestion = styled4.button`
|
|
2312
2742
|
/* Base styles */
|
|
@@ -2325,6 +2755,7 @@ var StyledSuggestion = styled4.button`
|
|
|
2325
2755
|
transition: all 0.2s ease-in-out;
|
|
2326
2756
|
white-space: nowrap;
|
|
2327
2757
|
user-select: none;
|
|
2758
|
+
flex-shrink: 0; /* Prevent shrinking to maintain size */
|
|
2328
2759
|
|
|
2329
2760
|
/* Hover state */
|
|
2330
2761
|
&:hover:not(:disabled) {
|
|
@@ -2380,6 +2811,324 @@ function SuggestionChip({ suggestion, onSelect }) {
|
|
|
2380
2811
|
return /* @__PURE__ */ jsx(StyledSuggestion, { ...buttonProps, ref, $isPressed: isPressed, role: "listitem", children: suggestion });
|
|
2381
2812
|
}
|
|
2382
2813
|
Suggestions.displayName = "Suggestions";
|
|
2814
|
+
var ErrorContainer = styled4.div`
|
|
2815
|
+
display: flex;
|
|
2816
|
+
align-items: flex-start;
|
|
2817
|
+
gap: 12px;
|
|
2818
|
+
padding: ${(props) => props.variant === "banner" ? "16px" : "12px 16px"};
|
|
2819
|
+
background-color: ${(props) => props.variant === "banner" ? "rgba(239, 68, 68, 0.1)" : "rgba(239, 68, 68, 0.05)"};
|
|
2820
|
+
border: 1px solid rgba(239, 68, 68, 0.3);
|
|
2821
|
+
border-radius: ${(props) => props.variant === "banner" ? "8px" : "12px"};
|
|
2822
|
+
color: #FFFFFF;
|
|
2823
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
|
|
2824
|
+
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
|
2825
|
+
margin: 8px 0;
|
|
2826
|
+
width: ${(props) => props.variant === "banner" ? "100%" : "auto"};
|
|
2827
|
+
max-width: ${(props) => props.variant === "banner" ? "100%" : "600px"};
|
|
2828
|
+
`;
|
|
2829
|
+
var IconContainer = styled4.div`
|
|
2830
|
+
flex-shrink: 0;
|
|
2831
|
+
width: 20px;
|
|
2832
|
+
height: 20px;
|
|
2833
|
+
color: #EF4444;
|
|
2834
|
+
`;
|
|
2835
|
+
var ErrorIcon = () => /* @__PURE__ */ jsx(
|
|
2836
|
+
"svg",
|
|
2837
|
+
{
|
|
2838
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2839
|
+
viewBox: "0 0 24 24",
|
|
2840
|
+
fill: "currentColor",
|
|
2841
|
+
width: "20",
|
|
2842
|
+
height: "20",
|
|
2843
|
+
children: /* @__PURE__ */ jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z" })
|
|
2844
|
+
}
|
|
2845
|
+
);
|
|
2846
|
+
var Content2 = styled4.div`
|
|
2847
|
+
flex: 1;
|
|
2848
|
+
display: flex;
|
|
2849
|
+
flex-direction: column;
|
|
2850
|
+
gap: 8px;
|
|
2851
|
+
`;
|
|
2852
|
+
var ErrorMessage = styled4.div`
|
|
2853
|
+
font-size: 14px;
|
|
2854
|
+
line-height: 1.5;
|
|
2855
|
+
color: #FFFFFF;
|
|
2856
|
+
`;
|
|
2857
|
+
var ErrorDetails = styled4.div`
|
|
2858
|
+
font-size: 12px;
|
|
2859
|
+
line-height: 1.4;
|
|
2860
|
+
color: #9CA3AF;
|
|
2861
|
+
margin-top: 4px;
|
|
2862
|
+
`;
|
|
2863
|
+
var Actions2 = styled4.div`
|
|
2864
|
+
display: flex;
|
|
2865
|
+
gap: 8px;
|
|
2866
|
+
margin-top: 8px;
|
|
2867
|
+
`;
|
|
2868
|
+
var Button2 = styled4.button`
|
|
2869
|
+
display: inline-flex;
|
|
2870
|
+
align-items: center;
|
|
2871
|
+
gap: 6px;
|
|
2872
|
+
padding: 6px 12px;
|
|
2873
|
+
font-size: 13px;
|
|
2874
|
+
font-weight: 500;
|
|
2875
|
+
color: ${(props) => props.variant === "primary" ? "#FFFFFF" : "#9CA3AF"};
|
|
2876
|
+
background: ${(props) => props.variant === "primary" ? "#EF4444" : "rgba(255, 255, 255, 0.05)"};
|
|
2877
|
+
border: 1px solid
|
|
2878
|
+
${(props) => props.variant === "primary" ? "#EF4444" : "rgba(255, 255, 255, 0.1)"};
|
|
2879
|
+
border-radius: 6px;
|
|
2880
|
+
cursor: pointer;
|
|
2881
|
+
transition: all 0.15s ease-in-out;
|
|
2882
|
+
|
|
2883
|
+
&:hover {
|
|
2884
|
+
background: ${(props) => props.variant === "primary" ? "#DC2626" : "rgba(255, 255, 255, 0.1)"};
|
|
2885
|
+
border-color: ${(props) => props.variant === "primary" ? "#DC2626" : "rgba(255, 255, 255, 0.2)"};
|
|
2886
|
+
}
|
|
2887
|
+
|
|
2888
|
+
&:active {
|
|
2889
|
+
transform: scale(0.98);
|
|
2890
|
+
}
|
|
2891
|
+
|
|
2892
|
+
&:disabled {
|
|
2893
|
+
opacity: 0.5;
|
|
2894
|
+
cursor: not-allowed;
|
|
2895
|
+
}
|
|
2896
|
+
`;
|
|
2897
|
+
var CloseButton = styled4.button`
|
|
2898
|
+
flex-shrink: 0;
|
|
2899
|
+
width: 24px;
|
|
2900
|
+
height: 24px;
|
|
2901
|
+
padding: 0;
|
|
2902
|
+
display: flex;
|
|
2903
|
+
align-items: center;
|
|
2904
|
+
justify-content: center;
|
|
2905
|
+
background: transparent;
|
|
2906
|
+
border: none;
|
|
2907
|
+
color: #9CA3AF;
|
|
2908
|
+
cursor: pointer;
|
|
2909
|
+
border-radius: 4px;
|
|
2910
|
+
transition: all 0.15s ease-in-out;
|
|
2911
|
+
|
|
2912
|
+
&:hover {
|
|
2913
|
+
background: rgba(255, 255, 255, 0.1);
|
|
2914
|
+
color: #FFFFFF;
|
|
2915
|
+
}
|
|
2916
|
+
|
|
2917
|
+
&:active {
|
|
2918
|
+
transform: scale(0.95);
|
|
2919
|
+
}
|
|
2920
|
+
`;
|
|
2921
|
+
var CloseIcon = () => /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", width: "16", height: "16", children: /* @__PURE__ */ jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) });
|
|
2922
|
+
var StreamErrorMessage = ({
|
|
2923
|
+
error,
|
|
2924
|
+
variant = "inline",
|
|
2925
|
+
retryable = false,
|
|
2926
|
+
onRetry,
|
|
2927
|
+
onDismiss,
|
|
2928
|
+
details,
|
|
2929
|
+
className
|
|
2930
|
+
}) => {
|
|
2931
|
+
const errorMessage = typeof error === "string" ? error : error.message;
|
|
2932
|
+
return /* @__PURE__ */ jsxs(ErrorContainer, { variant, className, role: "alert", "aria-live": "assertive", children: [
|
|
2933
|
+
/* @__PURE__ */ jsx(IconContainer, { "aria-hidden": "true", children: /* @__PURE__ */ jsx(ErrorIcon, {}) }),
|
|
2934
|
+
/* @__PURE__ */ jsxs(Content2, { children: [
|
|
2935
|
+
/* @__PURE__ */ jsx(ErrorMessage, { children: errorMessage }),
|
|
2936
|
+
details && /* @__PURE__ */ jsx(ErrorDetails, { children: details }),
|
|
2937
|
+
(retryable || onDismiss) && /* @__PURE__ */ jsxs(Actions2, { children: [
|
|
2938
|
+
retryable && onRetry && /* @__PURE__ */ jsx(Button2, { variant: "primary", onClick: onRetry, children: "Retry" }),
|
|
2939
|
+
onDismiss && /* @__PURE__ */ jsx(Button2, { variant: "secondary", onClick: onDismiss, children: "Dismiss" })
|
|
2940
|
+
] })
|
|
2941
|
+
] }),
|
|
2942
|
+
onDismiss && /* @__PURE__ */ jsx(CloseButton, { onClick: onDismiss, "aria-label": "Dismiss error", children: /* @__PURE__ */ jsx(CloseIcon, {}) })
|
|
2943
|
+
] });
|
|
2944
|
+
};
|
|
2945
|
+
StreamErrorMessage.displayName = "StreamErrorMessage";
|
|
2946
|
+
var pulse2 = keyframes`
|
|
2947
|
+
0%, 100% {
|
|
2948
|
+
opacity: 1;
|
|
2949
|
+
transform: scale(1);
|
|
2950
|
+
}
|
|
2951
|
+
50% {
|
|
2952
|
+
opacity: 0.6;
|
|
2953
|
+
transform: scale(1.1);
|
|
2954
|
+
}
|
|
2955
|
+
`;
|
|
2956
|
+
var Container3 = styled4.div`
|
|
2957
|
+
display: inline-flex;
|
|
2958
|
+
align-items: center;
|
|
2959
|
+
gap: ${(props) => {
|
|
2960
|
+
switch (props.size) {
|
|
2961
|
+
case "sm":
|
|
2962
|
+
return "4px";
|
|
2963
|
+
case "lg":
|
|
2964
|
+
return "8px";
|
|
2965
|
+
case "md":
|
|
2966
|
+
default:
|
|
2967
|
+
return "6px";
|
|
2968
|
+
}
|
|
2969
|
+
}};
|
|
2970
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
|
|
2971
|
+
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
|
2972
|
+
`;
|
|
2973
|
+
var StatusDot = styled4.div`
|
|
2974
|
+
width: ${(props) => {
|
|
2975
|
+
if (props.variant === "badge") {
|
|
2976
|
+
switch (props.size) {
|
|
2977
|
+
case "sm":
|
|
2978
|
+
return "6px";
|
|
2979
|
+
case "lg":
|
|
2980
|
+
return "10px";
|
|
2981
|
+
case "md":
|
|
2982
|
+
default:
|
|
2983
|
+
return "8px";
|
|
2984
|
+
}
|
|
2985
|
+
}
|
|
2986
|
+
switch (props.size) {
|
|
2987
|
+
case "sm":
|
|
2988
|
+
return "6px";
|
|
2989
|
+
case "lg":
|
|
2990
|
+
return "12px";
|
|
2991
|
+
case "md":
|
|
2992
|
+
default:
|
|
2993
|
+
return "8px";
|
|
2994
|
+
}
|
|
2995
|
+
}};
|
|
2996
|
+
height: ${(props) => {
|
|
2997
|
+
if (props.variant === "badge") {
|
|
2998
|
+
switch (props.size) {
|
|
2999
|
+
case "sm":
|
|
3000
|
+
return "6px";
|
|
3001
|
+
case "lg":
|
|
3002
|
+
return "10px";
|
|
3003
|
+
case "md":
|
|
3004
|
+
default:
|
|
3005
|
+
return "8px";
|
|
3006
|
+
}
|
|
3007
|
+
}
|
|
3008
|
+
switch (props.size) {
|
|
3009
|
+
case "sm":
|
|
3010
|
+
return "6px";
|
|
3011
|
+
case "lg":
|
|
3012
|
+
return "12px";
|
|
3013
|
+
case "md":
|
|
3014
|
+
default:
|
|
3015
|
+
return "8px";
|
|
3016
|
+
}
|
|
3017
|
+
}};
|
|
3018
|
+
border-radius: 50%;
|
|
3019
|
+
background-color: ${(props) => {
|
|
3020
|
+
switch (props.status) {
|
|
3021
|
+
case "connected":
|
|
3022
|
+
return "#10B981";
|
|
3023
|
+
// Green
|
|
3024
|
+
case "streaming":
|
|
3025
|
+
return "#3B82F6";
|
|
3026
|
+
// Blue
|
|
3027
|
+
case "disconnected":
|
|
3028
|
+
return "#EF4444";
|
|
3029
|
+
// Red
|
|
3030
|
+
case "reconnecting":
|
|
3031
|
+
return "#F59E0B";
|
|
3032
|
+
}
|
|
3033
|
+
}};
|
|
3034
|
+
animation: ${(props) => props.status === "streaming" ? pulse2 : "none"} 2s ease-in-out infinite;
|
|
3035
|
+
flex-shrink: 0;
|
|
3036
|
+
`;
|
|
3037
|
+
var Label = styled4.span`
|
|
3038
|
+
font-size: ${(props) => {
|
|
3039
|
+
if (props.variant === "badge") {
|
|
3040
|
+
switch (props.size) {
|
|
3041
|
+
case "sm":
|
|
3042
|
+
return "11px";
|
|
3043
|
+
case "lg":
|
|
3044
|
+
return "15px";
|
|
3045
|
+
case "md":
|
|
3046
|
+
default:
|
|
3047
|
+
return "13px";
|
|
3048
|
+
}
|
|
3049
|
+
}
|
|
3050
|
+
switch (props.size) {
|
|
3051
|
+
case "sm":
|
|
3052
|
+
return "12px";
|
|
3053
|
+
case "lg":
|
|
3054
|
+
return "16px";
|
|
3055
|
+
case "md":
|
|
3056
|
+
default:
|
|
3057
|
+
return "14px";
|
|
3058
|
+
}
|
|
3059
|
+
}};
|
|
3060
|
+
font-weight: ${(props) => props.variant === "badge" ? "500" : "400"};
|
|
3061
|
+
color: #9CA3AF;
|
|
3062
|
+
line-height: 1.4;
|
|
3063
|
+
`;
|
|
3064
|
+
var BadgeContainer = styled4.div`
|
|
3065
|
+
display: inline-flex;
|
|
3066
|
+
align-items: center;
|
|
3067
|
+
gap: ${(props) => {
|
|
3068
|
+
switch (props.size) {
|
|
3069
|
+
case "sm":
|
|
3070
|
+
return "4px";
|
|
3071
|
+
case "lg":
|
|
3072
|
+
return "8px";
|
|
3073
|
+
case "md":
|
|
3074
|
+
default:
|
|
3075
|
+
return "6px";
|
|
3076
|
+
}
|
|
3077
|
+
}};
|
|
3078
|
+
padding: ${(props) => {
|
|
3079
|
+
switch (props.size) {
|
|
3080
|
+
case "sm":
|
|
3081
|
+
return "4px 8px";
|
|
3082
|
+
case "lg":
|
|
3083
|
+
return "8px 16px";
|
|
3084
|
+
case "md":
|
|
3085
|
+
default:
|
|
3086
|
+
return "6px 12px";
|
|
3087
|
+
}
|
|
3088
|
+
}};
|
|
3089
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
3090
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
3091
|
+
border-radius: ${(props) => {
|
|
3092
|
+
switch (props.size) {
|
|
3093
|
+
case "sm":
|
|
3094
|
+
return "4px";
|
|
3095
|
+
case "lg":
|
|
3096
|
+
return "8px";
|
|
3097
|
+
case "md":
|
|
3098
|
+
default:
|
|
3099
|
+
return "6px";
|
|
3100
|
+
}
|
|
3101
|
+
}};
|
|
3102
|
+
`;
|
|
3103
|
+
var getStatusLabel = (status) => {
|
|
3104
|
+
switch (status) {
|
|
3105
|
+
case "connected":
|
|
3106
|
+
return "Connected";
|
|
3107
|
+
case "streaming":
|
|
3108
|
+
return "Streaming";
|
|
3109
|
+
case "disconnected":
|
|
3110
|
+
return "Disconnected";
|
|
3111
|
+
case "reconnecting":
|
|
3112
|
+
return "Reconnecting...";
|
|
3113
|
+
}
|
|
3114
|
+
};
|
|
3115
|
+
var StreamStatusIndicator = ({
|
|
3116
|
+
status,
|
|
3117
|
+
variant = "dot",
|
|
3118
|
+
size = "md",
|
|
3119
|
+
showLabel = false,
|
|
3120
|
+
className
|
|
3121
|
+
}) => {
|
|
3122
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3123
|
+
/* @__PURE__ */ jsx(StatusDot, { status, size, variant, "aria-hidden": "true" }),
|
|
3124
|
+
showLabel && /* @__PURE__ */ jsx(Label, { size, variant, children: getStatusLabel(status) })
|
|
3125
|
+
] });
|
|
3126
|
+
if (variant === "badge") {
|
|
3127
|
+
return /* @__PURE__ */ jsx(BadgeContainer, { size, className, role: "status", "aria-label": getStatusLabel(status), children: content });
|
|
3128
|
+
}
|
|
3129
|
+
return /* @__PURE__ */ jsx(Container3, { size, className, role: "status", "aria-label": getStatusLabel(status), children: content });
|
|
3130
|
+
};
|
|
3131
|
+
StreamStatusIndicator.displayName = "StreamStatusIndicator";
|
|
2383
3132
|
var GlobalSidebarStyles2 = createGlobalStyle`
|
|
2384
3133
|
/* Override CopilotKit's default positioning - start off-screen */
|
|
2385
3134
|
.copilotKitSidebar {
|
|
@@ -2619,6 +3368,6 @@ var CustomCopilotSidebar2 = ({
|
|
|
2619
3368
|
};
|
|
2620
3369
|
CustomCopilotSidebar2.displayName = "CustomCopilotSidebar";
|
|
2621
3370
|
|
|
2622
|
-
export { Actions, AgentState, AssistantMessage, AssistantMessageAdapter, Button, CustomCopilotSidebar, FileAttachment, Footer, Header, Input, InputAdapter, CustomCopilotSidebar2 as IntegratedSidebar, Messages, MessagesList, MessagesListContainer, MessagesListContent, Response, Suggestions, UserMessage2 as UserMessage, UserMessageAdapter, Window };
|
|
3371
|
+
export { Actions, AgentState, AssistantMessage, AssistantMessageAdapter, Button, CustomCopilotSidebar, FileAttachment, Footer, Header, Input, InputAdapter, CustomCopilotSidebar2 as IntegratedSidebar, Messages, MessagesList, MessagesListContainer, MessagesListContent, Response, StreamErrorMessage, StreamStatusIndicator, StreamingText2 as StreamingText, Suggestions, UserMessage2 as UserMessage, UserMessageAdapter, Window };
|
|
2623
3372
|
//# sourceMappingURL=index.js.map
|
|
2624
3373
|
//# sourceMappingURL=index.js.map
|