stream-chat-react 11.17.0 → 11.18.1

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 (120) hide show
  1. package/dist/{Window-5a6bf944.js → Window-5802024e.js} +275 -150
  2. package/dist/assets/icons/stream-chat-icons.eot +0 -0
  3. package/dist/assets/icons/stream-chat-icons.svg +46 -0
  4. package/dist/assets/icons/stream-chat-icons.ttf +0 -0
  5. package/dist/assets/icons/stream-chat-icons.woff +0 -0
  6. package/dist/assets/icons/stream-chat-icons.woff2 +0 -0
  7. package/dist/browser.full-bundle.js +278 -151
  8. package/dist/browser.full-bundle.js.map +1 -1
  9. package/dist/browser.full-bundle.min.js +4 -4
  10. package/dist/browser.full-bundle.min.js.map +1 -1
  11. package/dist/components/Attachment/AttachmentContainer.js +1 -1
  12. package/dist/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  13. package/dist/components/Attachment/UnsupportedAttachment.js +7 -7
  14. package/dist/components/Attachment/utils.d.ts +9 -4
  15. package/dist/components/Attachment/utils.d.ts.map +1 -1
  16. package/dist/components/Attachment/utils.js +17 -2
  17. package/dist/components/Emojis/index.cjs.js +1 -1
  18. package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js +1 -1
  19. package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts +9 -8
  20. package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts.map +1 -1
  21. package/dist/components/MediaRecorder/classes/MediaRecorderController.js +4 -4
  22. package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts +3 -3
  23. package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts.map +1 -1
  24. package/dist/components/Message/MessageSimple.d.ts.map +1 -1
  25. package/dist/components/Message/MessageSimple.js +2 -1
  26. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts +16 -0
  27. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts.map +1 -0
  28. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +37 -0
  29. package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts +13 -0
  30. package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -0
  31. package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js +19 -0
  32. package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts +7 -0
  33. package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts.map +1 -0
  34. package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.js +23 -0
  35. package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +7 -0
  36. package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -0
  37. package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js +22 -0
  38. package/dist/components/MessageInput/AttachmentPreviewList/UploadPreviewItem.d.ts +12 -0
  39. package/dist/components/MessageInput/AttachmentPreviewList/UploadPreviewItem.d.ts.map +1 -0
  40. package/dist/components/MessageInput/AttachmentPreviewList/UploadPreviewItem.js +61 -0
  41. package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts +7 -0
  42. package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts.map +1 -0
  43. package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.js +27 -0
  44. package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts +7 -0
  45. package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts.map +1 -0
  46. package/dist/components/MessageInput/AttachmentPreviewList/index.js +1 -0
  47. package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts +8 -0
  48. package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts.map +1 -0
  49. package/dist/components/MessageInput/AttachmentPreviewList/types.js +1 -0
  50. package/dist/components/MessageInput/hooks/useAttachments.d.ts +4 -2
  51. package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
  52. package/dist/components/MessageInput/hooks/useAttachments.js +73 -33
  53. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  54. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +5 -3
  55. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +18 -16
  56. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  57. package/dist/components/MessageInput/hooks/useMessageInputState.js +19 -15
  58. package/dist/components/MessageInput/hooks/useSubmitHandler.js +3 -3
  59. package/dist/components/MessageInput/index.d.ts +1 -0
  60. package/dist/components/MessageInput/index.d.ts.map +1 -1
  61. package/dist/components/MessageInput/types.d.ts +33 -10
  62. package/dist/components/MessageInput/types.d.ts.map +1 -1
  63. package/dist/context/ChannelStateContext.d.ts +1 -1
  64. package/dist/context/ComponentContext.d.ts +2 -1
  65. package/dist/context/ComponentContext.d.ts.map +1 -1
  66. package/dist/context/MessageInputContext.d.ts +4 -3
  67. package/dist/context/MessageInputContext.d.ts.map +1 -1
  68. package/dist/css/v2/index.css +2 -2
  69. package/dist/css/v2/index.layout.css +2 -2
  70. package/dist/i18n/Streami18n.d.ts +1 -0
  71. package/dist/i18n/Streami18n.d.ts.map +1 -1
  72. package/dist/i18n/de.json +1 -0
  73. package/dist/i18n/en.json +1 -0
  74. package/dist/i18n/es.json +1 -0
  75. package/dist/i18n/fr.json +1 -0
  76. package/dist/i18n/hi.json +1 -0
  77. package/dist/i18n/it.json +1 -0
  78. package/dist/i18n/ja.json +1 -0
  79. package/dist/i18n/ko.json +1 -0
  80. package/dist/i18n/nl.json +1 -0
  81. package/dist/i18n/pt.json +1 -0
  82. package/dist/i18n/ru.json +1 -0
  83. package/dist/i18n/tr.json +1 -0
  84. package/dist/index.cjs.js +7 -2
  85. package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +38 -1
  86. package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +8 -0
  87. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-layout.scss +9 -1
  88. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-theme.scss +13 -0
  89. package/dist/scss/v2/Avatar/Avatar-layout.scss +46 -0
  90. package/dist/scss/v2/Channel/Channel-layout.scss +1 -0
  91. package/dist/scss/v2/Channel/Channel-theme.scss +1 -0
  92. package/dist/scss/v2/ChannelList/ChannelList-layout.scss +2 -2
  93. package/dist/scss/v2/ChannelList/ChannelList-theme.scss +4 -2
  94. package/dist/scss/v2/ChannelPreview/ChannelPreview-layout.scss +2 -0
  95. package/dist/scss/v2/ChannelPreview/ChannelPreview-theme.scss +1 -0
  96. package/dist/scss/v2/Icon/Icon-layout.scss +87 -0
  97. package/dist/scss/v2/Icon/Icon-theme.scss +13 -0
  98. package/dist/scss/v2/ImageCarousel/ImageCarousel-layout.scss +1 -0
  99. package/dist/scss/v2/ImageCarousel/ImageCarousel-theme.scss +1 -0
  100. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-layout.scss +10 -1
  101. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-theme.scss +6 -4
  102. package/dist/scss/v2/Message/Message-layout.scss +6 -0
  103. package/dist/scss/v2/Message/Message-theme.scss +6 -0
  104. package/dist/scss/v2/MessageInput/MessageInput-layout.scss +4 -1
  105. package/dist/scss/v2/MessageInput/MessageInput-theme.scss +3 -0
  106. package/dist/scss/v2/MessageList/MessageList-theme.scss +2 -0
  107. package/dist/scss/v2/Modal/Modal-layout.scss +1 -0
  108. package/dist/scss/v2/Modal/Modal-theme.scss +6 -0
  109. package/dist/scss/v2/_base.scss +3 -2
  110. package/dist/scss/v2/_emoji-replacement.scss +4 -2
  111. package/dist/scss/v2/_icons.scss +24 -2
  112. package/dist/scss/v2/_variables.scss +2 -0
  113. package/dist/scss/v2/index.layout.scss +1 -0
  114. package/dist/scss/v2/index.scss +1 -0
  115. package/dist/version.d.ts +1 -1
  116. package/dist/version.js +1 -1
  117. package/package.json +2 -2
  118. package/dist/components/MessageInput/AttachmentPreviewList.d.ts +0 -9
  119. package/dist/components/MessageInput/AttachmentPreviewList.d.ts.map +0 -1
  120. package/dist/components/MessageInput/AttachmentPreviewList.js +0 -112
