stream-chat-react 9.4.0 → 10.0.0-theming-v2.2

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 (520) hide show
  1. package/dist/browser.full-bundle.js +16760 -13355
  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 +78 -69
  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 +17 -8
  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 +84 -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/useAttachments.d.ts.map +1 -1
  212. package/dist/components/MessageInput/hooks/useAttachments.js +8 -1
  213. package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts.map +1 -1
  214. package/dist/components/MessageInput/hooks/useCommandTrigger.js +6 -4
  215. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +1 -1
  216. package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
  217. package/dist/components/MessageInput/hooks/useCooldownTimer.js +4 -4
  218. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts +1 -1
  219. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts.map +1 -1
  220. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts +1 -1
  221. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts.map +1 -1
  222. package/dist/components/MessageInput/hooks/useEmojiTrigger.js +23 -19
  223. package/dist/components/MessageInput/hooks/useFileState.d.ts +7 -0
  224. package/dist/components/MessageInput/hooks/useFileState.d.ts.map +1 -0
  225. package/dist/components/MessageInput/hooks/useFileState.js +8 -0
  226. package/dist/components/MessageInput/hooks/useImageUploads.d.ts.map +1 -1
  227. package/dist/components/MessageInput/hooks/useImageUploads.js +17 -36
  228. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +2 -6
  229. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  230. package/dist/components/MessageInput/hooks/useSubmitHandler.js +10 -6
  231. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +1 -1
  232. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts.map +1 -1
  233. package/dist/components/MessageInput/hooks/useUserTrigger.js +13 -9
  234. package/dist/components/MessageInput/hooks/utils.d.ts +1 -1
  235. package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -1
  236. package/dist/components/MessageInput/icons.d.ts +12 -2
  237. package/dist/components/MessageInput/icons.d.ts.map +1 -1
  238. package/dist/components/MessageInput/icons.js +67 -7
  239. package/dist/components/MessageList/CustomNotification.js +1 -1
  240. package/dist/components/MessageList/MessageList.d.ts +3 -0
  241. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  242. package/dist/components/MessageList/MessageList.js +17 -14
  243. package/dist/components/MessageList/MessageListMainPanel.d.ts +3 -0
  244. package/dist/components/MessageList/MessageListMainPanel.d.ts.map +1 -0
  245. package/dist/components/MessageList/MessageListMainPanel.js +9 -0
  246. package/dist/components/MessageList/MessageListNotifications.d.ts +2 -0
  247. package/dist/components/MessageList/MessageListNotifications.d.ts.map +1 -1
  248. package/dist/components/MessageList/MessageListNotifications.js +2 -2
  249. package/dist/components/MessageList/MessageNotification.d.ts +9 -6
  250. package/dist/components/MessageList/MessageNotification.d.ts.map +1 -1
  251. package/dist/components/MessageList/MessageNotification.js +1 -1
  252. package/dist/components/MessageList/ScrollToBottomButton.d.ts +3 -0
  253. package/dist/components/MessageList/ScrollToBottomButton.d.ts.map +1 -0
  254. package/dist/components/MessageList/ScrollToBottomButton.js +53 -0
  255. package/dist/components/MessageList/VirtualizedMessageList.d.ts +5 -0
  256. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  257. package/dist/components/MessageList/VirtualizedMessageList.js +41 -14
  258. package/dist/components/MessageList/hooks/useMessageListElements.d.ts +1 -1
  259. package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
  260. package/dist/components/MessageList/hooks/useMessageListElements.js +4 -3
  261. package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts.map +1 -1
  262. package/dist/components/MessageList/hooks/useMessageListScrollManager.js +3 -1
  263. package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts +2 -0
  264. package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts.map +1 -1
  265. package/dist/components/MessageList/hooks/useNewMessageNotification.js +8 -1
  266. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +1 -2
  267. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
  268. package/dist/components/MessageList/hooks/useScrollLocationLogic.js +12 -30
  269. package/dist/components/MessageList/icons.d.ts +8 -0
  270. package/dist/components/MessageList/icons.d.ts.map +1 -0
  271. package/dist/components/MessageList/icons.js +11 -0
  272. package/dist/components/MessageList/index.d.ts +1 -0
  273. package/dist/components/MessageList/index.d.ts.map +1 -1
  274. package/dist/components/MessageList/index.js +1 -0
  275. package/dist/components/MessageList/utils.d.ts +4 -2
  276. package/dist/components/MessageList/utils.d.ts.map +1 -1
  277. package/dist/components/MessageList/utils.js +16 -3
  278. package/dist/components/Modal/Modal.d.ts +2 -2
  279. package/dist/components/Modal/Modal.d.ts.map +1 -1
  280. package/dist/components/Modal/Modal.js +18 -15
  281. package/dist/components/Modal/icons.d.ts +2 -0
  282. package/dist/components/Modal/icons.d.ts.map +1 -0
  283. package/dist/components/Modal/icons.js +5 -0
  284. package/dist/components/Reactions/ReactionSelector.d.ts +2 -0
  285. package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
  286. package/dist/components/Reactions/ReactionSelector.js +18 -9
  287. package/dist/components/Reactions/ReactionsList.d.ts +3 -1
  288. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  289. package/dist/components/Reactions/ReactionsList.js +33 -47
  290. package/dist/components/Reactions/SimpleReactionsList.d.ts +3 -1
  291. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  292. package/dist/components/Reactions/SimpleReactionsList.js +41 -58
  293. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +21 -0
  294. package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -0
  295. package/dist/components/Reactions/hooks/useProcessReactions.js +51 -0
  296. package/dist/components/Thread/Thread.d.ts +2 -6
  297. package/dist/components/Thread/Thread.d.ts.map +1 -1
  298. package/dist/components/Thread/Thread.js +21 -89
  299. package/dist/components/Thread/ThreadHead.d.ts +4 -0
  300. package/dist/components/Thread/ThreadHead.d.ts.map +1 -0
  301. package/dist/components/Thread/ThreadHead.js +21 -0
  302. package/dist/components/Thread/ThreadHeader.d.ts +12 -0
  303. package/dist/components/Thread/ThreadHeader.d.ts.map +1 -0
  304. package/dist/components/Thread/ThreadHeader.js +21 -0
  305. package/dist/components/Thread/ThreadStart.d.ts +2 -0
  306. package/dist/components/Thread/ThreadStart.d.ts.map +1 -0
  307. package/dist/components/Thread/ThreadStart.js +10 -0
  308. package/dist/components/Thread/icons.d.ts +4 -0
  309. package/dist/components/Thread/icons.d.ts.map +1 -0
  310. package/dist/components/Thread/icons.js +9 -0
  311. package/dist/components/Thread/index.d.ts +2 -0
  312. package/dist/components/Thread/index.d.ts.map +1 -1
  313. package/dist/components/Thread/index.js +2 -0
  314. package/dist/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  315. package/dist/components/TypingIndicator/TypingIndicator.js +52 -9
  316. package/dist/components/UserItem/UserItem.d.ts +1 -1
  317. package/dist/components/UserItem/UserItem.d.ts.map +1 -1
  318. package/dist/components/UserItem/UserItem.js +15 -8
  319. package/dist/components/Window/Window.js +1 -1
  320. package/dist/constants/limits.d.ts +4 -0
  321. package/dist/constants/limits.d.ts.map +1 -0
  322. package/dist/constants/limits.js +3 -0
  323. package/dist/context/ChannelActionContext.d.ts +1 -1
  324. package/dist/context/ChannelActionContext.d.ts.map +1 -1
  325. package/dist/context/ChannelActionContext.js +1 -1
  326. package/dist/context/ChannelStateContext.d.ts +3 -2
  327. package/dist/context/ChannelStateContext.d.ts.map +1 -1
  328. package/dist/context/ChannelStateContext.js +1 -1
  329. package/dist/context/ChatContext.d.ts +5 -4
  330. package/dist/context/ChatContext.d.ts.map +1 -1
  331. package/dist/context/ChatContext.js +2 -2
  332. package/dist/context/ComponentContext.d.ts +6 -2
  333. package/dist/context/ComponentContext.d.ts.map +1 -1
  334. package/dist/context/ComponentContext.js +1 -1
  335. package/dist/context/EmojiContext.d.ts +1 -1
  336. package/dist/context/EmojiContext.d.ts.map +1 -1
  337. package/dist/context/EmojiContext.js +1 -1
  338. package/dist/context/MessageContext.d.ts +1 -1
  339. package/dist/context/MessageContext.d.ts.map +1 -1
  340. package/dist/context/MessageContext.js +1 -1
  341. package/dist/context/MessageInputContext.d.ts +1 -1
  342. package/dist/context/MessageInputContext.d.ts.map +1 -1
  343. package/dist/context/MessageInputContext.js +1 -1
  344. package/dist/context/TranslationContext.d.ts +2 -2
  345. package/dist/context/TranslationContext.d.ts.map +1 -1
  346. package/dist/context/TranslationContext.js +8 -4
  347. package/dist/context/TypingContext.d.ts +1 -1
  348. package/dist/context/TypingContext.d.ts.map +1 -1
  349. package/dist/context/TypingContext.js +1 -1
  350. package/dist/css/index.css +1 -1
  351. package/dist/css/index.css.map +1 -0
  352. package/dist/css/v2/index.css +1 -0
  353. package/dist/css/v2/index.css.map +1 -0
  354. package/dist/css/v2/index.layout.css +1 -0
  355. package/dist/css/v2/index.layout.css.map +1 -0
  356. package/dist/i18n/Streami18n.d.ts +8 -2
  357. package/dist/i18n/Streami18n.d.ts.map +1 -1
  358. package/dist/i18n/Streami18n.js +12 -12
  359. package/dist/i18n/de.json +8 -2
  360. package/dist/i18n/en.json +8 -2
  361. package/dist/i18n/es.json +9 -2
  362. package/dist/i18n/fr.json +9 -2
  363. package/dist/i18n/hi.json +8 -2
  364. package/dist/i18n/it.json +9 -2
  365. package/dist/i18n/ja.json +8 -2
  366. package/dist/i18n/ko.json +8 -2
  367. package/dist/i18n/nl.json +8 -2
  368. package/dist/i18n/pt.json +9 -2
  369. package/dist/i18n/ru.json +10 -2
  370. package/dist/i18n/tr.json +8 -2
  371. package/dist/index.cjs.js +9535 -4005
  372. package/dist/index.cjs.js.map +1 -1
  373. package/dist/scss/Attachment.scss +52 -22
  374. package/dist/scss/Audio.scss +1 -1
  375. package/dist/scss/Avatar.scss +1 -1
  376. package/dist/scss/ChannelList.scss +5 -1
  377. package/dist/scss/ChannelPreview.scss +25 -0
  378. package/dist/scss/ChannelSearch.scss +5 -3
  379. package/dist/scss/Gallery.scss +0 -20
  380. package/dist/scss/ImageCarousel.scss +39 -0
  381. package/dist/scss/LoadingChannels.scss +1 -1
  382. package/dist/scss/Message.scss +84 -86
  383. package/dist/scss/MessageActions.scss +15 -0
  384. package/dist/scss/MessageCommerce.scss +57 -13
  385. package/dist/scss/MessageInputFlat.scss +21 -9
  386. package/dist/scss/MessageList.scss +35 -3
  387. package/dist/scss/MessageLivestream.scss +23 -10
  388. package/dist/scss/MessageNotification.scss +7 -1
  389. package/dist/scss/MessageTeam.scss +37 -10
  390. package/dist/scss/Modal.scss +2 -0
  391. package/dist/scss/ReactionList.scss +14 -0
  392. package/dist/scss/ReactionSelector.scss +6 -0
  393. package/dist/scss/SendButton.scss +6 -0
  394. package/dist/scss/SmallMessageInput.scss +0 -1
  395. package/dist/scss/Thread.scss +21 -2
  396. package/dist/scss/Tooltip.scss +6 -3
  397. package/dist/scss/TypingIndicator.scss +5 -0
  398. package/dist/scss/_base.scss +26 -0
  399. package/dist/scss/_variables.scss +2 -1
  400. package/dist/scss/index.scss +5 -4
  401. package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +392 -0
  402. package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +400 -0
  403. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-layout.scss +118 -0
  404. package/dist/scss/v2/AttachmentPreviewList/AttachmentPreviewList-theme.scss +150 -0
  405. package/dist/scss/v2/Autocomplete/Autocomplete-layout.scss +62 -0
  406. package/dist/scss/v2/Autocomplete/Autocomplete-theme.scss +207 -0
  407. package/dist/scss/v2/Avatar/Avatar-layout.scss +13 -0
  408. package/dist/scss/v2/Avatar/Avatar-theme.scss +42 -0
  409. package/dist/scss/v2/Channel/Channel-layout.scss +139 -0
  410. package/dist/scss/v2/Channel/Channel-theme.scss +99 -0
  411. package/dist/scss/v2/ChannelHeader/ChannelHeader-layout.scss +23 -0
  412. package/dist/scss/v2/ChannelHeader/ChannelHeader-theme.scss +43 -0
  413. package/dist/scss/v2/ChannelList/ChannelList-layout.scss +41 -0
  414. package/dist/scss/v2/ChannelList/ChannelList-theme.scss +87 -0
  415. package/dist/scss/v2/ChannelPreview/ChannelPreview-layout.scss +82 -0
  416. package/dist/scss/v2/ChannelPreview/ChannelPreview-theme.scss +108 -0
  417. package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +71 -0
  418. package/dist/scss/v2/ChannelSearch/ChannelSearch-theme.scss +190 -0
  419. package/dist/scss/v2/EditMessageForm/EditMessageForm-layout.scss +53 -0
  420. package/dist/scss/v2/EditMessageForm/EditMessageForm-theme.scss +50 -0
  421. package/dist/scss/v2/ImageCarousel/ImageCarousel-layout.scss +41 -0
  422. package/dist/scss/v2/ImageCarousel/ImageCarousel-theme.scss +15 -0
  423. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-layout.scss +39 -0
  424. package/dist/scss/v2/LoadingIndicator/LoadingIndicator-theme.scss +12 -0
  425. package/dist/scss/v2/Message/Message-layout.scss +373 -0
  426. package/dist/scss/v2/Message/Message-theme.scss +353 -0
  427. package/dist/scss/v2/MessageActionsBox/MessageActionsBox-layout.scss +48 -0
  428. package/dist/scss/v2/MessageActionsBox/MessageActionsBox-theme.scss +69 -0
  429. package/dist/scss/v2/MessageInput/MessageInput-layout.scss +186 -0
  430. package/dist/scss/v2/MessageInput/MessageInput-theme.scss +221 -0
  431. package/dist/scss/v2/MessageList/MessageList-layout.scss +61 -0
  432. package/dist/scss/v2/MessageList/MessageList-theme.scss +105 -0
  433. package/dist/scss/v2/MessageList/VirtualizedMessageList-layout.scss +44 -0
  434. package/dist/scss/v2/MessageList/VirtualizedMessageList-theme.scss +32 -0
  435. package/dist/scss/v2/MessageReactions/MessageReactions-layout.scss +64 -0
  436. package/dist/scss/v2/MessageReactions/MessageReactions-theme.scss +75 -0
  437. package/dist/scss/v2/MessageReactions/MessageReactionsSelector-layout.scss +52 -0
  438. package/dist/scss/v2/MessageReactions/MessageReactionsSelector-theme.scss +83 -0
  439. package/dist/scss/v2/Modal/Modal-layout.scss +40 -0
  440. package/dist/scss/v2/Modal/Modal-theme.scss +82 -0
  441. package/dist/scss/v2/Notification/MessageNotification-layout.scss +12 -0
  442. package/dist/scss/v2/Notification/MessageNotification-theme.scss +34 -0
  443. package/dist/scss/v2/Notification/Notification-layout.scss +3 -0
  444. package/dist/scss/v2/Notification/Notification-theme.scss +32 -0
  445. package/dist/scss/v2/Notification/NotificationList-layout.scss +11 -0
  446. package/dist/scss/v2/Notification/NotificationList-theme.scss +31 -0
  447. package/dist/scss/v2/Thread/Thread-layout.scss +47 -0
  448. package/dist/scss/v2/Thread/Thread-theme.scss +82 -0
  449. package/dist/scss/v2/Tooltip/Tooltip-layout.scss +30 -0
  450. package/dist/scss/v2/Tooltip/Tooltip-theme.scss +36 -0
  451. package/dist/scss/v2/TypingIndicator/TypingIndicator-layout.scss +27 -0
  452. package/dist/scss/v2/TypingIndicator/TypingIndicator-theme.scss +68 -0
  453. package/dist/scss/v2/_base.scss +29 -0
  454. package/dist/scss/v2/_global-layout-variables.scss +65 -0
  455. package/dist/scss/v2/_global-theme-variables.scss +166 -0
  456. package/dist/scss/v2/_palette-variables.scss +55 -0
  457. package/dist/scss/v2/_utils.scss +188 -0
  458. package/dist/scss/v2/common/CTAButton/CTAButton-layout.scss +4 -0
  459. package/dist/scss/v2/common/CTAButton/CTAButton-theme.scss +42 -0
  460. package/dist/scss/v2/common/CircleFAButton/CircleFAButton-layout.scss +14 -0
  461. package/dist/scss/v2/common/CircleFAButton/CircleFAButton-theme.scss +35 -0
  462. package/dist/scss/v2/index.layout.scss +31 -0
  463. package/dist/scss/v2/index.scss +36 -0
  464. package/dist/scss/{vendor → v2/vendor}/emoji-mart.scss +27 -8
  465. package/dist/stories/add-message.stories.d.ts +0 -1
  466. package/dist/stories/add-message.stories.d.ts.map +1 -1
  467. package/dist/stories/add-message.stories.js +0 -1
  468. package/dist/stories/edit-message.stories.d.ts +0 -1
  469. package/dist/stories/edit-message.stories.d.ts.map +1 -1
  470. package/dist/stories/edit-message.stories.js +0 -1
  471. package/dist/stories/hello.stories.d.ts +0 -1
  472. package/dist/stories/hello.stories.d.ts.map +1 -1
  473. package/dist/stories/hello.stories.js +0 -1
  474. package/dist/stories/jump-to-message.stories.d.ts +0 -1
  475. package/dist/stories/jump-to-message.stories.d.ts.map +1 -1
  476. package/dist/stories/jump-to-message.stories.js +0 -1
  477. package/dist/stories/mark-read.stories.d.ts +0 -1
  478. package/dist/stories/mark-read.stories.d.ts.map +1 -1
  479. package/dist/stories/mark-read.stories.js +0 -1
  480. package/dist/stories/message-status-readby-tooltip.stories.d.ts +0 -1
  481. package/dist/stories/message-status-readby-tooltip.stories.d.ts.map +1 -1
  482. package/dist/stories/message-status-readby-tooltip.stories.js +0 -1
  483. package/dist/stories/navigate-long-message-lists.stories.d.ts +0 -2
  484. package/dist/stories/navigate-long-message-lists.stories.d.ts.map +1 -1
  485. package/dist/stories/navigate-long-message-lists.stories.js +1 -11
  486. package/dist/stories/toggle-message-actions.stories.d.ts +0 -1
  487. package/dist/stories/toggle-message-actions.stories.d.ts.map +1 -1
  488. package/dist/stories/toggle-message-actions.stories.js +0 -1
  489. package/dist/stories/utils.d.ts.map +1 -1
  490. package/dist/stories/utils.js +2 -1
  491. package/dist/types/types.d.ts +7 -0
  492. package/dist/types/types.d.ts.map +1 -1
  493. package/dist/utils.d.ts +2 -2
  494. package/dist/utils.d.ts.map +1 -1
  495. package/dist/utils.js +4 -4
  496. package/dist/version.d.ts +1 -1
  497. package/dist/version.d.ts.map +1 -1
  498. package/dist/version.js +1 -1
  499. package/package.json +12 -7
  500. package/dist/components/Gallery/ModalWrapper.d.ts +0 -14
  501. package/dist/components/Gallery/ModalWrapper.d.ts.map +0 -1
  502. package/dist/components/Gallery/ModalWrapper.js +0 -8
  503. package/dist/components/Message/MessageCommerce.d.ts +0 -10
  504. package/dist/components/Message/MessageCommerce.d.ts.map +0 -1
  505. package/dist/components/Message/MessageCommerce.js +0 -64
  506. package/dist/components/Message/MessageLivestream.d.ts +0 -16
  507. package/dist/components/Message/MessageLivestream.d.ts.map +0 -1
  508. package/dist/components/Message/MessageLivestream.js +0 -164
  509. package/dist/components/Message/MessageTeam.d.ts +0 -11
  510. package/dist/components/Message/MessageTeam.d.ts.map +0 -1
  511. package/dist/components/Message/MessageTeam.js +0 -110
  512. package/dist/components/Message/hooks/useBreakpoint.d.ts +0 -6
  513. package/dist/components/Message/hooks/useBreakpoint.d.ts.map +0 -1
  514. package/dist/components/Message/hooks/useBreakpoint.js +0 -18
  515. package/dist/components/Message/hooks/useMobilePress.d.ts +0 -5
  516. package/dist/components/Message/hooks/useMobilePress.d.ts.map +0 -1
  517. package/dist/components/Message/hooks/useMobilePress.js +0 -33
  518. package/dist/scss/vendor/mml-react.scss +0 -1749
  519. package/dist/scss/vendor/react-file-utils.scss +0 -378
  520. package/dist/scss/vendor/react-image-gallery.scss +0 -224
