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
@@ -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;
@@ -60,10 +72,12 @@ export class ReactTextareaAutocomplete extends React.Component<any, any, any> {
60
72
  getTextToReplace: ((item: any) => any) | null;
61
73
  selectionEnd: number;
62
74
  value: any;
63
- values: any;
75
+ values: null;
64
76
  };
77
+ setDropdownRef: (element: any) => void;
78
+ dropdownRef: any;
65
79
  renderSuggestionListContainer(): JSX.Element | null;
66
- dropdownRef: HTMLDivElement | null | undefined;
80
+ render(): JSX.Element;
67
81
  textareaRef: HTMLTextAreaElement | null | undefined;
68
82
  }
69
83
  export namespace ReactTextareaAutocomplete {
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAiBA;IACE;;;;;;;MAOE;IAsWF;;OAEG;IACH;;;aAMC;IA7WD,wBA2BC;IAED;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,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;IAuWF;;OAEG;IACH;;;aAMC;IA9WD,wBA4BC;IAZC;;;;;;;;;;;MAWC;IAGH;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,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';
@@ -158,7 +159,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
158
159
  : textareaValue.slice(0, selectionEnd);
159
160
  var startOfTokenPosition = textToModify.lastIndexOf(currentTrigger);
160
161
  // we add space after emoji is selected if a caret position is next
161
- var newTokenString = newToken.caretPosition === 'next' ? newToken.text + " " : newToken.text;
162
+ var newTokenString = newToken.caretPosition === 'next' ? "".concat(newToken.text, " ") : newToken.text;
162
163
  var newCaretPosition = computeCaretPosition(newToken.caretPosition, newTokenString, startOfTokenPosition);
163
164
  var modifiedText = textToModify.substring(0, startOfTokenPosition) + newTokenString;
164
165
  var valueToReplace = textareaValue.replace(textToModify, modifiedText);
@@ -213,7 +214,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
213
214
  if (output) {
214
215
  var textToReplace = output(item, currentTrigger);
215
216
  if (!textToReplace || typeof textToReplace === 'number') {
216
- 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");
217
+ 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"));
217
218
  }
218
219
  if (typeof textToReplace === 'string') {
219
220
  return {
@@ -222,10 +223,10 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
222
223
  };
223
224
  }
224
225
  if (!textToReplace.text && currentTrigger !== ':') {
225
- 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");
226
+ 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"));
226
227
  }
227
228
  if (!textToReplace.caretPosition) {
228
- 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");
229
+ 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"));
229
230
  }
230
231
  return textToReplace;
231
232
  }
@@ -234,7 +235,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
234
235
  }
235
236
  return {
236
237
  caretPosition: DEFAULT_CARET_POSITION,
237
- text: "" + currentTrigger + item + currentTrigger,
238
+ text: "".concat(currentTrigger).concat(item).concat(currentTrigger),
238
239
  };
239
240
  };
240
241
  };
@@ -371,8 +372,8 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
371
372
  }
372
373
  else {
373
374
  var triggerTokens = Object.keys(trigger).join().replace('/', '');
374
- var triggerNorWhitespace = "[^\\s" + triggerTokens + "]*";
375
- var regex = new RegExp("(?!^|\\W)?[" + triggerTokens + "]" + triggerNorWhitespace + "\\s?" + triggerNorWhitespace + "$", 'g');
375
+ var triggerNorWhitespace = "[^\\s".concat(triggerTokens, "]*");
376
+ var regex = new RegExp("(?!^|\\W)?[".concat(triggerTokens, "]").concat(triggerNorWhitespace, "\\s?").concat(triggerNorWhitespace, "$"), 'g');
376
377
  var tokenMatch = value.slice(0, selectionEnd).match(regex);
377
378
  lastToken = tokenMatch && tokenMatch[tokenMatch.length - 1].trim();
378
379
  currentTrigger = (lastToken && Object.keys(trigger).find(function (a) { return a === lastToken[0]; })) || null;
@@ -485,6 +486,9 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
485
486
  }
486
487
  return triggerProps;
487
488
  };
489
+ _this.setDropdownRef = function (element) {
490
+ _this.dropdownRef = element;
491
+ };
488
492
  var _a = _this.props, loadingComponent = _a.loadingComponent, trigger = _a.trigger, value = _a.value;
489
493
  // TODO: it would be better to have the parent control state...
490
494
  // if (value) this.state.value = value;
