stream-chat-react 14.1.0 → 14.3.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 (52) hide show
  1. package/README.md +7 -9
  2. package/dist/cjs/emojis.js +1 -1
  3. package/dist/cjs/index.js +499 -82
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/{useNotificationApi.fd802923.js → useNotificationApi.f2c7704d.js} +4 -4
  6. package/dist/cjs/{useNotificationApi.fd802923.js.map → useNotificationApi.f2c7704d.js.map} +1 -1
  7. package/dist/css/index.css +167 -72
  8. package/dist/css/index.css.map +1 -1
  9. package/dist/es/emojis.mjs +1 -1
  10. package/dist/es/index.mjs +500 -83
  11. package/dist/es/index.mjs.map +1 -1
  12. package/dist/es/{useNotificationApi.e0c52de6.mjs → useNotificationApi.f91ae46b.mjs} +4 -4
  13. package/dist/es/{useNotificationApi.e0c52de6.mjs.map → useNotificationApi.f91ae46b.mjs.map} +1 -1
  14. package/dist/types/components/BaseImage/BaseImage.d.ts.map +1 -1
  15. package/dist/types/components/ChannelList/ChannelList.d.ts.map +1 -1
  16. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts +12 -1
  17. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  18. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +2 -0
  19. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
  20. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.d.ts.map +1 -1
  21. package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
  22. package/dist/types/components/Form/Dropdown.d.ts +2 -1
  23. package/dist/types/components/Form/Dropdown.d.ts.map +1 -1
  24. package/dist/types/components/Message/MessageText.d.ts.map +1 -1
  25. package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
  26. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts +2 -1
  27. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -1
  28. package/dist/types/components/MessageComposer/EditedMessagePreview.d.ts.map +1 -1
  29. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts +4 -2
  30. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -1
  31. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -1
  32. package/dist/types/components/MessageComposer/hooks/index.d.ts +1 -0
  33. package/dist/types/components/MessageComposer/hooks/index.d.ts.map +1 -1
  34. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts +9 -0
  35. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts.map +1 -0
  36. package/dist/types/components/Notifications/NotificationList.d.ts +58 -1
  37. package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -1
  38. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
  39. package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
  40. package/dist/types/components/Reactions/reactionOptions.d.ts +1 -0
  41. package/dist/types/components/Reactions/reactionOptions.d.ts.map +1 -1
  42. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts +1 -0
  43. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts.map +1 -1
  44. package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -1
  45. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts +1 -0
  46. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
  47. package/dist/types/i18n/Streami18n.d.ts +6 -0
  48. package/dist/types/i18n/Streami18n.d.ts.map +1 -1
  49. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts +1 -0
  50. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts.map +1 -1
  51. package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts.map +1 -1
  52. 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
 
@@ -2006,6 +2018,10 @@ to create clearer separation from the base surface.
2006
2018
  .str-chat .str-chat__context-menu .str-chat__context-menu__back-button:active:not(:disabled) {
2007
2019
  background-color: var(--str-chat__background-utility-pressed);
2008
2020
  }
2021
+ .str-chat .str-chat__context-menu .str-chat__context-menu__back-button:focus:not(:disabled) {
2022
+ outline: 2px solid var(--str-chat__border-utility-focused);
2023
+ outline-offset: 2px;
2024
+ }
2009
2025
  .str-chat .str-chat__context-menu .str-chat__context-menu__back-button:focus-visible:not(:disabled) {
2010
2026
  background-color: transparent;
2011
2027
  }
@@ -2065,6 +2081,12 @@ to create clearer separation from the base surface.
2065
2081
  }
2066
2082
  .str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled {
2067
2083
  background-color: transparent;
2084
+ color: var(--str-chat__text-disabled);
2085
+ cursor: default;
2086
+ }
2087
+ .str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled .str-chat__context-menu__button__details,
2088
+ .str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled .str-chat__icon {
2089
+ color: inherit;
2068
2090
  }
2069
2091
  .str-chat .str-chat__context-menu .str-chat__context-menu__button .str-chat__icon {
2070
2092
  height: var(--str-chat__icon-size-sm);
@@ -2079,7 +2101,6 @@ to create clearer separation from the base surface.
2079
2101
  text-overflow: ellipsis;
2080
2102
  flex: auto;
2081
2103
  text-align: start;
2082
- color: var(--str-chat__text-primary);
2083
2104
  white-space: nowrap;
2084
2105
  min-width: 0;
2085
2106
  }
