stream-chat-react-native-core 4.1.0-next.1 → 4.1.1-beta.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 (1331) hide show
  1. package/README.md +1 -13
  2. package/lib/commonjs/components/Attachment/Attachment.js +16 -15
  3. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js +4 -4
  5. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/Card.js +18 -15
  7. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  9. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -4
  11. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/Gallery.js +123 -121
  14. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/Giphy.js +112 -148
  16. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  27. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  28. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  29. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  30. package/lib/commonjs/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  31. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  32. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  33. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  34. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  35. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  36. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  37. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +11 -8
  38. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +24 -48
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  41. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  42. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  43. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  44. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  45. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  46. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  47. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  48. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  49. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  50. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  51. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -8
  52. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  53. package/lib/commonjs/components/Channel/Channel.js +303 -202
  54. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  55. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +7 -5
  56. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  57. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  58. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  59. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  60. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  61. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  62. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  63. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  64. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  65. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  67. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  69. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  71. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  73. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +7 -4
  75. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  76. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  77. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  78. package/lib/commonjs/components/ChannelList/Skeleton.js +14 -13
  79. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  81. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  82. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  83. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  84. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  85. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  86. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  87. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  88. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  89. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  90. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  91. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  92. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  93. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  94. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  95. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  96. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  97. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  98. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  99. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  100. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  101. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  102. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  103. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  104. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -4
  105. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  106. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +5 -5
  107. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  108. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  109. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  110. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  111. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  112. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  113. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  114. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  115. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  116. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  117. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  118. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  119. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  120. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  121. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  122. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  123. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  124. package/lib/commonjs/components/Chat/Chat.js +8 -4
  125. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  126. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  127. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +40 -31
  128. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  129. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  130. package/lib/commonjs/components/ImageGallery/ImageGallery.js +107 -97
  131. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  132. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  133. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  134. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  135. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  136. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +31 -16
  137. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  138. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -9
  139. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  140. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  141. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  142. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  143. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  144. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  145. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
  146. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  147. package/lib/commonjs/components/Message/Message.js +152 -854
  148. package/lib/commonjs/components/Message/Message.js.map +1 -1
  149. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  150. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  151. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +41 -39
  152. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  153. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +8 -6
  154. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  155. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +34 -22
  156. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  157. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  158. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  159. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +26 -10
  160. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  161. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  162. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  163. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +31 -14
  164. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  165. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +28 -24
  166. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  167. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  168. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  169. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +86 -113
  170. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  171. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  172. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  173. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  174. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  175. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +207 -26
  176. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  177. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  178. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  179. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  180. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  181. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
  182. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  183. package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
  184. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  185. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  186. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  187. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  188. package/lib/commonjs/components/MessageInput/AttachButton.js +6 -4
  189. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  190. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  191. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  192. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  193. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  194. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +32 -27
  195. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  196. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +9 -9
  197. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  198. package/lib/commonjs/components/MessageInput/InputButtons.js +17 -22
  199. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  200. package/lib/commonjs/components/MessageInput/MessageInput.js +93 -65
  201. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  202. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  203. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  204. package/lib/commonjs/components/MessageInput/SendButton.js +8 -6
  205. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  206. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  207. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  208. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +11 -10
  209. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  210. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  211. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  212. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  213. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  214. package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
  215. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  216. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +4 -3
  217. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  218. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  219. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  220. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  221. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  222. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  223. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  224. package/lib/commonjs/components/MessageList/MessageList.js +106 -58
  225. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  226. package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
  227. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  228. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +7 -5
  229. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  230. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  231. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  232. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
  233. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  234. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +24 -11
  235. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  236. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  237. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  238. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  239. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  240. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  241. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +11 -10
  242. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  243. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  244. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  245. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  246. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  247. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  248. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  249. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  250. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +110 -115
  251. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  252. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  253. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  254. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +17 -18
  255. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  256. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  257. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  258. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  259. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  260. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  261. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  262. package/lib/commonjs/components/Reply/Reply.js +25 -19
  263. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  264. package/lib/commonjs/components/Thread/Thread.js +6 -6
  265. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  266. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +13 -12
  267. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  268. package/lib/commonjs/components/docs/ListProps.md +1 -1
  269. package/lib/commonjs/components/docs/data.js +45 -45
  270. package/lib/commonjs/components/docs/data.js.map +1 -1
  271. package/lib/commonjs/components/index.js +133 -55
  272. package/lib/commonjs/components/index.js.map +1 -1
  273. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  274. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  275. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  276. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  277. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  278. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  279. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  280. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  281. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +4 -4
  282. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  283. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +3 -3
  284. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  285. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  286. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  287. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  288. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  289. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  290. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  291. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  292. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  293. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +105 -70
  294. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  295. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  296. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  297. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  298. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  299. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  300. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  301. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  302. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  303. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  304. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  305. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  306. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  307. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  308. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  309. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +49 -51
  310. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  311. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  312. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  313. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  314. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  315. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  316. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  317. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  318. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  319. package/lib/commonjs/contexts/themeContext/utils/theme.js +48 -20
  320. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  321. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  322. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  323. package/lib/commonjs/contexts/translationContext/TranslationContext.js +3 -3
  324. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  325. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  326. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  327. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  328. package/lib/commonjs/emoji-data/compiled.js +0 -315
  329. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  330. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  331. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  332. package/lib/commonjs/emoji-data/emojis.js +0 -175
  333. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  334. package/lib/commonjs/emoji-data/index.js +2 -2
  335. package/lib/commonjs/emoji-data/index.js.map +1 -1
  336. package/lib/commonjs/hooks/useAppStateListener.js +8 -5
  337. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  338. package/lib/commonjs/hooks/useIsMountedRef.js +19 -0
  339. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -0
  340. package/lib/commonjs/hooks/useStreami18n.js +5 -2
  341. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  342. package/lib/commonjs/i18n/en.json +9 -3
  343. package/lib/commonjs/i18n/fr.json +9 -3
  344. package/lib/commonjs/i18n/hi.json +9 -3
  345. package/lib/commonjs/i18n/it.json +9 -3
  346. package/lib/commonjs/i18n/ja.json +9 -0
  347. package/lib/commonjs/i18n/ko.json +9 -0
  348. package/lib/commonjs/i18n/nl.json +9 -3
  349. package/lib/commonjs/i18n/ru.json +9 -3
  350. package/lib/commonjs/i18n/tr.json +10 -4
  351. package/lib/commonjs/icons/Pin.js +42 -0
  352. package/lib/commonjs/icons/Pin.js.map +1 -0
  353. package/lib/commonjs/icons/PinHeader.js +38 -0
  354. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  355. package/lib/commonjs/icons/Unpin.js +38 -0
  356. package/lib/commonjs/icons/Unpin.js.map +1 -0
  357. package/lib/commonjs/icons/UserAdmin.js +62 -0
  358. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  359. package/lib/commonjs/icons/index.js +39 -26
  360. package/lib/commonjs/icons/index.js.map +1 -1
  361. package/lib/commonjs/icons/utils/base.js +1 -1
  362. package/lib/commonjs/index.js +6 -6
  363. package/lib/commonjs/init.js +13 -0
  364. package/lib/commonjs/init.js.map +1 -0
  365. package/lib/commonjs/mock-builders/api/error.js +1 -1
  366. package/lib/commonjs/mock-builders/api/queryChannels.js +1 -1
  367. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  368. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  369. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  370. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  371. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  372. package/lib/commonjs/mock-builders/generator/channel.js +101 -50
  373. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  374. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  375. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  376. package/lib/commonjs/mock-builders/mock.js +3 -3
  377. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  378. package/lib/commonjs/mock-builders/native/react-native-mock.js +1 -1
  379. package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
  380. package/lib/commonjs/native.js +1 -7
  381. package/lib/commonjs/native.js.map +1 -1
  382. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  383. package/lib/commonjs/utils/date.js +13 -0
  384. package/lib/commonjs/utils/date.js.map +1 -0
  385. package/lib/commonjs/utils/getResizedImageUrl.js +37 -0
  386. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  387. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  388. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  389. package/lib/commonjs/utils/utils.js +39 -19
  390. package/lib/commonjs/utils/utils.js.map +1 -1
  391. package/lib/commonjs/version.json +1 -1
  392. package/lib/module/components/Attachment/Attachment.js +16 -15
  393. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  394. package/lib/module/components/Attachment/AttachmentActions.js +4 -4
  395. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  396. package/lib/module/components/Attachment/Card.js +18 -15
  397. package/lib/module/components/Attachment/Card.js.map +1 -1
  398. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  399. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  400. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
  401. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  402. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  403. package/lib/module/components/Attachment/Gallery.js +123 -121
  404. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  405. package/lib/module/components/Attachment/Giphy.js +112 -148
  406. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  407. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  408. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  409. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  410. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  411. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  412. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  413. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  414. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  415. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  416. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  417. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  418. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  419. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  420. package/lib/module/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  421. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  422. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  423. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  424. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  425. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  426. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  427. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +11 -8
  428. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  429. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +24 -48
  430. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  431. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  432. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  433. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  434. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  435. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  436. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  437. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  438. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  439. package/lib/module/components/Avatar/Avatar.js +13 -7
  440. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  441. package/lib/module/components/Avatar/GroupAvatar.js +10 -8
  442. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  443. package/lib/module/components/Channel/Channel.js +303 -202
  444. package/lib/module/components/Channel/Channel.js.map +1 -1
  445. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +7 -5
  446. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  447. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  448. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  449. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  450. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  451. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  452. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  453. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  454. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  455. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  456. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  457. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  458. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  459. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  460. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  461. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  462. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  463. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  464. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +7 -4
  465. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  466. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  467. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  468. package/lib/module/components/ChannelList/Skeleton.js +14 -13
  469. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  470. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  471. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  472. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  473. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  474. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  475. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  476. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  477. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  478. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  479. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  480. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  481. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  482. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  483. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  484. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  485. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  486. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  487. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  488. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  489. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  490. package/lib/module/components/ChannelList/utils.js +1 -1
  491. package/lib/module/components/ChannelList/utils.js.map +1 -1
  492. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  493. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  494. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -4
  495. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  496. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +5 -5
  497. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  498. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  499. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  500. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  501. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  502. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  503. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  504. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  505. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  506. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  507. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  508. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  509. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  510. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  511. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  512. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  513. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  514. package/lib/module/components/Chat/Chat.js +8 -4
  515. package/lib/module/components/Chat/Chat.js.map +1 -1
  516. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  517. package/lib/module/components/Chat/hooks/useIsOnline.js +40 -31
  518. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  519. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  520. package/lib/module/components/ImageGallery/ImageGallery.js +107 -97
  521. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  522. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  523. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  524. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  525. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  526. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +31 -16
  527. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  528. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -9
  529. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  530. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  531. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  532. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  533. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  534. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  535. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
  536. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  537. package/lib/module/components/Message/Message.js +152 -854
  538. package/lib/module/components/Message/Message.js.map +1 -1
  539. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  540. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  541. package/lib/module/components/Message/MessageSimple/MessageContent.js +41 -39
  542. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  543. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +8 -6
  544. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  545. package/lib/module/components/Message/MessageSimple/MessageFooter.js +34 -22
  546. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  547. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  548. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  549. package/lib/module/components/Message/MessageSimple/MessageReplies.js +26 -10
  550. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  551. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  552. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  553. package/lib/module/components/Message/MessageSimple/MessageSimple.js +31 -14
  554. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  555. package/lib/module/components/Message/MessageSimple/MessageStatus.js +28 -24
  556. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  557. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  558. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  559. package/lib/module/components/Message/MessageSimple/ReactionList.js +86 -113
  560. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  561. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  562. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  563. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  564. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  565. package/lib/module/components/Message/MessageSimple/utils/renderText.js +207 -26
  566. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  567. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  568. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  569. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  570. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  571. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
  572. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  573. package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
  574. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  575. package/lib/module/components/Message/utils/messageActions.js +17 -15
  576. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  577. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  578. package/lib/module/components/MessageInput/AttachButton.js +6 -4
  579. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  580. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  581. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  582. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  583. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  584. package/lib/module/components/MessageInput/FileUploadPreview.js +32 -27
  585. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  586. package/lib/module/components/MessageInput/ImageUploadPreview.js +9 -9
  587. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  588. package/lib/module/components/MessageInput/InputButtons.js +17 -22
  589. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  590. package/lib/module/components/MessageInput/MessageInput.js +93 -65
  591. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  592. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  593. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  594. package/lib/module/components/MessageInput/SendButton.js +8 -6
  595. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  596. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  597. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  598. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +11 -10
  599. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  600. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  601. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  602. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  603. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  604. package/lib/module/components/MessageList/DateHeader.js +2 -2
  605. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  606. package/lib/module/components/MessageList/InlineDateSeparator.js +4 -3
  607. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  608. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  609. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  610. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  611. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  612. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  613. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  614. package/lib/module/components/MessageList/MessageList.js +106 -58
  615. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  616. package/lib/module/components/MessageList/MessageSystem.js +6 -6
  617. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  618. package/lib/module/components/MessageList/ScrollToBottomButton.js +7 -5
  619. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  620. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  621. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  622. package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
  623. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  624. package/lib/module/components/MessageList/hooks/useMessageList.js +24 -11
  625. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  626. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  627. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  628. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  629. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  630. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  631. package/lib/module/components/MessageList/utils/getGroupStyles.js +11 -10
  632. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  633. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  634. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  635. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  636. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  637. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  638. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  639. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  640. package/lib/module/components/MessageOverlay/MessageOverlay.js +110 -115
  641. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  642. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  643. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  644. package/lib/module/components/MessageOverlay/OverlayReactionList.js +17 -18
  645. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  646. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  647. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  648. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  649. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  650. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  651. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  652. package/lib/module/components/Reply/Reply.js +25 -19
  653. package/lib/module/components/Reply/Reply.js.map +1 -1
  654. package/lib/module/components/Thread/Thread.js +6 -6
  655. package/lib/module/components/Thread/Thread.js.map +1 -1
  656. package/lib/module/components/Thread/components/ThreadFooterComponent.js +13 -12
  657. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  658. package/lib/module/components/docs/ListProps.md +1 -1
  659. package/lib/module/components/docs/data.js +45 -45
  660. package/lib/module/components/docs/data.js.map +1 -1
  661. package/lib/module/components/index.js +133 -55
  662. package/lib/module/components/index.js.map +1 -1
  663. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  664. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  665. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  666. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  667. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  668. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  669. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  670. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  671. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +4 -4
  672. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  673. package/lib/module/contexts/channelsStateContext/useChannelState.js +3 -3
  674. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  675. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  676. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  677. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  678. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  679. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  680. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  681. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  682. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  683. package/lib/module/contexts/messageInputContext/MessageInputContext.js +105 -70
  684. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  685. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  686. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  687. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  688. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  689. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  690. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  691. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  692. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  693. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  694. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  695. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  696. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  697. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  698. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  699. package/lib/module/contexts/overlayContext/OverlayProvider.js +49 -51
  700. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  701. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  702. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  703. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  704. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  705. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  706. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  707. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  708. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  709. package/lib/module/contexts/themeContext/utils/theme.js +48 -20
  710. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  711. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  712. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  713. package/lib/module/contexts/translationContext/TranslationContext.js +3 -3
  714. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  715. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  716. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  717. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  718. package/lib/module/emoji-data/compiled.js +0 -315
  719. package/lib/module/emoji-data/compiled.js.map +1 -1
  720. package/lib/module/emoji-data/emojiNames.js +0 -105
  721. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  722. package/lib/module/emoji-data/emojis.js +0 -175
  723. package/lib/module/emoji-data/emojis.js.map +1 -1
  724. package/lib/module/emoji-data/index.js +2 -2
  725. package/lib/module/emoji-data/index.js.map +1 -1
  726. package/lib/module/hooks/useAppStateListener.js +8 -5
  727. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  728. package/lib/module/hooks/useIsMountedRef.js +19 -0
  729. package/lib/module/hooks/useIsMountedRef.js.map +1 -0
  730. package/lib/module/hooks/useStreami18n.js +5 -2
  731. package/lib/module/hooks/useStreami18n.js.map +1 -1
  732. package/lib/module/i18n/en.json +9 -3
  733. package/lib/module/i18n/fr.json +9 -3
  734. package/lib/module/i18n/hi.json +9 -3
  735. package/lib/module/i18n/it.json +9 -3
  736. package/lib/module/i18n/ja.json +9 -0
  737. package/lib/module/i18n/ko.json +9 -0
  738. package/lib/module/i18n/nl.json +9 -3
  739. package/lib/module/i18n/ru.json +9 -3
  740. package/lib/module/i18n/tr.json +10 -4
  741. package/lib/module/icons/Pin.js +42 -0
  742. package/lib/module/icons/Pin.js.map +1 -0
  743. package/lib/module/icons/PinHeader.js +38 -0
  744. package/lib/module/icons/PinHeader.js.map +1 -0
  745. package/lib/module/icons/Unpin.js +38 -0
  746. package/lib/module/icons/Unpin.js.map +1 -0
  747. package/lib/module/icons/UserAdmin.js +62 -0
  748. package/lib/module/icons/UserAdmin.js.map +1 -0
  749. package/lib/module/icons/index.js +39 -26
  750. package/lib/module/icons/index.js.map +1 -1
  751. package/lib/module/icons/utils/base.js +1 -1
  752. package/lib/module/index.js +6 -6
  753. package/lib/module/init.js +13 -0
  754. package/lib/module/init.js.map +1 -0
  755. package/lib/module/mock-builders/api/error.js +1 -1
  756. package/lib/module/mock-builders/api/queryChannels.js +1 -1
  757. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  758. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  759. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  760. package/lib/module/mock-builders/generator/attachment.js +1 -3
  761. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  762. package/lib/module/mock-builders/generator/channel.js +101 -50
  763. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  764. package/lib/module/mock-builders/generator/user.js +32 -33
  765. package/lib/module/mock-builders/generator/user.js.map +1 -1
  766. package/lib/module/mock-builders/mock.js +3 -3
  767. package/lib/module/mock-builders/mock.js.map +1 -1
  768. package/lib/module/mock-builders/native/react-native-mock.js +1 -1
  769. package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
  770. package/lib/module/native.js +1 -7
  771. package/lib/module/native.js.map +1 -1
  772. package/lib/module/utils/Streami18n.js.map +1 -1
  773. package/lib/module/utils/date.js +13 -0
  774. package/lib/module/utils/date.js.map +1 -0
  775. package/lib/module/utils/getResizedImageUrl.js +37 -0
  776. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  777. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  778. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  779. package/lib/module/utils/utils.js +39 -19
  780. package/lib/module/utils/utils.js.map +1 -1
  781. package/lib/module/version.json +1 -1
  782. package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
  783. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
  784. package/lib/typescript/components/Attachment/Card.d.ts +7 -5
  785. package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
  786. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  787. package/lib/typescript/components/Attachment/Gallery.d.ts +19 -6
  788. package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
  789. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  790. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  791. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  792. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  793. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  794. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  795. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  796. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  797. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  798. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +10 -4
  799. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +5 -0
  800. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  801. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  802. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
  803. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  804. package/lib/typescript/components/Channel/Channel.d.ts +13 -16
  805. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  806. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -70
  807. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -126
  808. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  809. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  810. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  811. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  812. package/lib/typescript/components/ChannelList/ChannelList.d.ts +15 -15
  813. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  814. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  815. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  816. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  817. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  818. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  819. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  820. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  821. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  822. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  823. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  824. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  825. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  826. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +11 -9
  827. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  828. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  829. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +7 -7
  830. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  831. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
  832. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  833. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  834. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  835. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  836. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +15 -3
  837. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  838. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  839. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  840. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  841. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  842. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  843. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  844. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +13 -11
  845. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  846. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  847. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  848. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -11
  849. package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
  850. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  851. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
  852. package/lib/typescript/components/Message/Message.d.ts +14 -13
  853. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
  854. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  855. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
  856. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
  857. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  858. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  859. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  860. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  861. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  862. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +7 -6
  863. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +5 -4
  864. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  865. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  866. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +21 -6
  867. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  868. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  869. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  870. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  871. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  872. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  873. package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
  874. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
  875. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  876. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  877. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  878. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  879. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  880. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +5 -5
  881. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  882. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  883. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  884. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  885. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  886. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  887. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  888. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  889. package/lib/typescript/components/MessageList/MessageList.d.ts +8 -7
  890. package/lib/typescript/components/MessageList/MessageSystem.d.ts +5 -5
  891. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  892. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  893. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -5
  894. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  895. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  896. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  897. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +5 -5
  898. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  899. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  900. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  901. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +21 -0
  902. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +6 -7
  903. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  904. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -7
  905. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  906. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  907. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  908. package/lib/typescript/components/Reply/Reply.d.ts +5 -5
  909. package/lib/typescript/components/Thread/Thread.d.ts +8 -8
  910. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  911. package/lib/typescript/components/index.d.ts +13 -7
  912. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  913. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +39 -40
  914. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +30 -22
  915. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  916. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  917. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  918. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  919. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  920. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -16
  921. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +53 -42
  922. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  923. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  924. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +31 -32
  925. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  926. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  927. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +77 -166
  928. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +15 -8
  929. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  930. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  931. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  932. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +29 -28
  933. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +48 -17
  934. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  935. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  936. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  937. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  938. package/lib/typescript/hooks/useIsMountedRef.d.ts +20 -0
  939. package/lib/typescript/i18n/en.json +9 -3
  940. package/lib/typescript/i18n/fr.json +9 -3
  941. package/lib/typescript/i18n/hi.json +9 -3
  942. package/lib/typescript/i18n/it.json +9 -3
  943. package/lib/typescript/i18n/ja.json +9 -0
  944. package/lib/typescript/i18n/ko.json +9 -0
  945. package/lib/typescript/i18n/nl.json +9 -3
  946. package/lib/typescript/i18n/ru.json +9 -3
  947. package/lib/typescript/i18n/tr.json +10 -4
  948. package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
  949. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  950. package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
  951. package/lib/typescript/icons/UserAdmin.d.ts +3 -0
  952. package/lib/typescript/icons/index.d.ts +3 -2
  953. package/lib/typescript/init.d.ts +2 -0
  954. package/lib/typescript/native.d.ts +1 -9
  955. package/lib/typescript/types/types.d.ts +16 -13
  956. package/lib/typescript/utils/Streami18n.d.ts +15 -12
  957. package/lib/typescript/utils/date.d.ts +2 -0
  958. package/lib/typescript/utils/getResizedImageUrl.d.ts +20 -0
  959. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  960. package/lib/typescript/utils/utils.d.ts +36 -30
  961. package/package.json +15 -20
  962. package/src/components/Attachment/Attachment.tsx +20 -61
  963. package/src/components/Attachment/AttachmentActions.tsx +17 -57
  964. package/src/components/Attachment/Card.tsx +22 -52
  965. package/src/components/Attachment/FileAttachment.tsx +16 -51
  966. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  967. package/src/components/Attachment/FileIcon.tsx +2 -2
  968. package/src/components/Attachment/Gallery.tsx +209 -241
  969. package/src/components/Attachment/Giphy.tsx +84 -128
  970. package/src/components/Attachment/__tests__/Attachment.test.js +27 -19
  971. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  972. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  973. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +77 -0
  974. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
  975. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  976. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
  977. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
  978. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -0
  979. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  980. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  981. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  982. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  983. package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx +15 -3
  984. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +66 -96
  985. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +7 -59
  986. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +102 -0
  987. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +149 -0
  988. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +209 -0
  989. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +10 -16
  990. package/src/components/Avatar/Avatar.tsx +8 -11
  991. package/src/components/Avatar/GroupAvatar.tsx +7 -21
  992. package/src/components/Avatar/__tests__/Avatar.test.js +2 -33
  993. package/src/components/Channel/Channel.tsx +495 -477
  994. package/src/components/Channel/__tests__/Channel.test.js +63 -100
  995. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  996. package/src/components/Channel/hooks/useCreateChannelContext.ts +11 -25
  997. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +54 -69
  998. package/src/components/Channel/hooks/useCreateMessagesContext.ts +17 -49
  999. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +39 -0
  1000. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  1001. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  1002. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  1003. package/src/components/ChannelList/ChannelList.tsx +36 -58
  1004. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
  1005. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  1006. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
  1007. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +5 -1
  1008. package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
  1009. package/src/components/ChannelList/Skeleton.tsx +2 -1
  1010. package/src/components/ChannelList/__tests__/ChannelList.test.js +75 -16
  1011. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +46 -14
  1012. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
  1013. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
  1014. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
  1015. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
  1016. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
  1017. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
  1018. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +8 -20
  1019. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
  1020. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
  1021. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
  1022. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
  1023. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
  1024. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +95 -70
  1025. package/src/components/ChannelList/utils.ts +9 -42
  1026. package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
  1027. package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
  1028. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +14 -24
  1029. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +39 -56
  1030. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
  1031. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
  1032. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
  1033. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
  1034. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +16 -22
  1035. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +23 -14
  1036. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +15 -30
  1037. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
  1038. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
  1039. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +31 -81
  1040. package/src/components/Chat/Chat.tsx +19 -44
  1041. package/src/components/Chat/__tests__/Chat.test.js +12 -47
  1042. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  1043. package/src/components/Chat/hooks/useIsOnline.ts +45 -56
  1044. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  1045. package/src/components/ImageGallery/ImageGallery.tsx +127 -133
  1046. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  1047. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
  1048. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +45 -25
  1049. package/src/components/ImageGallery/components/ImageGrid.tsx +46 -35
  1050. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  1051. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
  1052. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  1053. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  1054. package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
  1055. package/src/components/Message/Message.tsx +196 -688
  1056. package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
  1057. package/src/components/Message/MessageSimple/MessageContent.tsx +42 -87
  1058. package/src/components/Message/MessageSimple/MessageDeleted.tsx +24 -63
  1059. package/src/components/Message/MessageSimple/MessageFooter.tsx +60 -84
  1060. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +109 -0
  1061. package/src/components/Message/MessageSimple/MessageReplies.tsx +19 -60
  1062. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
  1063. package/src/components/Message/MessageSimple/MessageSimple.tsx +64 -78
  1064. package/src/components/Message/MessageSimple/MessageStatus.tsx +35 -88
  1065. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +24 -66
  1066. package/src/components/Message/MessageSimple/ReactionList.tsx +110 -163
  1067. package/src/components/Message/MessageSimple/__tests__/Message.test.js +24 -258
  1068. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +9 -8
  1069. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +63 -46
  1070. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  1071. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +13 -9
  1072. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -47
  1073. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  1074. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +35 -22
  1075. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  1076. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +72 -46
  1077. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap +77 -48
  1078. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageTextContainer.test.js.snap +6 -18
  1079. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  1080. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  1081. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  1082. package/src/components/Message/MessageSimple/utils/renderText.tsx +138 -63
  1083. package/src/components/Message/hooks/useCreateMessageContext.ts +5 -26
  1084. package/src/components/Message/hooks/useMessageActionHandlers.ts +157 -0
  1085. package/src/components/Message/hooks/useMessageActions.tsx +371 -0
  1086. package/src/components/Message/utils/messageActions.ts +53 -54
  1087. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  1088. package/src/components/MessageInput/AttachButton.tsx +15 -57
  1089. package/src/components/MessageInput/CommandsButton.tsx +16 -58
  1090. package/src/components/MessageInput/CooldownTimer.tsx +67 -0
  1091. package/src/components/MessageInput/FileUploadPreview.tsx +86 -118
  1092. package/src/components/MessageInput/ImageUploadPreview.tsx +15 -58
  1093. package/src/components/MessageInput/InputButtons.tsx +17 -64
  1094. package/src/components/MessageInput/MessageInput.tsx +83 -97
  1095. package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
  1096. package/src/components/MessageInput/SendButton.tsx +14 -55
  1097. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  1098. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +6 -21
  1099. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  1100. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +193 -97
  1101. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +35 -35
  1102. package/src/components/MessageInput/__tests__/MessageInput.test.js +29 -17
  1103. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  1104. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  1105. package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +134 -52
  1106. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3955 -1647
  1107. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1964 -1464
  1108. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +633 -326
  1109. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +224 -124
  1110. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +85 -17
  1111. package/src/components/MessageInput/hooks/useCooldown.ts +48 -0
  1112. package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
  1113. package/src/components/MessageList/DateHeader.tsx +2 -2
  1114. package/src/components/MessageList/InlineDateSeparator.tsx +5 -2
  1115. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  1116. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  1117. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  1118. package/src/components/MessageList/MessageList.tsx +198 -152
  1119. package/src/components/MessageList/MessageSystem.tsx +7 -28
  1120. package/src/components/MessageList/ScrollToBottomButton.tsx +6 -1
  1121. package/src/components/MessageList/TypingIndicator.tsx +4 -20
  1122. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  1123. package/src/components/MessageList/__tests__/MessageList.test.js +231 -152
  1124. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  1125. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +13 -8
  1126. package/src/components/MessageList/__tests__/TypingIndicator.test.js +14 -97
  1127. package/src/components/MessageList/__tests__/__snapshots__/MessageSystem.test.js.snap +9 -4
  1128. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +78 -32
  1129. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +60 -57
  1130. package/src/components/MessageList/hooks/useMessageList.ts +39 -62
  1131. package/src/components/MessageList/hooks/useTypingString.ts +6 -22
  1132. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  1133. package/src/components/MessageList/utils/getDateSeparators.ts +10 -30
  1134. package/src/components/MessageList/utils/getGroupStyles.ts +23 -44
  1135. package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
  1136. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  1137. package/src/components/MessageOverlay/MessageActionList.tsx +170 -0
  1138. package/src/components/MessageOverlay/MessageActionListItem.tsx +124 -0
  1139. package/src/components/MessageOverlay/MessageOverlay.tsx +279 -310
  1140. package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
  1141. package/src/components/MessageOverlay/OverlayReactionList.tsx +24 -82
  1142. package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
  1143. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  1144. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
  1145. package/src/components/Reply/Reply.tsx +44 -81
  1146. package/src/components/Thread/Thread.tsx +24 -58
  1147. package/src/components/Thread/__tests__/Thread.test.js +58 -77
  1148. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +874 -1011
  1149. package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -49
  1150. package/src/components/docs/ListProps.md +1 -1
  1151. package/src/components/docs/data.js +38 -37
  1152. package/src/components/index.ts +13 -7
  1153. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  1154. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
  1155. package/src/contexts/channelContext/ChannelContext.tsx +43 -79
  1156. package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
  1157. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +39 -117
  1158. package/src/contexts/channelsStateContext/useChannelState.ts +29 -61
  1159. package/src/contexts/chatContext/ChatContext.tsx +15 -51
  1160. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
  1161. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
  1162. package/src/contexts/messageContext/MessageContext.tsx +16 -57
  1163. package/src/contexts/messageInputContext/MessageInputContext.tsx +146 -157
  1164. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +13 -26
  1165. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
  1166. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +41 -97
  1167. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1168. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1169. package/src/contexts/messagesContext/MessagesContext.tsx +96 -234
  1170. package/src/contexts/overlayContext/OverlayContext.tsx +35 -35
  1171. package/src/contexts/overlayContext/OverlayProvider.tsx +50 -62
  1172. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  1173. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
  1174. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +59 -80
  1175. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +4 -2
  1176. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1177. package/src/contexts/themeContext/utils/theme.ts +94 -36
  1178. package/src/contexts/threadContext/ThreadContext.tsx +14 -48
  1179. package/src/contexts/translationContext/TranslationContext.tsx +15 -10
  1180. package/src/contexts/typingContext/TypingContext.tsx +12 -46
  1181. package/src/contexts/utils/getDisplayName.ts +3 -1
  1182. package/src/emoji-data/compiled.ts +1830 -9609
  1183. package/src/emoji-data/emojiNames.ts +0 -140
  1184. package/src/emoji-data/emojis.ts +0 -210
  1185. package/src/emoji-data/index.js +1 -1
  1186. package/src/hooks/useAppStateListener.ts +26 -12
  1187. package/src/hooks/useIsMountedRef.ts +36 -0
  1188. package/src/hooks/useStreami18n.ts +5 -3
  1189. package/src/i18n/en.json +9 -3
  1190. package/src/i18n/fr.json +9 -3
  1191. package/src/i18n/hi.json +9 -3
  1192. package/src/i18n/it.json +9 -3
  1193. package/src/i18n/ja.json +9 -0
  1194. package/src/i18n/ko.json +9 -0
  1195. package/src/i18n/nl.json +9 -3
  1196. package/src/i18n/ru.json +9 -3
  1197. package/src/i18n/tr.json +10 -4
  1198. package/src/icons/Pin.tsx +17 -0
  1199. package/src/icons/PinHeader.tsx +12 -0
  1200. package/src/icons/Unpin.tsx +12 -0
  1201. package/src/icons/UserAdmin.tsx +23 -0
  1202. package/src/icons/index.ts +3 -2
  1203. package/src/init.ts +5 -0
  1204. package/src/mock-builders/api/queryChannels.js +1 -1
  1205. package/src/mock-builders/api/sendMessage.js +3 -1
  1206. package/src/mock-builders/generator/attachment.js +0 -2
  1207. package/src/mock-builders/generator/channel.js +101 -46
  1208. package/src/mock-builders/generator/user.js +33 -26
  1209. package/src/mock-builders/mock.js +2 -2
  1210. package/src/mock-builders/native/react-native-mock.js +1 -1
  1211. package/src/native.ts +2 -13
  1212. package/src/types/types.ts +16 -18
  1213. package/src/utils/Streami18n.ts +6 -6
  1214. package/src/utils/__tests__/Streami18n.test.js +9 -45
  1215. package/src/utils/__tests__/getResizedImageUrl.test.js +57 -0
  1216. package/src/utils/__tests__/utils.test.js +19 -0
  1217. package/src/utils/date.ts +4 -0
  1218. package/src/utils/getResizedImageUrl.ts +59 -0
  1219. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1220. package/src/utils/utils.ts +97 -142
  1221. package/src/version.json +1 -1
  1222. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1223. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1224. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1225. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1226. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1227. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  1228. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1229. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  1230. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1231. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1232. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1233. package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
  1234. package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
  1235. package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
  1236. package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
  1237. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  1238. package/lib/commonjs/icons/Left.js +0 -38
  1239. package/lib/commonjs/icons/Left.js.map +0 -1
  1240. package/lib/commonjs/icons/Right.js +0 -38
  1241. package/lib/commonjs/icons/Right.js.map +0 -1
  1242. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
  1243. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1244. package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
  1245. package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
  1246. package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
  1247. package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
  1248. package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
  1249. package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
  1250. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
  1251. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
  1252. package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
  1253. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
  1254. package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
  1255. package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
  1256. package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
  1257. package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
  1258. package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
  1259. package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
  1260. package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
  1261. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1262. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1263. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1264. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1265. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1266. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  1267. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1268. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  1269. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1270. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1271. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1272. package/lib/module/components/Channel/utils/debounce.js +0 -20
  1273. package/lib/module/components/Channel/utils/debounce.js.map +0 -1
  1274. package/lib/module/components/Channel/utils/throttle.js +0 -20
  1275. package/lib/module/components/Channel/utils/throttle.js.map +0 -1
  1276. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  1277. package/lib/module/icons/Left.js +0 -38
  1278. package/lib/module/icons/Left.js.map +0 -1
  1279. package/lib/module/icons/Right.js +0 -38
  1280. package/lib/module/icons/Right.js.map +0 -1
  1281. package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
  1282. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1283. package/lib/module/styleguideComponents/BottomSheet.js +0 -25
  1284. package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
  1285. package/lib/module/styleguideComponents/JsDoc.js +0 -87
  1286. package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
  1287. package/lib/module/styleguideComponents/Markdown.js +0 -12
  1288. package/lib/module/styleguideComponents/Markdown.js.map +0 -1
  1289. package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
  1290. package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
  1291. package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
  1292. package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
  1293. package/lib/module/styleguideComponents/Reanimated.js +0 -2
  1294. package/lib/module/styleguideComponents/Wrapper.js +0 -29
  1295. package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
  1296. package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
  1297. package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
  1298. package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
  1299. package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
  1300. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  1301. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  1302. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  1303. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  1304. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  1305. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  1306. package/lib/typescript/components/Channel/utils/debounce.d.ts +0 -2
  1307. package/lib/typescript/components/Channel/utils/throttle.d.ts +0 -2
  1308. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  1309. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  1310. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  1311. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  1312. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  1313. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  1314. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -29
  1315. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  1316. package/src/components/Channel/utils/debounce.ts +0 -12
  1317. package/src/components/Channel/utils/throttle.ts +0 -12
  1318. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -983
  1319. package/src/components/MessageOverlay/MessageActions.tsx +0 -243
  1320. package/src/icons/Left.tsx +0 -12
  1321. package/src/icons/Right.tsx +0 -12
  1322. package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -59
  1323. package/src/styleguideComponents/BottomSheet.tsx +0 -3
  1324. package/src/styleguideComponents/JsDoc.tsx +0 -43
  1325. package/src/styleguideComponents/Markdown.tsx +0 -1
  1326. package/src/styleguideComponents/PathlineRenderer.tsx +0 -44
  1327. package/src/styleguideComponents/PropsRenderer.tsx +0 -138
  1328. package/src/styleguideComponents/Reanimated.tsx +0 -0
  1329. package/src/styleguideComponents/Wrapper.tsx +0 -6
  1330. package/src/styleguideComponents/register-react-native-web.js +0 -13
  1331. package/src/styleguideComponents/resolveAssetSource.js +0 -2
