stream-chat-react 9.5.0 → 10.0.0-theming-v2.3

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 (526) hide show
  1. package/dist/browser.full-bundle.js +14484 -9186
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +20 -5
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Attachment/Attachment.d.ts +1 -0
  6. package/dist/components/Attachment/Attachment.d.ts.map +1 -1
  7. package/dist/components/Attachment/Attachment.js +80 -35
  8. package/dist/components/Attachment/AttachmentActions.d.ts.map +1 -1
  9. package/dist/components/Attachment/AttachmentActions.js +2 -6
  10. package/dist/components/Attachment/AttachmentContainer.d.ts +12 -0
  11. package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -0
  12. package/dist/components/Attachment/AttachmentContainer.js +107 -0
  13. package/dist/components/Attachment/Audio.d.ts +11 -0
  14. package/dist/components/Attachment/Audio.d.ts.map +1 -1
  15. package/dist/components/Attachment/Audio.js +59 -32
  16. package/dist/components/Attachment/Card.d.ts +5 -20
  17. package/dist/components/Attachment/Card.d.ts.map +1 -1
  18. package/dist/components/Attachment/Card.js +93 -15
  19. package/dist/components/Attachment/DownloadButton.d.ts +6 -0
  20. package/dist/components/Attachment/DownloadButton.d.ts.map +1 -0
  21. package/dist/components/Attachment/DownloadButton.js +8 -0
  22. package/dist/components/Attachment/FileAttachment.d.ts +1 -1
  23. package/dist/components/Attachment/FileAttachment.d.ts.map +1 -1
  24. package/dist/components/Attachment/FileAttachment.js +23 -6
  25. package/dist/components/Attachment/FileSizeIndicator.d.ts +6 -0
  26. package/dist/components/Attachment/FileSizeIndicator.d.ts.map +1 -0
  27. package/dist/components/Attachment/FileSizeIndicator.js +8 -0
  28. package/dist/components/Attachment/hooks/useAudioController.d.ts +9 -0
  29. package/dist/components/Attachment/hooks/useAudioController.d.ts.map +1 -0
  30. package/dist/components/Attachment/hooks/useAudioController.js +45 -0
  31. package/dist/components/Attachment/icons.d.ts +5 -0
  32. package/dist/components/Attachment/icons.d.ts.map +1 -0
  33. package/dist/components/Attachment/icons.js +10 -0
  34. package/dist/components/Attachment/index.d.ts +1 -0
  35. package/dist/components/Attachment/index.d.ts.map +1 -1
  36. package/dist/components/Attachment/index.js +1 -0
  37. package/dist/components/Attachment/utils.d.ts +41 -4
  38. package/dist/components/Attachment/utils.d.ts.map +1 -1
  39. package/dist/components/Attachment/utils.js +63 -18
  40. package/dist/components/AutoCompleteTextarea/Item.d.ts.map +1 -1
  41. package/dist/components/AutoCompleteTextarea/Item.js +11 -4
  42. package/dist/components/AutoCompleteTextarea/List.d.ts +17 -1
  43. package/dist/components/AutoCompleteTextarea/List.d.ts.map +1 -1
  44. package/dist/components/AutoCompleteTextarea/List.js +19 -17
  45. package/dist/components/AutoCompleteTextarea/Textarea.d.ts +16 -2
  46. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  47. package/dist/components/AutoCompleteTextarea/Textarea.js +19 -16
  48. package/dist/components/AutoCompleteTextarea/utils.js +1 -1
  49. package/dist/components/Avatar/Avatar.js +10 -10
  50. package/dist/components/Channel/Channel.d.ts +7 -2
  51. package/dist/components/Channel/Channel.d.ts.map +1 -1
  52. package/dist/components/Channel/Channel.js +77 -67
  53. package/dist/components/Channel/LoadingChannel.d.ts +2 -0
  54. package/dist/components/Channel/LoadingChannel.d.ts.map +1 -0
  55. package/dist/components/Channel/LoadingChannel.js +20 -0
  56. package/dist/components/Channel/channelState.d.ts +1 -0
  57. package/dist/components/Channel/channelState.d.ts.map +1 -1
  58. package/dist/components/Channel/channelState.js +14 -9
  59. package/dist/components/Channel/hooks/useChannelContainerClasses.d.ts +9 -0
  60. package/dist/components/Channel/hooks/useChannelContainerClasses.d.ts.map +1 -0
  61. package/dist/components/Channel/hooks/useChannelContainerClasses.js +14 -0
  62. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +6 -6
  63. package/dist/components/Channel/utils.d.ts +3 -0
  64. package/dist/components/Channel/utils.d.ts.map +1 -1
  65. package/dist/components/Channel/utils.js +9 -5
  66. package/dist/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
  67. package/dist/components/ChannelHeader/ChannelHeader.js +14 -9
  68. package/dist/components/ChannelList/ChannelList.d.ts +10 -4
  69. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  70. package/dist/components/ChannelList/ChannelList.js +32 -14
  71. package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +10 -6
  72. package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +10 -6
  73. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +1 -1
  74. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +1 -1
  75. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +9 -5
  76. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +1 -1
  77. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +1 -1
  78. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +9 -5
  79. package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +9 -5
  80. package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +1 -1
  81. package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +1 -1
  82. package/dist/components/ChannelList/hooks/useMessageNewListener.js +9 -5
  83. package/dist/components/ChannelList/hooks/useMobileNavigation.d.ts +1 -1
  84. package/dist/components/ChannelList/hooks/useMobileNavigation.d.ts.map +1 -1
  85. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +9 -5
  86. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +9 -5
  87. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +9 -5
  88. package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +9 -5
  89. package/dist/components/ChannelList/utils.js +9 -5
  90. package/dist/components/ChannelPreview/ChannelPreview.d.ts +6 -0
  91. package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  92. package/dist/components/ChannelPreview/ChannelPreview.js +5 -21
  93. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
  94. package/dist/components/ChannelPreview/ChannelPreviewMessenger.js +13 -9
  95. package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts +14 -0
  96. package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts.map +1 -0
  97. package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.js +29 -0
  98. package/dist/components/ChannelPreview/utils.js +2 -2
  99. package/dist/components/ChannelSearch/ChannelSearch.d.ts +6 -42
  100. package/dist/components/ChannelSearch/ChannelSearch.d.ts.map +1 -1
  101. package/dist/components/ChannelSearch/ChannelSearch.js +4 -160
  102. package/dist/components/ChannelSearch/SearchBar.d.ts +29 -0
  103. package/dist/components/ChannelSearch/SearchBar.d.ts.map +1 -0
  104. package/dist/components/ChannelSearch/SearchBar.js +93 -0
  105. package/dist/components/ChannelSearch/SearchInput.d.ts +9 -17
  106. package/dist/components/ChannelSearch/SearchInput.d.ts.map +1 -1
  107. package/dist/components/ChannelSearch/SearchInput.js +2 -4
  108. package/dist/components/ChannelSearch/SearchResults.d.ts +14 -8
  109. package/dist/components/ChannelSearch/SearchResults.d.ts.map +1 -1
  110. package/dist/components/ChannelSearch/SearchResults.js +44 -27
  111. package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +50 -0
  112. package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts.map +1 -0
  113. package/dist/components/ChannelSearch/hooks/useChannelSearch.js +232 -0
  114. package/dist/components/ChannelSearch/icons.d.ts +6 -0
  115. package/dist/components/ChannelSearch/icons.d.ts.map +1 -0
  116. package/dist/components/ChannelSearch/icons.js +12 -0
  117. package/dist/components/Chat/Chat.d.ts.map +1 -1
  118. package/dist/components/Chat/Chat.js +4 -0
  119. package/dist/components/Chat/hooks/useChat.d.ts +1 -1
  120. package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
  121. package/dist/components/Chat/hooks/useChat.js +1 -1
  122. package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  123. package/dist/components/Chat/hooks/useCreateChatContext.js +3 -2
  124. package/dist/components/Chat/hooks/useCustomStyles.d.ts +1 -1
  125. package/dist/components/Chat/hooks/useCustomStyles.d.ts.map +1 -1
  126. package/dist/components/ChatAutoComplete/ChatAutoComplete.js +1 -1
  127. package/dist/components/DateSeparator/DateSeparator.js +1 -1
  128. package/dist/components/EmoticonItem/EmoticonItem.js +1 -1
  129. package/dist/components/EmptyStateIndicator/EmptyStateIndicator.d.ts +1 -1
  130. package/dist/components/EmptyStateIndicator/EmptyStateIndicator.d.ts.map +1 -1
  131. package/dist/components/EmptyStateIndicator/EmptyStateIndicator.js +16 -3
  132. package/dist/components/EmptyStateIndicator/icons.d.ts +2 -0
  133. package/dist/components/EmptyStateIndicator/icons.d.ts.map +1 -0
  134. package/dist/components/EmptyStateIndicator/icons.js +3 -0
  135. package/dist/components/EventComponent/EventComponent.js +1 -1
  136. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  137. package/dist/components/Gallery/Gallery.js +16 -14
  138. package/dist/components/Gallery/Image.d.ts +7 -3
  139. package/dist/components/Gallery/Image.d.ts.map +1 -1
  140. package/dist/components/Gallery/Image.js +21 -9
  141. package/dist/components/Gallery/ModalGallery.d.ts +10 -0
  142. package/dist/components/Gallery/ModalGallery.d.ts.map +1 -0
  143. package/dist/components/Gallery/ModalGallery.js +16 -0
  144. package/dist/components/Gallery/index.d.ts +1 -1
  145. package/dist/components/Gallery/index.js +1 -1
  146. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +2 -0
  147. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  148. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +4 -1
  149. package/dist/components/LoadMore/LoadMoreButton.js +2 -2
  150. package/dist/components/Loading/LoadingChannels.js +2 -2
  151. package/dist/components/Loading/LoadingIndicator.js +1 -1
  152. package/dist/components/MML/MML.js +1 -1
  153. package/dist/components/Message/FixedHeightMessage.js +3 -3
  154. package/dist/components/Message/MessageDeleted.js +2 -2
  155. package/dist/components/Message/MessageOptions.d.ts +1 -0
  156. package/dist/components/Message/MessageOptions.d.ts.map +1 -1
  157. package/dist/components/Message/MessageOptions.js +9 -16
  158. package/dist/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
  159. package/dist/components/Message/MessageRepliesCountButton.js +8 -5
  160. package/dist/components/Message/MessageSimple.d.ts.map +1 -1
  161. package/dist/components/Message/MessageSimple.js +41 -21
  162. package/dist/components/Message/MessageStatus.d.ts.map +1 -1
  163. package/dist/components/Message/MessageStatus.js +34 -23
  164. package/dist/components/Message/MessageText.d.ts +1 -1
  165. package/dist/components/Message/MessageText.d.ts.map +1 -1
  166. package/dist/components/Message/MessageText.js +10 -14
  167. package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
  168. package/dist/components/Message/QuotedMessage.js +8 -3
  169. package/dist/components/Message/hooks/index.d.ts +0 -2
  170. package/dist/components/Message/hooks/index.d.ts.map +1 -1
  171. package/dist/components/Message/hooks/index.js +0 -2
  172. package/dist/components/Message/hooks/useEditHandler.d.ts +1 -1
  173. package/dist/components/Message/hooks/useEditHandler.d.ts.map +1 -1
  174. package/dist/components/Message/hooks/useReactionHandler.d.ts +3 -3
  175. package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
  176. package/dist/components/Message/hooks/useReactionHandler.js +11 -7
  177. package/dist/components/Message/hooks/useUserRole.d.ts +1 -1
  178. package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
  179. package/dist/components/Message/icons.d.ts +6 -4
  180. package/dist/components/Message/icons.d.ts.map +1 -1
  181. package/dist/components/Message/icons.js +25 -10
  182. package/dist/components/Message/index.d.ts +0 -3
  183. package/dist/components/Message/index.d.ts.map +1 -1
  184. package/dist/components/Message/index.js +0 -3
  185. package/dist/components/Message/utils.js +10 -6
  186. package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
  187. package/dist/components/MessageActions/MessageActions.js +3 -3
  188. package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
  189. package/dist/components/MessageActions/MessageActionsBox.js +14 -7
  190. package/dist/components/MessageInput/AttachmentPreviewList.d.ts +2 -0
  191. package/dist/components/MessageInput/AttachmentPreviewList.d.ts.map +1 -0
  192. package/dist/components/MessageInput/AttachmentPreviewList.js +60 -0
  193. package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
  194. package/dist/components/MessageInput/EditMessageForm.js +11 -6
  195. package/dist/components/MessageInput/EmojiPicker.d.ts +1 -1
  196. package/dist/components/MessageInput/EmojiPicker.d.ts.map +1 -1
  197. package/dist/components/MessageInput/EmojiPicker.js +14 -17
  198. package/dist/components/MessageInput/MessageInput.d.ts +1 -1
  199. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  200. package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
  201. package/dist/components/MessageInput/MessageInputFlat.js +87 -10
  202. package/dist/components/MessageInput/MessageInputSmall.d.ts +9 -0
  203. package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
  204. package/dist/components/MessageInput/MessageInputSmall.js +10 -1
  205. package/dist/components/MessageInput/QuotedMessagePreview.d.ts +2 -1
  206. package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
  207. package/dist/components/MessageInput/QuotedMessagePreview.js +29 -22
  208. package/dist/components/MessageInput/UploadsPreview.d.ts +7 -0
  209. package/dist/components/MessageInput/UploadsPreview.d.ts.map +1 -1
  210. package/dist/components/MessageInput/UploadsPreview.js +17 -6
  211. package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts.map +1 -1
  212. package/dist/components/MessageInput/hooks/useCommandTrigger.js +6 -4
  213. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +1 -1
  214. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
  215. package/dist/components/MessageInput/hooks/useCooldownTimer.js +4 -4
  216. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts +1 -1
  217. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts.map +1 -1
  218. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts +1 -1
  219. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts.map +1 -1
  220. package/dist/components/MessageInput/hooks/useEmojiTrigger.js +23 -19
  221. package/dist/components/MessageInput/hooks/useFileState.d.ts +7 -0
  222. package/dist/components/MessageInput/hooks/useFileState.d.ts.map +1 -0
  223. package/dist/components/MessageInput/hooks/useFileState.js +8 -0
  224. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +2 -6
  225. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  226. package/dist/components/MessageInput/hooks/useSubmitHandler.js +10 -6
  227. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +1 -1
  228. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts.map +1 -1
  229. package/dist/components/MessageInput/hooks/useUserTrigger.js +13 -9
  230. package/dist/components/MessageInput/hooks/utils.d.ts +1 -1
  231. package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -1
  232. package/dist/components/MessageInput/icons.d.ts +12 -2
  233. package/dist/components/MessageInput/icons.d.ts.map +1 -1
  234. package/dist/components/MessageInput/icons.js +67 -7
  235. package/dist/components/MessageList/CustomNotification.js +1 -1
  236. package/dist/components/MessageList/MessageList.d.ts +3 -0
  237. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  238. package/dist/components/MessageList/MessageList.js +17 -14
  239. package/dist/components/MessageList/MessageListMainPanel.d.ts +3 -0
  240. package/dist/components/MessageList/MessageListMainPanel.d.ts.map +1 -0
  241. package/dist/components/MessageList/MessageListMainPanel.js +9 -0
  242. package/dist/components/MessageList/MessageListNotifications.d.ts +2 -0
  243. package/dist/components/MessageList/MessageListNotifications.d.ts.map +1 -1
  244. package/dist/components/MessageList/MessageListNotifications.js +2 -2
  245. package/dist/components/MessageList/MessageNotification.d.ts +9 -6
  246. package/dist/components/MessageList/MessageNotification.d.ts.map +1 -1
  247. package/dist/components/MessageList/MessageNotification.js +1 -1
  248. package/dist/components/MessageList/ScrollToBottomButton.d.ts +3 -0
  249. package/dist/components/MessageList/ScrollToBottomButton.d.ts.map +1 -0
  250. package/dist/components/MessageList/ScrollToBottomButton.js +53 -0
  251. package/dist/components/MessageList/VirtualizedMessageList.d.ts +5 -0
  252. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  253. package/dist/components/MessageList/VirtualizedMessageList.js +41 -14
  254. package/dist/components/MessageList/hooks/useMessageListElements.d.ts +1 -1
  255. package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
  256. package/dist/components/MessageList/hooks/useMessageListElements.js +4 -3
  257. package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts.map +1 -1
  258. package/dist/components/MessageList/hooks/useMessageListScrollManager.js +3 -1
  259. package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts +2 -0
  260. package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts.map +1 -1
  261. package/dist/components/MessageList/hooks/useNewMessageNotification.js +8 -1
  262. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +1 -2
  263. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
  264. package/dist/components/MessageList/hooks/useScrollLocationLogic.js +12 -30
  265. package/dist/components/MessageList/icons.d.ts +8 -0
  266. package/dist/components/MessageList/icons.d.ts.map +1 -0
  267. package/dist/components/MessageList/icons.js +11 -0
  268. package/dist/components/MessageList/index.d.ts +1 -0
  269. package/dist/components/MessageList/index.d.ts.map +1 -1
  270. package/dist/components/MessageList/index.js +1 -0
  271. package/dist/components/MessageList/utils.d.ts +4 -2
  272. package/dist/components/MessageList/utils.d.ts.map +1 -1
  273. package/dist/components/MessageList/utils.js +16 -3
  274. package/dist/components/Modal/Modal.d.ts +2 -2
  275. package/dist/components/Modal/Modal.d.ts.map +1 -1
  276. package/dist/components/Modal/Modal.js +18 -15
  277. package/dist/components/Modal/icons.d.ts +2 -0
  278. package/dist/components/Modal/icons.d.ts.map +1 -0
  279. package/dist/components/Modal/icons.js +5 -0
  280. package/dist/components/Reactions/ReactionSelector.d.ts +2 -0
  281. package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
  282. package/dist/components/Reactions/ReactionSelector.js +18 -9
  283. package/dist/components/Reactions/ReactionsList.d.ts +3 -1
  284. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  285. package/dist/components/Reactions/ReactionsList.js +48 -47
  286. package/dist/components/Reactions/SimpleReactionsList.d.ts +3 -1
  287. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  288. package/dist/components/Reactions/SimpleReactionsList.js +41 -58
  289. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +22 -0
  290. package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -0
  291. package/dist/components/Reactions/hooks/useProcessReactions.js +62 -0
  292. package/dist/components/Thread/Thread.d.ts +2 -6
  293. package/dist/components/Thread/Thread.d.ts.map +1 -1
  294. package/dist/components/Thread/Thread.js +21 -89
  295. package/dist/components/Thread/ThreadHead.d.ts +4 -0
  296. package/dist/components/Thread/ThreadHead.d.ts.map +1 -0
  297. package/dist/components/Thread/ThreadHead.js +21 -0
  298. package/dist/components/Thread/ThreadHeader.d.ts +12 -0
  299. package/dist/components/Thread/ThreadHeader.d.ts.map +1 -0
  300. package/dist/components/Thread/ThreadHeader.js +21 -0
  301. package/dist/components/Thread/ThreadStart.d.ts +2 -0
  302. package/dist/components/Thread/ThreadStart.d.ts.map +1 -0
  303. package/dist/components/Thread/ThreadStart.js +10 -0
  304. package/dist/components/Thread/icons.d.ts +4 -0
  305. package/dist/components/Thread/icons.d.ts.map +1 -0
  306. package/dist/components/Thread/icons.js +9 -0
  307. package/dist/components/Thread/index.d.ts +2 -0
  308. package/dist/components/Thread/index.d.ts.map +1 -1
  309. package/dist/components/Thread/index.js +2 -0
  310. package/dist/components/Tooltip/Tooltip.d.ts +14 -2
  311. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  312. package/dist/components/Tooltip/Tooltip.js +22 -3
  313. package/dist/components/Tooltip/hooks/index.d.ts +2 -0
  314. package/dist/components/Tooltip/hooks/index.d.ts.map +1 -0
  315. package/dist/components/Tooltip/hooks/index.js +1 -0
  316. package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts +7 -0
  317. package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts.map +1 -0
  318. package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.js +14 -0
  319. package/dist/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  320. package/dist/components/TypingIndicator/TypingIndicator.js +52 -9
  321. package/dist/components/UserItem/UserItem.d.ts +1 -1
  322. package/dist/components/UserItem/UserItem.d.ts.map +1 -1
  323. package/dist/components/UserItem/UserItem.js +15 -8
  324. package/dist/components/Window/Window.js +1 -1
  325. package/dist/constants/limits.d.ts +4 -0
  326. package/dist/constants/limits.d.ts.map +1 -0
  327. package/dist/constants/limits.js +3 -0
  328. package/dist/context/ChannelActionContext.d.ts +1 -1
  329. package/dist/context/ChannelActionContext.d.ts.map +1 -1
  330. package/dist/context/ChannelActionContext.js +1 -1
  331. package/dist/context/ChannelStateContext.d.ts +3 -2
  332. package/dist/context/ChannelStateContext.d.ts.map +1 -1
  333. package/dist/context/ChannelStateContext.js +1 -1
  334. package/dist/context/ChatContext.d.ts +5 -4
  335. package/dist/context/ChatContext.d.ts.map +1 -1
  336. package/dist/context/ChatContext.js +2 -2
  337. package/dist/context/ComponentContext.d.ts +6 -2
  338. package/dist/context/ComponentContext.d.ts.map +1 -1
  339. package/dist/context/ComponentContext.js +1 -1
  340. package/dist/context/EmojiContext.d.ts +1 -1
  341. package/dist/context/EmojiContext.d.ts.map +1 -1
  342. package/dist/context/EmojiContext.js +1 -1
  343. package/dist/context/MessageContext.d.ts +1 -1
  344. package/dist/context/MessageContext.d.ts.map +1 -1
  345. package/dist/context/MessageContext.js +1 -1
  346. package/dist/context/MessageInputContext.d.ts +1 -1
  347. package/dist/context/MessageInputContext.d.ts.map +1 -1
  348. package/dist/context/MessageInputContext.js +1 -1
  349. package/dist/context/TranslationContext.d.ts +2 -2
  350. package/dist/context/TranslationContext.d.ts.map +1 -1
  351. package/dist/context/TranslationContext.js +8 -4
  352. package/dist/context/TypingContext.d.ts +1 -1
  353. package/dist/context/TypingContext.d.ts.map +1 -1
  354. package/dist/context/TypingContext.js +1 -1
  355. package/dist/css/index.css +1 -1
  356. package/dist/css/index.css.map +1 -0
  357. package/dist/css/v2/index.css +1 -0
  358. package/dist/css/v2/index.css.map +1 -0
  359. package/dist/css/v2/index.layout.css +1 -0
  360. package/dist/css/v2/index.layout.css.map +1 -0
  361. package/dist/i18n/Streami18n.d.ts +8 -2
  362. package/dist/i18n/Streami18n.d.ts.map +1 -1
  363. package/dist/i18n/Streami18n.js +12 -12
  364. package/dist/i18n/de.json +8 -2
  365. package/dist/i18n/en.json +8 -2
  366. package/dist/i18n/es.json +9 -2
  367. package/dist/i18n/fr.json +9 -2
  368. package/dist/i18n/hi.json +8 -2
  369. package/dist/i18n/it.json +9 -2
  370. package/dist/i18n/ja.json +8 -2
  371. package/dist/i18n/ko.json +8 -2
  372. package/dist/i18n/nl.json +8 -2
  373. package/dist/i18n/pt.json +9 -2
  374. package/dist/i18n/ru.json +10 -2
  375. package/dist/i18n/tr.json +8 -2
  376. package/dist/index.cjs.js +8396 -3951
  377. package/dist/index.cjs.js.map +1 -1
  378. package/dist/scss/Attachment.scss +52 -22
  379. package/dist/scss/Audio.scss +1 -1
  380. package/dist/scss/Avatar.scss +1 -1
  381. package/dist/scss/ChannelList.scss +5 -1
  382. package/dist/scss/ChannelPreview.scss +25 -0
  383. package/dist/scss/ChannelSearch.scss +5 -3
  384. package/dist/scss/Gallery.scss +0 -26
  385. package/dist/scss/ImageCarousel.scss +45 -0
  386. package/dist/scss/LoadingChannels.scss +1 -1
  387. package/dist/scss/Message.scss +21 -51
  388. package/dist/scss/MessageActions.scss +15 -0
  389. package/dist/scss/MessageCommerce.scss +57 -13
  390. package/dist/scss/MessageInput.scss +1 -0
  391. package/dist/scss/MessageInputFlat.scss +21 -9
  392. package/dist/scss/MessageList.scss +35 -3
  393. package/dist/scss/MessageLivestream.scss +23 -10
  394. package/dist/scss/MessageNotification.scss +7 -1
  395. package/dist/scss/MessageTeam.scss +37 -10
  396. package/dist/scss/Modal.scss +2 -0
  397. package/dist/scss/ReactionList.scss +14 -0
  398. package/dist/scss/ReactionSelector.scss +6 -0
  399. package/dist/scss/SendButton.scss +6 -0
  400. package/dist/scss/SmallMessageInput.scss +0 -1
  401. package/dist/scss/Thread.scss +21 -2
  402. package/dist/scss/Tooltip.scss +6 -3
  403. package/dist/scss/TypingIndicator.scss +5 -0
  404. package/dist/scss/_base.scss +26 -0
  405. package/dist/scss/_variables.scss +2 -1
  406. package/dist/scss/index.scss +5 -4
  407. package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +392 -0
  408. package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +400 -0
  409. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-layout.scss +118 -0
  410. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-theme.scss +150 -0
  411. package/dist/scss/v2/Autocomplete/Autocomplete-layout.scss +62 -0
  412. package/dist/scss/v2/Autocomplete/Autocomplete-theme.scss +207 -0
  413. package/dist/scss/v2/Avatar/Avatar-layout.scss +13 -0
  414. package/dist/scss/v2/Avatar/Avatar-theme.scss +42 -0
  415. package/dist/scss/v2/Channel/Channel-layout.scss +139 -0
  416. package/dist/scss/v2/Channel/Channel-theme.scss +99 -0
  417. package/dist/scss/v2/ChannelHeader/ChannelHeader-layout.scss +23 -0
  418. package/dist/scss/v2/ChannelHeader/ChannelHeader-theme.scss +43 -0
  419. package/dist/scss/v2/ChannelList/ChannelList-layout.scss +41 -0
  420. package/dist/scss/v2/ChannelList/ChannelList-theme.scss +87 -0
  421. package/dist/scss/v2/ChannelPreview/ChannelPreview-layout.scss +82 -0
  422. package/dist/scss/v2/ChannelPreview/ChannelPreview-theme.scss +108 -0
  423. package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +71 -0
  424. package/dist/scss/v2/ChannelSearch/ChannelSearch-theme.scss +190 -0
  425. package/dist/scss/v2/EditMessageForm/EditMessageForm-layout.scss +53 -0
  426. package/dist/scss/v2/EditMessageForm/EditMessageForm-theme.scss +50 -0
  427. package/dist/scss/v2/ImageCarousel/ImageCarousel-layout.scss +41 -0
  428. package/dist/scss/v2/ImageCarousel/ImageCarousel-theme.scss +15 -0
  429. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-layout.scss +39 -0
  430. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-theme.scss +12 -0
  431. package/dist/scss/v2/Message/Message-layout.scss +362 -0
  432. package/dist/scss/v2/Message/Message-theme.scss +353 -0
  433. package/dist/scss/v2/MessageActionsBox/MessageActionsBox-layout.scss +48 -0
  434. package/dist/scss/v2/MessageActionsBox/MessageActionsBox-theme.scss +69 -0
  435. package/dist/scss/v2/MessageInput/MessageInput-layout.scss +186 -0
  436. package/dist/scss/v2/MessageInput/MessageInput-theme.scss +221 -0
  437. package/dist/scss/v2/MessageList/MessageList-layout.scss +61 -0
  438. package/dist/scss/v2/MessageList/MessageList-theme.scss +105 -0
  439. package/dist/scss/v2/MessageList/VirtualizedMessageList-layout.scss +44 -0
  440. package/dist/scss/v2/MessageList/VirtualizedMessageList-theme.scss +32 -0
  441. package/dist/scss/v2/MessageReactions/MessageReactions-layout.scss +55 -0
  442. package/dist/scss/v2/MessageReactions/MessageReactions-theme.scss +75 -0
  443. package/dist/scss/v2/MessageReactions/MessageReactionsSelector-layout.scss +52 -0
  444. package/dist/scss/v2/MessageReactions/MessageReactionsSelector-theme.scss +83 -0
  445. package/dist/scss/v2/Modal/Modal-layout.scss +40 -0
  446. package/dist/scss/v2/Modal/Modal-theme.scss +82 -0
  447. package/dist/scss/v2/Notification/MessageNotification-layout.scss +12 -0
  448. package/dist/scss/v2/Notification/MessageNotification-theme.scss +34 -0
  449. package/dist/scss/v2/Notification/Notification-layout.scss +3 -0
  450. package/dist/scss/v2/Notification/Notification-theme.scss +32 -0
  451. package/dist/scss/v2/Notification/NotificationList-layout.scss +11 -0
  452. package/dist/scss/v2/Notification/NotificationList-theme.scss +31 -0
  453. package/dist/scss/v2/Thread/Thread-layout.scss +47 -0
  454. package/dist/scss/v2/Thread/Thread-theme.scss +82 -0
  455. package/dist/scss/v2/Tooltip/Tooltip-layout.scss +9 -0
  456. package/dist/scss/v2/Tooltip/Tooltip-theme.scss +36 -0
  457. package/dist/scss/v2/TypingIndicator/TypingIndicator-layout.scss +27 -0
  458. package/dist/scss/v2/TypingIndicator/TypingIndicator-theme.scss +68 -0
  459. package/dist/scss/v2/_base.scss +29 -0
  460. package/dist/scss/v2/_global-layout-variables.scss +65 -0
  461. package/dist/scss/v2/_global-theme-variables.scss +166 -0
  462. package/dist/scss/v2/_palette-variables.scss +55 -0
  463. package/dist/scss/v2/_utils.scss +188 -0
  464. package/dist/scss/v2/common/CTAButton/CTAButton-layout.scss +4 -0
  465. package/dist/scss/v2/common/CTAButton/CTAButton-theme.scss +42 -0
  466. package/dist/scss/v2/common/CircleFAButton/CircleFAButton-layout.scss +14 -0
  467. package/dist/scss/v2/common/CircleFAButton/CircleFAButton-theme.scss +35 -0
  468. package/dist/scss/v2/index.layout.scss +31 -0
  469. package/dist/scss/v2/index.scss +36 -0
  470. package/dist/scss/{vendor → v2/vendor}/emoji-mart.scss +27 -8
  471. package/dist/stories/add-message.stories.d.ts +0 -1
  472. package/dist/stories/add-message.stories.d.ts.map +1 -1
  473. package/dist/stories/add-message.stories.js +0 -1
  474. package/dist/stories/edit-message.stories.d.ts +0 -1
  475. package/dist/stories/edit-message.stories.d.ts.map +1 -1
  476. package/dist/stories/edit-message.stories.js +0 -1
  477. package/dist/stories/hello.stories.d.ts +0 -1
  478. package/dist/stories/hello.stories.d.ts.map +1 -1
  479. package/dist/stories/hello.stories.js +0 -1
  480. package/dist/stories/jump-to-message.stories.d.ts +0 -1
  481. package/dist/stories/jump-to-message.stories.d.ts.map +1 -1
  482. package/dist/stories/jump-to-message.stories.js +0 -1
  483. package/dist/stories/mark-read.stories.d.ts +0 -1
  484. package/dist/stories/mark-read.stories.d.ts.map +1 -1
  485. package/dist/stories/mark-read.stories.js +0 -1
  486. package/dist/stories/message-status-readby-tooltip.stories.d.ts +0 -1
  487. package/dist/stories/message-status-readby-tooltip.stories.d.ts.map +1 -1
  488. package/dist/stories/message-status-readby-tooltip.stories.js +0 -1
  489. package/dist/stories/navigate-long-message-lists.stories.d.ts +0 -2
  490. package/dist/stories/navigate-long-message-lists.stories.d.ts.map +1 -1
  491. package/dist/stories/navigate-long-message-lists.stories.js +1 -11
  492. package/dist/stories/toggle-message-actions.stories.d.ts +0 -1
  493. package/dist/stories/toggle-message-actions.stories.d.ts.map +1 -1
  494. package/dist/stories/toggle-message-actions.stories.js +0 -1
  495. package/dist/stories/utils.d.ts.map +1 -1
  496. package/dist/stories/utils.js +2 -1
  497. package/dist/types/types.d.ts +7 -0
  498. package/dist/types/types.d.ts.map +1 -1
  499. package/dist/utils.d.ts +2 -2
  500. package/dist/utils.d.ts.map +1 -1
  501. package/dist/utils.js +4 -4
  502. package/dist/version.d.ts +1 -1
  503. package/dist/version.d.ts.map +1 -1
  504. package/dist/version.js +1 -1
  505. package/package.json +14 -12
  506. package/dist/components/Gallery/ModalWrapper.d.ts +0 -14
  507. package/dist/components/Gallery/ModalWrapper.d.ts.map +0 -1
  508. package/dist/components/Gallery/ModalWrapper.js +0 -8
  509. package/dist/components/Message/MessageCommerce.d.ts +0 -10
  510. package/dist/components/Message/MessageCommerce.d.ts.map +0 -1
  511. package/dist/components/Message/MessageCommerce.js +0 -64
  512. package/dist/components/Message/MessageLivestream.d.ts +0 -16
  513. package/dist/components/Message/MessageLivestream.d.ts.map +0 -1
  514. package/dist/components/Message/MessageLivestream.js +0 -164
  515. package/dist/components/Message/MessageTeam.d.ts +0 -11
  516. package/dist/components/Message/MessageTeam.d.ts.map +0 -1
  517. package/dist/components/Message/MessageTeam.js +0 -110
  518. package/dist/components/Message/hooks/useBreakpoint.d.ts +0 -6
  519. package/dist/components/Message/hooks/useBreakpoint.d.ts.map +0 -1
  520. package/dist/components/Message/hooks/useBreakpoint.js +0 -18
  521. package/dist/components/Message/hooks/useMobilePress.d.ts +0 -5
  522. package/dist/components/Message/hooks/useMobilePress.d.ts.map +0 -1
  523. package/dist/components/Message/hooks/useMobilePress.js +0 -33
  524. package/dist/scss/vendor/mml-react.scss +0 -1749
  525. package/dist/scss/vendor/react-file-utils.scss +0 -378
  526. package/dist/scss/vendor/react-image-gallery.scss +0 -224
