stream-chat-react 14.0.1 → 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 (180) hide show
  1. package/dist/cjs/emojis.js +8 -8
  2. package/dist/cjs/emojis.js.map +1 -1
  3. package/dist/cjs/index.js +18599 -16466
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/{WithAudioPlayback.ba05c770.js → useNotificationApi.f2c7704d.js} +1442 -1363
  6. package/dist/cjs/useNotificationApi.f2c7704d.js.map +1 -0
  7. package/dist/css/index.css +614 -557
  8. package/dist/css/index.css.map +1 -1
  9. package/dist/es/emojis.mjs +1 -1
  10. package/dist/es/index.mjs +18216 -16083
  11. package/dist/es/index.mjs.map +1 -1
  12. package/dist/es/{WithAudioPlayback.610fdf2c.mjs → useNotificationApi.f91ae46b.mjs} +1576 -1497
  13. package/dist/es/useNotificationApi.f91ae46b.mjs.map +1 -0
  14. package/dist/types/a11y/a11yUtils.d.ts +23 -0
  15. package/dist/types/a11y/a11yUtils.d.ts.map +1 -0
  16. package/dist/types/a11y/hooks/useAriaIdentifiers.d.ts +15 -0
  17. package/dist/types/a11y/hooks/useAriaIdentifiers.d.ts.map +1 -0
  18. package/dist/types/a11y/hooks/useResolvedModalAriaProps.d.ts +22 -0
  19. package/dist/types/a11y/hooks/useResolvedModalAriaProps.d.ts.map +1 -0
  20. package/dist/types/components/Accessibility/AriaLiveRegion.d.ts +3 -0
  21. package/dist/types/components/Accessibility/AriaLiveRegion.d.ts.map +1 -0
  22. package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts +14 -0
  23. package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts.map +1 -0
  24. package/dist/types/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts +9 -0
  25. package/dist/types/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts.map +1 -0
  26. package/dist/types/components/Accessibility/index.d.ts +5 -0
  27. package/dist/types/components/Accessibility/index.d.ts.map +1 -0
  28. package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts +9 -0
  29. package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts.map +1 -0
  30. package/dist/types/components/Attachment/Audio.d.ts.map +1 -1
  31. package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts.map +1 -1
  32. package/dist/types/components/Attachment/ModalGallery.d.ts.map +1 -1
  33. package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
  34. package/dist/types/components/AudioPlayback/components/DurationDisplay.d.ts.map +1 -1
  35. package/dist/types/components/AudioPlayback/components/ProgressBar.d.ts +5 -1
  36. package/dist/types/components/AudioPlayback/components/ProgressBar.d.ts.map +1 -1
  37. package/dist/types/components/AudioPlayback/components/WaveProgressBar.d.ts +5 -1
  38. package/dist/types/components/AudioPlayback/components/WaveProgressBar.d.ts.map +1 -1
  39. package/dist/types/components/AudioPlayback/components/formatTime.d.ts +2 -0
  40. package/dist/types/components/AudioPlayback/components/formatTime.d.ts.map +1 -0
  41. package/dist/types/components/AudioPlayback/components/keyboardSeek.d.ts +12 -0
  42. package/dist/types/components/AudioPlayback/components/keyboardSeek.d.ts.map +1 -0
  43. package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts +10 -0
  44. package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts.map +1 -0
  45. package/dist/types/components/Avatar/Avatar.d.ts +1 -1
  46. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  47. package/dist/types/components/BaseImage/BaseImage.d.ts.map +1 -1
  48. package/dist/types/components/Button/PlayButton.d.ts.map +1 -1
  49. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  50. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +2 -0
  51. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
  52. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.d.ts.map +1 -1
  53. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
  54. package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
  55. package/dist/types/components/Chat/Chat.d.ts.map +1 -1
  56. package/dist/types/components/ChatView/ChatView.a11y.utility.d.ts +26 -0
  57. package/dist/types/components/ChatView/ChatView.a11y.utility.d.ts.map +1 -0
  58. package/dist/types/components/ChatView/ChatView.d.ts +9 -0
  59. package/dist/types/components/ChatView/ChatView.d.ts.map +1 -1
  60. package/dist/types/components/Dialog/components/Alert.d.ts +3 -1
  61. package/dist/types/components/Dialog/components/Alert.d.ts.map +1 -1
  62. package/dist/types/components/Dialog/components/ContextMenu.d.ts +31 -6
  63. package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
  64. package/dist/types/components/Dialog/components/Prompt.d.ts +3 -1
  65. package/dist/types/components/Dialog/components/Prompt.d.ts.map +1 -1
  66. package/dist/types/components/Dialog/components/Viewer.d.ts +3 -1
  67. package/dist/types/components/Dialog/components/Viewer.d.ts.map +1 -1
  68. package/dist/types/components/Dialog/service/DialogAnchor.d.ts.map +1 -1
  69. package/dist/types/components/Form/Dropdown.d.ts +2 -1
  70. package/dist/types/components/Form/Dropdown.d.ts.map +1 -1
  71. package/dist/types/components/Form/NumericInput.d.ts.map +1 -1
  72. package/dist/types/components/Form/SwitchField.d.ts +5 -2
  73. package/dist/types/components/Form/SwitchField.d.ts.map +1 -1
  74. package/dist/types/components/Form/TextInput.d.ts.map +1 -1
  75. package/dist/types/components/Icons/BaseIcon.d.ts +4 -1
  76. package/dist/types/components/Icons/BaseIcon.d.ts.map +1 -1
  77. package/dist/types/components/Icons/createIcon.d.ts +6 -3
  78. package/dist/types/components/Icons/createIcon.d.ts.map +1 -1
  79. package/dist/types/components/Icons/icons.d.ts +81 -82
  80. package/dist/types/components/Icons/icons.d.ts.map +1 -1
  81. package/dist/types/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  82. package/dist/types/components/Loading/LoadingIndicator.d.ts +2 -2
  83. package/dist/types/components/Loading/LoadingIndicator.d.ts.map +1 -1
  84. package/dist/types/components/Location/ShareLocationDialog.d.ts +1 -0
  85. package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -1
  86. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
  87. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.d.ts.map +1 -1
  88. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.d.ts.map +1 -1
  89. package/dist/types/components/Message/Message.d.ts.map +1 -1
  90. package/dist/types/components/Message/MessageText.d.ts.map +1 -1
  91. package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
  92. package/dist/types/components/Message/types.d.ts +4 -2
  93. package/dist/types/components/Message/types.d.ts.map +1 -1
  94. package/dist/types/components/MessageActions/DeleteMessageAlert.d.ts.map +1 -1
  95. package/dist/types/components/MessageActions/MessageActions.d.ts.map +1 -1
  96. package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
  97. package/dist/types/components/MessageBounce/MessageBouncePrompt.d.ts.map +1 -1
  98. package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.d.ts.map +1 -1
  99. package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -1
  100. package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts.map +1 -1
  101. package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
  102. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts +2 -1
  103. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -1
  104. package/dist/types/components/MessageComposer/CommandChip.d.ts.map +1 -1
  105. package/dist/types/components/MessageComposer/EditedMessagePreview.d.ts.map +1 -1
  106. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts +4 -2
  107. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -1
  108. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -1
  109. package/dist/types/components/MessageComposer/hooks/index.d.ts +1 -0
  110. package/dist/types/components/MessageComposer/hooks/index.d.ts.map +1 -1
  111. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts +9 -0
  112. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts.map +1 -0
  113. package/dist/types/components/MessageList/MessageList.d.ts.map +1 -1
  114. package/dist/types/components/MessageList/NewMessageNotification.d.ts.map +1 -1
  115. package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts +1 -2
  116. package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts.map +1 -1
  117. package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -1
  118. package/dist/types/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -1
  119. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts +1 -1
  120. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  121. package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +1 -0
  122. package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -1
  123. package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
  124. package/dist/types/components/MessageList/hooks/useReducedMotionPreference.d.ts +2 -0
  125. package/dist/types/components/MessageList/hooks/useReducedMotionPreference.d.ts.map +1 -0
  126. package/dist/types/components/Modal/CloseButtonOnModalOverlay.d.ts.map +1 -1
  127. package/dist/types/components/Modal/GlobalModal.d.ts +9 -1
  128. package/dist/types/components/Modal/GlobalModal.d.ts.map +1 -1
  129. package/dist/types/components/Notifications/Notification.d.ts.map +1 -1
  130. package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -1
  131. package/dist/types/components/Poll/PollActions/AddCommentPrompt.d.ts.map +1 -1
  132. package/dist/types/components/Poll/PollActions/PollAnswerList.d.ts.map +1 -1
  133. package/dist/types/components/Poll/PollActions/PollOptionsFullList.d.ts.map +1 -1
  134. package/dist/types/components/Poll/PollActions/PollResults/PollResults.d.ts.map +1 -1
  135. package/dist/types/components/Poll/PollActions/SuggestPollOptionPrompt.d.ts.map +1 -1
  136. package/dist/types/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts.map +1 -1
  137. package/dist/types/components/Poll/PollCreationDialog/NameField.d.ts.map +1 -1
  138. package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts.map +1 -1
  139. package/dist/types/components/Poll/PollCreationDialog/PollCreationDialog.d.ts.map +1 -1
  140. package/dist/types/components/Poll/PollOptionSelector.d.ts.map +1 -1
  141. package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
  142. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
  143. package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
  144. package/dist/types/components/Search/SearchBar/SearchBar.d.ts.map +1 -1
  145. package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts.map +1 -1
  146. package/dist/types/components/Search/SearchResults/SearchResultsHeader.d.ts.map +1 -1
  147. package/dist/types/components/SkipNavigation/SkipNavigation.d.ts +38 -0
  148. package/dist/types/components/SkipNavigation/SkipNavigation.d.ts.map +1 -0
  149. package/dist/types/components/SkipNavigation/index.d.ts +2 -0
  150. package/dist/types/components/SkipNavigation/index.d.ts.map +1 -0
  151. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts +1 -0
  152. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts.map +1 -1
  153. package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -1
  154. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts +1 -0
  155. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
  156. package/dist/types/components/Threads/ThreadList/ThreadList.d.ts.map +1 -1
  157. package/dist/types/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  158. package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts.map +1 -1
  159. package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts +8 -0
  160. package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts.map +1 -0
  161. package/dist/types/components/VisuallyHidden/VisuallyHidden.d.ts +7 -0
  162. package/dist/types/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  163. package/dist/types/components/VisuallyHidden/index.d.ts +2 -0
  164. package/dist/types/components/VisuallyHidden/index.d.ts.map +1 -0
  165. package/dist/types/components/index.d.ts +3 -0
  166. package/dist/types/components/index.d.ts.map +1 -1
  167. package/dist/types/context/ComponentContext.d.ts +10 -1
  168. package/dist/types/context/ComponentContext.d.ts.map +1 -1
  169. package/dist/types/context/ModalContext.d.ts +1 -0
  170. package/dist/types/context/ModalContext.d.ts.map +1 -1
  171. package/dist/types/context/index.d.ts +1 -0
  172. package/dist/types/context/index.d.ts.map +1 -1
  173. package/dist/types/i18n/Streami18n.d.ts +61 -2
  174. package/dist/types/i18n/Streami18n.d.ts.map +1 -1
  175. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts +1 -0
  176. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts.map +1 -1
  177. package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts.map +1 -1
  178. package/package.json +9 -5
  179. package/dist/cjs/WithAudioPlayback.ba05c770.js.map +0 -1
  180. package/dist/es/WithAudioPlayback.610fdf2c.mjs.map +0 -1
@@ -1,7 +1,16 @@
1
1
  @charset "UTF-8";
2
- @import url("https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap");
3
- @import 'modern-normalize' layer(css-reset);
4
2
  @media (prefers-reduced-motion: reduce) {
3
+ .str-chat,
4
+ .str-chat *,
5
+ .str-chat *::before,
6
+ .str-chat *::after {
7
+ animation-delay: 0ms !important;
8
+ animation-duration: 0.01ms !important;
9
+ animation-iteration-count: 1 !important;
10
+ scroll-behavior: auto !important;
11
+ transition-delay: 0ms !important;
12
+ transition-duration: 0.01ms !important;
13
+ }
5
14
  .str-chat__attachment-selector__menu-button__icon {
6
15
  transform: none;
7
16
  }
@@ -990,9 +999,9 @@
990
999
  .str-chat {
991
1000
  /* The font used in the chat, by default, we use [preinstalled OS fonts](https://systemfontstack.com/) */
992
1001
  --str-chat__font-family:
993
- var(--str-chat__typography-font-family-sans), system-ui, -apple-system,
994
- BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue,
995
- sans-serif;
1002
+ var(--str-chat__typography-font-family-sans), -apple-system, BlinkMacSystemFont,
1003
+ avenir next, avenir, segoe ui, helvetica neue, Adwaita Sans, Cantarell, Ubuntu,
1004
+ roboto, noto, helvetica, arial, sans-serif;
996
1005
  --str-chat__font-heading-xs: normal var(--str-chat__typography-font-weight-semi-bold)
997
1006
  var(--str-chat__typography-font-size-sm) /
998
1007
  var(--str-chat__typography-line-height-normal) var(--str-chat__font-family);
@@ -1085,17 +1094,34 @@ to create clearer separation from the base surface.
1085
1094
  --str-chat__box-shadow-4: var(--str-chat__dark-elevation-4);
1086
1095
  }
1087
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
+ }
1088
1114
  .str-chat {
1089
- font-family: var(--str-chat__font-family);
1090
- font-size: var(--str-chat__typography-font-size-md);
1091
- font-weight: var(--str-chat__typography-font-weight-regular);
1092
- line-height: var(--str-chat__typography-line-height-normal);
1115
+ --str-chat__focus-outline-color: var(--str-chat__border-utility-focused);
1116
+ --str-chat__focus-outline: 2px solid var(--str-chat__focus-outline-color);
1117
+ --str-chat__focus-outline-offset: 2px;
1118
+ font: var(--str-chat__font-body-default);
1093
1119
  letter-spacing: var(--typography-letter-spacing-default);
1094
1120
  color: var(--str-chat__text-primary);
1095
1121
  }
1096
1122
  .str-chat *:not(:disabled):focus-visible {
1097
- outline: 2px solid var(--str-chat__border-utility-focused);
1098
- outline-offset: 2px;
1123
+ outline: var(--str-chat__focus-outline);
1124
+ outline-offset: var(--str-chat__focus-outline-offset, 2px);
1099
1125
  }
1100
1126
  .str-chat {
1101
1127
  /* Chrome, Safari, Edge, Opera */
@@ -1111,6 +1137,10 @@ to create clearer separation from the base surface.
1111
1137
  .str-chat input[type=number] {
1112
1138
  -moz-appearance: textfield;
1113
1139
  }
1140
+ .str-chat input::placeholder,
1141
+ .str-chat textarea::placeholder {
1142
+ color: var(--str-chat__input-text-placeholder);
1143
+ }
1114
1144
 
1115
1145
  .str-chat__icon {
1116
1146
  flex-shrink: 0;
@@ -1208,7 +1238,6 @@ to create clearer separation from the base surface.
1208
1238
  min-height: 16px;
1209
1239
  padding-inline: var(--str-chat__spacing-xxxs);
1210
1240
  border-width: 1px;
1211
- box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.14);
1212
1241
  }