@@ -15,6 +15,18 @@ export class ReactTextareaAutocomplete extends React.Component<any, any, any> {
15
15
  value: any;
16
16
  } | null;
17
17
  constructor(props: any);
18
+ state: {
19
+ actualToken: string;
20
+ component: null;
21
+ currentTrigger: null;
22
+ data: null;
23
+ dataLoading: boolean;
24
+ left: null;
25
+ selectionEnd: number;
26
+ selectionStart: number;
27
+ top: null;
28
+ value: any;
29
+ };
18
30
  getSelectionPosition: () => {
19
31
  selectionEnd: number;
20
32
  selectionStart: number;
@@ -53,10 +65,12 @@ export class ReactTextareaAutocomplete extends React.Component<any, any, any> {
53
65
  getTextToReplace: ((item: any) => any) | null;
54
66
  selectionEnd: number;
55
67
  value: any;
56
- values: any;
68
+ values: null;
57
69
  };
70
+ setDropdownRef: (element: any) => void;
71
+ dropdownRef: any;
58
72
  renderSuggestionListContainer(): JSX.Element | null;
59
- dropdownRef: HTMLDivElement | null | undefined;
73
+ render(): JSX.Element;
60
74
  textareaRef: HTMLTextAreaElement | null | undefined;
61
75
  }