@@ -1,5 +1,28 @@
1
- import React from 'react';
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React, { useId } from 'react';
2
24
  import { useTranslationContext } from '../../context/TranslationContext';
25
+ import { useChatContext } from '../../context/ChatContext';
3
26
  export var EmojiIconLarge = function () {
4
27
  var t = useTranslationContext('EmojiIconLarge').t;
5
28
  return (React.createElement("svg", { height: '28', width: '28', xmlns: 'http://www.w3.org/2000/svg' },
@@ -14,6 +37,10 @@ export var EmojiIconSmall = function () {
14
37
  React.createElement("g", { clipRule: 'evenodd', fillRule: 'evenodd' },
15
38
  React.createElement("path", { d: 'M6.7 1.42C3.73 1.42 1.42 3.73 1.42 6.7c0 2.97 2.31 5.28 5.28 5.28c2.97 0 5.28-2.31 5.28-5.28c0-2.97-2.31-5.28-5.28-5.28zM.1 6.7c0-3.63 2.97-6.6 6.6-6.6s6.6 2.97 6.6 6.6s-2.97 6.6-6.6 6.6s-6.6-2.97-6.6-6.6zM6.04 5.05c0 .55-.44.99-.99.99s-.99-.44-.99-.99s.44-.99.99-.99s.99.44.99.99zM9.34 5.05c0 .55-.44.99-.99.99s-.99-.44-.99-.99s.44-.99.99-.99s.99.44.99.99zM3.73 7.47c.33-.22.66-.11.88.11c.33.44.88.99 1.65 1.1c.66.22 1.54.11 2.64-1.1c.22-.22.66-.33.88 0c.22.22.33.66 0 .88c-1.21 1.43-2.64 1.87-3.85 1.65c-1.1-.22-1.98-.99-2.42-1.65c-.22-.33-.11-.66.22-.99z' }))));
16
39
  };
40
+ // ThemingV2 icon
41
+ export var EmojiPickerIcon = function () { return (React.createElement("svg", { preserveAspectRatio: 'xMinYMin', viewBox: '0 0 28 28', width: '100%', xmlns: 'http://www.w3.org/2000/svg' },
42
+ React.createElement("g", { clipRule: 'evenodd', fillRule: 'evenodd' },
43
+ React.createElement("path", { d: 'M14 4.4C8.6 4.4 4.4 8.6 4.4 14c0 5.4 4.2 9.6 9.6 9.6c5.4 0 9.6-4.2 9.6-9.6c0-5.4-4.2-9.6-9.6-9.6zM2 14c0-6.6 5.4-12 12-12s12 5.4 12 12s-5.4 12-12 12s-12-5.4-12-12zM12.8 11c0 1-.8 1.8-1.8 1.8s-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8s1.8.8 1.8 1.8zM18.8 11c0 1-.8 1.8-1.8 1.8s-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8s1.8.8 1.8 1.8zM8.6 15.4c.6-.4 1.2-.2 1.6.2c.6.8 1.6 1.8 3 2c1.2.4 2.8.2 4.8-2c.4-.4 1.2-.6 1.6 0c.4.4.6 1.2 0 1.6c-2.2 2.6-4.8 3.4-7 3c-2-.4-3.6-1.8-4.4-3c-.4-.6-.2-1.2.4-1.8z' })))); };
17
44
  export var FileUploadIcon = function () {
18
45
  var t = useTranslationContext('FileUploadIcon').t;
19
46
  return (React.createElement("svg", { height: '14', width: '14', xmlns: 'http://www.w3.org/2000/svg' },
@@ -26,11 +53,44 @@ export var FileUploadIconFlat = function () {
26
53
  React.createElement("title", null, t('Attach files')),
27
54
  React.createElement("path", { d: 'M1.667.333h10.666c.737 0 1.334.597 1.334 1.334v10.666c0 .737-.597 1.334-1.334 1.334H1.667a1.333 1.333 0 0 1-1.334-1.334V1.667C.333.93.93.333 1.667.333zm2 1.334a1.667 1.667 0 1 0 0 3.333 1.667 1.667 0 0 0 0-3.333zm-2 9.333v1.333h10.666v-4l-2-2-4 4-2-2L1.667 11z', fillRule: 'nonzero' })));
28
55
  };
29
- export var SendButton = function (_a) {
30
- var sendMessage = _a.sendMessage;
56
+ export var LoadingIndicatorIcon = function (_a) {
57
+ var _b = _a.size, size = _b === void 0 ? 20 : _b;
58
+ var id = useId();
59
+ return (React.createElement("div", { className: 'str-chat__loading-indicator' },
60
+ React.createElement("svg", { "data-testid": 'loading-indicator', height: size, viewBox: '0 0 30 30', width: size, xmlns: 'http://www.w3.org/2000/svg' },
61
+ React.createElement("defs", null,
62
+ React.createElement("linearGradient", { id: "".concat(id, "-linear-gradient"), x1: '50%', x2: '50%', y1: '0%', y2: '100%' },
63
+ React.createElement("stop", { offset: '0%', stopColor: '#FFF', stopOpacity: '0' }),
64
+ React.createElement("stop", { "data-testid": 'stop-color', offset: '100%', stopOpacity: '1' }))),
65
+ React.createElement("path", { d: 'M2.518 23.321l1.664-1.11A12.988 12.988 0 0 0 15 28c7.18 0 13-5.82 13-13S22.18 2 15 2V0c8.284 0 15 6.716 15 15 0 8.284-6.716 15-15 15-5.206 0-9.792-2.652-12.482-6.679z', fill: "url(#".concat(id, "-linear-gradient)"), fillRule: 'evenodd' }))));
66
+ };
67
+ // ThemingV2 icon
68
+ export var UploadIcon = function () { return (React.createElement("svg", { "data-testid": 'attach', fill: 'none', height: '24', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
69
+ React.createElement("g", { clipPath: 'url(#clip0_10878_5)' },
70
+ React.createElement("path", { d: 'M12.9997 6.99993L10.9997 6.99993L10.9997 10.9999L6.99972 10.9999L6.99972 12.9999L10.9997 12.9999L10.9997 16.9999L12.9997 16.9999L12.9997 12.9999L16.9997 12.9999L16.9997 10.9999L12.9997 10.9999L12.9997 6.99993ZM11.9997 1.99992C6.47972 1.99992 1.99972 6.47993 1.99972 11.9999C1.99972 17.5199 6.47972 21.9999 11.9997 21.9999C17.5197 21.9999 21.9997 17.5199 21.9997 11.9999C21.9997 6.47993 17.5197 1.99992 11.9997 1.99992ZM11.9997 19.9999C7.58972 19.9999 3.99972 16.4099 3.99972 11.9999C3.99972 7.58993 7.58972 3.99993 11.9997 3.99993C16.4097 3.99993 19.9997 7.58993 19.9997 11.9999C19.9997 16.4099 16.4097 19.9999 11.9997 19.9999Z', fill: 'black' })),
71
+ React.createElement("defs", null,
72
+ React.createElement("clipPath", { id: 'clip0_10878_5' },
73
+ React.createElement("rect", { fill: 'white', height: '24', width: '24' }))))); };
74
+ export var CloseIcon = function () { return (React.createElement("svg", { "data-testid": 'close-no-outline', fill: 'none', height: '24', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
75
+ React.createElement("path", { d: 'M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z', fill: 'black' }))); };
76
+ export var RetryIcon = function () { return (React.createElement("svg", { "data-testid": 'retry', fill: 'none', height: '24', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
77
+ React.createElement("path", { d: 'M17.6449 6.35C16.1949 4.9 14.2049 4 11.9949 4C7.57488 4 4.00488 7.58 4.00488 12C4.00488 16.42 7.57488 20 11.9949 20C15.7249 20 18.8349 17.45 19.7249 14H17.6449C16.8249 16.33 14.6049 18 11.9949 18C8.68488 18 5.99488 15.31 5.99488 12C5.99488 8.69 8.68488 6 11.9949 6C13.6549 6 15.1349 6.69 16.2149 7.78L12.9949 11H19.9949V4L17.6449 6.35Z', fill: 'black' }))); };
78
+ export var DownloadIcon = function () { return (React.createElement("svg", { "data-testid": 'download', fill: 'none', height: '24', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
79
+ React.createElement("path", { d: 'M19.35 10.04C18.67 6.59 15.64 4 12 4C9.11 4 6.6 5.64 5.35 8.04C2.34 8.36 0 10.91 0 14C0 17.31 2.69 20 6 20H19C21.76 20 24 17.76 24 15C24 12.36 21.95 10.22 19.35 10.04ZM19 18H6C3.79 18 2 16.21 2 14C2 11.95 3.53 10.24 5.56 10.03L6.63 9.92L7.13 8.97C8.08 7.14 9.94 6 12 6C14.62 6 16.88 7.86 17.39 10.43L17.69 11.93L19.22 12.04C20.78 12.14 22 13.45 22 15C22 16.65 20.65 18 19 18ZM13.45 10H10.55V13H8L12 17L16 13H13.45V10Z', fill: 'black' }))); };
80
+ export var SendIconV1 = function () {
31
81
  var t = useTranslationContext('SendButton').t;
32
- return (React.createElement("button", { "aria-label": 'Send', className: 'str-chat__send-button', onClick: sendMessage },
33
- React.createElement("svg", { height: '17', viewBox: '0 0 18 17', width: '18', xmlns: 'http://www.w3.org/2000/svg' },
34
- React.createElement("title", null, t('Send')),
35
- React.createElement("path", { d: 'M0 17.015l17.333-8.508L0 0v6.617l12.417 1.89L0 10.397z', fill: '#006cff', fillRule: 'evenodd' }))));
82
+ return (React.createElement("svg", { height: '17', viewBox: '0 0 18 17', width: '18', xmlns: 'http://www.w3.org/2000/svg' },
83
+ React.createElement("title", null, t('Send')),
84
+ React.createElement("path", { d: 'M0 17.015l17.333-8.508L0 0v6.617l12.417 1.89L0 10.397z', fill: '#006cff', fillRule: 'evenodd' })));
85
+ };
86
+ export var SendIconV2 = function () {
87
+ var t = useTranslationContext('SendButton').t;
88
+ return (React.createElement("svg", { "data-testid": 'send', fill: 'none', height: '24', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
89
+ React.createElement("title", null, t('Send')),
90
+ React.createElement("path", { d: 'M4.00952 22L24 12L4.00952 2L4 9.77778L18.2857 12L4 14.2222L4.00952 22Z', fill: 'black' })));
91
+ };
92
+ export var SendButton = function (_a) {
93
+ var sendMessage = _a.sendMessage, rest = __rest(_a, ["sendMessage"]);
94
+ var themeVersion = useChatContext('SendButton').themeVersion;
95
+ return (React.createElement("button", __assign({ "aria-label": 'Send', className: 'str-chat__send-button', "data-testid": 'send-button', onClick: sendMessage, type: 'button' }, rest), themeVersion === '2' ? React.createElement(SendIconV2, null) : React.createElement(SendIconV1, null)));
36
96
  };
@@ -3,6 +3,6 @@ var UnMemoizedCustomNotification = function (props) {
3
3
  var active = props.active, children = props.children, type = props.type;
4
4
  if (!active)
5
5
  return null;
6
- return (React.createElement("div", { "aria-live": 'polite', className: "str-chat__custom-notification notification-" + type, "data-testid": 'custom-notification' }, children));
6
+ return (React.createElement("div", { "aria-live": 'polite', className: "str-chat__custom-notification notification-".concat(type, " str-chat__notification"), "data-testid": 'custom-notification' }, children));
7
7
  };
8
8
  export var CustomNotification = React.memo(UnMemoizedCustomNotification);
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { ChannelActionContextValue } from '../../context/ChannelActionContext';
2
3
  import { InfiniteScrollProps } from '../InfiniteScrollPaginator/InfiniteScroll';
3
4
  import type { GroupStyle } from './utils';
@@ -12,6 +13,8 @@ export declare type MessageListProps<StreamChatGenerics extends DefaultStreamCha
12
13
  groupStyles?: (message: StreamMessage<StreamChatGenerics>, previousMessage: StreamMessage<StreamChatGenerics>, nextMessage: StreamMessage<StreamChatGenerics>, noGroupByUser: boolean) => GroupStyle;
13
14
  /** Whether or not the list has more items to load */
14
15
  hasMore?: boolean;
16
+ /** Element to be rendered at the top of the thread message list. By default, these are the Message and ThreadStart components */
17
+ head?: React.ReactElement;
15
18
  /** Position to render HeaderComponent */
16
19
  headerPosition?: number;
17
20
  /** Hides the MessageDeleted components from the list, defaults to `false` */
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAKhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA6LnE,aAAK,qBAAqB,GACtB,6BAA6B,GAC7B,8BAA8B,GAC9B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,GACZ,mCAAmC,GACnC,iCAAiC,GACjC,mCAAmC,GACnC,8BAA8B,GAC9B,gCAAgC,GAChC,gCAAgC,GAChC,SAAS,GACT,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,YAAY,CAAC;AAEjB,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,GAAG;IAC3E,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAClD,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC9C,aAAa,EAAE,OAAO,KACnB,UAAU,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qIAAqI;IACrI,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mLAAmL;IACnL,2BAA2B,CAAC,EAAE,mBAAmB,CAAC;IAClD,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4LAA4L;IAC5L,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,6LAA6L;IAC7L,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yKAAyK;IACzK,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6GAA6G;IAC7G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gJA2BvB,CAAC"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EACL,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAMhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAuMnE,aAAK,qBAAqB,GACtB,6BAA6B,GAC7B,8BAA8B,GAC9B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,GACZ,mCAAmC,GACnC,iCAAiC,GACjC,mCAAmC,GACnC,8BAA8B,GAC9B,gCAAgC,GAChC,gCAAgC,GAChC,SAAS,GACT,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,YAAY,CAAC;AAEjB,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,GAAG;IAC3E,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAClD,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC9C,aAAa,EAAE,OAAO,KACnB,UAAU,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iIAAiI;IACjI,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qIAAqI;IACrI,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mLAAmL;IACnL,2BAA2B,CAAC,EAAE,mBAAmB,CAAC;IAClD,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4LAA4L;IAC5L,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,6LAA6L;IAC7L,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yKAAyK;IACzK,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6GAA6G;IAC7G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gJA2BvB,CAAC"}
@@ -71,6 +71,7 @@ import { InfiniteScroll } from '../InfiniteScrollPaginator/InfiniteScroll';
71
71
  import { LoadingIndicator as DefaultLoadingIndicator } from '../Loading';
72
72
  import { defaultPinPermissions, MESSAGE_ACTIONS } from '../Message/utils';
73
73
  import { TypingIndicator as DefaultTypingIndicator } from '../TypingIndicator';
74
+ import { MessageListMainPanel } from './MessageListMainPanel';
74
75
  var MessageListWithContext = function (props) {
75
76
  var channel = props.channel, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? false : _a, groupStyles = props.groupStyles, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, _d = props.messageActions, messageActions = _d === void 0 ? Object.keys(MESSAGE_ACTIONS) : _d, _e = props.messages, messages = _e === void 0 ? [] : _e, notifications = props.notifications, _f = props.noGroupByUser, noGroupByUser = _f === void 0 ? false : _f, _g = props.pinPermissions, pinPermissions = _g === void 0 ? defaultPinPermissions : _g, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
76
77
  _h = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
@@ -78,16 +79,15 @@ var MessageListWithContext = function (props) {
78
79
  var _p = React.useState(null), listElement = _p[0], setListElement = _p[1];
79
80
  var _q = React.useState(null), ulElement = _q[0], setUlElement = _q[1];
80
81
  var customClasses = useChatContext('MessageList').customClasses;
81
- var _r = useComponentContext('MessageList'), _s = _r.EmptyStateIndicator, EmptyStateIndicator = _s === void 0 ? DefaultEmptyStateIndicator : _s, _t = _r.MessageListNotifications, MessageListNotifications = _t === void 0 ? DefaultMessageListNotifications : _t, _u = _r.MessageNotification, MessageNotification = _u === void 0 ? DefaultMessageNotification : _u, _v = _r.TypingIndicator, TypingIndicator = _v === void 0 ? DefaultTypingIndicator : _v;
82
- var _w = useScrollLocationLogic({
82
+ var _r = useComponentContext('MessageList'), _s = _r.EmptyStateIndicator, EmptyStateIndicator = _s === void 0 ? DefaultEmptyStateIndicator : _s, _t = _r.LoadingIndicator, LoadingIndicator = _t === void 0 ? DefaultLoadingIndicator : _t, _u = _r.MessageListNotifications, MessageListNotifications = _u === void 0 ? DefaultMessageListNotifications : _u, _v = _r.MessageNotification, MessageNotification = _v === void 0 ? DefaultMessageNotification : _v, _w = _r.TypingIndicator, TypingIndicator = _w === void 0 ? DefaultTypingIndicator : _w;
83
+ var _x = useScrollLocationLogic({
83
84
  hasMoreNewer: hasMoreNewer,
84
85
  listElement: listElement,
85
86
  messages: messages,
86
87
  scrolledUpThreshold: props.scrolledUpThreshold,
87
88
  suppressAutoscroll: suppressAutoscroll,
88
- ulElement: ulElement,
89
- }), hasNewMessages = _w.hasNewMessages, onMessageLoadCaptured = _w.onMessageLoadCaptured, onScroll = _w.onScroll, scrollToBottom = _w.scrollToBottom, wrapperRect = _w.wrapperRect;
90
- var _x = useEnrichedMessages({
89
+ }), hasNewMessages = _x.hasNewMessages, isMessageListScrolledToBottom = _x.isMessageListScrolledToBottom, onMessageLoadCaptured = _x.onMessageLoadCaptured, onScroll = _x.onScroll, scrollToBottom = _x.scrollToBottom, wrapperRect = _x.wrapperRect;
90
+ var _y = useEnrichedMessages({
91
91
  channel: channel,
92
92
  disableDateSeparator: disableDateSeparator,
93
93
  groupStyles: groupStyles,
@@ -96,7 +96,7 @@ var MessageListWithContext = function (props) {
96
96
  hideNewMessageSeparator: hideNewMessageSeparator,
97
97
  messages: messages,
98
98
  noGroupByUser: noGroupByUser,
99
- }), messageGroupStyles = _x.messageGroupStyles, enrichedMessages = _x.messages;
99
+ }), messageGroupStyles = _y.messageGroupStyles, enrichedMessages = _y.messages;
100
100
  var elements = useMessageListElements({
101
101
  enrichedMessages: enrichedMessages,
102
102
  internalMessageProps: {
@@ -131,9 +131,10 @@ var MessageListWithContext = function (props) {
131
131
  returnAllReadData: returnAllReadData,
132
132
  threadList: threadList,
133
133
  });
134
- var _y = useComponentContext('useInternalInfiniteScrollProps').LoadingIndicator, LoadingIndicator = _y === void 0 ? DefaultLoadingIndicator : _y;
135
134
  var messageListClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.messageList) || 'str-chat__list';
136
- var threadListClass = threadList ? (customClasses === null || customClasses === void 0 ? void 0 : customClasses.threadList) || 'str-chat__list--thread' : '';
135
+ var threadListClass = threadList
136
+ ? (customClasses === null || customClasses === void 0 ? void 0 : customClasses.threadList) || 'str-chat__list--thread str-chat__thread-list'
137
+ : '';
137
138
  var loadMore = React.useCallback(function () {
138
139
  if (loadMoreCallback) {
139
140
  loadMoreCallback(messageLimit);
@@ -162,16 +163,18 @@ var MessageListWithContext = function (props) {
162
163
  }); }, [scrollToBottom, hasMoreNewer]);
163
164
  React.useLayoutEffect(function () {
164
165
  if (highlightedMessageId) {
165
- var element = ulElement === null || ulElement === void 0 ? void 0 : ulElement.querySelector("[data-message-id='" + highlightedMessageId + "']");
166
+ var element = ulElement === null || ulElement === void 0 ? void 0 : ulElement.querySelector("[data-message-id='".concat(highlightedMessageId, "']"));
166
167
  element === null || element === void 0 ? void 0 : element.scrollIntoView({ block: 'center' });
167
168
  }
168
169
  }, [highlightedMessageId]);
170
+ var showEmptyStateIndicator = elements.length === 0 && !threadList;
169
171
  return (React.createElement(React.Fragment, null,
170
- React.createElement("div", { className: messageListClass + " " + threadListClass, onScroll: onScroll, ref: setListElement, tabIndex: 0 }, !elements.length ? (React.createElement(EmptyStateIndicator, { listType: 'message' })) : (React.createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll', "data-testid": 'reverse-infinite-scroll', hasMore: props.hasMore, hasMoreNewer: props.hasMoreNewer, isLoading: props.loadingMore, loader: React.createElement("div", { className: 'str-chat__list__loading', key: 'loadingindicator' }, props.loadingMore && React.createElement(LoadingIndicator, { size: 20 })), loadMore: loadMore, loadMoreNewer: loadMoreNewer }, props.internalInfiniteScrollProps),
171
- React.createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
172
- React.createElement(TypingIndicator, { threadList: threadList }),
173
- React.createElement("div", { key: 'bottom' })))),
174
- React.createElement(MessageListNotifications, { hasNewMessages: hasNewMessages, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification, notifications: notifications, scrollToBottom: scrollToBottomFromNotification })));
172
+ React.createElement(MessageListMainPanel, null,
173
+ React.createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React.createElement(EmptyStateIndicator, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React.createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasMore: props.hasMore, hasMoreNewer: props.hasMoreNewer, head: props.head, isLoading: props.loadingMore, loader: React.createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React.createElement(LoadingIndicator, { size: 20 })), loadMore: loadMore, loadMoreNewer: loadMoreNewer }, props.internalInfiniteScrollProps),
174
+ React.createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
175
+ React.createElement(TypingIndicator, { threadList: threadList }),
176
+ React.createElement("div", { key: 'bottom' }))))),
177
+ React.createElement(MessageListNotifications, { hasNewMessages: hasNewMessages, isMessageListScrolledToBottom: isMessageListScrolledToBottom, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification, notifications: notifications, scrollToBottom: scrollToBottomFromNotification, threadList: threadList })));
175
178
  };
176
179
  /**
177
180
  * The MessageList component renders a list of Messages.
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildrenOnly } from '../../types/types';
2
+ export declare const MessageListMainPanel: ({ children }: PropsWithChildrenOnly) => JSX.Element;
3
+ //# sourceMappingURL=MessageListMainPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageListMainPanel.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageListMainPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,eAAO,MAAM,oBAAoB,iBAAkB,qBAAqB,gBAMvE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { useChatContext } from '../../context/ChatContext';
3
+ export var MessageListMainPanel = function (_a) {
4
+ var children = _a.children;
5
+ var themeVersion = useChatContext('MessageListMainPanel').themeVersion;
6
+ if (themeVersion === '2')
7
+ return React.createElement("div", { className: 'str-chat__main-panel-inner' }, children);
8
+ return React.createElement(React.Fragment, null, children);
9
+ };
@@ -3,10 +3,12 @@ import type { MessageNotificationProps } from './MessageNotification';
3
3
  import type { ChannelNotifications } from '../../context/ChannelStateContext';
4
4
  export declare type MessageListNotificationsProps = {
5
5
  hasNewMessages: boolean;
6
+ isMessageListScrolledToBottom: boolean;
6
7
  isNotAtLatestMessageSet: boolean;
7
8
  MessageNotification: React.ComponentType<MessageNotificationProps>;
8
9
  notifications: ChannelNotifications;
9
10
  scrollToBottom: () => void;
11
+ threadList?: boolean;
10
12
  };
11
13
  export declare const MessageListNotifications: (props: MessageListNotificationsProps) => JSX.Element;
12
14
  //# sourceMappingURL=MessageListNotifications.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageListNotifications.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageListNotifications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,oBAAY,6BAA6B,GAAG;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IACnE,aAAa,EAAE,oBAAoB,CAAC;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAW,6BAA6B,gBA2B5E,CAAC"}
1
+ {"version":3,"file":"MessageListNotifications.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageListNotifications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,oBAAY,6BAA6B,GAAG;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,6BAA6B,EAAE,OAAO,CAAC;IACvC,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IACnE,aAAa,EAAE,oBAAoB,CAAC;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAW,6BAA6B,gBA+B5E,CAAC"}
@@ -3,10 +3,10 @@ import { ConnectionStatus } from './ConnectionStatus';
3
3
  import { CustomNotification } from './CustomNotification';
4
4
  import { useTranslationContext } from '../../context/TranslationContext';
5
5
  export var MessageListNotifications = function (props) {
6
- var hasNewMessages = props.hasNewMessages, isNotAtLatestMessageSet = props.isNotAtLatestMessageSet, MessageNotification = props.MessageNotification, notifications = props.notifications, scrollToBottom = props.scrollToBottom;
6
+ var hasNewMessages = props.hasNewMessages, isMessageListScrolledToBottom = props.isMessageListScrolledToBottom, isNotAtLatestMessageSet = props.isNotAtLatestMessageSet, MessageNotification = props.MessageNotification, notifications = props.notifications, scrollToBottom = props.scrollToBottom, threadList = props.threadList;
7
7
  var t = useTranslationContext('MessageListNotifications').t;
8
8
  return (React.createElement("div", { className: 'str-chat__list-notifications' },
9
9
  notifications.map(function (notification) { return (React.createElement(CustomNotification, { active: true, key: notification.id, type: notification.type }, notification.text)); }),
10
10
  React.createElement(ConnectionStatus, null),
11
- React.createElement(MessageNotification, { onClick: scrollToBottom, showNotification: hasNewMessages || isNotAtLatestMessageSet }, isNotAtLatestMessageSet ? t('Latest Messages') : t('New Messages!'))));
11
+ React.createElement(MessageNotification, { isMessageListScrolledToBottom: isMessageListScrolledToBottom, onClick: scrollToBottom, showNotification: hasNewMessages || isNotAtLatestMessageSet, threadList: threadList }, isNotAtLatestMessageSet ? t('Latest Messages') : t('New Messages!'))));
12
12
  };
@@ -1,10 +1,13 @@
1
- import React from 'react';
2
- export declare type MessageNotificationProps = {
1
+ import React, { PropsWithChildren } from 'react';
2
+ export declare type MessageNotificationProps = PropsWithChildren<{
3
3
  /** button click event handler */
4
4
  onClick: React.MouseEventHandler;
5
- /** Whether or not to show notification */
6
- showNotification: boolean;
7
- children?: React.ReactNode;
8
- };
5
+ /** signals whether the message list is considered (below a threshold) to be scrolled to the bottom. Prop used only by [ScrollToBottomButton](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageList/ScrollToBottomButton.tsx) */
6
+ isMessageListScrolledToBottom?: boolean;
7
+ /** Whether or not to show notification. Prop used only by [MessageNotification](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageList/MessageNotification.tsx) */
8
+ showNotification?: boolean;
9
+ /** informs the component whether it is rendered inside a thread message list */
10
+ threadList?: boolean;
11
+ }>;
9
12
  export declare const MessageNotification: (props: MessageNotificationProps) => JSX.Element | null;
