stream-chat-react 14.1.0 → 14.2.0

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 (44) hide show
  1. package/dist/cjs/emojis.js +1 -1
  2. package/dist/cjs/index.js +283 -51
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/{useNotificationApi.fd802923.js → useNotificationApi.f2c7704d.js} +4 -4
  5. package/dist/cjs/{useNotificationApi.fd802923.js.map → useNotificationApi.f2c7704d.js.map} +1 -1
  6. package/dist/css/index.css +163 -72
  7. package/dist/css/index.css.map +1 -1
  8. package/dist/es/emojis.mjs +1 -1
  9. package/dist/es/index.mjs +284 -52
  10. package/dist/es/index.mjs.map +1 -1
  11. package/dist/es/{useNotificationApi.e0c52de6.mjs → useNotificationApi.f91ae46b.mjs} +4 -4
  12. package/dist/es/{useNotificationApi.e0c52de6.mjs.map → useNotificationApi.f91ae46b.mjs.map} +1 -1
  13. package/dist/types/components/BaseImage/BaseImage.d.ts.map +1 -1
  14. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  15. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +2 -0
  16. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
  17. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.d.ts.map +1 -1
  18. package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
  19. package/dist/types/components/Form/Dropdown.d.ts +2 -1
  20. package/dist/types/components/Form/Dropdown.d.ts.map +1 -1
  21. package/dist/types/components/Message/MessageText.d.ts.map +1 -1
  22. package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
  23. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts +2 -1
  24. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -1
  25. package/dist/types/components/MessageComposer/EditedMessagePreview.d.ts.map +1 -1
  26. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts +4 -2
  27. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -1
  28. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -1
  29. package/dist/types/components/MessageComposer/hooks/index.d.ts +1 -0
  30. package/dist/types/components/MessageComposer/hooks/index.d.ts.map +1 -1
  31. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts +9 -0
  32. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts.map +1 -0
  33. package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
  34. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts +1 -0
  35. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts.map +1 -1
  36. package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -1
  37. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts +1 -0
  38. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
  39. package/dist/types/i18n/Streami18n.d.ts +6 -0
  40. package/dist/types/i18n/Streami18n.d.ts.map +1 -1
  41. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts +1 -0
  42. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts.map +1 -1
  43. package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts.map +1 -1
  44. package/package.json +9 -5
@@ -1,5 +1,4 @@
1
1
  @charset "UTF-8";
2
- @import 'modern-normalize' layer(css-reset);
3
2
  @media (prefers-reduced-motion: reduce) {
4
3
  .str-chat,
5
4
  .str-chat *,
@@ -1095,6 +1094,23 @@ to create clearer separation from the base surface.
1095
1094
  --str-chat__box-shadow-4: var(--str-chat__dark-elevation-4);
1096
1095
  }
1097
1096
 