1213
1242
 
1214
1243
  .str-chat__badge--size-md {
@@ -1217,7 +1246,6 @@ to create clearer separation from the base surface.
1217
1246
  min-height: 20px;
1218
1247
  padding-inline: var(--str-chat__spacing-xxs);
1219
1248
  border-width: 2px;
1220
- box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.14);
1221
1249
  }
1222
1250
 
1223
1251
  .str-chat__badge--size-lg {
@@ -1226,22 +1254,20 @@ to create clearer separation from the base surface.
1226
1254
  min-height: 24px;
1227
1255
  padding-inline: var(--str-chat__spacing-xs);
1228
1256
  border-width: 2px;
1229
- box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.14);
1230
1257
  }
1231
1258
 
1232
1259
  .str-chat__badge--variant-counter {
1233
1260
  border-radius: var(--str-chat__radius-max);
1234
1261
  border: 1px solid var(--str-chat__border-core-subtle);
1235
1262
  background: var(--str-chat__badge-bg-default);
1236
- box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.14);
1237
1263
  font: var(--str-chat__font-numeric-xl);
1238
1264
  color: var(--str-chat__badge-text);
1265
+ box-shadow: var(--str-chat__box-shadow-2);
1239
1266
  }
1240
1267
  .str-chat__badge--variant-counter.str-chat__badge--size-xs {
1241
1268
  min-width: 20px;
1242
1269
  min-height: 20px;
1243
1270
  padding-inline: var(--str-chat__spacing-xxs);
1244
- box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.14);
1245
1271
  font: var(--str-chat__font-numeric-md);
1246
1272
  }
1247
1273
  .str-chat__badge--variant-counter.str-chat__badge--size-sm {
@@ -1303,12 +1329,14 @@ to create clearer separation from the base surface.
1303
1329
  flex-direction: column;
1304
1330
  align-items: center;
1305
1331
  justify-content: center;
1332
+ overflow: hidden;
1306
1333
  background-color: var(--str-chat__background-core-overlay-light);
1307
1334
  }
1308
1335
  .str-chat .str-chat__image-placeholder svg {
1309
1336
  fill: var(--str-chat__accent-neutral);
1310
1337
  width: min(var(--str-chat__icon-size-lg, 32px), 50%);
1311
1338
  height: min(var(--str-chat__icon-size-lg, 32px), 50%);
1339
+ flex-shrink: 0;
1312
1340
  }
1313
1341
 
1314
1342
  .str-chat .str-chat__button {
@@ -1316,7 +1344,6 @@ to create clearer separation from the base surface.
1316
1344
  border: none;
1317
1345
  padding: 0;
1318
1346
  position: relative; /* creates positioning context for pseudo ::after overlay */
1319
- overflow: hidden;
1320
1347
  white-space: nowrap;
1321
1348
  cursor: pointer;
1322
1349
  display: flex;
@@ -1494,7 +1521,6 @@ to create clearer separation from the base surface.
1494
1521
  padding: 0;
1495
1522
  background: transparent;
1496
1523
  border-radius: var(--str-chat__radius-md, 0.5rem);
1497
- outline: none;
1498
1524
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
1499
1525
  }