10
13
  //# sourceMappingURL=MessageNotification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageNotification.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,oBAAY,wBAAwB,GAAG;IACrC,iCAAiC;IACjC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACjC,0CAA0C;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAmBF,eAAO,MAAM,mBAAmB,UAjBc,wBAAwB,uBAmB7B,CAAC"}
1
+ {"version":3,"file":"MessageNotification.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEjD,oBAAY,wBAAwB,GAAG,iBAAiB,CAAC;IACvD,iCAAiC;IACjC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACjC,gQAAgQ;IAChQ,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,mMAAmM;IACnM,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC,CAAC;AAmBH,eAAO,MAAM,mBAAmB,UAjBc,wBAAwB,uBAmB7B,CAAC"}
@@ -3,6 +3,6 @@ var UnMemoizedMessageNotification = function (props) {
3
3
  var children = props.children, onClick = props.onClick, _a = props.showNotification, showNotification = _a === void 0 ? true : _a;
4
4
  if (!showNotification)
5
5
  return null;
6
- return (React.createElement("button", { "aria-live": 'polite', className: 'str-chat__message-notification', "data-testid": 'message-notification', onClick: onClick }, children));
6
+ return (React.createElement("button", { "aria-live": 'polite', className: "str-chat__message-notification", "data-testid": 'message-notification', onClick: onClick }, children));
7
7
  };