@@ -3,70 +3,121 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.generateChannel = void 0;
7
-
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+ exports.generateChannelResponse = exports.generateChannel = void 0;
9
7
 
10
8
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
12
16
  var _uuid = require("uuid");
13
17
 
14
- var _excluded = ["channel"];
18
+ var _user = require("./user");
15
19
 
16
- var generateChannel = function generateChannel() {
17
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
18
- channel: {}
19
- };
20
- var optionsChannel = options.channel,
21
- optionsBesidesChannel = (0, _objectWithoutProperties2["default"])(options, _excluded);
22
- var id = optionsChannel && optionsChannel.id || (0, _uuid.v4)();
23
- var type = optionsChannel && optionsChannel.type || 'messaging';
24
- return (0, _extends2["default"])({
25
- channel: (0, _extends2["default"])({
20
+ var _excluded = ["id", "type", "channel"];
21
+ var defaultCapabilities = ['ban-channel-members', 'delete-any-message', 'delete-own-message', 'flag-message', 'mute-channel', 'pin-message', 'quote-message', 'read-events', 'send-links', 'send-message', 'send-reaction', 'send-reply', 'typing-events', 'update-any-message', 'update-own-message', 'upload-file'];
22
+ var defaultConfig = {
23
+ automod: 'disabled',
24
+ automod_behavior: 'flag',
25
+ commands: [{
26
+ args: '[text]',
27
+ description: 'Post a random gif to the channel',
28
+ name: 'giphy',
29
+ set: 'fun_set'
30
+ }],
31
+ connect_events: true,
32
+ created_at: '2020-04-24T11:36:43.859020368Z',
33
+ max_message_length: 5000,
34
+ message_retention: 'infinite',
35
+ mutes: true,
36
+ name: 'messaging',
37
+ reactions: true,
38
+ read_events: true,
39
+ replies: true,
40
+ search: true,
41
+ typing_events: true,
42
+ updated_at: '2020-04-24T11:36:43.859022903Z',
43
+ uploads: true,
44
+ url_enrichment: true
45
+ };
46
+ var defaultState = {
47
+ members: {},
48
+ messages: [],
49
+ setIsUpToDate: jest.fn()
50
+ };
51
+
52
+ var getChannelDefaults = function getChannelDefaults() {
53
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
54
+ id: (0, _uuid.v4)(),
55
+ type: 'messaging'
56
+ },
57
+ id = _ref.id,
58
+ type = _ref.type;
59
+
60
+ return {
61
+ _client: {},
62
+ data: {
26
63
  cid: type + ":" + id,
27
- config: {
28
- automod: 'disabled',
29
- automod_behavior: 'flag',
30
- commands: [{
31
- args: '[text]',
32
- description: 'Post a random gif to the channel',
33
- name: 'giphy',
34
- set: 'fun_set'
35
- }],
36
- connect_events: true,
37
- created_at: '2020-04-24T11:36:43.859020368Z',
38
- max_message_length: 5000,
39
- message_retention: 'infinite',
40
- mutes: true,
41
- name: 'messaging',
42
- reactions: true,
43
- read_events: true,
44
- replies: true,
45
- search: true,
46
- typing_events: true,
47
- updated_at: '2020-04-24T11:36:43.859022903Z',
48
- uploads: true,
49
- url_enrichment: true
50
- },
64
+ config: (0, _extends3["default"])({}, defaultConfig, {
65
+ name: type,
66
+ type: type
67
+ }),
51
68
  created_at: '2020-04-28T11:20:48.578147Z',
52
- created_by: {
53
- banned: false,
54
- created_at: '2020-04-27T13:05:13.847572Z',
55
- id: 'vishal',
56
- last_active: '2020-04-28T11:21:08.353026Z',
57
- online: false,
58
- role: 'user',
59
- updated_at: '2020-04-28T11:21:08.357468Z'
60
- },
69
+ created_by: (0, _user.getUserDefaults)(),
61
70
  frozen: false,
62
71
  id: id,
72
+ own_capabilities: defaultCapabilities,
63
73
  type: type,
64
74
  updated_at: '2020-04-28T11:20:48.578147Z'
65
- }, optionsChannel),
75
+ },
76
+ id: id,
77
+ state: defaultState,
78
+ type: type
79
+ };
80
+ };
81
+
82
+ var generateChannel = function generateChannel(customValues) {
83
+ return Object.keys(customValues).reduce(function (accumulated, current) {
84
+ if (Object.prototype.hasOwnProperty.call(accumulated, current)) {
85
+ accumulated[current] = (0, _typeof2["default"])(accumulated[current]) === 'object' ? (0, _extends3["default"])({}, accumulated[current], customValues[current]) : accumulated[current] = customValues[current];
86
+ return accumulated;
87
+ }
88
+
89
+ return (0, _extends3["default"])({}, accumulated, (0, _defineProperty2["default"])({}, current, customValues[current]));
90
+ }, getChannelDefaults());
91
+ };
92
+
93
+ exports.generateChannel = generateChannel;
94
+
95
+ var generateChannelResponse = function generateChannelResponse() {
96
+ var customValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
97
+ channel: {},
98
+ id: (0, _uuid.v4)(),
99
+ type: 'messaging'
100
+ };
101
+ var _customValues$id = customValues.id,
102
+ id = _customValues$id === void 0 ? (0, _uuid.v4)() : _customValues$id,
103
+ _customValues$type = customValues.type,
104
+ type = _customValues$type === void 0 ? 'messaging' : _customValues$type,
105
+ _customValues$channel = customValues.channel,
106
+ channel = _customValues$channel === void 0 ? {} : _customValues$channel,
107
+ rest = (0, _objectWithoutProperties2["default"])(customValues, _excluded);
108
+ var defaults = getChannelDefaults();
109
+ return (0, _extends3["default"])({
110
+ channel: (0, _extends3["default"])({}, defaults.data, (0, _extends3["default"])({
111
+ cid: type + ":" + id
112
+ }, channel, {
113
+ id: id,
114
+ type: type,
115
+ user: (0, _user.generateUser)()
116
+ })),
66
117
  members: [],
67
118
  messages: []
68
- }, optionsBesidesChannel);
119
+ }, rest);
69
120
  };