1500
1526
  .str-chat__form-numeric-input__input {
@@ -1505,25 +1531,16 @@ to create clearer separation from the base surface.
1505
1531
  font-size: var(--str-chat__typography-font-size-sm, 0.875rem);
1506
1532
  font-weight: var(--str-chat__typography-font-weight-medium, 500);
1507
1533
  line-height: var(--str-chat__typography-line-height-tight, 1.25);
1508
- color: var(--str-chat__input-text-default, #1a1b25);
1534
+ color: var(--str-chat__input-text-default);
1509
1535
  text-align: center;
1510
1536
  background: transparent;
1511
1537
  border: none;
1512
- outline: none;
1513
1538
  box-shadow: none;
1514
1539
  }
1515
- .str-chat__form-numeric-input__input::placeholder {
1516
- color: var(--str-chat__input-text-placeholder, var(--str-chat__text-tertiary));
1517
- }
1518
1540
  .str-chat__form-numeric-input--disabled .str-chat__form-numeric-input__input {
1519
1541
  color: var(--str-chat__input-text-placeholder);
1520
1542
  cursor: not-allowed;
1521
1543
  }
1522
- .str-chat__form-numeric-input .str-chat__form-numeric-input__input:focus,
1523
- .str-chat__form-numeric-input .str-chat__form-numeric-input__input:focus-visible {
1524
- outline: none;
1525
- box-shadow: none;
1526
- }
1527
1544
 
1528
1545
  .str-chat {
1529
1546
  --str-chat__switch-field-background-color: var(
@@ -1546,25 +1563,25 @@ to create clearer separation from the base surface.
1546
1563
  border-radius: var(--str-chat__switch-field-border-radius);
1547
1564
  box-sizing: border-box;
1548
1565
  }
1549
- .str-chat .str-chat__form__switch-field__input {
1550
- position: absolute;
1551
- width: 1px;
1552
- height: 1px;
1553
- padding: 0;
1554
- margin: -1px;
1555
- overflow: hidden;
1556
- clip: rect(0, 0, 0, 0);
1557
- white-space: nowrap;
1558
- border: 0;
1559
- }
1560
- .str-chat .str-chat__form__switch-field__label {
1566
+ .str-chat .str-chat__form__switch-field .str-chat__form__switch-field__label {
1561
1567
  display: flex;
1562
1568
  align-items: center;
1563
1569
  flex: 1 1 auto;
1564
1570
  min-width: 0;
1565
1571
  cursor: pointer;
1566
1572
  }
1567
- .str-chat .str-chat__form__switch-field__switch {
1573
+ .str-chat .str-chat__form__switch-field .str-chat__form__switch-field__input {
1574
+ position: absolute;
1575
+ inset: 0;
1576
+ z-index: 1;
1577
+ width: 100%;
1578
+ height: 100%;
1579
+ margin: 0;
1580
+ opacity: 0;
1581
+ cursor: pointer;
1582
+ }
1583
+ .str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch {
1584
+ position: relative;
1568
1585
  display: flex;
1569
1586
  align-items: center;
1570
1587
  flex-shrink: 0;
@@ -1576,22 +1593,27 @@ to create clearer separation from the base surface.
1576
1593
  border-radius: var(--str-chat__button-radius-full, 9999px);
1577
1594
  transition: background-color 0.2s ease;
1578
1595
  }
1579
- .str-chat .str-chat__form__switch-field__switch-handle {
1596
+ .str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch-handle {
1580
1597
  width: 16px;
1581
1598
  height: 16px;
1582
1599
  border-radius: var(--str-chat__button-radius-full, 9999px);
1583
1600
  background-color: var(--str-chat__base-white, #ffffff);
1584
1601
  transition: transform 0.2s ease;
1585
1602
  }
1586
- .str-chat .str-chat__form__switch-field__switch--on {
1603
+ .str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch:focus-within {
1604
+ outline: var(--str-chat__focus-outline, 2px solid var(--border-utility-focused));
1605
+ outline-offset: var(--str-chat__focus-outline-offset, 2px);
1606
+ }
1607
+ .str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch--on {
1587
1608
  background-color: var(--str-chat__control-toggle-switch-bg-selected);
1588
1609
  justify-content: flex-end;
1589
1610
  }
1590
- .str-chat .str-chat__form__switch-field__switch--on .str-chat__form__switch-field__switch-handle {
1611
+ .str-chat .str-chat__form__switch-field .str-chat__form__switch-field__switch--on .str-chat__form__switch-field__switch-handle {
1591
1612
  background-color: var(--str-chat__base-white, #ffffff);
1592
1613
  }
1593
1614
  .str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__label,
1594
- .str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__switch {
1615
+ .str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__switch,
1616
+ .str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__input {
1595
1617
  cursor: not-allowed;
1596
1618
  }
1597
1619
  .str-chat .str-chat__form__switch-field--disabled .str-chat__form__switch-field__switch {
@@ -1620,9 +1642,7 @@ to create clearer separation from the base surface.
1620
1642
  }
1621
1643
 
1622
1644
  .str-chat__form-text-input__label {
1623
- font-size: var(--str-chat__typography-font-size-sm);
1624
- font-weight: var(--str-chat__typography-font-weight-medium);
1625
- line-height: var(--str-chat__typography-line-height-tight);
1645
+ font: var(--str-chat__font-heading-xs);
1626
1646
  color: var(--str-chat__text-primary);
1627
1647
  }
1628
1648
 
@@ -1634,7 +1654,6 @@ to create clearer separation from the base surface.
1634
1654
  gap: 0;
1635
1655
  background-color: var(--str-chat__background-core-elevation-0);
1636
1656
  border-radius: var(--str-chat__radius-md);
1637
- outline: none;
1638
1657
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
1639
1658
  }
1640
1659
 
@@ -1653,8 +1672,7 @@ to create clearer separation from the base surface.
1653
1672
  }
1654
1673
 
1655
1674
  .str-chat__form-text-input:focus-within .str-chat__form-text-input__wrapper--outline {
1656
- border: 1px solid var(--input-border-focus);
1657
- box-shadow: 0 0 0 2px var(--border-utility-focus, #c3d9ff);
1675
+ box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
1658
1676
  }
1659
1677
 
1660
1678
  .str-chat__form-text-input--error .str-chat__form-text-input__wrapper--outline {
@@ -1668,12 +1686,11 @@ to create clearer separation from the base surface.
1668
1686
 
1669
1687
  .str-chat__form-text-input:focus-within.str-chat__form-text-input--error .str-chat__form-text-input__wrapper--outline {
1670
1688
  border: 1px solid var(--str-chat__border-utility-error);
1671
- box-shadow: none;
1689
+ box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--border-utility-focused));
1672
1690
  }
1673
1691
 
1674
1692
  .str-chat__form-text-input:focus-within.str-chat__form-text-input--error.str-chat__form-text-input--field-message-inside .str-chat__form-text-input__wrapper--outline {
1675
- border: 1px solid var(--input-border-focus);
1676
- box-shadow: 0 0 0 2px var(--border-utility-focus, #c3d9ff);
1693
+ box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
1677
1694
  }
1678
1695
 
1679
1696
  .str-chat__form-text-input--disabled .str-chat__form-text-input__wrapper--outline {
@@ -1687,7 +1704,7 @@ to create clearer separation from the base surface.
1687
1704
 
1688
1705
  .str-chat__form-text-input:focus-within .str-chat__form-text-input__wrapper--ghost {
1689
1706
  border: none;
1690
- box-shadow: 0 0 0 2px var(--border-utility-focus, #c3d9ff);
1707
+ box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
1691
1708
  }
1692
1709
 
1693
1710
  .str-chat__form-text-input--error .str-chat__form-text-input__wrapper--ghost {
@@ -1702,12 +1719,12 @@ to create clearer separation from the base surface.
1702
1719
 
1703
1720
  .str-chat__form-text-input:focus-within.str-chat__form-text-input--error .str-chat__form-text-input__wrapper--ghost {
1704
1721
  border: 1px solid var(--str-chat__border-utility-error);
1705
- box-shadow: none;
1722
+ box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--border-utility-focused));
1706
1723
  }
1707
1724
 
1708
1725
  .str-chat__form-text-input:focus-within.str-chat__form-text-input--error.str-chat__form-text-input--field-message-inside .str-chat__form-text-input__wrapper--ghost {
1709
1726
  border: none;
1710
- box-shadow: 0 0 0 2px var(--border-utility-focus, #c3d9ff);
1727
+ box-shadow: 0 0 0 2px var(--str-chat__focus-outline-color, var(--str-chat__border-utility-focused));
1711
1728
  }
1712
1729
 
1713
1730
  .str-chat__form-text-input__leading {
@@ -1727,14 +1744,9 @@ to create clearer separation from the base surface.
1727
1744
  background: transparent;
1728
1745
  border: none;
1729
1746
  outline: none;
1730
- outline-style: none;
1731
1747
  box-shadow: none;
1732
1748
  }
1733
1749
 
1734
- .str-chat__form-text-input .str-chat__form-text-input__input::placeholder {
1735
- color: var(--str-chat__input-text-placeholder);
1736
- }
1737
-
1738
1750
  .str-chat__form-text-input.str-chat__form-text-input--disabled .str-chat__form-text-input__input {
1739
1751
  color: var(--str-chat__input-text-placeholder);
1740
1752
  cursor: not-allowed;
@@ -1747,7 +1759,6 @@ to create clearer separation from the base surface.
1747
1759
  .str-chat__form-text-input .str-chat__form-text-input__input:focus,
1748
1760
  .str-chat__form-text-input .str-chat__form-text-input__input:focus-visible {
1749
1761
  outline: none;
1750
- outline-style: none;
1751
1762
  box-shadow: none;
1752
1763
  }
1753
1764
 
@@ -1814,9 +1825,7 @@ to create clearer separation from the base surface.
1814
1825
  border: none;
1815
1826
  }
1816
1827
  .str-chat__form__input-fieldset .str-chat__form__input-fieldset__label {
1817
- font-size: var(--str-chat__typography-font-size-sm);
1818
- font-weight: var(--str-chat__typography-font-weight-medium);
1819
- line-height: var(--str-chat__typography-line-height-tight);
1828
+ font: var(--str-chat__font-heading-xs);
1820
1829
  color: var(--str-chat__text-primary);
1821
1830
  }
1822
1831
  .str-chat__form__input-fieldset .str-chat__form__input-fieldset__values {
@@ -1985,9 +1994,7 @@ to create clearer separation from the base surface.
1985
1994
  .str-chat .str-chat__context-menu .str-chat__context-menu__header {
1986
1995
  width: 100%;
1987
1996
  color: var(--str-chat__text-tertiary);
1988
- font-size: var(--str-chat__typography-font-size-sm);
1989
- font-weight: var(--str-chat__typography-font-weight-semi-bold, 600);
1990
- line-height: var(--str-chat__typography-line-height-tight);
1997
+ font: var(--str-chat__font-caption-emphasis);
1991
1998
  }
1992
1999
  .str-chat .str-chat__context-menu .str-chat__context-menu__back-button {
1993
2000
  background: none;
@@ -2003,9 +2010,7 @@ to create clearer separation from the base surface.
2003
2010
  cursor: pointer;
2004
2011
  border-radius: var(--str-chat__radius-md);
2005
2012
  color: var(--str-chat__text-tertiary);
2006
- font-size: var(--str-chat__typography-font-size-sm);
2007
- font-weight: var(--str-chat__typography-font-weight-semi-bold, 600);
2008
- line-height: var(--str-chat__typography-line-height-tight);
2013
+ font: var(--str-chat__font-caption-emphasis);
2009
2014
  }
2010
2015
  .str-chat .str-chat__context-menu .str-chat__context-menu__back-button:hover:not(:disabled) {
2011
2016
  background-color: var(--str-chat__background-utility-hover);
@@ -2027,15 +2032,16 @@ to create clearer separation from the base surface.
2027
2032
  display: flex;
2028
2033
  flex-direction: column;
2029
2034
  gap: var(--str-chat__spacing-xxxs);
2030
- overflow-x: hidden;
2031
2035
  }
2032
2036
  .str-chat .str-chat__context-menu .str-chat__context-menu__body.str-chat__context-menu__body--submenu-forward {
2037
+ overflow-x: hidden;
2033
2038
  animation-duration: 280ms;
2034
2039
  animation-name: var(--str-chat__context-menu-submenu-forward-animation, str-chat-context-menu-submenu-forward);
2035
2040
  animation-timing-function: cubic-bezier(0.2, 0.95, 0.25, 1);
2036
2041
  transform-origin: var(--str-chat__context-menu-submenu-forward-transform-origin, left center);
2037
2042
  }
2038
2043
  .str-chat .str-chat__context-menu .str-chat__context-menu__body.str-chat__context-menu__body--submenu-backward {
2044
+ overflow-x: hidden;
2039
2045
  animation-duration: 400ms;
2040
2046
  animation-name: var(--str-chat__context-menu-submenu-backward-animation, str-chat-context-menu-submenu-backward);
2041
2047
  animation-timing-function: cubic-bezier(0.16, 0.92, 0.2, 1);
@@ -2054,9 +2060,7 @@ to create clearer separation from the base surface.
2054
2060
  width: 100%;
2055
2061
  padding: var(--str-chat__spacing-xs);
2056
2062
  cursor: pointer;
2057
- font-size: var(--str-chat__typography-font-size-sm);
2058
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
2059
- line-height: var(--str-chat__typography-line-height-tight);
2063
+ font: var(--str-chat__font-caption-emphasis);
2060
2064
  }
2061
2065
  .str-chat .str-chat__context-menu .str-chat__context-menu__button.str-chat__context-menu__button--destructive .str-chat__context-menu__button__label,
2062
2066
  .str-chat .str-chat__context-menu .str-chat__context-menu__button.str-chat__context-menu__button--destructive .str-chat__icon {
@@ -2073,6 +2077,12 @@ to create clearer separation from the base surface.
2073
2077
  }
2074
2078
  .str-chat .str-chat__context-menu .str-chat__context-menu__button:disabled {
2075
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;
2076
2086
  }
2077
2087
  .str-chat .str-chat__context-menu .str-chat__context-menu__button .str-chat__icon {
2078
2088
  height: var(--str-chat__icon-size-sm);
@@ -2087,19 +2097,28 @@ to create clearer separation from the base surface.
2087
2097
  text-overflow: ellipsis;
2088
2098
  flex: auto;
2089
2099
  text-align: start;
2090
- color: var(--str-chat__text-primary);
2091
2100
  white-space: nowrap;
2092
2101
  min-width: 0;
2093
2102
  }
2094
2103
  .str-chat .str-chat__context-menu .str-chat__context-menu__button .str-chat__context-menu__button__details {
2095
2104
  flex: 1;
2096
2105
  color: var(--str-chat__text-tertiary);
2097
- font-weight: var(--str-chat__typography-font-weight-regular);
2106
+ font: var(--str-chat__font-caption-default);
2098
2107
  white-space: nowrap;
2099
2108
  }
2100
2109
  .str-chat .str-chat__context-menu .str-chat__emoji-context-menu__button,
2101
2110
  .str-chat .str-chat__context-menu .str-chat__user-context-menu__button {
2102
- font-weight: var(--str-chat__typography-font-weight-regular, 400);
2111
+ font: var(--str-chat__font-caption-default);
2112
+ }
2113
+ .str-chat .str-chat__context-menu .str-chat__emoji-context-menu__button .str-chat__context-menu__button__emoji,
2114
+ .str-chat .str-chat__context-menu .str-chat__user-context-menu__button .str-chat__context-menu__button__emoji {
2115
+ font-size: var(--str-chat__typography-font-size-md);
2116
+ width: var(--str-chat__typography-font-size-md);
2117
+ height: var(--str-chat__typography-font-size-md);
2118
+ line-height: 0;
2119
+ display: flex;
2120
+ align-items: center;
2121
+ justify-content: center;
2103
2122
  }
2104
2123
  .str-chat [data-str-chat-placement^=right] > .str-chat__context-menu {
2105
2124
  animation: str-chat-context-menu-roll-in-from-left var(--str-chat__menu-roll-duration, 130ms) var(--str-chat__menu-roll-ease);
@@ -2202,6 +2221,7 @@ to create clearer separation from the base surface.
2202
2221
  min-width: 0;
2203
2222
  }
2204
2223
  .str-chat__prompt .str-chat__prompt__header .str-chat__prompt__header__title {
2224
+ margin: 0;
2205
2225
  font: var(--str-chat__font-heading-sm);
2206
2226
  color: var(--str-chat__text-primary);
2207
2227
  }
@@ -2210,6 +2230,7 @@ to create clearer separation from the base surface.
2210
2230
  color: var(--str-chat__text-secondary);
2211
2231
  }
2212
2232
  .str-chat__prompt .str-chat__prompt__header .str-chat__prompt__header__close-button {
2233
+ align-self: flex-start;
2213
2234
  flex-shrink: 0;
2214
2235
  color: var(--str-chat__text-primary);
2215
2236
  }
@@ -2265,6 +2286,7 @@ to create clearer separation from the base surface.
2265
2286
  min-width: 0;
2266
2287
  }
2267
2288
  .str-chat__viewer .str-chat__viewer__header .str-chat__viewer__header__title {
2289
+ margin: 0;
2268
2290
  font: var(--str-chat__font-heading-sm);
2269
2291
  color: var(--str-chat__text-primary);
2270
2292
  }
@@ -2278,6 +2300,7 @@ to create clearer separation from the base surface.
2278
2300
  stroke-width: 1.5px;
2279
2301
  }
2280
2302
  .str-chat__viewer .str-chat__viewer__header .str-chat__viewer__header__close-button {
2303
+ align-self: flex-start;
2281
2304
  flex-shrink: 0;
2282
2305
  color: var(--str-chat__text-primary);
2283
2306
  }
@@ -2500,8 +2523,7 @@ to create clearer separation from the base surface.
2500
2523
  align-items: center;
2501
2524
  justify-content: space-between;
2502
2525
  column-gap: var(--str-chat__space-8);
2503
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
2504
- font-size: var(--str-chat__typography-font-size-sm);
2526
+ font: var(--str-chat__font-caption-emphasis);
2505
2527
  }
2506
2528
  .str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-file--item__name,
2507
2529
  .str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__first-row .str-chat__message-attachment-audio-widget--title,
@@ -2530,7 +2552,7 @@ to create clearer separation from the base surface.
2530
2552
  .str-chat__attachment-list .str-chat__message-attachment-file--item .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__data,
2531
2553
  .str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-file--item__info .str-chat__message-attachment-file--item__data,
2532
2554
  .str-chat__attachment-list .str-chat__message-attachment-audio-widget .str-chat__message-attachment-audio-widget--text .str-chat__message-attachment-file--item__data {
2533
- font-size: var(--str-chat__typography-font-size-xs);
2555
+ font: var(--str-chat__font-metadata-default);
2534
2556
  }
2535
2557
  .str-chat__attachment-list .str-chat__message-attachment-file--item {
2536
2558
  background: transparent;
@@ -2594,16 +2616,15 @@ to create clearer separation from the base surface.
2594
2616
  padding: var(--str-chat__button-padding-y-sm) var(--str-chat__button-padding-x-with-label-sm);
2595
2617
  white-space: nowrap;
2596
2618
  border-collapse: collapse;
2597
- font-size: var(--str-chat__typography-font-size-md);
2598
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
2599
- line-height: var(--str-chat__typography-line-height-normal);
2619
+ font: var(--str-chat__font-body-emphasis);
2600
2620
  }
2601
2621
  .str-chat__message-attachment-actions .str-chat__message-attachment-actions-form .str-chat__message-attachment-actions-button.str-chat__button:active {
2602
2622
  color: var(--str-chat__accent-primary);
2603
2623
  }
2604
2624
  .str-chat__message-attachment-actions .str-chat__message-attachment-actions-form .str-chat__message-attachment-actions-button.str-chat__button:focus-visible {
2605
2625
  color: var(--str-chat__accent-primary);
2606
- outline: none;
2626
+ outline: 2px solid var(--str-chat__border-utility-focused);
2627
+ outline-offset: 2px;
2607
2628
  }
2608
2629
 
2609
2630
  .str-chat__message-attachment-audio-widget {
@@ -2769,19 +2790,17 @@ to create clearer separation from the base surface.
2769
2790
  .str-chat__giphy-badge {
2770
2791
  display: inline-flex;
2771
2792
  height: 24px;
2772
- padding: var(--str-chat__spacing-xxxs, 2px) var(--str-chat__spacing-xs, 8px);
2793
+ padding: var(--str-chat__spacing-xxxs) var(--str-chat__spacing-xs);
2773
2794
  justify-content: center;
2774
2795
  align-items: center;
2775
- gap: var(--str-chat__spacing-xxs, 4px);
2796
+ gap: var(--str-chat__spacing-xxs);
2776
2797
  position: absolute;
2777
2798
  inset-inline-start: 8px;
2778
2799
  bottom: 8px;
2779
- border-radius: var(--str-chat__radius-lg, 12px);
2780
- background-color: var(--str-chat__badge-bg-overlay, rgba(0, 0, 0, 0.75));
2781
- color: var(--str-chat__badge-text-on-accent, #fff);
2782
- font-size: var(--str-chat__typography-font-size-xs, 12px);
2783
- font-weight: var(--str-chat__typography-font-weight-semi-bold, 600);
2784
- line-height: var(--str-chat__typography-line-height-tight, 16px);
2800
+ border-radius: var(--str-chat__radius-lg);
2801
+ background-color: var(--str-chat__badge-bg-overlay);
2802
+ color: var(--str-chat__badge-text-on-accent);
2803
+ font: var(--str-chat__font-metadata-emphasis);
2785
2804
  text-transform: uppercase;
2786
2805
  }
2787
2806
 
@@ -2798,9 +2817,7 @@ to create clearer separation from the base surface.
2798
2817
  gap: var(--str-chat__spacing-xs, 8px);
2799
2818
  align-self: stretch;
2800
2819
  color: var(--chat-text);
2801
- font-size: var(--str-chat__typography-font-size-sm);
2802
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
2803
- line-height: var(--str-chat__typography-line-height-tight);
2820
+ font: var(--str-chat__font-caption-emphasis);
2804
2821
  }
2805
2822
 
2806
2823
  .str-chat__message-attachment-card {
@@ -2847,17 +2864,11 @@ to create clearer separation from the base surface.
2847
2864
  min-width: 0;
2848
2865
  }
2849
2866
  .str-chat__message-attachment-card .str-chat__message-attachment-card--title {
2850
- white-space: nowrap;
2851
- overflow-y: visible;
2852
- overflow-x: hidden;
2853
- overflow-x: clip;
2854
- text-overflow: ellipsis;
2855
- font-size: var(--str-chat__typography-font-size-sm);
2856
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
2867
+ font: var(--str-chat__font-caption-emphasis);
2857
2868
  }
2858
2869
  .str-chat__message-attachment-card .str-chat__message-attachment-card--source-link,
2859
2870
  .str-chat__message-attachment-card .str-chat__message-attachment-card--text {
2860
- font-size: var(--str-chat__typography-font-size-xs);
2871
+ font: var(--str-chat__font-metadata-default);
2861
2872
  }
2862
2873
  .str-chat__message-attachment-card .str-chat__message-attachment-card--title,
2863
2874
  .str-chat__message-attachment-card .str-chat__message-attachment-card--url {
@@ -2873,6 +2884,7 @@ to create clearer separation from the base surface.
2873
2884
  -webkit-line-clamp: 1;
2874
2885
  overflow: hidden;
2875
2886
  text-overflow: ellipsis;
2887
+ font: var(--str-chat__font-metadata-default);
2876
2888
  }
2877
2889
  .str-chat__message-attachment-card .str-chat__message-attachment-card--source-link {
2878
2890
  display: flex;
@@ -2891,12 +2903,15 @@ to create clearer separation from the base surface.
2891
2903
  padding: 0;
2892
2904
  }
2893
2905
  .str-chat__message--has-single-attachment .str-chat__message-attachment-card img {
2894
- height: var(--str-chat__scraped-image-height);
2906
+ aspect-ratio: 1.91/1;
2895
2907
  width: 100%;
2908
+ height: auto;
2909
+ max-height: var(--str-chat__scraped-image-height);
2896
2910
  border-radius: 0;
2897
2911
  }
2898
2912
  .str-chat__message--has-single-attachment .str-chat__message-attachment-card .str-chat__message-attachment-card--header:has(.str-chat__image-placeholder) {
2899
- height: var(--str-chat__scraped-image-height);
2913
+ aspect-ratio: 1.91/1;
2914
+ height: auto;
2900
2915
  }
2901
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 {
2902
2917
  border-radius: 0;
@@ -2912,42 +2927,93 @@ to create clearer separation from the base surface.
2912
2927
  text-overflow: ellipsis;
2913
2928
  }
2914
2929
 
2915
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery {
2916
- 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);
2917
2938
  color: var(--str-chat__text-primary);
2918
2939
  border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__attachment-margin));
2919
2940
  display: grid;
2920
- grid-template-columns: 50% 50%;
2921
- grid-template-rows: 50% 50%;
2941
+ grid-template-columns: 1fr 1fr;
2942
+ grid-template-rows: 1fr 1fr;
2922
2943
  overflow: hidden;
2923
2944
  border-radius: var(--str-chat__radius-lg);
2924
- gap: var(--str-chat__space-2);
2945
+ gap: var(--str-chat__spacing-xxs);
2925
2946
  width: var(--str-chat__attachment-max-width);
2926
- max-width: var(--str-chat__attachment-max-width);
2927
- height: var(--str-chat__attachment-max-width);
2947
+ max-width: 100%;
2948
+ aspect-ratio: 4/3;
2928
2949
  }
2929
- .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 {
2930
2952
  width: 100%;
2931
2953
  height: 100%;
2932
2954
  min-width: 0;
2933
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);
2976
+ }
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);
2934
2984
  }
2935
- .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery.str-chat__modal-gallery--two-images {
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 {
2936
2987
  grid-template-rows: 1fr;
2937
2988
  }
2938
- .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) {
2939
2999
  grid-column: 1;
2940
- grid-row: 1/span 2; /* Span two rows */
3000
+ grid-row: 1/span 2;
3001
+ border-end-start-radius: var(--str-chat__radius-lg);
2941
3002
  }
2942
- .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) {
2943
3005
  grid-column: 2;
2944
3006
  grid-row: 1;
3007
+ border-start-end-radius: var(--str-chat__radius-lg);
2945
3008
  }
2946
- .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) {
2947
3011
  grid-column: 2;
2948
3012
  grid-row: 2;
3013
+ border-end-end-radius: var(--str-chat__radius-lg);
2949
3014
  }
2950
- .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 {
2951
3017
  display: flex;
2952
3018
  align-items: center;
2953
3019
  justify-content: center;
@@ -2989,25 +3055,42 @@ to create clearer separation from the base surface.
2989
3055
  object-fit: cover;
2990
3056
  cursor: zoom-in;
2991
3057
  max-width: var(--str-chat__attachment-max-width);
3058
+ max-height: var(--str-chat__attachment-max-width);
2992
3059
  transition: opacity 150ms ease-in-out;
2993
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
+ }
2994
3067
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
2995
3068
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--loading img,
2996
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;
2997
3071
  opacity: 0;
2998
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
+ }
2999
3081
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
3000
3082
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed,
3001
3083
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed {
3002
3084
  cursor: pointer;
3003
3085
  min-height: 200px;
3086
+ align-items: stretch;
3004
3087
  }