62
76
  export namespace ReactTextareaAutocomplete {
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAiBA;IACE;;;;;;;MAOE;IA8VF;;OAEG;IACH;;;aAMC;IArWD,wBA2BC;IAED;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF,8CAA2E;IAE3E,qCAME;IAEF,+BAcE;IAEF,qBAQE;IAEF,yBA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCAiBE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,oDAyCC;IAlBS,+CAAsB;IAqDtB,oDAAsB;CAUjC"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAkBA;IACE;;;;;;;MAOE;IA+VF;;OAEG;IACH;;;aAMC;IAtWD,wBA4BC;IAZC;;;;;;;;;;;MAWC;IAGH;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF,8CAA2E;IAE3E,qCAME;IAEF,+BAcE;IAEF,qBAQE;IAEF,yBA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCAiBE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,uCAEE;IADA,iBAA0B;IAG5B,oDA2CC;IAED,sBA4CC;IATS,oDAAsB;CAUjC"}
@@ -29,6 +29,7 @@ import PropTypes from 'prop-types';
29
29
  import Textarea from 'react-textarea-autosize';
30
30
  import getCaretCoordinates from 'textarea-caret';
31
31
  import { isValidElementType } from 'react-is';
32
+ import clsx from 'clsx';
32
33
  import { List as DefaultSuggestionList } from './List';