8
8
  export var MessageNotification = React.memo(UnMemoizedMessageNotification);
@@ -0,0 +1,3 @@
1
+ import type { MessageNotificationProps } from './MessageNotification';
2
+ export declare const ScrollToBottomButton: (props: Pick<MessageNotificationProps, 'isMessageListScrolledToBottom' | 'onClick' | 'threadList'>) => JSX.Element | null;
3
+ //# sourceMappingURL=ScrollToBottomButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToBottomButton.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/ScrollToBottomButton.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAsFtE,eAAO,MAAM,oBAAoB,UAnFxB,KAAK,wBAAwB,EAAE,+BAA+B,GAAG,SAAS,GAAG,YAAY,CAAC,uBAqFzD,CAAC"}
@@ -0,0 +1,53 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import clsx from 'clsx';
3
+ import { ArrowDown } from './icons';
4
+ import { useChannelStateContext, useChatContext } from '../../context';
5
+ var UnMemoizedScrollToBottomButton = function (props) {
6
+ var isMessageListScrolledToBottom = props.isMessageListScrolledToBottom, onClick = props.onClick, threadList = props.threadList;
7
+ var _a = useChatContext(), activeChannel = _a.channel, client = _a.client;
8
+ var thread = useChannelStateContext().thread;
9
+ var _b = useState((activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.countUnread()) || 0), countUnread = _b[0], setCountUnread = _b[1];
10
+ var _c = useState((thread === null || thread === void 0 ? void 0 : thread.reply_count) || 0), replyCount = _c[0], setReplyCount = _c[1];
11
+ var observedEvent = threadList ? 'message.updated' : 'message.new';
12
+ useEffect(function () {
13
+ var handleEvent = function (event) {
14
+ var _a, _b, _c, _d, _e;
15
+ var newMessageInAnotherChannel = event.cid !== (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.cid);
16
+ var newMessageIsMine = ((_a = event.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = client.user) === null || _b === void 0 ? void 0 : _b.id);
17
+ var isThreadOpen = !!thread;
18
+ var newMessageIsReply = !!((_c = event.message) === null || _c === void 0 ? void 0 : _c.parent_id);
19
+ var dontIncreaseMainListCounterOnNewReply = isThreadOpen && !threadList && newMessageIsReply;
20
+ if (isMessageListScrolledToBottom ||
21
+ newMessageInAnotherChannel ||
22
+ newMessageIsMine ||
23
+ dontIncreaseMainListCounterOnNewReply) {
24
+ return;
25
+ }
26
+ if (event.type === 'message.new') {
27
+ // cannot rely on channel.countUnread because active channel is automatically marked read
28
+ setCountUnread(function (prev) { return prev + 1; });
29
+ }
30
+ else if (((_d = event.message) === null || _d === void 0 ? void 0 : _d.id) === (thread === null || thread === void 0 ? void 0 : thread.id)) {
31
+ var newReplyCount_1 = ((_e = event.message) === null || _e === void 0 ? void 0 : _e.reply_count) || 0;
32
+ setCountUnread(function () { return newReplyCount_1 - replyCount; });
33
+ }
34
+ };
35
+ client.on(observedEvent, handleEvent);
36
+ return function () {
37
+ client.off(observedEvent, handleEvent);
38
+ };
39
+ }, [activeChannel, isMessageListScrolledToBottom, observedEvent, replyCount, thread]);
40
+ useEffect(function () {
41
+ if (isMessageListScrolledToBottom) {
42
+ setCountUnread(0);
43
+ setReplyCount((thread === null || thread === void 0 ? void 0 : thread.reply_count) || 0);
44
+ }
45
+ }, [isMessageListScrolledToBottom, thread]);
46
+ if (isMessageListScrolledToBottom)
47
+ return null;
48
+ return (React.createElement("div", { className: 'str-chat__jump-to-latest-message' },
49
+ React.createElement("button", { "aria-live": 'polite', className: "\n str-chat__message-notification-right\n str-chat__message-notification-scroll-to-latest\n str-chat__circle-fab\n ", "data-testid": 'message-notification', onClick: onClick },
50
+ React.createElement(ArrowDown, null),
51
+ countUnread > 0 && (React.createElement("div", { className: clsx('str-chat__message-notification', 'str-chat__message-notification-scroll-to-latest-unread-count', 'str-chat__jump-to-latest-unread-count'), "data-testid": 'unread-message-notification-counter' }, countUnread)))));
52
+ };
53
+ export var ScrollToBottomButton = React.memo(UnMemoizedScrollToBottomButton);
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ScrollSeekConfiguration, ScrollSeekPlaceholderProps, VirtuosoProps } from 'react-virtuoso';
3
+ import { GroupStyle } from './utils';
3
4
  import { MessageProps, MessageUIComponentProps } from '../Message';
