stream-chat-react 11.18.1 → 11.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/{Window-5802024e.js → Window-06cc5899.js} +90 -86
  2. package/dist/browser.full-bundle.js +105 -95
  3. package/dist/browser.full-bundle.js.map +1 -1
  4. package/dist/browser.full-bundle.min.js +2 -2
  5. package/dist/browser.full-bundle.min.js.map +1 -1
  6. package/dist/components/Channel/Channel.d.ts.map +1 -1
  7. package/dist/components/Channel/Channel.js +11 -9
  8. package/dist/components/Emojis/index.cjs.js +1 -1
  9. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  10. package/dist/components/Gallery/Gallery.js +1 -1
  11. package/dist/components/Gallery/Image.js +1 -1
  12. package/dist/components/Message/Message.d.ts.map +1 -1
  13. package/dist/components/Message/Message.js +2 -2
  14. package/dist/components/Message/MessageSimple.js +1 -1
  15. package/dist/components/Message/MessageStatus.d.ts +3 -0
  16. package/dist/components/Message/MessageStatus.d.ts.map +1 -1
  17. package/dist/components/Message/MessageStatus.js +21 -18
  18. package/dist/components/Message/hooks/useReactionsFetcher.d.ts +4 -3
  19. package/dist/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -1
  20. package/dist/components/Message/hooks/useReactionsFetcher.js +14 -21
  21. package/dist/components/Message/types.d.ts +7 -3
  22. package/dist/components/Message/types.d.ts.map +1 -1
  23. package/dist/components/Message/utils.d.ts.map +1 -1
  24. package/dist/components/Message/utils.js +7 -4
  25. package/dist/components/MessageBounce/MessageBounceModal.js +1 -1
  26. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts.map +1 -1
  27. package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +3 -1
  28. package/dist/components/MessageInput/MessageInputFlat.js +3 -1
  29. package/dist/components/MessageList/MessageList.d.ts +1 -1
  30. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  31. package/dist/components/MessageList/MessageList.js +4 -1
  32. package/dist/components/MessageList/VirtualizedMessageList.d.ts +2 -2
  33. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  34. package/dist/components/MessageList/VirtualizedMessageList.js +2 -1
  35. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
  36. package/dist/components/MessageList/VirtualizedMessageListComponents.js +2 -2
  37. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts +1 -1
  38. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts.map +1 -1
  39. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js +5 -3
  40. package/dist/components/MessageList/renderMessages.js +1 -1
  41. package/dist/components/Modal/Modal.d.ts +3 -1
  42. package/dist/components/Modal/Modal.d.ts.map +1 -1
  43. package/dist/components/Modal/Modal.js +3 -2
  44. package/dist/components/Reactions/ReactionsList.d.ts +5 -3
  45. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  46. package/dist/components/Reactions/ReactionsList.js +2 -2
  47. package/dist/components/Reactions/ReactionsListModal.d.ts +9 -6
  48. package/dist/components/Reactions/ReactionsListModal.d.ts.map +1 -1
  49. package/dist/components/Reactions/ReactionsListModal.js +20 -22
  50. package/dist/components/Reactions/hooks/useFetchReactions.d.ts +6 -3
  51. package/dist/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -1
  52. package/dist/components/Reactions/hooks/useFetchReactions.js +3 -3
  53. package/dist/components/Reactions/types.d.ts +4 -2
  54. package/dist/components/Reactions/types.d.ts.map +1 -1
  55. package/dist/constants/limits.d.ts +1 -0
  56. package/dist/constants/limits.d.ts.map +1 -1
  57. package/dist/constants/limits.js +1 -0
  58. package/dist/context/MessageContext.d.ts +9 -5
  59. package/dist/context/MessageContext.d.ts.map +1 -1
  60. package/dist/i18n/pt.json +18 -18
  61. package/dist/index.cjs.js +16 -10
  62. package/dist/version.d.ts +1 -1
  63. package/dist/version.js +1 -1
  64. package/package.json +3 -3
@@ -5859,7 +5859,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
5859
5859
 
5860
5860
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var Cancel$3="Annuleer";var Close$3="Sluit";var Delete$3="Verwijder";var Delivered$3="Afgeleverd";var Edited$3="Bewerkt";var Flag$3="Markeer";var Menu$3="Menu";var Mute$3="Mute";var New$3="Nieuwe";var Ok$3="Oké";var Pin$3="Pin";var Reply$3="Antwoord";var Search$3="Zoeken";var Send$3="Verstuur";var Shuffle$3="Schudden";var Thread$4="Draadje";var Unmute$3="Unmute";var Unpin$3="Losmaken";var live$3="live";var replyCount_one$3="1 antwoord";var replyCount_other$3="{{ count }} antwoorden";var searchResultsCount_one$3="1 resultaat";var searchResultsCount_other$3="{{ count }} resultaten";var unreadMessagesSeparatorText_one$3="1 ongelezen bericht";var unreadMessagesSeparatorText_other$3="{{count}} ongelezen berichten";var nlTranslations = {"Allow access to camera":"Toegang tot camera toestaan","Allow access to microphone":"Toegang tot microfoon toestaan","An error has occurred during recording":"Er is een fout opgetreden tijdens het opnemen","An error has occurred during the recording processing":"Er is een fout opgetreden tijdens de verwerking van de opname","Attach files":"Bijlage toevoegen",Cancel:Cancel$3,"Cannot seek in the recording":"Kan niet zoeken in de opname","Channel Missing":"Kanaal niet gevonden",Close:Close$3,"Close emoji picker":"Sluit de emoji-kiezer","Commands matching":"Bijpassende opdrachten","Connection failure, reconnecting now...":"Probleem met de verbinding, opnieuw verbinding maken...",Delete:Delete$3,Delivered:Delivered$3,"Drag your files here":"Sleep je bestanden hier naartoe","Drag your files here to add to your post":"Sleep je bestanden hier naartoe om aan je bericht toe te voegen","Edit Message":"Pas bericht aan","Edit message request failed":"Verzoek om bericht bewerken mislukt",Edited:Edited$3,"Emoji matching":"Emoji-overeenkomsten","Empty message...":"Leeg bericht...","Error adding flag":"Fout bij toevoegen van vlag","Error connecting to chat, refresh the page to try again.":"Fout bij het verbinden, ververs de pagina om nogmaals te proberen","Error deleting message":"Fout bij verwijderen van bericht","Error fetching reactions":"Fout bij het laden van reacties","Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.":"Fout bij markeren van bericht als ongelezen. Kan geen oudere ongelezen berichten markeren dan de nieuwste 100 kanaalberichten.","Error muting a user ...":"Fout bij het muten van de gebruiker","Error pinning message":"Fout bij vastzetten van bericht","Error removing message pin":"Fout bij verwijderen van berichtpin","Error reproducing the recording":"Fout bij het afspelen van de opname","Error starting recording":"Fout bij het starten van de opname","Error unmuting a user ...":"Fout bij het unmuten van de gebruiker","Error uploading attachment":"Fout bij het uploaden van de bijlage","Error uploading file":"Fout bij uploaden bestand","Error uploading image":"Fout bij uploaden afbeelding","Error · Unsent":"Error: · niet verzonden","Error: {{ errorMessage }}":"Error: {{ errorMessage }}","Failed to jump to the first unread message":"Niet gelukt om naar het eerste ongelezen bericht te springen","Failed to mark channel as read":"Kanaal kon niet als gelezen worden gemarkeerd","Failed to play the recording":"Kan de opname niet afspelen","File is too large: {{ size }}, maximum upload size is {{ limit }}":"Bestand is te groot: {{ size }}, maximale uploadgrootte is {{ limit }}",Flag:Flag$3,"Latest Messages":"Laatste berichten","Load more":"Meer laden","Mark as unread":"Markeren als ongelezen",Menu:Menu$3,"Message Failed · Click to try again":"Bericht mislukt, klik om het nogmaals te proberen","Message Failed · Unauthorized":"Bericht mislukt, ongeautoriseerd","Message deleted":"Bericht verwijderd","Message has been successfully flagged":"Bericht is succesvol gemarkeerd","Message pinned":"Bericht vastgezet","Messages have been marked unread.":"Berichten zijn gemarkeerd als ongelezen.","Missing permissions to upload the attachment":"Missende toestemmingen om de bijlage te uploaden",Mute:Mute$3,New:New$3,"New Messages!":"Nieuwe Berichten!","No chats here yet…":"Nog geen chats hier...","No results found":"Geen resultaten gevonden","Nothing yet...":"Nog niets ...",Ok:Ok$3,"Open emoji picker":"Open emojipicker","People matching":"Mensen die matchen",Pin:Pin$3,"Pinned by":"Vastgemaakt door","Recording format is not supported and cannot be reproduced":"Opnameformaat wordt niet ondersteund en kan niet worden gereproduceerd",Reply:Reply$3,"Reply to Message":"Antwoord op bericht",Search:Search$3,"Searching...":"Zoeken...",Send:Send$3,"Send Anyway":"Toch versturen","Send message request failed":"Verzoek om bericht te verzenden mislukt","Sending...":"Aan het verzenden...",Shuffle:Shuffle$3,"Slow Mode ON":"Langzame modus aan","Some of the files will not be accepted":"Sommige bestanden zullen niet worden geaccepteerd","This message did not meet our content guidelines":"Dit bericht voldeed niet aan onze inhoudsrichtlijnen","This message was deleted...":"Dit bericht was verwijderd",Thread:Thread$4,"To start recording, allow the camera access in your browser":"Om te beginnen met opnemen, sta toegang tot de camera toe in uw browser","To start recording, allow the microphone access in your browser":"Om te beginnen met opnemen, sta toegang tot de microfoon toe in uw browser","Type your message":"Type je bericht",Unmute:Unmute$3,Unpin:Unpin$3,"Unread messages":"Ongelezen berichten","Unsupported attachment":"Niet-ondersteunde bijlage","Upload type: \"{{ type }}\" is not allowed":"Uploadtype: \"{{ type }}\" is niet toegestaan","User uploaded content":"Gebruikersgeüploade inhoud","Voice message":"Voicemail","Wait until all attachments have uploaded":"Wacht tot alle bijlagen zijn geüpload","You have no channels currently":"Er zijn geen chats beschikbaar","You've reached the maximum number of files":"Je hebt het maximale aantal bestanden bereikt","aria/Attachment":"Bijlage","aria/Cancel Reply":"Antwoord annuleren","aria/Cancel upload":"Upload annuleren","aria/Channel list":"Kanaallijst","aria/Channel search results":"Zoekresultaten voor kanalen","aria/Close thread":"Draad sluiten","aria/Emoji picker":"Emoji kiezer","aria/File input":"Bestandsinvoer","aria/File upload":"Bestand uploaden","aria/Image input":"Afbeelding invoeren","aria/Load More Channels":"Meer kanalen laden","aria/Menu":"Menu","aria/Message Options":"Berichtopties","aria/Open Message Actions Menu":"Menu voor berichtacties openen","aria/Open Reaction Selector":"Reactiekiezer openen","aria/Open Thread":"Draad openen","aria/Reaction list":"Reactielijst","aria/Retry upload":"Upload opnieuw proberen","aria/Send":"Verzenden","ban-command-args":"[@gebruikersnaam] [tekst]","ban-command-description":"Een gebruiker verbannen","giphy-command-args":"[tekst]","giphy-command-description":"Plaats een willekeurige gif in het kanaal",live:live$3,"mute-command-args":"[@gebruikersnaam]","mute-command-description":"Een gebruiker dempen",replyCount_one:replyCount_one$3,replyCount_other:replyCount_other$3,searchResultsCount_one:searchResultsCount_one$3,searchResultsCount_other:searchResultsCount_other$3,"this content could not be displayed":"Deze inhoud kan niet weergegeven worden","unban-command-args":"[@gebruikersnaam]","unban-command-description":"Een gebruiker debannen","unmute-command-args":"[@gebruikersnaam]","unmute-command-description":"Een gebruiker niet meer dempen",unreadMessagesSeparatorText_one:unreadMessagesSeparatorText_one$3,unreadMessagesSeparatorText_other:unreadMessagesSeparatorText_other$3,"{{ commaSeparatedUsers }} and {{ moreCount }} more":"{{ commaSeparatedUsers }} en {{ moreCount }} meer","{{ commaSeparatedUsers }}, and {{ lastUser }}":"{{ commaSeparatedUsers }} en {{ lastUser }}","{{ firstUser }} and {{ secondUser }}":"{{ firstUser }} en {{ secondUser }}","{{ imageCount }} more":"+{{ imageCount }}","{{ memberCount }} members":"{{ memberCount }} deelnemers","{{ user }} has been muted":"{{ user }} is muted","{{ user }} has been unmuted":"{{ user }} is unmuted","{{ user }} is typing...":"{{ user }} is typing...","{{ users }} and more are typing...":"{{ users }} and more are typing...","{{ users }} and {{ user }} are typing...":"{{ users }} and {{ user }} are typing...","{{ watcherCount }} online":"{{ watcherCount }} online","{{count}} unread_one":"{{count}} ongelezen","{{count}} unread_other":"{{count}} ongelezen","🏙 Attachment...":"🏙 Bijlage..."};
5861
5861
 