package/dist/i18n/tr.json CHANGED
@@ -84,6 +84,7 @@
84
84
  "Unmute": "Sesini aç",
85
85
  "Unpin": "Sabitlemeyi kaldır",
86
86
  "Unread messages": "Okunmamış mesajlar",
87
+ "Unsupported attachment": "Desteklenmeyen ek",
87
88
  "Upload type: \"{{ type }}\" is not allowed": "Yükleme türü: \"{{ type }}\" izin verilmez",
88
89
  "User uploaded content": "Kullanıcı tarafından yüklenen içerik",
89
90
  "Voice message": "Sesli mesaj",
package/dist/index.cjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Window = require('./Window-5a6bf944.js');
5
+ var Window = require('./Window-5802024e.js');
6
6
  var React = require('react');
7
7
  var streamChat = require('stream-chat');
8
8
  var throttle = require('lodash.throttle');
@@ -1347,7 +1347,7 @@ function VirtualizedMessageList(props) {
1347
1347
  return (React__default["default"].createElement(VirtualizedMessageListWithContext, Window.__assign({ channel: channel, channelUnreadUiState: channelUnreadUiState, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, read: read, suppressAutoscroll: suppressAutoscroll }, props)));
1348
1348
  }
1349
1349
 
1350
- var version = '11.17.0';
1350
+ var version = '11.18.1';
1351
1351
 
1352
1352
  var useChat = function (_a) {
1353
1353
  var _b, _c;
@@ -1904,6 +1904,11 @@ exports.isFileAttachment = Window.isFileAttachment;
1904
1904
  exports.isGalleryAttachmentType = Window.isGalleryAttachmentType;
1905
1905
  exports.isLanguageSupported = Window.isLanguageSupported;
1906
1906
  exports.isLocalAttachment = Window.isLocalAttachment;
1907
+ exports.isLocalAudioAttachment = Window.isLocalAudioAttachment;
1908
+ exports.isLocalFileAttachment = Window.isLocalFileAttachment;
1909
+ exports.isLocalImageAttachment = Window.isLocalImageAttachment;
1910
+ exports.isLocalMediaAttachment = Window.isLocalMediaAttachment;
1911
+ exports.isLocalVoiceRecordingAttachment = Window.isLocalVoiceRecordingAttachment;
1907
1912
  exports.isMediaAttachment = Window.isMediaAttachment;
1908
1913
  exports.isMessageBounced = Window.isMessageBounced;
1909
1914
  exports.isMessageEdited = Window.isMessageEdited;
@@ -253,6 +253,32 @@
253
253
  }
254
254
  }
255
255
 
256
+ .str-chat__message-attachment-unsupported {
257
+ @include utils.flex-row-center;
258
+ padding: var(--str-chat__spacing-2);
259
+ column-gap: var(--str-chat__spacing-4);
260
+ margin: var(--str-chat__attachment-margin);
261
+
262
+ .str-chat__file-icon {
263
+ width: calc(var(--str-chat__spacing-px)* 30);
264
+ }
265
+
266
+ .str-chat__message-attachment-unsupported__metadata {
267
+ min-width: 0;
268
+ flex: 1;
269
+ display: flex;
270
+ flex-direction: column;
271
+ align-items: flex-start;
272
+ justify-content: center;
273
+
274
+ }
275
+
276
+ .str-chat__message-attachment-unsupported__title {
277
+ @include utils.ellipsis-text;
278
+ max-width: 100%;
279
+ }
280
+ }
281
+
256
282
  .str-chat__message-attachment-file--item,
257
283
  .str-chat__message-attachment-audio-widget {
258
284
  @include utils.flex-row-center;
@@ -504,9 +530,18 @@
504
530
  cursor: pointer;
505
531
  text-decoration: none;
506
532
  }