1097
+ @layer minimal-normalize {
1098
+ .str-chat *,
1099
+ .str-chat ::before,
1100
+ .str-chat ::after {
1101
+ box-sizing: border-box;
1102
+ }
1103
+ .str-chat button,
1104
+ .str-chat input,
1105
+ .str-chat optgroup,
1106
+ .str-chat select,
1107
+ .str-chat textarea {
1108
+ font-family: inherit;
1109
+ font-size: 100%;
1110
+ line-height: 1.15;
1111
+ margin: 0;
1112
+ }
1113
+ }
1098
1114
  .str-chat {
1099
1115
  --str-chat__focus-outline-color: var(--str-chat__border-utility-focused);
1100
1116
  --str-chat__focus-outline: 2px solid var(--str-chat__focus-outline-color);
@@ -1121,6 +1137,10 @@ to create clearer separation from the base surface.
1121
1137
  .str-chat input[type=number] {
1122
1138
  -moz-appearance: textfield;
1123
1139
  }
1140
+ .str-chat input::placeholder,
1141
+ .str-chat textarea::placeholder {
1142
+ color: var(--str-chat__input-text-placeholder);
1143
+ }
1124
1144
 
1125
1145
  .str-chat__icon {
1126
1146
  flex-shrink: 0;
@@ -1309,12 +1329,14 @@ to create clearer separation from the base surface.
1309
1329
  flex-direction: column;
1310
1330
  align-items: center;
1311
1331
  justify-content: center;
1332
+ overflow: hidden;
1312
1333
  background-color: var(--str-chat__background-core-overlay-light);
1313
1334
  }
1314
1335
  .str-chat .str-chat__image-placeholder svg {
1315
1336
  fill: var(--str-chat__accent-neutral);
1316
1337
  width: min(var(--str-chat__icon-size-lg, 32px), 50%);
1317
1338
  height: min(var(--str-chat__icon-size-lg, 32px), 50%);
1339
+ flex-shrink: 0;
1318
1340
  }
1319
1341
 
1320
1342
  .str-chat .str-chat__button {
@@ -1322,7 +1344,6 @@ to create clearer separation from the base surface.
1322
1344
  border: none;
1323
1345
  padding: 0;
1324
1346
  position: relative; /* creates positioning context for pseudo ::after overlay */
1325
- overflow: hidden;
1326
1347
  white-space: nowrap;
1327
1348
  cursor: pointer;
1328
1349
  display: flex;
@@ -1510,15 +1531,12 @@ to create clearer separation from the base surface.
1510
1531
  font-size: var(--str-chat__typography-font-size-sm, 0.875rem);
1511
1532
  font-weight: var(--str-chat__typography-font-weight-medium, 500);
1512
1533
  line-height: var(--str-chat__typography-line-height-tight, 1.25);
1513
- color: var(--str-chat__input-text-default, #1a1b25);
1534
+ color: var(--str-chat__input-text-default);
1514
1535
  text-align: center;
1515
1536
  background: transparent;
1516
1537
  border: none;
1517
1538
  box-shadow: none;
1518
1539
  }
1519
- .str-chat__form-numeric-input__input::placeholder {
1520
- color: var(--str-chat__input-text-placeholder, var(--str-chat__text-tertiary));
1521
- }
1522
1540
  .str-chat__form-numeric-input--disabled .str-chat__form-numeric-input__input {
1523
1541
  color: var(--str-chat__input-text-placeholder);
1524
1542
  cursor: not-allowed;
@@ -1726,14 +1744,9 @@ to create clearer separation from the base surface.
1726
1744
  background: transparent;
1727
1745
  border: none;
1728
1746
  outline: none;
1729
- outline-style: none;
1730
1747
  box-shadow: none;
1731
1748
  }
1732
1749
 
1733
- .str-chat__form-text-input .str-chat__form-text-input__input::placeholder {
1734
- color: var(--str-chat__input-text-placeholder);
1735
- }
1736
-
1737
1750
  .str-chat__form-text-input.str-chat__form-text-input--disabled .str-chat__form-text-input__input {
1738
1751
  color: var(--str-chat__input-text-placeholder);
1739
1752
  cursor: not-allowed;
@@ -1746,7 +1759,6 @@ to create clearer separation from the base surface.
1746
1759
  .str-chat__form-text-input .str-chat__form-text-input__input:focus,
1747
1760
  .str-chat__form-text-input .str-chat__form-text-input__input:focus-visible {
1748
1761
  outline: none;
1749
- outline-style: none;
1750
1762
  box-shadow: none;
1751
1763
  }
1752
1764
 
@@ -2065,6 +2077,12 @@ to create clearer separation from the base surface.
2065
2077
  }
2066
2078
  .str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled {
2067
2079
  background-color: transparent;
2080
+ color: var(--str-chat__text-disabled);
2081
+ cursor: default;
2082
+ }
2083
+ .str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled .str-chat__context-menu__button__details,
2084
+ .str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled .str-chat__icon {
2085
+ color: inherit;
2068
2086
  }
2069
2087
  .str-chat .str-chat__context-menu .str-chat__context-menu__button .str-chat__icon {
2070
2088
  height: var(--str-chat__icon-size-sm);
@@ -2079,7 +2097,6 @@ to create clearer separation from the base surface.
2079
2097
  text-overflow: ellipsis;
2080
2098
  flex: auto;
2081
2099
  text-align: start;
2082
- color: var(--str-chat__text-primary);
2083
2100
  white-space: nowrap;
2084
2101
  min-width: 0;
2085
2102
  }
@@ -2886,12 +2903,15 @@ to create clearer separation from the base surface.
2886
2903
  padding: 0;
2887
2904
  }
2888
2905
  .str-chat__message--has-single-attachment .str-chat__message-attachment-card img {
2889
- height: var(--str-chat__scraped-image-height);
2906
+ aspect-ratio: 1.91/1;
2890
2907
  width: 100%;
2908
+ height: auto;
2909
+ max-height: var(--str-chat__scraped-image-height);
2891
2910
  border-radius: 0;
2892
2911
  }
2893
2912
  .str-chat__message--has-single-attachment .str-chat__message-attachment-card .str-chat__message-attachment-card--header:has(.str-chat__image-placeholder) {
2894
- height: var(--str-chat__scraped-image-height);
2913
+ aspect-ratio: 1.91/1;
2914
+ height: auto;
2895
2915
  }
2896
2916
  .str-chat__message--has-single-attachment .str-chat__message-attachment-card .str-chat__message-attachment-card--header:has(.str-chat__image-placeholder) .str-chat__image-placeholder {
2897
2917
  border-radius: 0;
@@ -2907,42 +2927,93 @@ to create clearer separation from the base surface.
2907
2927
  text-overflow: ellipsis;
2908
2928
  }
2909
2929
 
2910
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery {
2911
- background: transparent;
2930
+ .str-chat__attachment-list .str-chat__message-attachment--gallery,
2931
+ .str-chat__attachment-list .str-chat__message-attachment--image {
2932
+ min-width: 0;
2933
+ max-width: 100%;
2934
+ }
2935
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery,
2936
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery {
2937
+ background-color: var(--chat-bg);
2912
2938
  color: var(--str-chat__text-primary);
2913
2939
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
2914
2940
  display: grid;
2915
- grid-template-columns: 50% 50%;
2916
- grid-template-rows: 50% 50%;
2941
+ grid-template-columns: 1fr 1fr;
2942
+ grid-template-rows: 1fr 1fr;
2917
2943
  overflow: hidden;
2918
2944
  border-radius: var(--str-chat__radius-lg);
2919
- gap: var(--str-chat__space-2);
2945
+ gap: var(--str-chat__spacing-xxs);
2920
2946
  width: var(--str-chat__attachment-max-width);
2921
- max-width: var(--str-chat__attachment-max-width);
2922
- height: var(--str-chat__attachment-max-width);
2947
+ max-width: 100%;
2948
+ aspect-ratio: 4/3;
2923
2949
  }
2924
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image {
2950
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image,
2951
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image {
2925
2952
  width: 100%;
2926
2953
  height: 100%;
2927
2954
  min-width: 0;
2928
2955
  min-height: 0;
2956
+ border-radius: var(--str-chat__radius-md);
2957
+ }
2958
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading, .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
2959
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
2960
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed {
2961
+ min-height: 0;
2962
+ }
2963
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:only-child,
2964
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:only-child {
2965
+ grid-column: 1/-1;
2966
+ grid-row: 1/-1;
2967
+ border-radius: var(--str-chat__radius-lg);
2968
+ }
2969
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(1),
2970
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(1) {
2971
+ border-start-start-radius: var(--str-chat__radius-lg);
2972
+ }
2973
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(2),
2974
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(2) {
2975
+ border-start-end-radius: var(--str-chat__radius-lg);
2929
2976
  }
2930
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images {
2977
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(3),
2978
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(3) {
2979
+ border-end-start-radius: var(--str-chat__radius-lg);
2980
+ }
2981
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(4),
2982
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(4) {
2983
+ border-end-end-radius: var(--str-chat__radius-lg);
2984
+ }
2985
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images,
2986
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--two-images {
2931
2987
  grid-template-rows: 1fr;
2932
2988
  }
2933
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(1) {
2989
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(1),
2990
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(1) {
2991
+ border-end-start-radius: var(--str-chat__radius-lg);
2992
+ }
2993
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(2),
2994
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--two-images .str-chat__modal-gallery__image:nth-child(2) {
2995
+ border-end-end-radius: var(--str-chat__radius-lg);
2996
+ }
2997
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(1),
2998
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(1) {
2934
2999
  grid-column: 1;
2935
- grid-row: 1/span 2; /* Span two rows */
3000
+ grid-row: 1/span 2;
3001
+ border-end-start-radius: var(--str-chat__radius-lg);
2936
3002
  }
2937
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(2) {
3003
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(2),
3004
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(2) {
2938
3005
  grid-column: 2;
2939
3006
  grid-row: 1;
3007
+ border-start-end-radius: var(--str-chat__radius-lg);
2940
3008
  }
2941
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(3) {
3009
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(3),
3010
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--three-images .str-chat__modal-gallery__image:nth-child(3) {
2942
3011
  grid-column: 2;
2943
3012
  grid-row: 2;
3013
+ border-end-end-radius: var(--str-chat__radius-lg);
2944
3014
  }
2945
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__placeholder {
3015
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__placeholder,
3016
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__placeholder {
2946
3017
  display: flex;
2947
3018
  align-items: center;
2948
3019
  justify-content: center;
@@ -2984,25 +3055,42 @@ to create clearer separation from the base surface.
2984
3055
  object-fit: cover;
2985
3056
  cursor: zoom-in;
2986
3057
  max-width: var(--str-chat__attachment-max-width);
3058
+ max-height: var(--str-chat__attachment-max-width);
2987
3059
  transition: opacity 150ms ease-in-out;
2988
3060
  }
3061
+ .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
3062
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
3063
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading {
3064
+ min-height: 200px;
3065
+ align-items: stretch;
3066
+ }
2989
3067
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
2990
3068
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
2991
3069
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img {
3070
+ position: absolute;
2992
3071
  opacity: 0;
2993
3072
  }
3073
+ .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading .str-chat__modal-gallery__image-loading-overlay,
3074
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading .str-chat__modal-gallery__image-loading-overlay,
3075
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading .str-chat__modal-gallery__image-loading-overlay {
3076
+ position: static;
3077
+ flex: 1;
3078
+ min-width: 0;
3079
+ height: auto;
3080
+ }
2994
3081
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
2995
3082
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
2996
3083
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed {
2997
3084
  cursor: pointer;
2998
3085
  min-height: 200px;
3086
+ align-items: stretch;
2999
3087
  }
3000
3088
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed .str-chat__image-placeholder.str-chat__base-image--load-failed,
3001
3089
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed .str-chat__image-placeholder.str-chat__base-image--load-failed,
3002
3090
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed .str-chat__image-placeholder.str-chat__base-image--load-failed {
3003
- width: 100%;
3004
- min-height: 200px;
3005
- align-self: stretch;
3091
+ flex: 1;
3092
+ min-width: 0;
3093
+ height: auto;
3006
3094
  }
3007
3095
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
3008
3096
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
@@ -3028,7 +3116,7 @@ to create clearer separation from the base surface.
3028
3116
  display: flex;
3029
3117
  align-items: center;
3030
3118
  justify-content: center;
3031
- background-color: var(--chat-bg);
3119
+ background-color: var(--str-chat__background-core-overlay-light);
3032
3120
  background-image: linear-gradient(90deg, var(--str-chat__skeleton-loading-base) 0%, var(--str-chat__skeleton-loading-highlight) 50%, var(--str-chat__skeleton-loading-base) 100%);
3033
3121
  background-repeat: no-repeat;
3034
3122
  background-size: 200% 100%;
@@ -3071,8 +3159,18 @@ to create clearer separation from the base surface.
3071
3159
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:focus-visible,
3072
3160
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:focus-visible,
3073
3161
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image:focus-visible {
3074
- outline: 2px solid var(--str-chat__border-utility-focused);
3075
- outline-offset: 2px;
3162
+ outline: none;
3163
+ }
3164
+ .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:focus-visible::before,
3165
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:focus-visible::before,
3166
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image:focus-visible::before {
3167
+ content: "";
3168
+ position: absolute;
3169
+ inset: 0;
3170
+ pointer-events: none;
3171
+ border-radius: inherit;
3172
+ box-shadow: inset 0 0 0 2px var(--str-chat__brand-300);
3173
+ z-index: 1;
3076
3174
  }
3077
3175
 
3078
3176
  @keyframes str-chat__modal-gallery-loading-shimmer {
@@ -3829,13 +3927,13 @@ to create clearer separation from the base surface.
3829
3927
  flex: 1;
3830
3928
  min-height: 0;
3831
3929
  overflow: hidden;
3930
+ padding-bottom: calc(var(--str-chat__space-8) + var(--str-chat__space-2));
3832
3931
  }
3833
3932
  .str-chat__channel-list .str-chat__channel-list-inner .str-chat__channel-list-inner__main {
3834
3933
  height: 100%;
3835
3934
  overflow-y: auto;
3836
3935
  scrollbar-gutter: stable both-edges;
3837
3936
  scrollbar-width: thin;
3838
- padding-bottom: calc(var(--str-chat__space-8) + var(--str-chat__space-2));
3839
3937
  }
3840
3938
  .str-chat__channel-list .str-chat__channel-list-inner .str-chat__channel-list-inner__main .str-chat__channel-list-empty {
3841
3939
  height: 100%;
@@ -3911,7 +4009,7 @@ to create clearer separation from the base surface.
3911
4009
  padding: var(--str-chat__spacing-xxs);
3912
4010
  position: relative;
3913
4011
  }
3914
- .str-chat__channel-list-item-container:has(.str-chat__channel-list-item__action-buttons--active) .str-chat__channel-list-item__action-buttons, .str-chat__channel-list-item-container:hover .str-chat__channel-list-item__action-buttons {
4012
+ .str-chat__channel-list-item-container:has(.str-chat__channel-list-item__action-buttons--active) .str-chat__channel-list-item__action-buttons, .str-chat__channel-list-item-container:focus-within .str-chat__channel-list-item__action-buttons, .str-chat__channel-list-item-container:hover .str-chat__channel-list-item__action-buttons {
3915
4013
  display: flex;
3916
4014
  }
3917
4015
  .str-chat__channel-list-item-container .str-chat__channel-list-item__action-buttons {
@@ -4042,7 +4140,7 @@ to create clearer separation from the base surface.
4042
4140
  transform: translate3d(0, -50%, 0);
4043
4141
  visibility: visible;
4044
4142
  }
4045
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button {
4143
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button {
4046
4144
  --str-chat-unread-count-badge-absolute-offset-vertical: 25%;
4047
4145
  gap: 4px;
4048
4146
  padding: var(--str-chat__spacing-xs);
@@ -4053,15 +4151,15 @@ to create clearer separation from the base surface.
4053
4151
  background: transparent;
4054
4152
  color: var(--str-chat__text-tertiary);
4055
4153
  }
4056
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button[aria-selected=true] {
4154
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button[aria-selected=true] {
4057
4155
  color: var(--str-chat__text-primary);
4058
4156
  background: var(--str-chat__background-core-surface-default);
4059
4157
  }
4060
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button .str-chat__icon {
4158
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button .str-chat__icon {
4061
4159
  height: var(--str-chat__icon-size-md);
4062
4160
  width: var(--str-chat__icon-size-md);
4063
4161
  }
4064
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button .str-chat__button__content {
4162
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button .str-chat__button__content {
4065
4163
  display: flex;
4066
4164
  flex-direction: column;
4067
4165
  align-items: center;
@@ -4839,14 +4937,8 @@ to create clearer separation from the base surface.
4839
4937
  .str-chat__message {
4840
4938
  --str-chat-message-options-size: var(--str-chat__message-options-button-size);
4841
4939
  }
4842
- .str-chat__message .str-chat__message-bubble {
4843
- width: fit-content(var(--str-chat__message-max-width));
4844
- max-width: min(100%, var(--str-chat__message-max-width));
4845
- }
4846
4940
  .str-chat__message.str-chat__message--other .str-chat__message-inner, .str-chat__message.str-chat__message--me .str-chat__message-inner {
4847
4941
  margin-inline: 0;
4848
- width: fit-content;
4849
- max-width: min(100%, var(--str-chat__message-max-width));
4850
4942
  }
4851
4943
  .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host, .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host {
4852
4944
  justify-self: flex-start;
@@ -4856,15 +4948,6 @@ to create clearer separation from the base surface.
4856
4948
  margin-inline: 0;
4857
4949
  padding-inline: 0;
4858
4950
  }
4859
- .str-chat__message.str-chat__message--other .str-chat__message-inner {
4860
- grid-template-columns: auto var(--str-chat-message-options-size);
4861
- }
4862
- .str-chat__message.str-chat__message--me .str-chat__message-inner {
4863
- grid-template-columns: var(--str-chat-message-options-size) auto;
4864
- }
4865
- .str-chat__message.str-chat__message--me .str-chat__message-bubble {
4866
- justify-self: flex-end;
4867
- }
4868
4951
  }
4869
4952
  .str-chat__message a {
4870
4953
  text-decoration: none;
@@ -4903,9 +4986,10 @@ to create clearer separation from the base surface.
4903
4986
  grid-area: message;
4904
4987
  display: grid;
4905
4988
  grid-template-areas: "reactions ." "message-bubble options" "replies replies";
4906
- grid-template-columns: auto 1fr;
4989
+ grid-template-columns: fit-content(var(--str-chat__message-max-width)) auto;
4907
4990
  column-gap: var(--str-chat__space-8);
4908
4991
  position: relative;
4992
+ width: fit-content;
4909
4993
  }
4910
4994
  .str-chat__message .str-chat__message-inner .str-chat__message-reactions-host {
4911
4995
  display: flex;
@@ -4925,7 +5009,7 @@ to create clearer separation from the base surface.
4925
5009
  }
4926
5010
  .str-chat__message .str-chat__message-inner .str-chat__message-bubble {
4927
5011
  width: fit-content(var(--str-chat__message-max-width));
4928
- max-width: var(--str-chat__message-max-width);
5012
+ max-width: min(var(--str-chat__message-max-width), 100%);
4929
5013
  min-width: 0;
4930
5014
  display: flex;
4931
5015
  flex-direction: column;
@@ -5068,7 +5152,7 @@ to create clearer separation from the base surface.
5068
5152
  }
5069
5153
  .str-chat__message.str-chat__message--me .str-chat__message-inner {
5070
5154
  grid-template-areas: "reminder reminder" ". reactions" "options message-bubble" "replies replies";
5071
- grid-template-columns: 1fr auto;
5155
+ grid-template-columns: auto fit-content(var(--str-chat__message-max-width));
5072
5156
  margin-inline-start: var(--str-chat-message-options-size);
5073
5157
  }
5074
5158
  .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-options {
@@ -5119,6 +5203,9 @@ to create clearer separation from the base surface.
5119
5203
  .str-chat__message.str-chat__message--has-attachment {
5120
5204
  --str-chat__message-max-width: var(--str-chat__message-with-attachment-max-width);
5121
5205
  }
5206
+ .str-chat__message.str-chat__message--has-attachment .str-chat__message-bubble {
5207
+ width: 100%;
5208
+ }
5122
5209
  .str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-bubble {
5123
5210
  padding: 0;
5124
5211
  }
@@ -5488,6 +5575,10 @@ to create clearer separation from the base surface.
5488
5575
  gap: var(--str-chat__spacing-md);
5489
5576
  }
5490
5577
  .str-chat .str-chat__attachment-preview-audio,
5578
+ .str-chat .str-chat__attachment-preview-voice-recording {
5579
+ --chat-border-on-chat: var(--str-chat__chat-border-on-chat-incoming);
5580
+ }
5581
+ .str-chat .str-chat__attachment-preview-audio,
5491
5582
  .str-chat .str-chat__attachment-preview-file,
5492
5583
  .str-chat .str-chat__attachment-preview-voice-recording,
5493
5584
  .str-chat .str-chat__attachment-preview-unsupported {
@@ -6067,12 +6158,12 @@ to create clearer separation from the base surface.
6067
6158
  .str-chat .str-chat__message-composer-controls .str-chat__textarea textarea {
6068
6159
  background: transparent;
6069
6160
  color: var(--str-chat__input-text-default);
6161
+ font: var(--str-chat__font-body-default);
6070
6162
  resize: none;
6071
6163
  border: none;
6072
6164
  box-shadow: none;
6073
6165
  outline: none;
6074
6166
  width: 100%;
6075
- font-size: var(--str-chat__typography-font-size-md);
6076
6167
  scrollbar-width: none;
6077
6168
  }
6078
6169
  .str-chat .str-chat__message-composer-controls .str-chat__emoji-picker-button {
@@ -6783,7 +6874,7 @@ to create clearer separation from the base surface.
6783
6874
  padding: var(--str-chat__spacing-xs);
6784
6875
  width: calc(var(--str-chat__message-with-attachment-max-width) - 2 * var(--str-chat__spacing-xs));
6785
6876
  max-width: 100%;
6786
- min-width: 260px;
6877
+ min-width: min(260px, 100%);
6787
6878
  font: var(--str-chat__font-caption-default);
6788
6879
  }
6789
6880
  .str-chat .str-chat__poll button {
@@ -7189,13 +7280,12 @@ to create clearer separation from the base surface.
7189
7280
 
7190
7281
  .str-chat__reaction-selector {
7191
7282
  display: flex;
7192
- padding-inline-start: var(--str-chat__spacing-xxs, 0);
7193
- padding-inline-end: var(--str-chat__spacing-xs, 0);
7194
- padding-block: var(--str-chat__spacing-xxs, 0);
7283
+ padding-inline: var(--str-chat__spacing-xxs);
7284
+ padding-block: var(--str-chat__spacing-xxs);
7195
7285
  align-items: center;
7196
7286
  gap: var(--str-chat__spacing-xs);
7197
- border-radius: var(--str-chat__radius-4xl, 32px);
7198
- background: var(--str-chat__background-core-elevation-2, #fff);
7287
+ border-radius: var(--str-chat__radius-4xl);
7288
+ background: var(--str-chat__background-core-elevation-2);
7199
7289
  box-shadow: var(--str-chat__box-shadow-3);
7200
7290
  }
7201
7291
  .str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list) {
@@ -7237,12 +7327,15 @@ to create clearer separation from the base surface.
7237
7327
  width: var(--str-chat__icon-size-sm);
7238
7328
  height: var(--str-chat__icon-size-sm);
7239
7329
  }
7330
+ .str-chat__reaction-selector:has(.str-chat__reaction-selector__add-button) {
7331
+ padding-inline-end: var(--str-chat__spacing-xs);
7332
+ }
7240
7333
  .str-chat__reaction-selector .str-chat__reaction-selector-list {
7241
7334
  list-style: none;
7242
- margin: var(--str-chat__spacing-none, 0);
7243
- padding: var(--str-chat__spacing-none, 0);
7335
+ margin: var(--str-chat__spacing-none);
7336
+ padding: var(--str-chat__spacing-none);
7244
7337
  display: flex;
7245
- gap: var(--str-chat__space-2, 2px);
7338
+ gap: var(--str-chat__space-2);
7246
7339
  }
7247
7340
  .str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item {
7248
7341
  display: flex;
@@ -7664,8 +7757,7 @@ to create clearer separation from the base surface.
7664
7757
  border: none;
7665
7758
  background: none;
7666
7759
  width: 100%;
7667
- font-size: inherit;
7668
- line-height: inherit;
7760
+ font: inherit;
7669
7761
  }
7670
7762
  .str-chat__search-bar .str-chat__search-bar__input-wrapper .str-chat__search-bar__input:focus {
7671
7763
  outline: none;
@@ -7689,7 +7781,6 @@ to create clearer separation from the base surface.
7689
7781
  min-height: 0;
7690
7782
  }
7691
7783
  .str-chat__search-results .str-chat__search-results-header {
7692
- overflow-x: auto;
7693
7784
  scrollbar-width: none;
7694
7785
  }
7695
7786
  .str-chat__search-results .str-chat__search-results-header .str-chat__search-results-header__filter-source-buttons {