33
34
  import { DEFAULT_CARET_POSITION, defaultScrollToItem, errorMessage, triggerPropsCheck, } from './utils';
34
35
  import { CommandItem } from '../CommandItem/CommandItem';
@@ -149,7 +150,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
149
150
  : textareaValue.slice(0, selectionEnd);
150
151
  var startOfTokenPosition = textToModify.lastIndexOf(currentTrigger);
151
152
  // we add space after emoji is selected if a caret position is next
152
- var newTokenString = newToken.caretPosition === 'next' ? newToken.text + " " : newToken.text;
153
+ var newTokenString = newToken.caretPosition === 'next' ? "".concat(newToken.text, " ") : newToken.text;
153
154
  var newCaretPosition = computeCaretPosition(newToken.caretPosition, newTokenString, startOfTokenPosition);
154
155
  var modifiedText = textToModify.substring(0, startOfTokenPosition) + newTokenString;
155
156
  var valueToReplace = textareaValue.replace(textToModify, modifiedText);
@@ -204,7 +205,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
204
205
  if (output) {
205
206
  var textToReplace = output(item, currentTrigger);
206
207
  if (!textToReplace || typeof textToReplace === 'number') {
207
- throw new Error("Output functor should return string or object in shape {text: string, caretPosition: string | number}.\nGot \"" + String(textToReplace) + "\". Check the implementation for trigger \"" + currentTrigger + "\" and its token \"" + actualToken + "\"\n\nSee https://github.com/webscopeio/react-textarea-autocomplete#trigger-type for more informations.\n");
208
+ throw new Error("Output functor should return string or object in shape {text: string, caretPosition: string | number}.\nGot \"".concat(String(textToReplace), "\". Check the implementation for trigger \"").concat(currentTrigger, "\" and its token \"").concat(actualToken, "\"\n\nSee https://github.com/webscopeio/react-textarea-autocomplete#trigger-type for more informations.\n"));
208
209
  }
209
210
  if (typeof textToReplace === 'string') {
210
211
  return {
@@ -213,10 +214,10 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
213
214
  };
214
215
  }
215
216
  if (!textToReplace.text && currentTrigger !== ':') {
216
- throw new Error("Output \"text\" is not defined! Object should has shape {text: string, caretPosition: string | number}. Check the implementation for trigger \"" + currentTrigger + "\" and its token \"" + actualToken + "\"\n");
217
+ throw new Error("Output \"text\" is not defined! Object should has shape {text: string, caretPosition: string | number}. Check the implementation for trigger \"".concat(currentTrigger, "\" and its token \"").concat(actualToken, "\"\n"));
217
218
  }
218
219
  if (!textToReplace.caretPosition) {
219
- throw new Error("Output \"caretPosition\" is not defined! Object should has shape {text: string, caretPosition: string | number}. Check the implementation for trigger \"" + currentTrigger + "\" and its token \"" + actualToken + "\"\n");
220
+ throw new Error("Output \"caretPosition\" is not defined! Object should has shape {text: string, caretPosition: string | number}. Check the implementation for trigger \"".concat(currentTrigger, "\" and its token \"").concat(actualToken, "\"\n"));
220
221
  }
221
222
  return textToReplace;
222
223
  }
@@ -225,7 +226,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
225
226
  }
226
227
  return {
227
228
  caretPosition: DEFAULT_CARET_POSITION,
228
- text: "" + currentTrigger + item + currentTrigger,
229
+ text: "".concat(currentTrigger).concat(item).concat(currentTrigger),
229
230
  };
230
231
  };
231
232
  };
@@ -362,8 +363,8 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
362
363
  }
363
364
  else {
364
365
  var triggerTokens = Object.keys(trigger).join().replace('/', '');
365
- var triggerNorWhitespace = "[^\\s" + triggerTokens + "]*";
366
- var regex = new RegExp("(?!^|\\W)?[" + triggerTokens + "]" + triggerNorWhitespace + "\\s?" + triggerNorWhitespace + "$", 'g');
366
+ var triggerNorWhitespace = "[^\\s".concat(triggerTokens, "]*");
367
+ var regex = new RegExp("(?!^|\\W)?[".concat(triggerTokens, "]").concat(triggerNorWhitespace, "\\s?").concat(triggerNorWhitespace, "$"), 'g');
367
368
  var tokenMatch = value.slice(0, selectionEnd).match(regex);
368
369
  lastToken = tokenMatch && tokenMatch[tokenMatch.length - 1].trim();
369
370
  currentTrigger = (lastToken && Object.keys(trigger).find(function (a) { return a === lastToken[0]; })) || null;
@@ -476,6 +477,9 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
476
477
  }
477
478
  return triggerProps;
478
479
  };
480
+ _this.setDropdownRef = function (element) {
481
+ _this.dropdownRef = element;
482
+ };
479
483
  var _a = _this.props, loadingComponent = _a.loadingComponent, trigger = _a.trigger, value = _a.value;
480
484
  // TODO: it would be better to have the parent control state...
481
485
  // if (value) this.state.value = value;
@@ -511,16 +515,13 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
511
515
  }
512
516
  };