3005
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,
3006
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,
3007
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 {
3008
- width: 100%;
3009
- min-height: 200px;
3010
- align-self: stretch;
3091
+ flex: 1;
3092
+ min-width: 0;
3093
+ height: auto;
3011
3094
  }
3012
3095
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
3013
3096
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image.str-chat__modal-gallery__image--load-failed img,
@@ -3033,7 +3116,7 @@ to create clearer separation from the base surface.
3033
3116
  display: flex;
3034
3117
  align-items: center;
3035
3118
  justify-content: center;
3036
- background-color: var(--chat-bg);
3119
+ background-color: var(--str-chat__background-core-overlay-light);
3037
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%);
3038
3121
  background-repeat: no-repeat;
3039
3122
  background-size: 200% 100%;
@@ -3076,8 +3159,18 @@ to create clearer separation from the base surface.
3076
3159
  .str-chat__attachment-list .str-chat__message-attachment--giphy .str-chat__modal-gallery__image:focus-visible,
3077
3160
  .str-chat__attachment-list .str-chat__message-attachment--gallery .str-chat__modal-gallery__image:focus-visible,
3078
3161
  .str-chat__attachment-list .str-chat__message-attachment--image .str-chat__modal-gallery__image:focus-visible {
3079
- outline: 2px solid var(--str-chat__border-utility-focused);
3080
- 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;
3081
3174
  }
3082
3175
 
3083
3176
  @keyframes str-chat__modal-gallery-loading-shimmer {
@@ -3298,10 +3391,6 @@ to create clearer separation from the base surface.
3298
3391
  border-radius: var(--str-chat__radius-max);
3299
3392
  background: var(--str-chat__avatar-bg-default);
3300
3393
  color: var(--str-chat__avatar-text-default);
3301
- text-align: center;
3302
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
3303
- font-style: normal;
3304
- line-height: 1;
3305
3394
  text-transform: uppercase;
3306
3395
  width: var(--avatar-size);
3307
3396
  height: var(--avatar-size);
@@ -3360,35 +3449,35 @@ to create clearer separation from the base surface.
3360
3449
  --avatar-status-badge-size: 16px;
3361
3450
  --avatar-icon-size: var(--str-chat__icon-size-lg);
3362
3451
  --avatar-icon-stroke-width: 1.5px;
3363
- font-size: var(--str-chat__typography-font-size-xl);
3452
+ font: var(--str-chat__font-heading-lg);
3364
3453
  }
3365
3454
  .str-chat__avatar.str-chat__avatar--size-xl {
3366
3455
  --avatar-size: 48px;
3367
3456
  --avatar-status-badge-size: 16px;
3368
3457
  --avatar-icon-size: var(--str-chat__size-24);
3369
3458
  --avatar-icon-stroke-width: 1.5px;
3370
- font-size: var(--str-chat__typography-font-size-xl);
3459
+ font: var(--str-chat__font-heading-md);
3371
3460
  }
3372
3461
  .str-chat__avatar.str-chat__avatar--size-lg {
3373
3462
  --avatar-size: 40px;
3374
3463
  --avatar-status-badge-size: 14px;
3375
3464
  --avatar-icon-size: var(--str-chat__icon-size-md);
3376
3465
  --avatar-icon-stroke-width: 1.5px;
3377
- font-size: var(--str-chat__typography-font-size-md);
3466
+ font: var(--str-chat__font-body-emphasis);
3378
3467
  }
3379
3468
  .str-chat__avatar.str-chat__avatar--size-md {
3380
3469
  --avatar-size: 32px;
3381
3470
  --avatar-status-badge-size: 12px;
3382
3471
  --avatar-icon-size: var(--str-chat__icon-size-md);
3383
3472
  --avatar-icon-stroke-width: 1.5px;
3384
- font-size: var(--str-chat__typography-font-size-sm);
3473
+ font: var(--str-chat__font-caption-emphasis);
3385
3474
  }
3386
3475
  .str-chat__avatar.str-chat__avatar--size-sm {
3387
3476
  --avatar-size: 24px;
3388
3477
  --avatar-status-badge-size: 8px;
3389
3478
  --avatar-icon-size: var(--str-chat__icon-size-sm);
3390
3479
  --avatar-icon-stroke-width: 1.2px;
3391
- font-size: var(--str-chat__typography-font-size-sm);
3480
+ font: var(--str-chat__font-caption-emphasis);
3392
3481
  }
3393
3482
  .str-chat__avatar.str-chat__avatar--size-sm .str-chat__avatar-status-badge {
3394
3483
  border-width: 1px;
@@ -3398,7 +3487,7 @@ to create clearer separation from the base surface.
3398
3487
  --avatar-status-badge-size: 8px;
3399
3488
  --avatar-icon-size: 10px;
3400
3489
  --avatar-icon-stroke-width: 1.2px;
3401
- font-size: var(--str-chat__typography-font-size-xs);
3490
+ font: var(--str-chat__font-metadata-emphasis);
3402
3491
  }
3403
3492
  .str-chat__avatar.str-chat__avatar--size-xs .str-chat__avatar-status-badge {
3404
3493
  border-width: 1px;
@@ -3441,7 +3530,7 @@ to create clearer separation from the base surface.
3441
3530
  --avatar-group-count-badge-size: 32px;
3442
3531
  }
3443
3532
  .str-chat__avatar-group.str-chat__avatar-group--size-2xl > .str-chat__avatar-group__count-badge {
3444
- font-size: var(--str-chat__typography-font-size-sm);
3533
+ font: var(--str-chat__font-numeric-xl);
3445
3534
  padding-inline: var(--str-chat__spacing-xs);
3446
3535
  }
3447
3536
  .str-chat__avatar-group.str-chat__avatar-group--size-xl {
@@ -3450,7 +3539,7 @@ to create clearer separation from the base surface.
3450
3539
  --avatar-group-count-badge-size: 24px;
3451
3540
  }
3452
3541
  .str-chat__avatar-group.str-chat__avatar-group--size-xl > .str-chat__avatar-group__count-badge {
3453
- font-size: var(--str-chat__typography-font-size-sm);
3542
+ font: var(--str-chat__font-numeric-xl);
3454
3543
  padding-inline: var(--str-chat__spacing-xs);
3455
3544
  }
3456
3545
  .str-chat__avatar-group.str-chat__avatar-group--size-lg {
@@ -3459,7 +3548,7 @@ to create clearer separation from the base surface.
3459
3548
  --avatar-group-count-badge-size: 20px;
3460
3549
  }
3461
3550
  .str-chat__avatar-group.str-chat__avatar-group--size-lg > .str-chat__avatar-group__count-badge {
3462
- font-size: var(--str-chat__typography-font-size-xxs);
3551
+ font: var(--str-chat__font-numeric-md);
3463
3552
  padding-inline: var(--str-chat__spacing-xxs);
3464
3553
  }
3465
3554
  .str-chat__avatar-group.str-chat__avatar-group--online::after, .str-chat__avatar-group.str-chat__avatar-group--offline::after {
@@ -3489,13 +3578,11 @@ to create clearer separation from the base surface.
3489
3578
  height: var(--avatar-group-count-badge-size);
3490
3579
  min-width: var(--avatar-group-count-badge-size);
3491
3580
  min-height: var(--avatar-group-count-badge-size);
3492
- font-weight: var(--str-chat__typography-font-weight-bold);
3493
- font-family: var(--str-chat__typography-font-family-sans);
3494
3581
  justify-content: center;
3495
3582
  align-items: center;
3496
3583
  border-radius: var(--str-chat__radius-max);
3497
3584
  background: var(--str-chat__badge-bg-default);
3498
- box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.14);
3585
+ box-shadow: var(--str-chat__box-shadow-2);
3499
3586
  }
3500
3587
  .str-chat__avatar-group:has(> :last-child:nth-child(4)) > :nth-child(1) {
3501
3588
  top: 0;
@@ -3837,7 +3924,8 @@ to create clearer separation from the base surface.
3837
3924
  border-inline-end: 1px solid var(--str-chat__border-core-default);
3838
3925
  }
3839
3926
  .str-chat__channel-list .str-chat__channel-list-inner {
3840
- height: 100%;
3927
+ flex: 1;
3928
+ min-height: 0;
3841
3929
  overflow: hidden;
3842
3930
  padding-bottom: calc(var(--str-chat__space-8) + var(--str-chat__space-2));
3843
3931
  }
@@ -3921,16 +4009,16 @@ to create clearer separation from the base surface.
3921
4009
  padding: var(--str-chat__spacing-xxs);
3922
4010
  position: relative;
3923
4011
  }
3924
- .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 {
3925
4013
  display: flex;
3926
4014
  }
3927
4015
  .str-chat__channel-list-item-container .str-chat__channel-list-item__action-buttons {
3928
4016
  display: none;
3929
4017
  position: absolute;
3930
4018
  gap: var(--str-chat__spacing-xs);
3931
- border-radius: var(--str-chat__radius-md, 8px);
3932
- background: var(--str-chat__background-core-elevation-3, #fff);
3933
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.06);
4019
+ border-radius: var(--str-chat__radius-md);
4020
+ background: var(--str-chat__background-core-elevation-3);
4021
+ box-shadow: var(--str-chat__box-shadow-2);
3934
4022
  inset-inline-end: 10px;
3935
4023
  top: 10px;
3936
4024
  padding: var(--str-chat__spacing-xxs);
@@ -3956,7 +4044,6 @@ to create clearer separation from the base surface.
3956
4044
  background: none;
3957
4045
  cursor: pointer;
3958
4046
  text-align: start;
3959
- font-family: var(--str-chat__typography-font-family-sans);
3960
4047
  border-radius: var(--str-chat__radius-lg);
3961
4048
  width: 100%;
3962
4049
  background: var(--str-chat__background-core-elevation-1);
@@ -3994,9 +4081,7 @@ to create clearer separation from the base surface.
3994
4081
  display: flex;
3995
4082
  align-items: inherit;
3996
4083
  gap: var(--str-chat__spacing-xxs);
3997
- font-size: var(--str-chat__typography-font-size-sm);
3998
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
3999
- line-height: var(--str-chat__typography-line-height-normal);
4084
+ font: var(--str-chat__font-caption-emphasis);
4000
4085
  color: var(--str-chat__text-primary);
4001
4086
  }
4002
4087
  .str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row .str-chat__channel-list-item-data__title > span {
@@ -4016,10 +4101,8 @@ to create clearer separation from the base surface.
4016
4101
  gap: var(--str-chat__spacing-xs);
4017
4102
  }
4018
4103
  .str-chat__channel-list-item .str-chat__channel-list-item-data .str-chat__channel-list-item-data__first-row .str-chat__channel-list-item-data__timestamp-and-badge .str-chat__channel-list-item-timestamp {
4019
- font-weight: var(--str-chat__typography-font-weight-regular);
4020
- font-size: var(--str-chat__typography-font-size-sm);
4104
+ font: var(--str-chat__font-caption-default);
4021
4105
  color: var(--str-chat__text-tertiary);
4022
- line-height: var(--str-chat__typography-line-height-normal);
4023
4106
  }
4024
4107
 
4025
4108
  .str-chat {
@@ -4057,7 +4140,7 @@ to create clearer separation from the base surface.
4057
4140
  transform: translate3d(0, -50%, 0);
4058
4141
  visibility: visible;
4059
4142
  }
4060
- .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 {
4061
4144
  --str-chat-unread-count-badge-absolute-offset-vertical: 25%;
4062
4145
  gap: 4px;
4063
4146
  padding: var(--str-chat__spacing-xs);
@@ -4068,15 +4151,15 @@ to create clearer separation from the base surface.
4068
4151
  background: transparent;
4069
4152
  color: var(--str-chat__text-tertiary);
4070
4153
  }
4071
- .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] {
4072
4155
  color: var(--str-chat__text-primary);
4073
4156
  background: var(--str-chat__background-core-surface-default);
4074
4157
  }
4075
- .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 {
4076
4159
  height: var(--str-chat__icon-size-md);
4077
4160
  width: var(--str-chat__icon-size-md);
4078
4161
  }
4079
- .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 {
4080
4163
  display: flex;
4081
4164
  flex-direction: column;
4082
4165
  align-items: center;
@@ -4241,6 +4324,10 @@ to create clearer separation from the base surface.
4241
4324
  --str-chat__modal-overlay-color: var(--str-chat__background-core-scrim);
4242
4325
  --str-chat__modal-overlay-backdrop-filter: none;
4243
4326
  }
4327
+ .str-chat.str-chat__modal.str-chat__gallery-modal .str-chat__modal__dialog {
4328
+ width: 100%;
4329
+ height: 100%;
4330
+ }
4244
4331
  .str-chat .str-chat__gallery__header {
4245
4332
  padding: var(--str-chat__spacing-md);
4246
4333
  display: grid;
@@ -4587,9 +4674,6 @@ to create clearer separation from the base surface.
4587
4674
  width: 100%;
4588
4675
  max-width: 520px;
4589
4676
  }
4590
- .str-chat__share-location-dialog .str-chat__prompt__body {
4591
- height: 65px;
4592
- }
4593
4677
  .str-chat__share-location-dialog .str-chat__live-location-activation {
4594
4678
  display: flex;
4595
4679
  flex-direction: column;
@@ -4655,9 +4739,7 @@ to create clearer separation from the base surface.
4655
4739
  display: flex;
4656
4740
  align-items: center;
4657
4741
  width: 2.75rem;
4658
- font-size: var(--str-chat__typography-font-size-sm);
4659
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
4660
- line-height: var(--str-chat__typography-line-height-tight);
4742
+ font: var(--str-chat__font-caption-emphasis);
4661
4743
  }
4662
4744
  .str-chat__audio_recorder .str-chat__audio-recorder__recording-playback .str-chat__recording-timer--hours,
4663
4745
  .str-chat__audio_recorder .str-chat__audio-recorder__recording-preview .str-chat__recording-timer--hours {
@@ -4756,115 +4838,85 @@ to create clearer separation from the base surface.
4756
4838
  /* The maximum allowed width of the message component, if it has attachments */
4757
4839
  --str-chat__message-with-attachment-max-width: 400px;
4758
4840
  }