@@ -520,16 +524,13 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
520
524
  }
521
525
  };
522
526
  ReactTextareaAutocomplete.prototype.renderSuggestionListContainer = function () {
523
- var _this = this;
524
527
  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;
525
528
  var triggerProps = this.getTriggerProps();
526
529
  if (triggerProps.values &&
527
530
  triggerProps.currentTrigger &&
528
531
  !(disableMentions && triggerProps.currentTrigger === '@')) {
529
- return (React.createElement("div", { className: "rta__autocomplete " + (dropdownClassName || ''), ref: function (ref) {
530
- _this.dropdownRef = ref;
531
- }, style: dropdownStyle },
532
- React.createElement(SuggestionList, __assign({ className: listClassName, dropdownScroll: this._dropdownScroll, itemClassName: itemClassName, itemStyle: itemStyle, onSelect: this._onSelect, SuggestionItem: SuggestionItem }, triggerProps))));
532
+ return (React.createElement("div", { className: clsx('rta__autocomplete', 'str-chat__suggestion-list-container', dropdownClassName), ref: this.setDropdownRef, style: dropdownStyle },
533
+ 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))));
533
534
  }
534
535
  return null;
535
536
  };
@@ -543,11 +544,13 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
543
544
  // By setting defaultValue to undefined, avoid error:
544
545
  // ForwardRef(TextareaAutosize) contains a textarea with both value and defaultValue props.
545
546
  // Textarea elements must be either controlled or uncontrolled
546
- return (React.createElement("div", { className: "rta " + (dataLoading === true ? 'rta--loading' : '') + " " + (containerClassName || ''), style: containerStyle },
547
+ return (React.createElement("div", { className: clsx('rta', containerClassName, {
548
+ 'rta--loading': dataLoading,
549
+ }), style: containerStyle },
547
550
  this.renderSuggestionListContainer(),
548
- 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) {
549
- if (_this.props.innerRef)
550
- _this.props.innerRef(ref);
551
+ 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) {
552
+ var _a;
553
+ (_a = _this.props) === null || _a === void 0 ? void 0 : _a.innerRef(ref);
551
554
  _this.textareaRef = ref;
552
555
  }, style: style, value: value }, this.props.additionalTextareaProps, { defaultValue: undefined }))));
553
556
  };
@@ -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,32 +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';
87
+ import { useChannelContainerClasses } from './hooks/useChannelContainerClasses';
84
88
  var UnMemoizedChannel = function (props) {
85
- var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a, LoadingErrorIndicator = props.LoadingErrorIndicator, LoadingIndicator = props.LoadingIndicator;
86
- 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;
87
94
  var channel = propsChannel || contextChannel;
88
95
  if (channelsQueryState.queryInProgress === 'reload' && LoadingIndicator) {
89
- 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)));
90
98
  }
91
99
  if (channelsQueryState.error && LoadingErrorIndicator) {
92
- 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 })));
93
102
  }
94
- if (!(channel === null || channel === void 0 ? void 0 : channel.cid))
95
- 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
96
107
  return React.createElement(ChannelInner, __assign({}, props, { channel: channel, key: channel.cid }));
97
108
  };
98
109
  var ChannelInner = function (props) {
99
110
  var _a;
100
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;
101
- 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;
102
113
  var t = useTranslationContext('Channel').t;
103
- var _j = useState(channel.getConfig()), channelConfig = _j[0], setChannelConfig = _j[1];
104
- var _k = useState([]), notifications = _k[0], setNotifications = _k[1];
105
- 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];
106
118
  var notificationTimeouts = [];
107
- 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];
108
120
  var isMounted = useIsMounted();
109
121
  var originalTitle = useRef('');
110
122
  var lastRead = useRef(new Date());
@@ -171,7 +183,7 @@ var ChannelInner = function (props) {
171
183
  activeUnreadHandler(unread, originalTitle.current);
172
184
  }
173
185
  else {
174
- document.title = "(" + unread + ") " + originalTitle.current;
186
+ document.title = "(".concat(unread, ") ").concat(originalTitle.current);
175
187
  }
176
188
  }
177
189
  }
@@ -267,9 +279,9 @@ var ChannelInner = function (props) {
267
279
  trailing: true,
268
280
  });