4
5
  import { ChannelActionContextValue } from '../../context/ChannelActionContext';
5
6
  import { StreamMessage } from '../../context/ChannelStateContext';
@@ -15,10 +16,14 @@ export declare type VirtualizedMessageListProps<StreamChatGenerics extends Defau
15
16
  defaultItemHeight?: number;
16
17
  /** Disables the injection of date separator components in MessageList, defaults to `true` */
17
18
  disableDateSeparator?: boolean;
19
+ /** Callback function to set group styles for each message */
20
+ groupStyles?: (message: StreamMessage<StreamChatGenerics>, previousMessage: StreamMessage<StreamChatGenerics>, nextMessage: StreamMessage<StreamChatGenerics>, noGroupByUser: boolean) => GroupStyle;
18
21
  /** Whether or not the list has more items to load */
19
22
  hasMore?: boolean;
20
23
  /** Whether or not the list has newer items to load */
21
24
  hasMoreNewer?: boolean;
25
+ /** Element to be rendered at the top of the thread message list. By default, these are the Message and ThreadStart components */
26
+ head?: React.ReactElement;
22
27
  /** Hides the `MessageDeleted` components from the list, defaults to `false` */
23
28
  hideDeletedMessages?: boolean;
24
29
  /** Hides the `DateSeparator` component when new messages are received in a channel that's watched but not active, defaults to false */
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
+ import clsx from 'clsx';
48
49
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
49
50
  import { Virtuoso, } from 'react-virtuoso';