5862
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var Cancel$2="Cancelar";var Close$2="Fechar";var Delete$2="Excluir";var Delivered$2="Entregue";var Edited$2="Editada";var Flag$2="Reportar";var Menu$2="Menu";var Mute$2="Mudo";var New$2="Novo";var Ok$2="Ok";var Pin$2="Fixar";var Reply$2="Responder";var Search$2="Procurar";var Send$2="Enviar";var Shuffle$2="Embaralhar";var Thread$3="Fio";var Unmute$2="Ativar som";var Unpin$2="Liberar";var live$2="ao vivo";var replyCount_many$1="{{ count }} respostas";var replyCount_one$2="1 resposta";var replyCount_other$2="{{ count }} respostas";var searchResultsCount_many$1="{{ count }} resultados";var searchResultsCount_one$2="1 resultado";var searchResultsCount_other$2="{{ count }} resultados";var unreadMessagesSeparatorText_many$1="{{count}} mensagens não lidas";var unreadMessagesSeparatorText_one$2="1 mensagem não lida";var unreadMessagesSeparatorText_other$2="{{count}} mensagens não lidas";var ptTranslations = {"Allow access to camera":"Permitir acesso à câmera","Allow access to microphone":"Permitir acesso ao microfone","An error has occurred during recording":"Ocorreu um erro durante a gravação","An error has occurred during the recording processing":"Ocorreu um erro durante o processamento da gravação","Attach files":"Anexar arquivos",Cancel:Cancel$2,"Cannot seek in the recording":"Não é possível buscar na gravação","Channel Missing":"Canal ausente",Close:Close$2,"Close emoji picker":"Fechar seletor de emoji","Commands matching":"Comandos correspondentes","Connection failure, reconnecting now...":"Falha de conexão, reconectando agora...",Delete:Delete$2,Delivered:Delivered$2,"Drag your files here":"Arraste seus arquivos aqui","Drag your files here to add to your post":"Arraste seus arquivos aqui para adicionar ao seu post","Edit Message":"Editar Mensagem","Edit message request failed":"O pedido de edição da mensagem falhou",Edited:Edited$2,"Emoji matching":"Emoji correspondente","Empty message...":"Mensagem vazia...","Error adding flag":"Erro ao reportar","Error connecting to chat, refresh the page to try again.":"Erro ao conectar ao bate-papo, atualize a página para tentar novamente.","Error deleting message":"Erro ao deletar mensagem","Error fetching reactions":"Erro ao carregar reacções","Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.":"Erro ao marcar a mensagem como não lida. Não é possível marcar mensagens não lidas mais antigas do que as 100 mensagens mais recentes do canal.","Error muting a user ...":"Erro ao silenciar um usuário...","Error pinning message":"Erro ao fixar mensagem","Error removing message pin":"Erro ao remover o PIN da mensagem","Error reproducing the recording":"Erro ao reproduzir a gravação","Error starting recording":"Erro ao iniciar a gravação","Error unmuting a user ...":"Erro ao ativar o som de um usuário...","Error uploading attachment":"Erro ao carregar o anexo","Error uploading file":"Erro ao enviar arquivo","Error uploading image":"Erro ao carregar a imagem","Error · Unsent":"Erro · Não enviado","Error: {{ errorMessage }}":"Erro: {{ errorMessage }}","Failed to jump to the first unread message":"Falha ao pular para a primeira mensagem não lida","Failed to mark channel as read":"Falha ao marcar o canal como lido","Failed to play the recording":"Permissões faltando para carregar o anexo","File is too large: {{ size }}, maximum upload size is {{ limit }}":"O arquivo é muito grande: {{ size }}, o tamanho máximo de upload é {{ limit }}",Flag:Flag$2,"Latest Messages":"Mensagens mais recentes","Load more":"Carregar mais","Mark as unread":"Marcar como não lida",Menu:Menu$2,"Message Failed · Click to try again":"A mensagem falhou · Clique para tentar novamente","Message Failed · Unauthorized":"A mensagem falhou · não autorizado","Message deleted":"Mensagem apagada","Message has been successfully flagged":"A mensagem foi reportada com sucesso","Message pinned":"Mensagem fixada","Messages have been marked unread.":"Mensagens foram marcadas como não lidas.","Missing permissions to upload the attachment":"Missing permissions to upload the attachment",Mute:Mute$2,New:New$2,"New Messages!":"Novas mensagens!","No chats here yet…":"Ainda não há conversas aqui...","No results found":"Nenhum resultado encontrado","Nothing yet...":"Nada ainda...",Ok:Ok$2,"Open emoji picker":"Abrir seletor de emoji","People matching":"Pessoas correspondentes",Pin:Pin$2,"Pinned by":"Fixado por","Recording format is not supported and cannot be reproduced":"Formato de gravação não é suportado e não pode ser reproduzido",Reply:Reply$2,"Reply to Message":"Responder a mensagem",Search:Search$2,"Searching...":"Procurando...",Send:Send$2,"Send Anyway":"Enviar de qualquer forma","Send message request failed":"O pedido de envio de mensagem falhou","Sending...":"Enviando...",Shuffle:Shuffle$2,"Slow Mode ON":"Modo lento LIGADO","Some of the files will not be accepted":"Alguns dos arquivos não serão aceitos","This message did not meet our content guidelines":"Esta mensagem não corresponde às nossas directrizes de conteúdo","This message was deleted...":"Esta mensagem foi excluída...",Thread:Thread$3,"To start recording, allow the camera access in your browser":"Para começar a gravar, permita o acesso à câmera no seu navegador","To start recording, allow the microphone access in your browser":"Para começar a gravar, permita o acesso ao microfone no seu navegador","Type your message":"Digite sua mensagem",Unmute:Unmute$2,Unpin:Unpin$2,"Unread messages":"Mensagens não lidas","Unsupported attachment":"Anexo não suportado","Upload type: \"{{ type }}\" is not allowed":"Tipo de upload: \"{{ type }}\" não é permitido","User uploaded content":"Conteúdo enviado pelo usuário","Voice message":"Mensagem de voz","Wait until all attachments have uploaded":"Espere até que todos os anexos tenham sido carregados","You have no channels currently":"Você não tem canais atualmente","You've reached the maximum number of files":"Você atingiu o número máximo de arquivos","aria/Attachment":"Bijlage","aria/Cancel Reply":"Antwoord annuleren","aria/Cancel upload":"Upload annuleren","aria/Channel list":"Kanaallijst","aria/Channel search results":"Zoekresultaten voor kanalen","aria/Close thread":"Draad sluiten","aria/Emoji picker":"Emoji kiezer","aria/File input":"Bestandsinvoer","aria/File upload":"Bestand uploaden","aria/Image input":"Afbeelding invoeren","aria/Load More Channels":"Meer kanalen laden","aria/Menu":"Menu","aria/Message Options":"Berichtopties","aria/Open Message Actions Menu":"Menu voor berichtacties openen","aria/Open Reaction Selector":"Reactiekiezer openen","aria/Open Thread":"Draad openen","aria/Reaction list":"Reactielijst","aria/Retry upload":"Upload opnieuw proberen","aria/Send":"Verzenden","ban-command-args":"[@nomedeusuário] [texto]","ban-command-description":"Banir um usuário","giphy-command-args":"[texto]","giphy-command-description":"Postar um gif aleatório no canal",live:live$2,"mute-command-args":"[@nomedeusuário]","mute-command-description":"Silenciar um usuário",replyCount_many:replyCount_many$1,replyCount_one:replyCount_one$2,replyCount_other:replyCount_other$2,searchResultsCount_many:searchResultsCount_many$1,searchResultsCount_one:searchResultsCount_one$2,searchResultsCount_other:searchResultsCount_other$2,"this content could not be displayed":"este conteúdo não pôde ser exibido","unban-command-args":"[@nomedeusuário]","unban-command-description":"Desbanir um usuário","unmute-command-args":"[@nomedeusuário]","unmute-command-description":"Retirar o silenciamento de um usuário",unreadMessagesSeparatorText_many:unreadMessagesSeparatorText_many$1,unreadMessagesSeparatorText_one:unreadMessagesSeparatorText_one$2,unreadMessagesSeparatorText_other:unreadMessagesSeparatorText_other$2,"{{ commaSeparatedUsers }} and {{ moreCount }} more":"{{ commaSeparatedUsers }} e mais {{ moreCount }}","{{ commaSeparatedUsers }}, and {{ lastUser }}":"{{ commaSeparatedUsers }} e {{ lastUser }}","{{ firstUser }} and {{ secondUser }}":"{{ firstUser }} e {{ secondUser }}","{{ imageCount }} more":"{{ imageCount }} mais","{{ memberCount }} members":"{{ memberCount }} membros","{{ user }} has been muted":"{{ user }} foi silenciado","{{ user }} has been unmuted":"{{ user }} foi reativado","{{ user }} is typing...":"{{ user }} is typing...","{{ users }} and more are typing...":"{{ users }} and more are typing...","{{ users }} and {{ user }} are typing...":"{{ users }} and {{ user }} are typing...","{{ watcherCount }} online":"{{ watcherCount }} online","{{count}} unread_many":"{{count}} não lidos","{{count}} unread_one":"{{count}} não lido","{{count}} unread_other":"{{count}} não lidos","🏙 Attachment...":"🏙 Anexo..."};
5862
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var Cancel$2="Cancelar";var Close$2="Fechar";var Delete$2="Excluir";var Delivered$2="Entregue";var Edited$2="Editada";var Flag$2="Reportar";var Menu$2="Menu";var Mute$2="Mudo";var New$2="Novo";var Ok$2="Ok";var Pin$2="Fixar";var Reply$2="Responder";var Search$2="Procurar";var Send$2="Enviar";var Shuffle$2="Embaralhar";var Thread$3="Fio";var Unmute$2="Ativar som";var Unpin$2="Liberar";var live$2="ao vivo";var replyCount_many$1="{{ count }} respostas";var replyCount_one$2="1 resposta";var replyCount_other$2="{{ count }} respostas";var searchResultsCount_many$1="{{ count }} resultados";var searchResultsCount_one$2="1 resultado";var searchResultsCount_other$2="{{ count }} resultados";var unreadMessagesSeparatorText_many$1="{{count}} mensagens não lidas";var unreadMessagesSeparatorText_one$2="1 mensagem não lida";var unreadMessagesSeparatorText_other$2="{{count}} mensagens não lidas";var ptTranslations = {"Allow access to camera":"Permitir acesso à câmera","Allow access to microphone":"Permitir acesso ao microfone","An error has occurred during recording":"Ocorreu um erro durante a gravação","An error has occurred during the recording processing":"Ocorreu um erro durante o processamento da gravação","Attach files":"Anexar arquivos",Cancel:Cancel$2,"Cannot seek in the recording":"Não é possível buscar na gravação","Channel Missing":"Canal ausente",Close:Close$2,"Close emoji picker":"Fechar seletor de emoji","Commands matching":"Comandos correspondentes","Connection failure, reconnecting now...":"Falha de conexão, reconectando agora...",Delete:Delete$2,Delivered:Delivered$2,"Drag your files here":"Arraste seus arquivos aqui","Drag your files here to add to your post":"Arraste seus arquivos aqui para adicionar ao seu post","Edit Message":"Editar Mensagem","Edit message request failed":"O pedido de edição da mensagem falhou",Edited:Edited$2,"Emoji matching":"Emoji correspondente","Empty message...":"Mensagem vazia...","Error adding flag":"Erro ao reportar","Error connecting to chat, refresh the page to try again.":"Erro ao conectar ao bate-papo, atualize a página para tentar novamente.","Error deleting message":"Erro ao deletar mensagem","Error fetching reactions":"Erro ao carregar reacções","Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.":"Erro ao marcar a mensagem como não lida. Não é possível marcar mensagens não lidas mais antigas do que as 100 mensagens mais recentes do canal.","Error muting a user ...":"Erro ao silenciar um usuário...","Error pinning message":"Erro ao fixar mensagem","Error removing message pin":"Erro ao remover o PIN da mensagem","Error reproducing the recording":"Erro ao reproduzir a gravação","Error starting recording":"Erro ao iniciar a gravação","Error unmuting a user ...":"Erro ao ativar o som de um usuário...","Error uploading attachment":"Erro ao carregar o anexo","Error uploading file":"Erro ao enviar arquivo","Error uploading image":"Erro ao carregar a imagem","Error · Unsent":"Erro · Não enviado","Error: {{ errorMessage }}":"Erro: {{ errorMessage }}","Failed to jump to the first unread message":"Falha ao pular para a primeira mensagem não lida","Failed to mark channel as read":"Falha ao marcar o canal como lido","Failed to play the recording":"Permissões faltando para carregar o anexo","File is too large: {{ size }}, maximum upload size is {{ limit }}":"O arquivo é muito grande: {{ size }}, o tamanho máximo de upload é {{ limit }}",Flag:Flag$2,"Latest Messages":"Mensagens mais recentes","Load more":"Carregar mais","Mark as unread":"Marcar como não lida",Menu:Menu$2,"Message Failed · Click to try again":"A mensagem falhou · Clique para tentar novamente","Message Failed · Unauthorized":"A mensagem falhou · não autorizado","Message deleted":"Mensagem apagada","Message has been successfully flagged":"A mensagem foi reportada com sucesso","Message pinned":"Mensagem fixada","Messages have been marked unread.":"Mensagens foram marcadas como não lidas.","Missing permissions to upload the attachment":"Missing permissions to upload the attachment",Mute:Mute$2,New:New$2,"New Messages!":"Novas mensagens!","No chats here yet…":"Ainda não há conversas aqui...","No results found":"Nenhum resultado encontrado","Nothing yet...":"Nada ainda...",Ok:Ok$2,"Open emoji picker":"Abrir seletor de emoji","People matching":"Pessoas correspondentes",Pin:Pin$2,"Pinned by":"Fixado por","Recording format is not supported and cannot be reproduced":"Formato de gravação não é suportado e não pode ser reproduzido",Reply:Reply$2,"Reply to Message":"Responder a mensagem",Search:Search$2,"Searching...":"Procurando...",Send:Send$2,"Send Anyway":"Enviar de qualquer forma","Send message request failed":"O pedido de envio de mensagem falhou","Sending...":"Enviando...",Shuffle:Shuffle$2,"Slow Mode ON":"Modo lento LIGADO","Some of the files will not be accepted":"Alguns dos arquivos não serão aceitos","This message did not meet our content guidelines":"Esta mensagem não corresponde às nossas directrizes de conteúdo","This message was deleted...":"Esta mensagem foi excluída...",Thread:Thread$3,"To start recording, allow the camera access in your browser":"Para começar a gravar, permita o acesso à câmera no seu navegador","To start recording, allow the microphone access in your browser":"Para começar a gravar, permita o acesso ao microfone no seu navegador","Type your message":"Digite sua mensagem",Unmute:Unmute$2,Unpin:Unpin$2,"Unread messages":"Mensagens não lidas","Unsupported attachment":"Anexo não suportado","Upload type: \"{{ type }}\" is not allowed":"Tipo de upload: \"{{ type }}\" não é permitido","User uploaded content":"Conteúdo enviado pelo usuário","Voice message":"Mensagem de voz","Wait until all attachments have uploaded":"Espere até que todos os anexos tenham sido carregados","You have no channels currently":"Você não tem canais atualmente","You've reached the maximum number of files":"Você atingiu o número máximo de arquivos","aria/Attachment":"Anexo","aria/Cancel Reply":"Cancelar resposta","aria/Cancel upload":"Cancelar upload","aria/Channel list":"Lista de canais","aria/Channel search results":"Resultados de pesquisa de canais","aria/Close thread":"Fechar tópico","aria/Emoji picker":"Seletor de emojis","aria/File input":"Entrada de arquivo","aria/File upload":"Carregar arquivo","aria/Image input":"Entrada de imagem","aria/Load More Channels":"Carregar mais canais","aria/Menu":"Menu","aria/Message Options":"Opções de mensagem","aria/Open Message Actions Menu":"Abrir menu de ações de mensagem","aria/Open Reaction Selector":"Abrir seletor de reações","aria/Open Thread":"Abrir tópico","aria/Reaction list":"Lista de reações","aria/Retry upload":"Tentar upload novamente","aria/Send":"Enviar","ban-command-args":"[@nomedeusuário] [texto]","ban-command-description":"Banir um usuário","giphy-command-args":"[texto]","giphy-command-description":"Postar um gif aleatório no canal",live:live$2,"mute-command-args":"[@nomedeusuário]","mute-command-description":"Silenciar um usuário",replyCount_many:replyCount_many$1,replyCount_one:replyCount_one$2,replyCount_other:replyCount_other$2,searchResultsCount_many:searchResultsCount_many$1,searchResultsCount_one:searchResultsCount_one$2,searchResultsCount_other:searchResultsCount_other$2,"this content could not be displayed":"este conteúdo não pôde ser exibido","unban-command-args":"[@nomedeusuário]","unban-command-description":"Desbanir um usuário","unmute-command-args":"[@nomedeusuário]","unmute-command-description":"Retirar o silenciamento de um usuário",unreadMessagesSeparatorText_many:unreadMessagesSeparatorText_many$1,unreadMessagesSeparatorText_one:unreadMessagesSeparatorText_one$2,unreadMessagesSeparatorText_other:unreadMessagesSeparatorText_other$2,"{{ commaSeparatedUsers }} and {{ moreCount }} more":"{{ commaSeparatedUsers }} e mais {{ moreCount }}","{{ commaSeparatedUsers }}, and {{ lastUser }}":"{{ commaSeparatedUsers }} e {{ lastUser }}","{{ firstUser }} and {{ secondUser }}":"{{ firstUser }} e {{ secondUser }}","{{ imageCount }} more":"{{ imageCount }} mais","{{ memberCount }} members":"{{ memberCount }} membros","{{ user }} has been muted":"{{ user }} foi silenciado","{{ user }} has been unmuted":"{{ user }} foi reativado","{{ user }} is typing...":"{{ user }} is typing...","{{ users }} and more are typing...":"{{ users }} and more are typing...","{{ users }} and {{ user }} are typing...":"{{ users }} and {{ user }} are typing...","{{ watcherCount }} online":"{{ watcherCount }} online","{{count}} unread_many":"{{count}} não lidos","{{count}} unread_one":"{{count}} não lido","{{count}} unread_other":"{{count}} não lidos","🏙 Attachment...":"🏙 Anexo..."};
5863
5863
 