269
281
  var loadMore = function (limit) {
270
- if (limit === void 0) { limit = 100; }
282
+ if (limit === void 0) { limit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE; }
271
283
  return __awaiter(void 0, void 0, void 0, function () {
272
- var oldestMessage, oldestID, perPage, queryResponse, e_2, hasMoreMessages;
284
+ var oldestMessage, notHasMore, oldestID, perPage, queryResponse, e_2, hasMoreMessages;
273
285
  var _a;
274
286
  return __generator(this, function (_b) {
275
287
  switch (_b.label) {
@@ -280,8 +292,8 @@ var ChannelInner = function (props) {
280
292
  if (state.loadingMore || state.loadingMoreNewer || (oldestMessage === null || oldestMessage === void 0 ? void 0 : oldestMessage.status) !== 'received') {
281
293
  return [2 /*return*/, 0];
282
294
  }
283
- // initial state loads with up to 25 messages, so if less than 25 no need for additional query
284
- if (channel.state.messages.length < 25) {
295
+ notHasMore = hasNotMoreMessages(channel.state.messages.length, DEFAULT_INITIAL_CHANNEL_PAGE_SIZE);
296
+ if (notHasMore) {
285
297
  loadMoreFinished(false, channel.state.messages);
286
298
  return [2 /*return*/, channel.state.messages.length];
287
299
  }
@@ -456,7 +468,7 @@ var ChannelInner = function (props) {
456
468
  switch (_f.label) {
457
469
  case 0:
458
470
  channel.state.filterErrorMessages();
459
- 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));
471
+ 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));
460
472
  updateMessage(messagePreview);
461
473
  return [4 /*yield*/, doSendMessage(messagePreview, customMessageData)];
462
474
  case 1:
@@ -510,44 +522,46 @@ var ChannelInner = function (props) {
510
522
  type: 'loadMoreThreadFinished',
511
523
  });
512
524
  }, 2000, { leading: true, trailing: true });
513
- var loadMoreThread = function () { return __awaiter(void 0, void 0, void 0, function () {
514
- var parentID, oldMessages, oldestMessageID, limit, queryResponse, threadHasMoreMessages, newThreadMessages, e_4;
515
- var _a;
516
- return __generator(this, function (_b) {
517
- switch (_b.label) {
518
- case 0:
519
- if (state.threadLoadingMore || !state.thread)
520
- return [2 /*return*/];
521
- dispatch({ type: 'startLoadingThread' });
522
- parentID = state.thread.id;
523
- if (!parentID) {
524
- return [2 /*return*/, dispatch({ type: 'closeThread' })];
525
- }
526
- oldMessages = channel.state.threads[parentID] || [];
527
- oldestMessageID = (_a = oldMessages[0]) === null || _a === void 0 ? void 0 : _a.id;
528
- limit = 50;
529
- _b.label = 1;
530
- case 1:
531
- _b.trys.push([1, 3, , 4]);
532
- return [4 /*yield*/, channel.getReplies(parentID, {
533
- id_lt: oldestMessageID,
534
- limit: limit,
535
- })];
536
- case 2:
537
- queryResponse = _b.sent();
538
- threadHasMoreMessages = queryResponse.messages.length === limit;
539
- newThreadMessages = channel.state.threads[parentID] || [];
540
- // next set loadingMore to false so we can start asking for more data
541
- loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);
542
- return [3 /*break*/, 4];
543
- case 3:
544
- e_4 = _b.sent();
545
- loadMoreThreadFinished(false, oldMessages);
546
- return [3 /*break*/, 4];
547
- case 4: return [2 /*return*/];
548
- }
525
+ var loadMoreThread = function (limit) {
526
+ if (limit === void 0) { limit = DEFAULT_THREAD_PAGE_SIZE; }
527
+ return __awaiter(void 0, void 0, void 0, function () {
528
+ var parentID, oldMessages, oldestMessageID, queryResponse, threadHasMoreMessages, newThreadMessages, e_4;
529
+ var _a;
530
+ return __generator(this, function (_b) {
531
+ switch (_b.label) {
532
+ case 0:
533
+ if (state.threadLoadingMore || !state.thread)
534
+ return [2 /*return*/];
535
+ dispatch({ type: 'startLoadingThread' });
536
+ parentID = state.thread.id;
537
+ if (!parentID) {
538
+ return [2 /*return*/, dispatch({ type: 'closeThread' })];
539
+ }
540
+ oldMessages = channel.state.threads[parentID] || [];
541
+ oldestMessageID = (_a = oldMessages[0]) === null || _a === void 0 ? void 0 : _a.id;
542
+ _b.label = 1;
543
+ case 1:
544
+ _b.trys.push([1, 3, , 4]);
545
+ return [4 /*yield*/, channel.getReplies(parentID, {
546
+ id_lt: oldestMessageID,
547
+ limit: limit,
548
+ })];
549
+ case 2:
550
+ queryResponse = _b.sent();
551
+ threadHasMoreMessages = hasMoreMessagesProbably(queryResponse.messages.length, limit);
552
+ newThreadMessages = channel.state.threads[parentID] || [];
553
+ // next set loadingMore to false so we can start asking for more data
554
+ loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);
555
+ return [3 /*break*/, 4];
556
+ case 3:
557
+ e_4 = _b.sent();
558
+ loadMoreThreadFinished(false, oldMessages);
559
+ return [3 /*break*/, 4];
560
+ case 4: return [2 /*return*/];
561
+ }
562
+ });
549
563
  });
550
- }); };
564
+ };
551
565
  var onMentionsHoverOrClick = useMentionsHandlers(onMentionsHover, onMentionsClick);
552
566
  var editMessage = useEditMessageHandler(doUpdateMessageRequest);
553
567
  var typing = state.typing, restState = __rest(state, ["typing"]);
@@ -597,12 +611,14 @@ var ChannelInner = function (props) {
597
611
  MessageStatus: props.MessageStatus,
598
612
  MessageSystem: props.MessageSystem,
599
613
  MessageTimestamp: props.MessageTimestamp,
614
+ ModalGallery: props.ModalGallery,
600
615
  PinIndicator: props.PinIndicator,
601
616
  QuotedMessage: props.QuotedMessage,
602
617
  QuotedMessagePreview: props.QuotedMessagePreview,
603
618
  ReactionSelector: props.ReactionSelector,
604
619
  ReactionsList: props.ReactionsList,
605
620
  SendButton: props.SendButton,
621
+ ThreadHead: props.ThreadHead,
606
622
  ThreadHeader: props.ThreadHeader,
607
623
  ThreadStart: props.ThreadStart,
608
624
  TriggerProvider: props.TriggerProvider,
@@ -618,32 +634,26 @@ var ChannelInner = function (props) {
618
634
  var typingContextValue = useCreateTypingContext({
619
635
  typing: typing,
620
636
  });
621
- var chatClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) || 'str-chat';
622
- var chatContainerClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.chatContainer) || 'str-chat__container';
623
- var channelClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.channel) || 'str-chat-channel';
624
- var windowsEmojiClass = useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/)
625
- ? 'str-chat--windows-flags'
626
- : '';
627
637
  var OptionalMessageInputProvider = useMemo(function () { return (dragAndDropWindow ? DropzoneProvider : React.Fragment); }, [dragAndDropWindow]);
628
638
  if (state.error) {
629
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme },
639
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
630
640
  React.createElement(LoadingErrorIndicator, { error: state.error })));