50
51
  import { GiphyPreviewMessage as DefaultGiphyPreviewMessage } from './GiphyPreviewMessage';
@@ -54,7 +55,8 @@ import { usePrependedMessagesCount } from './hooks/usePrependMessagesCount';
54
55
  import { useShouldForceScrollToBottom } from './hooks/useShouldForceScrollToBottom';
55
56
  import { MessageNotification as DefaultMessageNotification } from './MessageNotification';
56
57
  import { MessageListNotifications as DefaultMessageListNotifications } from './MessageListNotifications';
57
- import { processMessages } from './utils';
58
+ import { MessageListMainPanel } from './MessageListMainPanel';
59
+ import { getGroupStyles, processMessages } from './utils';
58
60
  import { CUSTOM_MESSAGE_TYPE } from '../../constants/messageTypes';
59
61
  import { DateSeparator as DefaultDateSeparator } from '../DateSeparator/DateSeparator';
60
62
  import { EmptyStateIndicator as DefaultEmptyStateIndicator } from '../EmptyStateIndicator/EmptyStateIndicator';
@@ -97,11 +99,11 @@ function calculateInitialTopMostItemIndex(messages, highlightedMessageId) {
97
99
  return messages.length - 1;
98
100
  }
99
101
  var VirtualizedMessageListWithContext = function (props) {
100
- var additionalVirtuosoProps = props.additionalVirtuosoProps, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, notifications = props.notifications,
102
+ var additionalVirtuosoProps = props.additionalVirtuosoProps, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, groupStyles = props.groupStyles, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, head = props.head, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, notifications = props.notifications,
101
103
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
102
104
  _e = props.overscan,
103
105
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
104
- overscan = _e === void 0 ? 0 : _e, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j, suppressAutoscroll = props.suppressAutoscroll;
106
+ overscan = _e === void 0 ? 0 : _e, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
105
107
  // Stops errors generated from react-virtuoso to bubble up
106
108
  // to Sentry or other tracking tools.
107
109
  useCaptureResizeObserverExceededError();
@@ -138,8 +140,17 @@ var VirtualizedMessageListWithContext = function (props) {
138
140
  messages === null || messages === void 0 ? void 0 : messages.length,
139
141
  client.userID,
140
142
  ]);