513
517
  ReactTextareaAutocomplete.prototype.renderSuggestionListContainer = function () {
514
- var _this = this;
515
518
  var _a = this.props, disableMentions = _a.disableMentions, dropdownClassName = _a.dropdownClassName, dropdownStyle = _a.dropdownStyle, itemClassName = _a.itemClassName, itemStyle = _a.itemStyle, listClassName = _a.listClassName, SuggestionItem = _a.SuggestionItem, _b = _a.SuggestionList, SuggestionList = _b === void 0 ? DefaultSuggestionList : _b;
516
519
  var triggerProps = this.getTriggerProps();
517
520
  if (triggerProps.values &&
518
521
  triggerProps.currentTrigger &&
519
522
  !(disableMentions && triggerProps.currentTrigger === '@')) {
520
- return (React.createElement("div", { className: "rta__autocomplete " + (dropdownClassName || ''), ref: function (ref) {
521
- _this.dropdownRef = ref;
522
- }, style: dropdownStyle },
523
- React.createElement(SuggestionList, __assign({ className: listClassName, dropdownScroll: this._dropdownScroll, itemClassName: itemClassName, itemStyle: itemStyle, onSelect: this._onSelect, SuggestionItem: SuggestionItem }, triggerProps))));
523
+ return (React.createElement("div", { className: clsx('rta__autocomplete', 'str-chat__suggestion-list-container', dropdownClassName), ref: this.setDropdownRef, style: dropdownStyle },
524
+ React.createElement(SuggestionList, __assign({ className: clsx('str-chat__suggestion-list', listClassName), dropdownScroll: this._dropdownScroll, itemClassName: clsx('str-chat__suggestion-list-item', itemClassName), itemStyle: itemStyle, onSelect: this._onSelect, SuggestionItem: SuggestionItem }, triggerProps))));
524
525
  }
525
526
  return null;
526
527
  };
@@ -534,11 +535,13 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
534
535
  // By setting defaultValue to undefined, avoid error:
535
536
  // ForwardRef(TextareaAutosize) contains a textarea with both value and defaultValue props.
536
537
  // Textarea elements must be either controlled or uncontrolled