5864
5864
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var Cancel$1="Отмена";var Close$1="Закрыть";var Delete$1="Удалить";var Delivered$1="Отправлено";var Edited$1="Отредактировано";var Flag$1="Пожаловаться";var Menu$1="Меню";var Mute$1="Отключить уведомления";var New$1="Новые";var Ok$1="Ok";var Pin$1="Штырь";var Reply$1="Отвечать";var Search$1="Поиск";var Send$1="Отправить";var Shuffle$1="Перемешать";var Thread$2="Ветка";var Unmute$1="Включить уведомления";var Unpin$1="Открепить";var live$1="В прямом эфире";var replyCount_few="{{ count }} ответов";var replyCount_many="{{ count }} ответов";var replyCount_one$1="1 ответ";var replyCount_other$1="{{ count }} ответов";var searchResultsCount_few="{{ count }} результата";var searchResultsCount_many="{{ count }} результатов";var searchResultsCount_one$1="1 результат";var searchResultsCount_other$1="{{ count }} результатов";var unreadMessagesSeparatorText_few="1 непрочитанное сообщения";var unreadMessagesSeparatorText_many="{{count}} непрочитанных сообщений";var unreadMessagesSeparatorText_one$1="1 непрочитанное сообщение";var unreadMessagesSeparatorText_other$1="{{count}} непрочитанных сообщений";var ruTranslations = {"Allow access to camera":"Разрешить доступ к камере","Allow access to microphone":"Разрешить доступ к микрофон","An error has occurred during recording":"Произошла ошибка во время записи","An error has occurred during the recording processing":"Произошла ошибка во время обработки записи","Attach files":"Прикрепить файлы",Cancel:Cancel$1,"Cannot seek in the recording":"Невозможно осуществить поиск в записи","Channel Missing":"Канал не найден",Close:Close$1,"Close emoji picker":"Закрыть окно выбора смайлов","Commands matching":"Соответствие команд","Connection failure, reconnecting now...":"Ошибка соединения, переподключение...",Delete:Delete$1,Delivered:Delivered$1,"Drag your files here":"Перетащите ваши файлы сюда","Drag your files here to add to your post":"Перетащите ваши файлы сюда, чтобы добавить их в ваш пост","Edit Message":"Редактировать сообщение","Edit message request failed":"Не удалось изменить запрос сообщения",Edited:Edited$1,"Emoji matching":"Соответствие эмодзи","Empty message...":"Пустое сообщение...","Error adding flag":"Ошибка добавления флага","Error connecting to chat, refresh the page to try again.":"Ошибка подключения к чату, обновите страницу чтобы попробовать снова.","Error deleting message":"Ошибка при удалении сообщения","Error fetching reactions":"Ошибка при загрузке реакций","Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.":"Ошибка при отметке сообщения как непрочитанного. Невозможно отметить как непрочитанные сообщения старше последних 100 сообщений в канале.","Error muting a user ...":"Ошибка отключения уведомлений от пользователя...","Error pinning message":"Сообщение об ошибке при закреплении","Error removing message pin":"Ошибка при удалении булавки сообщения","Error reproducing the recording":"Ошибка воспроизведения записи","Error starting recording":"Ошибка при запуске записи","Error unmuting a user ...":"Ошибка включения уведомлений...","Error uploading attachment":"Ошибка при загрузке вложения","Error uploading file":"Ошибка при загрузке файла","Error uploading image":"Ошибка загрузки изображения","Error · Unsent":"Ошибка · Не отправлено","Error: {{ errorMessage }}":"Ошибка: {{ errorMessage }}","Failed to jump to the first unread message":"Не удалось перейти к первому непрочитанному сообщению","Failed to mark channel as read":"Не удалось пометить канал как прочитанный","Failed to play the recording":"Не удалось воспроизвести запись","File is too large: {{ size }}, maximum upload size is {{ limit }}":"Файл слишком большой: {{ size }}, максимальный размер загрузки составляет {{ limit }}",Flag:Flag$1,"Latest Messages":"Последние сообщения","Load more":"Загрузить больше","Mark as unread":"Отметить как непрочитанное",Menu:Menu$1,"Message Failed · Click to try again":"Ошибка отправки сообщения · Нажмите чтобы повторить","Message Failed · Unauthorized":"Ошибка отправки сообщения · Неавторизованный","Message deleted":"Сообщение удалено","Message has been successfully flagged":"Жалоба на сообщение была принята","Message pinned":"Сообщение закреплено","Messages have been marked unread.":"Сообщения были отмечены как непрочитанные.","Missing permissions to upload the attachment":"Отсутствуют разрешения для загрузки вложения",Mute:Mute$1,New:New$1,"New Messages!":"Новые сообщения!","No chats here yet…":"Здесь еще нет чатов...","No results found":"результаты не найдены","Nothing yet...":"Пока ничего нет...",Ok:Ok$1,"Open emoji picker":"Выбрать emoji","People matching":"Соответствующие люди",Pin:Pin$1,"Pinned by":"Закреплено","Recording format is not supported and cannot be reproduced":"Формат записи не поддерживается и не может быть воспроизведен",Reply:Reply$1,"Reply to Message":"Ответить на сообщение",Search:Search$1,"Searching...":"Ищем...",Send:Send$1,"Send Anyway":"Мне всё равно, отправить","Send message request failed":"Не удалось отправить запрос на отправку сообщения","Sending...":"Отправка...",Shuffle:Shuffle$1,"Slow Mode ON":"Медленный режим включен","Some of the files will not be accepted":"Некоторые файлы не будут приняты","This message did not meet our content guidelines":"Сообщение не соответствует правилам","This message was deleted...":"Сообщение было удалено...",Thread:Thread$2,"To start recording, allow the camera access in your browser":"Для начала записи разрешите доступ к камере в вашем браузере","To start recording, allow the microphone access in your browser":"Для начала записи разрешите доступ к микрофону в вашем браузере","Type your message":"Ваше сообщение",Unmute:Unmute$1,Unpin:Unpin$1,"Unread messages":"Непрочитанные сообщения","Unsupported attachment":"Неподдерживаемое вложение","Upload type: \"{{ type }}\" is not allowed":"Тип загрузки: \"{{ type }}\" не разрешен","User uploaded content":"Пользователь загрузил контент","Voice message":"Голосовое сообщение","Wait until all attachments have uploaded":"Подождите, пока все вложения загрузятся","You have no channels currently":"У вас нет каналов в данный момент","You've reached the maximum number of files":"Вы достигли максимального количества файлов","aria/Attachment":"Вложение","aria/Cancel Reply":"Отменить ответ","aria/Cancel upload":"Отменить загрузку","aria/Channel list":"Список каналов","aria/Channel search results":"Результаты поиска по каналам","aria/Close thread":"Закрыть тему","aria/Emoji picker":"Выбор эмодзи","aria/File input":"Ввод файла","aria/File upload":"Загрузка файла","aria/Image input":"Ввод изображения","aria/Load More Channels":"Загрузить больше каналов","aria/Menu":"Меню","aria/Message Options":"Параметры сообщения","aria/Open Message Actions Menu":"Открыть меню действий с сообщениями","aria/Open Reaction Selector":"Открыть селектор реакций","aria/Open Thread":"Открыть тему","aria/Reaction list":"Список реакций","aria/Retry upload":"Повторить загрузку","aria/Send":"Отправить","ban-command-args":"[@имяпользователя] [текст]","ban-command-description":"Заблокировать пользователя","giphy-command-args":"[текст]","giphy-command-description":"Опубликовать случайную GIF-анимацию в канале",live:live$1,"mute-command-args":"[@имяпользователя]","mute-command-description":"Выключить микрофон у пользователя",replyCount_few:replyCount_few,replyCount_many:replyCount_many,replyCount_one:replyCount_one$1,replyCount_other:replyCount_other$1,searchResultsCount_few:searchResultsCount_few,searchResultsCount_many:searchResultsCount_many,searchResultsCount_one:searchResultsCount_one$1,searchResultsCount_other:searchResultsCount_other$1,"this content could not be displayed":"Этот контент не может быть отображен в данный момент","unban-command-args":"[@имяпользователя]","unban-command-description":"Разблокировать пользователя","unmute-command-args":"[@имяпользователя]","unmute-command-description":"Включить микрофон у пользователя",unreadMessagesSeparatorText_few:unreadMessagesSeparatorText_few,unreadMessagesSeparatorText_many:unreadMessagesSeparatorText_many,unreadMessagesSeparatorText_one:unreadMessagesSeparatorText_one$1,unreadMessagesSeparatorText_other:unreadMessagesSeparatorText_other$1,"{{ commaSeparatedUsers }} and {{ moreCount }} more":"{{ commaSeparatedUsers }} и {{ moreCount }} еще","{{ commaSeparatedUsers }}, and {{ lastUser }}":"{{ commaSeparatedUsers }} и {{ lastUser }}","{{ firstUser }} and {{ secondUser }}":"{{ firstUser }} и {{ secondUser }}","{{ imageCount }} more":"Ещё {{ imageCount }}","{{ memberCount }} members":"{{ memberCount }} члены","{{ user }} has been muted":"Вы отписались от уведомлений от {{ user }}","{{ user }} has been unmuted":"Уведомления от {{ user }} были включены","{{ user }} is typing...":"{{ user }} is typing...","{{ users }} and more are typing...":"{{ users }} and more are typing...","{{ users }} and {{ user }} are typing...":"{{ users }} and {{ user }} are typing...","{{ watcherCount }} online":"{{ watcherCount }} в сети","{{count}} unread_few":"{{count}} непрочитанных","{{count}} unread_many":"{{count}} непрочитанных","{{count}} unread_one":"{{count}} непрочитанное","{{count}} unread_other":"{{count}} непрочитанных","🏙 Attachment...":"🏙 Вложение..."};
5865
5865
 