143
+ var groupStylesFn = groupStyles || getGroupStyles;
144
+ var messageGroupStyles = useMemo(function () {
145
+ return processedMessages.reduce(function (acc, message, i) {
146
+ var style = groupStylesFn(message, processedMessages[i - 1], processedMessages[i + 1], !shouldGroupByUser);
147
+ if (style)
148
+ acc[message.id] = style;
149
+ return acc;
150
+ }, {});
151
+ }, [processedMessages.length, shouldGroupByUser]);
141
152
  var virtuoso = useRef(null);
142
- var _x = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _x.atBottom, newMessagesNotification = _x.newMessagesNotification, setNewMessagesNotification = _x.setNewMessagesNotification;
153
+ var _x = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _x.atBottom, isMessageListScrolledToBottom = _x.isMessageListScrolledToBottom, newMessagesNotification = _x.newMessagesNotification, setIsMessageListScrolledToBottom = _x.setIsMessageListScrolledToBottom, setNewMessagesNotification = _x.setNewMessagesNotification;
143
154
  var scrollToBottom = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
144
155
  return __generator(this, function (_a) {
145
156
  switch (_a.label) {
@@ -240,14 +251,28 @@ var VirtualizedMessageListWithContext = function (props) {
240
251
  var Item = useMemo(function () {
241
252
  // using 'display: inline-block'
242
253
  // traps CSS margins of the item elements, preventing incorrect item measurements
243
- var Item = function (props) { return (React.createElement("div", __assign({}, props, { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage) || 'str-chat__virtual-list-message-wrapper' }))); };
254
+ var Item = function (props) {
255
+ var _a;
256
+ var streamMessageIndex = props['data-item-index'] + numItemsPrepended - PREPEND_OFFSET;
257
+ var message = processedMessages[streamMessageIndex];
258
+ var groupStyles = messageGroupStyles[message.id] || '';
259
+ return (React.createElement("div", __assign({}, props, { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage) ||
260
+ clsx('str-chat__virtual-list-message-wrapper str-chat__li', (_a = {},
261
+ _a["str-chat__li--".concat(groupStyles)] = groupStyles,
262
+ _a)) })));
263
+ };
244
264
  return Item;
245
- }, [customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage]);
265
+ }, [
266
+ customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage,
267
+ Object.keys(messageGroupStyles),
268
+ numItemsPrepended,
269
+ processedMessages.length,
270
+ ]);
246
271
  var virtuosoComponents = useMemo(function () {
247
- var EmptyPlaceholder = function () { return (React.createElement(React.Fragment, null, EmptyStateIndicator && React.createElement(EmptyStateIndicator, { listType: 'message' }))); };
272
+ var EmptyPlaceholder = function () { return (React.createElement(React.Fragment, null, EmptyStateIndicator && (React.createElement(EmptyStateIndicator, { listType: threadList ? 'thread' : 'message' })))); };
248
273
  var Header = function () {
249
274
  return loadingMore ? (React.createElement("div", { className: 'str-chat__virtual-list__loading' },
250
- React.createElement(LoadingIndicator, { size: 20 }))) : (React.createElement(React.Fragment, null));
275
+ React.createElement(LoadingIndicator, { size: 20 }))) : (head || null);
251
276
  };