537
- return (React.createElement("div", { className: "rta " + (dataLoading === true ? 'rta--loading' : '') + " " + (containerClassName || ''), style: containerStyle },
538
+ return (React.createElement("div", { className: clsx('rta', containerClassName, {
539
+ 'rta--loading': dataLoading,
540
+ }), style: containerStyle },
538
541
  this.renderSuggestionListContainer(),
539
- React.createElement(Textarea, __assign({ "data-testid": 'message-input' }, this._cleanUpProps(), { className: "rta__textarea " + (className || ''), maxRows: maxRows, onBlur: this._onClickAndBlurHandler, onChange: this._changeHandler, onClick: this._onClickAndBlurHandler, onFocus: this.props.onFocus, onKeyDown: this._handleKeyDown, onScroll: this._onScrollHandler, onSelect: this._selectHandler, ref: function (ref) {
540
- if (_this.props.innerRef)
541
- _this.props.innerRef(ref);
542
+ React.createElement(Textarea, __assign({ "data-testid": 'message-input' }, this._cleanUpProps(), { className: clsx('rta__textarea', className), maxRows: maxRows, onBlur: this._onClickAndBlurHandler, onChange: this._changeHandler, onClick: this._onClickAndBlurHandler, onFocus: this.props.onFocus, onKeyDown: this._handleKeyDown, onScroll: this._onScrollHandler, onSelect: this._selectHandler, ref: function (ref) {
543
+ var _a;
544
+ (_a = _this.props) === null || _a === void 0 ? void 0 : _a.innerRef(ref);
542
545
  _this.textareaRef = ref;
543
546
  }, style: style, value: value }, this.props.additionalTextareaProps, { defaultValue: undefined }))));
544
547
  };
@@ -14,7 +14,7 @@ export function defaultScrollToItem(container, item) {
14
14
  container.scrollTop = itemOffsetTop;
15
15
  }
16
16
  export var errorMessage = function (message) {
17
- return console.error("RTA: dataProvider fails: " + message + "\n \nCheck the documentation or create issue if you think it's bug. https://github.com/webscopeio/react-textarea-autocomplete/issues");
17
+ return console.error("RTA: dataProvider fails: ".concat(message, "\n \nCheck the documentation or create issue if you think it's bug. https://github.com/webscopeio/react-textarea-autocomplete/issues"));
18
18
  };
19
19
  export var triggerPropsCheck = function (_a) {
20
20
  var trigger = _a.trigger;
@@ -13,16 +13,16 @@ export var Avatar = function (props) {
13
13
  }, [image]);
14
14
  var nameStr = (name === null || name === void 0 ? void 0 : name.toString()) || '';
15
15
  var initials = getWholeChar(nameStr, 0);
16
- return (React.createElement("div", { className: "str-chat__avatar str-chat__avatar--" + shape, "data-testid": 'avatar', onClick: onClick, onMouseOver: onMouseOver, style: {
17
- flexBasis: size + "px",
18
- fontSize: size / 2 + "px",
19
- height: size + "px",
20
- lineHeight: size + "px",
21
- width: size + "px",
22
- }, title: name }, image && !error ? (React.createElement("img", { alt: initials, className: "str-chat__avatar-image" + (loaded ? ' str-chat__avatar-image--loaded' : ''), "data-testid": 'avatar-img', onError: function () { return setError(true); }, onLoad: function () { return setLoaded(true); }, src: image, style: {
23
- flexBasis: size + "px",
24
- height: size + "px",
16
+ return (React.createElement("div", { className: "str-chat__avatar str-chat__avatar--".concat(shape, " str-chat__message-sender-avatar"), "data-testid": 'avatar', onClick: onClick, onMouseOver: onMouseOver, style: {
17
+ flexBasis: "".concat(size, "px"),
18
+ fontSize: "".concat(size / 2, "px"),
19
+ height: "".concat(size, "px"),
20
+ lineHeight: "".concat(size, "px"),
21
+ width: "".concat(size, "px"),
22
+ }, title: name }, image && !error ? (React.createElement("img", { alt: initials, className: "str-chat__avatar-image".concat(loaded ? ' str-chat__avatar-image--loaded' : ''), "data-testid": 'avatar-img', onError: function () { return setError(true); }, onLoad: function () { return setLoaded(true); }, src: image, style: {
23
+ flexBasis: "".concat(size, "px"),
24
+ height: "".concat(size, "px"),
25
25
  objectFit: 'cover',
26
- width: size + "px",
26
+ width: "".concat(size, "px"),
27
27
  } })) : (React.createElement("div", { className: 'str-chat__avatar-fallback', "data-testid": 'avatar-fallback' }, initials))));
28
28
  };
@@ -5,6 +5,7 @@ import { LoadingErrorIndicatorProps } from '../Loading';
5
5
  import { ComponentContextValue } from '../../context/ComponentContext';
6
6
  import { EmojiContextValue } from '../../context/EmojiContext';
7
7
  import type { Data as EmojiMartData } from 'emoji-mart';
8
+ import type { MessageProps } from '../Message/types';
8
9
  import type { MessageInputProps } from '../MessageInput/MessageInput';
9
10
  import type { CustomTrigger, DefaultStreamChatGenerics, GiphyVersions } from '../../types/types';
10
11
  export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger> = {
@@ -86,6 +87,8 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
86
87
  MessageSystem?: ComponentContextValue<StreamChatGenerics>['MessageSystem'];
87
88
  /** Custom UI component to display a timestamp on a message, defaults to and accepts same props as: [MessageTimestamp](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageTimestamp.tsx) */
88
89
  MessageTimestamp?: ComponentContextValue<StreamChatGenerics>['MessageTimestamp'];
90
+ /** Custom UI component for image viewing message's image attachments, defaults to and accepts the same props as [ModalGallery](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Gallery/ModalGallery.tsx) */
91
+ ModalGallery?: ComponentContextValue<StreamChatGenerics>['ModalGallery'];
89
92
  /** Whether to allow multiple attachment uploads */
90
93
  multipleUploads?: boolean;
91
94
  /** Custom action handler function to run on click of an @mention in a message */
@@ -108,6 +111,8 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
108
111
  SendButton?: ComponentContextValue<StreamChatGenerics>['SendButton'];
109
112
  /** If true, skips the message data string comparison used to memoize the current channel messages (helpful for channels with 1000s of messages) */
110
113
  skipMessageDataMemoization?: boolean;
114
+ /** Custom UI component that displays thread's parent or other message at the top of the `MessageList`, defaults to and accepts same props as [MessageSimple](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageSimple.tsx) */
115
+ ThreadHead?: React.ComponentType<MessageProps<StreamChatGenerics>>;
111
116
  /** Custom UI component to display the header of a `Thread`, defaults to and accepts same props as: [DefaultThreadHeader](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Thread/Thread.tsx) */
112
117
  ThreadHeader?: ComponentContextValue<StreamChatGenerics>['ThreadHeader'];
113
118
  /** Custom UI component to display the start of a threaded `MessageList`, defaults to and accepts same props as: [DefaultThreadStart](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Thread/Thread.tsx) */
@@ -116,7 +121,7 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
116
121
  TriggerProvider?: ComponentContextValue<StreamChatGenerics>['TriggerProvider'];
117
122
  /** Custom UI component for the typing indicator, defaults to and accepts same props as: [TypingIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/TypingIndicator/TypingIndicator.tsx) */
118
123
  TypingIndicator?: ComponentContextValue<StreamChatGenerics>['TypingIndicator'];
119
- /** Custom UI component to display a message in the `VirtualizedMessageList`, defaults to and accepts same props as: [FixedHeightMessage](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/FixedHeightMessage.tsx) */
124
+ /** Custom UI component to display a message in the `VirtualizedMessageList`, does not have a default implementation */
120
125
  VirtualMessage?: ComponentContextValue<StreamChatGenerics>['VirtualMessage'];
121
126
  };
122
127
  /**
@@ -128,5 +133,5 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
128
133
  * - [EmojiContext](https://getstream.io/chat/docs/sdk/react/contexts/emoji_context/)
129
134
  * - [TypingContext](https://getstream.io/chat/docs/sdk/react/contexts/typing_context/)
130
135
  */
131
- export declare const Channel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger>(props: React.PropsWithChildren<ChannelProps<StreamChatGenerics, V>>) => JSX.Element | null;
136
+ export declare const Channel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger>(props: React.PropsWithChildren<ChannelProps<StreamChatGenerics, V>>) => JSX.Element;
132
137
  //# sourceMappingURL=Channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
@@ -69,7 +69,8 @@ import { useEditMessageHandler } from './hooks/useEditMessageHandler';
69
69
  import { useIsMounted } from './hooks/useIsMounted';
70
70
  import { useMentionsHandlers } from './hooks/useMentionsHandlers';
71
71
  import { Attachment as DefaultAttachment } from '../Attachment/Attachment';
72
- import { LoadingErrorIndicator as DefaultLoadingErrorIndicator, LoadingIndicator as DefaultLoadingIndicator, } from '../Loading';
72
+ import { LoadingErrorIndicator as DefaultLoadingErrorIndicator, } from '../Loading';
73
+ import { LoadingChannel as DefaultLoadingIndicator } from './LoadingChannel';
73
74
  import { MessageSimple } from '../Message/MessageSimple';
74
75
  import { DropzoneProvider } from '../MessageInput/DropzoneProvider';
75
76
  import { ChannelActionProvider, } from '../../context/ChannelActionContext';
@@ -79,33 +80,43 @@ import { useChatContext } from '../../context/ChatContext';
79
80
  import { EmojiProvider } from '../../context/EmojiContext';
80
81
  import { useTranslationContext } from '../../context/TranslationContext';
81
82
  import { TypingProvider } from '../../context/TypingContext';
83
+ import { DEFAULT_INITIAL_CHANNEL_PAGE_SIZE, DEFAULT_NEXT_CHANNEL_PAGE_SIZE, DEFAULT_THREAD_PAGE_SIZE, } from '../../constants/limits';
84
+ import { hasMoreMessagesProbably, hasNotMoreMessages } from '../MessageList/utils';
82
85
  import defaultEmojiData from '../../stream-emoji.json';
83
86
  import { makeAddNotifications } from './utils';
84
- var JUMP_MESSAGE_PAGE_SIZE = 25;
87
+ import { useChannelContainerClasses } from './hooks/useChannelContainerClasses';
85
88
  var UnMemoizedChannel = function (props) {
86
- var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a, LoadingErrorIndicator = props.LoadingErrorIndicator, LoadingIndicator = props.LoadingIndicator;
87
- var _b = useChatContext('Channel'), contextChannel = _b.channel, channelsQueryState = _b.channelsQueryState;
89
+ var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a, LoadingErrorIndicator = props.LoadingErrorIndicator, _b = props.LoadingIndicator, LoadingIndicator = _b === void 0 ? DefaultLoadingIndicator : _b;
90
+ var _c = useChatContext('Channel'), contextChannel = _c.channel, channelsQueryState = _c.channelsQueryState, customClasses = _c.customClasses, theme = _c.theme;
91
+ var _d = useChannelContainerClasses({
92
+ customClasses: customClasses,
93
+ }), channelClass = _d.channelClass, chatClass = _d.chatClass;
88
94
  var channel = propsChannel || contextChannel;
89
95
  if (channelsQueryState.queryInProgress === 'reload' && LoadingIndicator) {
90
- return React.createElement(LoadingIndicator, { size: 25 });
96
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
97
+ React.createElement(LoadingIndicator, null)));
91
98
  }
92
99
  if (channelsQueryState.error && LoadingErrorIndicator) {
93
- return React.createElement(LoadingErrorIndicator, { error: channelsQueryState.error });
100
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
101
+ React.createElement(LoadingErrorIndicator, { error: channelsQueryState.error })));
94
102
  }
95
- if (!(channel === null || channel === void 0 ? void 0 : channel.cid))
96
- return EmptyPlaceholder;
103
+ if (!(channel === null || channel === void 0 ? void 0 : channel.cid)) {
104
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) }, EmptyPlaceholder));
105
+ }
106
+ // @ts-ignore
97
107
  return React.createElement(ChannelInner, __assign({}, props, { channel: channel, key: channel.cid }));
98
108
  };
99
109
  var ChannelInner = function (props) {
100
110
  var _a;
101
111
  var acceptedFiles = props.acceptedFiles, activeUnreadHandler = props.activeUnreadHandler, channel = props.channel, children = props.children, doMarkReadRequest = props.doMarkReadRequest, doSendMessageRequest = props.doSendMessageRequest, doUpdateMessageRequest = props.doUpdateMessageRequest, _b = props.dragAndDropWindow, dragAndDropWindow = _b === void 0 ? false : _b, _c = props.emojiData, emojiData = _c === void 0 ? defaultEmojiData : _c, _d = props.LoadingErrorIndicator, LoadingErrorIndicator = _d === void 0 ? DefaultLoadingErrorIndicator : _d, _e = props.LoadingIndicator, LoadingIndicator = _e === void 0 ? DefaultLoadingIndicator : _e, maxNumberOfFiles = props.maxNumberOfFiles, _f = props.multipleUploads, multipleUploads = _f === void 0 ? true : _f, onMentionsClick = props.onMentionsClick, onMentionsHover = props.onMentionsHover, _g = props.optionalMessageInputProps, optionalMessageInputProps = _g === void 0 ? {} : _g, skipMessageDataMemoization = props.skipMessageDataMemoization;
102
- var _h = useChatContext('Channel'), client = _h.client, customClasses = _h.customClasses, latestMessageDatesByChannels = _h.latestMessageDatesByChannels, mutes = _h.mutes, theme = _h.theme, useImageFlagEmojisOnWindows = _h.useImageFlagEmojisOnWindows;
112
+ var _h = useChatContext('Channel'), client = _h.client, customClasses = _h.customClasses, latestMessageDatesByChannels = _h.latestMessageDatesByChannels, mutes = _h.mutes, theme = _h.theme;
103
113
  var t = useTranslationContext('Channel').t;
104
- var _j = useState(channel.getConfig()), channelConfig = _j[0], setChannelConfig = _j[1];
105
- var _k = useState([]), notifications = _k[0], setNotifications = _k[1];
106
- var _l = useState(), quotedMessage = _l[0], setQuotedMessage = _l[1];
114
+ var _j = useChannelContainerClasses({ customClasses: customClasses }), channelClass = _j.channelClass, chatClass = _j.chatClass, chatContainerClass = _j.chatContainerClass, windowsEmojiClass = _j.windowsEmojiClass;
115
+ var _k = useState(channel.getConfig()), channelConfig = _k[0], setChannelConfig = _k[1];
116
+ var _l = useState([]), notifications = _l[0], setNotifications = _l[1];
117
+ var _m = useState(), quotedMessage = _m[0], setQuotedMessage = _m[1];
107
118
  var notificationTimeouts = [];
108
- var _m = useReducer(channelReducer, __assign(__assign({}, initialState), { loading: !channel.initialized })), state = _m[0], dispatch = _m[1];
119
+ var _o = useReducer(channelReducer, __assign(__assign({}, initialState), { loading: !channel.initialized })), state = _o[0], dispatch = _o[1];
109
120
  var isMounted = useIsMounted();
110
121
  var originalTitle = useRef('');
111
122
  var lastRead = useRef(new Date());
@@ -172,7 +183,7 @@ var ChannelInner = function (props) {
172
183
  activeUnreadHandler(unread, originalTitle.current);
173
184
  }
174
185
  else {
175
- document.title = "(" + unread + ") " + originalTitle.current;
186
+ document.title = "(".concat(unread, ") ").concat(originalTitle.current);
176
187
  }
177
188
  }
178
189
  }
@@ -268,9 +279,9 @@ var ChannelInner = function (props) {
268
279
  trailing: true,
269
280
  });