@@ -9763,6 +9763,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
9763
9763
  var DEFAULT_THREAD_PAGE_SIZE = 50;
9764
9764
  var DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD = 250;
9765
9765
  var DEFAULT_UPLOAD_SIZE_LIMIT_BYTES = 100 * 1024 * 1024; // 100 MB
9766
+ var DEFAULT_HIGHLIGHT_DURATION = 500;
9766
9767
 
9767
9768
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var accentsMap = {
9768
9769
  a: 'á|à|ã|â|À|Á|Ã|Â',
@@ -11852,7 +11853,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
11852
11853
  React__default["default"].createElement("path", { clipRule: 'evenodd', d: 'M28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14ZM26 14C26 20.6274 20.6274 26 14 26C7.37258 26 2 20.6274 2 14C2 7.37258 7.37258 2 14 2C20.6274 2 26 7.37258 26 14ZM19.59 7L21 8.41L15.41 14L21 19.59L19.59 21L14 15.41L8.41 21L7 19.59L12.59 14L7 8.41L8.41 7L14 12.59L19.59 7Z', fill: 'white', fillRule: 'evenodd' }))); };
11853
11854
 
11854
11855
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var Modal = function (_a) {
11855
- var children = _a.children, onClose = _a.onClose, open = _a.open;
11856
+ var children = _a.children, className = _a.className, onClose = _a.onClose, open = _a.open;
11856
11857
  var t = useTranslationContext('Modal').t;
11857
11858
  var themeVersion = useChatContext('Modal').themeVersion;
11858
11859
  var innerRef = React$2.useRef(null);
@@ -11876,7 +11877,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
11876
11877
  }, [onClose, open]);
11877
11878
  if (!open)
11878
11879
  return null;
