open-chat-studio-widget 0.4.2 → 0.4.4

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 (37) hide show
  1. package/README.md +78 -72
  2. package/dist/cjs/{index-b700441a.js → index-bcb28089.js} +3 -1
  3. package/dist/cjs/index-bcb28089.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/open-chat-studio-widget.cjs.entry.js +57 -20
  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 +5 -5
  9. package/dist/collection/components/ocs-chat/heroicons.js.map +1 -1
  10. package/dist/collection/components/ocs-chat/ocs-chat.css +179 -131
  11. package/dist/collection/components/ocs-chat/ocs-chat.js +40 -13
  12. package/dist/collection/components/ocs-chat/ocs-chat.js.map +1 -1
  13. package/dist/collection/utils/utils.js +30 -0
  14. package/dist/collection/utils/utils.js.map +1 -0
  15. package/dist/components/open-chat-studio-widget.js +57 -19
  16. package/dist/components/open-chat-studio-widget.js.map +1 -1
  17. package/dist/esm/{index-b188b488.js → index-205c77bc.js} +3 -2
  18. package/dist/{open-chat-studio-widget/p-a0fbe1b4.js.map → esm/index-205c77bc.js.map} +1 -1
  19. package/dist/esm/loader.js +3 -3
  20. package/dist/esm/open-chat-studio-widget.entry.js +57 -20
  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-19d45fe5.entry.js +3 -0
  26. package/dist/open-chat-studio-widget/p-19d45fe5.entry.js.map +1 -0
  27. package/dist/open-chat-studio-widget/p-78d09c6b.js +3 -0
  28. package/dist/open-chat-studio-widget/p-78d09c6b.js.map +1 -0
  29. package/dist/types/components/ocs-chat/ocs-chat.d.ts +8 -3
  30. package/dist/types/components.d.ts +8 -0
  31. package/dist/types/utils/utils.d.ts +7 -0
  32. package/package.json +1 -1
  33. package/dist/cjs/index-b700441a.js.map +0 -1
  34. package/dist/esm/index-b188b488.js.map +0 -1
  35. package/dist/open-chat-studio-widget/p-a0fbe1b4.js +0 -3
  36. package/dist/open-chat-studio-widget/p-d47dbd2f.entry.js +0 -3
  37. package/dist/open-chat-studio-widget/p-d47dbd2f.entry.js.map +0 -1