@@ -2886,12 +2907,15 @@ to create clearer separation from the base surface.
2886
2907
  padding: 0;
2887
2908
  }
2888
2909
  .str-chat__message--has-single-attachment .str-chat__message-attachment-card img {
2889
- height: var(--str-chat__scraped-image-height);
2910
+ aspect-ratio: 1.91/1;
2890
2911
  width: 100%;
2912
+ height: auto;
2913
+ max-height: var(--str-chat__scraped-image-height);
2891
2914
  border-radius: 0;
2892
2915
  }
2893
2916
  .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);
2917
+ aspect-ratio: 1.91/1;
2918
+ height: auto;
2895
2919
  }
2896
2920
  .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
2921
  border-radius: 0;
@@ -2907,42 +2931,93 @@ to create clearer separation from the base surface.
2907
2931
  text-overflow: ellipsis;
2908
2932
  }
2909
2933
 
2910
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery {
2911
- background: transparent;
2934
+ .str-chat__attachment-list .str-chat__message-attachment--gallery,
2935
+ .str-chat__attachment-list .str-chat__message-attachment--image {
2936
+ min-width: 0;
2937
+ max-width: 100%;
2938
+ }
2939
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery,
2940
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery {
2941
+ background-color: var(--chat-bg);
2912
2942
  color: var(--str-chat__text-primary);
2913
2943
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
2914
2944
  display: grid;
2915
- grid-template-columns: 50% 50%;
2916
- grid-template-rows: 50% 50%;
2945
+ grid-template-columns: 1fr 1fr;
2946
+ grid-template-rows: 1fr 1fr;
2917
2947
  overflow: hidden;
2918
2948
  border-radius: var(--str-chat__radius-lg);
2919
- gap: var(--str-chat__space-2);
2949
+ gap: var(--str-chat__spacing-xxs);
2920
2950
  width: var(--str-chat__attachment-max-width);
2921
- max-width: var(--str-chat__attachment-max-width);
2922
- height: var(--str-chat__attachment-max-width);
2951
+ max-width: 100%;
2952
+ aspect-ratio: 4/3;
2923
2953
  }
2924
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image {
2954
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image,
2955
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image {
2925
2956
  width: 100%;
2926
2957
  height: 100%;
2927
2958
  min-width: 0;
2928
2959
  min-height: 0;
2960
+ border-radius: var(--str-chat__radius-md);
2961
+ }
2962
+ .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,
2963
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
2964
+ .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 {
2965
+ min-height: 0;
2966
+ }
2967
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:only-child,
2968
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:only-child {
2969
+ grid-column: 1/-1;
2970
+ grid-row: 1/-1;
2971
+ border-radius: var(--str-chat__radius-lg);
2929
2972
  }
2930
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images {
2973
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(1),
2974
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(1) {
2975
+ border-start-start-radius: var(--str-chat__radius-lg);
2976
+ }
2977
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(2),
2978
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(2) {
2979
+ border-start-end-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(3),
2982
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(3) {
2983
+ border-end-start-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__image:nth-child(4),
2986
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__image:nth-child(4) {
2987
+ border-end-end-radius: var(--str-chat__radius-lg);
2988
+ }
2989
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images,
2990
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery.str-chat__modal-gallery--two-images {
2931
2991
  grid-template-rows: 1fr;
2932
2992
  }
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) {
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(1),
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(1) {
2995
+ border-end-start-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--two-images .str-chat__modal-gallery__image:nth-child(2),
2998
+ .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) {
2999
+ border-end-end-radius: var(--str-chat__radius-lg);
3000
+ }
3001
+ .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),
3002
+ .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
3003
  grid-column: 1;
2935
- grid-row: 1/span 2; /* Span two rows */
3004
+ grid-row: 1/span 2;
3005
+ border-end-start-radius: var(--str-chat__radius-lg);
2936
3006
  }
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) {
3007
+ .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),
3008
+ .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
3009
  grid-column: 2;
2939
3010
  grid-row: 1;
3011
+ border-start-end-radius: var(--str-chat__radius-lg);
2940
3012
  }
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) {
3013
+ .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),
3014
+ .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
3015
  grid-column: 2;
2943
3016
  grid-row: 2;
3017
+ border-end-end-radius: var(--str-chat__radius-lg);
2944
3018
  }