270
281
  var loadMore = function (limit) {
271
- if (limit === void 0) { limit = 100; }
282
+ if (limit === void 0) { limit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE; }
272
283
  return __awaiter(void 0, void 0, void 0, function () {
273
- var oldestMessage, oldestID, perPage, queryResponse, e_2, hasMoreMessages;
284
+ var oldestMessage, notHasMore, oldestID, perPage, queryResponse, e_2, hasMoreMessages;
274
285
  var _a;
275
286
  return __generator(this, function (_b) {
276
287
  switch (_b.label) {
@@ -281,8 +292,8 @@ var ChannelInner = function (props) {
281
292
  if (state.loadingMore || state.loadingMoreNewer || (oldestMessage === null || oldestMessage === void 0 ? void 0 : oldestMessage.status) !== 'received') {
282
293
  return [2 /*return*/, 0];
283
294
  }
284
- // initial state loads with up to 25 messages, so if less than 25 no need for additional query
285
- if (channel.state.messages.length < 25) {
295
+ notHasMore = hasNotMoreMessages(channel.state.messages.length, DEFAULT_INITIAL_CHANNEL_PAGE_SIZE);
296
+ if (notHasMore) {
286
297
  loadMoreFinished(false, channel.state.messages);
287
298
  return [2 /*return*/, channel.state.messages.length];
288
299
  }
@@ -361,7 +372,7 @@ var ChannelInner = function (props) {
361
372
  case 1:
362
373
  _a.sent();
363
374
  indexOfMessage = channel.state.messages.findIndex(function (message) { return message.id === messageId; });
364
- hasMoreMessages = indexOfMessage >= Math.floor(JUMP_MESSAGE_PAGE_SIZE / 2);
375
+ hasMoreMessages = indexOfMessage >= Math.floor(DEFAULT_INITIAL_CHANNEL_PAGE_SIZE / 2);
365
376
  loadMoreFinished(hasMoreMessages, channel.state.messages);
366
377
  dispatch({
367
378
  hasMoreNewer: channel.state.messages !== channel.state.latestMessages,
@@ -454,7 +465,7 @@ var ChannelInner = function (props) {
454
465
  switch (_f.label) {
455
466
  case 0:
456
467
  channel.state.filterErrorMessages();
457
- messagePreview = __assign({ __html: text, attachments: attachments, created_at: new Date(), html: text, id: (_e = customMessageData === null || customMessageData === void 0 ? void 0 : customMessageData.id) !== null && _e !== void 0 ? _e : client.userID + "-" + nanoid(), mentioned_users: mentioned_users, reactions: [], status: 'sending', text: text, type: 'regular', user: client.user }, ((parent === null || parent === void 0 ? void 0 : parent.id) ? { parent_id: parent.id } : null));
468
+ messagePreview = __assign({ __html: text, attachments: attachments, created_at: new Date(), html: text, id: (_e = customMessageData === null || customMessageData === void 0 ? void 0 : customMessageData.id) !== null && _e !== void 0 ? _e : "".concat(client.userID, "-").concat(nanoid()), mentioned_users: mentioned_users, reactions: [], status: 'sending', text: text, type: 'regular', user: client.user }, ((parent === null || parent === void 0 ? void 0 : parent.id) ? { parent_id: parent.id } : null));
458
469
  updateMessage(messagePreview);
459
470
  return [4 /*yield*/, doSendMessage(messagePreview, customMessageData)];
460
471
  case 1:
@@ -508,44 +519,46 @@ var ChannelInner = function (props) {
508
519
  type: 'loadMoreThreadFinished',
509
520
  });
510
521
  }, 2000, { leading: true, trailing: true });
511
- var loadMoreThread = function () { return __awaiter(void 0, void 0, void 0, function () {
512
- var parentID, oldMessages, oldestMessageID, limit, queryResponse, threadHasMoreMessages, newThreadMessages, e_4;
513
- var _a;
514
- return __generator(this, function (_b) {
515
- switch (_b.label) {
516
- case 0:
517
- if (state.threadLoadingMore || !state.thread)
518
- return [2 /*return*/];
519
- dispatch({ type: 'startLoadingThread' });
520
- parentID = state.thread.id;
521
- if (!parentID) {
522
- return [2 /*return*/, dispatch({ type: 'closeThread' })];
523
- }
524
- oldMessages = channel.state.threads[parentID] || [];
525
- oldestMessageID = (_a = oldMessages[0]) === null || _a === void 0 ? void 0 : _a.id;
526
- limit = 50;
527
- _b.label = 1;
528
- case 1:
529
- _b.trys.push([1, 3, , 4]);
530
- return [4 /*yield*/, channel.getReplies(parentID, {
531
- id_lt: oldestMessageID,
532
- limit: limit,
533
- })];
534
- case 2:
535
- queryResponse = _b.sent();
536
- threadHasMoreMessages = queryResponse.messages.length === limit;
537
- newThreadMessages = channel.state.threads[parentID] || [];
538
- // next set loadingMore to false so we can start asking for more data
539
- loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);
540
- return [3 /*break*/, 4];
541
- case 3:
542
- e_4 = _b.sent();
543
- loadMoreThreadFinished(false, oldMessages);
544
- return [3 /*break*/, 4];
545
- case 4: return [2 /*return*/];
546
- }
522
+ var loadMoreThread = function (limit) {
523
+ if (limit === void 0) { limit = DEFAULT_THREAD_PAGE_SIZE; }
524
+ return __awaiter(void 0, void 0, void 0, function () {
525
+ var parentID, oldMessages, oldestMessageID, queryResponse, threadHasMoreMessages, newThreadMessages, e_4;
526
+ var _a;
527
+ return __generator(this, function (_b) {
528
+ switch (_b.label) {
529
+ case 0:
530
+ if (state.threadLoadingMore || !state.thread)
531
+ return [2 /*return*/];
532
+ dispatch({ type: 'startLoadingThread' });
533
+ parentID = state.thread.id;
534
+ if (!parentID) {
535
+ return [2 /*return*/, dispatch({ type: 'closeThread' })];
536
+ }
537
+ oldMessages = channel.state.threads[parentID] || [];
538
+ oldestMessageID = (_a = oldMessages[0]) === null || _a === void 0 ? void 0 : _a.id;
539
+ _b.label = 1;
540
+ case 1:
541
+ _b.trys.push([1, 3, , 4]);
542
+ return [4 /*yield*/, channel.getReplies(parentID, {
543
+ id_lt: oldestMessageID,
544
+ limit: limit,
545
+ })];
546
+ case 2:
547
+ queryResponse = _b.sent();
548
+ threadHasMoreMessages = hasMoreMessagesProbably(queryResponse.messages.length, limit);
549
+ newThreadMessages = channel.state.threads[parentID] || [];
550
+ // next set loadingMore to false so we can start asking for more data
551
+ loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);
552
+ return [3 /*break*/, 4];
553
+ case 3:
554
+ e_4 = _b.sent();
555
+ loadMoreThreadFinished(false, oldMessages);
556
+ return [3 /*break*/, 4];
557
+ case 4: return [2 /*return*/];
558
+ }
559
+ });
547
560
  });
548
- }); };
561
+ };
549
562
  var onMentionsHoverOrClick = useMentionsHandlers(onMentionsHover, onMentionsClick);
550
563
  var editMessage = useEditMessageHandler(doUpdateMessageRequest);
551
564
  var typing = state.typing, restState = __rest(state, ["typing"]);
@@ -595,12 +608,14 @@ var ChannelInner = function (props) {
595
608
  MessageStatus: props.MessageStatus,
596
609
  MessageSystem: props.MessageSystem,
597
610
  MessageTimestamp: props.MessageTimestamp,
611
+ ModalGallery: props.ModalGallery,
598
612
  PinIndicator: props.PinIndicator,
599
613
  QuotedMessage: props.QuotedMessage,
600
614
  QuotedMessagePreview: props.QuotedMessagePreview,
601
615
  ReactionSelector: props.ReactionSelector,
602
616
  ReactionsList: props.ReactionsList,
603
617
  SendButton: props.SendButton,
618
+ ThreadHead: props.ThreadHead,
604
619
  ThreadHeader: props.ThreadHeader,
605
620
  ThreadStart: props.ThreadStart,
606
621
  TriggerProvider: props.TriggerProvider,
@@ -616,32 +631,26 @@ var ChannelInner = function (props) {
616
631
  var typingContextValue = useCreateTypingContext({
617
632
  typing: typing,
618
633
  });
619
- var chatClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) || 'str-chat';
620
- var chatContainerClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.chatContainer) || 'str-chat__container';
621
- var channelClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.channel) || 'str-chat-channel';
622
- var windowsEmojiClass = useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/)
623
- ? 'str-chat--windows-flags'
624
- : '';
625
634
  var OptionalMessageInputProvider = useMemo(function () { return (dragAndDropWindow ? DropzoneProvider : React.Fragment); }, [dragAndDropWindow]);
626
635
  if (state.error) {
627
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme },
636
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
628
637
  React.createElement(LoadingErrorIndicator, { error: state.error })));
629
638
  }
630
639
  if (state.loading) {
631
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme },
632
- React.createElement(LoadingIndicator, { size: 25 })));
640
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
641
+ React.createElement(LoadingIndicator, null)));
633
642
  }
