open-chat-studio-widget 0.3.1 → 0.4.1

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.
Files changed (39) hide show
  1. package/README.md +14 -7
  2. package/dist/cjs/{index-d39b7c53.js → index-b700441a.js} +83 -4
  3. package/dist/cjs/index-b700441a.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/open-chat-studio-widget.cjs.entry.js +4895 -61
  6. package/dist/cjs/open-chat-studio-widget.cjs.entry.js.map +1 -1
  7. package/dist/cjs/open-chat-studio-widget.cjs.js +2 -2
  8. package/dist/collection/components/ocs-chat/heroicons.js +10 -16
  9. package/dist/collection/components/ocs-chat/heroicons.js.map +1 -1
  10. package/dist/collection/components/ocs-chat/ocs-chat.css +1121 -74
  11. package/dist/collection/components/ocs-chat/ocs-chat.js +802 -50
  12. package/dist/collection/components/ocs-chat/ocs-chat.js.map +1 -1
  13. package/dist/collection/utils/markdown.js +64 -0
  14. package/dist/collection/utils/markdown.js.map +1 -0
  15. package/dist/components/open-chat-studio-widget.js +4921 -64
  16. package/dist/components/open-chat-studio-widget.js.map +1 -1
  17. package/dist/esm/{index-b73ebc69.js → index-b188b488.js} +83 -4
  18. package/dist/esm/index-b188b488.js.map +1 -0
  19. package/dist/esm/loader.js +3 -3
  20. package/dist/esm/open-chat-studio-widget.entry.js +4895 -61
  21. package/dist/esm/open-chat-studio-widget.entry.js.map +1 -1
  22. package/dist/esm/open-chat-studio-widget.js +3 -3
  23. package/dist/open-chat-studio-widget/open-chat-studio-widget.esm.js +1 -1
  24. package/dist/open-chat-studio-widget/open-chat-studio-widget.esm.js.map +1 -1
  25. package/dist/open-chat-studio-widget/p-a0fbe1b4.js +3 -0
  26. package/dist/open-chat-studio-widget/p-a0fbe1b4.js.map +1 -0
  27. package/dist/open-chat-studio-widget/p-eb89e6d7.entry.js +3 -0
  28. package/dist/open-chat-studio-widget/p-eb89e6d7.entry.js.map +1 -0
  29. package/dist/types/components/ocs-chat/heroicons.d.ts +4 -6
  30. package/dist/types/components/ocs-chat/ocs-chat.d.ts +142 -7
  31. package/dist/types/components.d.ts +65 -9
  32. package/dist/types/utils/markdown.d.ts +6 -0
  33. package/package.json +4 -3
  34. package/dist/cjs/index-d39b7c53.js.map +0 -1
  35. package/dist/esm/index-b73ebc69.js.map +0 -1
  36. package/dist/open-chat-studio-widget/p-4cdc34c1.js +0 -3
  37. package/dist/open-chat-studio-widget/p-4cdc34c1.js.map +0 -1
  38. package/dist/open-chat-studio-widget/p-c4c7c404.entry.js +0 -2
  39. package/dist/open-chat-studio-widget/p-c4c7c404.entry.js.map +0 -1
@@ -499,57 +499,140 @@ video {
499
499
  [hidden]:where(:not([hidden="until-found"])) {
500
500
  display: none;
501
501
  }
502
- .btn {
503
- margin-inline-end: 0.5rem;
504
- margin-bottom: 0.5rem;
502
+ .starter-question {
503
+ margin-left: 3rem;
505
504
  border-radius: 0.5rem;
506
505
  border-width: 1px;
507
- padding-top: 0.625rem;
508
- padding-bottom: 0.625rem;
509
- padding-left: 1.25rem;
510
- padding-right: 1.25rem;
511
- font-size: 0.875rem;
512
- line-height: 1.25rem;
513
- font-weight: 500;
506
+ --tw-border-opacity: 1;
507
+ border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
508
+ padding: 0.75rem;
509
+ text-align: left;
510
+ --tw-text-opacity: 1;
511
+ color: rgb(37 99 235 / var(--tw-text-opacity, 1));
512
+ transition-duration: 200ms;
513
+ }
514
+ .starter-question:hover {
515
+ --tw-border-opacity: 1;
516
+ border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
517
+ --tw-bg-opacity: 1;
518
+ background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
519
+ }
520
+ .chat-btn-text,
521
+ .chat-btn-icon {
522
+ 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));
523
+ border-radius: 0.5rem;
524
+ border-width: 0px;
525
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
526
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
527
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
528
+ transition-property: all;
529
+ transition-duration: 200ms;
530
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
531
+ }
532
+ .chat-btn-text:hover,
533
+ .chat-btn-icon:hover {
534
+ --tw-scale-x: 1.05;
535
+ --tw-scale-y: 1.05;
536
+ 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));
514
537
  }