70
121
 
71
- exports.generateChannel = generateChannel;
122
+ exports.generateChannelResponse = generateChannelResponse;
72
123
  //# sourceMappingURL=channel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["channel.js"],"names":["generateChannel","options","channel","optionsChannel","optionsBesidesChannel","id","type","cid","config","automod","automod_behavior","commands","args","description","name","set","connect_events","created_at","max_message_length","message_retention","mutes","reactions","read_events","replies","search","typing_events","updated_at","uploads","url_enrichment","created_by","banned","last_active","online","role","frozen","members","messages"],"mappings":";;;;;;;;;;;AAAA;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,GAA+B;AAAA,MAA9BC,OAA8B,uEAApB;AAAEC,IAAAA,OAAO,EAAE;AAAX,GAAoB;AAC5D,MAAiBC,cAAjB,GAA8DF,OAA9D,CAAQC,OAAR;AAAA,MAAoCE,qBAApC,6CAA8DH,OAA9D;AACA,MAAMI,EAAE,GAAIF,cAAc,IAAIA,cAAc,CAACE,EAAlC,IAAyC,eAApD;AACA,MAAMC,IAAI,GAAIH,cAAc,IAAIA,cAAc,CAACG,IAAlC,IAA2C,WAAxD;AACA;AACEJ,IAAAA,OAAO;AACLK,MAAAA,GAAG,EAAKD,IAAL,SAAaD,EADX;AAELG,MAAAA,MAAM,EAAE;AACNC,QAAAA,OAAO,EAAE,UADH;AAENC,QAAAA,gBAAgB,EAAE,MAFZ;AAGNC,QAAAA,QAAQ,EAAE,CACR;AACEC,UAAAA,IAAI,EAAE,QADR;AAEEC,UAAAA,WAAW,EAAE,kCAFf;AAGEC,UAAAA,IAAI,EAAE,OAHR;AAIEC,UAAAA,GAAG,EAAE;AAJP,SADQ,CAHJ;AAWNC,QAAAA,cAAc,EAAE,IAXV;AAYNC,QAAAA,UAAU,EAAE,gCAZN;AAaNC,QAAAA,kBAAkB,EAAE,IAbd;AAcNC,QAAAA,iBAAiB,EAAE,UAdb;AAeNC,QAAAA,KAAK,EAAE,IAfD;AAgBNN,QAAAA,IAAI,EAAE,WAhBA;AAiBNO,QAAAA,SAAS,EAAE,IAjBL;AAkBNC,QAAAA,WAAW,EAAE,IAlBP;AAmBNC,QAAAA,OAAO,EAAE,IAnBH;AAoBNC,QAAAA,MAAM,EAAE,IApBF;AAqBNC,QAAAA,aAAa,EAAE,IArBT;AAsBNC,QAAAA,UAAU,EAAE,gCAtBN;AAuBNC,QAAAA,OAAO,EAAE,IAvBH;AAwBNC,QAAAA,cAAc,EAAE;AAxBV,OAFH;AA4BLX,MAAAA,UAAU,EAAE,6BA5BP;AA6BLY,MAAAA,UAAU,EAAE;AACVC,QAAAA,MAAM,EAAE,KADE;AAEVb,QAAAA,UAAU,EAAE,6BAFF;AAGVZ,QAAAA,EAAE,EAAE,QAHM;AAIV0B,QAAAA,WAAW,EAAE,6BAJH;AAKVC,QAAAA,MAAM,EAAE,KALE;AAMVC,QAAAA,IAAI,EAAE,MANI;AAOVP,QAAAA,UAAU,EAAE;AAPF,OA7BP;AAsCLQ,MAAAA,MAAM,EAAE,KAtCH;AAuCL7B,MAAAA,EAAE,EAAFA,EAvCK;AAwCLC,MAAAA,IAAI,EAAJA,IAxCK;AAyCLoB,MAAAA,UAAU,EAAE;AAzCP,OA0CFvB,cA1CE,CADT;AA6CEgC,IAAAA,OAAO,EAAE,EA7CX;AA8CEC,IAAAA,QAAQ,EAAE;AA9CZ,KA+CKhC,qBA/CL;AAiDD,CArDM","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nexport const generateChannel = (options = { channel: {} }) => {\n const { channel: optionsChannel, ...optionsBesidesChannel } = options;\n const id = (optionsChannel && optionsChannel.id) || uuidv4();\n const type = (optionsChannel && optionsChannel.type) || 'messaging';\n return {\n channel: {\n cid: `${type}:${id}`,\n config: {\n automod: 'disabled',\n automod_behavior: 'flag',\n commands: [\n {\n args: '[text]',\n description: 'Post a random gif to the channel',\n name: 'giphy',\n set: 'fun_set',\n },\n ],\n connect_events: true,\n created_at: '2020-04-24T11:36:43.859020368Z',\n max_message_length: 5000,\n message_retention: 'infinite',\n mutes: true,\n name: 'messaging',\n reactions: true,\n read_events: true,\n replies: true,\n search: true,\n typing_events: true,\n updated_at: '2020-04-24T11:36:43.859022903Z',\n uploads: true,\n url_enrichment: true,\n },\n created_at: '2020-04-28T11:20:48.578147Z',\n created_by: {\n banned: false,\n created_at: '2020-04-27T13:05:13.847572Z',\n id: 'vishal',\n last_active: '2020-04-28T11:21:08.353026Z',\n online: false,\n role: 'user',\n updated_at: '2020-04-28T11:21:08.357468Z',\n },\n frozen: false,\n id,\n type,\n updated_at: '2020-04-28T11:20:48.578147Z',\n ...optionsChannel,\n },\n members: [],\n messages: [],\n ...optionsBesidesChannel,\n };\n};\n"]}
