open-chat-studio-widget 0.4.1 → 0.4.2
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/README.md +75 -9
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/open-chat-studio-widget.cjs.entry.js +48 -26
- package/dist/cjs/open-chat-studio-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/open-chat-studio-widget.cjs.js +1 -1
- package/dist/collection/components/ocs-chat/ocs-chat.css +537 -379
- package/dist/collection/components/ocs-chat/ocs-chat.js +86 -25
- package/dist/collection/components/ocs-chat/ocs-chat.js.map +1 -1
- package/dist/components/open-chat-studio-widget.js +51 -26
- package/dist/components/open-chat-studio-widget.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/open-chat-studio-widget.entry.js +48 -26
- package/dist/esm/open-chat-studio-widget.entry.js.map +1 -1
- package/dist/esm/open-chat-studio-widget.js +1 -1
- package/dist/open-chat-studio-widget/open-chat-studio-widget.esm.js +1 -1
- package/dist/open-chat-studio-widget/open-chat-studio-widget.esm.js.map +1 -1
- package/dist/open-chat-studio-widget/{p-eb89e6d7.entry.js → p-d47dbd2f.entry.js} +3 -3
- package/dist/open-chat-studio-widget/p-d47dbd2f.entry.js.map +1 -0
- package/dist/types/components/ocs-chat/ocs-chat.d.ts +10 -0
- package/dist/types/components.d.ts +16 -0
- package/package.json +3 -2
- package/dist/open-chat-studio-widget/p-eb89e6d7.entry.js.map +0 -1
|
@@ -500,23 +500,18 @@ video {
|
|
|
500
500
|
display: none;
|
|
501
501
|
}
|
|
502
502
|
.starter-question {
|
|
503
|
-
margin-left: 3rem;
|
|
504
503
|
border-radius: 0.5rem;
|
|
505
|
-
border-width: 1px;
|
|
506
|
-
--tw-border-opacity: 1;
|
|
507
|
-
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
|
|
508
|
-
padding: 0.75rem;
|
|
509
504
|
text-align: left;
|
|
510
|
-
--tw-text-opacity: 1;
|
|
511
|
-
color: rgb(37 99 235 / var(--tw-text-opacity, 1));
|
|
512
505
|
transition-duration: 200ms;
|
|
506
|
+
padding: var(--starter-question-padding, 0.75rem);
|
|
507
|
+
background-color: var(--starter-question-bg-color);
|
|
508
|
+
border: 1px solid var(--starter-question-border-color);
|
|
509
|
+
color: var(--starter-question-text-color);
|
|
513
510
|
}
|
|
514
511
|
.starter-question:hover {
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
|
|
519
|
-
}
|
|
512
|
+
background-color: var(--starter-question-bg-hover-color);
|
|
513
|
+
border-color: var(--starter-question-border-hover-color);
|
|
514
|
+
}
|
|
520
515
|
.chat-btn-text,
|
|
521
516
|
.chat-btn-icon {
|
|
522
517
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -535,17 +530,6 @@ video {
|
|
|
535
530
|
--tw-scale-y: 1.05;
|
|
536
531
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
537
532
|
}
|
|
538
|
-
.chat-btn-text:focus,
|
|
539
|
-
.chat-btn-icon:focus {
|
|
540
|
-
outline: 2px solid transparent;
|
|
541
|
-
outline-offset: 2px;
|
|
542
|
-
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
543
|
-
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
544
|
-
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
545
|
-
--tw-ring-opacity: 1;
|
|
546
|
-
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
|
|
547
|
-
--tw-ring-offset-width: 2px;
|
|
548
|
-
}
|
|
549
533
|
.chat-btn-text,
|
|
550
534
|
.chat-btn-icon {
|
|
551
535
|
background-color: var(--button-background-color, white);
|
|
@@ -555,11 +539,8 @@ video {
|
|
|
555
539
|
.chat-btn-text {
|
|
556
540
|
display: flex;
|
|
557
541
|
align-items: center;
|
|
558
|
-
gap:
|
|
559
|
-
|
|
560
|
-
padding-right: 0.75rem;
|
|
561
|
-
padding-top: 0.75rem;
|
|
562
|
-
padding-bottom: 0.75rem;
|
|
542
|
+
gap: 8px;
|
|
543
|
+
padding: var(--button-padding, 0.75rem);
|
|
563
544
|
color: var(--button-text-color, #111827);
|
|
564
545
|
}
|
|
565
546
|
.chat-btn-text:hover {
|
|
@@ -567,23 +548,22 @@ video {
|
|
|
567
548
|
}
|
|
568
549
|
.chat-btn-text span {
|
|
569
550
|
white-space: nowrap;
|
|
570
|
-
font-size: 0.875rem;
|
|
571
|
-
line-height: 1.25rem;
|
|
572
551
|
font-weight: 500;
|
|
552
|
+
font-size: var(--button-font-size);
|
|
573
553
|
}
|
|
574
554
|
.chat-btn-text img {
|
|
575
|
-
height: 1.5rem;
|
|
576
|
-
width: 1.5rem;
|
|
577
555
|
flex-shrink: 0;
|
|
578
556
|
-o-object-fit: contain;
|
|
579
557
|
object-fit: contain;
|
|
558
|
+
width: var(--button-icon-width, 1.5rem);
|
|
559
|
+
height: var(--button-icon-height, 1.5rem);
|
|
580
560
|
}
|
|
581
561
|
/* Icon-only button */
|
|
582
562
|
.chat-btn-icon {
|
|
583
|
-
|
|
563
|
+
padding: var(--button-padding, 0.75rem);
|
|
584
564
|
width: 56px;
|
|
585
565
|
height: 56px;
|
|
586
|
-
}
|
|
566
|
+
}
|
|
587
567
|
.chat-btn-icon img {
|
|
588
568
|
height: 100%;
|
|
589
569
|
width: 100%;
|
|
@@ -594,104 +574,255 @@ video {
|
|
|
594
574
|
.chat-btn-icon.round {
|
|
595
575
|
border-radius: 9999px;
|
|
596
576
|
}
|
|
597
|
-
|
|
598
|
-
|
|
577
|
+
/* Error message styling */
|
|
578
|
+
.error-message {
|
|
579
|
+
padding: var(--error-message-padding, 0.5rem);
|
|
580
|
+
color: var(--error-text-color);
|
|
581
|
+
}
|
|
582
|
+
/* Chat window positioning classes */
|
|
583
|
+
.chat-window-fullscreen {
|
|
584
|
+
position: fixed;
|
|
585
|
+
inset: 0px;
|
|
586
|
+
z-index: 9999;
|
|
587
|
+
display: flex;
|
|
588
|
+
height: 100%;
|
|
589
|
+
max-height: 100%;
|
|
590
|
+
width: 100%;
|
|
591
|
+
max-width: 1024px;
|
|
592
|
+
flex-direction: column;
|
|
593
|
+
overflow: hidden;
|
|
594
|
+
border-radius: 0px;
|
|
595
|
+
border-width: 0px;
|
|
596
|
+
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
597
|
+
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
598
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
599
|
+
transition-property: box-shadow;
|
|
600
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
601
|
+
transition-duration: 200ms;
|
|
602
|
+
background-color: var(--chat-window-bg-color);
|
|
603
|
+
font-size: var(--chat-window-font-size);
|
|
599
604
|
}
|
|
600
|
-
.
|
|
601
|
-
|
|
605
|
+
.chat-window-normal {
|
|
606
|
+
position: fixed;
|
|
607
|
+
display: flex;
|
|
608
|
+
height: 83.333333%;
|
|
609
|
+
width: 100%;
|
|
610
|
+
max-width: 1024px;
|
|
611
|
+
flex-direction: column;
|
|
612
|
+
overflow: hidden;
|
|
613
|
+
border-radius: 0.5rem;
|
|
602
614
|
}
|
|
603
|
-
|
|
604
|
-
|
|
615
|
+
@media (min-width: 640px) {
|
|
616
|
+
|
|
617
|
+
.chat-window-normal {
|
|
618
|
+
width: 450px;
|
|
619
|
+
}
|
|
605
620
|
}
|
|
606
|
-
.
|
|
607
|
-
|
|
621
|
+
.chat-window-normal {
|
|
622
|
+
background-color: var(--chat-window-bg-color);
|
|
623
|
+
border: 1px solid var(--chat-window-border-color);
|
|
624
|
+
}
|
|
625
|
+
.chat-window-dragging {
|
|
626
|
+
cursor: grabbing;
|
|
627
|
+
--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
|
|
628
|
+
--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
|
|
629
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
608
630
|
}
|
|
609
|
-
.
|
|
610
|
-
|
|
631
|
+
.chat-window-normal:not(.chat-window-dragging) {
|
|
632
|
+
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
633
|
+
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
634
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
635
|
+
transition-property: box-shadow;
|
|
636
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
637
|
+
transition-duration: 200ms;
|
|
611
638
|
}
|
|
612
|
-
|
|
613
|
-
|
|
639
|
+
/* Header/drag bar classes */
|
|
640
|
+
.chat-header {
|
|
641
|
+
display: flex;
|
|
642
|
+
align-items: center;
|
|
643
|
+
justify-content: space-between;
|
|
644
|
+
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
645
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
646
|
+
transition-duration: 150ms;
|
|
647
|
+
padding: var(--header-padding, 0.5rem);
|
|
648
|
+
background-color: var(--header-bg-color);
|
|
649
|
+
border-bottom: 1px solid var(--header-border-color);
|
|
614
650
|
}
|
|
615
|
-
.
|
|
616
|
-
|
|
651
|
+
.chat-header:hover,
|
|
652
|
+
.chat-header:active {
|
|
653
|
+
background-color: var(--header-bg-hover-color);
|
|
654
|
+
}
|
|
655
|
+
.chat-header-draggable {
|
|
656
|
+
cursor: grab;
|
|
617
657
|
}
|
|
618
|
-
.
|
|
619
|
-
|
|
658
|
+
.chat-header-dragging {
|
|
659
|
+
cursor: grabbing;
|
|
620
660
|
}
|
|
621
|
-
.
|
|
622
|
-
|
|
661
|
+
.drag-indicator {
|
|
662
|
+
display: none;
|
|
623
663
|
}
|
|
624
|
-
|
|
625
|
-
|
|
664
|
+
@media (min-width: 640px) {
|
|
665
|
+
|
|
666
|
+
.drag-indicator {
|
|
667
|
+
display: flex;
|
|
668
|
+
}
|
|
626
669
|
}
|
|
627
|
-
.
|
|
628
|
-
|
|
670
|
+
.drag-dots {
|
|
671
|
+
pointer-events: none;
|
|
672
|
+
margin-left: 2px;
|
|
673
|
+
display: flex;
|
|
674
|
+
gap: 2px;
|
|
675
|
+
}
|
|
676
|
+
@media (min-width: 640px) {
|
|
677
|
+
|
|
678
|
+
.drag-spacer {
|
|
679
|
+
display: none;
|
|
680
|
+
}
|
|
629
681
|
}
|
|
630
|
-
.
|
|
682
|
+
.header-buttons {
|
|
631
683
|
display: flex;
|
|
684
|
+
align-items: center;
|
|
685
|
+
gap: 4px;
|
|
632
686
|
}
|
|
633
|
-
|
|
634
|
-
|
|
687
|
+
/* Header button classes */
|
|
688
|
+
.header-button {
|
|
689
|
+
border-radius: 0.375rem;
|
|
690
|
+
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
691
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
692
|
+
transition-duration: 200ms;
|
|
693
|
+
padding: var(--button-padding-sm, 0.375rem);
|
|
694
|
+
color: var(--header-button-text-color);
|
|
635
695
|
}
|
|
636
|
-
.
|
|
696
|
+
.header-button:hover {
|
|
697
|
+
background-color: var(--header-button-bg-hover-color);
|
|
698
|
+
}
|
|
699
|
+
.fullscreen-button {
|
|
637
700
|
display: none;
|
|
638
701
|
}
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
702
|
+
@media (min-width: 640px) {
|
|
703
|
+
|
|
704
|
+
.fullscreen-button {
|
|
705
|
+
display: block;
|
|
706
|
+
}
|
|
642
707
|
}
|
|
643
|
-
|
|
644
|
-
|
|
708
|
+
/* Chat content area */
|
|
709
|
+
.chat-content {
|
|
710
|
+
display: flex;
|
|
711
|
+
flex-grow: 1;
|
|
712
|
+
flex-direction: column;
|
|
713
|
+
overflow: hidden;
|
|
645
714
|
}
|
|
646
|
-
|
|
647
|
-
|
|
715
|
+
/* Loading state */
|
|
716
|
+
.loading-container {
|
|
717
|
+
display: flex;
|
|
718
|
+
flex-grow: 1;
|
|
719
|
+
align-items: center;
|
|
720
|
+
justify-content: center;
|
|
648
721
|
}
|
|
649
|
-
.
|
|
650
|
-
|
|
722
|
+
.loading-text {
|
|
723
|
+
margin-left: 2px;
|
|
724
|
+
color: var(--loading-text-color);
|
|
725
|
+
}
|
|
726
|
+
/* Messages container */
|
|
727
|
+
.messages-container {
|
|
728
|
+
flex-grow: 1;
|
|
651
729
|
}
|
|
652
|
-
.
|
|
653
|
-
|
|
730
|
+
.messages-container > :not([hidden]) ~ :not([hidden]) {
|
|
731
|
+
--tw-space-y-reverse: 0;
|
|
732
|
+
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
|
|
733
|
+
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
|
|
654
734
|
}
|
|
655
|
-
.
|
|
656
|
-
|
|
735
|
+
.messages-container {
|
|
736
|
+
overflow-y: auto;
|
|
657
737
|
}
|
|
658
|
-
.
|
|
659
|
-
|
|
738
|
+
.messages-container::-webkit-scrollbar {
|
|
739
|
+
width: 0.375rem;
|
|
660
740
|
}
|
|
661
|
-
.
|
|
662
|
-
|
|
741
|
+
.messages-container::-webkit-scrollbar-track {
|
|
742
|
+
border-radius: 0.25rem;
|
|
743
|
+
background-color: var(--scrollbar-track-color);
|
|
663
744
|
}
|
|
664
|
-
.
|
|
665
|
-
|
|
745
|
+
.messages-container::-webkit-scrollbar-thumb {
|
|
746
|
+
border-radius: 0.25rem;
|
|
747
|
+
background-color: var(--scrollbar-thumb-color);
|
|
666
748
|
}
|
|
667
|
-
.
|
|
668
|
-
|
|
749
|
+
.messages-container::-webkit-scrollbar-thumb:hover {
|
|
750
|
+
background-color: var(--scrollbar-thumb-hover-color);
|
|
669
751
|
}
|
|
670
|
-
.
|
|
671
|
-
|
|
752
|
+
.messages-container {
|
|
753
|
+
padding: var(--container-padding, 1rem);
|
|
754
|
+
}
|
|
755
|
+
/* Message bubbles */
|
|
756
|
+
.message-row {
|
|
757
|
+
display: flex;
|
|
672
758
|
}
|
|
673
|
-
|
|
759
|
+
.message-row-user {
|
|
760
|
+
justify-content: flex-end;
|
|
761
|
+
}
|
|
762
|
+
.message-row-assistant {
|
|
763
|
+
justify-content: flex-start;
|
|
764
|
+
}
|
|
765
|
+
.message-bubble {
|
|
766
|
+
max-width: 20rem;
|
|
767
|
+
border-radius: 0.5rem;
|
|
768
|
+
}
|
|
769
|
+
@media (min-width: 1024px) {
|
|
674
770
|
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0);
|
|
771
|
+
.message-bubble {
|
|
772
|
+
max-width: 28rem;
|
|
678
773
|
}
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0);
|
|
774
|
+
}
|
|
775
|
+
.message-bubble {
|
|
776
|
+
padding: var(--message-padding-y, 0.5rem) var(--message-padding-x, 1rem);
|
|
683
777
|
}
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
778
|
+
.message-bubble-user {
|
|
779
|
+
background-color: var(--message-user-bg-color);
|
|
780
|
+
color: var(--message-user-text-color);
|
|
687
781
|
}
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
text-
|
|
782
|
+
.message-bubble-assistant {
|
|
783
|
+
background-color: var(--message-assistant-bg-color);
|
|
784
|
+
color: var(--message-assistant-text-color);
|
|
691
785
|
}
|
|
786
|
+
.message-bubble-system {
|
|
787
|
+
background-color: var(--message-system-bg-color);
|
|
788
|
+
color: var(--message-system-text-color);
|
|
789
|
+
}
|
|
790
|
+
.message-timestamp {
|
|
791
|
+
margin-top: 4px;
|
|
792
|
+
opacity: 0.7;
|
|
793
|
+
font-size: var(--chat-window-font-size-sm);
|
|
692
794
|
}
|
|
693
|
-
.
|
|
694
|
-
|
|
795
|
+
.message-attachments {
|
|
796
|
+
margin-top: 8px;
|
|
797
|
+
}
|
|
798
|
+
.message-attachments > :not([hidden]) ~ :not([hidden]) {
|
|
799
|
+
--tw-space-y-reverse: 0;
|
|
800
|
+
margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
|
|
801
|
+
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
|
|
802
|
+
}
|
|
803
|
+
.attachment-link {
|
|
804
|
+
display: block;
|
|
805
|
+
text-decoration-line: underline;
|
|
806
|
+
}
|
|
807
|
+
.attachment-link:hover {
|
|
808
|
+
text-decoration-line: none;
|
|
809
|
+
}
|
|
810
|
+
/* Welcome messages */
|
|
811
|
+
.welcome-messages > :not([hidden]) ~ :not([hidden]) {
|
|
812
|
+
--tw-space-y-reverse: 0;
|
|
813
|
+
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
|
|
814
|
+
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
|
|
815
|
+
}
|
|
816
|
+
/* Typing indicator */
|
|
817
|
+
.typing-indicator {
|
|
818
|
+
height: 0.375rem;
|
|
819
|
+
width: 100%;
|
|
820
|
+
overflow: hidden;
|
|
821
|
+
}
|
|
822
|
+
.typing-progress {
|
|
823
|
+
height: 100%;
|
|
824
|
+
width: 100%;
|
|
825
|
+
transform-origin: 0% 50%;
|
|
695
826
|
}
|
|
696
827
|
@keyframes progress {
|
|
697
828
|
|
|
@@ -715,233 +846,332 @@ video {
|
|
|
715
846
|
transform: translateX(0) scaleX(0);
|
|
716
847
|
}
|
|
717
848
|
}
|
|
718
|
-
.
|
|
849
|
+
.typing-progress {
|
|
719
850
|
animation: progress 3s infinite linear;
|
|
851
|
+
border-radius: 0.5rem;
|
|
852
|
+
background-color: var(--typing-progress-bg-color);
|
|
720
853
|
}
|
|
721
|
-
.
|
|
722
|
-
|
|
723
|
-
}
|
|
724
|
-
.cursor-grabbing {
|
|
725
|
-
cursor: grabbing;
|
|
726
|
-
}
|
|
727
|
-
.cursor-not-allowed {
|
|
728
|
-
cursor: not-allowed;
|
|
729
|
-
}
|
|
730
|
-
.resize-none {
|
|
731
|
-
resize: none;
|
|
732
|
-
}
|
|
733
|
-
.resize {
|
|
734
|
-
resize: both;
|
|
735
|
-
}
|
|
736
|
-
.flex-col {
|
|
737
|
-
flex-direction: column;
|
|
738
|
-
}
|
|
739
|
-
.items-center {
|
|
740
|
-
align-items: center;
|
|
741
|
-
}
|
|
742
|
-
.justify-start {
|
|
743
|
-
justify-content: flex-start;
|
|
744
|
-
}
|
|
745
|
-
.justify-end {
|
|
746
|
-
justify-content: flex-end;
|
|
747
|
-
}
|
|
748
|
-
.justify-center {
|
|
854
|
+
.typing-text {
|
|
855
|
+
width: 100%;
|
|
749
856
|
justify-content: center;
|
|
857
|
+
opacity: 0.7;
|
|
858
|
+
font-size: var(--chat-window-font-size-sm);
|
|
750
859
|
}
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
|
|
860
|
+
@keyframes dots {
|
|
861
|
+
|
|
862
|
+
0%, 20% {
|
|
863
|
+
color: rgba(0,0,0,0);
|
|
864
|
+
text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0);
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
40% {
|
|
868
|
+
color: black;
|
|
869
|
+
text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0);
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
60% {
|
|
873
|
+
text-shadow: .25em 0 0 black, .5em 0 0 rgba(0,0,0,0);
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
80%, 100% {
|
|
877
|
+
text-shadow: .25em 0 0 black, .5em 0 0 black;
|
|
878
|
+
}
|
|
759
879
|
}
|
|
760
|
-
.
|
|
761
|
-
|
|
880
|
+
.typing-dots {
|
|
881
|
+
animation: dots 1s steps(5, end) infinite;
|
|
762
882
|
}
|
|
763
|
-
.
|
|
764
|
-
|
|
765
|
-
margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
|
|
766
|
-
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
|
|
883
|
+
.typing-dots:after {
|
|
884
|
+
content: ' .';
|
|
767
885
|
}
|
|
768
|
-
|
|
886
|
+
/* Starter questions */
|
|
887
|
+
.starter-questions > :not([hidden]) ~ :not([hidden]) {
|
|
769
888
|
--tw-space-y-reverse: 0;
|
|
770
889
|
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
|
|
771
890
|
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
|
|
772
891
|
}
|
|
773
|
-
.
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
892
|
+
.starter-questions {
|
|
893
|
+
padding: var(--container-padding, 1rem);
|
|
894
|
+
font-size: var(--chat-window-font-size);
|
|
895
|
+
}
|
|
896
|
+
.starter-question-row {
|
|
897
|
+
display: flex;
|
|
898
|
+
justify-content: flex-end;
|
|
778
899
|
}
|
|
779
|
-
|
|
780
|
-
|
|
900
|
+
/* Input area */
|
|
901
|
+
.input-area {
|
|
902
|
+
padding: var(--container-padding, 1rem);
|
|
903
|
+
background-color: var(--input-bg-color);
|
|
904
|
+
border-top: 1px solid var(--input-border-color);
|
|
905
|
+
font-size: var(--chat-window-font-size);
|
|
906
|
+
}
|
|
907
|
+
.input-container {
|
|
908
|
+
display: flex;
|
|
909
|
+
gap: 8px;
|
|
781
910
|
}
|
|
782
|
-
.
|
|
911
|
+
.message-textarea {
|
|
912
|
+
flex-grow: 1;
|
|
913
|
+
resize: none;
|
|
783
914
|
border-radius: 0.375rem;
|
|
784
|
-
}
|
|
785
|
-
.rounded-none {
|
|
786
|
-
border-radius: 0px;
|
|
787
|
-
}
|
|
788
|
-
.border {
|
|
789
915
|
border-width: 1px;
|
|
790
|
-
}
|
|
791
|
-
.border-0 {
|
|
792
|
-
border-width: 0px;
|
|
793
|
-
}
|
|
794
|
-
.border-b {
|
|
795
|
-
border-bottom-width: 1px;
|
|
796
|
-
}
|
|
797
|
-
.border-t {
|
|
798
|
-
border-top-width: 1px;
|
|
799
|
-
}
|
|
800
|
-
.border-gray-100 {
|
|
801
|
-
--tw-border-opacity: 1;
|
|
802
|
-
border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
|
|
803
|
-
}
|
|
804
|
-
.border-gray-200 {
|
|
805
|
-
--tw-border-opacity: 1;
|
|
806
|
-
border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
|
|
807
|
-
}
|
|
808
|
-
.border-gray-300 {
|
|
809
916
|
--tw-border-opacity: 1;
|
|
810
917
|
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
811
918
|
}
|
|
812
|
-
.
|
|
813
|
-
|
|
814
|
-
background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
|
|
815
|
-
}
|
|
816
|
-
.bg-blue-500 {
|
|
817
|
-
--tw-bg-opacity: 1;
|
|
818
|
-
background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
|
|
819
|
-
}
|
|
820
|
-
.bg-gray-100 {
|
|
821
|
-
--tw-bg-opacity: 1;
|
|
822
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
823
|
-
}
|
|
824
|
-
.bg-gray-200 {
|
|
825
|
-
--tw-bg-opacity: 1;
|
|
826
|
-
background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
|
|
827
|
-
}
|
|
828
|
-
.bg-gray-300 {
|
|
829
|
-
--tw-bg-opacity: 1;
|
|
830
|
-
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
|
831
|
-
}
|
|
832
|
-
.bg-white {
|
|
833
|
-
--tw-bg-opacity: 1;
|
|
834
|
-
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
|
919
|
+
.message-textarea:focus {
|
|
920
|
+
outline-color: #93c5fd;
|
|
835
921
|
}
|
|
836
|
-
.
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
}
|
|
853
|
-
.px-4 {
|
|
854
|
-
padding-left: 1rem;
|
|
855
|
-
padding-right: 1rem;
|
|
856
|
-
}
|
|
857
|
-
.py-2 {
|
|
858
|
-
padding-top: 0.5rem;
|
|
859
|
-
padding-bottom: 0.5rem;
|
|
860
|
-
}
|
|
861
|
-
.text-sm {
|
|
862
|
-
font-size: 0.875rem;
|
|
863
|
-
line-height: 1.25rem;
|
|
922
|
+
.message-textarea {
|
|
923
|
+
padding: var(--input-textarea-padding-y, 0.5rem) var(--input-textarea-padding-x, 0.75rem);
|
|
924
|
+
color: var(--input-text-color);
|
|
925
|
+
border: 1px solid var(--input-border-color);
|
|
926
|
+
}
|
|
927
|
+
.message-textarea:focus {
|
|
928
|
+
outline-color: var(--input-outline-focus-color);
|
|
929
|
+
}
|
|
930
|
+
.send-button {
|
|
931
|
+
border-radius: 0.375rem;
|
|
932
|
+
font-weight: 500;
|
|
933
|
+
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
934
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
935
|
+
transition-duration: 200ms;
|
|
936
|
+
padding: var(--send-button-padding-y, 0.5rem) var(--send-button-padding-x, 1rem);
|
|
937
|
+
font-size: var(--chat-window-font-size);
|
|
864
938
|
}
|
|
865
|
-
.
|
|
866
|
-
|
|
867
|
-
|
|
939
|
+
.send-button-enabled {
|
|
940
|
+
background-color: var(--send-button-bg-color);
|
|
941
|
+
color: var(--send-button-text-color);
|
|
942
|
+
}
|
|
943
|
+
.send-button-enabled:hover {
|
|
944
|
+
background-color: var(--send-button-bg-hover-color);
|
|
945
|
+
}
|
|
946
|
+
.send-button-disabled {
|
|
947
|
+
cursor: not-allowed;
|
|
948
|
+
background-color: var(--send-button-bg-disabled-color);
|
|
949
|
+
color: var(--send-button-text-disabled-color);
|
|
868
950
|
}
|
|
869
|
-
.
|
|
870
|
-
|
|
951
|
+
.visible {
|
|
952
|
+
visibility: visible;
|
|
871
953
|
}
|
|
872
|
-
.
|
|
873
|
-
|
|
874
|
-
color: rgb(107 114 128 / var(--tw-text-opacity, 1));
|
|
954
|
+
.static {
|
|
955
|
+
position: static;
|
|
875
956
|
}
|
|
876
|
-
.
|
|
877
|
-
|
|
878
|
-
color: rgb(75 85 99 / var(--tw-text-opacity, 1));
|
|
957
|
+
.relative {
|
|
958
|
+
position: relative;
|
|
879
959
|
}
|
|
880
|
-
.
|
|
881
|
-
|
|
882
|
-
color: rgb(31 41 55 / var(--tw-text-opacity, 1));
|
|
960
|
+
.table {
|
|
961
|
+
display: table;
|
|
883
962
|
}
|
|
884
|
-
.
|
|
885
|
-
|
|
886
|
-
|
|
963
|
+
.size-6 {
|
|
964
|
+
width: 1.5rem;
|
|
965
|
+
height: 1.5rem;
|
|
887
966
|
}
|
|
888
|
-
.
|
|
889
|
-
|
|
890
|
-
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
|
|
967
|
+
.h-5\/6 {
|
|
968
|
+
height: 83.333333%;
|
|
891
969
|
}
|
|
892
|
-
.
|
|
893
|
-
|
|
970
|
+
.transform {
|
|
971
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
894
972
|
}
|
|
895
|
-
.
|
|
896
|
-
|
|
973
|
+
.resize {
|
|
974
|
+
resize: both;
|
|
897
975
|
}
|
|
898
976
|
.shadow {
|
|
899
977
|
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
900
978
|
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
|
|
901
979
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
902
980
|
}
|
|
903
|
-
.shadow-2xl {
|
|
904
|
-
--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
|
|
905
|
-
--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
|
|
906
|
-
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
907
|
-
}
|
|
908
|
-
.shadow-lg {
|
|
909
|
-
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
910
|
-
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
911
|
-
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
912
|
-
}
|
|
913
|
-
.transition-colors {
|
|
914
|
-
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
915
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
916
|
-
transition-duration: 150ms;
|
|
917
|
-
}
|
|
918
|
-
.transition-shadow {
|
|
919
|
-
transition-property: box-shadow;
|
|
920
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
921
|
-
transition-duration: 150ms;
|
|
922
|
-
}
|
|
923
|
-
.duration-150 {
|
|
924
|
-
transition-duration: 150ms;
|
|
925
|
-
}
|
|
926
|
-
.duration-200 {
|
|
927
|
-
transition-duration: 200ms;
|
|
928
|
-
}
|
|
929
981
|
:host {
|
|
930
982
|
/**
|
|
931
|
-
*
|
|
932
|
-
* @prop --
|
|
933
|
-
* @prop --
|
|
934
|
-
*
|
|
935
|
-
*
|
|
936
|
-
* @prop --button-
|
|
983
|
+
* Global Variables
|
|
984
|
+
* @prop --chat-z-index: Z-index for chat widget (50)
|
|
985
|
+
* @prop --container-padding: General container padding (1rem)
|
|
986
|
+
*
|
|
987
|
+
* Button Variables
|
|
988
|
+
* @prop --button-background-color: Button background color (#ffffff)
|
|
989
|
+
* @prop --button-background-color-hover: Button background color on hover (#f3f4f6)
|
|
990
|
+
* @prop --button-text-color: Button text color (#111827)
|
|
991
|
+
* @prop --button-text-color-hover: Button text color on hover (#1d4ed8)
|
|
992
|
+
* @prop --button-border-color: Button border color (#6b7280)
|
|
993
|
+
* @prop --button-border-color-hover: Button border color on hover (#374151)
|
|
994
|
+
* @prop --button-padding: Button padding (0.75rem)
|
|
995
|
+
* @prop --button-padding-sm: Small button padding (0.375rem)
|
|
996
|
+
* @prop --button-font-size: Button text font size (0.875rem)
|
|
997
|
+
* @prop --button-icon-width: Button icon width (1.5rem)
|
|
998
|
+
* @prop --button-icon-height: Button icon height (1.5rem)
|
|
999
|
+
*
|
|
1000
|
+
* Chat Window Variables
|
|
1001
|
+
* @prop --chat-window-bg-color: Chat window background color (#ffffff)
|
|
1002
|
+
* @prop --chat-window-border-color: Chat window border color (#d1d5db)
|
|
1003
|
+
* @prop --chat-window-shadow-color: Chat window shadow color (rgba(0, 0, 0, 0.1))
|
|
1004
|
+
* @prop --chat-window-font-size: Default font size for text in the chat window (0.875rem)
|
|
1005
|
+
* @prop --chat-window-font-size-sm: Font size for small text in the chat window (0.75rem)
|
|
1006
|
+
*
|
|
1007
|
+
* Header Variables
|
|
1008
|
+
* @prop --header-bg-color: Header background color (transparent)
|
|
1009
|
+
* @prop --header-bg-hover-color: Header background color on hover (#f9fafb)
|
|
1010
|
+
* @prop --header-border-color: Header border color (#f3f4f6)
|
|
1011
|
+
* @prop --header-button-text-color: Header button text color (#6b7280)
|
|
1012
|
+
* @prop --header-button-bg-hover-color: Header button background on hover (#f3f4f6)
|
|
1013
|
+
* @prop --header-padding: Header padding (0.5rem)
|
|
1014
|
+
*
|
|
1015
|
+
* Starter Question Variables
|
|
1016
|
+
* @prop --starter-question-bg-color: Starter question background color (transparent)
|
|
1017
|
+
* @prop --starter-question-bg-hover-color: Starter question background on hover (#eff6ff)
|
|
1018
|
+
* @prop --starter-question-text-color: Starter question text color (#3b82f6)
|
|
1019
|
+
* @prop --starter-question-border-color: Starter question border color (#3b82f6)
|
|
1020
|
+
* @prop --starter-question-border-hover-color: Starter question border on hover (#2563eb)
|
|
1021
|
+
* @prop --starter-question-padding: Starter question padding (0.75rem)
|
|
1022
|
+
*
|
|
1023
|
+
* Message Bubble Variables
|
|
1024
|
+
* @prop --message-user-bg-color: User message background color (#3b82f6)
|
|
1025
|
+
* @prop --message-user-text-color: User message text color (#ffffff)
|
|
1026
|
+
* @prop --message-assistant-bg-color: Assistant message background color (#e5e7eb)
|
|
1027
|
+
* @prop --message-assistant-text-color: Assistant message text color (#1f2937)
|
|
1028
|
+
* @prop --message-system-bg-color: System message background color (#f3f4f6)
|
|
1029
|
+
* @prop --message-system-text-color: System message text color (#4b5563)
|
|
1030
|
+
* @prop --message-timestamp-color: User message timestamp color (rgba(255, 255, 255, 0.7))
|
|
1031
|
+
* @prop --message-timestamp-assistant-color: Assistant message timestamp color (rgba(75, 85, 99, 0.7))
|
|
1032
|
+
* @prop --message-padding-x: Message horizontal padding (1rem)
|
|
1033
|
+
* @prop --message-padding-y: Message vertical padding (0.5rem)
|
|
1034
|
+
*
|
|
1035
|
+
* Input Area Variables
|
|
1036
|
+
* @prop --input-bg-color: Input area background color (transparent)
|
|
1037
|
+
* @prop --input-border-color: Input field border color (#d1d5db)
|
|
1038
|
+
* @prop --input-text-color: Input text color (#111827)
|
|
1039
|
+
* @prop --input-placeholder-color: Input placeholder text color (#6b7280)
|
|
1040
|
+
* @prop --input-outline-focus-color: Input field focus ring color (#3b82f6)
|
|
1041
|
+
* @prop --input-textarea-padding-x: Input textarea horizontal padding (0.75rem)
|
|
1042
|
+
* @prop --input-textarea-padding-y: Input textarea vertical padding (0.5rem)
|
|
1043
|
+
*
|
|
1044
|
+
* Send Button Variables
|
|
1045
|
+
* @prop --send-button-bg-color: Send button background color (#3b82f6)
|
|
1046
|
+
* @prop --send-button-bg-hover-color: Send button background on hover (#2563eb)
|
|
1047
|
+
* @prop --send-button-text-color: Send button text color (#ffffff)
|
|
1048
|
+
* @prop --send-button-bg-disabled-color: Send button background when disabled (#d1d5db)
|
|
1049
|
+
* @prop --send-button-text-disabled-color: Send button text when disabled (#6b7280)
|
|
1050
|
+
* @prop --send-button-padding-x: Send button horizontal padding (1rem)
|
|
1051
|
+
* @prop --send-button-padding-y: Send button vertical padding (0.5rem)
|
|
1052
|
+
*
|
|
1053
|
+
* Loading Variables
|
|
1054
|
+
* @prop --loading-text-color: Loading text color (#6b7280)
|
|
1055
|
+
* @prop --loading-spinner-track-color: Loading spinner track color (#e5e7eb)
|
|
1056
|
+
* @prop --loading-spinner-fill-color: Loading spinner fill color (#3b82f6)
|
|
1057
|
+
* @prop --loading-spinner-size: Loading spinner size (1.25rem)
|
|
1058
|
+
*
|
|
1059
|
+
* Typing Indicator Variables
|
|
1060
|
+
* @prop --typing-progress-bg-color: Typing progress bar background color (#ade3ff)
|
|
1061
|
+
*
|
|
1062
|
+
* Scrollbar Variables
|
|
1063
|
+
* @prop --scrollbar-track-color: Scrollbar track color (#f3f4f6)
|
|
1064
|
+
* @prop --scrollbar-thumb-color: Scrollbar thumb color (#d1d5db)
|
|
1065
|
+
* @prop --scrollbar-thumb-hover-color: Scrollbar thumb hover color (#9ca3af)
|
|
1066
|
+
*
|
|
1067
|
+
* Error Variables
|
|
1068
|
+
* @prop --error-text-color: Error text color (#ef4444)
|
|
1069
|
+
* @prop --error-message-padding: Error message padding (0.5rem)
|
|
1070
|
+
*
|
|
1071
|
+
* Markdown Code Variables
|
|
1072
|
+
* @prop --code-bg-user-color: Code background in user messages (rgba(59, 130, 246, 0.3))
|
|
1073
|
+
* @prop --code-text-user-color: Code text color in user messages (#dbeafe)
|
|
1074
|
+
* @prop --code-border-user-color: Code border in user messages (rgba(59, 130, 246, 0.6))
|
|
1075
|
+
* @prop --code-bg-assistant-color: Code background in assistant messages (#ffffff)
|
|
1076
|
+
* @prop --code-text-assistant-color: Code text color in assistant messages (#1f2937)
|
|
1077
|
+
* @prop --code-border-assistant-color: Code border in assistant messages (#d1d5db)
|
|
937
1078
|
*/
|
|
938
|
-
|
|
1079
|
+
/* Global variables */
|
|
1080
|
+
--chat-z-index: 50;
|
|
1081
|
+
--container-padding: 1rem;
|
|
1082
|
+
|
|
1083
|
+
/* Button variables */
|
|
1084
|
+
--button-background-color: #ffffff;
|
|
939
1085
|
--button-background-color-hover: #f3f4f6;
|
|
940
1086
|
--button-text-color: #111827;
|
|
941
1087
|
--button-text-color-hover: #1d4ed8;
|
|
942
1088
|
--button-border-color: #6b7280;
|
|
943
1089
|
--button-border-color-hover: #374151;
|
|
944
|
-
--
|
|
1090
|
+
--button-padding: 0.75rem;
|
|
1091
|
+
--button-padding-sm: 0.375rem;
|
|
1092
|
+
--button-font-size: 0.875rem; /* text-sm */
|
|
1093
|
+
--button-icon-width: 1.5rem;
|
|
1094
|
+
--button-icon-height: 1.5rem;
|
|
1095
|
+
|
|
1096
|
+
/* Chat window variables */
|
|
1097
|
+
--chat-window-bg-color: #ffffff;
|
|
1098
|
+
--chat-window-border-color: #d1d5db;
|
|
1099
|
+
--chat-window-shadow-color: rgba(0, 0, 0, 0.1);
|
|
1100
|
+
--chat-window-font-size: 0.875rem; /* text-sm */
|
|
1101
|
+
--chat-window-font-size-sm: 0.75rem; /* text-xs */
|
|
1102
|
+
|
|
1103
|
+
/* Header variables */
|
|
1104
|
+
--header-bg-color: transparent;
|
|
1105
|
+
--header-bg-hover-color: #f9fafb;
|
|
1106
|
+
--header-border-color: #f3f4f6;
|
|
1107
|
+
--header-button-text-color: #6b7280;
|
|
1108
|
+
--header-button-bg-hover-color: #f3f4f6;
|
|
1109
|
+
--header-padding: 0.5rem;
|
|
1110
|
+
|
|
1111
|
+
/* Starter question variables */
|
|
1112
|
+
--starter-question-bg-color: transparent;
|
|
1113
|
+
--starter-question-bg-hover-color: #eff6ff;
|
|
1114
|
+
--starter-question-text-color: #3b82f6;
|
|
1115
|
+
--starter-question-border-color: #3b82f6;
|
|
1116
|
+
--starter-question-border-hover-color: #2563eb;
|
|
1117
|
+
--starter-question-padding: 0.75rem;
|
|
1118
|
+
|
|
1119
|
+
/* Message bubble variables */
|
|
1120
|
+
--message-user-bg-color: #3b82f6;
|
|
1121
|
+
--message-user-text-color: #ffffff;
|
|
1122
|
+
--message-assistant-bg-color: #e5e7eb;
|
|
1123
|
+
--message-assistant-text-color: #1f2937;
|
|
1124
|
+
--message-system-bg-color: #f3f4f6;
|
|
1125
|
+
--message-system-text-color: #4b5563;
|
|
1126
|
+
--message-timestamp-color: rgba(255, 255, 255, 0.7);
|
|
1127
|
+
--message-timestamp-assistant-color: rgba(75, 85, 99, 0.7);
|
|
1128
|
+
--message-padding-x: 1rem;
|
|
1129
|
+
--message-padding-y: 0.5rem;
|
|
1130
|
+
|
|
1131
|
+
/* Input area variables */
|
|
1132
|
+
--input-bg-color: transparent;
|
|
1133
|
+
--input-border-color: #d1d5db;
|
|
1134
|
+
--input-text-color: #111827;
|
|
1135
|
+
--input-placeholder-color: #6b7280;
|
|
1136
|
+
--input-outline-focus-color: #3b82f6;
|
|
1137
|
+
--input-textarea-padding-x: 0.75rem;
|
|
1138
|
+
--input-textarea-padding-y: 0.5rem;
|
|
1139
|
+
|
|
1140
|
+
/* Send button variables */
|
|
1141
|
+
--send-button-bg-color: #3b82f6;
|
|
1142
|
+
--send-button-bg-hover-color: #2563eb;
|
|
1143
|
+
--send-button-text-color: #ffffff;
|
|
1144
|
+
--send-button-bg-disabled-color: #d1d5db;
|
|
1145
|
+
--send-button-text-disabled-color: #6b7280;
|
|
1146
|
+
--send-button-padding-x: 1rem;
|
|
1147
|
+
--send-button-padding-y: 0.5rem;
|
|
1148
|
+
|
|
1149
|
+
/* Loading variables */
|
|
1150
|
+
--loading-text-color: #6b7280;
|
|
1151
|
+
--loading-spinner-track-color: #e5e7eb;
|
|
1152
|
+
--loading-spinner-fill-color: #3b82f6;
|
|
1153
|
+
--loading-spinner-size: 1.25rem;
|
|
1154
|
+
|
|
1155
|
+
/* Typing indicator variables */
|
|
1156
|
+
--typing-progress-bg-color: #ade3ff;
|
|
1157
|
+
|
|
1158
|
+
/* Scrollbar variables */
|
|
1159
|
+
--scrollbar-track-color: #f3f4f6;
|
|
1160
|
+
--scrollbar-thumb-color: #d1d5db;
|
|
1161
|
+
--scrollbar-thumb-hover-color: #9ca3af;
|
|
1162
|
+
|
|
1163
|
+
/* Error variables */
|
|
1164
|
+
--error-text-color: #ef4444;
|
|
1165
|
+
--error-message-padding: 0.5rem;
|
|
1166
|
+
|
|
1167
|
+
/* Markdown code variables */
|
|
1168
|
+
--code-bg-user-color: rgba(59, 130, 246, 0.3);
|
|
1169
|
+
--code-text-user-color: #dbeafe;
|
|
1170
|
+
--code-border-user-color: rgba(59, 130, 246, 0.6);
|
|
1171
|
+
--code-bg-assistant-color: #ffffff;
|
|
1172
|
+
--code-text-assistant-color: #1f2937;
|
|
1173
|
+
--code-border-assistant-color: #d1d5db;
|
|
1174
|
+
|
|
945
1175
|
display: block;
|
|
946
1176
|
position: fixed;
|
|
947
1177
|
right: 20px;
|
|
@@ -961,21 +1191,14 @@ textarea::-webkit-scrollbar {
|
|
|
961
1191
|
}
|
|
962
1192
|
textarea::-webkit-scrollbar-track {
|
|
963
1193
|
border-radius: 0.25rem;
|
|
964
|
-
--
|
|
965
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
1194
|
+
background-color: var(--scrollbar-track-color);
|
|
966
1195
|
}
|
|
967
1196
|
textarea::-webkit-scrollbar-thumb {
|
|
968
1197
|
border-radius: 0.25rem;
|
|
969
|
-
--
|
|
970
|
-
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
|
1198
|
+
background-color: var(--scrollbar-thumb-color);
|
|
971
1199
|
}
|
|
972
1200
|
textarea::-webkit-scrollbar-thumb:hover {
|
|
973
|
-
--
|
|
974
|
-
background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
|
|
975
|
-
}
|
|
976
|
-
.loading-spinner {
|
|
977
|
-
height: 1.25rem;
|
|
978
|
-
width: 1.25rem;
|
|
1201
|
+
background-color: var(--scrollbar-thumb-hover-color);
|
|
979
1202
|
}
|
|
980
1203
|
@keyframes spin {
|
|
981
1204
|
|
|
@@ -987,26 +1210,24 @@ textarea::-webkit-scrollbar-thumb:hover {
|
|
|
987
1210
|
animation: spin 1s linear infinite;
|
|
988
1211
|
border-radius: 9999px;
|
|
989
1212
|
border-width: 2px;
|
|
990
|
-
border-color:
|
|
991
|
-
|
|
992
|
-
|
|
1213
|
+
border-color: var(--loading-spinner-track-color);
|
|
1214
|
+
border-top-color: var(--loading-spinner-fill-color);
|
|
1215
|
+
width: var(--loading-spinner-size, 1.25rem);
|
|
1216
|
+
height: var(--loading-spinner-size, 1.25rem);
|
|
993
1217
|
}
|
|
994
1218
|
.overflow-y-auto::-webkit-scrollbar {
|
|
995
1219
|
width: 0.375rem;
|
|
996
1220
|
}
|
|
997
1221
|
.overflow-y-auto::-webkit-scrollbar-track {
|
|
998
1222
|
border-radius: 0.25rem;
|
|
999
|
-
--
|
|
1000
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
1223
|
+
background-color: var(--scrollbar-track-color);
|
|
1001
1224
|
}
|
|
1002
1225
|
.overflow-y-auto::-webkit-scrollbar-thumb {
|
|
1003
1226
|
border-radius: 0.25rem;
|
|
1004
|
-
--
|
|
1005
|
-
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
|
1227
|
+
background-color: var(--scrollbar-thumb-color);
|
|
1006
1228
|
}
|
|
1007
1229
|
.overflow-y-auto::-webkit-scrollbar-thumb:hover {
|
|
1008
|
-
--
|
|
1009
|
-
background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
|
|
1230
|
+
background-color: var(--scrollbar-thumb-hover-color);
|
|
1010
1231
|
}
|
|
1011
1232
|
/* Markdown content styling for chat messages */
|
|
1012
1233
|
.chat-markdown {
|
|
@@ -1669,7 +1890,7 @@ textarea::-webkit-scrollbar-thumb:hover {
|
|
|
1669
1890
|
margin-top: 0.1rem;
|
|
1670
1891
|
margin-bottom: 0.1rem;
|
|
1671
1892
|
}
|
|
1672
|
-
.
|
|
1893
|
+
.message-bubble-user .chat-markdown {
|
|
1673
1894
|
--tw-prose-body: var(--tw-prose-invert-body);
|
|
1674
1895
|
--tw-prose-headings: var(--tw-prose-invert-headings);
|
|
1675
1896
|
--tw-prose-lead: var(--tw-prose-invert-lead);
|
|
@@ -1689,85 +1910,22 @@ textarea::-webkit-scrollbar-thumb:hover {
|
|
|
1689
1910
|
--tw-prose-th-borders: var(--tw-prose-invert-th-borders);
|
|
1690
1911
|
--tw-prose-td-borders: var(--tw-prose-invert-td-borders);
|
|
1691
1912
|
}
|
|
1692
|
-
.
|
|
1693
|
-
background-color:
|
|
1694
|
-
--
|
|
1695
|
-
color: rgb(239 246 255 / var(--tw-text-opacity, 1));
|
|
1913
|
+
.message-bubble-user .chat-markdown code {
|
|
1914
|
+
background-color: var(--code-bg-user-color);
|
|
1915
|
+
color: var(--code-text-user-color);
|
|
1696
1916
|
}
|
|
1697
|
-
.
|
|
1698
|
-
--
|
|
1699
|
-
border
|
|
1700
|
-
background-color: rgb(96 165 250 / 0.5);
|
|
1917
|
+
.message-bubble-user .chat-markdown pre {
|
|
1918
|
+
background-color: var(--code-bg-user-color);
|
|
1919
|
+
border: 1px solid var(--code-border-user-color);
|
|
1701
1920
|
}
|
|
1702
|
-
.
|
|
1703
|
-
|
|
1704
|
-
--
|
|
1705
|
-
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
1706
|
-
--tw-bg-opacity: 1;
|
|
1707
|
-
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
|
1921
|
+
.message-bubble-assistant .chat-markdown code {
|
|
1922
|
+
background-color: var(--code-bg-assistant-color);
|
|
1923
|
+
color: var(--code-text-assistant-color);
|
|
1708
1924
|
}
|
|
1709
|
-
.
|
|
1710
|
-
|
|
1711
|
-
--
|
|
1712
|
-
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
1713
|
-
--tw-bg-opacity: 1;
|
|
1714
|
-
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
|
1925
|
+
.message-bubble-assistant .chat-markdown pre {
|
|
1926
|
+
background-color: var(--code-bg-assistant-color);
|
|
1927
|
+
border: 1px solid var(--code-border-assistant-color);
|
|
1715
1928
|
}
|
|
1716
1929
|
.loading:after {
|
|
1717
1930
|
content: ' .';
|
|
1718
1931
|
}
|
|
1719
|
-
.hover\:bg-blue-600:hover {
|
|
1720
|
-
--tw-bg-opacity: 1;
|
|
1721
|
-
background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
|
|
1722
|
-
}
|
|
1723
|
-
.hover\:bg-gray-100:hover {
|
|
1724
|
-
--tw-bg-opacity: 1;
|
|
1725
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
1726
|
-
}
|
|
1727
|
-
.hover\:no-underline:hover {
|
|
1728
|
-
text-decoration-line: none;
|
|
1729
|
-
}
|
|
1730
|
-
.focus\:border-transparent:focus {
|
|
1731
|
-
border-color: transparent;
|
|
1732
|
-
}
|
|
1733
|
-
.focus\:outline-none:focus {
|
|
1734
|
-
outline: 2px solid transparent;
|
|
1735
|
-
outline-offset: 2px;
|
|
1736
|
-
}
|
|
1737
|
-
.focus\:ring-2:focus {
|
|
1738
|
-
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
1739
|
-
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
1740
|
-
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
1741
|
-
}
|
|
1742
|
-
.focus\:ring-blue-500:focus {
|
|
1743
|
-
--tw-ring-opacity: 1;
|
|
1744
|
-
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
|
|
1745
|
-
}
|
|
1746
|
-
.active\:bg-gray-50:active {
|
|
1747
|
-
--tw-bg-opacity: 1;
|
|
1748
|
-
background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
|
|
1749
|
-
}
|
|
1750
|
-
@media (min-width: 640px) {
|
|
1751
|
-
|
|
1752
|
-
.sm\:block {
|
|
1753
|
-
display: block;
|
|
1754
|
-
}
|
|
1755
|
-
|
|
1756
|
-
.sm\:flex {
|
|
1757
|
-
display: flex;
|
|
1758
|
-
}
|
|
1759
|
-
|
|
1760
|
-
.sm\:hidden {
|
|
1761
|
-
display: none;
|
|
1762
|
-
}
|
|
1763
|
-
|
|
1764
|
-
.sm\:w-\[450px\] {
|
|
1765
|
-
width: 450px;
|
|
1766
|
-
}
|
|
1767
|
-
}
|
|
1768
|
-
@media (min-width: 1024px) {
|
|
1769
|
-
|
|
1770
|
-
.lg\:max-w-md {
|
|
1771
|
-
max-width: 28rem;
|
|
1772
|
-
}
|
|
1773
|
-
}
|