4759
- .str-chat .str-chat__message.str-chat__message--me {
4760
- --chat-bg: var(--str-chat__chat-bg-outgoing);
4761
- --chat-bg-attachment: var(--str-chat__chat-bg-attachment-outgoing);
4762
- --chat-text: var(--str-chat__chat-text-outgoing);
4763
- --chat-border: var(--str-chat__chat-border-outgoing);
4764
- --chat-border-on-chat: var(--str-chat__chat-border-on-chat-outgoing);
4765
- --chat-reply-indicator: var(--str-chat__chat-reply-indicator-outgoing);
4766
- --chat-poll-progress-track: var(--str-chat__chat-poll-progress-track-outgoing);
4767
- --chat-poll-progress-fill: var(--str-chat__chat-poll-progress-fill-outgoing);
4768
- --chat-thread-connector: var(--str-chat__chat-thread-connector-outgoing);
4769
- }
4770
- .str-chat .str-chat__message.str-chat__message--other {
4771
- --chat-bg: var(--str-chat__chat-bg-incoming);
4772
- --chat-bg-attachment: var(--str-chat__chat-bg-attachment-incoming);
4773
- --chat-text: var(--str-chat__chat-text-incoming);
4774
- --chat-border: var(--str-chat__chat-border-incoming);
4775
- --chat-border-on-chat: var(--str-chat__chat-border-on-chat-incoming);
4776
- --chat-reply-indicator: var(--str-chat__chat-reply-indicator-incoming);
4777
- --chat-poll-progress-track: var(--str-chat__chat-poll-progress-track-incoming);
4778
- --chat-poll-progress-fill: var(--str-chat__chat-poll-progress-fill-incoming);
4779
- --chat-thread-connector: var(--str-chat__chat-thread-connector-incoming);
4780
- }
4781
4841
 