533
+
534
+ .str-chat__message-attachment-download-icon {
535
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
536
+ }
537
+
538
+ .str-chat__attachment-type-icon {
539
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 37);
540
+ }
507
541
  }
508
542
 
509
543
  .str-chat__message-attachment-audio-widget--play-button {
544
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
510
545
  @include utils.flex-row-center();
511
546
  height: calc(var(--str-chat__spacing-px) * 36);
512
547
  width: calc(var(--str-chat__spacing-px) * 36);
@@ -572,7 +607,9 @@
572
607
  .str-chat__wave-progress-bar__amplitude-bar {
573
608
  width: 2px;
574
609
  min-width: 2px;
575
- height: calc(var(--str-chat__wave-progress-bar__amplitude-bar-height) + $min_amplitude_height); // variable set dynamically on element
610
+ height: calc(
611
+ var(--str-chat__wave-progress-bar__amplitude-bar-height) + $min_amplitude_height
612
+ ); // variable set dynamically on element
576
613
  }
577
614
 
578
615
  .str-chat__wave-progress-bar__progress-indicator {
@@ -320,10 +320,18 @@
320
320
  background-size: 24px 24px;
321
321
  }
322
322
 
323
+ .str-chat__message-attachment-unsupported,
323
324
  .str-chat__message-attachment-file--item {
324
325
  @include utils.component-layer-overrides('file-attachment');
325
326
  }
326
327
 
328
+ .str-chat__message-attachment-unsupported {
329
+ .str-chat__message-attachment-unsupported__title {
330
+ font: var(--str-chat__subtitle-medium-text);
331
+ word-break: keep-all;
332
+ }
333
+ }
334
+
327
335
  .str-chat__message-attachment-file--item,
328
336
  .str-chat__message-attachment-audio-widget {
329
337
  .str-chat__message-attachment-file--item-name,
@@ -1,6 +1,7 @@
1
1
  @use '../utils';
2
2
 
3
3
  .str-chat__attachment-preview-list {
4
+ --str-chat__loading-indicator-size: calc(var(--str-chat__spacing-px) * 18);
4
5
  $preview-height: calc(var(--str-chat__spacing-px) * 72);
5
6
 
6
7
  @include utils.flex-row-center;
@@ -46,6 +47,7 @@
46
47
  }
47
48
  }
48
49
 
50
+ .str-chat__attachment-preview-unsupported,
49
51
  .str-chat__attachment-preview-voice-recording,
50
52
  .str-chat__attachment-preview-file {
51
53
  display: flex;
@@ -59,7 +61,7 @@
59
61
  column-gap: var(--str-chat__spacing-2);
60
62
 
61
63
  .str-chat__attachment-preview-metadata,
62
- .str-chat__attachment-preview-file-end{
64
+ .str-chat__attachment-preview-file-end {
63
65
  @include utils.ellipsis-text-parent;
64
66
  flex: 1;
65
67
  display: flex;
@@ -67,6 +69,7 @@
67
69
  align-items: flex-start;
68
70
  justify-content: center;
69
71
 
72
+ .str-chat__attachment-preview-title,
70
73
  .str-chat__attachment-preview-file-name {
71
74
  @include utils.ellipsis-text;
72
75
  max-width: 100%;
@@ -74,6 +77,8 @@
74
77
  }
75
78
 
76
79
  .str-chat__attachment-preview-file-icon {
80
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 37);
81
+ --str-chat-icon-width: auto;
77
82
  @include utils.flex-row-center;
78
83
 
79
84
  svg {
@@ -86,6 +91,7 @@
86
91
  .str-chat__attachment-preview-file {
87
92
  .str-chat__attachment-preview-file-end {
88
93
  .str-chat__attachment-preview-file-download {
94
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
89
95
  line-height: calc(var(--str-chat__spacing-px) * 13);
90
96
 
91
97
  svg {
@@ -103,6 +109,7 @@
103
109
  }
104
110
 
105
111
  .str-chat__attachment-preview-delete {
112
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
106
113
  position: absolute;
107
114
  top: calc(var(--str-chat__spacing-px) * 2);
108
115
  inset-inline-end: calc(var(--str-chat__spacing-px) * 2);
@@ -116,6 +123,7 @@
116
123
  }
117
124
 
118
125
  .str-chat__attachment-preview-error {
126
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
119
127
  @include overlay;
120
128
  @include utils.unset-button(unset);
121
129
  inset-inline-start: 0;
@@ -107,15 +107,20 @@
107
107
  }
108
108
  }
109
109
 
110
+ .str-chat__attachment-preview-unsupported,
110
111
  .str-chat__attachment-preview-voice-recording,
111
112
  .str-chat__attachment-preview-file {
112
113
  @include utils.component-layer-overrides('attachment-preview-file');
113
114
 
115
+ .str-chat__attachment-preview-title,
114
116
  .str-chat__attachment-preview-file-name {
115
117
  font: var(--str-chat__subtitle-medium-text);
116
118
  }
117
119
 
118
120
  .str-chat__attachment-preview-file-download {
121
+ --str-chat-icon-color: var(--str-chat__attachment-preview-download-icon-color);
122
+ text-decoration: none;
123
+
119
124
  svg path {
120
125
  fill: var(--str-chat__attachment-preview-download-icon-color);
121
126
  }
@@ -138,6 +143,13 @@
138
143
  }
139
144
 
140
145
  .str-chat__attachment-preview-delete {
146
+ --str-chat-icon-color: var(--str-chat__attachment-preview-close-icon-color);
147
+
148
+ .str-chat__icon {
149
+ background-color: var(--str-chat__attachment-preview-close-icon-background);
150
+ border-radius: 999px;
151
+ }
152
+
141
153
  svg {
142
154
  background-color: var(--str-chat__attachment-preview-close-icon-background);
143
155
  border-radius: 999px;
@@ -149,6 +161,7 @@
149
161
  }
150
162
 
151
163
  .str-chat__attachment-preview-error {
164
+ --str-chat-icon-color: var(--str-chat__attachment-preview-retry-icon-color);
152
165
  background-color: var(--str-chat__attachment-preview-overlay-color);
153
166
 
154
167
  svg path {
@@ -1,3 +1,28 @@
1
+ .str-chat {
2
+ /* The size of the avatar, only available in Angular v5+ */
3
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 32);
4
+
5
+ .stream-chat__avatar--autocomplete-item {
6
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 30);
7
+ }
8
+
9
+ .stream-chat__avatar--channel-header {
10
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 40);
11
+ }
12
+
13
+ .stream-chat__avatar--channel-preview {
14
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 49);
15
+ }
16
+
17
+ .stream-chat__avatar--quoted-message-sender {
18
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 20);
19
+ }
20
+
21
+ .stream-chat__avatar--reaction {
22
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 30);
23
+ }
24
+ }
25
+
1
26
  .str-chat__avatar {
2
27
  position: relative;
3
28
 
@@ -21,3 +46,24 @@
21
46
  width: calc(var(--str-chat__spacing-px) * 49);
22
47
  height: calc(var(--str-chat__spacing-px) * 49);
23
48
  }
49
+
50
+ .str-chat-angular__avatar {
51
+ height: var(--str-chat__avatar-size);
52
+ line-height: var(--str-chat__avatar-size);
53
+ width: var(--str-chat__avatar-size);
54
+
55
+ &.stream-chat__avatar--one-letter {
56
+ font-size: calc(var(--str-chat__avatar-size) * 0.5);
57
+ }
58
+
59
+ &.stream-chat__avatar--multiple-letters {
60
+ font-size: calc(var(--str-chat__avatar-size) * 0.3);
61
+ }
62
+
63
+ .str-chat__avatar-image {
64
+ height: 100%;
65
+ width: 100%;
66
+ object-fit: cover;;
67
+ }
68
+
69
+ }
@@ -25,6 +25,7 @@
25
25
  }
26
26
 
27
27
  .str-chat__empty-channel {
28
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 136);
28
29
  @include utils.empty-layout;
29
30
  position: relative;
30
31
 
@@ -40,6 +40,7 @@
40
40
  }
41
41
 
42
42
  .str-chat__empty-channel {
43
+ --str-chat-icon-color: var(--str-chat__channel-empty-color);
43
44
  @include utils.component-layer-overrides('channel');
44
45
  @include utils.empty-theme('channel');
45
46
 
@@ -14,6 +14,7 @@
14
14
  height: 100%;
15
15
 
16
16
  .str-chat__channel-list-empty {
17
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 136);
17
18
  @include utils.empty-layout;
18
19
  }
19
20
 
@@ -40,7 +41,6 @@
40
41
  }
41
42
  }
42
43
 
43
-
44
44
  .str-chat__channel-list-react {
45
45
  overflow: hidden;
46
46
 
@@ -52,4 +52,4 @@
52
52
  overflow-y: auto;
53
53
  }
54
54
  }