634
643
  if (!channel.watch) {
635
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme },
644
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
636
645
  React.createElement("div", null, t('Channel Missing'))));
637
646
  }
638
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme + " " + windowsEmojiClass },
647
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme, " ").concat(windowsEmojiClass) },
639
648
  React.createElement(ChannelStateProvider, { value: channelStateContextValue },
640
649
  React.createElement(ChannelActionProvider, { value: channelActionContextValue },
641
650
  React.createElement(ComponentProvider, { value: componentContextValue },
642
651
  React.createElement(EmojiProvider, { value: emojiContextValue },
643
652
  React.createElement(TypingProvider, { value: typingContextValue },
644
- React.createElement("div", { className: "" + chatContainerClass },
653
+ React.createElement("div", { className: "".concat(chatContainerClass) },
645
654
  React.createElement(OptionalMessageInputProvider, __assign({}, optionalMessageInputProps), children)))))))));
646
655
  };
647
656
  /**
@@ -0,0 +1,2 @@
1
+ export declare const LoadingChannel: () => JSX.Element;
2
+ //# sourceMappingURL=LoadingChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingChannel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/LoadingChannel.tsx"],"names":[],"mappings":"AAgCA,eAAO,MAAM,cAAc,mBAU1B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ var LoadingMessage = function () { return (React.createElement("div", { className: 'str-chat__loading-channel-message' },
3
+ React.createElement("div", { className: 'str-chat__loading-channel-message-avatar' }),
4
+ React.createElement("div", { className: 'str-chat__loading-channel-message-end' },
5
+ React.createElement("div", { className: 'str-chat__loading-channel-message-sender' }),
6
+ React.createElement("div", { className: 'str-chat__loading-channel-message-last-row' },
7
+ React.createElement("div", { className: 'str-chat__loading-channel-message-text' }),
8
+ React.createElement("div", { className: 'str-chat__loading-channel-message-date' }))))); };
9
+ var LoadingMessageInput = function () { return (React.createElement("div", { className: 'str-chat__loading-channel-message-input-row' },
10
+ React.createElement("div", { className: 'str-chat__loading-channel-message-input' }),
11
+ React.createElement("div", { className: 'str-chat__loading-channel-message-send' }))); };
12
+ var LoadingChannelHeader = function () { return (React.createElement("div", { className: 'str-chat__loading-channel-header' },
13
+ React.createElement("div", { className: 'str-chat__loading-channel-header-avatar' }),
14
+ React.createElement("div", { className: 'str-chat__loading-channel-header-end' },
15
+ React.createElement("div", { className: 'str-chat__loading-channel-header-name' }),
16
+ React.createElement("div", { className: 'str-chat__loading-channel-header-info' })))); };
17
+ export var LoadingChannel = function () { return (React.createElement("div", { className: 'str-chat__loading-channel' },
18
+ React.createElement(LoadingChannelHeader, null),
19
+ React.createElement("div", { className: 'str-chat__loading-channel-message-list' }, Array.from(Array(3)).map(function (_, i) { return (React.createElement(LoadingMessage, { key: "loading-message-".concat(i) })); })),
20
+ React.createElement(LoadingMessageInput, null))); };
@@ -77,6 +77,7 @@ export declare const initialState: {
77
77
  threadHasMore: boolean;
78
78
  threadLoadingMore: boolean;
79
79
  threadMessages: never[];
80
+ threadSuppressAutoscroll: boolean;
80
81
  typing: {};
81
82
  watcherCount: number;
82
83
  watchers: {};
@@ -1 +1 @@
1
- {"version":3,"file":"channelState.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/channelState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channelState.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/channelState.ts"],"names":[],"mappings":"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"}