open-chat-studio-widget 0.4.0 → 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 +76 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/open-chat-studio-widget.cjs.entry.js +124 -64
- 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/heroicons.js +6 -6
- package/dist/collection/components/ocs-chat/heroicons.js.map +1 -1
- package/dist/collection/components/ocs-chat/ocs-chat.css +558 -374
- package/dist/collection/components/ocs-chat/ocs-chat.js +174 -73
- package/dist/collection/components/ocs-chat/ocs-chat.js.map +1 -1
- package/dist/components/open-chat-studio-widget.js +131 -66
- 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 +124 -64
- 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-d47dbd2f.entry.js +3 -0
- package/dist/open-chat-studio-widget/p-d47dbd2f.entry.js.map +1 -0
- package/dist/types/components/ocs-chat/heroicons.d.ts +2 -2
- package/dist/types/components/ocs-chat/ocs-chat.d.ts +26 -6
- package/dist/types/components.d.ts +24 -8
- package/package.json +3 -2
- package/dist/open-chat-studio-widget/p-d2d76b54.entry.js +0 -3
- package/dist/open-chat-studio-widget/p-d2d76b54.entry.js.map +0 -1
|
@@ -500,28 +500,22 @@ 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
|
-
position: fixed;
|
|
523
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));
|
|
524
|
-
border-radius:
|
|
518
|
+
border-radius: 0.5rem;
|
|
525
519
|
border-width: 0px;
|
|
526
520
|
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
527
521
|
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
@@ -536,17 +530,6 @@ video {
|
|
|
536
530
|
--tw-scale-y: 1.05;
|
|
537
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));
|
|
538
532
|
}
|
|
539
|
-
.chat-btn-text:focus,
|
|
540
|
-
.chat-btn-icon:focus {
|
|
541
|
-
outline: 2px solid transparent;
|
|
542
|
-
outline-offset: 2px;
|
|
543
|
-
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
544
|
-
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
545
|
-
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
546
|
-
--tw-ring-opacity: 1;
|
|
547
|
-
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
|
|
548
|
-
--tw-ring-offset-width: 2px;
|
|
549
|
-
}
|
|
550
533
|
.chat-btn-text,
|
|
551
534
|
.chat-btn-icon {
|
|
552
535
|
background-color: var(--button-background-color, white);
|
|
@@ -556,353 +539,643 @@ video {
|
|
|
556
539
|
.chat-btn-text {
|
|
557
540
|
display: flex;
|
|
558
541
|
align-items: center;
|
|
559
|
-
gap:
|
|
560
|
-
|
|
561
|
-
padding-right: 1rem;
|
|
562
|
-
padding-top: 0.75rem;
|
|
563
|
-
padding-bottom: 0.75rem;
|
|
542
|
+
gap: 8px;
|
|
543
|
+
padding: var(--button-padding, 0.75rem);
|
|
564
544
|
color: var(--button-text-color, #111827);
|
|
565
|
-
min-height: 56px;
|
|
566
545
|
}
|
|
567
546
|
.chat-btn-text:hover {
|
|
568
547
|
color: var(--button-text-color-hover, #1d4ed8);
|
|
569
548
|
}
|
|
570
549
|
.chat-btn-text span {
|
|
571
550
|
white-space: nowrap;
|
|
572
|
-
font-size: 0.875rem;
|
|
573
|
-
line-height: 1.25rem;
|
|
574
551
|
font-weight: 500;
|
|
552
|
+
font-size: var(--button-font-size);
|
|
575
553
|
}
|
|
576
554
|
.chat-btn-text img {
|
|
577
|
-
height: 1.5rem;
|
|
578
|
-
width: 1.5rem;
|
|
579
555
|
flex-shrink: 0;
|
|
580
556
|
-o-object-fit: contain;
|
|
581
557
|
object-fit: contain;
|
|
558
|
+
width: var(--button-icon-width, 1.5rem);
|
|
559
|
+
height: var(--button-icon-height, 1.5rem);
|
|
582
560
|
}
|
|
583
561
|
/* Icon-only button */
|
|
584
562
|
.chat-btn-icon {
|
|
585
|
-
|
|
563
|
+
padding: var(--button-padding, 0.75rem);
|
|
586
564
|
width: 56px;
|
|
587
565
|
height: 56px;
|
|
588
|
-
}
|
|
566
|
+
}
|
|
589
567
|
.chat-btn-icon img {
|
|
590
568
|
height: 100%;
|
|
591
569
|
width: 100%;
|
|
592
570
|
-o-object-fit: contain;
|
|
593
571
|
object-fit: contain;
|
|
594
572
|
}
|
|
595
|
-
.chat-btn-text,
|
|
596
|
-
.chat-btn-icon {
|
|
597
|
-
border-radius: 0.5rem; /* Default square shape */
|
|
598
|
-
}
|
|
599
573
|
.chat-btn-text.round,
|
|
600
574
|
.chat-btn-icon.round {
|
|
601
575
|
border-radius: 9999px;
|
|
602
576
|
}
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
.
|
|
610
|
-
position: static;
|
|
611
|
-
}
|
|
612
|
-
.fixed {
|
|
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 {
|
|
613
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);
|
|
614
604
|
}
|
|
615
|
-
.
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
.
|
|
619
|
-
|
|
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;
|
|
620
614
|
}
|
|
621
|
-
|
|
622
|
-
|
|
615
|
+
@media (min-width: 640px) {
|
|
616
|
+
|
|
617
|
+
.chat-window-normal {
|
|
618
|
+
width: 450px;
|
|
619
|
+
}
|
|
623
620
|
}
|
|
624
|
-
.
|
|
625
|
-
|
|
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);
|
|
626
630
|
}
|
|
627
|
-
.
|
|
628
|
-
|
|
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;
|
|
629
638
|
}
|
|
630
|
-
|
|
639
|
+
/* Header/drag bar classes */
|
|
640
|
+
.chat-header {
|
|
631
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);
|
|
632
650
|
}
|
|
633
|
-
.
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
.size-6 {
|
|
640
|
-
width: 1.5rem;
|
|
641
|
-
height: 1.5rem;
|
|
651
|
+
.chat-header:hover,
|
|
652
|
+
.chat-header:active {
|
|
653
|
+
background-color: var(--header-bg-hover-color);
|
|
654
|
+
}
|
|
655
|
+
.chat-header-draggable {
|
|
656
|
+
cursor: grab;
|
|
642
657
|
}
|
|
643
|
-
.
|
|
644
|
-
|
|
658
|
+
.chat-header-dragging {
|
|
659
|
+
cursor: grabbing;
|
|
645
660
|
}
|
|
646
|
-
.
|
|
647
|
-
|
|
661
|
+
.drag-indicator {
|
|
662
|
+
display: none;
|
|
648
663
|
}
|
|
649
|
-
|
|
650
|
-
|
|
664
|
+
@media (min-width: 640px) {
|
|
665
|
+
|
|
666
|
+
.drag-indicator {
|
|
667
|
+
display: flex;
|
|
668
|
+
}
|
|
651
669
|
}
|
|
652
|
-
.
|
|
653
|
-
|
|
670
|
+
.drag-dots {
|
|
671
|
+
pointer-events: none;
|
|
672
|
+
margin-left: 2px;
|
|
673
|
+
display: flex;
|
|
674
|
+
gap: 2px;
|
|
654
675
|
}
|
|
655
|
-
|
|
656
|
-
|
|
676
|
+
@media (min-width: 640px) {
|
|
677
|
+
|
|
678
|
+
.drag-spacer {
|
|
679
|
+
display: none;
|
|
680
|
+
}
|
|
657
681
|
}
|
|
658
|
-
.
|
|
659
|
-
|
|
682
|
+
.header-buttons {
|
|
683
|
+
display: flex;
|
|
684
|
+
align-items: center;
|
|
685
|
+
gap: 4px;
|
|
660
686
|
}
|
|
661
|
-
|
|
662
|
-
|
|
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);
|
|
663
695
|
}
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
0%, 100% {
|
|
667
|
-
transform: translateY(-25%);
|
|
668
|
-
animation-timing-function: cubic-bezier(0.8,0,1,1);
|
|
696
|
+
.header-button:hover {
|
|
697
|
+
background-color: var(--header-button-bg-hover-color);
|
|
669
698
|
}
|
|
699
|
+
.fullscreen-button {
|
|
700
|
+
display: none;
|
|
701
|
+
}
|
|
702
|
+
@media (min-width: 640px) {
|
|
670
703
|
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
animation-timing-function: cubic-bezier(0,0,0.2,1);
|
|
704
|
+
.fullscreen-button {
|
|
705
|
+
display: block;
|
|
674
706
|
}
|
|
675
707
|
}
|
|
676
|
-
|
|
677
|
-
|
|
708
|
+
/* Chat content area */
|
|
709
|
+
.chat-content {
|
|
710
|
+
display: flex;
|
|
711
|
+
flex-grow: 1;
|
|
712
|
+
flex-direction: column;
|
|
713
|
+
overflow: hidden;
|
|
678
714
|
}
|
|
679
|
-
|
|
680
|
-
|
|
715
|
+
/* Loading state */
|
|
716
|
+
.loading-container {
|
|
717
|
+
display: flex;
|
|
718
|
+
flex-grow: 1;
|
|
719
|
+
align-items: center;
|
|
720
|
+
justify-content: center;
|
|
681
721
|
}
|
|
682
|
-
.
|
|
683
|
-
|
|
722
|
+
.loading-text {
|
|
723
|
+
margin-left: 2px;
|
|
724
|
+
color: var(--loading-text-color);
|
|
725
|
+
}
|
|
726
|
+
/* Messages container */
|
|
727
|
+
.messages-container {
|
|
728
|
+
flex-grow: 1;
|
|
684
729
|
}
|
|
685
|
-
.
|
|
686
|
-
|
|
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));
|
|
687
734
|
}
|
|
688
|
-
.
|
|
689
|
-
|
|
735
|
+
.messages-container {
|
|
736
|
+
overflow-y: auto;
|
|
690
737
|
}
|
|
691
|
-
.
|
|
692
|
-
|
|
738
|
+
.messages-container::-webkit-scrollbar {
|
|
739
|
+
width: 0.375rem;
|
|
693
740
|
}
|
|
694
|
-
.
|
|
695
|
-
|
|
741
|
+
.messages-container::-webkit-scrollbar-track {
|
|
742
|
+
border-radius: 0.25rem;
|
|
743
|
+
background-color: var(--scrollbar-track-color);
|
|
696
744
|
}
|
|
697
|
-
.
|
|
698
|
-
|
|
745
|
+
.messages-container::-webkit-scrollbar-thumb {
|
|
746
|
+
border-radius: 0.25rem;
|
|
747
|
+
background-color: var(--scrollbar-thumb-color);
|
|
699
748
|
}
|
|
700
|
-
.
|
|
701
|
-
|
|
749
|
+
.messages-container::-webkit-scrollbar-thumb:hover {
|
|
750
|
+
background-color: var(--scrollbar-thumb-hover-color);
|
|
702
751
|
}
|
|
703
|
-
.
|
|
752
|
+
.messages-container {
|
|
753
|
+
padding: var(--container-padding, 1rem);
|
|
754
|
+
}
|
|
755
|
+
/* Message bubbles */
|
|
756
|
+
.message-row {
|
|
757
|
+
display: flex;
|
|
758
|
+
}
|
|
759
|
+
.message-row-user {
|
|
704
760
|
justify-content: flex-end;
|
|
705
761
|
}
|
|
706
|
-
.
|
|
707
|
-
justify-content:
|
|
762
|
+
.message-row-assistant {
|
|
763
|
+
justify-content: flex-start;
|
|
708
764
|
}
|
|
709
|
-
.
|
|
710
|
-
|
|
765
|
+
.message-bubble {
|
|
766
|
+
max-width: 20rem;
|
|
767
|
+
border-radius: 0.5rem;
|
|
711
768
|
}
|
|
712
|
-
|
|
713
|
-
|
|
769
|
+
@media (min-width: 1024px) {
|
|
770
|
+
|
|
771
|
+
.message-bubble {
|
|
772
|
+
max-width: 28rem;
|
|
773
|
+
}
|
|
714
774
|
}
|
|
715
|
-
.
|
|
716
|
-
|
|
775
|
+
.message-bubble {
|
|
776
|
+
padding: var(--message-padding-y, 0.5rem) var(--message-padding-x, 1rem);
|
|
777
|
+
}
|
|
778
|
+
.message-bubble-user {
|
|
779
|
+
background-color: var(--message-user-bg-color);
|
|
780
|
+
color: var(--message-user-text-color);
|
|
781
|
+
}
|
|
782
|
+
.message-bubble-assistant {
|
|
783
|
+
background-color: var(--message-assistant-bg-color);
|
|
784
|
+
color: var(--message-assistant-text-color);
|
|
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);
|
|
717
794
|
}
|
|
718
|
-
.
|
|
719
|
-
|
|
795
|
+
.message-attachments {
|
|
796
|
+
margin-top: 8px;
|
|
720
797
|
}
|
|
721
|
-
.
|
|
798
|
+
.message-attachments > :not([hidden]) ~ :not([hidden]) {
|
|
722
799
|
--tw-space-y-reverse: 0;
|
|
723
800
|
margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
|
|
724
801
|
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
|
|
725
802
|
}
|
|
726
|
-
.
|
|
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]) {
|
|
727
812
|
--tw-space-y-reverse: 0;
|
|
728
813
|
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
|
|
729
814
|
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
|
|
730
815
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
}
|
|
736
|
-
.overflow-hidden {
|
|
816
|
+
/* Typing indicator */
|
|
817
|
+
.typing-indicator {
|
|
818
|
+
height: 0.375rem;
|
|
819
|
+
width: 100%;
|
|
737
820
|
overflow: hidden;
|
|
738
821
|
}
|
|
739
|
-
.
|
|
740
|
-
|
|
822
|
+
.typing-progress {
|
|
823
|
+
height: 100%;
|
|
824
|
+
width: 100%;
|
|
825
|
+
transform-origin: 0% 50%;
|
|
741
826
|
}
|
|
742
|
-
|
|
743
|
-
|
|
827
|
+
@keyframes progress {
|
|
828
|
+
|
|
829
|
+
0% {
|
|
830
|
+
transform: translateX(0) scaleX(0);
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
10% {
|
|
834
|
+
transform: translateX(0) scaleX(0.3);
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
50% {
|
|
838
|
+
transform: translateX(100%) scaleX(0.3);
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
90% {
|
|
842
|
+
transform: translateX(0) scaleX(0.3);
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
100% {
|
|
846
|
+
transform: translateX(0) scaleX(0);
|
|
847
|
+
}
|
|
744
848
|
}
|
|
745
|
-
.
|
|
849
|
+
.typing-progress {
|
|
850
|
+
animation: progress 3s infinite linear;
|
|
746
851
|
border-radius: 0.5rem;
|
|
852
|
+
background-color: var(--typing-progress-bg-color);
|
|
747
853
|
}
|
|
748
|
-
.
|
|
749
|
-
|
|
854
|
+
.typing-text {
|
|
855
|
+
width: 100%;
|
|
856
|
+
justify-content: center;
|
|
857
|
+
opacity: 0.7;
|
|
858
|
+
font-size: var(--chat-window-font-size-sm);
|
|
750
859
|
}
|
|
751
|
-
|
|
752
|
-
|
|
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
|
+
}
|
|
753
879
|
}
|
|
754
|
-
.
|
|
755
|
-
|
|
880
|
+
.typing-dots {
|
|
881
|
+
animation: dots 1s steps(5, end) infinite;
|
|
756
882
|
}
|
|
757
|
-
.
|
|
758
|
-
|
|
883
|
+
.typing-dots:after {
|
|
884
|
+
content: ' .';
|
|
759
885
|
}
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
886
|
+
/* Starter questions */
|
|
887
|
+
.starter-questions > :not([hidden]) ~ :not([hidden]) {
|
|
888
|
+
--tw-space-y-reverse: 0;
|
|
889
|
+
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
|
|
890
|
+
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
|
|
763
891
|
}
|
|
764
|
-
.
|
|
765
|
-
|
|
766
|
-
|
|
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;
|
|
899
|
+
}
|
|
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;
|
|
767
910
|
}
|
|
768
|
-
.
|
|
911
|
+
.message-textarea {
|
|
912
|
+
flex-grow: 1;
|
|
913
|
+
resize: none;
|
|
914
|
+
border-radius: 0.375rem;
|
|
915
|
+
border-width: 1px;
|
|
769
916
|
--tw-border-opacity: 1;
|
|
770
917
|
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
771
918
|
}
|
|
772
|
-
.
|
|
773
|
-
|
|
774
|
-
background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
|
|
775
|
-
}
|
|
776
|
-
.bg-gray-100 {
|
|
777
|
-
--tw-bg-opacity: 1;
|
|
778
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
779
|
-
}
|
|
780
|
-
.bg-gray-200 {
|
|
781
|
-
--tw-bg-opacity: 1;
|
|
782
|
-
background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
|
|
783
|
-
}
|
|
784
|
-
.bg-gray-300 {
|
|
785
|
-
--tw-bg-opacity: 1;
|
|
786
|
-
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
|
787
|
-
}
|
|
788
|
-
.bg-gray-400 {
|
|
789
|
-
--tw-bg-opacity: 1;
|
|
790
|
-
background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
|
|
919
|
+
.message-textarea:focus {
|
|
920
|
+
outline-color: #93c5fd;
|
|
791
921
|
}
|
|
792
|
-
.
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
}
|
|
809
|
-
.px-3 {
|
|
810
|
-
padding-left: 0.75rem;
|
|
811
|
-
padding-right: 0.75rem;
|
|
812
|
-
}
|
|
813
|
-
.px-4 {
|
|
814
|
-
padding-left: 1rem;
|
|
815
|
-
padding-right: 1rem;
|
|
816
|
-
}
|
|
817
|
-
.py-2 {
|
|
818
|
-
padding-top: 0.5rem;
|
|
819
|
-
padding-bottom: 0.5rem;
|
|
820
|
-
}
|
|
821
|
-
.text-sm {
|
|
822
|
-
font-size: 0.875rem;
|
|
823
|
-
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);
|
|
824
938
|
}
|
|
825
|
-
.
|
|
826
|
-
|
|
827
|
-
|
|
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);
|
|
828
950
|
}
|
|
829
|
-
.
|
|
830
|
-
|
|
951
|
+
.visible {
|
|
952
|
+
visibility: visible;
|
|
831
953
|
}
|
|
832
|
-
.
|
|
833
|
-
|
|
834
|
-
color: rgb(107 114 128 / var(--tw-text-opacity, 1));
|
|
954
|
+
.static {
|
|
955
|
+
position: static;
|
|
835
956
|
}
|
|
836
|
-
.
|
|
837
|
-
|
|
838
|
-
color: rgb(75 85 99 / var(--tw-text-opacity, 1));
|
|
957
|
+
.relative {
|
|
958
|
+
position: relative;
|
|
839
959
|
}
|
|
840
|
-
.
|
|
841
|
-
|
|
842
|
-
color: rgb(31 41 55 / var(--tw-text-opacity, 1));
|
|
960
|
+
.table {
|
|
961
|
+
display: table;
|
|
843
962
|
}
|
|
844
|
-
.
|
|
845
|
-
|
|
846
|
-
|
|
963
|
+
.size-6 {
|
|
964
|
+
width: 1.5rem;
|
|
965
|
+
height: 1.5rem;
|
|
847
966
|
}
|
|
848
|
-
.
|
|
849
|
-
|
|
850
|
-
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
|
|
967
|
+
.h-5\/6 {
|
|
968
|
+
height: 83.333333%;
|
|
851
969
|
}
|
|
852
|
-
.
|
|
853
|
-
|
|
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));
|
|
854
972
|
}
|
|
855
|
-
.
|
|
856
|
-
|
|
973
|
+
.resize {
|
|
974
|
+
resize: both;
|
|
857
975
|
}
|
|
858
976
|
.shadow {
|
|
859
977
|
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
860
978
|
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
|
|
861
979
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
862
980
|
}
|
|
863
|
-
.shadow-2xl {
|
|
864
|
-
--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
|
|
865
|
-
--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
|
|
866
|
-
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
867
|
-
}
|
|
868
|
-
.shadow-lg {
|
|
869
|
-
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
870
|
-
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
871
|
-
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
872
|
-
}
|
|
873
|
-
.transition-colors {
|
|
874
|
-
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
875
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
876
|
-
transition-duration: 150ms;
|
|
877
|
-
}
|
|
878
|
-
.transition-shadow {
|
|
879
|
-
transition-property: box-shadow;
|
|
880
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
881
|
-
transition-duration: 150ms;
|
|
882
|
-
}
|
|
883
|
-
.duration-150 {
|
|
884
|
-
transition-duration: 150ms;
|
|
885
|
-
}
|
|
886
|
-
.duration-200 {
|
|
887
|
-
transition-duration: 200ms;
|
|
888
|
-
}
|
|
889
981
|
:host {
|
|
890
982
|
/**
|
|
891
|
-
*
|
|
892
|
-
* @prop --
|
|
893
|
-
* @prop --
|
|
894
|
-
*
|
|
895
|
-
*
|
|
896
|
-
* @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)
|
|
897
1078
|
*/
|
|
898
|
-
|
|
1079
|
+
/* Global variables */
|
|
1080
|
+
--chat-z-index: 50;
|
|
1081
|
+
--container-padding: 1rem;
|
|
1082
|
+
|
|
1083
|
+
/* Button variables */
|
|
1084
|
+
--button-background-color: #ffffff;
|
|
899
1085
|
--button-background-color-hover: #f3f4f6;
|
|
900
1086
|
--button-text-color: #111827;
|
|
901
1087
|
--button-text-color-hover: #1d4ed8;
|
|
902
1088
|
--button-border-color: #6b7280;
|
|
903
1089
|
--button-border-color-hover: #374151;
|
|
904
|
-
--
|
|
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
|
+
|
|
905
1175
|
display: block;
|
|
1176
|
+
position: fixed;
|
|
1177
|
+
right: 20px;
|
|
1178
|
+
bottom: 20px;
|
|
906
1179
|
}
|
|
907
1180
|
#ocs-chat-window {
|
|
908
1181
|
z-index: var(--chat-z-index);
|
|
@@ -918,21 +1191,14 @@ textarea::-webkit-scrollbar {
|
|
|
918
1191
|
}
|
|
919
1192
|
textarea::-webkit-scrollbar-track {
|
|
920
1193
|
border-radius: 0.25rem;
|
|
921
|
-
--
|
|
922
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
1194
|
+
background-color: var(--scrollbar-track-color);
|
|
923
1195
|
}
|
|
924
1196
|
textarea::-webkit-scrollbar-thumb {
|
|
925
1197
|
border-radius: 0.25rem;
|
|
926
|
-
--
|
|
927
|
-
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
|
1198
|
+
background-color: var(--scrollbar-thumb-color);
|
|
928
1199
|
}
|
|
929
1200
|
textarea::-webkit-scrollbar-thumb:hover {
|
|
930
|
-
--
|
|
931
|
-
background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
|
|
932
|
-
}
|
|
933
|
-
.loading-spinner {
|
|
934
|
-
height: 1.25rem;
|
|
935
|
-
width: 1.25rem;
|
|
1201
|
+
background-color: var(--scrollbar-thumb-hover-color);
|
|
936
1202
|
}
|
|
937
1203
|
@keyframes spin {
|
|
938
1204
|
|
|
@@ -944,26 +1210,24 @@ textarea::-webkit-scrollbar-thumb:hover {
|
|
|
944
1210
|
animation: spin 1s linear infinite;
|
|
945
1211
|
border-radius: 9999px;
|
|
946
1212
|
border-width: 2px;
|
|
947
|
-
border-color:
|
|
948
|
-
|
|
949
|
-
|
|
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);
|
|
950
1217
|
}
|
|
951
1218
|
.overflow-y-auto::-webkit-scrollbar {
|
|
952
1219
|
width: 0.375rem;
|
|
953
1220
|
}
|
|
954
1221
|
.overflow-y-auto::-webkit-scrollbar-track {
|
|
955
1222
|
border-radius: 0.25rem;
|
|
956
|
-
--
|
|
957
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
1223
|
+
background-color: var(--scrollbar-track-color);
|
|
958
1224
|
}
|
|
959
1225
|
.overflow-y-auto::-webkit-scrollbar-thumb {
|
|
960
1226
|
border-radius: 0.25rem;
|
|
961
|
-
--
|
|
962
|
-
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
|
1227
|
+
background-color: var(--scrollbar-thumb-color);
|
|
963
1228
|
}
|
|
964
1229
|
.overflow-y-auto::-webkit-scrollbar-thumb:hover {
|
|
965
|
-
--
|
|
966
|
-
background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
|
|
1230
|
+
background-color: var(--scrollbar-thumb-hover-color);
|
|
967
1231
|
}
|
|
968
1232
|
/* Markdown content styling for chat messages */
|
|
969
1233
|
.chat-markdown {
|
|
@@ -1626,7 +1890,7 @@ textarea::-webkit-scrollbar-thumb:hover {
|
|
|
1626
1890
|
margin-top: 0.1rem;
|
|
1627
1891
|
margin-bottom: 0.1rem;
|
|
1628
1892
|
}
|
|
1629
|
-
.
|
|
1893
|
+
.message-bubble-user .chat-markdown {
|
|
1630
1894
|
--tw-prose-body: var(--tw-prose-invert-body);
|
|
1631
1895
|
--tw-prose-headings: var(--tw-prose-invert-headings);
|
|
1632
1896
|
--tw-prose-lead: var(--tw-prose-invert-lead);
|
|
@@ -1646,102 +1910,22 @@ textarea::-webkit-scrollbar-thumb:hover {
|
|
|
1646
1910
|
--tw-prose-th-borders: var(--tw-prose-invert-th-borders);
|
|
1647
1911
|
--tw-prose-td-borders: var(--tw-prose-invert-td-borders);
|
|
1648
1912
|
}
|
|
1649
|
-
.
|
|
1650
|
-
background-color:
|
|
1651
|
-
--
|
|
1652
|
-
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);
|
|
1653
1916
|
}
|
|
1654
|
-
.
|
|
1655
|
-
--
|
|
1656
|
-
border
|
|
1657
|
-
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);
|
|
1658
1920
|
}
|
|
1659
|
-
.
|
|
1660
|
-
|
|
1661
|
-
--
|
|
1662
|
-
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
1663
|
-
--tw-bg-opacity: 1;
|
|
1664
|
-
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
|
1665
|
-
}
|
|
1666
|
-
.bg-gray-200 .chat-markdown pre {
|
|
1667
|
-
border-width: 1px;
|
|
1668
|
-
--tw-border-opacity: 1;
|
|
1669
|
-
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
1670
|
-
--tw-bg-opacity: 1;
|
|
1671
|
-
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
|
1672
|
-
}
|
|
1673
|
-
@media (max-width: 640px) {
|
|
1674
|
-
.max-w-xs {
|
|
1675
|
-
max-width: 85%;
|
|
1676
|
-
}
|
|
1677
|
-
|
|
1678
|
-
.chat-btn-icon {
|
|
1679
|
-
width: 56px;
|
|
1680
|
-
height: 56px;
|
|
1681
|
-
}
|
|
1682
|
-
|
|
1683
|
-
.chat-btn-text {
|
|
1684
|
-
padding-left: 0.75rem;
|
|
1685
|
-
padding-right: 0.75rem;
|
|
1686
|
-
padding-top: 0.5rem;
|
|
1687
|
-
padding-bottom: 0.5rem;
|
|
1688
|
-
min-height: 52px;
|
|
1689
|
-
}
|
|
1690
|
-
|
|
1691
|
-
.chat-btn-text img {
|
|
1692
|
-
height: 1.25rem;
|
|
1693
|
-
width: 1.25rem;
|
|
1694
|
-
}
|
|
1695
|
-
|
|
1696
|
-
.chat-btn-text span {
|
|
1697
|
-
font-size: 0.75rem;
|
|
1698
|
-
line-height: 1rem;
|
|
1699
|
-
}
|
|
1700
|
-
}
|
|
1701
|
-
.hover\:bg-blue-600:hover {
|
|
1702
|
-
--tw-bg-opacity: 1;
|
|
1703
|
-
background-color: rgb(37 99 235 / 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);
|
|
1704
1924
|
}
|
|
1705
|
-
.
|
|
1706
|
-
--
|
|
1707
|
-
|
|
1925
|
+
.message-bubble-assistant .chat-markdown pre {
|
|
1926
|
+
background-color: var(--code-bg-assistant-color);
|
|
1927
|
+
border: 1px solid var(--code-border-assistant-color);
|
|
1708
1928
|
}
|
|
1709
|
-
.
|
|
1710
|
-
|
|
1711
|
-
}
|
|
1712
|
-
.focus\:border-transparent:focus {
|
|
1713
|
-
border-color: transparent;
|
|
1714
|
-
}
|
|
1715
|
-
.focus\:outline-none:focus {
|
|
1716
|
-
outline: 2px solid transparent;
|
|
1717
|
-
outline-offset: 2px;
|
|
1718
|
-
}
|
|
1719
|
-
.focus\:ring-2:focus {
|
|
1720
|
-
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
1721
|
-
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
1722
|
-
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
|
1723
|
-
}
|
|
1724
|
-
.focus\:ring-blue-500:focus {
|
|
1725
|
-
--tw-ring-opacity: 1;
|
|
1726
|
-
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
|
|
1727
|
-
}
|
|
1728
|
-
.active\:bg-gray-50:active {
|
|
1729
|
-
--tw-bg-opacity: 1;
|
|
1730
|
-
background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
|
|
1731
|
-
}
|
|
1732
|
-
@media (min-width: 640px) {
|
|
1733
|
-
|
|
1734
|
-
.sm\:flex {
|
|
1735
|
-
display: flex;
|
|
1736
|
-
}
|
|
1737
|
-
|
|
1738
|
-
.sm\:w-\[450px\] {
|
|
1739
|
-
width: 450px;
|
|
1740
|
-
}
|
|
1741
|
-
}
|
|
1742
|
-
@media (min-width: 1024px) {
|
|
1743
|
-
|
|
1744
|
-
.lg\:max-w-md {
|
|
1745
|
-
max-width: 28rem;
|
|
1746
|
-
}
|
|
1929
|
+
.loading:after {
|
|
1930
|
+
content: ' .';
|
|
1747
1931
|
}
|