55
- }
55
+ }
@@ -68,8 +68,8 @@
68
68
  /* The text/icon color of the load more button in disabled state */
69
69
  --str-chat__channel-list-load-more-disabled-color: var(--str-chat__cta-button-disabled-color);
70
70
 
71
- /* The icon color for the empty list state */
72
- --str-chat__channel-list-empty-indicator-color: var(--str-chat__disabled-color);
71
+ /* The text/icon color for the empty list state */
72
+ --str-chat__channel-list-empty-indicator-color: var(--str-chat__text-low-emphasis-color);
73
73
  }
74
74
 
75
75
  .str-chat__channel-list {
@@ -82,6 +82,8 @@
82
82
  }
83
83
 
84
84
  .str-chat__channel-list-empty {
85
+ --str-chat-icon-color: var(--str-chat__channel-list-empty-indicator-color);
85
86
  @include utils.empty-theme('channel-list');
87
+ color: var(--str-chat__channel-list-empty-indicator-color);
86
88
  }
87
89
  }
@@ -60,6 +60,8 @@
60
60
  }
61
61
 
62
62
  .str-chat__channel-preview-messenger--status {
63
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 15);
64
+
63
65
  svg {
64
66
  width: calc(var(--str-chat__spacing-px) * 15);
65
67
  height: calc(var(--str-chat__spacing-px) * 15);
@@ -98,6 +98,7 @@
98
98
  }
99
99
 