515
- .btn:focus {
538
+ .chat-btn-text:focus,
539
+ .chat-btn-icon:focus {
516
540
  outline: 2px solid transparent;
517
541
  outline-offset: 2px;
518
- }
519
- .btn {
520
- background-color: var(--button-background-color);
521
- color: var(--button-text-color);
522
- border-color: var(--button-border-color);
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
+ .chat-btn-text,
550
+ .chat-btn-icon {
551
+ background-color: var(--button-background-color, white);
552
+ z-index: var(--chat-z-index, 50);
523
553
  }
524
- .btn:hover {
525
- background-color: var(--button-background-color-hover);
526
- color: var(--button-text-color-hover);
527
- border-color: var(--button-border-color-hover);
554
+ /* Button with text and icon */
555
+ .chat-btn-text {
556
+ display: flex;
557
+ align-items: center;
558
+ gap: 0.5rem;
559
+ padding-left: 0.75rem;
560
+ padding-right: 0.75rem;
561
+ padding-top: 0.75rem;
562
+ padding-bottom: 0.75rem;
563
+ color: var(--button-text-color, #111827);
564
+ }
565
+ .chat-btn-text:hover {
566
+ color: var(--button-text-color-hover, #1d4ed8);
528
567
  }
568
+ .chat-btn-text span {
569
+ white-space: nowrap;
570
+ font-size: 0.875rem;
571
+ line-height: 1.25rem;
572
+ font-weight: 500;
573
+ }
574
+ .chat-btn-text img {
575
+ height: 1.5rem;
576
+ width: 1.5rem;
577
+ flex-shrink: 0;
578
+ -o-object-fit: contain;
579
+ object-fit: contain;
580
+ }
581
+ /* Icon-only button */
582
+ .chat-btn-icon {
583
+ padding: 0.75rem;
584
+ width: 56px;
585
+ height: 56px;
586
+ }
587
+ .chat-btn-icon img {
588
+ height: 100%;
589
+ width: 100%;
590
+ -o-object-fit: contain;
591
+ object-fit: contain;
592
+ }
593
+ .chat-btn-text.round,
594
+ .chat-btn-icon.round {
595
+ border-radius: 9999px;
596
+ }
597
+ .pointer-events-none {
598
+ pointer-events: none;
599
+ }
529
600
  .visible {
530
601
  visibility: visible;
531
602
  }
603
+ .static {
604
+ position: static;
605
+ }
532
606
  .fixed {
533
607
  position: fixed;
534
608
  }
535
- .bottom-0 {
536
- bottom: 0px;
609
+ .relative {
610
+ position: relative;
611
+ }
612
+ .inset-0 {
613
+ inset: 0px;
537
614
  }
538
- .left-0 {
539
- left: 0px;
615
+ .z-\[9999\] {
616
+ z-index: 9999;
540
617
  }
541
- .left-1\/2 {
542
- left: 50%;
618
+ .ml-2 {
619
+ margin-left: 0.5rem;
543
620
  }
544
- .right-0 {
545
- right: 0px;
621
+ .mt-1 {
622
+ margin-top: 0.25rem;
546
623
  }
547
- .top-1\/2 {
548
- top: 50%;
624
+ .mt-2 {
625
+ margin-top: 0.5rem;
626
+ }
627
+ .block {
628
+ display: block;
549
629
  }
550
630
  .flex {
551
631
  display: flex;
552
632
  }
633
+ .table {
634
+ display: table;
635
+ }
553
636
  .hidden {
554
637
  display: none;
555
638
  }
@@ -557,55 +640,162 @@ video {
557
640
  width: 1.5rem;
558
641
  height: 1.5rem;
559
642
  }
560
- .h-3\/5 {
561
- height: 60%;
643
+ .h-1\.5 {
644
+ height: 0.375rem;
562
645
  }
563
646
  .h-5\/6 {
564
647
  height: 83.333333%;
565
648
  }
649
+ .h-full {
650
+ height: 100%;
651
+ }
652
+ .max-h-full {
653
+ max-height: 100%;
654
+ }
566
655
  .w-full {
567
656
  width: 100%;
568
657
  }
658
+ .max-w-screen-lg {
659
+ max-width: 1024px;
660
+ }
661
+ .max-w-xs {
662
+ max-width: 20rem;
663
+ }
569
664
  .flex-grow {
570
665
  flex-grow: 1;
571
666
  }
572
- .-translate-x-1\/2 {
573
- --tw-translate-x: -50%;
574
- 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));
667
+ .origin-left-right {
668
+ transform-origin: 0% 50%;
575
669
  }
576
- .-translate-y-1\/2 {
577
- --tw-translate-y: -50%;
670
+ .transform {
578
671
  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));
579
672
  }
673
+ @keyframes dots {
674
+
675
+ 0%, 20% {
676
+ color: rgba(0,0,0,0);
677
+ text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0);
678
+ }
679
+
680
+ 40% {
681
+ color: black;
682
+ text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0);
683
+ }
684
+
685
+ 60% {
686
+ text-shadow: .25em 0 0 black, .5em 0 0 rgba(0,0,0,0);
687
+ }
688
+
689
+ 80%, 100% {
690
+ text-shadow: .25em 0 0 black, .5em 0 0 black;
691
+ }
692
+ }
693
+ .animate-dots {
694
+ animation: dots 1s steps(5, end) infinite;
695
+ }
696
+ @keyframes progress {
697
+
698
+ 0% {
699
+ transform: translateX(0) scaleX(0);
700
+ }
701
+
702
+ 10% {
703
+ transform: translateX(0) scaleX(0.3);
704
+ }
705
+
706
+ 50% {
707
+ transform: translateX(100%) scaleX(0.3);
708
+ }
709
+
710
+ 90% {
711
+ transform: translateX(0) scaleX(0.3);
712
+ }
713
+
714
+ 100% {
715
+ transform: translateX(0) scaleX(0);
716
+ }
717
+ }
718
+ .animate-progress {
719
+ animation: progress 3s infinite linear;
720
+ }
721
+ .cursor-grab {
722
+ cursor: grab;
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
+ }
580
736
  .flex-col {
581
737
  flex-direction: column;
582
738
  }
583
739
  .items-center {
584
740
  align-items: center;
585
741
  }
742
+ .justify-start {
743
+ justify-content: flex-start;
744
+ }
745
+ .justify-end {
746
+ justify-content: flex-end;
747
+ }
748
+ .justify-center {
749
+ justify-content: center;
750
+ }
586
751
  .justify-between {
587
752
  justify-content: space-between;
588
753
  }
754
+ .gap-0\.5 {
755
+ gap: 0.125rem;
756
+ }
589
757
  .gap-1 {
590
758
  gap: 0.25rem;
591
759
  }
760
+ .gap-2 {
761
+ gap: 0.5rem;
762
+ }
763
+ .space-y-1 > :not([hidden]) ~ :not([hidden]) {
764
+ --tw-space-y-reverse: 0;
765
+ margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
766
+ margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
767
+ }
768
+ .space-y-2 > :not([hidden]) ~ :not([hidden]) {
769
+ --tw-space-y-reverse: 0;
770
+ margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
771
+ margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
772
+ }
592
773
  .overflow-hidden {
593
774
  overflow: hidden;
594
775
  }
776
+ .overflow-y-auto {
777
+ overflow-y: auto;
778
+ }
595
779
  .rounded-lg {
596
780
  border-radius: 0.5rem;
597
781
  }
598
782
  .rounded-md {
599
783
  border-radius: 0.375rem;
600
784
  }
785
+ .rounded-none {
786
+ border-radius: 0px;
787
+ }
601
788
  .border {
602
789
  border-width: 1px;
603
790
  }
791
+ .border-0 {
792
+ border-width: 0px;
793
+ }
604
794
  .border-b {
605
795
  border-bottom-width: 1px;
606
796
  }
607
- .border-none {
608
- border-style: none;
797
+ .border-t {
798
+ border-top-width: 1px;
609
799
  }
610
800
  .border-gray-100 {
611
801
  --tw-border-opacity: 1;
@@ -615,10 +805,30 @@ video {
615
805
  --tw-border-opacity: 1;
616
806
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
617
807
  }
808
+ .border-gray-300 {
809
+ --tw-border-opacity: 1;
810
+ border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
811
+ }
812
+ .bg-blue-200 {
813
+ --tw-bg-opacity: 1;
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
+ }
618
820
  .bg-gray-100 {
619
821
  --tw-bg-opacity: 1;
620
822
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
621
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
+ }
622
832
  .bg-white {
623
833
  --tw-bg-opacity: 1;
624
834
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
@@ -626,27 +836,75 @@ video {
626
836
  .p-1\.5 {
627
837
  padding: 0.375rem;
628
838
  }
839
+ .p-2 {
840
+ padding: 0.5rem;
841
+ }
842
+ .p-4 {
843
+ padding: 1rem;
844
+ }
629
845
  .px-2 {
630
846
  padding-left: 0.5rem;
631
847
  padding-right: 0.5rem;
632
848
  }
849
+ .px-3 {
850
+ padding-left: 0.75rem;
851
+ padding-right: 0.75rem;
852
+ }
853
+ .px-4 {
854
+ padding-left: 1rem;
855
+ padding-right: 1rem;
856
+ }
633
857
  .py-2 {
634
858
  padding-top: 0.5rem;
635
859
  padding-bottom: 0.5rem;
636
860
  }
637
- .text-blue-600 {
638
- --tw-text-opacity: 1;
639
- color: rgb(37 99 235 / var(--tw-text-opacity, 1));
861
+ .text-sm {
862
+ font-size: 0.875rem;
863
+ line-height: 1.25rem;
864
+ }
865
+ .text-xs {
866
+ font-size: 0.75rem;
867
+ line-height: 1rem;
868
+ }
869
+ .font-medium {
870
+ font-weight: 500;
640
871
  }
641
872
  .text-gray-500 {
642
873
  --tw-text-opacity: 1;
643
874
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
644
875
  }
876
+ .text-gray-600 {
877
+ --tw-text-opacity: 1;
878
+ color: rgb(75 85 99 / var(--tw-text-opacity, 1));
879
+ }
880
+ .text-gray-800 {
881
+ --tw-text-opacity: 1;
882
+ color: rgb(31 41 55 / var(--tw-text-opacity, 1));
883
+ }
884
+ .text-red-500 {
885
+ --tw-text-opacity: 1;
886
+ color: rgb(239 68 68 / var(--tw-text-opacity, 1));
887
+ }
888
+ .text-white {
889
+ --tw-text-opacity: 1;
890
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
891
+ }
892
+ .underline {
893
+ text-decoration-line: underline;
894
+ }
895
+ .opacity-70 {
896
+ opacity: 0.7;
897
+ }
645
898
  .shadow {
646
899
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
647
900
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
648
901
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
649
902
  }
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
+ }
650
908
  .shadow-lg {
651
909
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
652
910
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
@@ -657,65 +915,848 @@ video {
657
915
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
658
916
  transition-duration: 150ms;
659
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
+ }
660
926
  .duration-200 {
661
927
  transition-duration: 200ms;
662
928
  }
663
929
  :host {
664
- /**
665
- * @prop --button-background-color: Button background color
666
- * @prop --button-background-color-hover: Button background color on hover
667
- * @prop --button-text-color: Button text color
668
- * @prop --button-text-color-hover: Button text color on hover
669
- * @prop --button-border-color: Button border color
670
- * @prop --button-border-color-hover: Button border color on hover
671
- */
930
+ /**
931
+ * @prop --button-background-color: Button background color
932
+ * @prop --button-background-color-hover: Button background color on hover
933
+ * @prop --button-text-color: Button text color
934
+ * @prop --button-text-color-hover: Button text color on hover
935
+ * @prop --button-border-color: Button border color
936
+ * @prop --button-border-color-hover: Button border color on hover
937
+ */
672
938
  --button-background-color: white;
673
- /* gray-100 */
674
939
  --button-background-color-hover: #f3f4f6;
675
- /* gray-900 */
676
940
  --button-text-color: #111827;
677
- /* blue-700 */
678
941
  --button-text-color-hover: #1d4ed8;
679
- /* gray-500 */
680
942
  --button-border-color: #6b7280;
681
- /* gray-700 */
682
943
  --button-border-color-hover: #374151;
683
944
  --chat-z-index: 50;
684
-
685
945
  display: block;
946
+ position: fixed;
947
+ right: 20px;
948
+ bottom: 20px;
686
949
  }
687
- /* These custom button styles need to remain since they use CSS variables */
688
950
  #ocs-chat-window {
689
951
  z-index: var(--chat-z-index);
690
952
  }
691
- .iframe-placeholder {
692
- /*loading-dots*/
693
- background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48c3R5bGU+LnNwaW5uZXJfcU04M3thbmltYXRpb246c3Bpbm5lcl84SFFHIDEuMDVzIGluZmluaXRlfS5zcGlubmVyX29YUHJ7YW5pbWF0aW9uLWRlbGF5Oi4xc30uc3Bpbm5lcl9aVExme2FuaW1hdGlvbi1kZWxheTouMnN9QGtleWZyYW1lcyBzcGlubmVyXzhIUUd7MCUsNTcuMTQle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMzMsLjY2LC42NiwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI4LjU3JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjMzLDAsLjY2LC4zMyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfX08L3N0eWxlPjxjaXJjbGUgY2xhc3M9J3NwaW5uZXJfcU04MycgY3g9JzQnIGN5PScxMicgcj0nMycvPjxjaXJjbGUgY2xhc3M9J3NwaW5uZXJfcU04MyBzcGlubmVyX29YUHInIGN4PScxMicgY3k9JzEyJyByPSczJy8+PGNpcmNsZSBjbGFzcz0nc3Bpbm5lcl9xTTgzIHNwaW5uZXJfWlRMZicgY3g9JzIwJyBjeT0nMTInIHI9JzMnLz48L3N2Zz4=);
694
- background-repeat: no-repeat;
695
- background-position: center;
953
+ textarea {
954
+ max-height: 8rem;
955
+ min-height: 2.5rem;
956
+ resize: none;
957
+ overflow-y: auto;
958
+ }
959
+ textarea::-webkit-scrollbar {
960
+ width: 0.375rem;
696
961
  }
697
- .hover\:bg-gray-100:hover {
962
+ textarea::-webkit-scrollbar-track {
963
+ border-radius: 0.25rem;
698
964
  --tw-bg-opacity: 1;
699
965
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
700
966
  }
701
- @media (min-width: 640px) {
702
-
703
- .sm\:bottom-5 {
704
- bottom: 1.25rem;
705
- }
706
-
707
- .sm\:left-5 {
708
- left: 1.25rem;
709
- }
967
+ textarea::-webkit-scrollbar-thumb {
968
+ border-radius: 0.25rem;
969
+ --tw-bg-opacity: 1;
970
+ background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
971
+ }
972
+ textarea::-webkit-scrollbar-thumb:hover {
973
+ --tw-bg-opacity: 1;
974
+ background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
975
+ }
976
+ .loading-spinner {
977
+ height: 1.25rem;
978
+ width: 1.25rem;
979
+ }
980
+ @keyframes spin {
710
981
 
711
- .sm\:right-5 {
712
- right: 1.25rem;
982
+ to {
983
+ transform: rotate(360deg);
713
984
  }
985
+ }
986
+ .loading-spinner {
987
+ animation: spin 1s linear infinite;
988
+ border-radius: 9999px;
989
+ border-width: 2px;
990
+ border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
991
+ --tw-border-opacity: 1;
992
+ border-top-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
993
+ }
994
+ .overflow-y-auto::-webkit-scrollbar {
995
+ width: 0.375rem;
996
+ }
997
+ .overflow-y-auto::-webkit-scrollbar-track {
998
+ border-radius: 0.25rem;
999
+ --tw-bg-opacity: 1;
1000
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
1001
+ }
1002
+ .overflow-y-auto::-webkit-scrollbar-thumb {
1003
+ border-radius: 0.25rem;
1004
+ --tw-bg-opacity: 1;
1005
+ background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
1006
+ }
1007
+ .overflow-y-auto::-webkit-scrollbar-thumb:hover {
1008
+ --tw-bg-opacity: 1;
1009
+ background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
1010
+ }
1011
+ /* Markdown content styling for chat messages */
1012
+ .chat-markdown {
1013
+ color: var(--tw-prose-body);
1014
+ max-width: 65ch;
1015
+ }
1016
+ .chat-markdown :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1017
+ margin-top: 1.25em;
1018
+ margin-bottom: 1.25em;
1019
+ }
1020
+ .chat-markdown :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1021
+ color: var(--tw-prose-lead);
1022
+ font-size: 1.25em;
1023
+ line-height: 1.6;
1024
+ margin-top: 1.2em;
1025
+ margin-bottom: 1.2em;
1026
+ }
1027
+ .chat-markdown :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1028
+ color: var(--tw-prose-links);
1029
+ text-decoration: underline;
1030
+ font-weight: 500;
1031
+ }
1032
+ .chat-markdown :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1033
+ color: var(--tw-prose-bold);
1034
+ font-weight: 600;
1035
+ }
1036
+ .chat-markdown :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1037
+ color: inherit;
1038
+ }
1039
+ .chat-markdown :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1040
+ color: inherit;
1041
+ }
1042
+ .chat-markdown :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1043
+ color: inherit;
1044
+ }
1045
+ .chat-markdown :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1046
+ list-style-type: decimal;
1047
+ margin-top: 1.25em;
1048
+ margin-bottom: 1.25em;
1049
+ padding-inline-start: 1.625em;
1050
+ }
1051
+ .chat-markdown :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1052
+ list-style-type: upper-alpha;
1053
+ }
1054
+ .chat-markdown :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1055
+ list-style-type: lower-alpha;
1056
+ }
1057
+ .chat-markdown :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1058
+ list-style-type: upper-alpha;
1059
+ }
1060
+ .chat-markdown :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1061
+ list-style-type: lower-alpha;
1062
+ }
1063
+ .chat-markdown :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1064
+ list-style-type: upper-roman;
1065
+ }
1066
+ .chat-markdown :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1067
+ list-style-type: lower-roman;
1068
+ }
1069
+ .chat-markdown :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1070
+ list-style-type: upper-roman;
1071
+ }
1072
+ .chat-markdown :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1073
+ list-style-type: lower-roman;
1074
+ }
1075
+ .chat-markdown :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1076
+ list-style-type: decimal;
1077
+ }
1078
+ .chat-markdown :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1079
+ list-style-type: disc;
1080
+ margin-top: 1.25em;
1081
+ margin-bottom: 1.25em;
1082
+ padding-inline-start: 1.625em;
1083
+ }
1084
+ .chat-markdown :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
1085
+ font-weight: 400;
1086
+ color: var(--tw-prose-counters);
1087
+ }
1088
+ .chat-markdown :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
1089
+ color: var(--tw-prose-bullets);
1090
+ }
1091
+ .chat-markdown :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1092
+ color: var(--tw-prose-headings);
1093
+ font-weight: 600;
1094
+ margin-top: 1.25em;
1095
+ }
1096
+ .chat-markdown :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1097
+ border-color: var(--tw-prose-hr);
1098
+ border-top-width: 1px;
1099
+ margin-top: 3em;
1100
+ margin-bottom: 3em;
1101
+ }
1102
+ .chat-markdown :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1103
+ font-weight: 500;
1104
+ font-style: italic;
1105
+ color: var(--tw-prose-quotes);
1106
+ border-inline-start-width: 0.25rem;
1107
+ border-inline-start-color: var(--tw-prose-quote-borders);
1108
+ quotes: "\201C""\201D""\2018""\2019";
1109
+ margin-top: 1.6em;
1110
+ margin-bottom: 1.6em;
1111
+ padding-inline-start: 1em;
1112
+ }
1113
+ .chat-markdown :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
1114
+ content: open-quote;
1115
+ }
1116
+ .chat-markdown :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
1117
+ content: close-quote;
1118
+ }
1119
+ .chat-markdown :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1120
+ color: var(--tw-prose-headings);
1121
+ font-weight: 800;
1122
+ font-size: 2.25em;
1123
+ margin-top: 0;
1124
+ margin-bottom: 0.8888889em;
1125
+ line-height: 1.1111111;
1126
+ }
1127
+ .chat-markdown :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1128
+ font-weight: 900;
1129
+ color: inherit;
1130
+ }
1131
+ .chat-markdown :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1132
+ color: var(--tw-prose-headings);
1133
+ font-weight: 700;
1134
+ font-size: 1.5em;
1135
+ margin-top: 2em;
1136
+ margin-bottom: 1em;
1137
+ line-height: 1.3333333;
1138
+ }
1139
+ .chat-markdown :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1140
+ font-weight: 800;
1141
+ color: inherit;
1142
+ }
1143
+ .chat-markdown :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1144
+ color: var(--tw-prose-headings);
1145
+ font-weight: 600;
1146
+ font-size: 1.25em;
1147
+ margin-top: 1.6em;
1148
+ margin-bottom: 0.6em;
1149
+ line-height: 1.6;
1150
+ }
1151
+ .chat-markdown :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1152
+ font-weight: 700;
1153
+ color: inherit;
1154
+ }
1155
+ .chat-markdown :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1156
+ color: var(--tw-prose-headings);
1157
+ font-weight: 600;
1158
+ margin-top: 1.5em;
1159
+ margin-bottom: 0.5em;
1160
+ line-height: 1.5;
1161
+ }
1162
+ .chat-markdown :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1163
+ font-weight: 700;
1164
+ color: inherit;
1165
+ }
1166
+ .chat-markdown :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1167
+ margin-top: 2em;
1168
+ margin-bottom: 2em;
1169
+ }
1170
+ .chat-markdown :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1171
+ display: block;
1172
+ margin-top: 2em;
1173
+ margin-bottom: 2em;
1174
+ }
1175
+ .chat-markdown :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1176
+ margin-top: 2em;
1177
+ margin-bottom: 2em;
1178
+ }
1179
+ .chat-markdown :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1180
+ font-weight: 500;
1181
+ font-family: inherit;
1182
+ color: var(--tw-prose-kbd);
1183
+ box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
1184
+ font-size: 0.875em;
1185
+ border-radius: 0.3125rem;
1186
+ padding-top: 0.1875em;
1187
+ padding-inline-end: 0.375em;
1188
+ padding-bottom: 0.1875em;
1189
+ padding-inline-start: 0.375em;
1190
+ }
1191
+ .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1192
+ color: var(--tw-prose-code);
1193
+ font-weight: 600;
1194
+ font-size: 0.875em;
1195
+ }
1196
+ .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
1197
+ content: "`";
1198
+ }
1199
+ .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
1200
+ content: "`";
1201
+ }
1202
+ .chat-markdown :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1203
+ color: inherit;
1204
+ }
1205
+ .chat-markdown :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1206
+ color: inherit;
1207
+ }
1208
+ .chat-markdown :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1209
+ color: inherit;
1210
+ font-size: 0.875em;
1211
+ }
1212
+ .chat-markdown :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1213
+ color: inherit;
1214
+ font-size: 0.9em;
1215
+ }
1216
+ .chat-markdown :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1217
+ color: inherit;
1218
+ }
1219
+ .chat-markdown :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1220
+ color: inherit;
1221
+ }
1222
+ .chat-markdown :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1223
+ color: inherit;
1224
+ }
1225
+ .chat-markdown :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1226
+ color: var(--tw-prose-pre-code);
1227
+ background-color: var(--tw-prose-pre-bg);
1228
+ overflow-x: auto;
1229
+ font-weight: 400;
1230
+ font-size: 0.875em;
1231
+ line-height: 1.7142857;
1232
+ margin-top: 1.7142857em;
1233
+ margin-bottom: 1.7142857em;
1234
+ border-radius: 0.375rem;
1235
+ padding-top: 0.8571429em;
1236
+ padding-inline-end: 1.1428571em;
1237
+ padding-bottom: 0.8571429em;
1238
+ padding-inline-start: 1.1428571em;
1239
+ }
1240
+ .chat-markdown :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1241
+ background-color: transparent;
1242
+ border-width: 0;
1243
+ border-radius: 0;
1244
+ padding: 0;
1245
+ font-weight: inherit;
1246
+ color: inherit;
1247
+ font-size: inherit;
1248
+ font-family: inherit;
1249
+ line-height: inherit;
1250
+ }
1251
+ .chat-markdown :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
1252
+ content: none;
1253
+ }
1254
+ .chat-markdown :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
1255
+ content: none;
1256
+ }
1257
+ .chat-markdown :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1258
+ width: 100%;
1259
+ table-layout: auto;
1260
+ margin-top: 2em;
1261
+ margin-bottom: 2em;
1262
+ font-size: 0.875em;
1263
+ line-height: 1.7142857;
1264
+ }
1265
+ .chat-markdown :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1266
+ border-bottom-width: 1px;
1267
+ border-bottom-color: var(--tw-prose-th-borders);
1268
+ }
1269
+ .chat-markdown :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1270
+ color: var(--tw-prose-headings);
1271
+ font-weight: 600;
1272
+ vertical-align: bottom;
1273
+ padding-inline-end: 0.5714286em;
1274
+ padding-bottom: 0.5714286em;
1275
+ padding-inline-start: 0.5714286em;
1276
+ }
1277
+ .chat-markdown :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1278
+ border-bottom-width: 1px;
1279
+ border-bottom-color: var(--tw-prose-td-borders);
1280
+ }
1281
+ .chat-markdown :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1282
+ border-bottom-width: 0;
1283
+ }
1284
+ .chat-markdown :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1285
+ vertical-align: baseline;
1286
+ }
1287
+ .chat-markdown :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1288
+ border-top-width: 1px;
1289
+ border-top-color: var(--tw-prose-th-borders);
1290
+ }
1291
+ .chat-markdown :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1292
+ vertical-align: top;
1293
+ }
1294
+ .chat-markdown :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1295
+ text-align: start;
1296
+ }
1297
+ .chat-markdown :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1298
+ margin-top: 0;
1299
+ margin-bottom: 0;
1300
+ }
1301
+ .chat-markdown :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1302
+ color: var(--tw-prose-captions);
1303
+ font-size: 0.875em;
1304
+ line-height: 1.4285714;
1305
+ margin-top: 0.8571429em;
1306
+ }
1307
+ .chat-markdown {
1308
+ --tw-prose-body: #374151;
1309
+ --tw-prose-headings: #111827;
1310
+ --tw-prose-lead: #4b5563;
1311
+ --tw-prose-links: #111827;
1312
+ --tw-prose-bold: #111827;
1313
+ --tw-prose-counters: #6b7280;
1314
+ --tw-prose-bullets: #d1d5db;
1315
+ --tw-prose-hr: #e5e7eb;
1316
+ --tw-prose-quotes: #111827;
1317
+ --tw-prose-quote-borders: #e5e7eb;
1318
+ --tw-prose-captions: #6b7280;
1319
+ --tw-prose-kbd: #111827;
1320
+ --tw-prose-kbd-shadows: 17 24 39;
1321
+ --tw-prose-code: #111827;
1322
+ --tw-prose-pre-code: #e5e7eb;
1323
+ --tw-prose-pre-bg: #1f2937;
1324
+ --tw-prose-th-borders: #d1d5db;
1325
+ --tw-prose-td-borders: #e5e7eb;
1326
+ --tw-prose-invert-body: #d1d5db;
1327
+ --tw-prose-invert-headings: #fff;
1328
+ --tw-prose-invert-lead: #9ca3af;
1329
+ --tw-prose-invert-links: #fff;
1330
+ --tw-prose-invert-bold: #fff;
1331
+ --tw-prose-invert-counters: #9ca3af;
1332
+ --tw-prose-invert-bullets: #4b5563;
1333
+ --tw-prose-invert-hr: #374151;
1334
+ --tw-prose-invert-quotes: #f3f4f6;
1335
+ --tw-prose-invert-quote-borders: #374151;
1336
+ --tw-prose-invert-captions: #9ca3af;
1337
+ --tw-prose-invert-kbd: #fff;
1338
+ --tw-prose-invert-kbd-shadows: 255 255 255;
1339
+ --tw-prose-invert-code: #fff;
1340
+ --tw-prose-invert-pre-code: #d1d5db;
1341
+ --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
1342
+ --tw-prose-invert-th-borders: #4b5563;
1343
+ --tw-prose-invert-td-borders: #374151;
1344
+ font-size: 1rem;
1345
+ line-height: 1.75;
1346
+ }
1347
+ .chat-markdown :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1348
+ margin-top: 0;
1349
+ margin-bottom: 0;
1350
+ }
1351
+ .chat-markdown :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1352
+ margin-top: 0.5em;
1353
+ margin-bottom: 0.5em;
1354
+ }
1355
+ .chat-markdown :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1356
+ padding-inline-start: 0.375em;
1357
+ }
1358
+ .chat-markdown :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1359
+ padding-inline-start: 0.375em;
1360
+ }
1361
+ .chat-markdown :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1362
+ margin-top: 0.75em;
1363
+ margin-bottom: 0.75em;
1364
+ }
1365
+ .chat-markdown :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1366
+ margin-top: 1.25em;
1367
+ }
1368
+ .chat-markdown :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1369
+ margin-bottom: 1.25em;
1370
+ }
1371
+ .chat-markdown :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1372
+ margin-top: 1.25em;
1373
+ }
1374
+ .chat-markdown :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1375
+ margin-bottom: 1.25em;
1376
+ }
1377
+ .chat-markdown :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1378
+ margin-top: 0.75em;
1379
+ margin-bottom: 0.75em;
1380
+ }
1381
+ .chat-markdown :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1382
+ margin-top: 1.25em;
1383
+ margin-bottom: 1.25em;
1384
+ }
1385
+ .chat-markdown :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1386
+ margin-top: 0.5em;
1387
+ padding-inline-start: 1.625em;
1388
+ }
1389
+ .chat-markdown :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1390
+ margin-top: 0;
1391
+ }
1392
+ .chat-markdown :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1393
+ margin-top: 0;
1394
+ }
1395
+ .chat-markdown :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1396
+ margin-top: 0;
1397
+ }
1398
+ .chat-markdown :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1399
+ margin-top: 0;
1400
+ }
1401
+ .chat-markdown :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1402
+ padding-inline-start: 0;
1403
+ }
1404
+ .chat-markdown :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1405
+ padding-inline-end: 0;
1406
+ }
1407
+ .chat-markdown :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1408
+ padding-top: 0.5714286em;
1409
+ padding-inline-end: 0.5714286em;
1410
+ padding-bottom: 0.5714286em;
1411
+ padding-inline-start: 0.5714286em;
1412
+ }
1413
+ .chat-markdown :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1414
+ padding-inline-start: 0;
1415
+ }
1416
+ .chat-markdown :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1417
+ padding-inline-end: 0;
1418
+ }
1419
+ .chat-markdown :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1420
+ margin-top: 2em;
1421
+ margin-bottom: 2em;
1422
+ }
1423
+ .chat-markdown :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1424
+ margin-top: 0;
1425
+ }
1426
+ .chat-markdown :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1427
+ margin-bottom: 0;
1428
+ }
1429
+ .chat-markdown {
1430
+ font-size: 0.875rem;
1431
+ line-height: 1.7142857;
1432
+ }
1433
+ .chat-markdown :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1434
+ margin-top: 1.1428571em;
1435
+ margin-bottom: 1.1428571em;
1436
+ }
1437
+ .chat-markdown :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1438
+ font-size: 1.2857143em;
1439
+ line-height: 1.5555556;
1440
+ margin-top: 0.8888889em;
1441
+ margin-bottom: 0.8888889em;
1442
+ }
1443
+ .chat-markdown :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1444
+ margin-top: 1.3333333em;
1445
+ margin-bottom: 1.3333333em;
1446
+ padding-inline-start: 1.1111111em;
1447
+ }
1448
+ .chat-markdown :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1449
+ font-size: 2.1428571em;
1450
+ margin-top: 0;
1451
+ margin-bottom: 0.8em;
1452
+ line-height: 1.2;
1453
+ }
1454
+ .chat-markdown :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1455
+ font-size: 1.4285714em;
1456
+ margin-top: 1.6em;
1457
+ margin-bottom: 0.8em;
1458
+ line-height: 1.4;
1459
+ }
1460
+ .chat-markdown :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1461
+ font-size: 1.2857143em;
1462
+ margin-top: 1.5555556em;
1463
+ margin-bottom: 0.4444444em;
1464
+ line-height: 1.5555556;
1465
+ }
1466
+ .chat-markdown :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1467
+ margin-top: 1.4285714em;
1468
+ margin-bottom: 0.5714286em;
1469
+ line-height: 1.4285714;
1470
+ }
1471
+ .chat-markdown :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1472
+ margin-top: 1.7142857em;
1473
+ margin-bottom: 1.7142857em;
1474
+ }
1475
+ .chat-markdown :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1476
+ margin-top: 1.7142857em;
1477
+ margin-bottom: 1.7142857em;
1478
+ }
1479
+ .chat-markdown :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1480
+ margin-top: 0;
1481
+ margin-bottom: 0;
1482
+ }
1483
+ .chat-markdown :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1484
+ margin-top: 1.7142857em;
1485
+ margin-bottom: 1.7142857em;
1486
+ }
1487
+ .chat-markdown :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1488
+ font-size: 0.8571429em;
1489
+ border-radius: 0.3125rem;
1490
+ padding-top: 0.1428571em;
1491
+ padding-inline-end: 0.3571429em;
1492
+ padding-bottom: 0.1428571em;
1493
+ padding-inline-start: 0.3571429em;
1494
+ }
1495
+ .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1496
+ font-size: 0.8571429em;
1497
+ }
1498
+ .chat-markdown :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1499
+ font-size: 0.9em;
1500
+ }
1501
+ .chat-markdown :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1502
+ font-size: 0.8888889em;
1503
+ }
1504
+ .chat-markdown :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1505
+ font-size: 0.8571429em;
1506
+ line-height: 1.6666667;
1507
+ margin-top: 1.6666667em;
1508
+ margin-bottom: 1.6666667em;
1509
+ border-radius: 0.25rem;
1510
+ padding-top: 0.6666667em;
1511
+ padding-inline-end: 1em;
1512
+ padding-bottom: 0.6666667em;
1513
+ padding-inline-start: 1em;
1514
+ }
1515
+ .chat-markdown :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1516
+ margin-top: 1.1428571em;
1517
+ margin-bottom: 1.1428571em;
1518
+ padding-inline-start: 1.5714286em;
1519
+ }
1520
+ .chat-markdown :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1521
+ margin-top: 1.1428571em;
1522
+ margin-bottom: 1.1428571em;
1523
+ padding-inline-start: 1.5714286em;
1524
+ }
1525
+ .chat-markdown :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1526
+ margin-top: 0.2857143em;
1527
+ margin-bottom: 0.2857143em;
1528
+ }
1529
+ .chat-markdown :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1530
+ padding-inline-start: 0.4285714em;
1531
+ }
1532
+ .chat-markdown :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1533
+ padding-inline-start: 0.4285714em;
1534
+ }
1535
+ .chat-markdown :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1536
+ margin-top: 0.5714286em;
1537
+ margin-bottom: 0.5714286em;
1538
+ }
1539
+ .chat-markdown :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1540
+ margin-top: 1.1428571em;
1541
+ }
1542
+ .chat-markdown :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1543
+ margin-bottom: 1.1428571em;
1544
+ }
1545
+ .chat-markdown :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1546
+ margin-top: 1.1428571em;
1547
+ }
1548
+ .chat-markdown :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1549
+ margin-bottom: 1.1428571em;
1550
+ }
1551
+ .chat-markdown :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1552
+ margin-top: 0.5714286em;
1553
+ margin-bottom: 0.5714286em;
1554
+ }
1555
+ .chat-markdown :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1556
+ margin-top: 1.1428571em;
1557
+ margin-bottom: 1.1428571em;
1558
+ }
1559
+ .chat-markdown :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1560
+ margin-top: 1.1428571em;
1561
+ }
1562
+ .chat-markdown :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1563
+ margin-top: 0.2857143em;
1564
+ padding-inline-start: 1.5714286em;
1565
+ }
1566
+ .chat-markdown :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1567
+ margin-top: 2.8571429em;
1568
+ margin-bottom: 2.8571429em;
1569
+ }
1570
+ .chat-markdown :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1571
+ margin-top: 0;
1572
+ }
1573
+ .chat-markdown :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1574
+ margin-top: 0;
1575
+ }
1576
+ .chat-markdown :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1577
+ margin-top: 0;
1578
+ }
1579
+ .chat-markdown :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1580
+ margin-top: 0;
1581
+ }
1582
+ .chat-markdown :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1583
+ font-size: 0.8571429em;
1584
+ line-height: 1.5;
1585
+ }
1586
+ .chat-markdown :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1587
+ padding-inline-end: 1em;
1588
+ padding-bottom: 0.6666667em;
1589
+ padding-inline-start: 1em;
1590
+ }
1591
+ .chat-markdown :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1592
+ padding-inline-start: 0;
1593
+ }
1594
+ .chat-markdown :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1595
+ padding-inline-end: 0;
1596
+ }
1597
+ .chat-markdown :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1598
+ padding-top: 0.6666667em;
1599
+ padding-inline-end: 1em;
1600
+ padding-bottom: 0.6666667em;
1601
+ padding-inline-start: 1em;
1602
+ }
1603
+ .chat-markdown :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1604
+ padding-inline-start: 0;
1605
+ }
1606
+ .chat-markdown :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1607
+ padding-inline-end: 0;
1608
+ }
1609
+ .chat-markdown :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1610
+ margin-top: 1.7142857em;
1611
+ margin-bottom: 1.7142857em;
1612
+ }
1613
+ .chat-markdown :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1614
+ margin-top: 0;
1615
+ margin-bottom: 0;
1616
+ }
1617
+ .chat-markdown :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1618
+ font-size: 0.8571429em;
1619
+ line-height: 1.3333333;
1620
+ margin-top: 0.6666667em;
1621
+ }
1622
+ .chat-markdown :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1623
+ margin-top: 0;
1624
+ }
1625
+ .chat-markdown :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1626
+ margin-bottom: 0;
1627
+ }
1628
+ .chat-markdown {
1629
+ --tw-prose-body: #374151;
1630
+ --tw-prose-headings: #111827;
1631
+ --tw-prose-lead: #4b5563;
1632
+ --tw-prose-links: #111827;
1633
+ --tw-prose-bold: #111827;
1634
+ --tw-prose-counters: #6b7280;
1635
+ --tw-prose-bullets: #d1d5db;
1636
+ --tw-prose-hr: #e5e7eb;
1637
+ --tw-prose-quotes: #111827;
1638
+ --tw-prose-quote-borders: #e5e7eb;
1639
+ --tw-prose-captions: #6b7280;
1640
+ --tw-prose-kbd: #111827;
1641
+ --tw-prose-kbd-shadows: 17 24 39;
1642
+ --tw-prose-code: #111827;
1643
+ --tw-prose-pre-code: #e5e7eb;
1644
+ --tw-prose-pre-bg: #1f2937;
1645
+ --tw-prose-th-borders: #d1d5db;
1646
+ --tw-prose-td-borders: #e5e7eb;
1647
+ --tw-prose-invert-body: #d1d5db;
1648
+ --tw-prose-invert-headings: #fff;
1649
+ --tw-prose-invert-lead: #9ca3af;
1650
+ --tw-prose-invert-links: #fff;
1651
+ --tw-prose-invert-bold: #fff;
1652
+ --tw-prose-invert-counters: #9ca3af;
1653
+ --tw-prose-invert-bullets: #4b5563;
1654
+ --tw-prose-invert-hr: #374151;
1655
+ --tw-prose-invert-quotes: #f3f4f6;
1656
+ --tw-prose-invert-quote-borders: #374151;
1657
+ --tw-prose-invert-captions: #9ca3af;
1658
+ --tw-prose-invert-kbd: #fff;
1659
+ --tw-prose-invert-kbd-shadows: 255 255 255;
1660
+ --tw-prose-invert-code: #fff;
1661
+ --tw-prose-invert-pre-code: #d1d5db;
1662
+ --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
1663
+ --tw-prose-invert-th-borders: #4b5563;
1664
+ --tw-prose-invert-td-borders: #374151;
1665
+ max-width: none;
1666
+ }
1667
+ /* override spacing */
1668
+ .chat-markdown > * {
1669
+ margin-top: 0.1rem;
1670
+ margin-bottom: 0.1rem;
1671
+ }
1672
+ .bg-blue-500 .chat-markdown {
1673
+ --tw-prose-body: var(--tw-prose-invert-body);
1674
+ --tw-prose-headings: var(--tw-prose-invert-headings);
1675
+ --tw-prose-lead: var(--tw-prose-invert-lead);
1676
+ --tw-prose-links: var(--tw-prose-invert-links);
1677
+ --tw-prose-bold: var(--tw-prose-invert-bold);
1678
+ --tw-prose-counters: var(--tw-prose-invert-counters);
1679
+ --tw-prose-bullets: var(--tw-prose-invert-bullets);
1680
+ --tw-prose-hr: var(--tw-prose-invert-hr);
1681
+ --tw-prose-quotes: var(--tw-prose-invert-quotes);
1682
+ --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
1683
+ --tw-prose-captions: var(--tw-prose-invert-captions);
1684
+ --tw-prose-kbd: var(--tw-prose-invert-kbd);
1685
+ --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
1686
+ --tw-prose-code: var(--tw-prose-invert-code);
1687
+ --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
1688
+ --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
1689
+ --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
1690
+ --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
1691
+ }
1692
+ .bg-blue-500 .chat-markdown code {
1693
+ background-color: rgb(96 165 250 / 0.5);
1694
+ --tw-text-opacity: 1;
1695
+ color: rgb(239 246 255 / var(--tw-text-opacity, 1));
1696
+ }
1697
+ .bg-blue-500 .chat-markdown pre {
1698
+ --tw-border-opacity: 1;
1699
+ border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
1700
+ background-color: rgb(96 165 250 / 0.5);
1701
+ }
1702
+ .bg-gray-200 .chat-markdown code {
1703
+ border-width: 1px;
1704
+ --tw-border-opacity: 1;
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));
1708
+ }
1709
+ .bg-gray-200 .chat-markdown pre {
1710
+ border-width: 1px;
1711
+ --tw-border-opacity: 1;
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));
1715
+ }
1716
+ .loading:after {
1717
+ content: ' .';
1718
+ }
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) {
714
1751
 
715
1752
  .sm\:block {
716
1753
  display: block;
717
1754
  }
718
1755
 
1756
+ .sm\:flex {
1757
+ display: flex;
1758
+ }
1759
+
719
1760
  .sm\:hidden {
720
1761
  display: none;
721
1762
  }
@@ -724,3 +1765,9 @@ video {
724
1765
  width: 450px;
725
1766
  }
726
1767
  }
1768
+ @media (min-width: 1024px) {
1769
+
1770
+ .lg\:max-w-md {
1771
+ max-width: 28rem;
1772
+ }
1773
+ }