11879
- return (React__default["default"].createElement("div", { className: 'str-chat__modal str-chat__modal--open', onClick: handleClick },
11880
+ return (React__default["default"].createElement("div", { className: clsx('str-chat__modal str-chat__modal--open', className), onClick: handleClick },
11880
11881
  React__default["default"].createElement($9bf71ea28793e738$export$20e40289641fbbb6, { autoFocus: true, contain: true },
11881
11882
  React__default["default"].createElement("button", { className: 'str-chat__modal__close-button', ref: closeRef, title: t('Close') },
11882
11883
  themeVersion === '2' && React__default["default"].createElement(CloseIconRound, null),
@@ -11958,7 +11959,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
11958
11959
  });
11959
11960
  return (React__default["default"].createElement("div", { className: className },
11960
11961
  renderImages,
11961
- React__default["default"].createElement(Modal, { onClose: function () { return setModalOpen(function (modalOpen) { return !modalOpen; }); }, open: modalOpen },
11962
+ React__default["default"].createElement(Modal, { className: 'str-chat__gallery-modal', onClose: function () { return setModalOpen(function (modalOpen) { return !modalOpen; }); }, open: modalOpen },
11962
11963
  React__default["default"].createElement(ModalGallery$1, { images: images, index: index }))));
11963
11964
  };
11964
11965
  /**
@@ -11977,7 +11978,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
11977
11978
  var toggleModal = function () { return setModalIsOpen(function (modalIsOpen) { return !modalIsOpen; }); };
11978
11979
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
11979
11980
  React__default["default"].createElement(BaseImage$1, __assign({ alt: fallback, className: 'str-chat__message-attachment--img', "data-testid": 'image-test', onClick: toggleModal, src: imageSrc, style: style, tabIndex: 0, title: fallback }, dimensions, (innerRef && { ref: innerRef }))),
11980
- React__default["default"].createElement(Modal, { onClose: toggleModal, open: modalIsOpen },
11981
+ React__default["default"].createElement(Modal, { className: 'str-chat__image-modal', onClose: toggleModal, open: modalIsOpen },
11981
11982
  React__default["default"].createElement(ModalGallery$1, { images: [props], index: 0 }))));
11982
11983
  };
11983
11984
 
@@ -48571,7 +48572,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
48571
48572
 
48572
48573
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};function MessageBounceModal(_a) {
48573
48574
  var MessageBouncePrompt = _a.MessageBouncePrompt, modalProps = __rest(_a, ["MessageBouncePrompt"]);
48574
- return (React__default["default"].createElement(Modal, __assign({}, modalProps),
48575
+ return (React__default["default"].createElement(Modal, __assign({ className: 'str-chat__message-bounce-modal' }, modalProps),
48575
48576
  React__default["default"].createElement(MessageBounceProvider, null,
48576
48577
  React__default["default"].createElement(MessageBouncePrompt, { onClose: modalProps.onClose }))));
48577
48578
  }
@@ -48818,9 +48819,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
48818
48819
  }
48819
48820
  return true;
48820
48821
  };
48821
- var areMessagesEqual = function (prevMessage, nextMessage) {
48822
+ function areMessagesEqual(prevMessage, nextMessage) {
48822
48823
  var _a, _b, _c, _d, _e, _f;
48823
- return prevMessage.deleted_at === nextMessage.deleted_at &&
48824
+ return (prevMessage.deleted_at === nextMessage.deleted_at &&
48824
48825
  ((_a = prevMessage.latest_reactions) === null || _a === void 0 ? void 0 : _a.length) === ((_b = nextMessage.latest_reactions) === null || _b === void 0 ? void 0 : _b.length) &&
48825
48826
  ((_c = prevMessage.own_reactions) === null || _c === void 0 ? void 0 : _c.length) === ((_d = nextMessage.own_reactions) === null || _d === void 0 ? void 0 : _d.length) &&
48826
48827
  prevMessage.pinned === nextMessage.pinned &&
@@ -48829,8 +48830,11 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
48829
48830
  prevMessage.text === nextMessage.text &&
48830
48831
  prevMessage.type === nextMessage.type &&
48831
48832
  prevMessage.updated_at === nextMessage.updated_at &&
48832
- ((_e = prevMessage.user) === null || _e === void 0 ? void 0 : _e.updated_at) === ((_f = nextMessage.user) === null || _f === void 0 ? void 0 : _f.updated_at);
48833
- };
48833
+ ((_e = prevMessage.user) === null || _e === void 0 ? void 0 : _e.updated_at) === ((_f = nextMessage.user) === null || _f === void 0 ? void 0 : _f.updated_at) &&
48834
+ Boolean(prevMessage.quoted_message) === Boolean(nextMessage.quoted_message) &&
48835
+ (!prevMessage.quoted_message ||
48836
+ areMessagesEqual(prevMessage.quoted_message, nextMessage.quoted_message)));
48837
+ }
48834
48838
  var areMessagePropsEqual = function (prevProps, nextProps) {
48835
48839
  var prevMessage = prevProps.message, prevMessageUI = prevProps.Message;
48836
48840
  var nextMessage = nextProps.message, nextMessageUI = nextProps.Message;
@@ -51142,14 +51146,13 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
51142
51146
 
51143
51147
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageStatus = function (props) {
51144
51148
  var _a;
51145
- var propAvatar = props.Avatar, _b = props.messageType, messageType = _b === void 0 ? 'simple' : _b, _c = props.tooltipUserNameMapper, tooltipUserNameMapper = _c === void 0 ? mapToUserNameOrId : _c;
51149
+ var propAvatar = props.Avatar, MessageDeliveredStatus = props.MessageDeliveredStatus, MessageReadStatus = props.MessageReadStatus, MessageSendingStatus = props.MessageSendingStatus, _b = props.messageType, messageType = _b === void 0 ? 'simple' : _b, _c = props.tooltipUserNameMapper, tooltipUserNameMapper = _c === void 0 ? mapToUserNameOrId : _c;
51146
51150
  var _d = useEnterLeaveHandlers(), handleEnter = _d.handleEnter, handleLeave = _d.handleLeave, tooltipVisible = _d.tooltipVisible;
51147
- var client = useChatContext('MessageStatus').client;
51151
+ var _e = useChatContext('MessageStatus'), client = _e.client, themeVersion = _e.themeVersion;
51148
51152
  var contextAvatar = useComponentContext('MessageStatus').Avatar;
51149
- var _e = useMessageContext('MessageStatus'), isMyMessage = _e.isMyMessage, lastReceivedId = _e.lastReceivedId, message = _e.message, readBy = _e.readBy, threadList = _e.threadList;
51153
+ var _f = useMessageContext('MessageStatus'), isMyMessage = _f.isMyMessage, lastReceivedId = _f.lastReceivedId, message = _f.message, readBy = _f.readBy, threadList = _f.threadList;
51150
51154
  var t = useTranslationContext('MessageStatus').t;
51151
- var themeVersion = useChatContext('MessageStatus').themeVersion;
51152
- var _f = React$2.useState(null), referenceElement = _f[0], setReferenceElement = _f[1];
51155
+ var _g = React$2.useState(null), referenceElement = _g[0], setReferenceElement = _g[1];
51153
51156
  var Avatar$1 = propAvatar || contextAvatar || Avatar;
51154
51157
  if (!isMyMessage() || message.type === 'error')
51155
51158
  return null;
@@ -51166,19 +51169,23 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
51166
51169
  'message-status-received': delivered && !deliveredAndRead,
51167
51170
  'message-status-sending': sending,
51168
51171
  }), onMouseEnter: handleEnter, onMouseLeave: handleLeave, ref: setReferenceElement },
51169
- sending && (React__default["default"].createElement(React__default["default"].Fragment, null,
51170
- themeVersion === '1' && React__default["default"].createElement(Tooltip, null, t('Sending...')),
51171
- themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { offset: [0, 5], referenceElement: referenceElement, visible: tooltipVisible }, t('Sending...'))),
51172
- React__default["default"].createElement(LoadingIndicator, null))),
51173
- delivered && !deliveredAndRead && (React__default["default"].createElement(React__default["default"].Fragment, null,
51174
- themeVersion === '1' && React__default["default"].createElement(Tooltip, null, t('Delivered')),
51175
- themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { offset: [0, 5], referenceElement: referenceElement, visible: tooltipVisible }, t('Delivered'))),
51176
- themeVersion === '2' ? React__default["default"].createElement(MessageDeliveredIcon, null) : React__default["default"].createElement(DeliveredCheckIcon, null))),
51177
- deliveredAndRead && (React__default["default"].createElement(React__default["default"].Fragment, null,
51178
- themeVersion === '1' && (React__default["default"].createElement(Tooltip, null, getReadByTooltipText(readBy, t, client, tooltipUserNameMapper))),
51179
- themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { offset: [0, 5], referenceElement: referenceElement, visible: tooltipVisible }, getReadByTooltipText(readBy, t, client, tooltipUserNameMapper))),
51180
- React__default["default"].createElement(Avatar$1, { image: lastReadUser.image, name: lastReadUser.name || lastReadUser.id, size: 15, user: lastReadUser }),
51181
- readBy.length > 2 && (React__default["default"].createElement("span", { className: "str-chat__message-".concat(messageType, "-status-number"), "data-testid": 'message-status-read-by-many' }, readBy.length - 1))))));
51172
+ sending &&
51173
+ (MessageSendingStatus ? (React__default["default"].createElement(MessageSendingStatus, null)) : (React__default["default"].createElement(React__default["default"].Fragment, null,
51174
+ themeVersion === '1' && React__default["default"].createElement(Tooltip, null, t('Sending...')),
51175
+ themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { offset: [0, 5], referenceElement: referenceElement, visible: tooltipVisible }, t('Sending...'))),
51176
+ React__default["default"].createElement(LoadingIndicator, null)))),
51177
+ delivered &&
51178
+ !deliveredAndRead &&
51179
+ (MessageDeliveredStatus ? (React__default["default"].createElement(MessageDeliveredStatus, null)) : (React__default["default"].createElement(React__default["default"].Fragment, null,
51180
+ themeVersion === '1' && React__default["default"].createElement(Tooltip, null, t('Delivered')),
51181
+ themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { offset: [0, 5], referenceElement: referenceElement, visible: tooltipVisible }, t('Delivered'))),
51182
+ themeVersion === '2' ? React__default["default"].createElement(MessageDeliveredIcon, null) : React__default["default"].createElement(DeliveredCheckIcon, null)))),
51183
+ deliveredAndRead &&
51184
+ (MessageReadStatus ? (React__default["default"].createElement(MessageReadStatus, null)) : (React__default["default"].createElement(React__default["default"].Fragment, null,
51185
+ themeVersion === '1' && (React__default["default"].createElement(Tooltip, null, getReadByTooltipText(readBy, t, client, tooltipUserNameMapper))),
51186
+ themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { offset: [0, 5], referenceElement: referenceElement, visible: tooltipVisible }, getReadByTooltipText(readBy, t, client, tooltipUserNameMapper))),
51187
+ React__default["default"].createElement(Avatar$1, { image: lastReadUser.image, name: lastReadUser.name || lastReadUser.id, size: 15, user: lastReadUser }),
51188
+ readBy.length > 2 && (React__default["default"].createElement("span", { className: "str-chat__message-".concat(messageType, "-status-number"), "data-testid": 'message-status-read-by-many' }, readBy.length - 1)))))));
51182
51189
  };
51183
51190
  var MessageStatus = React__default["default"].memo(UnMemoizedMessageStatus);
51184
51191
 
@@ -64689,6 +64696,8 @@ bitsperframe: %d
64689
64696
  return (React__default["default"].createElement("div", { className: 'str-chat__attachment-preview-list' },
64690
64697
  React__default["default"].createElement("div", { className: 'str-chat__attachment-list-scroll-container', "data-testid": 'attachment-list-scroll-container' },
64691
64698
  attachments.map(function (attachment) {
64699
+ if (isScrapedContent(attachment))
64700
+ return null;
64692
64701
  if (isLocalVoiceRecordingAttachment(attachment)) {
64693
64702
  return (React__default["default"].createElement(VoiceRecordingPreview$1, { attachment: attachment, handleRetry: uploadAttachment, key: attachment.localMetadata.id || attachment.asset_url, removeAttachments: removeAttachments }));
64694
64703
  }
@@ -65286,7 +65295,9 @@ bitsperframe: %d
65286
65295
  React__default["default"].createElement(FileUploadIcon, null))),
65287
65296
  React__default["default"].createElement("div", { className: 'str-chat__message-textarea-container' },
65288
65297
  displayQuotedMessage && React__default["default"].createElement(QuotedMessagePreview$1, { quotedMessage: quotedMessage }),
65289
- isUploadEnabled && !!(numberOfUploads || attachments.length) && (React__default["default"].createElement(AttachmentPreviewList$1, null)),
65298
+ isUploadEnabled &&
65299
+ !!(numberOfUploads ||
65300
+ (attachments.length && attachments.length !== linkPreviews.size)) && React__default["default"].createElement(AttachmentPreviewList$1, null),
65290
65301
  React__default["default"].createElement("div", { className: 'str-chat__message-textarea-with-emoji-picker' },
65291
65302
  React__default["default"].createElement(ChatAutoComplete, null),
65292
65303
  EmojiPicker && React__default["default"].createElement(EmojiPicker, null))),
@@ -66890,7 +66901,7 @@ bitsperframe: %d
66890
66901
  var _this = this;
66891
66902
  var contextHandleFetchReactions = useMessageContext('useFetchReactions').handleFetchReactions;
66892
66903
  var _a = React$2.useState([]), reactions = _a[0], setReactions = _a[1];
66893
- var propHandleFetchReactions = options.handleFetchReactions, shouldFetch = options.shouldFetch;
66904
+ var propHandleFetchReactions = options.handleFetchReactions, reactionType = options.reactionType, shouldFetch = options.shouldFetch, sort = options.sort;
66894
66905
  var _b = React$2.useState(shouldFetch), isLoading = _b[0], setIsLoading = _b[1];
66895
66906
  var handleFetchReactions = propHandleFetchReactions !== null && propHandleFetchReactions !== void 0 ? propHandleFetchReactions : contextHandleFetchReactions;
66896
66907
  React$2.useEffect(function () {
@@ -66905,7 +66916,7 @@ bitsperframe: %d
66905
66916
  case 0:
66906
66917
  _a.trys.push([0, 2, 3, 4]);
66907
66918
  setIsLoading(true);
66908
- return [4 /*yield*/, handleFetchReactions()];
66919
+ return [4 /*yield*/, handleFetchReactions(reactionType, sort)];
66909
66920
  case 1:
66910
66921
  reactions_1 = _a.sent();
66911
66922
  if (!cancel) {
@@ -66930,44 +66941,42 @@ bitsperframe: %d
66930
66941
  return function () {
66931
66942
  cancel = true;
66932
66943
  };
66933
- }, [handleFetchReactions, shouldFetch]);
66944
+ }, [handleFetchReactions, reactionType, shouldFetch, sort]);
66934
66945
  return { isLoading: isLoading, reactions: reactions };
