stream-chat-react 14.0.0-beta.3 → 14.0.0-beta.5

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/WithAudioPlayback.0c10cb67.js +4638 -0
  2. package/dist/cjs/WithAudioPlayback.0c10cb67.js.map +1 -0
  3. package/dist/cjs/emojis.js +2 -2
  4. package/dist/cjs/emojis.js.map +1 -1
  5. package/dist/cjs/index.js +262 -364
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/css/emoji-replacement.css +34 -0
  8. package/dist/css/emoji-replacement.css.map +1 -0
  9. package/dist/css/index.css +81 -78
  10. package/dist/css/index.css.map +1 -1
  11. package/dist/es/WithAudioPlayback.e7821fd4.mjs +4622 -0
  12. package/dist/es/WithAudioPlayback.e7821fd4.mjs.map +1 -0
  13. package/dist/es/emojis.mjs +2 -2
  14. package/dist/es/emojis.mjs.map +1 -1
  15. package/dist/es/index.mjs +323 -425
  16. package/dist/es/index.mjs.map +1 -1
  17. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts +1 -1
  18. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
  19. package/dist/types/components/Dialog/service/DialogPortal.d.ts.map +1 -1
  20. package/dist/types/components/Form/SwitchField.d.ts.map +1 -1
  21. package/dist/types/components/Form/TextInput.d.ts +2 -2
  22. package/dist/types/components/Form/TextInput.d.ts.map +1 -1
  23. package/dist/types/components/Icons/icons.d.ts +57 -373
  24. package/dist/types/components/Icons/icons.d.ts.map +1 -1
  25. package/dist/types/components/Icons/index.d.ts +0 -1
  26. package/dist/types/components/Icons/index.d.ts.map +1 -1
  27. package/dist/types/components/Loading/LoadingIndicator.d.ts +2 -2
  28. package/dist/types/components/Loading/LoadingIndicator.d.ts.map +1 -1
  29. package/dist/types/components/Message/Message.d.ts.map +1 -1
  30. package/dist/types/components/Message/hooks/useUserRole.d.ts.map +1 -1
  31. package/dist/types/components/Message/types.d.ts +1 -5
  32. package/dist/types/components/Message/types.d.ts.map +1 -1
  33. package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
  34. package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
  35. package/dist/types/components/MessageComposer/MessageComposerUI.d.ts.map +1 -1
  36. package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +1 -1
  37. package/dist/types/components/MessageComposer/preEditSnapshot.d.ts +16 -0
  38. package/dist/types/components/MessageComposer/preEditSnapshot.d.ts.map +1 -0
  39. package/dist/types/components/MessageList/MessageList.d.ts +1 -1
  40. package/dist/types/components/MessageList/MessageList.d.ts.map +1 -1
  41. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts +1 -1
  42. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  43. package/dist/types/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
  44. package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts.map +1 -1
  45. package/dist/types/components/Reactions/MessageReactions.d.ts +4 -16
  46. package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
  47. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +4 -4
  48. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
  49. package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts +4 -2
  50. package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
  51. package/dist/types/components/Reactions/types.d.ts +0 -1
  52. package/dist/types/components/Reactions/types.d.ts.map +1 -1
  53. package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -1
  54. package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
  55. package/dist/types/components/Thread/ThreadHeader.d.ts +1 -1
  56. package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -1
  57. package/dist/types/context/MessageBounceContext.d.ts.map +1 -1
  58. package/dist/types/context/MessageContext.d.ts +1 -5
  59. package/dist/types/context/MessageContext.d.ts.map +1 -1
  60. package/package.json +3 -4
  61. package/dist/assets/icons/stream-chat-icons.eot +0 -0
  62. package/dist/assets/icons/stream-chat-icons.svg +0 -50
  63. package/dist/assets/icons/stream-chat-icons.ttf +0 -0
  64. package/dist/assets/icons/stream-chat-icons.woff +0 -0
  65. package/dist/assets/icons/stream-chat-icons.woff2 +0 -0
  66. package/dist/cjs/WithAudioPlayback.4a84360f.js +0 -4727
  67. package/dist/cjs/WithAudioPlayback.4a84360f.js.map +0 -1
  68. package/dist/css/v2/emoji-mart.css +0 -1
  69. package/dist/css/v2/emoji-replacement.css +0 -1
  70. package/dist/css/v2/index.css +0 -1
  71. package/dist/css/v2/index.layout.css +0 -1
  72. package/dist/es/WithAudioPlayback.a3d5a2fc.mjs +0 -4711
  73. package/dist/es/WithAudioPlayback.a3d5a2fc.mjs.map +0 -1
  74. package/dist/scss/v2/AIStateIndicator/AIStateIndicator-layout.scss +0 -3
  75. package/dist/scss/v2/AIStateIndicator/AIStateIndicator-theme.scss +0 -7
  76. package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +0 -701
  77. package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +0 -605
  78. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-layout.scss +0 -141
  79. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-theme.scss +0 -190
  80. package/dist/scss/v2/AudioRecorder/AudioRecorder-layout.scss +0 -139
  81. package/dist/scss/v2/AudioRecorder/AudioRecorder-theme.scss +0 -61
  82. package/dist/scss/v2/Autocomplete/Autocomplete-layout.scss +0 -94
  83. package/dist/scss/v2/Autocomplete/Autocomplete-theme.scss +0 -220
  84. package/dist/scss/v2/Avatar/Avatar-layout.scss +0 -137
  85. package/dist/scss/v2/Avatar/Avatar-theme.scss +0 -64
  86. package/dist/scss/v2/BaseImage/BaseImage-layout.scss +0 -21
  87. package/dist/scss/v2/BaseImage/BaseImage-theme.scss +0 -35
  88. package/dist/scss/v2/BaseImage/index.scss +0 -2
  89. package/dist/scss/v2/Channel/Channel-layout.scss +0 -141
  90. package/dist/scss/v2/Channel/Channel-theme.scss +0 -100
  91. package/dist/scss/v2/ChannelHeader/ChannelHeader-layout.scss +0 -27
  92. package/dist/scss/v2/ChannelHeader/ChannelHeader-theme.scss +0 -43
  93. package/dist/scss/v2/ChannelList/ChannelList-layout.scss +0 -65
  94. package/dist/scss/v2/ChannelList/ChannelList-theme.scss +0 -89
  95. package/dist/scss/v2/ChannelPreview/ChannelPreview-layout.scss +0 -126
  96. package/dist/scss/v2/ChannelPreview/ChannelPreview-theme.scss +0 -148
  97. package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +0 -122
  98. package/dist/scss/v2/ChannelSearch/ChannelSearch-theme.scss +0 -238
  99. package/dist/scss/v2/ChatView/ChatView-layout.scss +0 -43
  100. package/dist/scss/v2/ChatView/ChatView-theme.scss +0 -32
  101. package/dist/scss/v2/Dialog/Dialog-layout.scss +0 -70
  102. package/dist/scss/v2/Dialog/Dialog-theme.scss +0 -103
  103. package/dist/scss/v2/DragAndDropContainer/DragAndDropContainer-layout.scss +0 -5
  104. package/dist/scss/v2/DragAndDropContainer/DragAndDropContainer-theme.scss +0 -47
  105. package/dist/scss/v2/DropzoneContainer/DropzoneContainer-layout.scss +0 -14
  106. package/dist/scss/v2/DropzoneContainer/DropzoneContainer-theme.scss +0 -17
  107. package/dist/scss/v2/EditMessageForm/EditMessageForm-layout.scss +0 -51
  108. package/dist/scss/v2/EditMessageForm/EditMessageForm-theme.scss +0 -50
  109. package/dist/scss/v2/Form/Form-layout.scss +0 -49
  110. package/dist/scss/v2/Form/Form-theme.scss +0 -82
  111. package/dist/scss/v2/Icon/Icon-layout.scss +0 -98
  112. package/dist/scss/v2/Icon/Icon-theme.scss +0 -17
  113. package/dist/scss/v2/ImageCarousel/ImageCarousel-layout.scss +0 -51
  114. package/dist/scss/v2/ImageCarousel/ImageCarousel-theme.scss +0 -30
  115. package/dist/scss/v2/InfiniteScrollPaginator/InfiniteScrollPaginator-layout.scss +0 -4
  116. package/dist/scss/v2/LinkPreview/LinkPreview-layout.scss +0 -67
  117. package/dist/scss/v2/LinkPreview/LinkPreview-theme.scss +0 -32
  118. package/dist/scss/v2/LinkPreview/index.scss +0 -2
  119. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-layout.scss +0 -64
  120. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-theme.scss +0 -14
  121. package/dist/scss/v2/Location/Location-layout.scss +0 -52
  122. package/dist/scss/v2/Location/Location-theme.scss +0 -32
  123. package/dist/scss/v2/Message/Message-layout.scss +0 -619
  124. package/dist/scss/v2/Message/Message-theme.scss +0 -483
  125. package/dist/scss/v2/MessageActionsBox/MessageActionsBox-layout.scss +0 -21
  126. package/dist/scss/v2/MessageActionsBox/MessageActionsBox-theme.scss +0 -85
  127. package/dist/scss/v2/MessageBouncePrompt/MessageBouncePrompt-layout.scss +0 -19
  128. package/dist/scss/v2/MessageBouncePrompt/MessageBouncePrompt-theme.scss +0 -51
  129. package/dist/scss/v2/MessageInput/MessageInput-layout.scss +0 -268
  130. package/dist/scss/v2/MessageInput/MessageInput-theme.scss +0 -359
  131. package/dist/scss/v2/MessageList/MessageList-layout.scss +0 -65
  132. package/dist/scss/v2/MessageList/MessageList-theme.scss +0 -107
  133. package/dist/scss/v2/MessageList/VirtualizedMessageList-layout.scss +0 -57
  134. package/dist/scss/v2/MessageList/VirtualizedMessageList-theme.scss +0 -41
  135. package/dist/scss/v2/MessageReactions/MessageReactions-layout.scss +0 -143
  136. package/dist/scss/v2/MessageReactions/MessageReactions-theme.scss +0 -92
  137. package/dist/scss/v2/MessageReactions/MessageReactionsSelector-layout.scss +0 -86
  138. package/dist/scss/v2/MessageReactions/MessageReactionsSelector-theme.scss +0 -94
  139. package/dist/scss/v2/Modal/Modal-layout.scss +0 -74
  140. package/dist/scss/v2/Modal/Modal-theme.scss +0 -109
  141. package/dist/scss/v2/Notification/MessageNotification-layout.scss +0 -12
  142. package/dist/scss/v2/Notification/MessageNotification-theme.scss +0 -34
  143. package/dist/scss/v2/Notification/Notification-layout.scss +0 -7
  144. package/dist/scss/v2/Notification/Notification-theme.scss +0 -32
  145. package/dist/scss/v2/Notification/NotificationList-layout.scss +0 -11
  146. package/dist/scss/v2/Notification/NotificationList-theme.scss +0 -31
  147. package/dist/scss/v2/Poll/Poll-layout.scss +0 -493
  148. package/dist/scss/v2/Poll/Poll-theme.scss +0 -178
  149. package/dist/scss/v2/Search/Search-layout.scss +0 -148
  150. package/dist/scss/v2/Search/Search-theme.scss +0 -222
  151. package/dist/scss/v2/Thread/Thread-layout.scss +0 -65
  152. package/dist/scss/v2/Thread/Thread-theme.scss +0 -82
  153. package/dist/scss/v2/ThreadList/ThreadList-layout.scss +0 -152
  154. package/dist/scss/v2/ThreadList/ThreadList-theme.scss +0 -75
  155. package/dist/scss/v2/Tooltip/Tooltip-layout.scss +0 -10
  156. package/dist/scss/v2/Tooltip/Tooltip-theme.scss +0 -36
  157. package/dist/scss/v2/TypingIndicator/TypingIndicator-layout.scss +0 -31
  158. package/dist/scss/v2/TypingIndicator/TypingIndicator-theme.scss +0 -68
  159. package/dist/scss/v2/UnreadCountBadge/UnreadCountBadge-layout.scss +0 -49
  160. package/dist/scss/v2/UnreadCountBadge/UnreadCountBadge-theme.scss +0 -11
  161. package/dist/scss/v2/_base.scss +0 -65
  162. package/dist/scss/v2/_emoji-replacement.scss +0 -45
  163. package/dist/scss/v2/_global-layout-variables.scss +0 -65
  164. package/dist/scss/v2/_global-theme-variables.scss +0 -173
  165. package/dist/scss/v2/_icons.scss +0 -36
  166. package/dist/scss/v2/_palette-variables.scss +0 -55
  167. package/dist/scss/v2/_utils.scss +0 -212
  168. package/dist/scss/v2/_variables.scss +0 -2
  169. package/dist/scss/v2/common/CTAButton/CTAButton-layout.scss +0 -4
  170. package/dist/scss/v2/common/CTAButton/CTAButton-theme.scss +0 -42
  171. package/dist/scss/v2/common/CircleFAButton/CircleFAButton-layout.scss +0 -14
  172. package/dist/scss/v2/common/CircleFAButton/CircleFAButton-theme.scss +0 -35
  173. package/dist/scss/v2/index.layout.scss +0 -49
  174. package/dist/scss/v2/index.scss +0 -50
  175. package/dist/scss/v2/vendor/emoji-mart.scss +0 -514
  176. package/dist/scss/v2/vendor/react-image-gallery.scss +0 -258
  177. package/dist/types/components/Icons/IconGiphy.d.ts +0 -3
  178. package/dist/types/components/Icons/IconGiphy.d.ts.map +0 -1
  179. /package/dist/{assets → css/assets}/EmojiOneColor.woff2 +0 -0
  180. /package/dist/{assets → css/assets}/NotoColorEmoji-flags.woff2 +0 -0