4782
- /* Make spaces between message groups */
4783
- .str-chat__li--top {
4784
- padding-block-start: var(--str-chat__spacing-xs);
4785
- padding-block-end: var(--str-chat__spacing-xxxs);
4842
+ .str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message-options,
4843
+ .str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message-options,
4844
+ .str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message-options,
4845
+ .str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message-options,
4846
+ .str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message-options,
4847
+ .str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message-options {
4848
+ display: flex;
4786
4849
  }
4787
-
4788
- .str-chat__li--bottom {
4789
- padding-block-start: var(--str-chat__spacing-xxxs);
4790
- padding-block-end: var(--str-chat__spacing-xs);
4850
+ .str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
4851
+ .str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
4852
+ .str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--other .str-chat__message-inner,
4853
+ .str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
4854
+ .str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
4855
+ .str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--other .str-chat__message-inner {
4856
+ margin-inline-end: 0;
4791
4857
  }
4792
-
4793
- .str-chat__li--middle {
4794
- padding-block: var(--str-chat__spacing-xxxs);
4858
+ .str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
4859
+ .str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
4860
+ .str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--me .str-chat__message-inner,
4861
+ .str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
4862
+ .str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
4863
+ .str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--me .str-chat__message-inner {
4864
+ margin-inline-start: 0;
4795
4865
  }
4796
4866
 
4797
- .str-chat__li--single {
4798
- padding-block: var(--str-chat__spacing-xs);
4799
- }
4800
-
4801
- .str-chat__message {
4802
- --str-chat-message-options-size: calc(3 * var(--str-chat__message-options-button-size));
4803
- padding-inline: var(--str-chat__message-composer-padding);
4867
+ .str-chat__li:has(.str-chat__message--pinned) {
4868
+ position: relative;
4869
+ isolation: isolate;
4804
4870
  }
4805
- @media (max-width: 767px) {
4806
- .str-chat__message {
4807
- --str-chat-message-options-size: var(--str-chat__message-options-button-size);
4808
- }
4871
+ .str-chat__li:has(.str-chat__message--pinned)::before {
4872
+ content: "";
4873
+ position: absolute;
4874
+ inset-block: 0;
4875
+ inset-inline: -9999px;
4876
+ background-color: var(--str-chat__background-core-highlight);
4877
+ z-index: -1;
4878
+ pointer-events: none;
4809
4879
  }
4810
- .str-chat__message .str-chat__message-bubble {
4811
- width: min(100%, var(--str-chat__message-max-width));
4812
- max-width: var(--str-chat__message-max-width);
4813
- display: flex;
4814
- flex-direction: column;
4815
- gap: var(--str-chat__spacing-xs);
4816
- padding: var(--str-chat__spacing-xs);
4880
+ .str-chat__li:hover:not(:has(.str-chat__reaction-list:hover, .str-chat__modal--open)) {
4881
+ background-color: transparent;
4817
4882
  }
4818
- .str-chat__message .str-chat__message-options {
4819
- --str-chat-icon-height: calc(var(--str-chat__message-options-button-size) * 0.7);
4883
+ .str-chat__li.str-chat__li--top {
4884
+ padding-block-start: var(--str-chat__spacing-xs);
4885
+ padding-block-end: var(--str-chat__spacing-xxxs);
4820
4886
  }
4821
- .str-chat__message a {
4822
- text-decoration: none;
4823
- color: var(--str-chat__chat-text-link);
4887
+ .str-chat__li.str-chat__li--bottom {
4888
+ padding-block-start: var(--str-chat__spacing-xxxs);
4889
+ padding-block-end: var(--str-chat__spacing-xs);
4824
4890
  }
4825
-
4826
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble {
4827
- background-color: transparent;
4828
- overflow: visible;
4891
+ .str-chat__li.str-chat__li--middle {
4892
+ padding-block: var(--str-chat__spacing-xxxs);
4829
4893
  }
4830
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-bubble,
4831
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
4832
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-bubble,
4833
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
4834
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-bubble,
4835
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
4836
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper {
4837
- padding-inline: 0;
4894
+ .str-chat__li.str-chat__li--single {
4895
+ padding-block: var(--str-chat__spacing-xs);
4838
4896
  }
4839
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble {
4840
- font-size: 64px;
4841
- line-height: 64px;
4897
+ .str-chat__li.str-chat__li--middle .str-chat__message .str-chat__message-metadata, .str-chat__li.str-chat__li--top .str-chat__message .str-chat__message-metadata {
4898
+ display: none;
4842
4899
  }
4843
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble {
4844
- font-size: 48px;
4845
- line-height: 48px;
4900
+ .str-chat__li.str-chat__li--middle .str-chat__message > .str-chat__avatar, .str-chat__li.str-chat__li--top .str-chat__message > .str-chat__avatar {
4901
+ visibility: hidden;
4846
4902
  }
4847
- .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble {
4848
- font-size: 32px;
4849
- line-height: 32px;
4903
+ .str-chat__li.str-chat__li--middle .str-chat__message.str-chat__message--with-avatar > .str-chat__avatar, .str-chat__li.str-chat__li--top .str-chat__message.str-chat__message--with-avatar > .str-chat__avatar {
4904
+ pointer-events: none;
4850
4905
  }
4851
- .str-chat__message.str-chat__message--is-emoji-only .str-chat__message-replies-count-button-wrapper::after {
4852
- display: none;
4906
+ .str-chat__li.str-chat__li--middle .str-chat__message-bubble, .str-chat__li.str-chat__li--top .str-chat__message-bubble {
4907
+ border-radius: var(--str-chat__message-bubble-radius-group-middle);
4853
4908
  }
4854
-
4855
- .str-chat__message.str-chat__message--has-attachment {
4856
- --str-chat__message-max-width: var(--str-chat__message-with-attachment-max-width);
4909
+ .str-chat__li.str-chat__li--single .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble, .str-chat__li.str-chat__li--bottom .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble {
4910
+ border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
4857
4911
  }
4858
- .str-chat__message.str-chat__message--has-attachment .str-chat__message-bubble {
4859
- width: min(100%, var(--str-chat__message-max-width));
4860
- max-width: var(--str-chat__message-max-width);
4912
+ .str-chat__li.str-chat__li--single .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text, .str-chat__li.str-chat__li--bottom .str-chat__message--other .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
4913
+ border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
4861
4914
  }
4862
-
4863
- .str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-bubble {
4864
- padding: 0;
4915
+ .str-chat__li.str-chat__li--single .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble, .str-chat__li.str-chat__li--bottom .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble {
4916
+ border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
4865
4917
  }
4866
- .str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-text {
4867
- display: none;
4918
+ .str-chat__li.str-chat__li--single .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text, .str-chat__li.str-chat__li--bottom .str-chat__message--me .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
4919
+ border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
4868
4920
  }
4869
4921
 
4870
4922
  .str-chat__message-mention {
@@ -4873,13 +4925,40 @@ to create clearer separation from the base surface.
4873
4925
  }
4874
4926
 
4875
4927
  .str-chat__message {
4876
- background: transparent;
4877
- color: var(--str-chat__message-color, var(--chat-text));
4928
+ --str-chat-message-options-size: calc(3 * var(--str-chat__message-options-button-size));
4929
+ color: var(--chat-text);
4878
4930
  display: grid;
4879
- word-wrap: break-word;
4880
4931
  word-break: break-word;
4881
4932
  hyphens: auto;
4882
4933
  overflow-wrap: break-word;
4934
+ padding-inline: var(--str-chat__message-composer-padding);
4935
+ }
4936
+ @media (max-width: 767px) {
4937
+ .str-chat__message {
4938
+ --str-chat-message-options-size: var(--str-chat__message-options-button-size);
4939
+ }
4940
+ .str-chat__message.str-chat__message--other .str-chat__message-inner, .str-chat__message.str-chat__message--me .str-chat__message-inner {
4941
+ margin-inline: 0;
4942
+ }
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 {
4944
+ justify-self: flex-start;
4945
+ justify-content: flex-start;
4946
+ min-width: 0;
4947
+ overflow: visible;
4948
+ margin-inline: 0;
4949
+ padding-inline: 0;
4950
+ }
4951
+ }
4952
+ .str-chat__message a {
4953
+ text-decoration: none;
4954
+ color: var(--str-chat__chat-text-link);
4955
+ }
4956
+ .str-chat__message .str-chat__avatar:has(~ .str-chat__message-inner) {
4957
+ grid-area: avatar;
4958
+ align-self: end;
4959
+ }
4960
+ .str-chat__message:not(.str-chat__message--with-avatar) .str-chat__avatar:has(~ .str-chat__message-inner) {
4961
+ display: none;
4883
4962
  }
4884
4963
  .str-chat__message .str-chat__message-pin-indicator {
4885
4964
  grid-area: pin-indicator;
@@ -4903,98 +4982,22 @@ to create clearer separation from the base surface.
4903
4982
  .str-chat__message .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content .str-chat__message-pin-indicator__icon .str-chat__icon path {
4904
4983
  stroke-width: 2px;
4905
4984
  }
4906
- .str-chat__message.str-chat__message--me .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content {
4907
- justify-content: flex-end;
4908
- }
4909
- .str-chat__message.str-chat__message--me .str-chat__message-also-sent-in-channel {
4910
- justify-content: flex-end;
4911
- }
4912
- .str-chat__message.str-chat__message--other {
4913
- column-gap: var(--str-chat__space-8);
4914
- justify-items: flex-start;
4915
- }
4916
- .str-chat__message.str-chat__message--other.str-chat__message--with-avatar {
4917
- grid-template-areas: ". message-saved-for-later" ". pin-indicator" ". also-sent-in-channel" ". message-reminder" ". translation-indicator" "avatar message" "avatar translation-notice" "avatar custom-metadata" "avatar metadata";
4918
- grid-template-columns: auto 1fr;
4919
- }
4920
- .str-chat__message.str-chat__message--other:not(.str-chat__message--with-avatar) {
4921
- grid-template-areas: "message-saved-for-later" "pin-indicator" "also-sent-in-channel" "message-reminder" "translation-indicator" "message" "translation-notice" "custom-metadata" "metadata";
4922
- grid-template-columns: 1fr;
4923
- }
4924
- .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host {
4925
- justify-self: flex-end;
4926
- }
4927
- .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--flipped-horizontally) {
4928
- justify-self: flex-start;
4929
- }
4930
- .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
4931
- padding-inline-start: calc(var(--str-chat__spacing-xs) * -1 * -1);
4932
- margin-inline-end: calc(var(--str-chat__spacing-xs) * -1);
4933
- }
4934
- .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host .str-chat__message-reactions.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom > .str-chat__message-reactions__list {
4935
- justify-content: flex-start;
4936
- flex-wrap: wrap;
4937
- }
4938
- .str-chat__message.str-chat__message--pinned.str-chat__message--other {
4939
- grid-template-areas: ". message-saved-for-later" ". pin-indicator" ". also-sent-in-channel" ". message-reminder" ". translation-indicator" "avatar message" "avatar translation-notice" "avatar custom-metadata" "avatar metadata";
4940
- grid-template-columns: auto 1fr;
4941
- }
4942
- .str-chat__message.str-chat__message--pinned.str-chat__message--me {
4943
- grid-template-areas: "message-saved-for-later ." "pin-indicator ." "also-sent-in-channel ." "message-reminder ." "translation-indicator ." "message avatar" "translation-notice avatar" "custom-metadata avatar" "metadata avatar";
4944
- grid-template-columns: 1fr auto;
4945
- }
4946
- .str-chat__message.str-chat__message--me {
4947
- column-gap: var(--str-chat__space-8);
4948
- justify-items: flex-end;
4949
- }
4950
- .str-chat__message.str-chat__message--me.str-chat__message--with-avatar {
4951
- grid-template-areas: "message-saved-for-later ." "pin-indicator ." "also-sent-in-channel ." "message-reminder ." "translation-indicator ." "message avatar" "translation-notice avatar" "custom-metadata avatar" "metadata avatar";
4952
- grid-template-columns: 1fr auto;
4953
- }
4954
- .str-chat__message.str-chat__message--me:not(.str-chat__message--with-avatar) {
4955
- grid-template-areas: "message-saved-for-later" "pin-indicator" "also-sent-in-channel" "message-reminder" "translation-indicator" "message" "translation-notice" "custom-metadata" "metadata";
4956
- grid-template-columns: 1fr;
4957
- }
4958
- .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host {
4959
- justify-self: flex-start;
4960
- }
4961
- .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--flipped-horizontally) {
4962
- justify-self: flex-end;
4963
- }
4964
- .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
4965
- padding-inline-end: calc(var(--str-chat__spacing-xs) * -1 * -1);
4966
- margin-inline-start: calc(var(--str-chat__spacing-xs) * -1);
4967
- }
4968
- .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host .str-chat__message-reactions.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom > .str-chat__message-reactions__list {
4969
- justify-content: flex-end;
4970
- flex-wrap: wrap;
4971
- }
4972
- .str-chat__message.str-chat__message--blocked {
4973
- grid-template-areas: "message";
4974
- }
4975
- .str-chat__message.str-chat__message--system {
4976
- grid-template-areas: "message";
4977
- grid-template-columns: auto;
4978
- }
4979
- .str-chat__message .str-chat__avatar:has(~ .str-chat__message-inner) {
4980
- grid-area: avatar;
4981
- align-self: end;
4982
- }
4983
- .str-chat__message:not(.str-chat__message--with-avatar) .str-chat__avatar:has(~ .str-chat__message-inner) {
4984
- display: none;
4985
- }
4986
4985
  .str-chat__message .str-chat__message-inner {
4987
4986
  grid-area: message;
4988
4987
  display: grid;
4989
4988
  grid-template-areas: "reactions ." "message-bubble options" "replies replies";
4990
- grid-template-columns: auto 1fr;
4989
+ grid-template-columns: fit-content(var(--str-chat__message-max-width)) auto;
4991
4990
  column-gap: var(--str-chat__space-8);
4992
4991
  position: relative;
4992
+ width: fit-content;
4993
4993
  }
4994
4994
  .str-chat__message .str-chat__message-inner .str-chat__message-reactions-host {
4995
4995
  display: flex;
4996
4996
  grid-area: reactions;
4997
4997
  }
4998
+ .str-chat__message .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom) {
4999
+ max-width: var(--str-chat__message-max-width);
5000
+ }
4998
5001
  .str-chat__message .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
4999
5002
  margin-bottom: calc(var(--str-chat__spacing-xxs) * -1);
5000
5003
  }
@@ -5005,14 +5008,18 @@ to create clearer separation from the base surface.
5005
5008
  grid-template-areas: "message-bubble options" "replies replies" "reactions .";
5006
5009
  }
5007
5010
  .str-chat__message .str-chat__message-inner .str-chat__message-bubble {
5011
+ width: fit-content(var(--str-chat__message-max-width));
5012
+ max-width: min(var(--str-chat__message-max-width), 100%);
5013
+ min-width: 0;
5008
5014
  display: flex;
5015
+ flex-direction: column;
5016
+ gap: var(--str-chat__spacing-xs);
5017
+ padding: var(--str-chat__spacing-xs);
5009
5018
  justify-self: flex-start;
5010
5019
  grid-area: message-bubble;
5011
5020
  position: relative;
5012
- min-width: 0;
5013
5021
  border-radius: var(--str-chat__message-bubble-radius-group-bottom);
5014
- color: var(--str-chat__message-bubble-color, inherit);
5015
- background-color: var(--str-chat__message-bubble-background-color, var(--chat-bg));
5022
+ background-color: var(--chat-bg);
5016
5023
  overflow: hidden;
5017
5024
  }
5018
5025
  .str-chat__message .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
@@ -5022,23 +5029,17 @@ to create clearer separation from the base surface.
5022
5029
  white-space: pre-line;
5023
5030
  margin: 0;
5024
5031
  }
5032
+ .str-chat__message .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text {
5033
+ border-radius: calc(var(--str-chat__message-bubble-radius-group-bottom) - var(--str-chat__spacing-xs));
5034
+ }
5025
5035
  .str-chat__message .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text .str-chat__message-text-inner {
5026
5036
  overflow-y: hidden;
5027
5037
  }
5028
- .str-chat__message.str-chat__message--me .str-chat__message-bubble {
5029
- justify-self: flex-end;
5030
- color: var(--str-chat__own-message-bubble-color, inherit);
5031
- background-color: var(--str-chat__own-message-bubble-background-color, var(--chat-bg));
5032
- }
5033
- .str-chat__message.str-chat__message--me .str-chat__message-inner {
5034
- grid-template-areas: "reminder reminder" ". reactions" "options message-bubble" "replies replies";
5035
- grid-template-columns: 1fr auto;
5036
- }
5037
- .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-options {
5038
- flex-direction: row;
5038
+ .str-chat__message .str-chat__message-inner .str-chat__message-options {
5039
+ display: none;
5039
5040
  }
5040
- .str-chat__message.str-chat__message--me .str-chat__message-inner:has(.str-chat__message-reactions--bottom) {
5041
- grid-template-areas: "reminder reminder" "options message-bubble" "replies replies" ". reactions";
5041
+ .str-chat__message .str-chat__message-inner .str-chat__message-options.str-chat__message-options--active, .str-chat__message .str-chat__message-inner:focus-within .str-chat__message-options {
5042
+ display: flex;
5042
5043
  }
5043
5044
  .str-chat__message .str-chat__message-metadata {
5044
5045
  grid-area: metadata;
@@ -5048,39 +5049,141 @@ to create clearer separation from the base surface.
5048
5049
  align-items: center;
5049
5050
  height: var(--str-chat__size-24);
5050
5051
  color: var(--str-chat__chat-text-timestamp);
5052
+ font: var(--str-chat__font-metadata-default);
5053
+ }
5054
+ .str-chat__message .str-chat__message-metadata .str-chat__message-metadata__name {
5055
+ overflow-y: hidden;
5056
+ margin-inline-end: var(--str-chat__spacing-xxs);
5057
+ }
5058
+ .str-chat__message .str-chat__message-metadata .str-chat__message-edited-indicator {
5059
+ margin-inline-start: var(--str-chat__spacing-xs);
5060
+ }
5061
+ .str-chat__message .str-chat__message--blocked-inner {
5062
+ padding-inline: var(--str-chat__spacing-xxs);
5063
+ }
5064
+ .str-chat__message .str-chat__message--blocked-inner p {
5065
+ white-space: pre-line;
5066
+ margin: 0;
5067
+ }
5068
+ .str-chat__message .str-chat__message--blocked-inner {
5069
+ border-radius: var(--str-chat__radius-md);
5070
+ background-color: var(--chat-bg);
5071
+ padding-block: var(--str-chat__spacing-xs);
5072
+ }
5073
+ .str-chat__message .str-chat__message-error-indicator {
5074
+ display: none;
5075
+ }
5076
+ .str-chat__message .str-chat__message-inner--error {
5077
+ cursor: pointer;
5078
+ }
5079
+ .str-chat__message:not(.str-chat__message--with-avatar) {
5080
+ grid-template-areas: "message-saved-for-later" "pin-indicator" "also-sent-in-channel" "message-reminder" "translation-indicator" "message" "translation-notice" "custom-metadata" "metadata";
5081
+ grid-template-columns: 1fr;
5082
+ }
5083
+ .str-chat__message.str-chat__message--other {
5084
+ column-gap: var(--str-chat__space-8);
5085
+ justify-items: flex-start;
5086
+ --chat-bg: var(--str-chat__chat-bg-incoming);
5087
+ --chat-bg-attachment: var(--str-chat__chat-bg-attachment-incoming);
5088
+ --chat-text: var(--str-chat__chat-text-incoming);
5089
+ --chat-border: var(--str-chat__chat-border-incoming);
5090
+ --chat-border-on-chat: var(--str-chat__chat-border-on-chat-incoming);
5091
+ --chat-reply-indicator: var(--str-chat__chat-reply-indicator-incoming);
5092
+ --chat-poll-progress-track: var(--str-chat__chat-poll-progress-track-incoming);
5093
+ --chat-poll-progress-fill: var(--str-chat__chat-poll-progress-fill-incoming);
5094
+ --chat-thread-connector: var(--str-chat__chat-thread-connector-incoming);
5095
+ }
5096
+ .str-chat__message.str-chat__message--other.str-chat__message--with-avatar, .str-chat__message.str-chat__message--other.str-chat__message--pinned {
5097
+ grid-template-areas: ". message-saved-for-later" ". pin-indicator" ". also-sent-in-channel" ". message-reminder" ". translation-indicator" "avatar message" "avatar translation-notice" "avatar custom-metadata" "avatar metadata";
5098
+ grid-template-columns: auto 1fr;
5099
+ }
5100
+ .str-chat__message.str-chat__message--other.str-chat__message-with-thread-link .str-chat__message-bubble {
5101
+ border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
5102
+ }
5103
+ .str-chat__message.str-chat__message--other.str-chat__message-with-thread-link .str-chat__message-bubble .str-chat__message-text {
5104
+ border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
5105
+ }
5106
+ .str-chat__message.str-chat__message--other .str-chat__message-inner:not(:has(.str-chat__message-options--active)) {
5107
+ margin-inline-end: var(--str-chat-message-options-size);
5108
+ }
5109
+ .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host {
5110
+ justify-self: flex-end;
5111
+ }
5112
+ .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--flipped-horizontally) {
5113
+ justify-self: flex-start;
5114
+ }
5115
+ .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
5116
+ padding-inline-start: calc(var(--str-chat__spacing-xs) * -1 * -1);
5117
+ margin-inline-end: calc(var(--str-chat__spacing-xs) * -1);
5118
+ }
5119
+ .str-chat__message.str-chat__message--other .str-chat__message-inner .str-chat__message-reactions-host .str-chat__message-reactions.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom > .str-chat__message-reactions__list {
5120
+ justify-content: flex-start;
5121
+ flex-wrap: wrap;
5122
+ }
5123
+ .str-chat__message.str-chat__message--me {
5124
+ --chat-bg: var(--str-chat__chat-bg-outgoing);
5125
+ --chat-bg-attachment: var(--str-chat__chat-bg-attachment-outgoing);
5126
+ --chat-text: var(--str-chat__chat-text-outgoing);
5127
+ --chat-border: var(--str-chat__chat-border-outgoing);
5128
+ --chat-border-on-chat: var(--str-chat__chat-border-on-chat-outgoing);
5129
+ --chat-reply-indicator: var(--str-chat__chat-reply-indicator-outgoing);
5130
+ --chat-poll-progress-track: var(--str-chat__chat-poll-progress-track-outgoing);
5131
+ --chat-poll-progress-fill: var(--str-chat__chat-poll-progress-fill-outgoing);
5132
+ --chat-thread-connector: var(--str-chat__chat-thread-connector-outgoing);
5133
+ column-gap: var(--str-chat__spacing-xs);
5134
+ justify-items: flex-end;
5135
+ }
5136
+ .str-chat__message.str-chat__message--me.str-chat__message--with-avatar, .str-chat__message.str-chat__message--me.str-chat__message--pinned {
5137
+ grid-template-areas: "message-saved-for-later ." "pin-indicator ." "also-sent-in-channel ." "message-reminder ." "translation-indicator ." "message avatar" "translation-notice avatar" "custom-metadata avatar" "metadata avatar";
5138
+ grid-template-columns: 1fr auto;
5139
+ }
5140
+ .str-chat__message.str-chat__message--me.str-chat__message-with-thread-link .str-chat__message-bubble {
5141
+ border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
5142
+ }
5143
+ .str-chat__message.str-chat__message--me.str-chat__message-with-thread-link .str-chat__message-bubble .str-chat__message-text {
5144
+ border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
5145
+ }
5146
+ .str-chat__message.str-chat__message--me .str-chat__message-pin-indicator .str-chat__message-pin-indicator__content,
5147
+ .str-chat__message.str-chat__message--me .str-chat__message-also-sent-in-channel {
5148
+ justify-content: flex-end;
5149
+ }
5150
+ .str-chat__message.str-chat__message--me .str-chat__message-bubble {
5151
+ justify-self: flex-end;
5152
+ }
5153
+ .str-chat__message.str-chat__message--me .str-chat__message-inner {
5154
+ grid-template-areas: "reminder reminder" ". reactions" "options message-bubble" "replies replies";
5155
+ grid-template-columns: auto fit-content(var(--str-chat__message-max-width));
5156
+ margin-inline-start: var(--str-chat-message-options-size);
5051
5157
  }
5052
- .str-chat__message .str-chat__message-metadata * {
5053
- font: var(--str-chat__font-metadata-default);
5158
+ .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-options {
5159
+ flex-direction: row;
5054
5160
  }
5055
- .str-chat__message .str-chat__message-metadata .str-chat__message-metadata__name {
5056
- overflow-y: hidden;
5057
- margin-inline-end: var(--str-chat__spacing-xxs);
5161
+ .str-chat__message.str-chat__message--me .str-chat__message-inner:has(.str-chat__message-reactions--bottom) {
5162
+ grid-template-areas: "reminder reminder" "options message-bubble" "replies replies" ". reactions";
5058
5163
  }
5059
- .str-chat__message .str-chat__message-metadata .str-chat__message-edited-indicator {
5060
- margin-inline-start: var(--str-chat__spacing-xs);
5164
+ .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host {
5165
+ justify-self: flex-start;
5061
5166
  }
5062
- .str-chat__message.str-chat__message--me .str-chat__message-metadata {
5063
- justify-content: flex-end;
5064
- text-align: end;
5167
+ .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--flipped-horizontally) {
5168
+ justify-self: flex-end;
5065
5169
  }
5066
- .str-chat__message .str-chat__message--blocked-inner {
5067
- padding-inline: var(--str-chat__spacing-xxs);
5170
+ .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host:has(.str-chat__message-reactions--top) {
5171
+ padding-inline-end: calc(var(--str-chat__spacing-xs) * -1 * -1);
5172
+ margin-inline-start: calc(var(--str-chat__spacing-xs) * -1);
5068
5173
  }
5069
- .str-chat__message .str-chat__message--blocked-inner p {
5070
- white-space: pre-line;
5071
- margin: 0;
5174
+ .str-chat__message.str-chat__message--me .str-chat__message-inner .str-chat__message-reactions-host .str-chat__message-reactions.str-chat__message-reactions--segmented.str-chat__message-reactions--bottom > .str-chat__message-reactions__list {
5175
+ justify-content: flex-end;
5176
+ flex-wrap: wrap;
5072
5177
  }
5073
- .str-chat__message .str-chat__message--blocked-inner {
5074
- border-radius: var(--str-chat__radius-md);
5075
- color: var(--str-chat__blocked-message-color, var(--chat-text));
5076
- background-color: var(--str-chat__blocked-message-background-color, var(--chat-bg));
5077
- padding-block: var(--str-chat__spacing-xs);
5178
+ .str-chat__message.str-chat__message--me .str-chat__message-metadata {
5179
+ justify-content: flex-end;
5180
+ text-align: end;
5078
5181
  }
5079
- .str-chat__message .str-chat__message-error-indicator {
5080
- display: none;
5182
+ .str-chat__message.str-chat__message--blocked, .str-chat__message.str-chat__message--system {
5183
+ grid-template-areas: "message";
5081
5184
  }
5082
- .str-chat__message .str-chat__message-inner--error {
5083
- cursor: pointer;
5185
+ .str-chat__message.str-chat__message--system {
5186
+ grid-template-columns: auto;
5084
5187
  }
5085
5188
  .str-chat__message.str-chat__message--deleted .str-chat__message-bubble {
5086
5189
  padding: var(--str-chat__spacing-sm);
@@ -5095,128 +5198,51 @@ to create clearer separation from the base surface.
5095
5198
  display: block;
5096
5199
  position: absolute;
5097
5200
  top: 8px;
5098
- inset-inline-end: calc(-1 * 18px / 2);
5201
+ inset-inline-end: -9px;
5099
5202
  }
5100
-
5101
- .str-chat__message--highlighted {
5102
- transition: background-color 0.1s ease-out;
5103
- background-color: var(--str-chat__background-core-highlight);
5203
+ .str-chat__message.str-chat__message--has-attachment {
5204
+ --str-chat__message-max-width: var(--str-chat__message-with-attachment-max-width);
5104
5205
  }
5105
-
5106
- .str-chat__li:has(.str-chat__message--pinned) {
5107
- position: relative;
5108
- isolation: isolate;
5206
+ .str-chat__message.str-chat__message--has-attachment .str-chat__message-bubble {
5207
+ width: 100%;
5109
5208
  }
5110
- .str-chat__li:has(.str-chat__message--pinned)::before {
5111
- content: "";
5112
- position: absolute;
5113
- inset-block: 0;
5114
- inset-inline: -9999px;
5115
- background-color: var(--str-chat__background-core-highlight);
5116
- z-index: -1;
5117
- pointer-events: none;
5209
+ .str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-bubble {
5210
+ padding: 0;
5118
5211
  }
5119
-
5120
- /* Fallback for browsers without :has() support */
5121
- @supports not selector(:has(a, b)) {
5122
- .str-chat__message--pinned {
5123
- background-color: var(--str-chat__background-core-highlight);
5124
- }
5212
+ .str-chat__message.str-chat__message--has-single-attachment.str-chat__message--has-giphy-attachment .str-chat__message-text {
5213
+ display: none;
5125
5214
  }
5126
- /* This rule won't be applied in browsers that don't support :has() */
5127
- .str-chat__li:hover:not(:has(.str-chat__reaction-list:hover, .str-chat__modal--open)) {
5215
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble {
5128
5216
  background-color: transparent;
5217
+ overflow: visible;
5129
5218
  }
5130
-
5131
- /* Fallback for when :has() is unsupported */
5132
- @supports not selector(:has(a, b)) {
5133
- .str-chat__li:hover {
5134
- background-color: transparent;
5135
- }
5136
- }
5137
- .str-chat__ul,
5138
- .str-chat__virtual-list {
5139
- /* This rule won't be applied in browsers that don't support :has() */
5140
- }
5141
- .str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message-options,
5142
- .str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message-options,
5143
- .str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message-options,
5144
- .str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message-options,
5145
- .str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message-options,
5146
- .str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message-options {
5147
- display: flex;
5148
- }
5149
- .str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
5150
- .str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
5151
- .str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--other .str-chat__message-inner,
5152
- .str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
5153
- .str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--other .str-chat__message-inner,
5154
- .str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--other .str-chat__message-inner {
5155
- margin-inline-end: 0;
5156
- }
5157
- .str-chat__ul .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
5158
- .str-chat__ul .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
5159
- .str-chat__ul .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--me .str-chat__message-inner,
5160
- .str-chat__virtual-list .str-chat__li:hover:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
5161
- .str-chat__virtual-list .str-chat__li:focus-within:not(:has(.str-chat__modal--open)) .str-chat__message--me .str-chat__message-inner,
5162
- .str-chat__virtual-list .str-chat__li:has(.str-chat__message-options--active) .str-chat__message--me .str-chat__message-inner {
5163
- margin-inline-start: 0;
5164
- }
5165
-
5166
- .str-chat__message-inner .str-chat__message-options.str-chat__message-options--active {
5167
- display: flex;
5168
- }
5169
-
5170
- .str-chat__message-inner .str-chat__message-options {
5171
- display: none;
5219
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-bubble,
5220
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
5221
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-bubble,
5222
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
5223
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper, .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-bubble,
5224
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble .str-chat__message-text,
5225
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-replies-count-button-wrapper {
5226
+ padding-inline: 0;
5172
5227
  }
5173
-
5174
- .str-chat__message-inner:focus-within .str-chat__message-options {
5175
- display: flex;
5228
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-1 .str-chat__message-inner .str-chat__message-bubble {
5229
+ font-size: 64px;
5230
+ line-height: 64px;
5176
5231
  }
5177
-
5178
- .str-chat__message--other .str-chat__message-inner:not(:has(.str-chat__message-options--active)) {
5179
- margin-inline-end: var(--str-chat-message-options-size);
5232
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-2 .str-chat__message-inner .str-chat__message-bubble {
5233
+ font-size: 48px;
5234
+ line-height: 48px;
5180
5235
  }
5181
-
5182
- .str-chat__message--me .str-chat__message-inner {
5183
- margin-inline-start: var(--str-chat-message-options-size);
5236
+ .str-chat__message.str-chat__message--is-emoji-only.str-chat__message--is-emoji-only-count-3 .str-chat__message-inner .str-chat__message-bubble {
5237
+ font-size: 32px;
5238
+ line-height: 32px;
5184
5239
  }
5185
-
5186
- .str-chat__li--middle .str-chat__message .str-chat__message-metadata,
5187
- .str-chat__li--top .str-chat__message .str-chat__message-metadata {
5240
+ .str-chat__message.str-chat__message--is-emoji-only .str-chat__message-replies-count-button-wrapper::after {
5188
5241
  display: none;
5189
5242
  }
5190
- .str-chat__li--middle .str-chat__message > .str-chat__avatar,
5191
- .str-chat__li--top .str-chat__message > .str-chat__avatar {
5192
- visibility: hidden;
5193
- }
5194
-
5195
- .str-chat__li--single .str-chat__message--other .str-chat__message-bubble,
5196
- .str-chat__li--bottom .str-chat__message--other .str-chat__message-bubble {
5197
- border-end-start-radius: var(--str-chat__message-bubble-radius-tail);
5198
- }
5199
- .str-chat__li--single .str-chat__message--me .str-chat__message-bubble,
5200
- .str-chat__li--bottom .str-chat__message--me .str-chat__message-bubble {
5201
- border-end-end-radius: var(--str-chat__message-bubble-radius-tail);
5202
- }
5203
-
5204
- .str-chat__li--top .str-chat__message-bubble,
5205
- .str-chat__li--middle .str-chat__message-bubble {
5206
- border-radius: var(--str-chat__message-bubble-radius-group-middle);
5207
- }
5208
-
5209
- .str-chat__message-with-thread-link.str-chat__message--other .str-chat__message-bubble {
5210
- border-end-start-radius: calc(var(--str-chat__radius-md) / 6);
5211
- }
5212
- .str-chat__message-with-thread-link.str-chat__message--me .str-chat__message-bubble {
5213
- border-end-end-radius: calc(var(--str-chat__radius-md) / 6);
5214
- }
5215
-
5216
- .str-chat__li--top .str-chat__message.str-chat__message--with-avatar > .str-chat__avatar,
5217
- .str-chat__li--middle .str-chat__message.str-chat__message--with-avatar > .str-chat__avatar {
5218
- visibility: hidden;
5219
- pointer-events: none;
5243
+ .str-chat__message.str-chat__message--highlighted {
5244
+ transition: background-color 0.1s ease-out;
5245
+ background-color: var(--str-chat__background-core-highlight);
5220
5246
  }
5221
5247
 
5222
5248
  .str-chat__message-also-sent-in-channel {
@@ -5549,6 +5575,10 @@ to create clearer separation from the base surface.
5549
5575
  gap: var(--str-chat__spacing-md);
5550
5576
  }
5551
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,
5552
5582
  .str-chat .str-chat__attachment-preview-file,
5553
5583
  .str-chat .str-chat__attachment-preview-voice-recording,
5554
5584
  .str-chat .str-chat__attachment-preview-unsupported {
@@ -5682,9 +5712,7 @@ to create clearer separation from the base surface.
5682
5712
  overflow-x: clip;
5683
5713
  text-overflow: ellipsis;
5684
5714
  max-width: 100%;
5685
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
5686
- font-size: var(--str-chat__typography-font-size-sm);
5687
- line-height: var(--str-chat__typography-line-height-tight);
5715
+ font: var(--str-chat__font-caption-emphasis);
5688
5716
  }
5689
5717
  .str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data {
5690
5718
  display: flex;
@@ -5693,9 +5721,7 @@ to create clearer separation from the base surface.
5693
5721
  max-width: 100%;
5694
5722
  gap: var(--str-chat__spacing-xxs);
5695
5723
  color: var(--str-chat__text-secondary);
5696
- font-weight: var(--str-chat__typography-font-weight-regular);
5697
- font-size: var(--str-chat__typography-font-size-xs);
5698
- line-height: var(--str-chat__typography-line-height-tight);
5724
+ font: var(--str-chat__font-metadata-default);
5699
5725
  }
5700
5726
  .str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__loading-indicator,
5701
5727
  .str-chat .str-chat__attachment-preview-file__info .str-chat__attachment-preview-file__data .str-chat__progress-indicator {
@@ -6132,12 +6158,12 @@ to create clearer separation from the base surface.
6132
6158
  .str-chat .str-chat__message-composer-controls .str-chat__textarea textarea {
6133
6159
  background: transparent;
6134
6160
  color: var(--str-chat__input-text-default);
6161
+ font: var(--str-chat__font-body-default);
6135
6162
  resize: none;
6136
6163
  border: none;
6137
6164
  box-shadow: none;
6138
6165
  outline: none;
6139
6166
  width: 100%;
6140
- font-size: var(--str-chat__typography-font-size-md);
6141
6167
  scrollbar-width: none;
6142
6168
  }
6143
6169
  .str-chat .str-chat__message-composer-controls .str-chat__emoji-picker-button {
@@ -6241,9 +6267,8 @@ to create clearer separation from the base surface.
6241
6267
  justify-content: center;
6242
6268
  flex: 1;
6243
6269
  min-width: 0;
6244
- font-size: var(--str-chat__typography-font-size-xs);
6245
- line-height: var(--str-chat__typography-line-height-tight);
6246
6270
  height: 40px;
6271
+ font: var(--str-chat__font-caption-default);
6247
6272
  }
6248
6273
  .str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__author {
6249
6274
  white-space: nowrap;
@@ -6252,7 +6277,7 @@ to create clearer separation from the base surface.
6252
6277
  overflow-x: clip;
6253
6278
  text-overflow: ellipsis;
6254
6279
  overflow-x: hidden;
6255
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
6280
+ font: var(--str-chat__font-caption-emphasis);
6256
6281
  }
6257
6282
  .str-chat .str-chat__quoted-message-preview .str-chat__quoted-message-preview__content .str-chat__quoted-message-preview__message {
6258
6283
  display: flex;
@@ -6604,9 +6629,6 @@ to create clearer separation from the base surface.
6604
6629
  }
6605
6630
 
6606
6631
  .str-chat__virtual-list {
6607
- overflow-y: auto;
6608
- overflow-x: hidden;
6609
- scrollbar-gutter: stable both-edges;
6610
6632
  background: var(--str-chat__background-core-app);
6611
6633
  color: var(--str-chat__text-primary);
6612
6634
  --str-chat__message-list-scroll-max-width: calc(
@@ -6852,7 +6874,7 @@ to create clearer separation from the base surface.
6852
6874
  padding: var(--str-chat__spacing-xs);
6853
6875
  width: calc(var(--str-chat__message-with-attachment-max-width) - 2 * var(--str-chat__spacing-xs));
6854
6876
  max-width: 100%;
6855
- min-width: 260px;
6877
+ min-width: min(260px, 100%);
6856
6878
  font: var(--str-chat__font-caption-default);
6857
6879
  }
6858
6880
  .str-chat .str-chat__poll button {
@@ -6968,6 +6990,9 @@ to create clearer separation from the base surface.
6968
6990
  .str-chat__poll-creation-dialog .str-chat__form__switch-field__label {
6969
6991
  width: 100%;
6970
6992
  }
6993
+ .str-chat__poll-creation-dialog .str-chat__prompt__header__description {
6994
+ display: none;
6995
+ }
6971
6996
  .str-chat__poll-creation-dialog .str-chat__multiple-answers-field__votes-limit-field {
6972
6997
  padding-top: 0;
6973
6998
  }
@@ -7255,13 +7280,12 @@ to create clearer separation from the base surface.
7255
7280
 
7256
7281
  .str-chat__reaction-selector {
7257
7282
  display: flex;
7258
- padding-inline-start: var(--str-chat__spacing-xxs, 0);
7259
- padding-inline-end: var(--str-chat__spacing-xs, 0);
7260
- padding-block: var(--str-chat__spacing-xxs, 0);
7283
+ padding-inline: var(--str-chat__spacing-xxs);
7284
+ padding-block: var(--str-chat__spacing-xxs);
7261
7285
  align-items: center;
7262
7286
  gap: var(--str-chat__spacing-xs);
7263
- border-radius: var(--str-chat__radius-4xl, 32px);
7264
- 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);
7265
7289
  box-shadow: var(--str-chat__box-shadow-3);
7266
7290
  }
7267
7291
  .str-chat__reaction-selector:has(.str-chat__reaction-selector-extended-list) {
@@ -7303,12 +7327,15 @@ to create clearer separation from the base surface.
7303
7327
  width: var(--str-chat__icon-size-sm);
7304
7328
  height: var(--str-chat__icon-size-sm);
7305
7329
  }
7330
+ .str-chat__reaction-selector:has(.str-chat__reaction-selector__add-button) {
7331
+ padding-inline-end: var(--str-chat__spacing-xs);
7332
+ }
7306
7333
  .str-chat__reaction-selector .str-chat__reaction-selector-list {
7307
7334
  list-style: none;
7308
- margin: var(--str-chat__spacing-none, 0);
7309
- padding: var(--str-chat__spacing-none, 0);
7335
+ margin: var(--str-chat__spacing-none);
7336
+ padding: var(--str-chat__spacing-none);
7310
7337
  display: flex;
7311
- gap: var(--str-chat__space-2, 2px);
7338
+ gap: var(--str-chat__space-2);
7312
7339
  }
7313
7340
  .str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item {
7314
7341
  display: flex;
@@ -7333,7 +7360,7 @@ to create clearer separation from the base surface.
7333
7360
  background-color: var(--str-chat__background-utility-pressed);
7334
7361
  }
7335
7362
  .str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button:not(:disabled):focus-visible {
7336
- outline: 2px solid var(--str-chat__border-utility-focused);
7363
+ outline: var(--str-chat__focus-outline, 2px solid var(--str-chat__border-utility-focused));
7337
7364
  outline-offset: -2px;
7338
7365
  }
7339
7366
  .str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button:not(:disabled)[aria-pressed=true] {
@@ -7341,11 +7368,13 @@ to create clearer separation from the base surface.
7341
7368
  }
7342
7369
  .str-chat__reaction-selector .str-chat__reaction-selector-list .str-chat__reaction-selector-list__item-button .str-chat__reaction-icon {
7343
7370
  font-size: var(--str-chat__typography-font-size-2xl);
7344
- line-height: 1;
7371
+ height: var(--str-chat__typography-font-size-2xl);
7372
+ width: var(--str-chat__typography-font-size-2xl);
7373
+ font-family: system-ui;
7374
+ line-height: 0;
7345
7375
  display: flex;
7346
7376
  justify-content: center;
7347
7377
  align-items: center;
7348
- font-family: system-ui, sans-serif;
7349
7378
  }
7350
7379
 
7351
7380
  .str-chat__reaction-selector-extended-list {
@@ -7359,8 +7388,6 @@ to create clearer separation from the base surface.
7359
7388
  height: var(--str-chat__emoji-md);
7360
7389
  width: var(--str-chat__emoji-md);
7361
7390
  font-size: var(--str-chat__emoji-md);
7362
- letter-spacing: var(--typography-letter-spacing-default);
7363
- font-style: normal;
7364
7391
  line-height: 0;
7365
7392
  font-family: system-ui;
7366
7393
  display: flex;
@@ -7404,7 +7431,7 @@ to create clearer separation from the base surface.
7404
7431
  border: 1px solid var(--str-chat__reaction-border);
7405
7432
  background: var(--str-chat__reaction-bg);
7406
7433
  color: var(--str-chat__reaction-text);
7407
- box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.16);
7434
+ box-shadow: var(--str-chat__box-shadow-3);
7408
7435
  font-weight: inherit;
7409
7436
  font-size: inherit;
7410
7437
  line-height: 1;
@@ -7437,7 +7464,6 @@ to create clearer separation from the base surface.
7437
7464
  .str-chat__message-reactions .str-chat__message-reactions__list-item-button .str-chat__message-reactions__list-item-icon {
7438
7465
  font-family: system-ui;
7439
7466
  font-size: var(--str-chat__font-size-size-17);
7440
- font-style: normal;
7441
7467
  line-height: var(--str-chat__typography-line-height-normal);
7442
7468
  }
7443
7469
  .str-chat__message-reactions .str-chat__message-reactions__list-button .str-chat__message-reactions__total-count,
@@ -7498,7 +7524,6 @@ to create clearer separation from the base surface.
7498
7524
  min-width: unset;
7499
7525
  }
7500
7526
  .str-chat__message-reactions-detail {
7501
- font-family: var(--str-chat__typography-font-family-sans);
7502
7527
  box-shadow: var(--str-chat__box-shadow-3);
7503
7528
  padding-block-start: var(--str-chat__spacing-xxs);
7504
7529
  display: flex;
@@ -7513,9 +7538,7 @@ to create clearer separation from the base surface.
7513
7538
  min-height: var(--str-chat__size-32);
7514
7539
  max-height: var(--str-chat__size-32);
7515
7540
  color: var(--str-chat__text-tertiary);
7516
- font-size: var(--str-chat__typography-font-size-sm);
7517
- font-weight: var(--str-chat__typography-font-weight-medium);
7518
- line-height: var(--str-chat__typography-line-height-normal);
7541
+ font: var(--str-chat__font-heading-xs);
7519
7542
  }
7520
7543
  .str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list {
7521
7544
  list-style: none;
@@ -7547,7 +7570,7 @@ to create clearer separation from the base surface.
7547
7570
  border: 1px solid var(--str-chat__reaction-border);
7548
7571
  background: var(--str-chat__reaction-bg);
7549
7572
  color: var(--str-chat__reaction-text);
7550
- box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.16);
7573
+ box-shadow: var(--str-chat__box-shadow-3);
7551
7574
  font-weight: inherit;
7552
7575
  font-size: inherit;
7553
7576
  line-height: 1;
@@ -7579,7 +7602,6 @@ to create clearer separation from the base surface.
7579
7602
  .str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button .str-chat__message-reactions-detail__reaction-type-list-item-icon {
7580
7603
  font-family: system-ui;
7581
7604
  font-size: var(--str-chat__font-size-size-17);
7582
- font-style: normal;
7583
7605
  line-height: var(--str-chat__typography-line-height-normal);
7584
7606
  }
7585
7607
  .str-chat__message-reactions-detail .str-chat__message-reactions-detail__reaction-type-list .str-chat__message-reactions-detail__reaction-type-list-item .str-chat__message-reactions-detail__reaction-type-list-item-button .str-chat__message-reactions-detail__reaction-type-list-item-icon .str-chat__icon {
@@ -7674,7 +7696,6 @@ to create clearer separation from the base surface.
7674
7696
  .str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-icon {
7675
7697
  font-family: system-ui;
7676
7698
  font-size: var(--str-chat__font-size-size-17);
7677
- font-style: normal;
7678
7699
  line-height: var(--str-chat__typography-line-height-normal);
7679
7700
  }
7680
7701
  .str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-info {
@@ -7685,9 +7706,7 @@ to create clearer separation from the base surface.
7685
7706
  }
7686
7707
  .str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-info .str-chat__message-reactions-detail__user-list-item-username {
7687
7708
  color: var(--str-chat__text-primary);
7688
- font-size: var(--str-chat__typography-font-size-sm);
7689
- font-weight: var(--str-chat__typography-font-weight-regular);
7690
- line-height: var(--str-chat__typography-line-height-normal);
7709
+ font: var(--str-chat__font-caption-default);
7691
7710
  }
7692
7711
  .str-chat__message-reactions-detail .str-chat__message-reactions-detail__user-list .str-chat__message-reactions-detail__user-list-item .str-chat__message-reactions-detail__user-list-item-info .str-chat__message-reactions-detail__user-list-item-button {
7693
7712
  padding: unset;
@@ -7707,6 +7726,10 @@ to create clearer separation from the base surface.
7707
7726
  padding-block: var(--str-chat__spacing-xs);
7708
7727
  justify-content: center;
7709
7728
  }
7729
+ .str-chat__search.str-chat__search--active {
7730
+ flex: 1;
7731
+ min-height: 0;
7732
+ }
7710
7733
 
7711
7734
  .str-chat__search-bar {
7712
7735
  padding-inline: var(--str-chat__spacing-md);
@@ -7721,18 +7744,20 @@ to create clearer separation from the base surface.
7721
7744
  border-radius: var(--str-chat__radius-max);
7722
7745
  border: 1px solid var(--str-chat__border-core-default);
7723
7746
  color: var(--str-chat__input-text-placeholder);
7724
- font: var(--str_chat__heading-xs-text);
7725
- font-weight: var(--str-chat__typography-font-weight-regular);
7747
+ font: var(--str-chat__font-caption-default);
7726
7748
  flex-shrink: 1;
7727
7749
  flex-grow: 1;
7728
7750
  }
7751
+ .str-chat__search-bar .str-chat__search-bar__input-wrapper:focus-within {
7752
+ outline: var(--str-chat__focus-outline, 2px solid var(--border-utility-focused));
7753
+ outline-offset: var(--str-chat__focus-outline-offset, 2px);
7754
+ }
7729
7755
  .str-chat__search-bar .str-chat__search-bar__input-wrapper .str-chat__search-bar__input {
7730
7756
  min-height: 24px;
7731
7757
  border: none;
7732
7758
  background: none;
7733
7759
  width: 100%;
7734
- font-size: inherit;
7735
- line-height: inherit;
7760
+ font: inherit;
7736
7761
  }
7737
7762
  .str-chat__search-bar .str-chat__search-bar__input-wrapper .str-chat__search-bar__input:focus {
7738
7763
  outline: none;
@@ -7752,9 +7777,10 @@ to create clearer separation from the base surface.
7752
7777
  display: flex;
7753
7778
  flex-direction: column;
7754
7779
  gap: var(--str-chat__spacing-sm);
7780
+ flex: 1;
7781
+ min-height: 0;
7755
7782
  }
7756
7783
  .str-chat__search-results .str-chat__search-results-header {
7757
- overflow-x: auto;
7758
7784
  scrollbar-width: none;
7759
7785
  }
7760
7786
  .str-chat__search-results .str-chat__search-results-header .str-chat__search-results-header__filter-source-buttons {
@@ -7766,6 +7792,25 @@ to create clearer separation from the base surface.
7766
7792
  flex-shrink: 0;
7767
7793
  }
7768
7794
 
7795
+ .str-chat__search-source-results {
7796
+ flex: 1;
7797
+ display: flex;
7798
+ flex-direction: column;
7799
+ min-height: 0;
7800
+ }
7801
+
7802
+ .str-chat__search-source-result-list {
7803
+ flex: 1;
7804
+ display: flex;
7805
+ flex-direction: column;
7806
+ min-height: 0;
7807
+ }
7808
+ .str-chat__search-source-result-list .str-chat__infinite-scroll-paginator {
7809
+ flex: 1;
7810
+ min-height: 0;
7811
+ scrollbar-gutter: stable both-edges;
7812
+ scrollbar-width: thin;
7813
+ }
7769
7814
  .str-chat__search-source-result-list .str-chat__search-result-container {
7770
7815
  padding: var(--str-chat__spacing-xxs);
7771
7816
  border-bottom: 1px solid var(--str-chat__border-core-subtle);
@@ -7793,7 +7838,7 @@ to create clearer separation from the base surface.
7793
7838
  text-align: start;
7794
7839
  }
7795
7840
  .str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user .str-chat__search-result-data .str-chat__search-result__display-name {
7796
- font: var(--str-chat__font-heading-xs);
7841
+ font: var(--str-chat__font-caption-emphasis);
7797
7842
  color: var(--str-chat__text-primary);
7798
7843
  flex: 1;
7799
7844
  min-width: 0;
@@ -7807,10 +7852,8 @@ to create clearer separation from the base surface.
7807
7852
  text-overflow: ellipsis;
7808
7853
  white-space: nowrap;
7809
7854
  overflow: hidden;
7810
- font-weight: var(--str-chat__typography-font-weight-regular);
7811
- font-size: var(--str-chat__typography-font-size-sm);
7812
7855
  color: var(--str-chat__text-tertiary);
7813
- line-height: var(--str-chat__typography-line-height-normal);
7856
+ font: var(--str-chat__font-caption-default);
7814
7857
  }
7815
7858
  .str-chat__search-source-result-list .str-chat__search-result-container .str-chat__search-result--user {
7816
7859
  background: var(--str-chat__background-core-elevation-1);
@@ -7828,7 +7871,7 @@ to create clearer separation from the base surface.
7828
7871
  .str-chat__search-source-result-list__footer,
7829
7872
  .str-chat__search-results-presearch,
7830
7873
  .str-chat__search-source-results-empty {
7831
- font-size: var(--str-chat__typography-font-size-sm);
7874
+ font: var(--str-chat__font-caption-default);
7832
7875
  color: var(--str-chat__text-tertiary);
7833
7876
  padding-block: var(--str-chat__spacing-xs);
7834
7877
  display: flex;
@@ -7836,6 +7879,27 @@ to create clearer separation from the base surface.
7836
7879
  align-items: center;
7837
7880
  }
7838
7881
 
7882
+ .str-chat__skip-navigation-link {
7883
+ background-color: var(--str-chat__background-color, #fff);
7884
+ border: 1px solid transparent;
7885
+ border-radius: 4px;
7886
+ color: var(--str-chat__text-color, currentColor);
7887
+ left: 0;
7888
+ margin: 8px;
7889
+ padding: 8px 12px;
7890
+ position: absolute;
7891
+ text-decoration: none;
7892
+ top: 0;
7893
+ transform: translateY(-200%);
7894
+ z-index: 2;
7895
+ }
7896
+
7897
+ .str-chat__skip-navigation-link:focus,
7898
+ .str-chat__skip-navigation-link:focus-visible {
7899
+ border: 1px solid var(--accent-primary);
7900
+ transform: translateY(0);
7901
+ }
7902
+
7839
7903
  .str-chat__summarized-message-preview {
7840
7904
  display: flex;
7841
7905
  align-items: center;
@@ -7844,10 +7908,7 @@ to create clearer separation from the base surface.
7844
7908
  flex-shrink: 1;
7845
7909
  min-width: 0;
7846
7910
  color: var(--str-chat__text-secondary);
7847
- font-size: var(--str-chat__typography-font-size-sm);
7848
- font-style: normal;
7849
- font-weight: var(--str-chat__typography-font-weight-regular);
7850
- line-height: var(--str-chat__typography-line-height-normal);
7911
+ font: var(--str-chat__font-caption-default);
7851
7912
  }
7852
7913
  .str-chat__summarized-message-preview .str-chat__icon {
7853
7914
  flex-shrink: 0;
@@ -7877,7 +7938,7 @@ to create clearer separation from the base surface.
7877
7938
  }
7878
7939
  .str-chat__summarized-message-preview .str-chat__summarized-message-preview__sender {
7879
7940
  color: var(--str-chat__text-tertiary);
7880
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
7941
+ font: var(--str-chat__font-caption-emphasis);
7881
7942
  white-space: nowrap;
7882
7943
  overflow: hidden;
7883
7944
  text-overflow: ellipsis;
@@ -7886,10 +7947,8 @@ to create clearer separation from the base surface.
7886
7947
  .str-chat .str-chat__suggestion-list {
7887
7948
  max-height: 320px;
7888
7949
  min-width: 200px;
7889
- overflow-x: hidden;
7890
7950
  overflow-y: auto;
7891
- overscroll-behavior: contain;
7892
- scrollbar-gutter: stable;
7951
+ scrollbar-width: none;
7893
7952
  }
7894
7953
  .str-chat .str-chat__suggestion-list .str-chat__suggestion-list-item--selected {
7895
7954
  background-color: var(--str-chat__dialog-menu-button-hover-background-color);
@@ -8156,9 +8215,7 @@ to create clearer separation from the base surface.
8156
8215
  .str-chat__thread-list-empty-placeholder p {
8157
8216
  margin: 0;
8158
8217
  color: var(--str-chat__text-secondary);
8159
- font-size: var(--str-chat__typography-font-size-sm);
8160
- font-weight: var(--str-chat__typography-font-weight-regular);
8161
- line-height: var(--str-chat__typography-line-height-normal);
8218
+ font: var(--str-chat__font-caption-default);
8162
8219
  }
8163
8220
 
8164
8221
  .str-chat__thread-list__header {
@@ -8231,11 +8288,15 @@ to create clearer separation from the base surface.
8231
8288
  gap: var(--str-chat__spacing-xxs);
8232
8289
  padding-block: var(--str-chat__spacing-xxxs);
8233
8290
  }
8291
+ .str-chat__thread-list-item__content-leading .str-chat__summarized-message-preview {
8292
+ font: var(--str-chat__font-body-default);
8293
+ }
8294
+ .str-chat__thread-list-item__content-leading .str-chat__summarized-message-preview .str-chat__summarized-message-preview__sender {
8295
+ font: var(--str-chat__font-body-emphasis);
8296
+ }
8234
8297
 
8235
8298
  .str-chat__thread-list-item__title {
8236
- font-size: var(--str-chat__typography-font-size-sm);
8237
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
8238
- line-height: var(--str-chat__typography-line-height-normal);
8299
+ font: var(--str-chat__font-caption-emphasis);
8239
8300
  color: var(--str-chat__text-tertiary);
8240
8301
  overflow: hidden;
8241
8302
  text-overflow: ellipsis;
@@ -8255,9 +8316,7 @@ to create clearer separation from the base surface.
8255
8316
  }
8256
8317
 
8257
8318
  .str-chat__thread-list-item__reply-count {
8258
- font-size: var(--str-chat__typography-font-size-sm);
8259
- font-weight: var(--str-chat__typography-font-weight-semi-bold);
8260
- line-height: var(--str-chat__typography-line-height-normal);
8319
+ font: var(--str-chat__font-caption-emphasis);
8261
8320
  color: var(--str-chat__text-link);
8262
8321
  overflow: hidden;
8263
8322
  text-overflow: ellipsis;
@@ -8265,9 +8324,7 @@ to create clearer separation from the base surface.
8265
8324
  }
8266
8325
 
8267
8326
  .str-chat__thread-list-item__timestamp {
8268
- font-size: var(--str-chat__typography-font-size-sm);
8269
- font-weight: var(--str-chat__typography-font-weight-regular);
8270
- line-height: var(--str-chat__typography-line-height-normal);
8327
+ font: var(--str-chat__font-caption-default);
8271
8328
  color: var(--str-chat__text-tertiary);
8272
8329
  white-space: nowrap;
8273
8330
  min-width: 0;