2945
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__placeholder {
3019
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery .str-chat__modal-gallery__placeholder,
3020
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery .str-chat__modal-gallery__placeholder {
2946
3021
  display: flex;
2947
3022
  align-items: center;
2948
3023
  justify-content: center;
@@ -2984,25 +3059,42 @@ to create clearer separation from the base surface.
2984
3059
  object-fit: cover;
2985
3060
  cursor: zoom-in;
2986
3061
  max-width: var(--str-chat__attachment-max-width);
3062
+ max-height: var(--str-chat__attachment-max-width);
2987
3063
  transition: opacity 150ms ease-in-out;
2988
3064
  }
3065
+ .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
3066
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading,
3067
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading {
3068
+ min-height: 200px;
3069
+ align-items: stretch;
3070
+ }
2989
3071
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
2990
3072
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
2991
3073
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img {
3074
+ position: absolute;
2992
3075
  opacity: 0;
2993
3076
  }
3077
+ .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,
3078
+ .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,
3079
+ .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 {
3080
+ position: static;
3081
+ flex: 1;
3082
+ min-width: 0;
3083
+ height: auto;
3084
+ }
2994
3085
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
2995
3086
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
2996
3087
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed {
2997
3088
  cursor: pointer;
2998
3089
  min-height: 200px;
3090
+ align-items: stretch;
2999
3091
  }
3000
3092
  .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
3093
  .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
3094
  .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;
3095
+ flex: 1;
3096
+ min-width: 0;
3097
+ height: auto;
3006
3098
  }
3007
3099
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
3008
3100
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
@@ -3028,7 +3120,7 @@ to create clearer separation from the base surface.
3028
3120
  display: flex;
3029
3121
  align-items: center;
3030
3122
  justify-content: center;
3031
- background-color: var(--chat-bg);
3123
+ background-color: var(--str-chat__background-core-overlay-light);
3032
3124
  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
3125
  background-repeat: no-repeat;
3034
3126
  background-size: 200% 100%;
@@ -3071,8 +3163,18 @@ to create clearer separation from the base surface.
3071
3163
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:focus-visible,
3072
3164
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:focus-visible,
3073
3165
  .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;
3166
+ outline: none;
3167
+ }
3168
+ .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:focus-visible::before,
3169
+ .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:focus-visible::before,
3170
+ .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image:focus-visible::before {
3171
+ content: "";
3172
+ position: absolute;
3173
+ inset: 0;
3174
+ pointer-events: none;
3175
+ border-radius: inherit;
3176
+ box-shadow: inset 0 0 0 2px var(--str-chat__brand-300);
3177
+ z-index: 1;
3076
3178
  }
3077
3179
 
3078
3180
  @keyframes str-chat__modal-gallery-loading-shimmer {
@@ -3829,13 +3931,13 @@ to create clearer separation from the base surface.
3829
3931
  flex: 1;
3830
3932
  min-height: 0;
3831
3933
  overflow: hidden;
3934
+ padding-bottom: calc(var(--str-chat__space-8) + var(--str-chat__space-2));
3832
3935
  }
3833
3936
  .str-chat__channel-list .str-chat__channel-list-inner .str-chat__channel-list-inner__main {
3834
3937
  height: 100%;
3835
3938
  overflow-y: auto;
3836
3939
  scrollbar-gutter: stable both-edges;
3837
3940
  scrollbar-width: thin;
3838
- padding-bottom: calc(var(--str-chat__space-8) + var(--str-chat__space-2));
3839
3941
  }
3840
3942
  .str-chat__channel-list .str-chat__channel-list-inner .str-chat__channel-list-inner__main .str-chat__channel-list-empty {
3841
3943
  height: 100%;
@@ -3911,7 +4013,7 @@ to create clearer separation from the base surface.
3911
4013
  padding: var(--str-chat__spacing-xxs);
3912
4014
  position: relative;
3913
4015
  }
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 {
4016
+ .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
4017
  display: flex;
3916
4018
  }
3917
4019
  .str-chat__channel-list-item-container .str-chat__channel-list-item__action-buttons {
@@ -4042,7 +4144,7 @@ to create clearer separation from the base surface.
4042
4144
  transform: translate3d(0, -50%, 0);
4043
4145
  visibility: visible;
4044
4146
  }
