stream-chat-react 11.10.0 → 11.12.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.
- package/dist/{Window-7d524c3b.js → Window-e8323a54.js} +357 -74
- package/dist/browser.full-bundle.js +466 -147
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +4 -4
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/Attachment.d.ts +6 -1
- package/dist/components/Attachment/Attachment.d.ts.map +1 -1
- package/dist/components/Attachment/Attachment.js +8 -2
- package/dist/components/Attachment/AttachmentContainer.d.ts +1 -0
- package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -1
- package/dist/components/Attachment/AttachmentContainer.js +7 -0
- package/dist/components/Attachment/Audio.d.ts +0 -10
- package/dist/components/Attachment/Audio.d.ts.map +1 -1
- package/dist/components/Attachment/Audio.js +1 -14
- package/dist/components/Attachment/Card.d.ts.map +1 -1
- package/dist/components/Attachment/Card.js +1 -1
- package/dist/components/Attachment/FileAttachment.d.ts.map +1 -1
- package/dist/components/Attachment/FileAttachment.js +1 -2
- package/dist/components/Attachment/VoiceRecording.d.ts +18 -0
- package/dist/components/Attachment/VoiceRecording.d.ts.map +1 -0
- package/dist/components/Attachment/VoiceRecording.js +45 -0
- package/dist/components/Attachment/components/DownloadButton.d.ts.map +1 -0
- package/dist/components/Attachment/{DownloadButton.js → components/DownloadButton.js} +2 -2
- package/dist/components/Attachment/components/FileSizeIndicator.d.ts +13 -0
- package/dist/components/Attachment/components/FileSizeIndicator.d.ts.map +1 -0
- package/dist/components/Attachment/{FileSizeIndicator.js → components/FileSizeIndicator.js} +2 -2
- package/dist/components/Attachment/components/PlayButton.d.ts +8 -0
- package/dist/components/Attachment/components/PlayButton.d.ts.map +1 -0
- package/dist/components/Attachment/components/PlayButton.js +6 -0
- package/dist/components/Attachment/components/PlaybackRateButton.d.ts +4 -0
- package/dist/components/Attachment/components/PlaybackRateButton.d.ts.map +1 -0
- package/dist/components/Attachment/components/PlaybackRateButton.js +5 -0
- package/dist/components/Attachment/components/ProgressBar.d.ts +7 -0
- package/dist/components/Attachment/components/ProgressBar.d.ts.map +1 -0
- package/dist/components/Attachment/components/ProgressBar.js +8 -0
- package/dist/components/Attachment/components/WaveProgressBar.d.ts +22 -0
- package/dist/components/Attachment/components/WaveProgressBar.d.ts.map +1 -0
- package/dist/components/Attachment/components/WaveProgressBar.js +121 -0
- package/dist/components/Attachment/components/index.d.ts +7 -0
- package/dist/components/Attachment/components/index.d.ts.map +1 -0
- package/dist/components/Attachment/components/index.js +6 -0
- package/dist/components/Attachment/hooks/useAudioController.d.ts +12 -2
- package/dist/components/Attachment/hooks/useAudioController.d.ts.map +1 -1
- package/dist/components/Attachment/hooks/useAudioController.js +60 -25
- package/dist/components/Attachment/index.d.ts +1 -0
- package/dist/components/Attachment/index.d.ts.map +1 -1
- package/dist/components/Attachment/index.js +1 -0
- package/dist/components/Attachment/utils.d.ts +4 -2
- package/dist/components/Attachment/utils.d.ts.map +1 -1
- package/dist/components/Attachment/utils.js +14 -0
- package/dist/components/Channel/Channel.d.ts +2 -0
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +1 -0
- package/dist/components/Chat/hooks/useCreateChatClient.d.ts +10 -0
- package/dist/components/Chat/hooks/useCreateChatClient.d.ts.map +1 -0
- package/dist/components/Chat/hooks/useCreateChatClient.js +31 -0
- package/dist/components/Chat/index.d.ts +1 -0
- package/dist/components/Chat/index.d.ts.map +1 -1
- package/dist/components/Chat/index.js +1 -0
- package/dist/components/Emojis/index.cjs.js +3 -3
- package/dist/components/Gallery/BaseImage.js +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +2 -1
- package/dist/components/Message/MessageEditedTimestamp.d.ts +8 -0
- package/dist/components/Message/MessageEditedTimestamp.d.ts.map +1 -0
- package/dist/components/Message/MessageEditedTimestamp.js +22 -0
- package/dist/components/Message/MessageSimple.d.ts.map +1 -1
- package/dist/components/Message/MessageSimple.js +13 -3
- package/dist/components/Message/MessageTimestamp.d.ts +1 -1
- package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
- package/dist/components/Message/MessageTimestamp.js +8 -13
- package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
- package/dist/components/Message/QuotedMessage.js +1 -1
- package/dist/components/Message/Timestamp.d.ts +10 -0
- package/dist/components/Message/Timestamp.d.ts.map +1 -0
- package/dist/components/Message/Timestamp.js +24 -0
- package/dist/components/Message/renderText/index.d.ts +1 -1
- package/dist/components/Message/renderText/index.d.ts.map +1 -1
- package/dist/components/Message/utils.d.ts +1 -0
- package/dist/components/Message/utils.d.ts.map +1 -1
- package/dist/components/Message/utils.js +1 -0
- package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
- package/dist/components/MessageInput/QuotedMessagePreview.js +1 -1
- package/dist/components/MessageList/MessageList.d.ts +1 -1
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +12 -13
- package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +11 -6
- package/dist/components/MessageList/utils.d.ts.map +1 -1
- package/dist/components/MessageList/utils.js +5 -2
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/constants/limits.d.ts +1 -0
- package/dist/constants/limits.d.ts.map +1 -1
- package/dist/constants/limits.js +1 -0
- package/dist/context/ComponentContext.d.ts +2 -0
- package/dist/context/ComponentContext.d.ts.map +1 -1
- package/dist/css/index.css +1 -1
- package/dist/css/v2/index.css +1 -1
- package/dist/css/v2/index.layout.css +1 -1
- package/dist/i18n/Streami18n.d.ts +3 -0
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/de.json +3 -0
- package/dist/i18n/en.json +3 -0
- package/dist/i18n/es.json +3 -0
- package/dist/i18n/fr.json +3 -0
- package/dist/i18n/hi.json +3 -0
- package/dist/i18n/it.json +3 -0
- package/dist/i18n/ja.json +3 -0
- package/dist/i18n/ko.json +3 -0
- package/dist/i18n/nl.json +3 -0
- package/dist/i18n/pt.json +3 -0
- package/dist/i18n/ru.json +3 -0
- package/dist/i18n/tr.json +3 -0
- package/dist/index.cjs.js +67 -21
- package/dist/scss/Message.scss +21 -17
- package/dist/scss/MessageActions.scss +0 -9
- package/dist/scss/_base.scss +8 -1
- package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +84 -0
- package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +72 -1
- package/dist/scss/v2/EditMessageForm/EditMessageForm-layout.scss +13 -15
- package/dist/scss/v2/Message/Message-layout.scss +48 -4
- package/dist/scss/v2/MessageActionsBox/MessageActionsBox-layout.scss +0 -8
- package/dist/scss/v2/_base.scss +1 -2
- package/dist/scss/v2/_utils.scss +0 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -7
- package/dist/components/Attachment/DownloadButton.d.ts.map +0 -1
- package/dist/components/Attachment/FileSizeIndicator.d.ts +0 -7
- package/dist/components/Attachment/FileSizeIndicator.d.ts.map +0 -1
- /package/dist/components/Attachment/{DownloadButton.d.ts → components/DownloadButton.d.ts} +0 -0
package/dist/i18n/ko.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"Drag your files here to add to your post": "게시물에 추가하려면 파일을 여기로 끌어다 놓으세요",
|
|
13
13
|
"Edit Message": "메시지 수정",
|
|
14
14
|
"Edit message request failed": "메시지 수정 요청 실패",
|
|
15
|
+
"Edited": "편집됨",
|
|
15
16
|
"Emoji matching": "이모티콘 매칭",
|
|
16
17
|
"Empty message...": "빈 메시지...",
|
|
17
18
|
"Error adding flag": "플래그를 추가하는 동안 오류가 발생했습니다.",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Error muting a user ...": "사용자를 음소거하는 중에 오류가 발생했습니다...",
|
|
23
24
|
"Error pinning message": "메시지를 핀하는 중에 오류가 발생했습니다.",
|
|
24
25
|
"Error removing message pin": "메시지 핀을 제거하는 중에 오류가 발생했습니다.",
|
|
26
|
+
"Error reproducing the recording": "녹음 재생 중 오류 발생",
|
|
25
27
|
"Error unmuting a user ...": "사용자 음소거 해제 중 오류 발생...",
|
|
26
28
|
"Error uploading file": "파일 업로드 오류",
|
|
27
29
|
"Error uploading image": "이미지를 업로드하는 동안 오류가 발생했습니다.",
|
|
@@ -70,6 +72,7 @@
|
|
|
70
72
|
"Unread messages": "읽지 않은 메시지",
|
|
71
73
|
"Upload type: \"{{ type }}\" is not allowed": "업로드 유형: \"{{ type }}\"은(는) 허용되지 않습니다.",
|
|
72
74
|
"User uploaded content": "사용자 업로드 콘텐츠",
|
|
75
|
+
"Voice message": "음성 메시지",
|
|
73
76
|
"Wait until all attachments have uploaded": "모든 첨부 파일이 업로드될 때까지 기다립니다.",
|
|
74
77
|
"You have no channels currently": "현재 채널이 없습니다.",
|
|
75
78
|
"You've reached the maximum number of files": "최대 파일 수에 도달했습니다.",
|
package/dist/i18n/nl.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"Drag your files here to add to your post": "Sleep je bestanden hier naartoe om aan je bericht toe te voegen",
|
|
13
13
|
"Edit Message": "Pas bericht aan",
|
|
14
14
|
"Edit message request failed": "Verzoek om bericht bewerken mislukt",
|
|
15
|
+
"Edited": "Bewerkt",
|
|
15
16
|
"Emoji matching": "Emoji-overeenkomsten",
|
|
16
17
|
"Empty message...": "Leeg bericht...",
|
|
17
18
|
"Error adding flag": "Fout bij toevoegen van vlag",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Error muting a user ...": "Fout bij het muten van de gebruiker",
|
|
23
24
|
"Error pinning message": "Fout bij vastzetten van bericht",
|
|
24
25
|
"Error removing message pin": "Fout bij verwijderen van berichtpin",
|
|
26
|
+
"Error reproducing the recording": "Fout bij het afspelen van de opname",
|
|
25
27
|
"Error unmuting a user ...": "Fout bij het unmuten van de gebruiker",
|
|
26
28
|
"Error uploading file": "Fout bij uploaden bestand",
|
|
27
29
|
"Error uploading image": "Fout bij uploaden afbeelding",
|
|
@@ -70,6 +72,7 @@
|
|
|
70
72
|
"Unread messages": "Ongelezen berichten",
|
|
71
73
|
"Upload type: \"{{ type }}\" is not allowed": "Uploadtype: \"{{ type }}\" is niet toegestaan",
|
|
72
74
|
"User uploaded content": "Gebruikersgeüploade inhoud",
|
|
75
|
+
"Voice message": "Voicemail",
|
|
73
76
|
"Wait until all attachments have uploaded": "Wacht tot alle bijlagen zijn geüpload",
|
|
74
77
|
"You have no channels currently": "Er zijn geen chats beschikbaar",
|
|
75
78
|
"You've reached the maximum number of files": "Je hebt het maximale aantal bestanden bereikt",
|
package/dist/i18n/pt.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"Drag your files here to add to your post": "Arraste seus arquivos aqui para adicionar ao seu post",
|
|
13
13
|
"Edit Message": "Editar Mensagem",
|
|
14
14
|
"Edit message request failed": "O pedido de edição da mensagem falhou",
|
|
15
|
+
"Edited": "Editada",
|
|
15
16
|
"Emoji matching": "Emoji correspondente",
|
|
16
17
|
"Empty message...": "Mensagem vazia...",
|
|
17
18
|
"Error adding flag": "Erro ao reportar",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Error muting a user ...": "Erro ao silenciar um usuário...",
|
|
23
24
|
"Error pinning message": "Erro ao fixar mensagem",
|
|
24
25
|
"Error removing message pin": "Erro ao remover o PIN da mensagem",
|
|
26
|
+
"Error reproducing the recording": "Erro ao reproduzir a gravação",
|
|
25
27
|
"Error unmuting a user ...": "Erro ao ativar o som de um usuário...",
|
|
26
28
|
"Error uploading file": "Erro ao enviar arquivo",
|
|
27
29
|
"Error uploading image": "Erro ao carregar a imagem",
|
|
@@ -70,6 +72,7 @@
|
|
|
70
72
|
"Unread messages": "Mensagens não lidas",
|
|
71
73
|
"Upload type: \"{{ type }}\" is not allowed": "Tipo de upload: \"{{ type }}\" não é permitido",
|
|
72
74
|
"User uploaded content": "Conteúdo enviado pelo usuário",
|
|
75
|
+
"Voice message": "Mensagem de voz",
|
|
73
76
|
"Wait until all attachments have uploaded": "Espere até que todos os anexos tenham sido carregados",
|
|
74
77
|
"You have no channels currently": "Você não tem canais atualmente",
|
|
75
78
|
"You've reached the maximum number of files": "Você atingiu o número máximo de arquivos",
|
package/dist/i18n/ru.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"Drag your files here to add to your post": "Перетащите ваши файлы сюда, чтобы добавить их в ваш пост",
|
|
13
13
|
"Edit Message": "Редактировать сообщение",
|
|
14
14
|
"Edit message request failed": "Не удалось изменить запрос сообщения",
|
|
15
|
+
"Edited": "Отредактировано",
|
|
15
16
|
"Emoji matching": "Соответствие эмодзи",
|
|
16
17
|
"Empty message...": "Пустое сообщение...",
|
|
17
18
|
"Error adding flag": "Ошибка добавления флага",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Error muting a user ...": "Ошибка отключения уведомлений от пользователя...",
|
|
23
24
|
"Error pinning message": "Сообщение об ошибке при закреплении",
|
|
24
25
|
"Error removing message pin": "Ошибка при удалении булавки сообщения",
|
|
26
|
+
"Error reproducing the recording": "Ошибка воспроизведения записи",
|
|
25
27
|
"Error unmuting a user ...": "Ошибка включения уведомлений...",
|
|
26
28
|
"Error uploading file": "Ошибка при загрузке файла",
|
|
27
29
|
"Error uploading image": "Ошибка загрузки изображения",
|
|
@@ -70,6 +72,7 @@
|
|
|
70
72
|
"Unread messages": "Непрочитанные сообщения",
|
|
71
73
|
"Upload type: \"{{ type }}\" is not allowed": "Тип загрузки: \"{{ type }}\" не разрешен",
|
|
72
74
|
"User uploaded content": "Пользователь загрузил контент",
|
|
75
|
+
"Voice message": "Голосовое сообщение",
|
|
73
76
|
"Wait until all attachments have uploaded": "Подождите, пока все вложения загрузятся",
|
|
74
77
|
"You have no channels currently": "У вас нет каналов в данный момент",
|
|
75
78
|
"You've reached the maximum number of files": "Вы достигли максимального количества файлов",
|
package/dist/i18n/tr.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"Drag your files here to add to your post": "Gönderinize eklemek için dosyalarınızı buraya sürükleyin",
|
|
13
13
|
"Edit Message": "Mesajı Düzenle",
|
|
14
14
|
"Edit message request failed": "Mesaj düzenleme isteği başarısız oldu",
|
|
15
|
+
"Edited": "Düzenlendi",
|
|
15
16
|
"Emoji matching": "Emoji eşleştirme",
|
|
16
17
|
"Empty message...": "Boş mesaj...",
|
|
17
18
|
"Error adding flag": "Bayrak eklenirken hata oluştu",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Error muting a user ...": "Kullanıcıyı sessize alırken hata oluştu ...",
|
|
23
24
|
"Error pinning message": "Mesaj sabitlenirken hata oluştu",
|
|
24
25
|
"Error removing message pin": "Mesaj PIN'i kaldırılırken hata oluştu",
|
|
26
|
+
"Error reproducing the recording": "Kaydı yeniden üretme hatası",
|
|
25
27
|
"Error unmuting a user ...": "Kullanıcının sesini açarken hata oluştu ...",
|
|
26
28
|
"Error uploading file": "Dosya yüklenirken hata oluştu",
|
|
27
29
|
"Error uploading image": "Resmi yüklerken hata",
|
|
@@ -70,6 +72,7 @@
|
|
|
70
72
|
"Unread messages": "Okunmamış mesajlar",
|
|
71
73
|
"Upload type: \"{{ type }}\" is not allowed": "Yükleme türü: \"{{ type }}\" izin verilmez",
|
|
72
74
|
"User uploaded content": "Kullanıcı tarafından yüklenen içerik",
|
|
75
|
+
"Voice message": "Sesli mesaj",
|
|
73
76
|
"Wait until all attachments have uploaded": "Tüm ekler yüklenene kadar bekleyin",
|
|
74
77
|
"You have no channels currently": "Henüz kanalınız yok",
|
|
75
78
|
"You've reached the maximum number of files": "Maksimum dosya sayısına ulaştınız",
|
package/dist/index.cjs.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Window = require('./Window-
|
|
5
|
+
var Window = require('./Window-e8323a54.js');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var streamChat = require('stream-chat');
|
|
7
8
|
var reactVirtuoso = require('react-virtuoso');
|
|
8
9
|
var throttle = require('lodash.throttle');
|
|
9
10
|
require('emoji-regex');
|
|
@@ -13,7 +14,6 @@ require('@braintree/sanitize-url');
|
|
|
13
14
|
require('react-image-gallery');
|
|
14
15
|
require('react-dom');
|
|
15
16
|
require('react-fast-compare');
|
|
16
|
-
require('stream-chat');
|
|
17
17
|
require('lodash.debounce');
|
|
18
18
|
require('dayjs');
|
|
19
19
|
require('dayjs/plugin/calendar');
|
|
@@ -521,7 +521,7 @@ var mousewheelListener = function (event) {
|
|
|
521
521
|
}
|
|
522
522
|
};
|
|
523
523
|
var InfiniteScroll = function (props) {
|
|
524
|
-
var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, hasNextPage = props.hasNextPage, hasPreviousPage = props.hasPreviousPage, head = props.head, _b = props.initialLoad, initialLoad = _b === void 0 ? true : _b, isLoading = props.isLoading, listenToScroll = props.listenToScroll, loader = props.loader, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, loadNextPage = props.loadNextPage, loadPreviousPage = props.loadPreviousPage, _c = props.threshold, threshold = _c === void 0 ?
|
|
524
|
+
var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, hasNextPage = props.hasNextPage, hasPreviousPage = props.hasPreviousPage, head = props.head, _b = props.initialLoad, initialLoad = _b === void 0 ? true : _b, isLoading = props.isLoading, listenToScroll = props.listenToScroll, loader = props.loader, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, loadNextPage = props.loadNextPage, loadPreviousPage = props.loadPreviousPage, _c = props.threshold, threshold = _c === void 0 ? Window.DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _c, _d = props.useCapture, useCapture = _d === void 0 ? false : _d, elementProps = Window.__rest(props, ["children", "element", "hasMore", "hasMoreNewer", "hasNextPage", "hasPreviousPage", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "loadNextPage", "loadPreviousPage", "threshold", "useCapture"]);
|
|
525
525
|
var loadNextPageFn = loadNextPage || loadMoreNewer;
|
|
526
526
|
var loadPreviousPageFn = loadPreviousPage || loadMore;
|
|
527
527
|
var hasNextPageFlag = hasNextPage || hasMoreNewer;
|
|
@@ -630,22 +630,21 @@ function defaultRenderMessages(_a) {
|
|
|
630
630
|
|
|
631
631
|
var MessageListWithContext = function (props) {
|
|
632
632
|
var _a;
|
|
633
|
-
var channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? false : _b, groupStyles = props.groupStyles, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d,
|
|
634
|
-
|
|
635
|
-
returnAllReadData =
|
|
636
|
-
var
|
|
637
|
-
var
|
|
633
|
+
var channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? false : _b, groupStyles = props.groupStyles, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d, _e = props.internalInfiniteScrollProps, _f = _e === void 0 ? {} : _e, _g = _f.threshold, loadMoreScrollThreshold = _g === void 0 ? Window.DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _g, restInternalInfiniteScrollProps = Window.__rest(_f, ["threshold"]), _h = props.messageActions, messageActions = _h === void 0 ? Object.keys(Window.MESSAGE_ACTIONS) : _h, _j = props.messages, messages = _j === void 0 ? [] : _j, notifications = props.notifications, _k = props.noGroupByUser, noGroupByUser = _k === void 0 ? false : _k, _l = props.pinPermissions, pinPermissions = _l === void 0 ? Window.defaultPinPermissions : _l, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
634
|
+
_m = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
635
|
+
returnAllReadData = _m === void 0 ? false : _m, _o = props.threadList, threadList = _o === void 0 ? false : _o, _p = props.unsafeHTML, unsafeHTML = _p === void 0 ? false : _p, headerPosition = props.headerPosition, read = props.read, _q = props.renderMessages, renderMessages = _q === void 0 ? defaultRenderMessages : _q, _r = props.messageLimit, messageLimit = _r === void 0 ? Window.DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
|
|
636
|
+
var _u = React__default["default"].useState(null), listElement = _u[0], setListElement = _u[1];
|
|
637
|
+
var _v = React__default["default"].useState(null), ulElement = _v[0], setUlElement = _v[1];
|
|
638
638
|
var customClasses = Window.useChatContext('MessageList').customClasses;
|
|
639
|
-
var
|
|
640
|
-
var
|
|
641
|
-
var _0 = useScrollLocationLogic({
|
|
639
|
+
var _w = Window.useComponentContext('MessageList'), _x = _w.EmptyStateIndicator, EmptyStateIndicator = _x === void 0 ? Window.EmptyStateIndicator : _x, _y = _w.LoadingIndicator, LoadingIndicator = _y === void 0 ? Window.LoadingIndicator : _y, _z = _w.MessageListNotifications, MessageListNotifications$1 = _z === void 0 ? MessageListNotifications : _z, _0 = _w.MessageNotification, MessageNotification = _0 === void 0 ? Window.MessageNotification : _0, _1 = _w.TypingIndicator, TypingIndicator = _1 === void 0 ? Window.TypingIndicator : _1, _2 = _w.UnreadMessagesNotification, UnreadMessagesNotification$1 = _2 === void 0 ? UnreadMessagesNotification : _2;
|
|
640
|
+
var _3 = useScrollLocationLogic({
|
|
642
641
|
hasMoreNewer: hasMoreNewer,
|
|
643
642
|
listElement: listElement,
|
|
644
643
|
loadMoreScrollThreshold: loadMoreScrollThreshold,
|
|
645
644
|
messages: messages,
|
|
646
645
|
scrolledUpThreshold: props.scrolledUpThreshold,
|
|
647
646
|
suppressAutoscroll: suppressAutoscroll,
|
|
648
|
-
}), hasNewMessages =
|
|
647
|
+
}), hasNewMessages = _3.hasNewMessages, isMessageListScrolledToBottom = _3.isMessageListScrolledToBottom, onScroll = _3.onScroll, scrollToBottom = _3.scrollToBottom, wrapperRect = _3.wrapperRect;
|
|
649
648
|
var showUnreadMessagesNotification = useUnreadMessagesNotification({
|
|
650
649
|
isMessageListScrolledToBottom: isMessageListScrolledToBottom,
|
|
651
650
|
showAlways: !!showUnreadNotificationAlways,
|
|
@@ -657,7 +656,7 @@ var MessageListWithContext = function (props) {
|
|
|
657
656
|
unreadCount: (_a = channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.unread_messages) !== null && _a !== void 0 ? _a : 0,
|
|
658
657
|
wasMarkedUnread: !!(channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.first_unread_message_id),
|
|
659
658
|
});
|
|
660
|
-
var
|
|
659
|
+
var _4 = useEnrichedMessages({
|
|
661
660
|
channel: channel,
|
|
662
661
|
disableDateSeparator: disableDateSeparator,
|
|
663
662
|
groupStyles: groupStyles,
|
|
@@ -666,7 +665,7 @@ var MessageListWithContext = function (props) {
|
|
|
666
665
|
hideNewMessageSeparator: hideNewMessageSeparator,
|
|
667
666
|
messages: messages,
|
|
668
667
|
noGroupByUser: noGroupByUser,
|
|
669
|
-
}), messageGroupStyles =
|
|
668
|
+
}), messageGroupStyles = _4.messageGroupStyles, enrichedMessages = _4.messages;
|
|
670
669
|
var elements = useMessageListElements({
|
|
671
670
|
channelUnreadUiState: channelUnreadUiState,
|
|
672
671
|
enrichedMessages: enrichedMessages,
|
|
@@ -745,7 +744,7 @@ var MessageListWithContext = function (props) {
|
|
|
745
744
|
return (React__default["default"].createElement(Window.MessageListContextProvider, { value: { listElement: listElement, scrollToBottom: scrollToBottom } },
|
|
746
745
|
React__default["default"].createElement(MessageListMainPanel, null,
|
|
747
746
|
!threadList && showUnreadMessagesNotification && (React__default["default"].createElement(UnreadMessagesNotification$1, { unreadCount: channelUnreadUiState === null || channelUnreadUiState === void 0 ? void 0 : channelUnreadUiState.unread_messages })),
|
|
748
|
-
React__default["default"].createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React__default["default"].createElement(EmptyStateIndicator, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React__default["default"].createElement(InfiniteScroll, Window.__assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React__default["default"].createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React__default["default"].createElement(LoadingIndicator, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore
|
|
747
|
+
React__default["default"].createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React__default["default"].createElement(EmptyStateIndicator, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React__default["default"].createElement(InfiniteScroll, Window.__assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React__default["default"].createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React__default["default"].createElement(LoadingIndicator, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore, threshold: loadMoreScrollThreshold }, restInternalInfiniteScrollProps),
|
|
749
748
|
React__default["default"].createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
|
|
750
749
|
React__default["default"].createElement(TypingIndicator, { threadList: threadList }),
|
|
751
750
|
React__default["default"].createElement("div", { key: 'bottom' }))))),
|
|
@@ -1048,8 +1047,8 @@ var Footer = function () {
|
|
|
1048
1047
|
return TypingIndicator ? React__default["default"].createElement(TypingIndicator, { avatarSize: 24 }) : null;
|
|
1049
1048
|
};
|
|
1050
1049
|
var messageRenderer = function (virtuosoIndex, _data, virtuosoContext) {
|
|
1051
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
1052
|
-
var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, lastReadMessageId = virtuosoContext.lastReadMessageId, lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, MessageUIComponent = virtuosoContext.Message, messageActions = virtuosoContext.messageActions, MessageSystem = virtuosoContext.MessageSystem, numItemsPrepended = virtuosoContext.numItemsPrepended, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers, messageList = virtuosoContext.processedMessages, shouldGroupByUser = virtuosoContext.shouldGroupByUser, sortReactionDetails = virtuosoContext.sortReactionDetails, sortReactions = virtuosoContext.sortReactions,
|
|
1050
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1051
|
+
var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, lastReadMessageId = virtuosoContext.lastReadMessageId, lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, MessageUIComponent = virtuosoContext.Message, messageActions = virtuosoContext.messageActions, MessageSystem = virtuosoContext.MessageSystem, numItemsPrepended = virtuosoContext.numItemsPrepended, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers, messageList = virtuosoContext.processedMessages, shouldGroupByUser = virtuosoContext.shouldGroupByUser, sortReactionDetails = virtuosoContext.sortReactionDetails, sortReactions = virtuosoContext.sortReactions, _h = virtuosoContext.unreadMessageCount, unreadMessageCount = _h === void 0 ? 0 : _h, UnreadMessagesSeparator = virtuosoContext.UnreadMessagesSeparator, virtuosoRef = virtuosoContext.virtuosoRef;
|
|
1053
1052
|
var streamMessageIndex = calculateItemIndex(virtuosoIndex, numItemsPrepended);
|
|
1054
1053
|
if (customMessageRenderer) {
|
|
1055
1054
|
return customMessageRenderer(messageList, streamMessageIndex);
|
|
@@ -1066,13 +1065,18 @@ var messageRenderer = function (virtuosoIndex, _data, virtuosoContext) {
|
|
|
1066
1065
|
var groupedByUser = shouldGroupByUser &&
|
|
1067
1066
|
streamMessageIndex > 0 &&
|
|
1068
1067
|
((_a = message.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = messageList[streamMessageIndex - 1].user) === null || _b === void 0 ? void 0 : _b.id);
|
|
1069
|
-
var
|
|
1070
|
-
var
|
|
1068
|
+
var maybePrevMessage = messageList[streamMessageIndex - 1];
|
|
1069
|
+
var maybeNextMessage = messageList[streamMessageIndex + 1];
|
|
1070
|
+
var firstOfGroup = shouldGroupByUser &&
|
|
1071
|
+
(((_c = message.user) === null || _c === void 0 ? void 0 : _c.id) !== ((_d = maybePrevMessage === null || maybePrevMessage === void 0 ? void 0 : maybePrevMessage.user) === null || _d === void 0 ? void 0 : _d.id) ||
|
|
1072
|
+
(maybePrevMessage && Window.isMessageEdited(maybePrevMessage)));
|
|
1073
|
+
var endOfGroup = shouldGroupByUser &&
|
|
1074
|
+
(((_e = message.user) === null || _e === void 0 ? void 0 : _e.id) !== ((_f = maybeNextMessage === null || maybeNextMessage === void 0 ? void 0 : maybeNextMessage.user) === null || _f === void 0 ? void 0 : _f.id) || Window.isMessageEdited(message));
|
|
1071
1075
|
var isNewestMessage = lastReadMessageId === lastReceivedMessageId;
|
|
1072
1076
|
var isLastReadMessage = message.id === lastReadMessageId;
|
|
1073
1077
|
var showUnreadSeparator = isLastReadMessage && !isNewestMessage && (firstUnreadMessageId || unreadMessageCount > 0); // unread count can be 0 if the user marks unread only own messages
|
|
1074
1078
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1075
|
-
React__default["default"].createElement(Window.Message, { additionalMessageInputProps: additionalMessageInputProps, autoscrollToBottom: (
|
|
1079
|
+
React__default["default"].createElement(Window.Message, { additionalMessageInputProps: additionalMessageInputProps, autoscrollToBottom: (_g = virtuosoRef.current) === null || _g === void 0 ? void 0 : _g.autoscrollToBottom, closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, groupedByUser: groupedByUser, lastReceivedId: lastReceivedMessageId, message: message, Message: MessageUIComponent, messageActions: messageActions, readBy: ownMessagesReadByOthers[message.id] || [], sortReactionDetails: sortReactionDetails, sortReactions: sortReactions }),
|
|
1076
1080
|
showUnreadSeparator && (React__default["default"].createElement("div", { className: 'str-chat__unread-messages-separator-wrapper' },
|
|
1077
1081
|
React__default["default"].createElement(UnreadMessagesSeparator, { unreadCount: unreadMessageCount })))));
|
|
1078
1082
|
};
|
|
@@ -1306,7 +1310,7 @@ function VirtualizedMessageList(props) {
|
|
|
1306
1310
|
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)));
|
|
1307
1311
|
}
|
|
1308
1312
|
|
|
1309
|
-
var version = '11.
|
|
1313
|
+
var version = '11.12.0';
|
|
1310
1314
|
|
|
1311
1315
|
var useChat = function (_a) {
|
|
1312
1316
|
var _b, _c;
|
|
@@ -1525,6 +1529,36 @@ var Chat = function (props) {
|
|
|
1525
1529
|
React__default["default"].createElement(Window.TranslationProvider, { value: translators }, children)));
|
|
1526
1530
|
};
|
|
1527
1531
|
|
|
1532
|
+
/**
|
|
1533
|
+
* React hook to create, connect and return `StreamChat` client.
|
|
1534
|
+
*/
|
|
1535
|
+
var useCreateChatClient = function (_a) {
|
|
1536
|
+
var apiKey = _a.apiKey, tokenOrProvider = _a.tokenOrProvider, userData = _a.userData;
|
|
1537
|
+
var _b = React.useState(null), chatClient = _b[0], setChatClient = _b[1];
|
|
1538
|
+
var _c = React.useState(userData), cachedUserData = _c[0], setCachedUserData = _c[1];
|
|
1539
|
+
if (userData.id !== cachedUserData.id) {
|
|
1540
|
+
setCachedUserData(userData);
|
|
1541
|
+
}
|
|
1542
|
+
React.useEffect(function () {
|
|
1543
|
+
var client = new streamChat.StreamChat(apiKey);
|
|
1544
|
+
var didUserConnectInterrupt = false;
|
|
1545
|
+
var connectionPromise = client.connectUser(cachedUserData, tokenOrProvider).then(function () {
|
|
1546
|
+
if (!didUserConnectInterrupt)
|
|
1547
|
+
setChatClient(client);
|
|
1548
|
+
});
|
|
1549
|
+
return function () {
|
|
1550
|
+
didUserConnectInterrupt = true;
|
|
1551
|
+
setChatClient(null);
|
|
1552
|
+
connectionPromise
|
|
1553
|
+
.then(function () { return client.disconnectUser(); })
|
|
1554
|
+
.then(function () {
|
|
1555
|
+
console.log("Connection for user \"".concat(cachedUserData.id, "\" has been closed"));
|
|
1556
|
+
});
|
|
1557
|
+
};
|
|
1558
|
+
}, [apiKey, cachedUserData, tokenOrProvider]);
|
|
1559
|
+
return chatClient;
|
|
1560
|
+
};
|
|
1561
|
+
|
|
1528
1562
|
var CloseIcon = function (_a) {
|
|
1529
1563
|
var title = _a.title;
|
|
1530
1564
|
var t = Window.useTranslationContext('CloseIcon').t;
|
|
@@ -1654,6 +1688,7 @@ exports.DefaultSuggestionListHeader = Window.DefaultSuggestionListHeader;
|
|
|
1654
1688
|
exports.DefaultSuggestionListItem = Window.Item;
|
|
1655
1689
|
exports.DefaultTriggerProvider = Window.DefaultTriggerProvider;
|
|
1656
1690
|
exports.DeliveredCheckIcon = Window.DeliveredCheckIcon;
|
|
1691
|
+
exports.DownloadButton = Window.DownloadButton;
|
|
1657
1692
|
exports.DownloadIcon = Window.DownloadIcon;
|
|
1658
1693
|
exports.EditMessageForm = Window.EditMessageForm;
|
|
1659
1694
|
exports.EmojiIconLarge = Window.EmojiIconLarge;
|
|
@@ -1665,6 +1700,7 @@ exports.ErrorIcon = Window.ErrorIcon;
|
|
|
1665
1700
|
exports.EventComponent = Window.EventComponent;
|
|
1666
1701
|
exports.FileAttachment = Window.FileAttachment;
|
|
1667
1702
|
exports.FileContainer = Window.FileContainer;
|
|
1703
|
+
exports.FileSizeIndicator = Window.FileSizeIndicator;
|
|
1668
1704
|
exports.FileUploadIcon = Window.FileUploadIcon;
|
|
1669
1705
|
exports.FileUploadIconFlat = Window.FileUploadIconFlat;
|
|
1670
1706
|
exports.FixedHeightMessage = Window.FixedHeightMessage;
|
|
@@ -1721,6 +1757,7 @@ exports.NullComponent = Window.NullComponent;
|
|
|
1721
1757
|
exports.PinIcon = Window.PinIcon;
|
|
1722
1758
|
exports.PinIndicator = Window.PinIndicator;
|
|
1723
1759
|
exports.PlayButton = Window.PlayButton;
|
|
1760
|
+
exports.PlaybackRateButton = Window.PlaybackRateButton;
|
|
1724
1761
|
exports.PopperTooltip = Window.PopperTooltip;
|
|
1725
1762
|
exports.ProgressBar = Window.ProgressBar;
|
|
1726
1763
|
exports.QuotedMessage = Window.QuotedMessage;
|
|
@@ -1764,6 +1801,8 @@ exports.UploadButton = Window.UploadButton;
|
|
|
1764
1801
|
exports.UploadIcon = Window.UploadIcon;
|
|
1765
1802
|
exports.UploadsPreview = Window.UploadsPreview;
|
|
1766
1803
|
exports.UserItem = Window.UserItem;
|
|
1804
|
+
exports.VoiceRecordingContainer = Window.VoiceRecordingContainer;
|
|
1805
|
+
exports.WaveProgressBar = Window.WaveProgressBar;
|
|
1767
1806
|
exports.Window = Window.Window;
|
|
1768
1807
|
exports.areMessagePropsEqual = Window.areMessagePropsEqual;
|
|
1769
1808
|
exports.areMessageUIPropsEqual = Window.areMessageUIPropsEqual;
|
|
@@ -1775,6 +1814,9 @@ exports.defaultReactionOptions = Window.defaultReactionOptions;
|
|
|
1775
1814
|
exports.defaultScrollToItem = Window.defaultScrollToItem;
|
|
1776
1815
|
exports.defaultTimestampFormat = Window.defaultTimestampFormat;
|
|
1777
1816
|
exports.defaultTranslatorFunction = Window.defaultTranslatorFunction;
|
|
1817
|
+
exports.displayDuration = Window.displayDuration;
|
|
1818
|
+
exports.divMod = Window.divMod;
|
|
1819
|
+
exports.downSample = Window.downSample;
|
|
1778
1820
|
exports.emojiMarkdownPlugin = Window.emojiMarkdownPlugin;
|
|
1779
1821
|
exports.enTranslations = Window.enTranslations;
|
|
1780
1822
|
exports.esTranslations = Window.esTranslations;
|
|
@@ -1808,12 +1850,14 @@ exports.isGalleryAttachmentType = Window.isGalleryAttachmentType;
|
|
|
1808
1850
|
exports.isLanguageSupported = Window.isLanguageSupported;
|
|
1809
1851
|
exports.isMediaAttachment = Window.isMediaAttachment;
|
|
1810
1852
|
exports.isMessageBounced = Window.isMessageBounced;
|
|
1853
|
+
exports.isMessageEdited = Window.isMessageEdited;
|
|
1811
1854
|
exports.isNumberOrString = Window.isNumberOrString;
|
|
1812
1855
|
exports.isOnlyEmojis = Window.isOnlyEmojis;
|
|
1813
1856
|
exports.isScrapedContent = Window.isScrapedContent;
|
|
1814
1857
|
exports.isSvgAttachment = Window.isSvgAttachment;
|
|
1815
1858
|
exports.isUploadedImage = Window.isUploadedImage;
|
|
1816
1859
|
exports.isUserMuted = Window.isUserMuted;
|
|
1860
|
+
exports.isVoiceRecordingAttachment = Window.isVoiceRecordingAttachment;
|
|
1817
1861
|
exports.itTranslations = Window.itTranslations;
|
|
1818
1862
|
exports.jaTranslations = Window.jaTranslations;
|
|
1819
1863
|
exports.keepLineBreaksPlugin = Window.keepLineBreaksPlugin;
|
|
@@ -1846,6 +1890,7 @@ exports.renderText = Window.renderText;
|
|
|
1846
1890
|
exports.ruTranslations = Window.ruTranslations;
|
|
1847
1891
|
exports.showMessageActionsBox = Window.showMessageActionsBox;
|
|
1848
1892
|
exports.trTranslations = Window.trTranslations;
|
|
1893
|
+
exports.upSample = Window.upSample;
|
|
1849
1894
|
exports.useActionHandler = Window.useActionHandler;
|
|
1850
1895
|
exports.useChannelActionContext = Window.useChannelActionContext;
|
|
1851
1896
|
exports.useChannelDeletedListener = Window.useChannelDeletedListener;
|
|
@@ -1912,6 +1957,7 @@ exports.VirtualizedMessageList = VirtualizedMessageList;
|
|
|
1912
1957
|
exports.darkModeTheme = darkModeTheme;
|
|
1913
1958
|
exports.defaultRenderMessages = defaultRenderMessages;
|
|
1914
1959
|
exports.useChat = useChat;
|
|
1960
|
+
exports.useCreateChatClient = useCreateChatClient;
|
|
1915
1961
|
exports.useCustomStyles = useCustomStyles;
|
|
1916
1962
|
exports.useEnrichedMessages = useEnrichedMessages;
|
|
1917
1963
|
exports.useLastReadData = useLastReadData;
|
package/dist/scss/Message.scss
CHANGED
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
/* group styling */
|
|
84
84
|
&--top,
|
|
85
85
|
&--single {
|
|
86
|
-
padding-top: calc(var(--md-p)/2);
|
|
86
|
+
padding-top: calc(var(--md-p) / 2);
|
|
87
87
|
|
|
88
88
|
.str-chat__message {
|
|
89
89
|
&-attachment--img,
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
&--bottom {
|
|
179
|
-
padding-bottom: calc(var(--md-p)/2);
|
|
179
|
+
padding-bottom: calc(var(--md-p) / 2);
|
|
180
180
|
|
|
181
181
|
.str-chat__message {
|
|
182
182
|
&-attachment--img,
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
&--single {
|
|
220
|
-
padding-bottom: calc(var(--md-m)/2);
|
|
220
|
+
padding-bottom: calc(var(--md-m) / 2);
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
&--top,
|
|
@@ -233,14 +233,16 @@
|
|
|
233
233
|
.str-chat__message {
|
|
234
234
|
&-text {
|
|
235
235
|
&-inner {
|
|
236
|
-
border-radius: var(--border-radius) var(--border-radius) var(--border-radius)
|
|
236
|
+
border-radius: var(--border-radius) var(--border-radius) var(--border-radius)
|
|
237
|
+
calc(var(--border-radius-sm) / 2);
|
|
237
238
|
}
|
|
238
239
|
}
|
|
239
240
|
|
|
240
241
|
&--me {
|
|
241
242
|
.str-chat__message-text {
|
|
242
243
|
&-inner {
|
|
243
|
-
border-radius: var(--border-radius) var(--border-radius)
|
|
244
|
+
border-radius: var(--border-radius) var(--border-radius)
|
|
245
|
+
calc(var(--border-radius-sm) / 2) var(--border-radius);
|
|
244
246
|
}
|
|
245
247
|
}
|
|
246
248
|
}
|
|
@@ -251,10 +253,12 @@
|
|
|
251
253
|
.str-chat__message {
|
|
252
254
|
&-text {
|
|
253
255
|
&-inner {
|
|
254
|
-
border-radius: var(--border-radius) var(--border-radius) var(--border-radius)
|
|
256
|
+
border-radius: var(--border-radius) var(--border-radius) var(--border-radius)
|
|
257
|
+
calc(var(--border-radius-sm) / 2);
|
|
255
258
|
|
|
256
259
|
&--has-attachment {
|
|
257
|
-
border-radius: calc(var(--border-radius-sm) / 2) var(--border-radius)
|
|
260
|
+
border-radius: calc(var(--border-radius-sm) / 2) var(--border-radius)
|
|
261
|
+
var(--border-radius) calc(var(--border-radius-sm) / 2);
|
|
258
262
|
}
|
|
259
263
|
}
|
|
260
264
|
}
|
|
@@ -262,10 +266,12 @@
|
|
|
262
266
|
&--me {
|
|
263
267
|
.str-chat__message-text {
|
|
264
268
|
&-inner {
|
|
265
|
-
border-radius: var(--border-radius) var(--border-radius)
|
|
269
|
+
border-radius: var(--border-radius) var(--border-radius)
|
|
270
|
+
calc(var(--border-radius-sm) / 2) var(--border-radius);
|
|
266
271
|
|
|
267
272
|
&--has-attachment {
|
|
268
|
-
border-radius: var(--border-radius) calc(var(--border-radius-sm) / 2)
|
|
273
|
+
border-radius: var(--border-radius) calc(var(--border-radius-sm) / 2)
|
|
274
|
+
calc(var(--border-radius-sm) / 2) var(--border-radius);
|
|
269
275
|
}
|
|
270
276
|
}
|
|
271
277
|
}
|
|
@@ -278,14 +284,16 @@
|
|
|
278
284
|
.str-chat__message {
|
|
279
285
|
&-text {
|
|
280
286
|
&-inner {
|
|
281
|
-
border-radius: calc(var(--border-radius-sm) / 2) var(--border-radius) var(--border-radius)
|
|
287
|
+
border-radius: calc(var(--border-radius-sm) / 2) var(--border-radius) var(--border-radius)
|
|
288
|
+
calc(var(--border-radius-sm) / 2);
|
|
282
289
|
}
|
|
283
290
|
}
|
|
284
291
|
|
|
285
292
|
&--me {
|
|
286
293
|
.str-chat__message-text {
|
|
287
294
|
&-inner {
|
|
288
|
-
border-radius: var(--border-radius) calc(var(--border-radius-sm) / 2)
|
|
295
|
+
border-radius: var(--border-radius) calc(var(--border-radius-sm) / 2)
|
|
296
|
+
calc(var(--border-radius-sm) / 2) var(--border-radius);
|
|
289
297
|
|
|
290
298
|
&--has-attachment {
|
|
291
299
|
margin: 0;
|
|
@@ -296,7 +304,8 @@
|
|
|
296
304
|
.str-chat__message-attachment-card {
|
|
297
305
|
margin: 0;
|
|
298
306
|
padding: 0;
|
|
299
|
-
border-radius: var(--border-radius) calc(var(--border-radius-sm) / 2)
|
|
307
|
+
border-radius: var(--border-radius) calc(var(--border-radius-sm) / 2)
|
|
308
|
+
calc(var(--border-radius-sm) / 2) var(--border-radius);
|
|
300
309
|
}
|
|
301
310
|
}
|
|
302
311
|
}
|
|
@@ -741,11 +750,6 @@
|
|
|
741
750
|
padding: 3px 0;
|
|
742
751
|
}
|
|
743
752
|
}
|
|
744
|
-
|
|
745
|
-
&--options.str-chat-angular__message-simple__actions__action--options--editing {
|
|
746
|
-
position: relative;
|
|
747
|
-
display: flex;
|
|
748
|
-
}
|
|
749
753
|
}
|
|
750
754
|
}
|
|
751
755
|
|
package/dist/scss/_base.scss
CHANGED
|
@@ -31,12 +31,19 @@
|
|
|
31
31
|
bottom: 0;
|
|
32
32
|
opacity: 0;
|
|
33
33
|
|
|
34
|
-
&[aria-hidden=
|
|
34
|
+
&[aria-hidden='true'] {
|
|
35
35
|
visibility: hidden;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
|
|
41
|
+
// New features are not implemented in theme-v1, corresponding HTML code is hidden
|
|
42
|
+
.str-chat__unread-messages-notification,
|
|
43
|
+
.str-chat__unread-messages-separator-wrapper,
|
|
44
|
+
.str-chat__message-bounce-prompt {
|
|
45
|
+
display: none;
|
|
46
|
+
}
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
.clearfix {
|
|
@@ -341,6 +341,71 @@
|
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
|
|
344
|
+
.str-chat__message-attachment__voice-recording-widget {
|
|
345
|
+
display: grid;
|
|
346
|
+
grid-template-columns: 36px auto 55px;
|
|
347
|
+
align-items: center;
|
|
348
|
+
justify-content: center;
|
|
349
|
+
gap: calc(var(--str-chat__spacing-px) * 14);
|
|
350
|
+
padding: var(--str-chat__spacing-2);
|
|
351
|
+
margin: var(--str-chat__attachment-margin);
|
|
352
|
+
|
|
353
|
+
.str-chat__message-attachment__voice-recording-widget__metadata {
|
|
354
|
+
flex: 1;
|
|
355
|
+
min-width: 0;
|
|
356
|
+
display: flex;
|
|
357
|
+
flex-direction: column;
|
|
358
|
+
gap: var(--str-chat__spacing-2);
|
|
359
|
+
|
|
360
|
+
.str-chat__message-attachment__voice-recording-widget__audio-state {
|
|
361
|
+
display: flex;
|
|
362
|
+
align-items: center;
|
|
363
|
+
justify-content: space-between;
|
|
364
|
+
gap: var(--str-chat__spacing-1_5);
|
|
365
|
+
height: 100%;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.str-chat__message-attachment__voice-recording-widget__right-section {
|
|
370
|
+
justify-self: center;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.str-chat__message-attachment__voice-recording-widget__timer {
|
|
374
|
+
min-width: calc(var(--str-chat__spacing-px) * 45);
|
|
375
|
+
width: calc(var(--str-chat__spacing-px) * 45);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.str-chat__wave-progress-bar__track {
|
|
379
|
+
$min_amplitude_height: 2px;
|
|
380
|
+
position: relative;
|
|
381
|
+
flex: 1;
|
|
382
|
+
width: 120px;
|
|
383
|
+
height: calc(var(--str-chat__spacing-px) * 25);
|
|
384
|
+
display: flex;
|
|
385
|
+
align-items: center;
|
|
386
|
+
gap: var(--str-chat__spacing-px);
|
|
387
|
+
|
|
388
|
+
.str-chat__wave-progress-bar__amplitude-bar {
|
|
389
|
+
width: 2px;
|
|
390
|
+
min-width: 2px;
|
|
391
|
+
height: calc(var(--str-chat__wave-progress-bar__amplitude-bar-height) + $min_amplitude_height); // variable set dynamically on element
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.str-chat__wave-progress-bar__progress-indicator {
|
|
395
|
+
position: absolute;
|
|
396
|
+
left: 0;
|
|
397
|
+
height: calc(100% + $min_amplitude_height + 2px);
|
|
398
|
+
width: calc(var(--str-chat__spacing-px) * 6);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
.str-chat__message_attachment__playback-rate-button {
|
|
404
|
+
@include utils.flex-row-center;
|
|
405
|
+
@include utils.button-reset;
|
|
406
|
+
padding: var(--str-chat__spacing-1_5) var(--str-chat__spacing-2_5);
|
|
407
|
+
}
|
|
408
|
+
|
|
344
409
|
.str-chat__message-attachment-card {
|
|
345
410
|
min-width: 0;
|
|
346
411
|
max-width: var(--str-chat__attachment-max-width);
|
|
@@ -396,6 +461,12 @@
|
|
|
396
461
|
}
|
|
397
462
|
}
|
|
398
463
|
}
|
|
464
|
+
|
|
465
|
+
/* Angular has different UI here, the download icon is too small to use on mobile */
|
|
466
|
+
.str-chat-angular__message-attachment-file-single {
|
|
467
|
+
cursor: pointer;
|
|
468
|
+
text-decoration: none;
|
|
469
|
+
}
|
|
399
470
|
}
|
|
400
471
|
|
|
401
472
|
.str-chat__quoted-message-preview {
|
|
@@ -413,6 +484,19 @@
|
|
|
413
484
|
}
|
|
414
485
|
}
|
|
415
486
|
|
|
487
|
+
.str-chat__message-attachment__voice-recording-widget {
|
|
488
|
+
display: flex;
|
|
489
|
+
justify-content: space-between;
|
|
490
|
+
|
|
491
|
+
.str-chat__wave-progress-bar__track {
|
|
492
|
+
display: none;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.str-chat__message-attachment-audio-widget--play-button {
|
|
496
|
+
display: none;
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
|
|
416
500
|
.str-chat__message-attachment-file--item-download {
|
|
417
501
|
display: none;
|
|
418
502
|
}
|