252
277
  var Footer = function () {
253
278
  return TypingIndicator ? React.createElement(TypingIndicator, { avatarSize: 24 }) : React.createElement(React.Fragment, null);
@@ -258,9 +283,10 @@ var VirtualizedMessageListWithContext = function (props) {
258
283
  Header: Header,
259
284
  Item: Item,
260
285
  };
261
- }, [loadingMore]);
286
+ }, [loadingMore, head, Item]);
262
287
  var atBottomStateChange = function (isAtBottom) {
263
288
  atBottom.current = isAtBottom;
289
+ setIsMessageListScrolledToBottom(isAtBottom);
264
290
  if (isAtBottom && newMessagesNotification) {
265
291
  setNewMessagesNotification(false);
266
292
  }
@@ -287,11 +313,12 @@ var VirtualizedMessageListWithContext = function (props) {
287
313
  if (!processedMessages)
288
314
  return null;
289
315
  return (React.createElement(React.Fragment, null,
290
- React.createElement("div", { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list' },
291
- React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, computeItemKey: function (index) {
292
- return processedMessages[numItemsPrepended + index - PREPEND_OFFSET].id;
293
- }, endReached: endReached, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, increaseViewportBy: { bottom: 200, top: 0 }, initialTopMostItemIndex: calculateInitialTopMostItemIndex(processedMessages, highlightedMessageId), itemContent: function (i) { return messageRenderer(processedMessages, i); }, itemSize: fractionalItemSize, key: messageSetKey, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {})))),
294
- React.createElement(MessageListNotifications, { hasNewMessages: newMessagesNotification, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification, notifications: notifications, scrollToBottom: scrollToBottom }),
316
+ React.createElement(MessageListMainPanel, null,
317
+ React.createElement("div", { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list' },
318
+ React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, atBottomThreshold: 200, className: 'str-chat__message-list-scroll', components: virtuosoComponents, computeItemKey: function (index) {
319
+ return processedMessages[numItemsPrepended + index - PREPEND_OFFSET].id;
320
+ }, endReached: endReached, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, increaseViewportBy: { bottom: 200, top: 0 }, initialTopMostItemIndex: calculateInitialTopMostItemIndex(processedMessages, highlightedMessageId), itemContent: function (i) { return messageRenderer(processedMessages, i); }, itemSize: fractionalItemSize, key: messageSetKey, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))))),
321
+ React.createElement(MessageListNotifications, { hasNewMessages: newMessagesNotification, isMessageListScrolledToBottom: isMessageListScrolledToBottom, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification, notifications: notifications, scrollToBottom: scrollToBottom, threadList: threadList }),
295
322
  giphyPreviewMessage && React.createElement(GiphyPreviewMessage, { message: giphyPreviewMessage })));
296
323
  };
297
324
  /**
@@ -17,6 +17,6 @@ declare type UseMessageListElementsProps<StreamChatGenerics extends DefaultStrea
17
17
  user: UserResponse<StreamChatGenerics>;
18
18
  }>;
19
19
  };
20
- export declare const useMessageListElements: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: UseMessageListElementsProps<StreamChatGenerics>) => JSX.Element[];
20
+ export declare const useMessageListElements: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: UseMessageListElementsProps<StreamChatGenerics>) => React.ReactNode[];
21
21
  export {};
22
22
  //# sourceMappingURL=useMessageListElements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageListElements.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListElements.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAWvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,aAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,aAAK,2BAA2B,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACtD,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACnF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC,CAAC;CACpF,CAAC;AAEF,eAAO,MAAM,sBAAsB,6JAyGlC,CAAC"}
1
+ {"version":3,"file":"useMessageListElements.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListElements.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAWvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,aAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,aAAK,2BAA2B,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACtD,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACnF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC,CAAC;CACpF,CAAC;AAEF,eAAO,MAAM,sBAAsB,iKA2GlC,CAAC"}
@@ -32,13 +32,13 @@ export var useMessageListElements = function (props) {
32
32
  userID: client.userID,
33
33
  });
34
34
  var lastReceivedId = useMemo(function () { return getLastReceived(enrichedMessages); }, [enrichedMessages]);
35
- return useMemo(function () {
35
+ var elements = useMemo(function () {
36
36
  return enrichedMessages.map(function (message) {
37
37
  var _a;
38
38
  if (message.customType === CUSTOM_MESSAGE_TYPE.date &&
39
39
  message.date &&
40
40
  isDate(message.date)) {
41
- return (React.createElement("li", { key: message.date.toISOString() + "-i" },
41
+ return (React.createElement("li", { key: "".concat(message.date.toISOString(), "-i") },
42
42
  React.createElement(DateSeparator, { date: message.date, formatDate: internalMessageProps.formatDate, unread: message.unread })));
43
43
  }
44
44
  if (message.customType === CUSTOM_MESSAGE_TYPE.intro && HeaderComponent) {
@@ -52,7 +52,7 @@ export var useMessageListElements = function (props) {
52
52
  React.createElement(MessageSystem, { message: message })));
53
53
  }
54
54
  var groupStyles = messageGroupStyles[message.id] || '';
55
- var messageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.message) || "str-chat__li str-chat__li--" + groupStyles;
55
+ var messageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.message) || "str-chat__li str-chat__li--".concat(groupStyles);
56
56
  return (React.createElement("li", { className: messageClass, "data-message-id": message.id, "data-testid": messageClass, key: message.id || message.created_at, onLoadCapture: onMessageLoadCaptured },
57
57
  React.createElement(Message, __assign({ groupStyles: [groupStyles], lastReceivedId: lastReceivedId, message: message, readBy: readData[message.id] || [], threadList: threadList }, internalMessageProps))));
58
58
  });
@@ -65,4 +65,5 @@ export var useMessageListElements = function (props) {
65
65
  readData,
66
66
  threadList,
67
67
  ]);
68
+ return elements;
68
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageListScrollManager.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListScrollManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,CAC3C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,MAAM,EAAE,iCAAiC,CAAC,kBAAkB,CAAC,oBAiErC,MAAM,UAG/B"}
1
+ {"version":3,"file":"useMessageListScrollManager.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListScrollManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,CAC3C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,MAAM,EAAE,iCAAiC,CAAC,kBAAkB,CAAC,oBAkErC,MAAM,UAG/B"}