1
+ {"version":3,"sources":["channel.js"],"names":["defaultCapabilities","defaultConfig","automod","automod_behavior","commands","args","description","name","set","connect_events","created_at","max_message_length","message_retention","mutes","reactions","read_events","replies","search","typing_events","updated_at","uploads","url_enrichment","defaultState","members","messages","setIsUpToDate","jest","fn","getChannelDefaults","id","type","_client","data","cid","config","created_by","frozen","own_capabilities","state","generateChannel","customValues","Object","keys","reduce","accumulated","current","prototype","hasOwnProperty","call","generateChannelResponse","channel","rest","defaults","user"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;;AAEA,IAAMA,mBAAmB,GAAG,CAC1B,qBAD0B,EAE1B,oBAF0B,EAG1B,oBAH0B,EAI1B,cAJ0B,EAK1B,cAL0B,EAM1B,aAN0B,EAO1B,eAP0B,EAQ1B,aAR0B,EAS1B,YAT0B,EAU1B,cAV0B,EAW1B,eAX0B,EAY1B,YAZ0B,EAa1B,eAb0B,EAc1B,oBAd0B,EAe1B,oBAf0B,EAgB1B,aAhB0B,CAA5B;AAmBA,IAAMC,aAAa,GAAG;AACpBC,EAAAA,OAAO,EAAE,UADW;AAEpBC,EAAAA,gBAAgB,EAAE,MAFE;AAGpBC,EAAAA,QAAQ,EAAE,CACR;AACEC,IAAAA,IAAI,EAAE,QADR;AAEEC,IAAAA,WAAW,EAAE,kCAFf;AAGEC,IAAAA,IAAI,EAAE,OAHR;AAIEC,IAAAA,GAAG,EAAE;AAJP,GADQ,CAHU;AAWpBC,EAAAA,cAAc,EAAE,IAXI;AAYpBC,EAAAA,UAAU,EAAE,gCAZQ;AAapBC,EAAAA,kBAAkB,EAAE,IAbA;AAcpBC,EAAAA,iBAAiB,EAAE,UAdC;AAepBC,EAAAA,KAAK,EAAE,IAfa;AAgBpBN,EAAAA,IAAI,EAAE,WAhBc;AAiBpBO,EAAAA,SAAS,EAAE,IAjBS;AAkBpBC,EAAAA,WAAW,EAAE,IAlBO;AAmBpBC,EAAAA,OAAO,EAAE,IAnBW;AAoBpBC,EAAAA,MAAM,EAAE,IApBY;AAqBpBC,EAAAA,aAAa,EAAE,IArBK;AAsBpBC,EAAAA,UAAU,EAAE,gCAtBQ;AAuBpBC,EAAAA,OAAO,EAAE,IAvBW;AAwBpBC,EAAAA,cAAc,EAAE;AAxBI,CAAtB;AA0BA,IAAMC,YAAY,GAAG;AACnBC,EAAAA,OAAO,EAAE,EADU;AAEnBC,EAAAA,QAAQ,EAAE,EAFS;AAGnBC,EAAAA,aAAa,EAAEC,IAAI,CAACC,EAAL;AAHI,CAArB;;AAMA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,iFAAgB;AAAEC,IAAAA,EAAE,EAAE,eAAN;AAAgBC,IAAAA,IAAI,EAAE;AAAtB,GAAhB;AAAA,MAAGD,EAAH,QAAGA,EAAH;AAAA,MAAOC,IAAP,QAAOA,IAAP;;AAAA,SAAyD;AAClFC,IAAAA,OAAO,EAAE,EADyE;AAElFC,IAAAA,IAAI,EAAE;AACJC,MAAAA,GAAG,EAAKH,IAAL,SAAaD,EADZ;AAEJK,MAAAA,MAAM,gCACDjC,aADC;AAEJM,QAAAA,IAAI,EAAEuB,IAFF;AAGJA,QAAAA,IAAI,EAAJA;AAHI,QAFF;AAOJpB,MAAAA,UAAU,EAAE,6BAPR;AAQJyB,MAAAA,UAAU,EAAE,4BARR;AASJC,MAAAA,MAAM,EAAE,KATJ;AAUJP,MAAAA,EAAE,EAAFA,EAVI;AAWJQ,MAAAA,gBAAgB,EAAErC,mBAXd;AAYJ8B,MAAAA,IAAI,EAAJA,IAZI;AAaJX,MAAAA,UAAU,EAAE;AAbR,KAF4E;AAiBlFU,IAAAA,EAAE,EAAFA,EAjBkF;AAkBlFS,IAAAA,KAAK,EAAEhB,YAlB2E;AAmBlFQ,IAAAA,IAAI,EAAJA;AAnBkF,GAAzD;AAAA,CAA3B;;AAsBO,IAAMS,eAAe,GAAG,SAAlBA,eAAkB,CAACC,YAAD;AAAA,SAC7BC,MAAM,CAACC,IAAP,CAAYF,YAAZ,EAA0BG,MAA1B,CAAiC,UAACC,WAAD,EAAcC,OAAd,EAA0B;AACzD,QAAIJ,MAAM,CAACK,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,WAArC,EAAkDC,OAAlD,CAAJ,EAAgE;AAC9DD,MAAAA,WAAW,CAACC,OAAD,CAAX,GACE,yBAAOD,WAAW,CAACC,OAAD,CAAlB,MAAgC,QAAhC,iCACSD,WAAW,CAACC,OAAD,CADpB,EACkCL,YAAY,CAACK,OAAD,CAD9C,IAEKD,WAAW,CAACC,OAAD,CAAX,GAAuBL,YAAY,CAACK,OAAD,CAH1C;AAIA,aAAOD,WAAP;AACD;;AACD,yCAAYA,WAAZ,uCAA0BC,OAA1B,EAAoCL,YAAY,CAACK,OAAD,CAAhD;AACD,GATD,EASGjB,kBAAkB,EATrB,CAD6B;AAAA,CAAxB;;;;AAYA,IAAMqB,uBAAuB,GAAG,SAA1BA,uBAA0B,GAElC;AAAA,MADHT,YACG,uEADY;AAAEU,IAAAA,OAAO,EAAE,EAAX;AAAerB,IAAAA,EAAE,EAAE,eAAnB;AAA6BC,IAAAA,IAAI,EAAE;AAAnC,GACZ;AACH,yBAAqEU,YAArE,CAAQX,EAAR;AAAA,MAAQA,EAAR,iCAAa,eAAb;AAAA,2BAAqEW,YAArE,CAAuBV,IAAvB;AAAA,MAAuBA,IAAvB,mCAA8B,WAA9B;AAAA,8BAAqEU,YAArE,CAA2CU,OAA3C;AAAA,MAA2CA,OAA3C,sCAAqD,EAArD;AAAA,MAA4DC,IAA5D,6CAAqEX,YAArE;AAEA,MAAMY,QAAQ,GAAGxB,kBAAkB,EAAnC;AACA;AACEsB,IAAAA,OAAO,gCACFE,QAAQ,CAACpB,IADP;AAGHC,MAAAA,GAAG,EAAKH,IAAL,SAAaD;AAHb,OAIAqB,OAJA;AAKHrB,MAAAA,EAAE,EAAFA,EALG;AAMHC,MAAAA,IAAI,EAAJA,IANG;AAOHuB,MAAAA,IAAI,EAAE;AAPH,OADT;AAWE9B,IAAAA,OAAO,EAAE,EAXX;AAYEC,IAAAA,QAAQ,EAAE;AAZZ,KAaK2B,IAbL;AAeD,CArBM","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nimport { generateUser, getUserDefaults } from './user';\n\nconst defaultCapabilities = [\n 'ban-channel-members',\n 'delete-any-message',\n 'delete-own-message',\n 'flag-message',\n 'mute-channel',\n 'pin-message',\n 'quote-message',\n 'read-events',\n 'send-links',\n 'send-message',\n 'send-reaction',\n 'send-reply',\n 'typing-events',\n 'update-any-message',\n 'update-own-message',\n 'upload-file',\n];\n\nconst defaultConfig = {\n automod: 'disabled',\n automod_behavior: 'flag',\n commands: [\n {\n args: '[text]',\n description: 'Post a random gif to the channel',\n name: 'giphy',\n set: 'fun_set',\n },\n ],\n connect_events: true,\n created_at: '2020-04-24T11:36:43.859020368Z',\n max_message_length: 5000,\n message_retention: 'infinite',\n mutes: true,\n name: 'messaging',\n reactions: true,\n read_events: true,\n replies: true,\n search: true,\n typing_events: true,\n updated_at: '2020-04-24T11:36:43.859022903Z',\n uploads: true,\n url_enrichment: true,\n};\nconst defaultState = {\n members: {},\n messages: [],\n setIsUpToDate: jest.fn(),\n};\n\nconst getChannelDefaults = ({ id, type } = { id: uuidv4(), type: 'messaging' }) => ({\n _client: {},\n data: {\n cid: `${type}:${id}`,\n config: {\n ...defaultConfig,\n name: type,\n type,\n },\n created_at: '2020-04-28T11:20:48.578147Z',\n created_by: getUserDefaults(),\n frozen: false,\n id,\n own_capabilities: defaultCapabilities,\n type,\n updated_at: '2020-04-28T11:20:48.578147Z',\n },\n id,\n state: defaultState,\n type,\n});\n\nexport const generateChannel = (customValues) =>\n Object.keys(customValues).reduce((accumulated, current) => {\n if (Object.prototype.hasOwnProperty.call(accumulated, current)) {\n accumulated[current] =\n typeof accumulated[current] === 'object'\n ? { ...accumulated[current], ...customValues[current] }\n : (accumulated[current] = customValues[current]);\n return accumulated;\n }\n return { ...accumulated, [current]: customValues[current] };\n }, getChannelDefaults());\n\nexport const generateChannelResponse = (\n customValues = { channel: {}, id: uuidv4(), type: 'messaging' },\n) => {\n const { id = uuidv4(), type = 'messaging', channel = {}, ...rest } = customValues;\n\n const defaults = getChannelDefaults();\n return {\n channel: {\n ...defaults.data,\n ...{\n cid: `${type}:${id}`,\n ...channel,\n id,\n type,\n user: generateUser(),\n },\n },\n members: [],\n messages: [],\n ...rest,\n };\n};\n"]}
@@ -3,15 +3,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.generateStaticUser = exports.generateUser = void 0;
6
+ exports.getUserDefaults = exports.generateUser = exports.generateStaticUser = void 0;
7
7
 
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
10
10
  var _uuid = require("uuid");
11
11
 
12
- var generateUser = function generateUser() {
13
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
- return (0, _extends2["default"])({
12
+ var getUserDefaults = function getUserDefaults() {
13
+ return {
15
14
  banned: false,
16
15
  created_at: '2020-04-27T13:39:49.331742Z',
17
16
  id: (0, _uuid.v4)(),
@@ -20,41 +19,41 @@ var generateUser = function generateUser() {
20
19
  online: false,
21
20
  role: 'user',
22
21
  updated_at: '2020-04-27T13:39:49.332087Z'
23
- }, options);
22
+ };
23
+ };
24
+
25
+ exports.getUserDefaults = getUserDefaults;
26
+
27
+ var generateUser = function generateUser() {
28
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
+ return (0, _extends2["default"])({}, getUserDefaults(), options);
24
30
  };
25
31
 
26
32
  exports.generateUser = generateUser;
33
+ var staticUsers = [generateUser({
34
+ id: 'tommy',
35
+ image: 'https://i.imgur.com/ytIyojl.png',
36
+ name: 'Thomas'
37
+ }), generateUser({
38
+ id: 'arthur',
39
+ image: 'https://i.imgur.com/LuuGvh0.png',
40
+ name: 'Arthur'
41
+ }), generateUser({
42
+ id: 'john',
43
+ image: 'https://i.imgur.com/LbtxRjf.png',
44
+ name: 'John'
45
+ }), generateUser({
46
+ id: 'finn',
47
+ image: 'https://i.imgur.com/spueyAP.png',
48
+ name: 'Finn'
49
+ })];
27
50
 
28
51
  var generateStaticUser = function generateStaticUser(userNumber) {
29
- switch (userNumber) {
30
- case 0:
31
- return generateUser({
32
- id: 'DannyBoi1',
33
- image: 'https://images-na.ssl-images-amazon.com/images/I/51t29lLkg8L._AC_SL1000_.jpg',
34
- name: 'Dan'
35
- });
36
-
37
- case 1:
38
- return generateUser({
39
- id: 'GrantyBoi2',
40
- image: 'https://i.imgur.com/SLx06PP.png',
41
- name: 'Grant'
42
- });
43
-
44
- case 2:
45
- return generateUser({
46
- id: 'ViriBoi2',
47
- image: 'https://i.imgur.com/iNaC3K7.jpg',
48
- name: 'Vir'
49
- });
50
-
51
- default:
52
- return generateUser({
53
- id: 'NeiliBoi3',
54
- image: 'https://i.imgur.com/T68W8nR_d.webp?maxwidth=728&fidelity=grand',
55
- name: 'Neil'
56
- });
52
+ if (userNumber - 1 > staticUsers.length) {
53
+ throw new Error("Tried getting a static user that doesn't exist.\nIndex: " + userNumber + " , number of users: " + staticUsers.length);
57
54
  }
55
+
56
+ return staticUsers[userNumber];
58
57
  };
59
58
 
60
59
  exports.generateStaticUser = generateStaticUser;
@@ -1 +1 @@
1
- {"version":3,"sources":["user.js"],"names":["generateUser","options","banned","created_at","id","image","name","online","role","updated_at","generateStaticUser","userNumber"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAAA,MAACC,OAAD,uEAAW,EAAX;AAAA;AAC1BC,IAAAA,MAAM,EAAE,KADkB;AAE1BC,IAAAA,UAAU,EAAE,6BAFc;AAG1BC,IAAAA,EAAE,EAAE,eAHsB;AAI1BC,IAAAA,KAAK,EAAE,eAJmB;AAK1BC,IAAAA,IAAI,EAAE,eALoB;AAM1BC,IAAAA,MAAM,EAAE,KANkB;AAO1BC,IAAAA,IAAI,EAAE,MAPoB;AAQ1BC,IAAAA,UAAU,EAAE;AARc,KASvBR,OATuB;AAAA,CAArB;;;;AAYA,IAAMS,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,UAAD,EAAgB;AAChD,UAAQA,UAAR;AACE,SAAK,CAAL;AACE,aAAOX,YAAY,CAAC;AAClBI,QAAAA,EAAE,EAAE,WADc;AAElBC,QAAAA,KAAK,EAAE,8EAFW;AAGlBC,QAAAA,IAAI,EAAE;AAHY,OAAD,CAAnB;;AAKF,SAAK,CAAL;AACE,aAAON,YAAY,CAAC;AAClBI,QAAAA,EAAE,EAAE,YADc;AAElBC,QAAAA,KAAK,EAAE,iCAFW;AAGlBC,QAAAA,IAAI,EAAE;AAHY,OAAD,CAAnB;;AAKF,SAAK,CAAL;AACE,aAAON,YAAY,CAAC;AAClBI,QAAAA,EAAE,EAAE,UADc;AAElBC,QAAAA,KAAK,EAAE,iCAFW;AAGlBC,QAAAA,IAAI,EAAE;AAHY,OAAD,CAAnB;;AAKF;AACE,aAAON,YAAY,CAAC;AAClBI,QAAAA,EAAE,EAAE,WADc;AAElBC,QAAAA,KAAK,EAAE,gEAFW;AAGlBC,QAAAA,IAAI,EAAE;AAHY,OAAD,CAAnB;AApBJ;AA0BD,CA3BM","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nexport const generateUser = (options = {}) => ({\n banned: false,\n created_at: '2020-04-27T13:39:49.331742Z',\n id: uuidv4(),\n image: uuidv4(),\n name: uuidv4(),\n online: false,\n role: 'user',\n updated_at: '2020-04-27T13:39:49.332087Z',\n ...options,\n});\n\nexport const generateStaticUser = (userNumber) => {\n switch (userNumber) {\n case 0:\n return generateUser({\n id: 'DannyBoi1',\n image: 'https://images-na.ssl-images-amazon.com/images/I/51t29lLkg8L._AC_SL1000_.jpg',\n name: 'Dan',\n });\n case 1:\n return generateUser({\n id: 'GrantyBoi2',\n image: 'https://i.imgur.com/SLx06PP.png',\n name: 'Grant',\n });\n case 2:\n return generateUser({\n id: 'ViriBoi2',\n image: 'https://i.imgur.com/iNaC3K7.jpg',\n name: 'Vir',\n });\n default:\n return generateUser({\n id: 'NeiliBoi3',\n image: 'https://i.imgur.com/T68W8nR_d.webp?maxwidth=728&fidelity=grand',\n name: 'Neil',\n });\n }\n};\n"]}
1
+ {"version":3,"sources":["user.js"],"names":["getUserDefaults","banned","created_at","id","image","name","online","role","updated_at","generateUser","options","staticUsers","generateStaticUser","userNumber","length","Error"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB;AAAA,SAAO;AACpCC,IAAAA,MAAM,EAAE,KAD4B;AAEpCC,IAAAA,UAAU,EAAE,6BAFwB;AAGpCC,IAAAA,EAAE,EAAE,eAHgC;AAIpCC,IAAAA,KAAK,EAAE,eAJ6B;AAKpCC,IAAAA,IAAI,EAAE,eAL8B;AAMpCC,IAAAA,MAAM,EAAE,KAN4B;AAOpCC,IAAAA,IAAI,EAAE,MAP8B;AAQpCC,IAAAA,UAAU,EAAE;AARwB,GAAP;AAAA,CAAxB;;;;AAWA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,MAACC,OAAD,uEAAW,EAAX;AAAA,uCACvBV,eAAe,EADQ,EAEvBU,OAFuB;AAAA,CAArB;;;AAKP,IAAMC,WAAW,GAAG,CAElBF,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,OADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAFM,EAOlBI,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,QADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAPM,EAYlBI,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,MADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAZM,EAiBlBI,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,MADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAjBM,CAApB;;AAwBO,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,UAAD,EAAgB;AAChD,MAAIA,UAAU,GAAG,CAAb,GAAiBF,WAAW,CAACG,MAAjC,EAAyC;AACvC,UAAM,IAAIC,KAAJ,8DACDF,UADC,4BACgCF,WAAW,CAACG,MAD5C,CAAN;AAED;;AACD,SAAOH,WAAW,CAACE,UAAD,CAAlB;AACD,CANM","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nexport const getUserDefaults = () => ({\n banned: false,\n created_at: '2020-04-27T13:39:49.331742Z',\n id: uuidv4(),\n image: uuidv4(),\n name: uuidv4(),\n online: false,\n role: 'user',\n updated_at: '2020-04-27T13:39:49.332087Z',\n});\n\nexport const generateUser = (options = {}) => ({\n ...getUserDefaults(),\n ...options,\n});\n\nconst staticUsers = [\n // By the order of...\n generateUser({\n id: 'tommy',\n image: 'https://i.imgur.com/ytIyojl.png',\n name: 'Thomas',\n }),\n generateUser({\n id: 'arthur',\n image: 'https://i.imgur.com/LuuGvh0.png',\n name: 'Arthur',\n }),\n generateUser({\n id: 'john',\n image: 'https://i.imgur.com/LbtxRjf.png',\n name: 'John',\n }),\n generateUser({\n id: 'finn',\n image: 'https://i.imgur.com/spueyAP.png',\n name: 'Finn',\n }),\n];\n\nexport const generateStaticUser = (userNumber) => {\n if (userNumber - 1 > staticUsers.length) {\n throw new Error(`Tried getting a static user that doesn't exist.\nIndex: ${userNumber} , number of users: ${staticUsers.length}`);\n }\n return staticUsers[userNumber];\n};\n"]}
@@ -3,7 +3,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getRandomInt = exports.getTestClientWithUser = exports.getTestClient = void 0;
6
+ exports.getTestClientWithUser = exports.getTestClient = exports.getRandomInt = void 0;
7
7
 
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
 
@@ -44,7 +44,7 @@ function mockClient(client) {
44
44
  }
45
45
 
46
46
  var getTestClient = function getTestClient() {
47
- return mockClient(_streamChat.StreamChat.getInstance(apiKey));
47
+ return mockClient(new _streamChat.StreamChat(apiKey));
48
48
  };
49
49
 
50
50
  exports.getTestClient = getTestClient;
@@ -56,7 +56,7 @@ var getTestClientWithUser = function () {
56
56
  while (1) {
57
57
  switch (_context.prev = _context.next) {
58
58
  case 0:
59
- client = mockClient(_streamChat.StreamChat.getInstance(apiKey));
59
+ client = mockClient(new _streamChat.StreamChat(apiKey));
60
60
  _context.next = 3;
61
61
  return setUser(client, user);
62
62
 
@@ -1 +1 @@
1
- {"version":3,"sources":["mock.js"],"names":["apiKey","token","setUser","client","user","Promise","resolve","connectionId","mutes","_user","userID","id","userToken","mockClient","jest","spyOn","mockImplementation","tokenManager","getToken","fn","tokenReady","bind","getTestClient","StreamChat","getInstance","getTestClientWithUser","wsPromise","getRandomInt","min","max","Math","ceil","floor","random"],"mappings":";;;;;;;;;;;;;AAGA;;AAEA,IAAMA,MAAM,GAAG,SAAf;AACA,IAAMC,KAAK,GAAG,aAAd;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,MAAD,EAASC,IAAT;AAAA,SACd,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AACvBH,IAAAA,MAAM,CAACI,YAAP,GAAsB,oBAAtB;AACAJ,IAAAA,MAAM,CAACC,IAAP,GAAcA,IAAd;AACAD,IAAAA,MAAM,CAACC,IAAP,CAAYI,KAAZ,GAAoB,EAApB;AACAL,IAAAA,MAAM,CAACM,KAAP,iCAAoBL,IAApB;AACAD,IAAAA,MAAM,CAACO,MAAP,GAAgBN,IAAI,CAACO,EAArB;AACAR,IAAAA,MAAM,CAACS,SAAP,GAAmBX,KAAnB;AACAK,IAAAA,OAAO;AACR,GARD,CADc;AAAA,CAAhB;;AAWA,SAASO,UAAT,CAAoBV,MAApB,EAA4B;AAC1BW,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,WAAnB,EAAgCa,kBAAhC;AACAF,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,kBAAnB,EAAuCa,kBAAvC;AACAb,EAAAA,MAAM,CAACc,YAAP,GAAsB;AACpBC,IAAAA,QAAQ,EAAEJ,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAMlB,KAAN;AAAA,KAAR,CADU;AAEpBmB,IAAAA,UAAU,EAAEN,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAM,IAAN;AAAA,KAAR;AAFQ,GAAtB;AAIAhB,EAAAA,MAAM,CAACD,OAAP,GAAiBA,OAAO,CAACmB,IAAR,CAAa,IAAb,EAAmBlB,MAAnB,CAAjB;AACA,SAAOA,MAAP;AACD;;AAEM,IAAMmB,aAAa,GAAG,SAAhBA,aAAgB;AAAA,SAAMT,UAAU,CAACU,uBAAWC,WAAX,CAAuBxB,MAAvB,CAAD,CAAhB;AAAA,CAAtB;;;;AAEA,IAAMyB,qBAAqB;AAAA,6EAAG,iBAAOrB,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAC7BD,YAAAA,MAD6B,GACpBU,UAAU,CAACU,uBAAWC,WAAX,CAAuBxB,MAAvB,CAAD,CADU;AAAA;AAAA,mBAE7BE,OAAO,CAACC,MAAD,EAASC,IAAT,CAFsB;;AAAA;AAGnCD,YAAAA,MAAM,CAACuB,SAAP,GAAmBrB,OAAO,CAACC,OAAR,EAAnB;AAHmC,6CAI5BH,MAJ4B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAArBsB,qBAAqB;AAAA;AAAA;AAAA,GAA3B;;;;AAOA,IAAME,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,GAAN,EAAc;AACxCD,EAAAA,GAAG,GAAGE,IAAI,CAACC,IAAL,CAAUH,GAAV,CAAN;AACAC,EAAAA,GAAG,GAAGC,IAAI,CAACE,KAAL,CAAWH,GAAX,CAAN;AACA,SAAOC,IAAI,CAACE,KAAL,CAAWF,IAAI,CAACG,MAAL,MAAiBJ,GAAG,GAAGD,GAAvB,CAAX,IAA0CA,GAAjD;AACD,CAJM","sourcesContent":["/* eslint no-underscore-dangle: 0 */\n/* eslint no-param-reassign: 0 */\n\nimport { StreamChat } from 'stream-chat';\n\nconst apiKey = 'API_KEY';\nconst token = 'dummy_token';\n\nconst setUser = (client, user) =>\n new Promise((resolve) => {\n client.connectionId = 'dumm_connection_id';\n client.user = user;\n client.user.mutes = [];\n client._user = { ...user };\n client.userID = user.id;\n client.userToken = token;\n resolve();\n });\n\nfunction mockClient(client) {\n jest.spyOn(client, '_setToken').mockImplementation();\n jest.spyOn(client, '_setupConnection').mockImplementation();\n client.tokenManager = {\n getToken: jest.fn(() => token),\n tokenReady: jest.fn(() => true),\n };\n client.setUser = setUser.bind(null, client);\n return client;\n}\n\nexport const getTestClient = () => mockClient(StreamChat.getInstance(apiKey));\n\nexport const getTestClientWithUser = async (user) => {\n const client = mockClient(StreamChat.getInstance(apiKey));\n await setUser(client, user);\n client.wsPromise = Promise.resolve();\n return client;\n};\n\nexport const getRandomInt = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min; // The maximum is exclusive and the minimum is inclusive\n};\n"]}
1
+ {"version":3,"sources":["mock.js"],"names":["apiKey","token","setUser","client","user","Promise","resolve","connectionId","mutes","_user","userID","id","userToken","mockClient","jest","spyOn","mockImplementation","tokenManager","getToken","fn","tokenReady","bind","getTestClient","StreamChat","getTestClientWithUser","wsPromise","getRandomInt","min","max","Math","ceil","floor","random"],"mappings":";;;;;;;;;;;;;AAGA;;AAEA,IAAMA,MAAM,GAAG,SAAf;AACA,IAAMC,KAAK,GAAG,aAAd;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,MAAD,EAASC,IAAT;AAAA,SACd,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AACvBH,IAAAA,MAAM,CAACI,YAAP,GAAsB,oBAAtB;AACAJ,IAAAA,MAAM,CAACC,IAAP,GAAcA,IAAd;AACAD,IAAAA,MAAM,CAACC,IAAP,CAAYI,KAAZ,GAAoB,EAApB;AACAL,IAAAA,MAAM,CAACM,KAAP,iCAAoBL,IAApB;AACAD,IAAAA,MAAM,CAACO,MAAP,GAAgBN,IAAI,CAACO,EAArB;AACAR,IAAAA,MAAM,CAACS,SAAP,GAAmBX,KAAnB;AACAK,IAAAA,OAAO;AACR,GARD,CADc;AAAA,CAAhB;;AAWA,SAASO,UAAT,CAAoBV,MAApB,EAA4B;AAC1BW,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,WAAnB,EAAgCa,kBAAhC;AACAF,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,kBAAnB,EAAuCa,kBAAvC;AACAb,EAAAA,MAAM,CAACc,YAAP,GAAsB;AACpBC,IAAAA,QAAQ,EAAEJ,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAMlB,KAAN;AAAA,KAAR,CADU;AAEpBmB,IAAAA,UAAU,EAAEN,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAM,IAAN;AAAA,KAAR;AAFQ,GAAtB;AAIAhB,EAAAA,MAAM,CAACD,OAAP,GAAiBA,OAAO,CAACmB,IAAR,CAAa,IAAb,EAAmBlB,MAAnB,CAAjB;AACA,SAAOA,MAAP;AACD;;AAEM,IAAMmB,aAAa,GAAG,SAAhBA,aAAgB;AAAA,SAAMT,UAAU,CAAC,IAAIU,sBAAJ,CAAevB,MAAf,CAAD,CAAhB;AAAA,CAAtB;;;;AAEA,IAAMwB,qBAAqB;AAAA,6EAAG,iBAAOpB,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAC7BD,YAAAA,MAD6B,GACpBU,UAAU,CAAC,IAAIU,sBAAJ,CAAevB,MAAf,CAAD,CADU;AAAA;AAAA,mBAE7BE,OAAO,CAACC,MAAD,EAASC,IAAT,CAFsB;;AAAA;AAGnCD,YAAAA,MAAM,CAACsB,SAAP,GAAmBpB,OAAO,CAACC,OAAR,EAAnB;AAHmC,6CAI5BH,MAJ4B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAArBqB,qBAAqB;AAAA;AAAA;AAAA,GAA3B;;;;AAOA,IAAME,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,GAAN,EAAc;AACxCD,EAAAA,GAAG,GAAGE,IAAI,CAACC,IAAL,CAAUH,GAAV,CAAN;AACAC,EAAAA,GAAG,GAAGC,IAAI,CAACE,KAAL,CAAWH,GAAX,CAAN;AACA,SAAOC,IAAI,CAACE,KAAL,CAAWF,IAAI,CAACG,MAAL,MAAiBJ,GAAG,GAAGD,GAAvB,CAAX,IAA0CA,GAAjD;AACD,CAJM","sourcesContent":["/* eslint no-underscore-dangle: 0 */\n/* eslint no-param-reassign: 0 */\n\nimport { StreamChat } from 'stream-chat';\n\nconst apiKey = 'API_KEY';\nconst token = 'dummy_token';\n\nconst setUser = (client, user) =>\n new Promise((resolve) => {\n client.connectionId = 'dumm_connection_id';\n client.user = user;\n client.user.mutes = [];\n client._user = { ...user };\n client.userID = user.id;\n client.userToken = token;\n resolve();\n });\n\nfunction mockClient(client) {\n jest.spyOn(client, '_setToken').mockImplementation();\n jest.spyOn(client, '_setupConnection').mockImplementation();\n client.tokenManager = {\n getToken: jest.fn(() => token),\n tokenReady: jest.fn(() => true),\n };\n client.setUser = setUser.bind(null, client);\n return client;\n}\n\nexport const getTestClient = () => mockClient(new StreamChat(apiKey));\n\nexport const getTestClientWithUser = async (user) => {\n const client = mockClient(new StreamChat(apiKey));\n await setUser(client, user);\n client.wsPromise = Promise.resolve();\n return client;\n};\n\nexport const getRandomInt = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min; // The maximum is exclusive and the minimum is inclusive\n};\n"]}
@@ -1,2 +1,2 @@
1
- jest.mock('react-native/Libraries/Animated/src/NativeAnimatedHelper');
1
+ jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper');
2
2
  //# sourceMappingURL=react-native-mock.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["react-native-mock.js"],"names":["jest","mock"],"mappings":"AAAAA,IAAI,CAACC,IAAL,CAAU,0DAAV","sourcesContent":["jest.mock('react-native/Libraries/Animated/src/NativeAnimatedHelper');\n"]}
1
+ {"version":3,"sources":["react-native-mock.js"],"names":["jest","mock"],"mappings":"AAAAA,IAAI,CAACC,IAAL,CAAU,sDAAV","sourcesContent":["jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper');\n"]}
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
- exports.registerNativeHandlers = exports.SDK = exports.triggerHaptic = exports.takePhoto = exports.shareImage = exports.saveFile = exports.pickDocument = exports.NetInfo = exports.FlatList = exports.getPhotos = exports.getLocalAssetUri = exports.deleteFile = exports.compressImage = exports.BlurView = void 0;
4
+ exports.triggerHaptic = exports.takePhoto = exports.shareImage = exports.saveFile = exports.registerNativeHandlers = exports.pickDocument = exports.getPhotos = exports.getLocalAssetUri = exports.deleteFile = exports.compressImage = exports.SDK = exports.NetInfo = exports.FlatList = void 0;
5
5
 
6
6
  var _reactNative = require("react-native");
7
7
 
@@ -9,8 +9,6 @@ var fail = function fail() {
9
9
  throw Error('Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native');
10
10
  };
11
11
 
12
- var BlurView = fail;
13
- exports.BlurView = BlurView;
14
12
  var compressImage = fail;
15
13
  exports.compressImage = compressImage;
16
14
  var deleteFile = fail;
@@ -40,10 +38,6 @@ var SDK;
40
38
  exports.SDK = SDK;
41
39
 
42
40
  var registerNativeHandlers = function registerNativeHandlers(handlers) {
43
- if (handlers.BlurView) {
44
- exports.BlurView = BlurView = handlers.BlurView;
45
- }
46
-
47
41
  if (handlers.compressImage) {
48
42
  exports.compressImage = compressImage = handlers.compressImage;
49
43
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["native.ts"],"names":["fail","Error","BlurView","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","registerNativeHandlers","handlers"],"mappings":";;;;;AAAA;;AAGA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAWO,IAAIC,QAAkB,GAAGF,IAAzB;;AAaA,IAAIG,aAA4B,GAAGH,IAAnC;;AAGA,IAAII,UAAsB,GAAGJ,IAA7B;;AAGA,IAAIK,gBAAkC,GAAGL,IAAzC;;AAgBA,IAAIM,SAAoB,GAAGN,IAA3B;;AAOA,IAAIO,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAEV,IADU;AAE5BW,EAAAA,KAAK,EAAEX;AAFqB,CAAvB;;AAgBA,IAAIY,YAA0B,GAAGZ,IAAjC;;AAOA,IAAIa,QAAkB,GAAGb,IAAzB;;AAOA,IAAIc,UAAsB,GAAGd,IAA7B;;AASA,IAAIe,SAAoB,GAAGf,IAA3B;;AAWA,IAAIgB,aAA4B,GAAGhB,IAAnC;;AAEA,IAAIiB,GAAJ;;;AAkBA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAACjB,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGiB,QAAQ,CAACjB,QAApB;AACD;;AAED,MAAIiB,QAAQ,CAAChB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGgB,QAAQ,CAAChB,aAAzB;AACD;;AAED,MAAIgB,QAAQ,CAACf,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGe,QAAQ,CAACf,UAAtB;AACD;;AAED,MAAIe,QAAQ,CAACZ,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGY,QAAQ,CAACZ,QAApB;AACD;;AACD,MAAIY,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACd,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGc,QAAQ,CAACd,gBAA5B;AACD;;AAED,MAAIc,QAAQ,CAACb,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGa,QAAQ,CAACb,SAArB;AACD;;AAED,MAAIa,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACP,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGO,QAAQ,CAACP,YAAxB;AACD;;AAED,MAAIO,QAAQ,CAACN,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGM,QAAQ,CAACN,QAApB;AACD;;AAED,MAAIM,QAAQ,CAACF,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGE,QAAQ,CAACF,GAAf;AACD;;AAED,MAAIE,QAAQ,CAACL,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGK,QAAQ,CAACL,UAAtB;AACD;;AAED,MAAIK,QAAQ,CAACJ,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGI,QAAQ,CAACJ,SAArB;AACD;;AAED,MAAII,QAAQ,CAACH,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGG,QAAQ,CAACH,aAAzB;AACD;AACF,CAvDM","sourcesContent":["import { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype BlurView = React.ComponentType<{\n blurAmount?: number;\n blurType?: string;\n style?: StyleProp<ViewStyle>;\n}>;\nexport let BlurView: BlurView = fail;\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => Promise<string> | never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\nexport type Asset = {\n height: number;\n source: 'camera' | 'picker';\n uri: string;\n width: number;\n id?: string;\n};\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport let SDK: string;\n\ntype Handlers = {\n BlurView?: BlurView;\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.BlurView) {\n BlurView = handlers.BlurView;\n }\n\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n};\n"]}
1
+ {"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","registerNativeHandlers","handlers"],"mappings":";;;;;AAAA;;AAIA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAiBO,IAAIC,aAA4B,GAAGF,IAAnC;;AAGA,IAAIG,UAAsB,GAAGH,IAA7B;;AAGA,IAAII,gBAAkC,GAAGJ,IAAzC;;AAgBA,IAAIK,SAAoB,GAAGL,IAA3B;;AAOA,IAAIM,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAET,IADU;AAE5BU,EAAAA,KAAK,EAAEV;AAFqB,CAAvB;;AAgBA,IAAIW,YAA0B,GAAGX,IAAjC;;AAOA,IAAIY,QAAkB,GAAGZ,IAAzB;;AAOA,IAAIa,UAAsB,GAAGb,IAA7B;;AASA,IAAIc,SAAoB,GAAGd,IAA3B;;AAWA,IAAIe,aAA4B,GAAGf,IAAnC;;AAEA,IAAIgB,GAAJ;;;AAiBA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAAChB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGgB,QAAQ,CAAChB,aAAzB;AACD;;AAED,MAAIgB,QAAQ,CAACf,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGe,QAAQ,CAACf,UAAtB;AACD;;AAED,MAAIe,QAAQ,CAACZ,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGY,QAAQ,CAACZ,QAApB;AACD;;AACD,MAAIY,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACd,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGc,QAAQ,CAACd,gBAA5B;AACD;;AAED,MAAIc,QAAQ,CAACb,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGa,QAAQ,CAACb,SAArB;AACD;;AAED,MAAIa,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACP,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGO,QAAQ,CAACP,YAAxB;AACD;;AAED,MAAIO,QAAQ,CAACN,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGM,QAAQ,CAACN,QAApB;AACD;;AAED,MAAIM,QAAQ,CAACF,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGE,QAAQ,CAACF,GAAf;AACD;;AAED,MAAIE,QAAQ,CAACL,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGK,QAAQ,CAACL,UAAtB;AACD;;AAED,MAAIK,QAAQ,CAACJ,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGI,QAAQ,CAACJ,SAArB;AACD;;AAED,MAAII,QAAQ,CAACH,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGG,QAAQ,CAACH,aAAzB;AACD;AACF,CAnDM","sourcesContent":["import { FlatList as DefaultFlatList } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => Promise<string> | never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\nexport type Asset = {\n height: number;\n source: 'camera' | 'picker';\n uri: string;\n width: number;\n id?: string;\n};\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport let SDK: string;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Streami18n.ts"],"names":["defaultNS","defaultLng","Dayjs","extend","updateLocale","format","L","LL","LLL","LLLL","LT","LTS","calendar","lastDay","lastWeek","nextDay","nextWeek","sameDay","sameElse","meridiem","hour","meridiemHour","meridiemParse","en_locale","formats","months","relativeTime","weekdays","isDayJs","dateTimeParser","undefined","defaultStreami18nOptions","DateTimeParser","dayjsLocaleConfigForLanguage","debug","disableDateTimeTranslations","language","logger","msg","console","warn","Streami18n","options","i18nextConfig","i18nInstance","i18n","createInstance","setLanguageCallback","initialized","t","key","translations","en","enTranslations","fr","frTranslations","hi","hiTranslations","it","itTranslations","ja","jaTranslations","ko","koTranslations","nl","nlTranslations","ru","ruTranslations","tr","trTranslations","dayjsLocales","localeExists","isCustomDateTimeParser","Object","keys","Ls","indexOf","validateCurrentLanguage","availableLanguages","currentLanguage","getAvailableLanguages","geti18Instance","getTranslations","finalOptions","LocalizedFormat","localeData","error","Error","JSON","stringify","translationsForLanguage","fallbackLng","interpolation","escapeValue","keySeparator","lng","nsSeparator","parseMissingKeyHandler","addOrUpdateLocale","tDateTimeParser","timestamp","locale","init","resources","translation","customDayjsLocale","addResources","config","name","changeLanguage","callback"],"mappings":"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","sourcesContent":["import Dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport updateLocale from 'dayjs/plugin/updateLocale';\nimport i18n, { FallbackLng, TFunction } from 'i18next';\n\nimport enTranslations from '../i18n/en.json';\nimport frTranslations from '../i18n/fr.json';\nimport hiTranslations from '../i18n/hi.json';\nimport itTranslations from '../i18n/it.json';\nimport jaTranslations from '../i18n/ja.json';\nimport koTranslations from '../i18n/ko.json';\nimport nlTranslations from '../i18n/nl.json';\nimport ruTranslations from '../i18n/ru.json';\nimport trTranslations from '../i18n/tr.json';\n\nconst defaultNS = 'translation';\nconst defaultLng = 'en';\n\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/hi';\nimport 'dayjs/locale/it';\nimport 'dayjs/locale/ja';\nimport 'dayjs/locale/ko';\nimport 'dayjs/locale/nl';\nimport 'dayjs/locale/ru';\nimport 'dayjs/locale/tr';\n\n/**\n * These locale imports also set these locales globally.\n * So as a last step we import the english locale to make\n * sure we don't mess up languages in other places in the app.\n */\nimport 'dayjs/locale/en';\n\nimport type moment from 'moment';\n\nimport type { TDateTimeParser } from '../contexts/translationContext/TranslationContext';\nimport type { UnknownType } from '../types/types';\n\nDayjs.extend(updateLocale);\n\nDayjs.updateLocale('en', {\n format: {\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n LT: 'hh:mmA',\n LTS: 'HH:mm:ss',\n },\n});\n\nDayjs.updateLocale('nl', {\n calendar: {\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n sameDay: '[vandaag om] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('it', {\n calendar: {\n lastDay: '[Ieri alle] LT',\n lastWeek: '[lo scorso] dddd [alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n sameDay: '[Oggi alle] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('hi', {\n calendar: {\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n sameDay: '[आज] LT',\n sameElse: 'L',\n },\n\n /**\n * Hindi notation for meridiems are quite fuzzy in practice. While there exists\n * a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n */\n meridiem(hour: number) {\n if (hour < 4) return 'रात';\n if (hour < 10) return 'सुबह';\n if (hour < 17) return 'दोपहर';\n if (hour < 20) return 'शाम';\n return 'रात';\n },\n\n meridiemHour(hour: number, meridiem: string) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') return hour < 4 ? hour : hour + 12;\n if (meridiem === 'सुबह') return hour;\n if (meridiem === 'दोपहर') return hour >= 10 ? hour : hour + 12;\n if (meridiem === 'शाम') return hour + 12;\n return hour;\n },\n\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n});\n\nDayjs.updateLocale('fr', {\n calendar: {\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n sameDay: '[Aujourd’hui à] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('tr', {\n calendar: {\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n sameDay: '[bugün saat] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('ru', {\n calendar: {\n lastDay: '[Вчера, в] LT',\n nextDay: '[Завтра, в] LT',\n sameDay: '[Сегодня, в] LT',\n },\n});\n\nconst en_locale = {\n formats: {},\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n relativeTime: {},\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n};\n\n// Type guards to check DayJs\nconst isDayJs = (dateTimeParser: typeof Dayjs | typeof moment): dateTimeParser is typeof Dayjs =>\n (dateTimeParser as typeof Dayjs).extend !== undefined;\n\ntype Options = {\n DateTimeParser?: typeof Dayjs | typeof moment;\n dayjsLocaleConfigForLanguage?: Partial<ILocale>;\n debug?: boolean;\n disableDateTimeTranslations?: boolean;\n language?: string;\n logger?: (msg?: string) => void;\n translationsForLanguage?: Partial<typeof enTranslations>;\n};\n\ntype I18NextConfig = {\n debug: boolean;\n fallbackLng: false | FallbackLng;\n interpolation: { escapeValue: boolean };\n keySeparator: false | string;\n lng: string;\n nsSeparator: false | string;\n parseMissingKeyHandler: (key: string) => string;\n};\n\n/**\n * Wrapper around [i18next](https://www.i18next.com/) class for Stream related translations.\n * Instance of this class should be provided to Chat component to handle translations.\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. Russian (ru)\n * 4. Turkish (tr)\n * 5. French (fr)\n * 6. Italian (it)\n * 7. Hindi (hi)\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n({ language 'nl' });\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * translationsForLanguage: {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * }\n * });\n *\n * If you would like to register additional languages, use registerTranslation. You can add as many languages as you want:\n *\n * i18n.registerTranslation('zh', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language as well.\n *\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation('mr', {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * ## Datetime translations\n *\n * Stream react chat components uses [dayjs](https://day.js.org/en/) internally by default to format datetime stamp.\n * e.g., in ChannelPreview, MessageContent components.\n * Dayjs has locale support as well - https://day.js.org/docs/en/i18n/i18n\n * Dayjs is a lightweight alternative to Momentjs with the same modern API.\n *\n * Dayjs provides locale config for plenty of languages, you can check the whole list of locale configs at following url\n * https://github.com/iamkun/dayjs/tree/dev/src/locale\n *\n * You can either provide the dayjs locale config while registering\n * language with Streami18n (either via constructor or registerTranslation()) or you can provide your own Dayjs or Moment instance\n * to Streami18n constructor, which will be then used internally (using the language locale) in components.\n *\n * 1. Via language registration\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * dayjsLocaleConfigForLanguage: {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * });\n * ```\n *\n * Similarly, you can add locale config for moment while registering translation via `registerTranslation` function.\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation(\n * 'mr',\n * {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * },\n * {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * );\n *```\n * 2. Provide your own Moment object\n *\n * ```js\n * import 'moment/locale/nl';\n * import 'moment/locale/it';\n * // or if you want to include all locales\n * import 'moment/min/locales';\n *\n * import Moment from moment\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Moment\n * })\n * ```\n *\n * 3. Provide your own Dayjs object\n *\n * ```js\n * import Dayjs from 'dayjs'\n *\n * import 'dayjs/locale/nl';\n * import 'dayjs/locale/it';\n * // or if you want to include all locales\n * import 'dayjs/min/locales';\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Dayjs\n * })\n * ```\n * If you would like to stick with english language for date-times in Stream components, you can set `disableDateTimeTranslations` to true.\n *\n */\nconst defaultStreami18nOptions = {\n DateTimeParser: Dayjs,\n dayjsLocaleConfigForLanguage: null,\n debug: false,\n disableDateTimeTranslations: false,\n language: 'en',\n logger: (msg?: string) => console.warn(msg),\n};\n\nexport class Streami18n {\n i18nInstance = i18n.createInstance();\n Dayjs = null;\n setLanguageCallback: (t: TFunction) => void = () => null;\n initialized = false;\n\n t: TFunction = (key: string) => key;\n tDateTimeParser: TDateTimeParser;\n\n translations: {\n [key: string]: {\n [key: string]: Partial<typeof enTranslations> | UnknownType;\n };\n } = {\n en: { [defaultNS]: enTranslations },\n fr: { [defaultNS]: frTranslations },\n hi: { [defaultNS]: hiTranslations },\n it: { [defaultNS]: itTranslations },\n ja: { [defaultNS]: jaTranslations },\n ko: { [defaultNS]: koTranslations },\n nl: { [defaultNS]: nlTranslations },\n ru: { [defaultNS]: ruTranslations },\n tr: { [defaultNS]: trTranslations },\n };\n\n /**\n * dayjs.defineLanguage('nl') also changes the global locale. We don't want to do that\n * when a user calls the registerTranslation() function. So instead we will store the\n * locale configs given to the registerTranslation() function in `dayjsLocales` object,\n * and register the required locale with moment when setLanguage is called.\n */\n dayjsLocales: { [key: string]: Partial<ILocale> } = {};\n\n /**\n * Initialize properties used in constructor\n */\n logger: (msg?: string) => void;\n currentLanguage: string;\n DateTimeParser: typeof Dayjs | typeof moment;\n isCustomDateTimeParser: boolean;\n i18nextConfig: I18NextConfig;\n\n /**\n * Constructor accepts following options:\n * - language (String) default: 'en'\n * Language code e.g., en, tr\n *\n * - translationsForLanguage (object)\n * Translations object. Please check src/i18n/en.json for example.\n *\n * - disableDateTimeTranslations (boolean) default: false\n * Disable translations for date-times\n *\n * - debug (boolean) default: false\n * Enable debug mode in internal i18n class\n *\n * - logger (function) default: () => {}\n * Logger function to log warnings/errors from this class\n *\n * - dayjsLocaleConfigForLanguage (object) default: 'enConfig'\n * [Config object](https://momentjs.com/docs/#/i18n/changing-locale/) for internal moment object,\n * corresponding to language (param)\n *\n * - DateTimeParser (function) Moment or Dayjs instance/function.\n * Make sure to load all the required locales in this Moment or Dayjs instance that you will be provide to Streami18n\n *\n * @param {*} options\n */\n constructor(options: Options = {}, i18nextConfig: Partial<I18NextConfig> = {}) {\n const finalOptions = {\n ...defaultStreami18nOptions,\n ...options,\n };\n\n // Prepare the i18next configuration.\n this.logger = finalOptions.logger;\n\n this.currentLanguage = finalOptions.language;\n this.DateTimeParser = finalOptions.DateTimeParser;\n\n try {\n /**\n * This is a shallow check to see if the given parser is an instance of Dayjs.\n * For some reason Dayjs.isDayjs(this.DateTimeParser()) doesn't work.\n */\n if (this.DateTimeParser && isDayJs(this.DateTimeParser)) {\n this.DateTimeParser.extend(LocalizedFormat);\n this.DateTimeParser.extend(calendar);\n this.DateTimeParser.extend(localeData);\n this.DateTimeParser.extend(relativeTime);\n }\n } catch (error) {\n throw new Error(\n `Streami18n: Looks like you wanted to provide a Dayjs instance but something went wrong while adding plugins ${JSON.stringify(\n error,\n )}`,\n );\n }\n\n this.isCustomDateTimeParser = !!options.DateTimeParser;\n const translationsForLanguage = finalOptions.translationsForLanguage;\n\n if (translationsForLanguage) {\n this.translations[this.currentLanguage] = {\n [defaultNS]:\n this.translations[this.currentLanguage] &&\n this.translations[this.currentLanguage][defaultNS]\n ? {\n ...this.translations[this.currentLanguage][defaultNS],\n ...translationsForLanguage,\n }\n : translationsForLanguage,\n };\n }\n\n // If translations don't exist for given language, then set it as empty object.\n if (!this.translations[this.currentLanguage]) {\n this.translations[this.currentLanguage] = {\n [defaultNS]: {},\n };\n }\n\n this.i18nextConfig = {\n debug: finalOptions.debug,\n fallbackLng: false,\n interpolation: { escapeValue: false },\n keySeparator: false,\n lng: this.currentLanguage,\n nsSeparator: false,\n\n parseMissingKeyHandler: (key: string) => {\n this.logger(`Streami18n: Missing translation for key: ${key}`);\n\n return key;\n },\n ...i18nextConfig,\n };\n\n this.validateCurrentLanguage();\n\n const dayjsLocaleConfigForLanguage = finalOptions.dayjsLocaleConfigForLanguage;\n\n if (dayjsLocaleConfigForLanguage) {\n this.addOrUpdateLocale(this.currentLanguage, {\n ...dayjsLocaleConfigForLanguage,\n });\n } else if (!this.localeExists(this.currentLanguage)) {\n this.logger(\n `Streami18n: Streami18n(...) - Locale config for ${this.currentLanguage} does not exist in momentjs.` +\n `Please import the locale file using \"import 'moment/locale/${this.currentLanguage}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n this.tDateTimeParser = (timestamp) => {\n if (finalOptions.disableDateTimeTranslations || !this.localeExists(this.currentLanguage)) {\n /**\n * TS needs to know which is being called to accept the chain call\n */\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n }\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n };\n }\n\n /**\n * Initializes the i18next instance with configuration (which enables natural language as default keys)\n */\n async init() {\n this.validateCurrentLanguage();\n\n try {\n this.t = await this.i18nInstance.init({\n ...this.i18nextConfig,\n lng: this.currentLanguage,\n resources: this.translations,\n });\n this.initialized = true;\n } catch (error) {\n this.logger(`Something went wrong with init: ${JSON.stringify(error)}`);\n }\n\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n\n localeExists = (language: string) => {\n if (this.isCustomDateTimeParser) return true;\n\n return Object.keys(Dayjs.Ls).indexOf(language) > -1;\n };\n\n validateCurrentLanguage = () => {\n const availableLanguages = Object.keys(this.translations);\n if (availableLanguages.indexOf(this.currentLanguage) === -1) {\n this.logger(\n `Streami18n: '${this.currentLanguage}' language is not registered.` +\n ` Please make sure to call streami18n.registerTranslation('${this.currentLanguage}', {...}) or ` +\n `use one the built-in supported languages - ${this.getAvailableLanguages()}`,\n );\n\n this.currentLanguage = defaultLng;\n }\n };\n\n /** Returns an instance of i18next used within this class instance */\n geti18Instance = () => this.i18nInstance;\n\n /** Returns list of available languages. */\n getAvailableLanguages = () => Object.keys(this.translations);\n\n /** Returns all the translation dictionary for all inbuilt-languages */\n getTranslations = () => this.translations;\n\n /**\n * Returns current version translator function.\n */\n async getTranslators() {\n if (!this.initialized) {\n if (this.dayjsLocales[this.currentLanguage]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n return await this.init();\n } else {\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n }\n\n /**\n * Register translation\n */\n registerTranslation(\n language: string,\n translation: Partial<typeof enTranslations> | UnknownType,\n customDayjsLocale?: Partial<ILocale>,\n ) {\n if (!translation) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) called without translation`,\n );\n return;\n }\n\n if (!this.translations[language]) {\n this.translations[language] = { [defaultNS]: translation };\n } else {\n this.translations[language][defaultNS] = translation;\n }\n\n if (customDayjsLocale) {\n this.dayjsLocales[language] = { ...customDayjsLocale };\n } else if (!this.localeExists(language)) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) - ` +\n `Locale config for ${language} does not exist in Dayjs.` +\n `Please import the locale file using \"import 'dayjs/locale/${language}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n if (this.initialized) {\n this.i18nInstance.addResources(language, defaultNS, translation);\n }\n }\n\n addOrUpdateLocale(key: string, config: Partial<ILocale>) {\n if (this.localeExists(key)) {\n Dayjs.updateLocale(key, { ...config });\n } else {\n // Merging the custom locale config with en config, so missing keys can default to english.\n Dayjs.locale({ name: key, ...en_locale, ...config }, undefined, true);\n }\n }\n\n /**\n * Changes the language.\n */\n async setLanguage(language: string) {\n this.currentLanguage = language;\n\n if (!this.initialized) return;\n\n try {\n const t = await this.i18nInstance.changeLanguage(language);\n if (this.dayjsLocales[language]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n this.setLanguageCallback(t);\n\n return t;\n } catch (error) {\n this.logger(`Failed to set language: ${JSON.stringify(error)}`);\n return this.t;\n }\n }\n\n registerSetLanguageCallback(callback: (t: TFunction) => void) {\n this.setLanguageCallback = callback;\n }\n}\n"]}
1
+ {"version":3,"sources":["Streami18n.ts"],"names":["defaultNS","defaultLng","Dayjs","extend","updateLocale","format","L","LL","LLL","LLLL","LT","LTS","calendar","lastDay","lastWeek","nextDay","nextWeek","sameDay","sameElse","meridiem","hour","meridiemHour","meridiemParse","en_locale","formats","months","relativeTime","weekdays","isDayJs","dateTimeParser","undefined","defaultStreami18nOptions","DateTimeParser","dayjsLocaleConfigForLanguage","debug","disableDateTimeTranslations","language","logger","msg","console","warn","Streami18n","options","i18nextConfig","i18nInstance","i18n","createInstance","setLanguageCallback","initialized","t","key","translations","en","enTranslations","fr","frTranslations","hi","hiTranslations","it","itTranslations","ja","jaTranslations","ko","koTranslations","nl","nlTranslations","ru","ruTranslations","tr","trTranslations","dayjsLocales","localeExists","isCustomDateTimeParser","Object","keys","Ls","indexOf","validateCurrentLanguage","availableLanguages","currentLanguage","getAvailableLanguages","geti18Instance","getTranslations","finalOptions","LocalizedFormat","localeData","error","Error","JSON","stringify","translationsForLanguage","fallbackLng","interpolation","escapeValue","keySeparator","lng","nsSeparator","parseMissingKeyHandler","addOrUpdateLocale","tDateTimeParser","timestamp","locale","init","resources","translation","customDayjsLocale","addResources","config","name","changeLanguage","callback"],"mappings":"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","sourcesContent":["import Dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport updateLocale from 'dayjs/plugin/updateLocale';\nimport i18n, { FallbackLng, TFunction } from 'i18next';\n\nimport type moment from 'moment';\n\nimport type { TDateTimeParser } from '../contexts/translationContext/TranslationContext';\nimport enTranslations from '../i18n/en.json';\nimport frTranslations from '../i18n/fr.json';\nimport hiTranslations from '../i18n/hi.json';\nimport itTranslations from '../i18n/it.json';\nimport jaTranslations from '../i18n/ja.json';\nimport koTranslations from '../i18n/ko.json';\nimport nlTranslations from '../i18n/nl.json';\nimport ruTranslations from '../i18n/ru.json';\nimport trTranslations from '../i18n/tr.json';\n\nconst defaultNS = 'translation';\nconst defaultLng = 'en';\n\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/hi';\nimport 'dayjs/locale/it';\nimport 'dayjs/locale/ja';\nimport 'dayjs/locale/ko';\nimport 'dayjs/locale/nl';\nimport 'dayjs/locale/ru';\nimport 'dayjs/locale/tr';\n\n/**\n * These locale imports also set these locales globally.\n * So as a last step we import the english locale to make\n * sure we don't mess up languages in other places in the app.\n */\nimport 'dayjs/locale/en';\n\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nDayjs.extend(updateLocale);\n\nDayjs.updateLocale('en', {\n format: {\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n LT: 'hh:mmA',\n LTS: 'HH:mm:ss',\n },\n});\n\nDayjs.updateLocale('nl', {\n calendar: {\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n sameDay: '[vandaag om] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('it', {\n calendar: {\n lastDay: '[Ieri alle] LT',\n lastWeek: '[lo scorso] dddd [alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n sameDay: '[Oggi alle] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('hi', {\n calendar: {\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n sameDay: '[आज] LT',\n sameElse: 'L',\n },\n\n /**\n * Hindi notation for meridiems are quite fuzzy in practice. While there exists\n * a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n */\n meridiem(hour: number) {\n if (hour < 4) return 'रात';\n if (hour < 10) return 'सुबह';\n if (hour < 17) return 'दोपहर';\n if (hour < 20) return 'शाम';\n return 'रात';\n },\n\n meridiemHour(hour: number, meridiem: string) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') return hour < 4 ? hour : hour + 12;\n if (meridiem === 'सुबह') return hour;\n if (meridiem === 'दोपहर') return hour >= 10 ? hour : hour + 12;\n if (meridiem === 'शाम') return hour + 12;\n return hour;\n },\n\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n});\n\nDayjs.updateLocale('fr', {\n calendar: {\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n sameDay: '[Aujourd’hui à] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('tr', {\n calendar: {\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n sameDay: '[bugün saat] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('ru', {\n calendar: {\n lastDay: '[Вчера, в] LT',\n nextDay: '[Завтра, в] LT',\n sameDay: '[Сегодня, в] LT',\n },\n});\n\nconst en_locale = {\n formats: {},\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n relativeTime: {},\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n};\n\n// Type guards to check DayJs\nconst isDayJs = (dateTimeParser: typeof Dayjs | typeof moment): dateTimeParser is typeof Dayjs =>\n (dateTimeParser as typeof Dayjs).extend !== undefined;\n\ntype Options = {\n DateTimeParser?: typeof Dayjs | typeof moment;\n dayjsLocaleConfigForLanguage?: Partial<ILocale>;\n debug?: boolean;\n disableDateTimeTranslations?: boolean;\n language?: string;\n logger?: (msg?: string) => void;\n translationsForLanguage?: Partial<typeof enTranslations>;\n};\n\ntype I18NextConfig = {\n debug: boolean;\n fallbackLng: false | FallbackLng;\n interpolation: { escapeValue: boolean };\n keySeparator: false | string;\n lng: string;\n nsSeparator: false | string;\n parseMissingKeyHandler: (key: string) => string;\n};\n\n/**\n * Wrapper around [i18next](https://www.i18next.com/) class for Stream related translations.\n * Instance of this class should be provided to Chat component to handle translations.\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. Russian (ru)\n * 4. Turkish (tr)\n * 5. French (fr)\n * 6. Italian (it)\n * 7. Hindi (hi)\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n({ language 'nl' });\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * translationsForLanguage: {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * }\n * });\n *\n * If you would like to register additional languages, use registerTranslation. You can add as many languages as you want:\n *\n * i18n.registerTranslation('zh', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language as well.\n *\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation('mr', {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * ## Datetime translations\n *\n * Stream react chat components uses [dayjs](https://day.js.org/en/) internally by default to format datetime stamp.\n * e.g., in ChannelPreview, MessageContent components.\n * Dayjs has locale support as well - https://day.js.org/docs/en/i18n/i18n\n * Dayjs is a lightweight alternative to Momentjs with the same modern API.\n *\n * Dayjs provides locale config for plenty of languages, you can check the whole list of locale configs at following url\n * https://github.com/iamkun/dayjs/tree/dev/src/locale\n *\n * You can either provide the dayjs locale config while registering\n * language with Streami18n (either via constructor or registerTranslation()) or you can provide your own Dayjs or Moment instance\n * to Streami18n constructor, which will be then used internally (using the language locale) in components.\n *\n * 1. Via language registration\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * dayjsLocaleConfigForLanguage: {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * });\n * ```\n *\n * Similarly, you can add locale config for moment while registering translation via `registerTranslation` function.\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation(\n * 'mr',\n * {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * },\n * {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * );\n *```\n * 2. Provide your own Moment object\n *\n * ```js\n * import 'moment/locale/nl';\n * import 'moment/locale/it';\n * // or if you want to include all locales\n * import 'moment/min/locales';\n *\n * import Moment from moment\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Moment\n * })\n * ```\n *\n * 3. Provide your own Dayjs object\n *\n * ```js\n * import Dayjs from 'dayjs'\n *\n * import 'dayjs/locale/nl';\n * import 'dayjs/locale/it';\n * // or if you want to include all locales\n * import 'dayjs/min/locales';\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Dayjs\n * })\n * ```\n * If you would like to stick with english language for date-times in Stream components, you can set `disableDateTimeTranslations` to true.\n *\n */\nconst defaultStreami18nOptions = {\n DateTimeParser: Dayjs,\n dayjsLocaleConfigForLanguage: null,\n debug: false,\n disableDateTimeTranslations: false,\n language: 'en',\n logger: (msg?: string) => console.warn(msg),\n};\n\nexport class Streami18n {\n i18nInstance = i18n.createInstance();\n Dayjs = null;\n setLanguageCallback: (t: TFunction) => void = () => null;\n initialized = false;\n\n t: TFunction = (key: string) => key;\n tDateTimeParser: TDateTimeParser;\n\n translations: {\n [key: string]: {\n [key: string]: Partial<typeof enTranslations> | DefaultStreamChatGenerics;\n };\n } = {\n en: { [defaultNS]: enTranslations },\n fr: { [defaultNS]: frTranslations },\n hi: { [defaultNS]: hiTranslations },\n it: { [defaultNS]: itTranslations },\n ja: { [defaultNS]: jaTranslations },\n ko: { [defaultNS]: koTranslations },\n nl: { [defaultNS]: nlTranslations },\n ru: { [defaultNS]: ruTranslations },\n tr: { [defaultNS]: trTranslations },\n };\n\n /**\n * dayjs.defineLanguage('nl') also changes the global locale. We don't want to do that\n * when a user calls the registerTranslation() function. So instead we will store the\n * locale configs given to the registerTranslation() function in `dayjsLocales` object,\n * and register the required locale with moment when setLanguage is called.\n */\n dayjsLocales: { [key: string]: Partial<ILocale> } = {};\n\n /**\n * Initialize properties used in constructor\n */\n logger: (msg?: string) => void;\n currentLanguage: string;\n DateTimeParser: typeof Dayjs | typeof moment;\n isCustomDateTimeParser: boolean;\n i18nextConfig: I18NextConfig;\n\n /**\n * Constructor accepts following options:\n * - language (String) default: 'en'\n * Language code e.g., en, tr\n *\n * - translationsForLanguage (object)\n * Translations object. Please check src/i18n/en.json for example.\n *\n * - disableDateTimeTranslations (boolean) default: false\n * Disable translations for date-times\n *\n * - debug (boolean) default: false\n * Enable debug mode in internal i18n class\n *\n * - logger (function) default: () => {}\n * Logger function to log warnings/errors from this class\n *\n * - dayjsLocaleConfigForLanguage (object) default: 'enConfig'\n * [Config object](https://momentjs.com/docs/#/i18n/changing-locale/) for internal moment object,\n * corresponding to language (param)\n *\n * - DateTimeParser (function) Moment or Dayjs instance/function.\n * Make sure to load all the required locales in this Moment or Dayjs instance that you will be provide to Streami18n\n *\n * @param {*} options\n */\n constructor(options: Options = {}, i18nextConfig: Partial<I18NextConfig> = {}) {\n const finalOptions = {\n ...defaultStreami18nOptions,\n ...options,\n };\n\n // Prepare the i18next configuration.\n this.logger = finalOptions.logger;\n\n this.currentLanguage = finalOptions.language;\n this.DateTimeParser = finalOptions.DateTimeParser;\n\n try {\n /**\n * This is a shallow check to see if the given parser is an instance of Dayjs.\n * For some reason Dayjs.isDayjs(this.DateTimeParser()) doesn't work.\n */\n if (this.DateTimeParser && isDayJs(this.DateTimeParser)) {\n this.DateTimeParser.extend(LocalizedFormat);\n this.DateTimeParser.extend(calendar);\n this.DateTimeParser.extend(localeData);\n this.DateTimeParser.extend(relativeTime);\n }\n } catch (error) {\n throw new Error(\n `Streami18n: Looks like you wanted to provide a Dayjs instance but something went wrong while adding plugins ${JSON.stringify(\n error,\n )}`,\n );\n }\n\n this.isCustomDateTimeParser = !!options.DateTimeParser;\n const translationsForLanguage = finalOptions.translationsForLanguage;\n\n if (translationsForLanguage) {\n this.translations[this.currentLanguage] = {\n [defaultNS]:\n this.translations[this.currentLanguage] &&\n this.translations[this.currentLanguage][defaultNS]\n ? {\n ...this.translations[this.currentLanguage][defaultNS],\n ...translationsForLanguage,\n }\n : translationsForLanguage,\n };\n }\n\n // If translations don't exist for given language, then set it as empty object.\n if (!this.translations[this.currentLanguage]) {\n this.translations[this.currentLanguage] = {\n [defaultNS]: {},\n };\n }\n\n this.i18nextConfig = {\n debug: finalOptions.debug,\n fallbackLng: false,\n interpolation: { escapeValue: false },\n keySeparator: false,\n lng: this.currentLanguage,\n nsSeparator: false,\n\n parseMissingKeyHandler: (key: string) => {\n this.logger(`Streami18n: Missing translation for key: ${key}`);\n\n return key;\n },\n ...i18nextConfig,\n };\n\n this.validateCurrentLanguage();\n\n const dayjsLocaleConfigForLanguage = finalOptions.dayjsLocaleConfigForLanguage;\n\n if (dayjsLocaleConfigForLanguage) {\n this.addOrUpdateLocale(this.currentLanguage, {\n ...dayjsLocaleConfigForLanguage,\n });\n } else if (!this.localeExists(this.currentLanguage)) {\n this.logger(\n `Streami18n: Streami18n(...) - Locale config for ${this.currentLanguage} does not exist in momentjs.` +\n `Please import the locale file using \"import 'moment/locale/${this.currentLanguage}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n this.tDateTimeParser = (timestamp) => {\n if (finalOptions.disableDateTimeTranslations || !this.localeExists(this.currentLanguage)) {\n /**\n * TS needs to know which is being called to accept the chain call\n */\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n }\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n };\n }\n\n /**\n * Initializes the i18next instance with configuration (which enables natural language as default keys)\n */\n async init() {\n this.validateCurrentLanguage();\n\n try {\n this.t = await this.i18nInstance.init({\n ...this.i18nextConfig,\n lng: this.currentLanguage,\n resources: this.translations,\n });\n this.initialized = true;\n } catch (error) {\n this.logger(`Something went wrong with init: ${JSON.stringify(error)}`);\n }\n\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n\n localeExists = (language: string) => {\n if (this.isCustomDateTimeParser) return true;\n\n return Object.keys(Dayjs.Ls).indexOf(language) > -1;\n };\n\n validateCurrentLanguage = () => {\n const availableLanguages = Object.keys(this.translations);\n if (availableLanguages.indexOf(this.currentLanguage) === -1) {\n this.logger(\n `Streami18n: '${this.currentLanguage}' language is not registered.` +\n ` Please make sure to call streami18n.registerTranslation('${this.currentLanguage}', {...}) or ` +\n `use one the built-in supported languages - ${this.getAvailableLanguages()}`,\n );\n\n this.currentLanguage = defaultLng;\n }\n };\n\n /** Returns an instance of i18next used within this class instance */\n geti18Instance = () => this.i18nInstance;\n\n /** Returns list of available languages. */\n getAvailableLanguages = () => Object.keys(this.translations);\n\n /** Returns all the translation dictionary for all inbuilt-languages */\n getTranslations = () => this.translations;\n\n /**\n * Returns current version translator function.\n */\n async getTranslators() {\n if (!this.initialized) {\n if (this.dayjsLocales[this.currentLanguage]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n return await this.init();\n } else {\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n }\n\n /**\n * Register translation\n */\n registerTranslation(\n language: string,\n translation: Partial<typeof enTranslations> | DefaultStreamChatGenerics,\n customDayjsLocale?: Partial<ILocale>,\n ) {\n if (!translation) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) called without translation`,\n );\n return;\n }\n\n if (!this.translations[language]) {\n this.translations[language] = { [defaultNS]: translation };\n } else {\n this.translations[language][defaultNS] = translation;\n }\n\n if (customDayjsLocale) {\n this.dayjsLocales[language] = { ...customDayjsLocale };\n } else if (!this.localeExists(language)) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) - ` +\n `Locale config for ${language} does not exist in Dayjs.` +\n `Please import the locale file using \"import 'dayjs/locale/${language}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n if (this.initialized) {\n this.i18nInstance.addResources(language, defaultNS, translation);\n }\n }\n\n addOrUpdateLocale(key: string, config: Partial<ILocale>) {\n if (this.localeExists(key)) {\n Dayjs.updateLocale(key, { ...config });\n } else {\n // Merging the custom locale config with en config, so missing keys can default to english.\n Dayjs.locale({ name: key, ...en_locale, ...config }, undefined, true);\n }\n }\n\n /**\n * Changes the language.\n */\n async setLanguage(language: string) {\n this.currentLanguage = language;\n\n if (!this.initialized) return;\n\n try {\n const t = await this.i18nInstance.changeLanguage(language);\n if (this.dayjsLocales[language]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n this.setLanguageCallback(t);\n\n return t;\n } catch (error) {\n this.logger(`Failed to set language: ${JSON.stringify(error)}`);\n return this.t;\n }\n }\n\n registerSetLanguageCallback(callback: (t: TFunction) => void) {\n this.setLanguageCallback = callback;\n }\n}\n"]}