@@ -499,11 +499,15 @@ video {
499
499
  [hidden]:where(:not([hidden="until-found"])) {
500
500
  display: none;
501
501
  }
502
+ #ocs-chat-window {
503
+ z-index: var(--chat-z-index);
504
+ font-size: var(--chat-window-font-size);
505
+ }
502
506
  .starter-question {
503
507
  border-radius: 0.5rem;
504
508
  text-align: left;
505
509
  transition-duration: 200ms;
506
- padding: var(--starter-question-padding, 0.75rem);
510
+ padding: var(--starter-question-padding, 0.75em);
507
511
  background-color: var(--starter-question-bg-color);
508
512
  border: 1px solid var(--starter-question-border-color);
509
513
  color: var(--starter-question-text-color);
@@ -533,40 +537,39 @@ video {
533
537
  .chat-btn-text,
534
538
  .chat-btn-icon {
535
539
  background-color: var(--button-background-color, white);
540
+ border: 1px solid var(--button-border-color);
536
541
  z-index: var(--chat-z-index, 50);
542
+ font-size: var(--button-font-size);
543
+ padding: var(--button-padding, 0.75em);
544
+ }
545
+ .chat-btn-text:hover, .chat-btn-icon:hover {
546
+ color: var(--button-text-color-hover, #1d4ed8);
547
+ border: 1px solid var(--button-border-color-hover);
537
548
  }
538
549
  /* Button with text and icon */
539
550
  .chat-btn-text {
540
551
  display: flex;
541
552
  align-items: center;
542
553
  gap: 8px;
543
- padding: var(--button-padding, 0.75rem);
544
554
  color: var(--button-text-color, #111827);
545
555
  }
546
- .chat-btn-text:hover {
547
- color: var(--button-text-color-hover, #1d4ed8);
548
- }
549
556
  .chat-btn-text span {
550
557
  white-space: nowrap;
551
558
  font-weight: 500;
552
- font-size: var(--button-font-size);
553
559
  }
554
560
  .chat-btn-text img {
561
+ width: var(--button-icon-size);
562
+ height: var(--button-icon-size);
555
563
  flex-shrink: 0;
556
564
  -o-object-fit: contain;
557
565
  object-fit: contain;
558
- width: var(--button-icon-width, 1.5rem);
559
- height: var(--button-icon-height, 1.5rem);
560
566
  }
561
567
  /* Icon-only button */
562
568
  .chat-btn-icon {
563
- padding: var(--button-padding, 0.75rem);
564
- width: 56px;
565
- height: 56px;
566
569
  }
567
570
  .chat-btn-icon img {
568
- height: 100%;
569
- width: 100%;
571
+ width: var(--button-icon-size);
572
+ height: var(--button-icon-size);
570
573
  -o-object-fit: contain;
571
574
  object-fit: contain;
572
575
  }
@@ -576,7 +579,7 @@ video {
576
579
  }
577
580
  /* Error message styling */
578
581
  .error-message {
579
- padding: var(--error-message-padding, 0.5rem);
582
+ padding: var(--error-message-padding, 0.5em);
580
583
  color: var(--error-text-color);
581
584
  }
582
585
  /* Chat window positioning classes */
@@ -588,7 +591,6 @@ video {
588
591
  height: 100%;
589
592
  max-height: 100%;
590
593
  width: 100%;
591
- max-width: 1024px;
592
594
  flex-direction: column;
593
595
  overflow: hidden;
594
596
  border-radius: 0px;
@@ -600,13 +602,15 @@ video {
600
602
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
601
603
  transition-duration: 200ms;
602
604
  background-color: var(--chat-window-bg-color);
603
- font-size: var(--chat-window-font-size);
605
+ max-width: var(--chat-window-fullscreen-width);
604
606
  }
605
607
  .chat-window-normal {
606
608
  position: fixed;
607
609
  display: flex;
608
- height: 83.333333%;
609
- width: 100%;
610
+ height: 100vh;
611
+ min-height: 300px;
612
+ width: 100vw;
613
+ min-width: 300px;
610
614
  max-width: 1024px;
611
615
  flex-direction: column;
612
616
  overflow: hidden;
@@ -615,7 +619,8 @@ video {
615
619
  @media (min-width: 640px) {
616
620
 
617
621
  .chat-window-normal {
618
- width: 450px;
622
+ height: var(--chat-window-height);
623
+ width: var(--chat-window-width);
619
624
  }
620
625
  }
621
626
  .chat-window-normal {
@@ -644,9 +649,17 @@ video {
644
649
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
645
650
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
646
651
  transition-duration: 150ms;
647
- padding: var(--header-padding, 0.5rem);
652
+ padding: var(--header-padding, 0.5em);
648
653
  background-color: var(--header-bg-color);
649
654
  border-bottom: 1px solid var(--header-border-color);
655
+ font-size: var(--header-font-size);
656
+ }
657
+ .header-text {
658
+ display: flex;
659
+ align-items: center;
660
+ justify-content: center;
661
+ font-size: var(--header-text-font-size);
662
+ color: var(--header-text-color);
650
663
  }
651
664
  .chat-header:hover,
652
665
  .chat-header:active {
@@ -673,12 +686,6 @@ video {
673
686
  display: flex;
674
687
  gap: 2px;
675
688
  }
676
- @media (min-width: 640px) {
677
-
678
- .drag-spacer {
679
- display: none;
680
- }
681
- }
682
689
  .header-buttons {
683
690
  display: flex;
684
691
  align-items: center;
@@ -690,9 +697,13 @@ video {
690
697
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
691
698
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
692
699
  transition-duration: 200ms;
693
- padding: var(--button-padding-sm, 0.375rem);
700
+ padding: 0.375em;
694
701
  color: var(--header-button-text-color);
695
702
  }
703
+ .header-button svg {
704
+ width: var(--header-button-icon-size);
705
+ height: var(--header-button-icon-size);
706
+ }
696
707
  .header-button:hover {
697
708
  background-color: var(--header-button-bg-hover-color);
698
709
  }
@@ -750,7 +761,7 @@ video {
750
761
  background-color: var(--scrollbar-thumb-hover-color);
751
762
  }
752
763
  .messages-container {
753
- padding: var(--container-padding, 1rem);
764
+ padding: var(--container-padding, 1em);
754
765
  }
755
766
  /* Message bubbles */
756
767
  .message-row {
@@ -763,18 +774,9 @@ video {
763
774
  justify-content: flex-start;
764
775
  }
765
776
  .message-bubble {
766
- max-width: 20rem;
767
777
  border-radius: 0.5rem;
778
+ padding: var(--message-padding-y, 0.5em) var(--message-padding-x, 1em);
768
779
  }
769
- @media (min-width: 1024px) {
770
-
771
- .message-bubble {
772
- max-width: 28rem;
773
- }
774
- }
775
- .message-bubble {
776
- padding: var(--message-padding-y, 0.5rem) var(--message-padding-x, 1rem);
777
- }
778
780
  .message-bubble-user {
779
781
  background-color: var(--message-user-bg-color);
780
782
  color: var(--message-user-text-color);
@@ -890,8 +892,7 @@ video {
890
892
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
891
893
  }
892
894
  .starter-questions {
893
- padding: var(--container-padding, 1rem);
894
- font-size: var(--chat-window-font-size);
895
+ padding: var(--container-padding, 1em);
895
896
  }
896
897
  .starter-question-row {
897
898
  display: flex;
@@ -899,10 +900,9 @@ video {
899
900
  }
900
901
  /* Input area */
901
902
  .input-area {
902
- padding: var(--container-padding, 1rem);
903
+ padding: var(--container-padding, 1em) var(--container-padding, 1em) 0 var(--container-padding, 1em);
903
904
  background-color: var(--input-bg-color);
904
905
  border-top: 1px solid var(--input-border-color);
905
- font-size: var(--chat-window-font-size);
906
906
  }
907
907
  .input-container {
908
908
  display: flex;
@@ -920,7 +920,7 @@ video {
920
920
  outline-color: #93c5fd;
921
921
  }
922
922
  .message-textarea {
923
- padding: var(--input-textarea-padding-y, 0.5rem) var(--input-textarea-padding-x, 0.75rem);
923
+ padding: var(--input-textarea-padding-y, 0.5em) var(--input-textarea-padding-x, 0.75em);
924
924
  color: var(--input-text-color);
925
925
  border: 1px solid var(--input-border-color);
926
926
  }
@@ -933,8 +933,7 @@ video {
933
933
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
934
934
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
935
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);
936
+ padding: var(--send-button-padding-y, 0.5em) var(--send-button-padding-x, 1em);
938
937
  }
939
938
  .send-button-enabled {
940
939
  background-color: var(--send-button-bg-color);
@@ -957,15 +956,14 @@ video {
957
956
  .relative {
958
957
  position: relative;
959
958
  }
959
+ .flex {
960
+ display: flex;
961
+ }
960
962
  .table {
961
963
  display: table;
962
964
  }
963
- .size-6 {
964
- width: 1.5rem;
965
- height: 1.5rem;
966
- }
967
- .h-5\/6 {
968
- height: 83.333333%;
965
+ .w-full {
966
+ width: 100%;
969
967
  }
970
968
  .transform {
971
969
  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));
@@ -973,6 +971,32 @@ video {
973
971
  .resize {
974
972
  resize: both;
975
973
  }
974
+ .items-center {
975
+ align-items: center;
976
+ }
977
+ .justify-center {
978
+ justify-content: center;
979
+ }
980
+ .border {
981
+ border-width: 1px;
982
+ }
983
+ .py-\[2px\] {
984
+ padding-top: 2px;
985
+ padding-bottom: 2px;
986
+ }
987
+ .text-\[0\.8em\] {
988
+ font-size: 0.8em;
989
+ }
990
+ .font-light {
991
+ font-weight: 300;
992
+ }
993
+ .text-slate-500 {
994
+ --tw-text-opacity: 1;
995
+ color: rgb(100 116 139 / var(--tw-text-opacity, 1));
996
+ }
997
+ .underline {
998
+ text-decoration-line: underline;
999
+ }
976
1000
  .shadow {
977
1001
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
978
1002
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
@@ -980,47 +1004,46 @@ video {
980
1004
  }
981
1005
  :host {
982
1006
  /**
983
- * Global Variables
984
1007
  * @prop --chat-z-index: Z-index for chat widget (50)
985
- * @prop --container-padding: General container padding (1rem)
1008
+ * @prop --container-padding: General container padding (1em)
986
1009
  *
987
- * Button Variables
988
1010
  * @prop --button-background-color: Button background color (#ffffff)
989
1011
  * @prop --button-background-color-hover: Button background color on hover (#f3f4f6)
990
1012
  * @prop --button-text-color: Button text color (#111827)
991
1013
  * @prop --button-text-color-hover: Button text color on hover (#1d4ed8)
992
1014
  * @prop --button-border-color: Button border color (#6b7280)
993
1015
  * @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)
1016
+ * @prop --button-padding: Button padding (0.75em)
1017
+ * @prop --button-font-size: Button text font size (0.875em)
1018
+ * @prop --button-icon-size: Button icon size (1.5em)
999
1019
  *
1000
- * Chat Window Variables
1020
+ * @prop --chat-window-height: Chat window height in pixels or percent (60%)
1021
+ * @prop --chat-window-width: Chat window width in pixels or percent (25%)
1022
+ * @prop --chat-window-fullscreen-width: Chat window fullscreen width in pixels or percent (80%)
1001
1023
  * @prop --chat-window-bg-color: Chat window background color (#ffffff)
1002
1024
  * @prop --chat-window-border-color: Chat window border color (#d1d5db)
1003
1025
  * @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)
1026
+ * @prop --chat-window-font-size: Default font size for text in the chat window (0.875em)
1027
+ * @prop --chat-window-font-size-sm: Font size for small text in the chat window (0.75em)
1006
1028
  *
1007
- * Header Variables
1008
1029
  * @prop --header-bg-color: Header background color (transparent)
1009
1030
  * @prop --header-bg-hover-color: Header background color on hover (#f9fafb)
1010
1031
  * @prop --header-border-color: Header border color (#f3f4f6)
1011
1032
  * @prop --header-button-text-color: Header button text color (#6b7280)
1012
1033
  * @prop --header-button-bg-hover-color: Header button background on hover (#f3f4f6)
1013
- * @prop --header-padding: Header padding (0.5rem)
1034
+ * @prop --header-padding: Header padding (0.5em)
1035
+ * @prop --header-font-size: Header font size (1em)
1036
+ * @prop --header-button-icon-size: Icon size for buttons in the header (1.5em)
1037
+ * @prop --header-text-font-size: Font size for the text in the header (1em)
1038
+ * @prop --header-text-color: Color for the text in the header (#525762)
1014
1039
  *
1015
- * Starter Question Variables
1016
1040
  * @prop --starter-question-bg-color: Starter question background color (transparent)
1017
1041
  * @prop --starter-question-bg-hover-color: Starter question background on hover (#eff6ff)
1018
1042
  * @prop --starter-question-text-color: Starter question text color (#3b82f6)
1019
1043
  * @prop --starter-question-border-color: Starter question border color (#3b82f6)
1020
1044
  * @prop --starter-question-border-hover-color: Starter question border on hover (#2563eb)
1021
- * @prop --starter-question-padding: Starter question padding (0.75rem)
1045
+ * @prop --starter-question-padding: Starter question padding (0.75em)
1022
1046
  *
1023
- * Message Bubble Variables
1024
1047
  * @prop --message-user-bg-color: User message background color (#3b82f6)
1025
1048
  * @prop --message-user-text-color: User message text color (#ffffff)
1026
1049
  * @prop --message-assistant-bg-color: Assistant message background color (#e5e7eb)
@@ -1029,76 +1052,70 @@ video {
1029
1052
  * @prop --message-system-text-color: System message text color (#4b5563)
1030
1053
  * @prop --message-timestamp-color: User message timestamp color (rgba(255, 255, 255, 0.7))
1031
1054
  * @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)
1055
+ * @prop --message-padding-x: Message horizontal padding (1em)
1056
+ * @prop --message-padding-y: Message vertical padding (0.5em)
1034
1057
  *
1035
- * Input Area Variables
1036
1058
  * @prop --input-bg-color: Input area background color (transparent)
1037
1059
  * @prop --input-border-color: Input field border color (#d1d5db)
1038
1060
  * @prop --input-text-color: Input text color (#111827)
1039
1061
  * @prop --input-placeholder-color: Input placeholder text color (#6b7280)
1040
1062
  * @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)
1063
+ * @prop --input-textarea-padding-x: Input textarea horizontal padding (0.75em)
1064
+ * @prop --input-textarea-padding-y: Input textarea vertical padding (0.5em)
1043
1065
  *
1044
- * Send Button Variables
1045
1066
  * @prop --send-button-bg-color: Send button background color (#3b82f6)
1046
1067
  * @prop --send-button-bg-hover-color: Send button background on hover (#2563eb)
1047
1068
  * @prop --send-button-text-color: Send button text color (#ffffff)
1048
1069
  * @prop --send-button-bg-disabled-color: Send button background when disabled (#d1d5db)
1049
1070
  * @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)
1071
+ * @prop --send-button-padding-x: Send button horizontal padding (1em)
1072
+ * @prop --send-button-padding-y: Send button vertical padding (0.5em)
1052
1073
  *
1053
- * Loading Variables
1054
1074
  * @prop --loading-text-color: Loading text color (#6b7280)
1055
1075
  * @prop --loading-spinner-track-color: Loading spinner track color (#e5e7eb)
1056
1076
  * @prop --loading-spinner-fill-color: Loading spinner fill color (#3b82f6)
1057
- * @prop --loading-spinner-size: Loading spinner size (1.25rem)
1077
+ * @prop --loading-spinner-size: Loading spinner size (1.25em)
1058
1078
  *
1059
- * Typing Indicator Variables
1060
1079
  * @prop --typing-progress-bg-color: Typing progress bar background color (#ade3ff)
1061
1080
  *
1062
- * Scrollbar Variables
1063
1081
  * @prop --scrollbar-track-color: Scrollbar track color (#f3f4f6)
1064
1082
  * @prop --scrollbar-thumb-color: Scrollbar thumb color (#d1d5db)
1065
1083
  * @prop --scrollbar-thumb-hover-color: Scrollbar thumb hover color (#9ca3af)
1066
1084
  *
1067
- * Error Variables
1068
1085
  * @prop --error-text-color: Error text color (#ef4444)
1069
- * @prop --error-message-padding: Error message padding (0.5rem)
1086
+ * @prop --error-message-padding: Error message padding (0.5em)
1070
1087
  *
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)
1088
+ * @prop --code-bg-user-color: Code background in user messages (--message-user-bg-color + 20% white)
1089
+ * @prop --code-text-user-color: Code text color in user messages (--message-user-text-color)
1090
+ * @prop --code-border-user-color: Code border in user messages (--message-user-bg-color + 20% black)
1091
+ * @prop --code-bg-assistant-color: Code background in assistant messages (--message-assistant-bg-color + 50% white)
1092
+ * @prop --code-text-assistant-color: Code text color in assistant messages (--message-assistant-text-color)
1093
+ * @prop --code-border-assistant-color: Code border in assistant messages (--message-assistant-bg-color + 10% black)
1078
1094
  */
1079
1095
  /* Global variables */
1080
1096
  --chat-z-index: 50;
1081
- --container-padding: 1rem;
1097
+ --container-padding: 1em;
1082
1098
 
1083
1099
  /* Button variables */
1084
1100
  --button-background-color: #ffffff;
1085
1101
  --button-background-color-hover: #f3f4f6;
1086
1102
  --button-text-color: #111827;
1087
1103
  --button-text-color-hover: #1d4ed8;
1088
- --button-border-color: #6b7280;
1089
- --button-border-color-hover: #374151;
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;
1104
+ --button-border-color: transparent;
1105
+ --button-border-color-hover: #d1d5db;
1106
+ --button-padding: 0.5em;
1107
+ --button-font-size: 0.875em; /* text-sm */
1108
+ --button-icon-size: 1.5em;
1095
1109
 
1096
1110
  /* Chat window variables */
1111
+ --chat-window-height: 60%;
1112
+ --chat-window-width: 25%;
1113
+ --chat-window-fullscreen-width: 80%;
1097
1114
  --chat-window-bg-color: #ffffff;
1098
1115
  --chat-window-border-color: #d1d5db;
1099
1116
  --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 */
1117
+ --chat-window-font-size: 0.875em; /* text-sm */
1118
+ --chat-window-font-size-sm: 0.75em; /* text-xs */
1102
1119
 
1103
1120
  /* Header variables */
1104
1121
  --header-bg-color: transparent;
@@ -1106,7 +1123,11 @@ video {
1106
1123
  --header-border-color: #f3f4f6;
1107
1124
  --header-button-text-color: #6b7280;
1108
1125
  --header-button-bg-hover-color: #f3f4f6;
1109
- --header-padding: 0.5rem;
1126
+ --header-padding: 0.5em;
1127
+ --header-font-size: 1em;
1128
+ --header-text-font-size: 1em;
1129
+ --header-text-color: #525762;
1130
+ --header-button-icon-size: 1.5em;
1110
1131
 
1111
1132
  /* Starter question variables */
1112
1133
  --starter-question-bg-color: transparent;
@@ -1114,7 +1135,7 @@ video {
1114
1135
  --starter-question-text-color: #3b82f6;
1115
1136
  --starter-question-border-color: #3b82f6;
1116
1137
  --starter-question-border-hover-color: #2563eb;
1117
- --starter-question-padding: 0.75rem;
1138
+ --starter-question-padding: 0.75em;
1118
1139
 
1119
1140
  /* Message bubble variables */
1120
1141
  --message-user-bg-color: #3b82f6;
@@ -1125,8 +1146,8 @@ video {
1125
1146
  --message-system-text-color: #4b5563;
1126
1147
  --message-timestamp-color: rgba(255, 255, 255, 0.7);
1127
1148
  --message-timestamp-assistant-color: rgba(75, 85, 99, 0.7);
1128
- --message-padding-x: 1rem;
1129
- --message-padding-y: 0.5rem;
1149
+ --message-padding-x: 1em;
1150
+ --message-padding-y: 0.5em;
1130
1151
 
1131
1152
  /* Input area variables */
1132
1153
  --input-bg-color: transparent;
@@ -1134,8 +1155,8 @@ video {
1134
1155
  --input-text-color: #111827;
1135
1156
  --input-placeholder-color: #6b7280;
1136
1157
  --input-outline-focus-color: #3b82f6;
1137
- --input-textarea-padding-x: 0.75rem;
1138
- --input-textarea-padding-y: 0.5rem;
1158
+ --input-textarea-padding-x: 0.75em;
1159
+ --input-textarea-padding-y: 0.5em;
1139
1160
 
1140
1161
  /* Send button variables */
1141
1162
  --send-button-bg-color: #3b82f6;
@@ -1143,14 +1164,14 @@ video {
1143
1164
  --send-button-text-color: #ffffff;
1144
1165
  --send-button-bg-disabled-color: #d1d5db;
1145
1166
  --send-button-text-disabled-color: #6b7280;
1146
- --send-button-padding-x: 1rem;
1147
- --send-button-padding-y: 0.5rem;
1167
+ --send-button-padding-x: 1em;
1168
+ --send-button-padding-y: 0.5em;
1148
1169
 
1149
1170
  /* Loading variables */
1150
1171
  --loading-text-color: #6b7280;
1151
1172
  --loading-spinner-track-color: #e5e7eb;
1152
1173
  --loading-spinner-fill-color: #3b82f6;
1153
- --loading-spinner-size: 1.25rem;
1174
+ --loading-spinner-size: 1.25em;
1154
1175
 
1155
1176
  /* Typing indicator variables */
1156
1177
  --typing-progress-bg-color: #ade3ff;
@@ -1162,24 +1183,21 @@ video {
1162
1183
 
1163
1184
  /* Error variables */
1164
1185
  --error-text-color: #ef4444;
1165
- --error-message-padding: 0.5rem;
1186
+ --error-message-padding: 0.5em;
1166
1187
 
1167
1188
  /* 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;
1189
+ --code-bg-user-color: color-mix(in srgb, var(--message-user-bg-color) 80%, white 20%);
1190
+ --code-text-user-color: var(--message-user-text-color);
1191
+ --code-border-user-color: color-mix(in srgb, var(--message-user-bg-color) 90%, black 10%);
1192
+ --code-bg-assistant-color: color-mix(in srgb, var(--message-assistant-bg-color) 50%, white 50%);
1193
+ --code-text-assistant-color: var(--message-assistant-text-color);
1194
+ --code-border-assistant-color: color-mix(in srgb, var(--message-assistant-bg-color) 90%, black 10%);;
1174
1195
 
1175
1196
  display: block;
1176
1197
  position: fixed;
1177
1198
  right: 20px;
1178
1199
  bottom: 20px;
1179
1200
  }
1180
- #ocs-chat-window {
1181
- z-index: var(--chat-z-index);
1182
- }
1183
1201
  textarea {
1184
1202
  max-height: 8rem;
1185
1203
  min-height: 2.5rem;
@@ -1200,6 +1218,10 @@ textarea::-webkit-scrollbar-thumb {
1200
1218
  textarea::-webkit-scrollbar-thumb:hover {
1201
1219
  background-color: var(--scrollbar-thumb-hover-color);
1202
1220
  }
1221
+ .loading-spinner {
1222
+ width: var(--loading-spinner-size);
1223
+ height: var(--loading-spinner-size);
1224
+ }
1203
1225
  @keyframes spin {
1204
1226
 
1205
1227
  to {
@@ -1212,8 +1234,6 @@ textarea::-webkit-scrollbar-thumb:hover {
1212
1234
  border-width: 2px;
1213
1235
  border-color: var(--loading-spinner-track-color);
1214
1236
  border-top-color: var(--loading-spinner-fill-color);
1215
- width: var(--loading-spinner-size, 1.25rem);
1216
- height: var(--loading-spinner-size, 1.25rem);
1217
1237
  }
1218
1238
  .overflow-y-auto::-webkit-scrollbar {
1219
1239
  width: 0.375rem;
@@ -1884,11 +1904,49 @@ textarea::-webkit-scrollbar-thumb:hover {
1884
1904
  --tw-prose-invert-th-borders: #4b5563;
1885
1905
  --tw-prose-invert-td-borders: #374151;
1886
1906
  max-width: none;
1907
+ font-size: 1em;
1908
+ --tw-prose-body: var(--message-assistant-text-color);
1909
+ --tw-prose-headings: var(--message-assistant-text-color);
1910
+ --tw-prose-lead: var(--message-assistant-text-color);
1911
+ --tw-prose-links: var(--message-assistant-text-color);
1912
+ --tw-prose-bold: var(--message-assistant-text-color);
1913
+ --tw-prose-counters: var(--message-assistant-text-color);
1914
+ --tw-prose-bullets: var(--message-assistant-text-color);
1915
+ --tw-prose-hr: var(--message-assistant-text-color);
1916
+ --tw-prose-quotes: var(--message-assistant-text-color);
1917
+ --tw-prose-quote-borders: var(--message-assistant-text-color);
1918
+ --tw-prose-captions: var(--message-assistant-text-color);
1919
+ --tw-prose-kbd: var(--message-assistant-text-color);
1920
+ --tw-prose-kbd-shadows: var(--message-assistant-text-color);
1921
+ --tw-prose-code: var(--code-text-assistant-color);
1922
+ --tw-prose-pre-code: var(--code-text-assistant-color);
1923
+ --tw-prose-pre-bg: var(--code-bg-assistant-color);
1924
+ --tw-prose-th-borders: var(--message-assistant-text-color);
1925
+ --tw-prose-td-borders: var(--message-assistant-text-color);
1926
+
1927
+ --tw-prose-invert-body: var(--message-user-text-color);
1928
+ --tw-prose-invert-headings: var(--message-user-text-color);
1929
+ --tw-prose-invert-lead: var(--message-user-text-color);
1930
+ --tw-prose-invert-links: var(--message-user-text-color);
1931
+ --tw-prose-invert-bold: var(--message-user-text-color);
1932
+ --tw-prose-invert-counters: var(--message-user-text-color);
1933
+ --tw-prose-invert-bullets: var(--message-user-text-color);
1934
+ --tw-prose-invert-hr: var(--message-user-text-color);
1935
+ --tw-prose-invert-quotes: var(--message-user-text-color);
1936
+ --tw-prose-invert-quote-borders: var(--message-user-text-color);
1937
+ --tw-prose-invert-captions: var(--message-user-text-color);
1938
+ --tw-prose-invert-kbd: var(--message-user-text-color);
1939
+ --tw-prose-invert-kbd-shadows: var(--message-user-text-color);
1940
+ --tw-prose-invert-code: var(--code-text-user-color);
1941
+ --tw-prose-invert-pre-code: var(--code-text-user-color);
1942
+ --tw-prose-invert-pre-bg: var(--code-bg-user-color);
1943
+ --tw-prose-invert-th-borders: var(--message-user-text-color);
1944
+ --tw-prose-invert-td-borders: var(--message-user-text-color);
1887
1945
  }
1888
1946
  /* override spacing */
1889
1947
  .chat-markdown > * {
1890
- margin-top: 0.1rem;
1891
- margin-bottom: 0.1rem;
1948
+ margin-top: 0.1em;
1949
+ margin-bottom: 0.1em;
1892
1950
  }
1893
1951
  .message-bubble-user .chat-markdown {
1894
1952
  --tw-prose-body: var(--tw-prose-invert-body);
@@ -1910,20 +1968,10 @@ textarea::-webkit-scrollbar-thumb:hover {
1910
1968
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
1911
1969
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
1912
1970
  }
1913
- .message-bubble-user .chat-markdown code {
1914
- background-color: var(--code-bg-user-color);
1915
- color: var(--code-text-user-color);
1916
- }
1917
1971
  .message-bubble-user .chat-markdown pre {
1918
- background-color: var(--code-bg-user-color);
1919
1972
  border: 1px solid var(--code-border-user-color);
1920
1973
  }
1921
- .message-bubble-assistant .chat-markdown code {
1922
- background-color: var(--code-bg-assistant-color);
1923
- color: var(--code-text-assistant-color);
1924
- }
1925
1974
  .message-bubble-assistant .chat-markdown pre {
1926
- background-color: var(--code-bg-assistant-color);
1927
1975
  border: 1px solid var(--code-border-assistant-color);
1928
1976
  }
1929
1977
  .loading:after {