631
641
  }
632
642
  if (state.loading) {
633
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme },
634
- React.createElement(LoadingIndicator, { size: 25 })));
643
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
644
+ React.createElement(LoadingIndicator, null)));
635
645
  }
636
646
  if (!channel.watch) {
637
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme },
647
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme) },
638
648
  React.createElement("div", null, t('Channel Missing'))));
639
649
  }
640
- return (React.createElement("div", { className: chatClass + " " + channelClass + " " + theme + " " + windowsEmojiClass },
650
+ return (React.createElement("div", { className: "".concat(chatClass, " ").concat(channelClass, " str-chat__channel ").concat(theme, " ").concat(windowsEmojiClass) },
641
651
  React.createElement(ChannelStateProvider, { value: channelStateContextValue },
642
652
  React.createElement(ChannelActionProvider, { value: channelActionContextValue },
643
653
  React.createElement(ComponentProvider, { value: componentContextValue },
644
654
  React.createElement(EmojiProvider, { value: emojiContextValue },
645
655
  React.createElement(TypingProvider, { value: typingContextValue },
646
- React.createElement("div", { className: "" + chatContainerClass },
656
+ React.createElement("div", { className: "".concat(chatContainerClass) },
647
657
  React.createElement(OptionalMessageInputProvider, __assign({}, optionalMessageInputProps), children)))))))));
648
658
  };
649
659
  /**
@@ -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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"}