100
100
  .str-chat__channel-preview-messenger--status {
101
+ --str-chat-icon-color: var(--str-chat__channel-preview-message-status-color);
101
102
  color: var(--str-chat__channel-preview-message-status-color);
102
103
 
103
104
  svg {
@@ -0,0 +1,87 @@
1
+ /* Only available in Angular v5+ */
2
+ .str-chat {
3
+ /* The height of the icon, only available in Angular v5+ */
4
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
5
+ /* The width of the icon, only available in Angular v5+ */
6
+ --str-chat-icon-width: auto;
7
+ }
8
+
9
+ .str-chat__icon {
10
+ display: flex;
11
+ font-family: 'stream-chat-icons';
12
+ font-style: normal;
13
+ font-weight: normal;
14
+ font-size: var(--str-chat-icon-height);
15
+ line-height: var(--str-chat-icon-height);
16
+ height: var(--str-chat-icon-height);
17
+ width: var(--str-chat-icon-width);
18
+
19
+ &::before {
20
+ line-height: var(--str-chat-icon-height);
21
+ }
22
+ }
23
+
24
+ // File type icons
25
+ .str-chat__icon--unspecified-filetype {
26
+ content: url('data:image/svg+xml;base64,PHN2ZwogIGRhdGEtdGVzdGlkPSJ1bnNwZWNpZmllZC1maWxldHlwZSIKICB3aWR0aD0iMzQiCiAgaGVpZ2h0PSI0MCIKICB2aWV3Qm94PSIwIDAgMzQgNDAiCiAgZmlsbD0ibm9uZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCj4KICA8cGF0aAogICAgZD0iTTAgM0MwIDEuMzQzMTUgMS4zNDMxNSAwIDMgMEgyM0wzNCAxMVYzN0MzNCAzOC42NTY5IDMyLjY1NjkgNDAgMzEgNDBIM0MxLjM0MzE1IDQwIDAgMzguNjU2OSAwIDM3VjNaIgogICAgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIKICAvPgogIDxwYXRoIGQ9Ik0zNCAxMUwyNiAxMUMyNC4zNDMxIDExIDIzIDkuNjU2ODUgMjMgOFYwTDM0IDExWiIgZmlsbD0iI0RCREJEQiIgLz4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTggMTNIMjNWMTVIOFYxM1oiCiAgICBmaWxsPSIjQ0ZDRkNGIgogIC8+CiAgPHBhdGgKICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgIGQ9Ik04IDE3SDE4VjE5SDhWMTdaIgogICAgZmlsbD0iI0NGQ0ZDRiIKICAvPgogIDxwYXRoCiAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICBkPSJNOCAyMUgyM1YyM0g4VjIxWiIKICAgIGZpbGw9IiNDRkNGQ0YiCiAgLz4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICBpZD0icGFpbnQwX2xpbmVhciIKICAgICAgeDE9IjAiCiAgICAgIHkxPSIwIgogICAgICB4Mj0iMCIKICAgICAgeTI9IjQwIgogICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgID4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0RCREJEQiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=');
27
+ }
28
+
29
+ .str-chat__icon--audio-file {
30
+ content: url('data:image/svg+xml;base64,PHN2ZwogIGNsYXNzPSJyZnUtZmlsZS1hdWRpbyIKICBmaWxsPSJub25lIgogIHZpZXdCb3g9IjAgMCAzNCA0MCIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgaGVpZ2h0PSIyMCIKICB3aWR0aD0iMjAiCj4KICA8cGF0aAogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTE3LjcxNjggMzMuMTcyQzE4LjIzNDggMzMuMTcyIDE4LjQyMzggMzMuNjU1IDE4LjQyMzggMzQuMThDMTguNDIzOCAzNC42NDIgMTguMjk3OCAzNS4xOTUgMTcuNzE2OCAzNS4xOTVDMTcuMTcwOCAzNS4xOTUgMTYuOTg4OCAzNC42NDIgMTYuOTg4OCAzNC4xNDVDMTYuOTg4OCAzMy42ODMgMTcuMTcwOCAzMy4xNzIgMTcuNzE2OCAzMy4xNzJaTTE5LjU3MTggMzEuMDAySDE4LjM4MThWMzIuNzU4OUgxOC4zNjc4QzE4LjEyMjggMzIuNDMgMTcuNzc5OCAzMi4yNjIgMTcuMzMxOCAzMi4yNjJDMTYuMzAyOCAzMi4yNjIgMTUuNzk4OCAzMy4xNTggMTUuNzk4OCAzNC4xMDNDMTUuNzk4OCAzNS4xMjUgMTYuMjgxOCAzNi4xMDQ5IDE3LjQyMjggMzYuMTA0OUMxNy44NDI4IDM2LjEwNDkgMTguMTkyOCAzNS45MjMgMTguNDIzOCAzNS41OEgxOC40Mzc4VjM2SDE5LjU3MThWMzEuMDAyWk0xMi43MDk1IDM0LjE4NzJDMTIuNzA5NSAzMy43MjUyIDEyLjg3NzUgMzMuMTcyMiAxMy40MzA1IDMzLjE3MjJDMTMuOTgzNSAzMy4xNzIyIDE0LjE1ODUgMzMuNzI1MiAxNC4xNTg1IDM0LjE4NzJDMTQuMTU4NSAzNC42NDkyIDEzLjk4MzUgMzUuMTk1MiAxMy40MzA1IDM1LjE5NTJDMTIuODc3NSAzNS4xOTUyIDEyLjcwOTUgMzQuNjQ5MiAxMi43MDk1IDM0LjE4NzJaTTExLjUxOTUgMzQuMTg3MkMxMS41MTk1IDM1LjI3OTIgMTIuMzAzNSAzNi4xMDUyIDEzLjQzMDUgMzYuMTA1MkMxNC41NTc1IDM2LjEwNTIgMTUuMzQ4NSAzNS4yNzkyIDE1LjM0ODUgMzQuMTg3MkMxNS4zNDg1IDMzLjA5NTIgMTQuNTU3NSAzMi4yNjIyIDEzLjQzMDUgMzIuMjYyMkMxMi4zMDM1IDMyLjI2MjIgMTEuNTE5NSAzMy4wOTUyIDExLjUxOTUgMzQuMTg3MlpNMjEuODM5IDMyLjM2NzFIMjIuNTc0VjMzLjEzNzFIMjEuODM5VjM0Ljc4OTFDMjEuODM5IDM1LjA3NjEgMjIuMDA3IDM1LjEzOTEgMjIuMjY2IDM1LjEzOTFDMjIuMzE0MiAzNS4xMzkxIDIyLjM2NCAzNS4xMzU3IDIyLjQxNDcgMzUuMTMyM0MyMi40NjcyIDM1LjEyODcgMjIuNTIwNiAzNS4xMjUxIDIyLjU3NCAzNS4xMjUxVjM2LjAwMDFDMjIuNDgxIDM2LjAwMzEgMjIuMzg4IDM2LjAwOTkgMjIuMjk1IDM2LjAxNjhDMjIuMTcxIDM2LjAyNTkgMjIuMDQ3IDM2LjAzNTEgMjEuOTIzIDM2LjAzNTFDMjAuOTA4IDM2LjAzNTEgMjAuNjQ5IDM1Ljc0MTEgMjAuNjQ5IDM0Ljc1NDFWMzMuMTM3MUgyMC4wNDdWMzIuMzY3MUgyMC42NDlWMzEuMjY4MUgyMS44MzlWMzIuMzY3MVoiCiAgICBmaWxsPSJ3aGl0ZSIKICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICA+PC9wYXRoPgogIDxwYXRoCiAgICBkPSJNMCAyOEgzNFYzN0MzNCAzOC42NTY5IDMyLjY1NjkgNDAgMzEgNDBIM0MxLjM0MzE1IDQwIDAgMzguNjU2OSAwIDM3VjI4WiIKICAgIGZpbGw9IiMyNzI3QjAiCiAgPjwvcGF0aD4KICA8cGF0aCBkPSJNMCAzQzAgMS4zNDMxNSAxLjM0MzE1IDAgMyAwSDIzTDM0IDExVjI4SDBWM1oiIGZpbGw9IiNGNUY1RjUiPjwvcGF0aD4KICA8cGF0aAogICAgZD0iTTM0IDExTDI2IDExQzI0LjM0MzEgMTEgMjMgOS42NTY4NSAyMyA4VjBMMzQgMTFaIgogICAgZmlsbD0iI0RCREJEQiIKICA+PC9wYXRoPgogIDxwYXRoCiAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICBkPSJNOC44NzkxMiAyMS45NDFIMTIuMjk4TDE2Ljk1MjEgMjQuNzQ5M0MxNy4wMzA3IDI0LjgxMzggMTcuMTI5MyAyNC44NDkgMTcuMjMxMSAyNC44NDlDMTcuNDczOCAyNC44NDg4IDE3LjY3MDUgMjQuNjUxOSAxNy42NzAzIDI0LjQwOTJWMTIuNDM5OUMxNy42NzA0IDEyLjMzODEgMTcuNjM1MiAxMi4yMzk2IDE3LjU3MDcgMTIuMTYwOUMxNy40MTY4IDExLjk3MzIgMTcuMTM5OCAxMS45NDU3IDE2Ljk1MjEgMTIuMDk5NkwxMi4yOTggMTQuOTA4SDguODc5MTJDOC4zOTM2IDE0LjkwOCA4IDE1LjMwMTYgOCAxNS43ODcxVjIxLjA2MTlDOCAyMS41NDc0IDguMzkzNiAyMS45NDEgOC44NzkxMiAyMS45NDFaTTEyLjkyNTggMTYuNjY2NEwxNS45MTIyIDE1LjIyMjRWMjEuNjI2OEwxMi45MjU4IDIwLjE4MjlIOS43NTgzVjE2LjY2NjRIMTIuOTI1OFpNMTkuODUxMSAxNi4zNTE3QzE5LjQ3NCAxNi40MDkyIDE5LjIzOTcgMTYuNjYzNyAxOS4zMjgzIDE2LjkxOTFMMTkuMzI2MiAxNi45MkMxOS41Mjk1IDE3LjQ5OTUgMTkuNjMwNSAxOC4wOTggMTkuNjI4NCAxOC42OTUzQzE5LjYzMDUgMTkuMjk3NSAxOS41MjM3IDE5LjkwMTQgMTkuMzE5NiAyMC40OTA5QzE5LjIyOSAyMC43NDYyIDE5LjQ2ODIgMjAuOTk5NiAxOS44NDc0IDIxLjA2QzE5LjkwMDggMjEuMDY4MyAxOS45NTQyIDIxLjA3MiAyMC4wMDc2IDIxLjA3MkMyMC4zMjU5IDIxLjA3MiAyMC42MTU2IDIwLjkyMzQgMjAuNjkyMiAyMC43MDU3QzIwLjkxOTQgMjAuMDQ1MSAyMS4wMzM3IDE5LjM3IDIxLjAzNzQgMTguNjk1M0MyMS4wMzQ5IDE4LjAyNTEgMjAuOTIxMSAxNy4zNTc1IDIwLjY5NTUgMTYuNzAzNUMyMC42MDUzIDE2LjQ0NzcgMjAuMjI5IDE2LjI5MDggMTkuODUxMSAxNi4zNTE3Wk0yMi4xNjA1IDE0LjYwMjhDMjIuNTI1MiAxNC41MTYzIDIyLjkyNTkgMTQuNjQ1NCAyMy4wNTUgMTQuODkzOEMyMy42ODkxIDE2LjExNTcgMjQgMTcuNDA0MiAyNCAxOC42OTIzQzI0LjAwMDQgMTkuOTg5NSAyMy42Nzk2IDIxLjI4MzkgMjMuMDUyMSAyMi41MTUzQzIyLjk1MDMgMjIuNzEyMyAyMi42NzYzIDIyLjgzNDQgMjIuMzgyOCAyMi44MzQ0QzIyLjMwNzEgMjIuODM0NCAyMi4yMzAxIDIyLjgyNjEgMjIuMTU0MyAyMi44MDkyQzIxLjc4NjMgMjIuNzI1MSAyMS41OTE0IDIyLjQ1MzYgMjEuNzE4NSAyMi4yMDc3QzIyLjI5ODggMjEuMDc2MSAyMi41OTIyIDE5Ljg4MzYgMjIuNTkzMSAxOC42OTE5QzIyLjU5MzEgMTcuNTA1NiAyMi4zMDU0IDE2LjMyMjIgMjEuNzI3NiAxNS4yMDI1QzIxLjYwMDEgMTQuOTU2MyAyMS43OTUgMTQuNjg2IDIyLjE2MDUgMTQuNjAyOFoiCiAgICBmaWxsPSIjMjcyN0IwIgogICAgZmlsbC1ydWxlPSJldmVub2RkIgogID48L3BhdGg+Cjwvc3ZnPg==');
31
+ }
32
+
33
+ // Copy icon mapping here
34
+ .str-chat__icon--action::before {
35
+ content: '\e800';
36
+ } /* '' */
37
+ .str-chat__icon--arrow-down::before {
38
+ content: '\e801';
39
+ } /* '' */
40
+ .str-chat__icon--arrow-left::before {
41
+ content: '\e802';
42
+ } /* '' */
43
+ .str-chat__icon--arrow-right::before {
44
+ content: '\e803';
45
+ } /* '' */
46
+ .str-chat__icon--close::before {
47
+ content: '\e804';
48
+ } /* '' */
49
+ .str-chat__icon--arrow-up::before {
50
+ content: '\e805';
51
+ } /* '' */
52
+ .str-chat__icon--chat-bubble::before {
53
+ content: '\e806';
54
+ } /* '' */
55
+ .str-chat__icon--pause::before {
56
+ content: '\e807';
57
+ } /* '' */
58
+ .str-chat__icon--download::before {
59
+ content: '\e808';
60
+ } /* '' */
61
+ .str-chat__icon--delivered::before {
62
+ content: '\e809';
63
+ } /* '' */
64
+ .str-chat__icon--play::before {
65
+ content: '\e80a';
66
+ } /* '' */
67
+ .str-chat__icon--reaction::before {
68
+ content: '\e80b';
69
+ } /* '' */
70
+ .str-chat__icon--error::before {
71
+ content: '\e80c';
72
+ } /* '' */
73
+ .str-chat__icon--read::before {
74
+ content: '\e80d';
75
+ } /* '' */
76
+ .str-chat__icon--retry::before {
77
+ content: '\e80e';
78
+ } /* '' */
79
+ .str-chat__icon--reply-in-thread::before {
80
+ content: '\e80f';
81
+ } /* '' */
82
+ .str-chat__icon--send::before {
83
+ content: '\e810';
84
+ } /* '' */
85
+ .str-chat__icon--attach::before {
86
+ content: '\e811';
87
+ } /* '' */
@@ -0,0 +1,13 @@
1
+ /* Only available in Angular v5+ */
2
+ .str-chat {
3
+ /* The color of the icon, only available in Angular v5+ */
4
+ --str-chat-icon-color: var(--str-chat__text-color);
5
+ }
6
+
7
+ .str-chat__icon {
8
+ color: var(--str-chat-icon-color);
9
+ }
10
+
11
+ .str-chat__icon--error {
12
+ --str-chat-icon-color: var(--str-chat__danger-color);
13
+ }
@@ -10,6 +10,7 @@
10
10
  height: 100%;
11
11
 
12
12
  .str-chat__image-carousel-stepper {
13
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 30);
13
14
  padding: var(--str-chat__spacing-2_5);
14
15
  border: none;
15
16
  cursor: pointer;
@@ -20,6 +20,7 @@
20
20
 
21
21
  .str-chat__image-carousel {
22
22
  .str-chat__image-carousel-stepper {
23
+ --str-chat-icon-color: var(--str-chat__image-carousel-stepper-color);
23
24
  cursor: pointer;
24
25
 
25
26
  svg path {
@@ -1,10 +1,19 @@
1
- // todo: this is a copy of src/styles/LoadingIndicator.scss - find a shared folder for it
1
+ .str-chat {
2
+ /* The size of the loading indicator, only available in Angular v5+ */
3
+ --str-chat__loading-indicator-size: calc(var(--str-chat__spacing-px) * 15);
4
+ }
5
+
2
6
  .str-chat__loading-indicator {
3
7
  display: flex;
4
8
  align-items: center;
5
9
  justify-content: center;
6
10
  animation: rotate 1s linear infinite;
7
11
 
12
+ svg {
13
+ width: var(--str-chat__loading-indicator-size);
14
+ height: var(--str-chat__loading-indicator-size);
15
+ }
16
+
8
17
  @-webkit-keyframes rotate {
9
18
  from {
10
19
  -webkit-transform: rotate(0deg);
@@ -1,11 +1,13 @@
1
+ .str-chat {
2
+ /* The color of the loading indicator */
3
+ --str-chat__loading-indicator-color: var(--str-chat__primary-color);
4
+ }
5
+
1
6
  .str-chat__loading-indicator {
2
7
  svg {
3
8
  linearGradient {
4
9
  stop:last-child {
5
- stop-color: var(
6
- --str-chat__loading-indicator-color,
7
- var(--str-chat__primary-color, #006cff)
8
- );
10
+ stop-color: var(--str-chat__loading-indicator-color);
9
11
  }
10
12
  }
11
13
  }
@@ -29,6 +29,10 @@
29
29
  .str-chat__message-bubble {
30
30
  max-width: var(--str-chat__message-max-width);
31
31
  }
32
+
33
+ .str-chat__message-options {
34
+ --str-chat-icon-height: calc(var(--str-chat__message-options-button-size) * 0.7);
35
+ }
32
36
  }
33
37
 
34
38
  .str-chat__message.str-chat__message--has-attachment {
@@ -218,6 +222,7 @@
218
222
  }
219
223
 
220
224
  .str-chat__message-status {
225
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 15);
221
226
  @include utils.flex-row-center;
222
227
  column-gap: var(--str-chat__spacing-0_5);
223
228
  position: relative;
@@ -453,6 +458,7 @@
453
458
  }
454
459
 
455
460
  .str-chat__unread-messages-notification {
461
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
456
462
  position: absolute;
457
463
  top: 0.75rem;
458
464
  z-index: 2;
@@ -220,12 +220,15 @@
220
220
  }
221
221
 
222
222
  .str-chat__message-options {
223
+ --str-chat-icon-color: var(--str-chat__message-options-color);
224
+
223
225
  .str-chat__message-actions-box-button,
224
226
  .str-chat__message-reply-in-thread-button,
225
227
  .str-chat__message-reactions-button {
226
228
  // remove default button styles (React SDK uses button compared to div in Angular SDK)
227
229
  @include utils.button-reset;
228
230
  border-radius: var(--str-chat__message-options-border-radius);
231
+ color: var(--str-chat__message-options-color);
229
232
 
230
233
  .str-chat__message-action-icon path {
231
234
  fill: var(--str-chat__message-options-color);
@@ -272,6 +275,7 @@
272
275
  }
273
276
 
274
277
  .str-chat__message-status {
278
+ --str-chat-icon-color: var(--str-chat__message-status-color);
275
279
  color: var(--str-chat__message-status-color);
276
280
  font: var(--str-chat__body-text);
277
281
 
@@ -297,6 +301,7 @@
297
301
  }
298
302
 
299
303
  .str-chat__message-error-icon {
304
+ --str-chat-icon-color: var(--str-chat__message-error-message-color);
300
305
  /* stylelint-disable-next-line selector-max-id */
301
306
  svg #background {
302
307
  fill: var(--str-chat__message-error-message-color);
@@ -393,6 +398,7 @@
393
398
  }
394
399
 
395
400
  .str-chat__unread-messages-notification {
401
+ --str-chat-icon-color: var(--str-chat__on-primary-color);
396
402
  background-color: var(--str-chat__text-low-emphasis-color);
397
403
  border-radius: 1.125rem;
398
404
 
@@ -47,6 +47,7 @@
47
47
  justify-content: center;
48
48
 
49
49
  .str-chat__file-input-container {
50
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
50
51
  @include utils.flex-row-center;
51
52
  width: calc(var(--str-chat__spacing-px) * 45);
52
53
  height: calc(var(--str-chat__spacing-px) * 45);
@@ -133,6 +134,7 @@
133
134
  }
134
135
 
135
136
  .str-chat__send-button {
137
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 32);
136
138
  @include utils.flex-row-center;
137
139
  cursor: pointer;
138
140
  padding: 0;
@@ -208,7 +210,8 @@
208
210
  flex-grow: initial;
209
211
  }
210
212
 
211
- [dir='rtl'] .str-chat__send-button, [dir='rtl'] .str-chat__start-recording-audio-button {
213
+ [dir='rtl'] .str-chat__send-button,
214
+ [dir='rtl'] .str-chat__start-recording-audio-button {
212
215
  svg {
213
216
  transform: scale(-1, 1);
214
217
  }
@@ -181,6 +181,7 @@
181
181
  }
182
182
 
183
183
  .str-chat__file-input-container {
184
+ --str-chat-icon-color: var(--str-chat__message-input-tools-color);
184
185
  @include utils.component-layer-overrides('message-input-tools');
185
186
 
186
187
  svg path {
@@ -209,6 +210,7 @@
209
210
  }
210
211
 
211
212
  .str-chat__send-button {
213
+ --str-chat-icon-color: var(--str-chat__message-send-color);
212
214
  @include utils.component-layer-overrides('message-send');
213
215
 
214
216
  svg path {
@@ -216,6 +218,7 @@
216
218
  }
217
219
 
218
220
  &:disabled {
221
+ --str-chat-icon-color: var(--str-chat__message-send-disabled-color);
219
222
  background-color: transparent;
220
223
 
221
224
  svg path {
@@ -91,6 +91,8 @@
91
91
  }
92
92
 
93
93
  .str-chat__jump-to-latest-message {
94
+ --str-chat-icon-color: var(--str-chat__jump-to-latest-message-unread-count-background-color);
95
+
94
96
  .str-chat__circle-fab {
95
97
  @include utils.component-layer-overrides('jump-to-latest-message');
96
98
  @include utils.circle-fab-overrides('jump-to-latest-message');
@@ -18,6 +18,7 @@
18
18
  }
19
19
 
20
20
  .str-chat__modal__close-button {
21
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 28);
21
22
  @include utils.flex-row-center;
22
23
  padding: var(--str-chat__spacing-2);
23
24
  position: absolute;