66935
66946
  }
66936
66947
 
66937
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var defaultSortReactionDetails = function (a, b) {
66938
- var _a, _b, _c, _d, _e, _f;
66939
- var aName = (_b = (_a = a.user) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : (_c = a.user) === null || _c === void 0 ? void 0 : _c.id;
66940
- var bName = (_e = (_d = b.user) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : (_f = b.user) === null || _f === void 0 ? void 0 : _f.id;
66941
- return aName ? (bName ? aName.localeCompare(bName, 'en') : -1) : 1;
66942
- };
66948
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var defaultReactionDetailsSort = { created_at: -1 };
66943
66949
  function ReactionsListModal(_a) {
66944
66950
  var _b, _c;
66945
- var handleFetchReactions = _a.handleFetchReactions, onSelectedReactionTypeChange = _a.onSelectedReactionTypeChange, reactions = _a.reactions, selectedReactionType = _a.selectedReactionType, propSortReactionDetails = _a.sortReactionDetails, modalProps = __rest(_a, ["handleFetchReactions", "onSelectedReactionTypeChange", "reactions", "selectedReactionType", "sortReactionDetails"]);
66951
+ var handleFetchReactions = _a.handleFetchReactions, onSelectedReactionTypeChange = _a.onSelectedReactionTypeChange, propReactionDetailsSort = _a.reactionDetailsSort, reactions = _a.reactions, selectedReactionType = _a.selectedReactionType, propSortReactionDetails = _a.sortReactionDetails, modalProps = __rest(_a, ["handleFetchReactions", "onSelectedReactionTypeChange", "reactionDetailsSort", "reactions", "selectedReactionType", "sortReactionDetails"]);
66946
66952
  var selectedReaction = reactions.find(function (_a) {
66947
66953
  var reactionType = _a.reactionType;
66948
66954
  return reactionType === selectedReactionType;
66949
66955
  });
66950
66956
  var SelectedEmojiComponent = (_b = selectedReaction === null || selectedReaction === void 0 ? void 0 : selectedReaction.EmojiComponent) !== null && _b !== void 0 ? _b : null;
66951
- var _d = useFetchReactions({
66957
+ var _d = useMessageContext('ReactionsListModal'), contextReactionDetailsSort = _d.reactionDetailsSort, contextSortReactionDetails = _d.sortReactionDetails;
66958
+ var legacySortReactionDetails = propSortReactionDetails !== null && propSortReactionDetails !== void 0 ? propSortReactionDetails : contextSortReactionDetails;
66959
+ var reactionDetailsSort = (_c = propReactionDetailsSort !== null && propReactionDetailsSort !== void 0 ? propReactionDetailsSort : contextReactionDetailsSort) !== null && _c !== void 0 ? _c : defaultReactionDetailsSort;
66960
+ var _e = useFetchReactions({
66952
66961
  handleFetchReactions: handleFetchReactions,
66962
+ reactionType: selectedReactionType,
66953
66963
  shouldFetch: modalProps.open,
66954
- }), areReactionsLoading = _d.isLoading, allReactions = _d.reactions;
66955
- var contextSortReactionDetails = useMessageContext('ReactionsListModal').sortReactionDetails;
66956
- var sortReactionDetails = (_c = propSortReactionDetails !== null && propSortReactionDetails !== void 0 ? propSortReactionDetails : contextSortReactionDetails) !== null && _c !== void 0 ? _c : defaultSortReactionDetails;
66957
- var currentReactions = React$2.useMemo(function () {
66958
- if (!selectedReactionType) {
66959
- return [];
66960
- }
66961
- var unsortedCurrentReactions = allReactions.filter(function (reaction) { return reaction.type === selectedReactionType && reaction.user; });
66962
- return unsortedCurrentReactions.sort(sortReactionDetails);
66963
- }, [allReactions, selectedReactionType, sortReactionDetails]);
66964
- return (React__default["default"].createElement(Modal, __assign({}, modalProps),
66964
+ sort: reactionDetailsSort,
66965
+ }), areReactionsLoading = _e.isLoading, reactionDetails = _e.reactions;
66966
+ var reactionDetailsWithLegacyFallback = React$2.useMemo(function () {
66967
+ return legacySortReactionDetails
66968
+ ? __spreadArray([], reactionDetails, true).sort(legacySortReactionDetails)
66969
+ : reactionDetails;
66970
+ }, [legacySortReactionDetails, reactionDetails]);
66971
+ return (React__default["default"].createElement(Modal, __assign({}, modalProps, { className: clsx('str-chat__message-reactions-details-modal', modalProps.className) }),
66965
66972
  React__default["default"].createElement("div", { className: 'str-chat__message-reactions-details', "data-testid": 'reactions-list-modal' },
66966
66973
  React__default["default"].createElement("div", { className: 'str-chat__message-reactions-details-reaction-types' }, reactions.map(function (_a) {
66967
66974
  var EmojiComponent = _a.EmojiComponent, reactionCount = _a.reactionCount, reactionType = _a.reactionType;
66968
66975
  return EmojiComponent && (React__default["default"].createElement("div", { className: clsx('str-chat__message-reactions-details-reaction-type', {
66969
66976
  'str-chat__message-reactions-details-reaction-type--selected': selectedReactionType === reactionType,
66970
- }), "data-testid": "reaction-details-selector-".concat(reactionType), key: reactionType, onClick: function () { return onSelectedReactionTypeChange === null || onSelectedReactionTypeChange === void 0 ? void 0 : onSelectedReactionTypeChange(reactionType); } },
66977
+ }), "data-testid": "reaction-details-selector-".concat(reactionType), key: reactionType, onClick: function () {
66978
+ return onSelectedReactionTypeChange === null || onSelectedReactionTypeChange === void 0 ? void 0 : onSelectedReactionTypeChange(reactionType);
66979
+ } },
66971
66980
  React__default["default"].createElement("span", { className: 'emoji str-chat__message-reaction-emoji str-chat__message-reaction-emoji--with-fallback' },
66972
66981
  React__default["default"].createElement(EmojiComponent, null)),
66973
66982
  "\u00A0",
@@ -66975,7 +66984,7 @@ bitsperframe: %d
66975
66984
  })),
66976
66985
  SelectedEmojiComponent && (React__default["default"].createElement("div", { className: 'emoji str-chat__message-reaction-emoji str-chat__message-reaction-emoji--with-fallback str-chat__message-reaction-emoji-big' },
66977
66986
  React__default["default"].createElement(SelectedEmojiComponent, null))),
66978
- React__default["default"].createElement("div", { className: 'str-chat__message-reactions-details-reacting-users', "data-testid": 'all-reacting-users' }, areReactionsLoading ? (React__default["default"].createElement(LoadingIndicator, null)) : (currentReactions.map(function (_a) {
66987
+ React__default["default"].createElement("div", { className: 'str-chat__message-reactions-details-reacting-users', "data-testid": 'all-reacting-users' }, areReactionsLoading ? (React__default["default"].createElement(LoadingIndicator, null)) : (reactionDetailsWithLegacyFallback.map(function (_a) {
66979
66988
  var user = _a.user;
66980
66989
  return (React__default["default"].createElement("div", { className: 'str-chat__message-reactions-details-reacting-user', key: user === null || user === void 0 ? void 0 : user.id },
66981
66990
  React__default["default"].createElement(Avatar, { "data-testid": 'avatar', image: user === null || user === void 0 ? void 0 : user.image, name: (user === null || user === void 0 ? void 0 : user.name) || (user === null || user === void 0 ? void 0 : user.id) }),
@@ -67543,20 +67552,20 @@ bitsperframe: %d
67543
67552
  },
67544
67553
  }); };
67545
67554
 
67546
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MAX_MESSAGE_REACTIONS_TO_FETCH = 1200;
67555
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MAX_MESSAGE_REACTIONS_TO_FETCH = 1000;
67547
67556
  function useReactionsFetcher(message, notifications) {
67548
67557
  var _this = this;
67549
67558
  if (notifications === void 0) { notifications = {}; }
67550
- var channel = useChannelStateContext('useReactionFetcher').channel;
67559
+ var client = useChatContext('useRectionsFetcher').client;
67551
67560
  var t = useTranslationContext('useReactionFetcher').t;
67552
67561
  var getErrorNotification = notifications.getErrorNotification, notify = notifications.notify;
67553
- return function () { return __awaiter(_this, void 0, void 0, function () {
67562
+ return function (reactionType, sort) { return __awaiter(_this, void 0, void 0, function () {
67554
67563
  var e_1, errorMessage;
67555
67564
  return __generator(this, function (_a) {
67556
67565
  switch (_a.label) {
67557
67566
  case 0:
67558
67567
  _a.trys.push([0, 2, , 3]);
67559
- return [4 /*yield*/, fetchMessageReactions(channel, message.id)];
67568
+ return [4 /*yield*/, fetchMessageReactions(client, message.id, reactionType, sort)];
67560
67569
  case 1: return [2 /*return*/, _a.sent()];
67561
67570
  case 2:
67562
67571
  e_1 = _a.sent();
@@ -67568,31 +67577,24 @@ bitsperframe: %d
67568
67577
  });
67569
67578
  }); };
67570
67579
  }
67571
- function fetchMessageReactions(channel, messageId) {
67580
+ function fetchMessageReactions(client, messageId, reactionType, sort) {
67572
67581
  return __awaiter(this, void 0, void 0, function () {
67573
- var reactions, limit, offset, reactionsLimit, lastPageSize, response;
67582
+ var reactions, limit, next, hasNext, response;
67574
67583
  return __generator(this, function (_a) {
67575
67584
  switch (_a.label) {
67576
67585
  case 0:
67577
67586
  reactions = [];
67578
- limit = 300;
67579
- offset = 0;
67580
- reactionsLimit = MAX_MESSAGE_REACTIONS_TO_FETCH;
67581
- lastPageSize = limit;
67587
+ limit = 25;
67588
+ hasNext = true;
67582
67589
  _a.label = 1;
67583
67590
  case 1:
67584
- if (!(lastPageSize === limit && reactions.length < reactionsLimit)) return [3 /*break*/, 3];
67585
- return [4 /*yield*/, channel.getReactions(messageId, {
67586
- limit: limit,
67587
- offset: offset,
67588
- })];
67591
+ if (!(hasNext && reactions.length < MAX_MESSAGE_REACTIONS_TO_FETCH)) return [3 /*break*/, 3];
67592
+ return [4 /*yield*/, client.queryReactions(messageId, reactionType ? { type: reactionType } : {}, sort, { limit: limit, next: next })];
67589
67593
  case 2:
67590
67594
  response = _a.sent();
67591
- lastPageSize = response.reactions.length;
67592
- if (lastPageSize > 0) {
67593
- reactions.push.apply(reactions, response.reactions);
67594
- }
67595
- offset += lastPageSize;
67595
+ reactions.push.apply(reactions, response.reactions);
67596
+ next = response.next;
67597
+ hasNext = Boolean(next);
67596
67598
  return [3 /*break*/, 1];
67597
67599
  case 3: return [2 /*return*/, reactions];
67598
67600
  }
@@ -67603,7 +67605,7 @@ bitsperframe: %d
67603
67605
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
67604
67606
 
67605
67607
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedReactionsList = function (props) {
67606
- var handleFetchReactions = props.handleFetchReactions, _a = props.reverse, reverse = _a === void 0 ? false : _a, sortReactionDetails = props.sortReactionDetails, rest = __rest(props, ["handleFetchReactions", "reverse", "sortReactionDetails"]);
67608
+ var handleFetchReactions = props.handleFetchReactions; props.reactionDetailsSort; var _a = props.reverse, reverse = _a === void 0 ? false : _a, sortReactionDetails = props.sortReactionDetails, rest = __rest(props, ["handleFetchReactions", "reactionDetailsSort", "reverse", "sortReactionDetails"]);
67607
67609
  var _b = useProcessReactions(rest), existingReactions = _b.existingReactions, hasReactions = _b.hasReactions, totalReactionCount = _b.totalReactionCount;
67608
67610
  var _c = React$2.useState(null), selectedReactionType = _c[0], setSelectedReactionType = _c[1];
67609
67611
  var t = useTranslationContext('ReactionsList').t;
@@ -67633,7 +67635,7 @@ bitsperframe: %d
67633
67635
  }),
67634
67636
  React__default["default"].createElement("li", null,
67635
67637
  React__default["default"].createElement("span", { className: 'str-chat__reaction-list--counter' }, totalReactionCount)))),
67636
- React__default["default"].createElement(ReactionsListModal, { handleFetchReactions: handleFetchReactions, onClose: function () { return setSelectedReactionType(null); }, onSelectedReactionTypeChange: setSelectedReactionType, open: selectedReactionType !== null, reactions: existingReactions, selectedReactionType: selectedReactionType, sortReactionDetails: sortReactionDetails })));
67638
+ selectedReactionType !== null && (React__default["default"].createElement(ReactionsListModal, { handleFetchReactions: handleFetchReactions, onClose: function () { return setSelectedReactionType(null); }, onSelectedReactionTypeChange: setSelectedReactionType, open: selectedReactionType !== null, reactions: existingReactions, selectedReactionType: selectedReactionType, sortReactionDetails: sortReactionDetails }))));
67637
67639
  };
67638
67640
  /**
67639
67641
  * Component that displays a list of reactions on a message.
@@ -67790,7 +67792,7 @@ bitsperframe: %d
67790
67792
  'str-chat__virtual-message__wrapper--group': groupedByUser,
67791
67793
  });
67792
67794
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
67793
- editing && (React__default["default"].createElement(Modal, { onClose: clearEditingState, open: editing },
67795
+ editing && (React__default["default"].createElement(Modal, { className: 'str-chat__edit-message-modal', onClose: clearEditingState, open: editing },
67794
67796
  React__default["default"].createElement(MessageInput, __assign({ clearEditingState: clearEditingState, grow: true, hideSendButton: true, Input: EditMessageInput, message: message }, additionalMessageInputProps)))),
67795
67797
  isBounceDialogOpen && (React__default["default"].createElement(MessageBounceModal, { MessageBouncePrompt: MessageBouncePrompt$1, onClose: function () { return setIsBounceDialogOpen(false); }, open: isBounceDialogOpen })),
67796
67798
  React__default["default"].createElement("div", { className: rootClassName, key: message.id },
@@ -67933,7 +67935,7 @@ bitsperframe: %d
67933
67935
  * an individual message. The actual UI of the message is delegated via the Message prop on Channel.
67934
67936
  */
67935
67937
  var Message = function (props) {
67936
- var closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, disableQuotedMessages = props.disableQuotedMessages, getDeleteMessageErrorNotification = props.getDeleteMessageErrorNotification, getFetchReactionsErrorNotification = props.getFetchReactionsErrorNotification, getFlagMessageErrorNotification = props.getFlagMessageErrorNotification, getFlagMessageSuccessNotification = props.getFlagMessageSuccessNotification, getMarkMessageUnreadErrorNotification = props.getMarkMessageUnreadErrorNotification, getMarkMessageUnreadSuccessNotification = props.getMarkMessageUnreadSuccessNotification, getMuteUserErrorNotification = props.getMuteUserErrorNotification, getMuteUserSuccessNotification = props.getMuteUserSuccessNotification, getPinMessageErrorNotification = props.getPinMessageErrorNotification, message = props.message, _a = props.onlySenderCanEdit, onlySenderCanEdit = _a === void 0 ? false : _a, propOnMentionsClick = props.onMentionsClick, propOnMentionsHover = props.onMentionsHover, propOpenThread = props.openThread, pinPermissions = props.pinPermissions, propRetrySendMessage = props.retrySendMessage, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions;
67938
+ var closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, disableQuotedMessages = props.disableQuotedMessages, getDeleteMessageErrorNotification = props.getDeleteMessageErrorNotification, getFetchReactionsErrorNotification = props.getFetchReactionsErrorNotification, getFlagMessageErrorNotification = props.getFlagMessageErrorNotification, getFlagMessageSuccessNotification = props.getFlagMessageSuccessNotification, getMarkMessageUnreadErrorNotification = props.getMarkMessageUnreadErrorNotification, getMarkMessageUnreadSuccessNotification = props.getMarkMessageUnreadSuccessNotification, getMuteUserErrorNotification = props.getMuteUserErrorNotification, getMuteUserSuccessNotification = props.getMuteUserSuccessNotification, getPinMessageErrorNotification = props.getPinMessageErrorNotification, message = props.message, _a = props.onlySenderCanEdit, onlySenderCanEdit = _a === void 0 ? false : _a, propOnMentionsClick = props.onMentionsClick, propOnMentionsHover = props.onMentionsHover, propOpenThread = props.openThread, pinPermissions = props.pinPermissions, reactionDetailsSort = props.reactionDetailsSort, propRetrySendMessage = props.retrySendMessage, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions;
67937
67939
  var addNotification = useChannelActionContext('Message').addNotification;
67938
67940
  var _b = useChannelStateContext('Message'), highlightedMessageId = _b.highlightedMessageId, mutes = _b.mutes;
67939
67941
  var reactionSelectorRef = React$2.useRef(null);
@@ -67975,7 +67977,7 @@ bitsperframe: %d
67975
67977
  }), canPin = _d.canPin, handlePin = _d.handlePin;
67976
67978
  var _e = useReactionClick(message, reactionSelectorRef, undefined, closeReactionSelectorOnClick), isReactionEnabled = _e.isReactionEnabled, onReactionListClick = _e.onReactionListClick, showDetailedReactions = _e.showDetailedReactions;
67977
67979
  var highlighted = highlightedMessageId === message.id;
67978
- return (React__default["default"].createElement(MemoizedMessage, { additionalMessageInputProps: props.additionalMessageInputProps, autoscrollToBottom: props.autoscrollToBottom, canPin: canPin, customMessageActions: props.customMessageActions, disableQuotedMessages: props.disableQuotedMessages, endOfGroup: props.endOfGroup, firstOfGroup: props.firstOfGroup, formatDate: props.formatDate, groupedByUser: props.groupedByUser, groupStyles: props.groupStyles, handleAction: handleAction, handleDelete: handleDelete, handleFetchReactions: handleFetchReactions, handleFlag: handleFlag, handleMarkUnread: handleMarkUnread, handleMute: handleMute, handleOpenThread: handleOpenThread, handlePin: handlePin, handleReaction: handleReaction, handleRetry: handleRetry, highlighted: highlighted, initialMessage: props.initialMessage, isReactionEnabled: isReactionEnabled, lastReceivedId: props.lastReceivedId, message: message, Message: props.Message, messageActions: props.messageActions, messageListRect: props.messageListRect, mutes: mutes, onMentionsClickMessage: onMentionsClick, onMentionsHoverMessage: onMentionsHover, onReactionListClick: onReactionListClick, onUserClick: props.onUserClick, onUserHover: props.onUserHover, pinPermissions: props.pinPermissions, reactionSelectorRef: reactionSelectorRef, readBy: props.readBy, renderText: props.renderText, showDetailedReactions: showDetailedReactions, sortReactionDetails: sortReactionDetails, sortReactions: sortReactions, threadList: props.threadList, unsafeHTML: props.unsafeHTML, userRoles: userRoles }));
67980
+ return (React__default["default"].createElement(MemoizedMessage, { additionalMessageInputProps: props.additionalMessageInputProps, autoscrollToBottom: props.autoscrollToBottom, canPin: canPin, customMessageActions: props.customMessageActions, disableQuotedMessages: props.disableQuotedMessages, endOfGroup: props.endOfGroup, firstOfGroup: props.firstOfGroup, formatDate: props.formatDate, groupedByUser: props.groupedByUser, groupStyles: props.groupStyles, handleAction: handleAction, handleDelete: handleDelete, handleFetchReactions: handleFetchReactions, handleFlag: handleFlag, handleMarkUnread: handleMarkUnread, handleMute: handleMute, handleOpenThread: handleOpenThread, handlePin: handlePin, handleReaction: handleReaction, handleRetry: handleRetry, highlighted: highlighted, initialMessage: props.initialMessage, isReactionEnabled: isReactionEnabled, lastReceivedId: props.lastReceivedId, message: message, Message: props.Message, messageActions: props.messageActions, messageListRect: props.messageListRect, mutes: mutes, onMentionsClickMessage: onMentionsClick, onMentionsHoverMessage: onMentionsHover, onReactionListClick: onReactionListClick, onUserClick: props.onUserClick, onUserHover: props.onUserHover, pinPermissions: props.pinPermissions, reactionDetailsSort: reactionDetailsSort, reactionSelectorRef: reactionSelectorRef, readBy: props.readBy, renderText: props.renderText, showDetailedReactions: showDetailedReactions, sortReactionDetails: sortReactionDetails, sortReactions: sortReactions, threadList: props.threadList, unsafeHTML: props.unsafeHTML, userRoles: userRoles }));
67979
67981
  };
67980
67982
 
67981
67983
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var GiphyPreviewMessage = function (props) {
@@ -68934,7 +68936,7 @@ bitsperframe: %d
68934
68936
  React__default["default"].createElement(HeaderComponent, null)));
68935
68937
  }
68936
68938
  else if (message.type === 'system') {
68937
- renderedMessages.push(React__default["default"].createElement("li", { key: message.id || message.created_at },
68939
+ renderedMessages.push(React__default["default"].createElement("li", { "data-message-id": message.id, key: message.id || message.created_at },
68938
68940
  React__default["default"].createElement(MessageSystem, { message: message })));
68939
68941
  }
68940
68942
  else {
@@ -68975,7 +68977,7 @@ bitsperframe: %d
68975
68977
  var _a;
68976
68978
  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 ? DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _g, restInternalInfiniteScrollProps = __rest(_f, ["threshold"]), _h = props.messageActions, messageActions = _h === void 0 ? Object.keys(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 ? defaultPinPermissions : _l, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
68977
68979
  _m = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
68978
- 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, reviewProcessedMessage = props.reviewProcessedMessage, _r = props.messageLimit, messageLimit = _r === void 0 ? 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;
68980
+ 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, reviewProcessedMessage = props.reviewProcessedMessage, _r = props.messageLimit, messageLimit = _r === void 0 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, reactionDetailsSort = props.reactionDetailsSort, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
68979
68981
  var _u = React__default["default"].useState(null), listElement = _u[0], setListElement = _u[1];
68980
68982
  var _v = React__default["default"].useState(null), ulElement = _v[0], setUlElement = _v[1];
68981
68983
  var customClasses = useChatContext('MessageList').customClasses;
@@ -69037,8 +69039,11 @@ bitsperframe: %d
69037
69039
  onUserHover: props.onUserHover,
69038
69040
  openThread: props.openThread,
69039
69041
  pinPermissions: pinPermissions,
69042
+ reactionDetailsSort: reactionDetailsSort,
69040
69043
  renderText: props.renderText,
69041
69044
  retrySendMessage: props.retrySendMessage,
69045
+ sortReactionDetails: sortReactionDetails,
69046
+ sortReactions: sortReactions,
69042
69047
  unsafeHTML: unsafeHTML,
69043
69048
  },
69044
69049
  messageGroupStyles: messageGroupStyles,
@@ -70501,9 +70506,11 @@ bitsperframe: %d
70501
70506
  if (separateGiphyPreview)
70502
70507
  client.on('message.new', handleEvent);
70503
70508
  return function () { return client.off('message.new', handleEvent); };
70504
- // eslint-disable-next-line react-hooks/exhaustive-deps
70505
- }, [separateGiphyPreview]);
70506
- return { giphyPreviewMessage: giphyPreviewMessage, setGiphyPreviewMessage: setGiphyPreviewMessage };
70509
+ }, [client, separateGiphyPreview]);
70510
+ return {
70511
+ giphyPreviewMessage: giphyPreviewMessage,
70512
+ setGiphyPreviewMessage: separateGiphyPreview ? setGiphyPreviewMessage : undefined,
70513
+ };
70507
70514
  };
70508
70515
 
70509
70516
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useMessageSetKey = function (_a) {
@@ -70647,7 +70654,7 @@ bitsperframe: %d
70647
70654
  };
70648
70655
  var messageRenderer = function (virtuosoIndex, _data, virtuosoContext) {
70649
70656
  var _a, _b, _c, _d, _e, _f, _g;
70650
- var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, lastReadDate = virtuosoContext.lastReadDate, 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;
70657
+ var additionalMessageInputProps = virtuosoContext.additionalMessageInputProps, closeReactionSelectorOnClick = virtuosoContext.closeReactionSelectorOnClick, customMessageActions = virtuosoContext.customMessageActions, customMessageRenderer = virtuosoContext.customMessageRenderer, DateSeparator = virtuosoContext.DateSeparator, firstUnreadMessageId = virtuosoContext.firstUnreadMessageId, lastReadDate = virtuosoContext.lastReadDate, lastReadMessageId = virtuosoContext.lastReadMessageId, lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, MessageUIComponent = virtuosoContext.Message, messageActions = virtuosoContext.messageActions, MessageSystem = virtuosoContext.MessageSystem, numItemsPrepended = virtuosoContext.numItemsPrepended, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers, messageList = virtuosoContext.processedMessages, reactionDetailsSort = virtuosoContext.reactionDetailsSort, shouldGroupByUser = virtuosoContext.shouldGroupByUser, sortReactionDetails = virtuosoContext.sortReactionDetails, sortReactions = virtuosoContext.sortReactions, _h = virtuosoContext.unreadMessageCount, unreadMessageCount = _h === void 0 ? 0 : _h, UnreadMessagesSeparator = virtuosoContext.UnreadMessagesSeparator, virtuosoRef = virtuosoContext.virtuosoRef;
70651
70658
  var streamMessageIndex = calculateItemIndex(virtuosoIndex, numItemsPrepended);
70652
70659
  if (customMessageRenderer) {
70653
70660
  return customMessageRenderer(messageList, streamMessageIndex);
@@ -70688,7 +70695,7 @@ bitsperframe: %d
70688
70695
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
70689
70696
  showUnreadSeparatorAbove && (React__default["default"].createElement("div", { className: 'str-chat__unread-messages-separator-wrapper' },
70690
70697
  React__default["default"].createElement(UnreadMessagesSeparator, { unreadCount: unreadMessageCount }))),
70691
- React__default["default"].createElement(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 }),
70698
+ React__default["default"].createElement(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, reactionDetailsSort: reactionDetailsSort, readBy: ownMessagesReadByOthers[message.id] || [], sortReactionDetails: sortReactionDetails, sortReactions: sortReactions }),
70692
70699
  showUnreadSeparatorBelow && (React__default["default"].createElement("div", { className: 'str-chat__unread-messages-separator-wrapper' },
70693
70700
  React__default["default"].createElement(UnreadMessagesSeparator, { unreadCount: unreadMessageCount })))));
70694
70701
  };
@@ -70728,7 +70735,7 @@ bitsperframe: %d
70728
70735
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
70729
70736
  _h = props.overscan,
70730
70737
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
70731
- overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, reviewProcessedMessage = props.reviewProcessedMessage, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
70738
+ overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, reviewProcessedMessage = props.reviewProcessedMessage, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, reactionDetailsSort = props.reactionDetailsSort, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
70732
70739
  var virtuosoComponentsFromProps = additionalVirtuosoProps.components, overridingVirtuosoProps = __rest(additionalVirtuosoProps, ["components"]);
70733
70740
  // Stops errors generated from react-virtuoso to bubble up
70734
70741
  // to Sentry or other tracking tools.
@@ -70902,6 +70909,7 @@ bitsperframe: %d
70902
70909
  numItemsPrepended: numItemsPrepended,
70903
70910
  ownMessagesReadByOthers: ownMessagesReadByOthers,
70904
70911
  processedMessages: processedMessages,
70912
+ reactionDetailsSort: reactionDetailsSort,
70905
70913
  shouldGroupByUser: shouldGroupByUser,
70906
70914
  sortReactionDetails: sortReactionDetails,
70907
70915
  sortReactions: sortReactions,
@@ -71592,8 +71600,9 @@ bitsperframe: %d
71592
71600
  });
71593
71601
  };
71594
71602
  var clearHighlightedMessageTimeoutId = React$2.useRef(null);
71595
- var jumpToMessage = function (messageId, messageLimit) {
71603
+ var jumpToMessage = React$2.useCallback(function (messageId, messageLimit, highlightDuration) {
71596
71604
  if (messageLimit === void 0) { messageLimit = DEFAULT_JUMP_TO_PAGE_SIZE; }
71605
+ if (highlightDuration === void 0) { highlightDuration = DEFAULT_HIGHLIGHT_DURATION; }
71597
71606
  return __awaiter(void 0, void 0, void 0, function () {
71598
71607
  var indexOfMessage, hasMoreMessages;
71599
71608
  return __generator(this, function (_a) {
@@ -71617,13 +71626,13 @@ bitsperframe: %d
71617
71626
  clearHighlightedMessageTimeoutId.current = setTimeout(function () {
71618
71627
  clearHighlightedMessageTimeoutId.current = null;
71619
71628
  dispatch({ type: 'clearHighlightedMessage' });
71620
- }, 500);
71629
+ }, highlightDuration);
71621
71630
  return [2 /*return*/];
71622
71631
  }
71623
71632
  });
71624
71633
  });
71625
- };
71626
- var jumpToLatestMessage = function () { return __awaiter(void 0, void 0, void 0, function () {
71634
+ }, [channel, loadMoreFinished]);
71635
+ var jumpToLatestMessage = React$2.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
71627
71636
  var hasMoreOlder;
71628
71637
  return __generator(this, function (_a) {
71629
71638
  switch (_a.label) {
@@ -71638,9 +71647,10 @@ bitsperframe: %d
71638
71647
  return [2 /*return*/];
71639
71648
  }
71640
71649
  });
71641
- }); };
71642
- var jumpToFirstUnreadMessage = React$2.useCallback(function (queryMessageLimit) {
71650
+ }); }, [channel, loadMoreFinished]);
71651
+ var jumpToFirstUnreadMessage = React$2.useCallback(function (queryMessageLimit, highlightDuration) {
71643
71652
  if (queryMessageLimit === void 0) { queryMessageLimit = DEFAULT_JUMP_TO_PAGE_SIZE; }
71653
+ if (highlightDuration === void 0) { highlightDuration = DEFAULT_HIGHLIGHT_DURATION; }
71644
71654
  return __awaiter(void 0, void 0, void 0, function () {
71645
71655
  var lastReadMessageId, firstUnreadMessageId, isInCurrentMessageSet, hasMoreMessages, result, result, lastReadTimestamp, _a, lastReadMessageIndex, lastReadMessage, messages, firstMessageWithCreationDate, firstMessageTimestamp, result, targetId_1, indexOfTarget;
71646
71656
  var _b, _c, _d, _e;
@@ -71755,7 +71765,7 @@ bitsperframe: %d
71755
71765
  clearHighlightedMessageTimeoutId.current = setTimeout(function () {
71756
71766
  clearHighlightedMessageTimeoutId.current = null;
71757
71767
  dispatch({ type: 'clearHighlightedMessage' });
71758
- }, 500);
71768
+ }, highlightDuration);
71759
71769
  return [2 /*return*/];
71760
71770
  }
71761
71771
  });
@@ -71944,7 +71954,7 @@ bitsperframe: %d
71944
71954
  switch (_b.label) {
71945
71955
  case 0:
71946
71956
  // FIXME: should prevent loading more, if state.thread.reply_count === channel.state.threads[parentID].length
71947
- if (state.threadLoadingMore || !state.thread)
71957
+ if (state.threadLoadingMore || !state.thread || !state.threadHasMore)
71948
71958
  return [2 /*return*/];
71949
71959
  dispatch({ type: 'startLoadingThread' });
71950
71960
  parentId = state.thread.id;
@@ -73439,7 +73449,7 @@ bitsperframe: %d
73439
73449
 
73440
73450
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
73441
73451
 
73442
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.18.1';
73452
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.20.0';
73443
73453
 
73444
73454
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
73445
73455
  var _b, _c;