4045
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button {
4147
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button {
4046
4148
  --str-chat-unread-count-badge-absolute-offset-vertical: 25%;
4047
4149
  gap: 4px;
4048
4150
  padding: var(--str-chat__spacing-xs);
@@ -4053,15 +4155,15 @@ to create clearer separation from the base surface.
4053
4155
  background: transparent;
4054
4156
  color: var(--str-chat__text-tertiary);
4055
4157
  }
4056
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button[aria-selected=true] {
4158
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button[aria-selected=true] {
4057
4159
  color: var(--str-chat__text-primary);
4058
4160
  background: var(--str-chat__background-core-surface-default);
4059
4161
  }
4060
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button .str-chat__icon {
4162
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button .str-chat__icon {
4061
4163
  height: var(--str-chat__icon-size-md);
4062
4164
  width: var(--str-chat__icon-size-md);
4063
4165
  }
4064
- .str-chat__chat-view .str-chat__chat-view__selector .str-chat__chat-view__selector-button .str-chat__button__content {
4166
+ .str-chat__chat-view .str-chat__chat-view__selector .str-chat__button.str-chat__chat-view__selector-button .str-chat__button__content {
4065
4167
  display: flex;
4066
4168
  flex-direction: column;
4067
4169
  align-items: center;
@@ -4839,14 +4941,8 @@ to create clearer separation from the base surface.
4839
4941
  .str-chat__message {
4840
4942
  --str-chat-message-options-size: var(--str-chat__message-options-button-size);
4841
4943
  }
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
4944
  .str-chat__message.str-chat__message--other .str-chat__message-inner, .str-chat__message.str-chat__message--me .str-chat__message-inner {
4847
4945
  margin-inline: 0;
4848
- width: fit-content;
4849
- max-width: min(100%, var(--str-chat__message-max-width));
4850
4946
  }
4851
4947
  .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
4948
  justify-self: flex-start;
@@ -4856,15 +4952,6 @@ to create clearer separation from the base surface.
4856
4952
  margin-inline: 0;
4857
4953
  padding-inline: 0;
4858
4954
  }
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
4955
  }
4869
4956
  .str-chat__message a {
4870
4957
  text-decoration: none;
@@ -4903,9 +4990,10 @@ to create clearer separation from the base surface.
4903
4990
  grid-area: message;
4904
4991
  display: grid;
4905
4992
  grid-template-areas: "reactions ." "message-bubble options" "replies replies";
4906
- grid-template-columns: auto 1fr;
4993
+ grid-template-columns: fit-content(var(--str-chat__message-max-width)) auto;
4907
4994
  column-gap: var(--str-chat__space-8);
4908
4995
  position: relative;
4996
+ width: fit-content;
4909
4997
  }
4910
4998
  .str-chat__message .str-chat__message-inner .str-chat__message-reactions-host {
4911
4999
  display: flex;
@@ -4925,7 +5013,7 @@ to create clearer separation from the base surface.
4925
5013
  }
4926
5014
  .str-chat__message .str-chat__message-inner .str-chat__message-bubble {
4927
5015
  width: fit-content(var(--str-chat__message-max-width));
4928
- max-width: var(--str-chat__message-max-width);
5016
+ max-width: min(var(--str-chat__message-max-width), 100%);
4929
5017
  min-width: 0;
4930
5018
  display: flex;
4931
5019
  flex-direction: column;
@@ -5068,7 +5156,7 @@ to create clearer separation from the base surface.
5068
5156
  }
5069
5157
  .str-chat__message.str-chat__message--me .str-chat__message-inner {
5070
5158
  grid-template-areas: "reminder reminder" ". reactions" "options message-bubble" "replies replies";
5071
- grid-template-columns: 1fr auto;
5159
+ grid-template-columns: auto fit-content(var(--str-chat__message-max-width));
5072
5160
  margin-inline-start: var(--str-chat-message-options-size);
5073
5161
  }
5074
5162
  .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-options {
@@ -5119,6 +5207,9 @@ to create clearer separation from the base surface.
5119
5207
  .str-chat__message.str-chat__message--has-attachment {
5120
5208
  --str-chat__message-max-width: var(--str-chat__message-with-attachment-max-width);
5121
5209
  }
5210
+ .str-chat__message.str-chat__message--has-attachment .str-chat__message-bubble {
5211
+ width: 100%;
5212
+ }
5122
5213
  .str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-bubble {
5123
5214
  padding: 0;
5124
5215
  }
@@ -5488,6 +5579,10 @@ to create clearer separation from the base surface.
5488
5579
  gap: var(--str-chat__spacing-md);
5489
5580
  }
5490
5581
  .str-chat .str-chat__attachment-preview-audio,
5582
+ .str-chat .str-chat__attachment-preview-voice-recording {
5583
+ --chat-border-on-chat: var(--str-chat__chat-border-on-chat-incoming);
5584
+ }
5585
+ .str-chat .str-chat__attachment-preview-audio,
5491
5586
  .str-chat .str-chat__attachment-preview-file,
5492
5587
  .str-chat .str-chat__attachment-preview-voice-recording,
5493
5588
  .str-chat .str-chat__attachment-preview-unsupported {
@@ -6067,12 +6162,12 @@ to create clearer separation from the base surface.
6067
6162
  .str-chat .str-chat__message-composer-controls .str-chat__textarea textarea {
6068
6163
  background: transparent;
6069
6164
  color: var(--str-chat__input-text-default);
6165
+ font: var(--str-chat__font-body-default);
6070
6166
  resize: none;
6071
6167
  border: none;
6072
6168
  box-shadow: none;
6073
6169
  outline: none;
6074
6170
  width: 100%;
6075
- font-size: var(--str-chat__typography-font-size-md);
6076
6171
  scrollbar-width: none;
6077
6172
  }
6078
6173
  .str-chat .str-chat__message-composer-controls .str-chat__emoji-picker-button {
@@ -6783,7 +6878,7 @@ to create clearer separation from the base surface.
6783
6878
  padding: var(--str-chat__spacing-xs);
6784
6879
  width: calc(var(--str-chat__message-with-attachment-max-width) - 2 * var(--str-chat__spacing-xs));
6785
6880
  max-width: 100%;
6786
- min-width: 260px;
6881
+ min-width: min(260px, 100%);
6787
6882
  font: var(--str-chat__font-caption-default);
6788
6883
  }
6789
6884
  .str-chat .str-chat__poll button {
@@ -7189,13 +7284,12 @@ to create clearer separation from the base surface.
7189
7284
 
7190
7285
  .str-chat__reaction-selector {
7191
7286
  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);
7287
+ padding-inline: var(--str-chat__spacing-xxs);
7288
+ padding-block: var(--str-chat__spacing-xxs);
7195
7289
  align-items: center;
7196
7290
  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);
7291
+ border-radius: var(--str-chat__radius-4xl);
7292
+ background: var(--str-chat__background-core-elevation-2);
7199
7293
  box-shadow: var(--str-chat__box-shadow-3);
7200
7294
  }
7201
7295
  .str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list) {
@@ -7237,12 +7331,15 @@ to create clearer separation from the base surface.
7237
7331
  width: var(--str-chat__icon-size-sm);
7238
7332
  height: var(--str-chat__icon-size-sm);
7239
7333
  }
7334
+ .str-chat__reaction-selector:has(.str-chat__reaction-selector__add-button) {
7335
+ padding-inline-end: var(--str-chat__spacing-xs);
7336
+ }
7240
7337
  .str-chat__reaction-selector .str-chat__reaction-selector-list {
7241
7338
  list-style: none;
7242
- margin: var(--str-chat__spacing-none, 0);
7243
- padding: var(--str-chat__spacing-none, 0);
7339
+ margin: var(--str-chat__spacing-none);
7340
+ padding: var(--str-chat__spacing-none);
7244
7341
  display: flex;
7245
- gap: var(--str-chat__space-2, 2px);
7342
+ gap: var(--str-chat__space-2);
7246
7343
  }
7247
7344
  .str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item {
7248
7345
  display: flex;
@@ -7664,8 +7761,7 @@ to create clearer separation from the base surface.
7664
7761
  border: none;
7665
7762
  background: none;
7666
7763
  width: 100%;
7667
- font-size: inherit;
7668
- line-height: inherit;
7764
+ font: inherit;
7669
7765
  }
7670
7766
  .str-chat__search-bar .str-chat__search-bar__input-wrapper .str-chat__search-bar__input:focus {
7671
7767
  outline: none;
@@ -7689,7 +7785,6 @@ to create clearer separation from the base surface.
7689
7785
  min-height: 0;
7690
7786
  }
7691
7787
  .str-chat__search-results .str-chat__search-results-header {
7692
- overflow-x: auto;
7693
7788
  scrollbar-width: none;
7694
7789
  }
7695
7790
  .str-chat__search-results .str-chat__search-results-header .str-chat__search-results-header__filter-source-buttons {