@@ -1,32 +0,0 @@
1
- @use '../utils';
2
-
3
- .str-chat__share-location-dialog {
4
- .str-chat__live-location-activation {
5
- border-radius: var(--str-chat__border-radius-sm);
6
- border: 1px solid var(--str-chat__secondary-overlay-color);;
7
-
8
- .str-chat__form__switch-field {
9
- background-color: var(--str-chat__background-color);
10
- }
11
-
12
- .str-chat__dropdown__open-button {
13
- border-radius: var(--str-chat__border-radius-xs);
14
- border: 1px solid var(--str-chat__secondary-overlay-color);
15
- background-color: var(--str-chat__tertiary-surface-color);
16
- }
17
-
18
- .str-chat__dropdown__items {
19
- box-shadow: 0 0 8px var(--str-chat__box-shadow-color);
20
- border-radius: var(--str-chat__border-radius-xs);
21
-
22
- .str-chat__live-location-sharing-duration-option {
23
- @include utils.button-reset;
24
- cursor: pointer;
25
-
26
- &:hover {
27
- background-color: var(--str-chat__message-options-hover-background-color);
28
- }
29
- }
30
- }
31
- }
32
- }
@@ -1,619 +0,0 @@
1
- @use '../utils';
2
-
3
- .str-chat {
4
- /* The width/height of the message options button(s), for Angular SDK it's only used on desktop devices starting from version 5 */
5
- --str-chat__message-options-button-size: calc(var(--str-chat__spacing-px) * 26);
6
-
7
- /* The maximum allowed width of the message component */
8
- --str-chat__message-max-width: calc(var(--str-chat__spacing-px) * 480);
9
-
10
- /* The maximum allowed width of the message component, if it has attachments */
11
- --str-chat__message-with-attachment-max-width: calc(var(--str-chat__spacing-px) * 300);
12
-
13
- /* The maximum allowed width of quoted messages inside the message component */
14
- --str-chat__quoted-message-max-width: calc(var(--str-chat__spacing-px) * 250);
15
-
16
- /* The maximum allowed width of quoted messages inside the message input component */
17
- --str-chat__quoted-message-inside-message-input-max-width: calc(
18
- var(--str-chat__spacing-px) * 200
19
- );
20
-
21
- /* The maximum allowed height of quoted messages inside the message input component */
22
- --str-chat__quoted-message-inside-message-input-max-height: calc(
23
- var(--str-chat__quoted-message-inside-message-input-max-width) +
24
- calc(var(--str-chat__spacing-px) * 50)
25
- );
26
-
27
- /* The maximum number of lines displayed for quoted messages, set to "none" to turn off clamping */
28
- --str-chat__quoted-message-line-clamp: 5;
29
- }
30
-
31
- .str-chat__message {
32
- --str-chat-message-options-size: calc(3 * var(--str-chat__message-options-button-size));
33
-
34
- &.str-chat__message-without-touch-support {
35
- --str-chat-message-options-size: calc(1 * var(--str-chat__message-options-button-size));
36
- }
37
-
38
- .str-chat__message-bubble {
39
- max-width: var(--str-chat__message-max-width);
40
- }
41
-
42
- .str-chat__message-options {
43
- --str-chat-icon-height: calc(var(--str-chat__message-options-button-size) * 0.7);
44
- }
45
- }
46
-
47
- .str-chat__message.str-chat__message--has-attachment {
48
- --str-chat__message-max-width: var(--str-chat__message-with-attachment-max-width);
49
-
50
- .str-chat__message-bubble {
51
- max-width: var(--str-chat__message-max-width);
52
- }
53
- }
54
-
55
- .str-chat__quoted-message-preview {
56
- --str-chat__message-max-width: var(--str-chat__quoted-message-max-width);
57
-
58
- .str-chat__quoted-message-bubble {
59
- // Turn off pointer events so they don't interfere with jump to message
60
- pointer-events: none;
61
- max-width: var(--str-chat__message-max-width);
62
- }
63
- }
64
-
65
- .str-chat__quoted-message-text-value {
66
- overflow: hidden;
67
- display: -webkit-box;
68
- -webkit-line-clamp: var(--str-chat__quoted-message-line-clamp);
69
- line-clamp: var(--str-chat__quoted-message-line-clamp);
70
- -webkit-box-orient: vertical;
71
- }
72
-
73
- .str-chat__message,
74
- .str-chat__quoted-message-preview {
75
- @mixin chat-bubble-spacing {
76
- padding: var(--str-chat__spacing-2) var(--str-chat__spacing-4);
77
-
78
- p {
79
- white-space: pre-line;
80
- margin: 0;
81
- }
82
- }
83
-
84
- // Using grid layout so we can use template from theme-v1
85
- display: grid;
86
- word-wrap: break-word;
87
- word-break: break-word;
88
- hyphens: auto;
89
- overflow-wrap: break-word;
90
-
91
- .str-chat__message-reminder {
92
- grid-area: message-reminder;
93
- padding-block: 0.5rem 0.125rem;
94
- margin: 0;
95
- }
96
-
97
- &.str-chat__message--other,
98
- &.str-chat__quoted-message-preview {
99
- grid-template-areas:
100
- '. message-reminder'
101
- 'avatar message'
102
- '. replies'
103
- '. translation-notice'
104
- '. custom-metadata'
105
- '. metadata';
106
- column-gap: var(--str-chat__spacing-2);
107
- grid-template-columns: auto 1fr;
108
- justify-items: flex-start;
109
- }
110
-
111
- &.str-chat__message--me {
112
- grid-template-areas:
113
- 'message-reminder'
114
- 'message'
115
- 'replies'
116
- 'translation-notice'
117
- 'custom-metadata'
118
- 'metadata';
119
- justify-items: end;
120
-
121
- // > selector added to not hide sender of inline replies
122
- > .str-chat__message-sender-avatar {
123
- display: none;
124
- }
125
- }
126
-
127
- &.str-chat__message--deleted {
128
- grid-template-areas: 'message';
129
- }
130
-
131
- &.str-chat__message--blocked {
132
- grid-template-areas: 'message';
133
- }
134
-
135
- &.str-chat__message--system {
136
- grid-template-areas: 'message';
137
- grid-template-columns: auto;
138
- }
139
-
140
- .str-chat__message-sender-avatar {
141
- grid-area: avatar;
142
- align-self: end;
143
- }
144
-
145
- .str-chat__message-inner {
146
- grid-area: message;
147
- display: grid;
148
- grid-template-areas:
149
- 'reactions reactions'
150
- 'message-bubble options';
151
- grid-template-columns: auto 1fr;
152
- column-gap: var(--str-chat__spacing-2);
153
- position: relative;
154
-
155
- .str-chat__message-options {
156
- grid-area: options;
157
- align-items: flex-start;
158
- justify-content: flex-end;
159
- flex-direction: row-reverse;
160
- width: var(--str-chat-message-options-size);
161
-
162
- .str-chat__message-actions-box-button,
163
- .str-chat__message-reply-in-thread-button,
164
- .str-chat__message-reactions-button {
165
- @include utils.flex-row-center;
166
- cursor: pointer;
167
- width: var(--str-chat__message-options-button-size);
168
- height: var(--str-chat__message-options-button-size);
169
- }
170
-
171
- .str-chat__message-actions-box-button,
172
- .str-chat__message-actions-container {
173
- position: relative;
174
- }
175
- }
176
-
177
- .str-chat__message-reactions-host {
178
- grid-area: reactions;
179
- }
180
-
181
- .str-chat__message-bubble {
182
- grid-area: message-bubble;
183
- position: relative;
184
- min-width: 0;
185
-
186
- .str-chat__message-text {
187
- @include chat-bubble-spacing;
188
-
189
- .str-chat__message-text-inner {
190
- @include utils.prevent-glitch-text-overflow;
191
- }
192
- }
193
- }
194
- }
195
-
196
- &.str-chat__message--me .str-chat__message-inner {
197
- grid-template-areas:
198
- 'reminder reminder'
199
- 'reactions reactions'
200
- 'options message-bubble';
201
- grid-template-columns: 1fr auto;
202
-
203
- .str-chat__message-options {
204
- flex-direction: row;
205
- }
206
- }
207
-
208
- .str-chat__translation-notice {
209
- grid-area: translation-notice;
210
-
211
- button {
212
- cursor: pointer;
213
- padding: var(--str-chat__spacing-1) 0;
214
- margin: 0;
215
- }
216
- }
217
-
218
- .str-chat__custom-message-metadata {
219
- grid-area: custom-metadata;
220
- margin-block-start: var(--str-chat__spacing-0_5);
221
- }
222
-
223
- .str-chat__message-metadata {
224
- grid-area: metadata;
225
- display: flex;
226
- flex-wrap: wrap;
227
- align-items: center;
228
- column-gap: var(--str-chat__spacing-1);
229
- margin-block-start: var(--str-chat__spacing-0_5);
230
-
231
- .str-chat__message-simple-name {
232
- @include utils.prevent-glitch-text-overflow;
233
- }
234
-
235
- .str-chat__message-simple-timestamp + .str-chat__mesage-simple-edited::before {
236
- content: '•';
237
- margin-right: var(--str-chat__spacing-1);
238
- }
239
-
240
- .str-chat__message-edited-timestamp {
241
- --str-chat__message-edited-timestamp-height: 1rem;
242
- flex-basis: 100%;
243
- }
244
- }
245
-
246
- &.str-chat__message--me .str-chat__message-metadata {
247
- justify-content: flex-end;
248
- text-align: right;
249
- }
250
-
251
- .str-chat__message-status {
252
- --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
253
- @include utils.flex-row-center;
254
- column-gap: var(--str-chat__spacing-0_5);
255
- position: relative;
256
-
257
- svg {
258
- width: var(--str-chat-icon-height);
259
- height: var(--str-chat-icon-height);
260
- }
261
- }
262
-
263
- .str-chat__message-status.str-chat__message-status-sent {
264
- --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 12);
265
-
266
- svg {
267
- width: var(--str-chat-icon-height);
268
- height: var(--str-chat-icon-height);
269
- }
270
- }
271
-
272
- .str-chat__message-status-sent {
273
- --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 12);
274
-
275
- svg {
276
- width: var(--str-chat-icon-height);
277
- height: var(--str-chat-icon-height);
278
- }
279
- }
280
-
281
- .str-chat__message-status-delivered {
282
- --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 15);
283
-
284
- svg {
285
- width: var(--str-chat-icon-height);
286
- height: var(--str-chat-icon-height);
287
- }
288
- }
289
-
290
- .str-chat__message-replies-count-button-wrapper,
291
- .str-chat__message-is-thread-reply-button-wrapper {
292
- grid-area: replies;
293
-
294
- button {
295
- cursor: pointer;
296
- padding: 0;
297
- }
298
-
299
- button:disabled {
300
- cursor: auto;
301
- }
302
- }
303
-
304
- .str-chat__message--deleted-inner {
305
- @include chat-bubble-spacing;
306
- }
307
-
308
- .str-chat__message--blocked-inner {
309
- @include chat-bubble-spacing;
310
- }
311
-
312
- .str-chat__quoted-message-bubble {
313
- @include chat-bubble-spacing;
314
- display: flex;
315
- column-gap: var(--str-chat__spacing-1);
316
- min-width: 0;
317
- width: 100%;
318
- }
319
-
320
- // Fixes emoji display in Chrome on non-retina display (only detected in Angular SDK) https://bugs.chromium.org/p/chromium/issues/detail?id=596223
321
- .str-chat__emoji-display-fix {
322
- display: inline-block;
323
- width: 1.25em;
324
- }
325
-
326
- .str-chat__message-error-icon {
327
- display: none;
328
- }
329
-
330
- .str-chat__simple-message--error-failed {
331
- cursor: pointer;
332
- }
333
-
334
- &.str-chat__message--error,
335
- &.str-chat__message--failed {
336
- $icon-size: calc(var(--str-chat__spacing-px) * 18);
337
-
338
- .str-chat__message-error-icon {
339
- display: block;
340
- position: absolute;
341
- bottom: 0;
342
- inset-inline-end: calc(-1 * calc(#{$icon-size} / 2));
343
-
344
- svg {
345
- width: $icon-size;
346
- height: $icon-size;
347
- }
348
- }
349
- }
350
- }
351
-
352
- // Message options display - default mode: they appear when .str-chat__li is hovered
353
- .str-chat__ul:not(.str-chat__message-options-in-bubble, .str-chat__message-with-touch-support),
354
- .str-chat__virtual-list:not(.str-chat__message-options-in-bubble, .str-chat__message-with-touch-support) {
355
- /* This rule won't be applied in browsers that don't support :has() */
356
- .str-chat__li:hover:not(:has(.str-chat__reaction-list:hover, .str-chat__modal--open)),
357
- .str-chat__li:focus-within:not(:has(.str-chat__reaction-list:focus-within, .str-chat__modal--open)),
358
- .str-chat__li:has(.str-chat__message-options--active) {
359
- .str-chat__message-options {
360
- display: flex;
361
- }
362
-
363
- .str-chat__message--other .str-chat__message-inner {
364
- margin-inline-end: 0;
365
- }
366
-
367
- .str-chat__message--me .str-chat__message-inner {
368
- margin-inline-start: 0;
369
- }
370
- }
371
-
372
- /* Fallback for when :has() is unsupported */
373
- @supports not selector(:has(a, b)) {
374
- .str-chat__li:hover,
375
- .str-chat__li:focus-within {
376
- .str-chat__message-options {
377
- display: flex;
378
- }
379
-
380
- .str-chat__message--other .str-chat__message-inner {
381
- margin-inline-end: 0;
382
- }
383
-
384
- .str-chat__message--me .str-chat__message-inner {
385
- margin-inline-start: 0;
386
- }
387
- }
388
- }
389
- }
390
-
391
- // Message options display - second mode: they appear when .str-chat__message-inner is hovered
392
- .str-chat__ul.str-chat__message-options-in-bubble,
393
- .str-chat__virtual-list.str-chat__message-options-in-bubble {
394
- .str-chat__message-inner {
395
- &:hover {
396
- .str-chat__message-options {
397
- display: flex;
398
- }
399
- }
400
- }
401
-
402
- .str-chat__message--other .str-chat__message-inner:hover {
403
- margin-inline-end: 0;
404
- }
405
-
406
- .str-chat__message--me .str-chat__message-inner:hover {
407
- margin-inline-start: 0;
408
- }
409
- }
410
-
411
- // Message options display - third mode: they appear, when explicitly marked as active
412
- .str-chat__message-inner {
413
- .str-chat__message-options.str-chat__message-options--active {
414
- display: flex;
415
- }
416
- }
417
-
418
- .str-chat__message-inner {
419
- .str-chat__message-options {
420
- display: none;
421
- }
422
-
423
- .str-chat__message-actions-open.str-chat__message-options {
424
- display: flex;
425
- }
426
- }
427
-
428
- .str-chat__message-inner:focus-within {
429
- .str-chat__message-options {
430
- display: flex;
431
- }
432
- }
433
-
434
- .str-chat__message--other .str-chat__message-inner:not(:has(.str-chat__message-options--active)) {
435
- margin-inline-end: var(--str-chat-message-options-size);
436
- }
437
-
438
- .str-chat__message--me .str-chat__message-inner {
439
- margin-inline-start: var(--str-chat-message-options-size);
440
- }
441
-
442
- .str-chat__li--middle,
443
- .str-chat__li--top {
444
- .str-chat__message {
445
- margin-block-end: var(--str-chat__spacing-0_5);
446
-
447
- .str-chat__message-metadata {
448
- display: none;
449
- }
450
-
451
- // > selector added to not hide sender of inline replies
452
- > .str-chat__message-sender-avatar {
453
- visibility: hidden;
454
- }
455
- }
456
- }
457
-
458
- .str-chat__li--bottom,
459
- .str-chat__li--single {
460
- .str-chat__message {
461
- margin-block-end: var(--str-chat__spacing-2);
462
- }
463
- }
464
-
465
- .str-chat__date-separator {
466
- display: flex;
467
- padding: var(--str-chat__spacing-8);
468
- align-items: center;
469
-
470
- &-line {
471
- flex: 1;
472
- height: var(--str-chat__spacing-px);
473
- }
474
-
475
- > * {
476
- &:not(:last-child) {
477
- margin-right: var(--str-chat__spacing-4);
478
- }
479
- }
480
- }
481
-
482
- .str-chat__message {
483
- .str-chat__quoted-message-preview {
484
- margin-block-end: var(--str-chat__spacing-2);
485
- }
486
- }
487
-
488
- .str-chat__message--system {
489
- width: 100%;
490
- text-align: center;
491
-
492
- p {
493
- margin: 0;
494
- }
495
- }
496
-
497
- .str-chat__quoted-message-preview {
498
- .str-chat__quoted-message-bubble {
499
- flex-direction: column;
500
- align-items: stretch;
501
- row-gap: var(--str-chat__spacing-1);
502
- flex-basis: min-content;
503
- }
504
- }
505
-
506
- .str-chat__message-input {
507
- .str-chat__quoted-message-preview {
508
- --str-chat__message-max-width: var(--str-chat__quoted-message-inside-message-input-max-width);
509
-
510
- .str-chat__quoted-message-bubble {
511
- max-height: var(--str-chat__quoted-message-inside-message-input-max-height);
512
-
513
- .str-chat__quoted-message-text {
514
- max-height: 100%;
515
- min-height: 0;
516
- overflow: hidden;
517
-
518
- p {
519
- max-height: 100%;
520
- overflow-y: auto;
521
- overflow-x: hidden;
522
- }
523
- }
524
- }
525
- }
526
- }
527
-
528
- .str-chat__unread-messages-separator-wrapper {
529
- padding-block: 0.5rem;
530
-
531
- .str-chat__unread-messages-separator {
532
- @include utils.flex-row-center;
533
- width: 100%;
534
- padding: 0.5rem;
535
- }
536
- }
537
-
538
- .str-chat__unread-messages-notification {
539
- --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
540
- position: absolute;
541
- top: 0.75rem;
542
- z-index: 2;
543
- display: flex;
544
- align-items: center;
545
- overflow: clip;
546
-
547
- button {
548
- padding-block: 0.5rem;
549
- height: 100%;
550
- width: 100%;
551
- white-space: nowrap;
552
- }
553
-
554
- button:first-of-type {
555
- padding-inline: 0.75rem 0.375rem;
556
- }
557
-
558
- button:last-of-type {
559
- padding-inline: 0.375rem 0.75rem;
560
-
561
- svg {
562
- width: 0.875rem;
563
- }
564
- }
565
- }
566
-
567
- .str-chat-angular__message-bubble {
568
- /* transform: translate3d(0, 0, 0) fixes scrolling issues on iOS, see: https://stackoverflow.com/questions/50105780/elements-disappear-when-scrolling-in-safari-webkit-transform-fix-only-works-t/50144295#50144295 */
569
- transform: translate3d(0, 0, 0);
570
-
571
- &.str-chat-angular__message-bubble--attachment-modal-open {
572
- /* transform: none is required when image carousel is open in order for the modal to be correctly positioned, see how the transform property changes the behavior of fixed positioned elements https://developer.mozilla.org/en-US/docs/Web/CSS/position */
573
- transform: none;
574
- }
575
- }
576
-
577
- .str-chat__message-edited-timestamp {
578
- overflow: hidden;
579
- transition: height 0.1s;
580
-
581
- &--open {
582
- height: var(--str-chat__message-edited-timestamp-height, 1rem);
583
- }
584
-
585
- &--collapsed {
586
- height: 0;
587
- }
588
- }
589
-
590
- .str-chat__message-text--pointer-cursor {
591
- cursor: pointer;
592
- }
593
-
594
- .str-chat__message-with-touch-support {
595
- .str-chat__message-bubble {
596
- -webkit-touch-callout: none;
597
- -webkit-user-select: none;
598
- user-select: none;
599
- }
600
-
601
- &.str-chat__message-menu-opened {
602
- .str-chat__attachments-container,
603
- .str-chat__message-text-inner {
604
- pointer-events: none;
605
- }
606
- }
607
-
608
- .str-chat__message-inner {
609
- margin-inline: 0;
610
- }
611
-
612
- .str-chat__message-options {
613
- display: none;
614
- }
615
-
616
- .stream-chat-angular__image-modal-host {
617
- -webkit-touch-callout: default;
618
- }
619
- }