stream-chat-react-native-core 4.0.0-beta.3 → 4.0.0-beta.7

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 (830) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Attachment/Attachment.js +10 -10
  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 +15 -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/Gallery.js +8 -8
  13. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/Giphy.js +112 -148
  15. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  22. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  23. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  24. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  27. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  28. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  29. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
  30. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  31. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
  32. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  33. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  34. package/lib/commonjs/components/Channel/Channel.js +13 -13
  35. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  36. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  37. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  38. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  39. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  40. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  41. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  42. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  43. package/lib/commonjs/components/ChannelList/ChannelList.js +2 -2
  44. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  45. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +14 -14
  46. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  47. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  61. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  62. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  63. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  64. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  65. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  66. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  67. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
  68. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  69. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  70. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  77. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  78. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  80. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  81. package/lib/commonjs/components/Chat/Chat.js +8 -4
  82. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  83. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  84. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  85. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  86. package/lib/commonjs/components/ImageGallery/ImageGallery.js +19 -19
  87. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  88. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
  89. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  90. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
  91. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  92. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +5 -5
  93. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  94. package/lib/commonjs/components/Message/Message.js +6 -6
  95. package/lib/commonjs/components/Message/Message.js.map +1 -1
  96. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +4 -4
  97. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  98. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +18 -18
  99. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  100. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
  101. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  102. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +20 -16
  103. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  104. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
  105. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  106. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +10 -10
  107. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  108. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
  109. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  110. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +6 -6
  111. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  112. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +9 -9
  113. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  115. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +51 -51
  117. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +145 -64
  119. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  121. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  122. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  123. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  124. package/lib/commonjs/components/Message/hooks/useMessageActions.js +11 -11
  125. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  126. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  127. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  128. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  129. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  130. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  131. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  132. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +11 -11
  133. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  134. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
  135. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  136. package/lib/commonjs/components/MessageInput/InputButtons.js +6 -6
  137. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  138. package/lib/commonjs/components/MessageInput/MessageInput.js +34 -34
  139. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  140. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  141. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  142. package/lib/commonjs/components/MessageInput/SendButton.js +5 -5
  143. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  144. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
  145. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  146. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  147. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
  148. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  149. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
  150. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  151. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
  152. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  153. package/lib/commonjs/components/MessageList/MessageList.js +26 -26
  154. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  155. package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
  156. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  157. package/lib/commonjs/components/MessageList/TypingIndicator.js +3 -3
  158. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  159. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
  160. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  161. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  162. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  163. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  164. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  165. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  166. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  167. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  168. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +3 -3
  169. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  170. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +6 -6
  171. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  172. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +26 -25
  173. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  174. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +13 -13
  175. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  176. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +19 -19
  177. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  178. package/lib/commonjs/components/Reply/Reply.js +8 -8
  179. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  180. package/lib/commonjs/components/Thread/Thread.js +4 -4
  181. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  182. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
  183. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  184. package/lib/commonjs/components/docs/data.js +44 -44
  185. package/lib/commonjs/components/docs/data.js.map +1 -1
  186. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  187. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  188. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  189. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  190. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  191. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  192. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  193. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  194. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  195. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  196. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  197. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  198. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  199. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  200. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  201. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  202. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  203. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +2 -2
  204. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  205. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  206. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  207. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  208. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  209. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  210. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  211. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  212. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  213. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +12 -12
  214. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  215. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  216. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  217. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  218. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  219. package/lib/commonjs/contexts/themeContext/utils/theme.js +7 -6
  220. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  221. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  222. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  223. package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -2
  224. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  225. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  226. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  227. package/lib/commonjs/icons/UserAdmin.js +62 -0
  228. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  229. package/lib/commonjs/icons/index.js +0 -26
  230. package/lib/commonjs/icons/index.js.map +1 -1
  231. package/lib/commonjs/init.js +13 -0
  232. package/lib/commonjs/init.js.map +1 -0
  233. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  234. package/lib/commonjs/utils/getResizedImageUrl.js +8 -5
  235. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  236. package/lib/commonjs/utils/utils.js.map +1 -1
  237. package/lib/commonjs/version.json +1 -1
  238. package/lib/module/components/Attachment/Attachment.js +10 -10
  239. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  240. package/lib/module/components/Attachment/AttachmentActions.js +4 -4
  241. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  242. package/lib/module/components/Attachment/Card.js +15 -15
  243. package/lib/module/components/Attachment/Card.js.map +1 -1
  244. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  245. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  246. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
  247. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  248. package/lib/module/components/Attachment/Gallery.js +8 -8
  249. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  250. package/lib/module/components/Attachment/Giphy.js +112 -148
  251. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  252. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  253. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  254. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  255. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  256. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  257. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  258. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  259. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  260. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  261. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  262. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  263. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  264. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  265. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
  266. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  267. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
  268. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  269. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  270. package/lib/module/components/Channel/Channel.js +13 -13
  271. package/lib/module/components/Channel/Channel.js.map +1 -1
  272. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  273. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  274. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  275. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  276. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  277. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  278. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  279. package/lib/module/components/ChannelList/ChannelList.js +2 -2
  280. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  281. package/lib/module/components/ChannelList/ChannelListMessenger.js +14 -14
  282. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  283. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  284. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  285. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  286. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  287. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  288. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  289. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  290. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  291. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  292. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  293. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  294. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  295. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  296. package/lib/module/components/ChannelList/utils.js.map +1 -1
  297. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  298. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  299. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  300. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  301. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  302. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  303. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
  304. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  305. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  306. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  307. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  308. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  309. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  310. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  311. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  312. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  313. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  314. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  315. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  316. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  317. package/lib/module/components/Chat/Chat.js +8 -4
  318. package/lib/module/components/Chat/Chat.js.map +1 -1
  319. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  320. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  321. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  322. package/lib/module/components/ImageGallery/ImageGallery.js +19 -19
  323. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  324. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
  325. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  326. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
  327. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  328. package/lib/module/components/ImageGallery/components/ImageGrid.js +5 -5
  329. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  330. package/lib/module/components/Message/Message.js +6 -6
  331. package/lib/module/components/Message/Message.js.map +1 -1
  332. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +4 -4
  333. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  334. package/lib/module/components/Message/MessageSimple/MessageContent.js +18 -18
  335. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  336. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
  337. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  338. package/lib/module/components/Message/MessageSimple/MessageFooter.js +20 -16
  339. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  340. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
  341. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  342. package/lib/module/components/Message/MessageSimple/MessageReplies.js +10 -10
  343. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  344. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
  345. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  346. package/lib/module/components/Message/MessageSimple/MessageSimple.js +6 -6
  347. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  348. package/lib/module/components/Message/MessageSimple/MessageStatus.js +9 -9
  349. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  350. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  351. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  352. package/lib/module/components/Message/MessageSimple/ReactionList.js +51 -51
  353. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  354. package/lib/module/components/Message/MessageSimple/utils/renderText.js +145 -64
  355. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  356. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  357. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  358. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  359. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  360. package/lib/module/components/Message/hooks/useMessageActions.js +11 -11
  361. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  362. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  363. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  364. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  365. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  366. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  367. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  368. package/lib/module/components/MessageInput/FileUploadPreview.js +11 -11
  369. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  370. package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
  371. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  372. package/lib/module/components/MessageInput/InputButtons.js +6 -6
  373. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  374. package/lib/module/components/MessageInput/MessageInput.js +34 -34
  375. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  376. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  377. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  378. package/lib/module/components/MessageInput/SendButton.js +5 -5
  379. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  380. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
  381. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  382. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  383. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
  384. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  385. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
  386. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  387. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
  388. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  389. package/lib/module/components/MessageList/MessageList.js +26 -26
  390. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  391. package/lib/module/components/MessageList/MessageSystem.js +6 -6
  392. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  393. package/lib/module/components/MessageList/TypingIndicator.js +3 -3
  394. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  395. package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
  396. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  397. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  398. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  399. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  400. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  401. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  402. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  403. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  404. package/lib/module/components/MessageOverlay/MessageActionList.js +3 -3
  405. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  406. package/lib/module/components/MessageOverlay/MessageActionListItem.js +6 -6
  407. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  408. package/lib/module/components/MessageOverlay/MessageOverlay.js +26 -25
  409. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  410. package/lib/module/components/MessageOverlay/OverlayReactionList.js +13 -13
  411. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  412. package/lib/module/components/MessageOverlay/OverlayReactions.js +19 -19
  413. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  414. package/lib/module/components/Reply/Reply.js +8 -8
  415. package/lib/module/components/Reply/Reply.js.map +1 -1
  416. package/lib/module/components/Thread/Thread.js +4 -4
  417. package/lib/module/components/Thread/Thread.js.map +1 -1
  418. package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
  419. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  420. package/lib/module/components/docs/data.js +44 -44
  421. package/lib/module/components/docs/data.js.map +1 -1
  422. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  423. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  424. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  425. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  426. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  427. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  428. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  429. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  430. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  431. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  432. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  433. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  434. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  435. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  436. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  437. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  438. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  439. package/lib/module/contexts/messageInputContext/MessageInputContext.js +2 -2
  440. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  441. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  442. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  443. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  444. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  445. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  446. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  447. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  448. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  449. package/lib/module/contexts/overlayContext/OverlayProvider.js +12 -12
  450. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  451. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  452. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  453. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  454. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  455. package/lib/module/contexts/themeContext/utils/theme.js +7 -6
  456. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  457. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  458. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  459. package/lib/module/contexts/translationContext/TranslationContext.js +2 -2
  460. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  461. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  462. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  463. package/lib/module/icons/UserAdmin.js +62 -0
  464. package/lib/module/icons/UserAdmin.js.map +1 -0
  465. package/lib/module/icons/index.js +0 -26
  466. package/lib/module/icons/index.js.map +1 -1
  467. package/lib/module/init.js +13 -0
  468. package/lib/module/init.js.map +1 -0
  469. package/lib/module/utils/Streami18n.js.map +1 -1
  470. package/lib/module/utils/getResizedImageUrl.js +8 -5
  471. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  472. package/lib/module/utils/utils.js.map +1 -1
  473. package/lib/module/version.json +1 -1
  474. package/lib/typescript/components/Attachment/Attachment.d.ts +5 -5
  475. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +4 -4
  476. package/lib/typescript/components/Attachment/Card.d.ts +4 -4
  477. package/lib/typescript/components/Attachment/FileAttachment.d.ts +5 -5
  478. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  479. package/lib/typescript/components/Attachment/Gallery.d.ts +5 -5
  480. package/lib/typescript/components/Attachment/Giphy.d.ts +6 -6
  481. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +3 -3
  482. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +3 -3
  483. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +3 -3
  484. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +3 -3
  485. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +3 -3
  486. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +3 -3
  487. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +2 -2
  488. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +4 -4
  489. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +3 -2
  490. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +4 -4
  491. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +5 -5
  492. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +9 -9
  493. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  494. package/lib/typescript/components/Channel/Channel.d.ts +7 -7
  495. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  496. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -3
  497. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -3
  498. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +3 -3
  499. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  500. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  501. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  502. package/lib/typescript/components/ChannelList/ChannelList.d.ts +14 -14
  503. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  504. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  505. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  506. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  507. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  508. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  509. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  510. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  511. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  512. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  513. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  514. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  515. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  516. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +7 -7
  517. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  518. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  519. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +5 -5
  520. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  521. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +5 -5
  522. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +3 -3
  523. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  524. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  525. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  526. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +3 -3
  527. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  528. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  529. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  530. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  531. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  532. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  533. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  534. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +9 -9
  535. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  536. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  537. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
  538. package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
  539. package/lib/typescript/components/Message/Message.d.ts +11 -11
  540. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +4 -4
  541. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  542. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +5 -5
  543. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +6 -6
  544. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +4 -4
  545. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  546. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  547. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  548. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  549. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +6 -6
  550. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +4 -4
  551. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +19 -5
  552. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  553. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  554. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +2 -2
  555. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +3 -3
  556. package/lib/typescript/components/Message/utils/messageActions.d.ts +5 -5
  557. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  558. package/lib/typescript/components/MessageInput/AttachButton.d.ts +4 -4
  559. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +4 -4
  560. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  561. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  562. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  563. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  564. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +4 -4
  565. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  566. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  567. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +2 -2
  568. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  569. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  570. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  571. package/lib/typescript/components/MessageList/MessageList.d.ts +7 -7
  572. package/lib/typescript/components/MessageList/MessageSystem.d.ts +4 -4
  573. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  574. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  575. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +5 -5
  576. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  577. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  578. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  579. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +4 -4
  580. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  581. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  582. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +4 -4
  583. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +4 -3
  584. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  585. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -6
  586. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +2 -2
  587. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
  588. package/lib/typescript/components/Reply/Reply.d.ts +4 -4
  589. package/lib/typescript/components/Thread/Thread.d.ts +7 -7
  590. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  591. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  592. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +12 -12
  593. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +18 -18
  594. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  595. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  596. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  597. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  598. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  599. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -12
  600. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +33 -33
  601. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +2 -2
  602. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  603. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +21 -21
  604. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +57 -57
  605. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +4 -4
  606. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  607. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  608. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +20 -20
  609. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +6 -5
  610. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  611. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  612. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  613. package/lib/typescript/icons/{Left.d.ts → UserAdmin.d.ts} +1 -1
  614. package/lib/typescript/icons/index.d.ts +0 -2
  615. package/lib/typescript/init.d.ts +2 -0
  616. package/lib/typescript/types/types.d.ts +16 -13
  617. package/lib/typescript/utils/Streami18n.d.ts +4 -4
  618. package/lib/typescript/utils/getResizedImageUrl.d.ts +2 -1
  619. package/lib/typescript/utils/utils.d.ts +21 -21
  620. package/package.json +3 -5
  621. package/src/components/Attachment/Attachment.tsx +15 -56
  622. package/src/components/Attachment/AttachmentActions.tsx +15 -55
  623. package/src/components/Attachment/Card.tsx +15 -48
  624. package/src/components/Attachment/FileAttachment.tsx +14 -48
  625. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  626. package/src/components/Attachment/Gallery.tsx +18 -59
  627. package/src/components/Attachment/Giphy.tsx +82 -125
  628. package/src/components/Attachment/__tests__/buildGallery.test.js +4 -4
  629. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +5 -3
  630. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +6 -10
  631. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +5 -5
  632. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +5 -3
  633. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +5 -3
  634. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +5 -3
  635. package/src/components/Attachment/utils/getAspectRatio.ts +4 -4
  636. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +21 -61
  637. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +5 -3
  638. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +12 -19
  639. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +14 -21
  640. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +21 -24
  641. package/src/components/Avatar/Avatar.tsx +1 -1
  642. package/src/components/Channel/Channel.tsx +174 -257
  643. package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -19
  644. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +52 -68
  645. package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -19
  646. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +3 -18
  647. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  648. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  649. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  650. package/src/components/ChannelList/ChannelList.tsx +28 -49
  651. package/src/components/ChannelList/ChannelListMessenger.tsx +19 -70
  652. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +14 -36
  653. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +13 -35
  654. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +13 -35
  655. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +15 -37
  656. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +13 -35
  657. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +14 -36
  658. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +3 -18
  659. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +11 -33
  660. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +13 -35
  661. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +13 -35
  662. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +9 -31
  663. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +4 -19
  664. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +11 -29
  665. package/src/components/ChannelList/utils.ts +9 -42
  666. package/src/components/ChannelPreview/ChannelAvatar.tsx +5 -26
  667. package/src/components/ChannelPreview/ChannelPreview.tsx +18 -51
  668. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +11 -21
  669. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +13 -46
  670. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +5 -26
  671. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +6 -27
  672. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +5 -26
  673. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +5 -26
  674. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +7 -28
  675. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +6 -27
  676. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +7 -28
  677. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +27 -78
  678. package/src/components/Chat/Chat.tsx +15 -40
  679. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  680. package/src/components/Chat/hooks/useIsOnline.ts +4 -19
  681. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  682. package/src/components/ImageGallery/ImageGallery.tsx +30 -40
  683. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +19 -11
  684. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +42 -20
  685. package/src/components/ImageGallery/components/ImageGrid.tsx +45 -30
  686. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
  687. package/src/components/Message/Message.tsx +40 -93
  688. package/src/components/Message/MessageSimple/MessageAvatar.tsx +13 -54
  689. package/src/components/Message/MessageSimple/MessageContent.tsx +18 -61
  690. package/src/components/Message/MessageSimple/MessageDeleted.tsx +17 -58
  691. package/src/components/Message/MessageSimple/MessageFooter.tsx +23 -65
  692. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +13 -54
  693. package/src/components/Message/MessageSimple/MessageReplies.tsx +15 -56
  694. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +5 -26
  695. package/src/components/Message/MessageSimple/MessageSimple.tsx +16 -57
  696. package/src/components/Message/MessageSimple/MessageStatus.tsx +13 -54
  697. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +19 -66
  698. package/src/components/Message/MessageSimple/ReactionList.tsx +47 -88
  699. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  700. package/src/components/Message/MessageSimple/utils/renderText.tsx +89 -74
  701. package/src/components/Message/hooks/useCreateMessageContext.ts +4 -19
  702. package/src/components/Message/hooks/useMessageActionHandlers.ts +8 -23
  703. package/src/components/Message/hooks/useMessageActions.tsx +8 -23
  704. package/src/components/Message/utils/messageActions.ts +7 -34
  705. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  706. package/src/components/MessageInput/AttachButton.tsx +13 -54
  707. package/src/components/MessageInput/CommandsButton.tsx +15 -56
  708. package/src/components/MessageInput/FileUploadPreview.tsx +15 -57
  709. package/src/components/MessageInput/ImageUploadPreview.tsx +13 -55
  710. package/src/components/MessageInput/InputButtons.tsx +13 -54
  711. package/src/components/MessageInput/MessageInput.tsx +25 -66
  712. package/src/components/MessageInput/MoreOptionsButton.tsx +13 -54
  713. package/src/components/MessageInput/SendButton.tsx +13 -54
  714. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +4 -19
  715. package/src/components/MessageInput/hooks/useCooldown.ts +5 -19
  716. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  717. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  718. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  719. package/src/components/MessageList/MessageList.tsx +34 -76
  720. package/src/components/MessageList/MessageSystem.tsx +5 -26
  721. package/src/components/MessageList/TypingIndicator.tsx +3 -18
  722. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  723. package/src/components/MessageList/hooks/useMessageList.ts +19 -52
  724. package/src/components/MessageList/hooks/useTypingString.ts +5 -20
  725. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  726. package/src/components/MessageList/utils/getDateSeparators.ts +6 -27
  727. package/src/components/MessageList/utils/getGroupStyles.ts +6 -27
  728. package/src/components/MessageList/utils/getLastReceivedMessage.ts +3 -18
  729. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  730. package/src/components/MessageOverlay/MessageActionList.tsx +15 -56
  731. package/src/components/MessageOverlay/MessageActionListItem.tsx +20 -9
  732. package/src/components/MessageOverlay/MessageOverlay.tsx +38 -81
  733. package/src/components/MessageOverlay/OverlayReactionList.tsx +21 -74
  734. package/src/components/MessageOverlay/OverlayReactions.tsx +3 -18
  735. package/src/components/Reply/Reply.tsx +22 -69
  736. package/src/components/Thread/Thread.tsx +20 -53
  737. package/src/components/Thread/components/ThreadFooterComponent.tsx +12 -47
  738. package/src/components/docs/data.js +38 -37
  739. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +9 -7
  740. package/src/contexts/channelContext/ChannelContext.tsx +15 -48
  741. package/src/contexts/channelsContext/ChannelsContext.tsx +22 -59
  742. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +38 -115
  743. package/src/contexts/channelsStateContext/useChannelState.ts +27 -60
  744. package/src/contexts/chatContext/ChatContext.tsx +14 -49
  745. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +12 -54
  746. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -7
  747. package/src/contexts/messageContext/MessageContext.tsx +15 -48
  748. package/src/contexts/messageInputContext/MessageInputContext.tsx +61 -110
  749. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +5 -20
  750. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +7 -31
  751. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +24 -71
  752. package/src/contexts/messagesContext/MessagesContext.tsx +60 -99
  753. package/src/contexts/overlayContext/OverlayContext.tsx +18 -26
  754. package/src/contexts/overlayContext/OverlayProvider.tsx +7 -22
  755. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +13 -53
  756. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +39 -40
  757. package/src/contexts/themeContext/utils/theme.ts +13 -11
  758. package/src/contexts/threadContext/ThreadContext.tsx +13 -46
  759. package/src/contexts/translationContext/TranslationContext.tsx +12 -7
  760. package/src/contexts/typingContext/TypingContext.tsx +11 -44
  761. package/src/icons/UserAdmin.tsx +23 -0
  762. package/src/icons/index.ts +0 -2
  763. package/src/init.ts +5 -0
  764. package/src/types/types.ts +16 -18
  765. package/src/utils/Streami18n.ts +3 -3
  766. package/src/utils/__tests__/getResizedImageUrl.test.js +56 -0
  767. package/src/utils/getResizedImageUrl.ts +15 -13
  768. package/src/utils/utils.ts +63 -128
  769. package/src/version.json +1 -1
  770. package/lib/commonjs/icons/Left.js +0 -38
  771. package/lib/commonjs/icons/Left.js.map +0 -1
  772. package/lib/commonjs/icons/Right.js +0 -38
  773. package/lib/commonjs/icons/Right.js.map +0 -1
  774. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
  775. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  776. package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
  777. package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
  778. package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
  779. package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
  780. package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
  781. package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
  782. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
  783. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
  784. package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
  785. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
  786. package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
  787. package/lib/commonjs/styleguideComponents/Reanimated.js.map +0 -1
  788. package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
  789. package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
  790. package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
  791. package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
  792. package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
  793. package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
  794. package/lib/module/icons/Left.js +0 -38
  795. package/lib/module/icons/Left.js.map +0 -1
  796. package/lib/module/icons/Right.js +0 -38
  797. package/lib/module/icons/Right.js.map +0 -1
  798. package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
  799. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  800. package/lib/module/styleguideComponents/BottomSheet.js +0 -25
  801. package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
  802. package/lib/module/styleguideComponents/JsDoc.js +0 -87
  803. package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
  804. package/lib/module/styleguideComponents/Markdown.js +0 -12
  805. package/lib/module/styleguideComponents/Markdown.js.map +0 -1
  806. package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
  807. package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
  808. package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
  809. package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
  810. package/lib/module/styleguideComponents/Reanimated.js +0 -2
  811. package/lib/module/styleguideComponents/Reanimated.js.map +0 -1
  812. package/lib/module/styleguideComponents/Wrapper.js +0 -29
  813. package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
  814. package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
  815. package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
  816. package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
  817. package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
  818. package/lib/typescript/icons/Right.d.ts +0 -3
  819. package/src/icons/Left.tsx +0 -12
  820. package/src/icons/Right.tsx +0 -12
  821. package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -60
  822. package/src/styleguideComponents/BottomSheet.tsx +0 -3
  823. package/src/styleguideComponents/JsDoc.tsx +0 -45
  824. package/src/styleguideComponents/Markdown.tsx +0 -1
  825. package/src/styleguideComponents/PathlineRenderer.tsx +0 -45
  826. package/src/styleguideComponents/PropsRenderer.tsx +0 -141
  827. package/src/styleguideComponents/Reanimated.tsx +0 -0
  828. package/src/styleguideComponents/Wrapper.tsx +0 -7
  829. package/src/styleguideComponents/register-react-native-web.js +0 -13
  830. package/src/styleguideComponents/resolveAssetSource.js +0 -2
@@ -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 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 { 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"]}
@@ -7,20 +7,23 @@ var _reactNative = require("react-native");
7
7
 
8
8
  function getResizedImageUrl(_ref) {
9
9
  var height = _ref.height,
10
+ _ref$resize = _ref.resize,
11
+ resize = _ref$resize === void 0 ? 'clip' : _ref$resize,
10
12
  url = _ref.url,
11
13
  width = _ref.width;
12
- var isResizableUrl = url.includes('&h=*') && url.includes('&w=*') && url.includes('&resize=*');
14
+ var isResizableUrl = url.includes('.stream-io-cdn.com');
13
15
  if (!isResizableUrl || !height && !width) return url;
14
- var resizedUrl = url;
16
+ var parsedUrl = new URL(url);
15
17
 
16
18
  if (height) {
17
- resizedUrl = resizedUrl.replace('h=*', "h=" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(Number(height)));
19
+ parsedUrl.searchParams.set('h', "" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(Number(height)));
18
20
  }
19
21
 
20
22
  if (width) {
21
- resizedUrl = resizedUrl.replace('w=*', "w=" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(Number(width)));
23
+ parsedUrl.searchParams.set('w', "" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(Number(width)));
22
24
  }
23
25
 
24
- return resizedUrl.replace('resize=*', "resize=clip");
26
+ parsedUrl.searchParams.set('resize', "" + resize);
27
+ return parsedUrl.toString();
25
28
  }
26
29
  //# sourceMappingURL=getResizedImageUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["getResizedImageUrl.ts"],"names":["getResizedImageUrl","height","url","width","isResizableUrl","includes","resizedUrl","replace","PixelRatio","getPixelSizeForLayoutSize","Number"],"mappings":";;;;;AAAA;;AAoBO,SAASA,kBAAT,OAA8E;AAAA,MAAhDC,MAAgD,QAAhDA,MAAgD;AAAA,MAAxCC,GAAwC,QAAxCA,GAAwC;AAAA,MAAnCC,KAAmC,QAAnCA,KAAmC;AACnF,MAAMC,cAAc,GAAGF,GAAG,CAACG,QAAJ,CAAa,MAAb,KAAwBH,GAAG,CAACG,QAAJ,CAAa,MAAb,CAAxB,IAAgDH,GAAG,CAACG,QAAJ,CAAa,WAAb,CAAvE;AAEA,MAAI,CAACD,cAAD,IAAoB,CAACH,MAAD,IAAW,CAACE,KAApC,EAA4C,OAAOD,GAAP;AAE5C,MAAII,UAAU,GAAGJ,GAAjB;;AAEA,MAAID,MAAJ,EAAY;AACVK,IAAAA,UAAU,GAAGA,UAAU,CAACC,OAAX,CACX,KADW,SAENC,wBAAWC,yBAAX,CAAqCC,MAAM,CAACT,MAAD,CAA3C,CAFM,CAAb;AAID;;AAED,MAAIE,KAAJ,EAAW;AACTG,IAAAA,UAAU,GAAGA,UAAU,CAACC,OAAX,CACX,KADW,SAENC,wBAAWC,yBAAX,CAAqCC,MAAM,CAACP,KAAD,CAA3C,CAFM,CAAb;AAID;;AAED,SAAOG,UAAU,CAACC,OAAX,CAAmB,UAAnB,gBAAP;AACD","sourcesContent":["import { PixelRatio } from 'react-native';\n\ntype GetResizedImageUrlParams = {\n url: string;\n height?: string | number;\n width?: string | number;\n};\n\n/**\n * Any file or image upload done through stream's chat SDK or components get uploaded\n * to CloudFront CDN. Following function returns a url of resized image (to given width and height).\n * It can be used to avoid rendering heavy images on UI, for the sake of performance.\n *\n * This function accepts an object with following properties:\n * - height: height of the resized image.\n * - url: url of the image.\n * - width: width of the resized image.\n *\n * @returns {string} Url of the image with given height and width.\n */\nexport function getResizedImageUrl({ height, url, width }: GetResizedImageUrlParams) {\n const isResizableUrl = url.includes('&h=*') && url.includes('&w=*') && url.includes('&resize=*');\n\n if (!isResizableUrl || (!height && !width)) return url;\n\n let resizedUrl = url;\n\n if (height) {\n resizedUrl = resizedUrl.replace(\n 'h=*',\n `h=${PixelRatio.getPixelSizeForLayoutSize(Number(height))}`,\n );\n }\n\n if (width) {\n resizedUrl = resizedUrl.replace(\n 'w=*',\n `w=${PixelRatio.getPixelSizeForLayoutSize(Number(width))}`,\n );\n }\n\n return resizedUrl.replace('resize=*', `resize=clip`);\n}\n"]}
1
+ {"version":3,"sources":["getResizedImageUrl.ts"],"names":["getResizedImageUrl","height","resize","url","width","isResizableUrl","includes","parsedUrl","URL","searchParams","set","PixelRatio","getPixelSizeForLayoutSize","Number","toString"],"mappings":";;;;;AAAA;;AAqBO,SAASA,kBAAT,OAKsB;AAAA,MAJ3BC,MAI2B,QAJ3BA,MAI2B;AAAA,yBAH3BC,MAG2B;AAAA,MAH3BA,MAG2B,4BAHlB,MAGkB;AAAA,MAF3BC,GAE2B,QAF3BA,GAE2B;AAAA,MAD3BC,KAC2B,QAD3BA,KAC2B;AAE3B,MAAMC,cAAc,GAAGF,GAAG,CAACG,QAAJ,CAAa,oBAAb,CAAvB;AACA,MAAI,CAACD,cAAD,IAAoB,CAACJ,MAAD,IAAW,CAACG,KAApC,EAA4C,OAAOD,GAAP;AAE5C,MAAMI,SAAS,GAAG,IAAIC,GAAJ,CAAQL,GAAR,CAAlB;;AAEA,MAAIF,MAAJ,EAAY;AACVM,IAAAA,SAAS,CAACE,YAAV,CAAuBC,GAAvB,CAA2B,GAA3B,OAAmCC,wBAAWC,yBAAX,CAAqCC,MAAM,CAACZ,MAAD,CAA3C,CAAnC;AACD;;AAED,MAAIG,KAAJ,EAAW;AACTG,IAAAA,SAAS,CAACE,YAAV,CAAuBC,GAAvB,CAA2B,GAA3B,OAAmCC,wBAAWC,yBAAX,CAAqCC,MAAM,CAACT,KAAD,CAA3C,CAAnC;AACD;;AAEDG,EAAAA,SAAS,CAACE,YAAV,CAAuBC,GAAvB,CAA2B,QAA3B,OAAwCR,MAAxC;AAEA,SAAOK,SAAS,CAACO,QAAV,EAAP;AACD","sourcesContent":["import { PixelRatio } from 'react-native';\n\ntype GetResizedImageUrlParams = {\n url: string;\n height?: string | number;\n resize?: 'clip' | 'crop' | 'fill' | 'scale';\n width?: string | number;\n};\n\n/**\n * Any file or image upload done through stream's chat SDK or components get uploaded\n * to CloudFront CDN. Following function returns a url of resized image (to given width and height).\n * It can be used to avoid rendering heavy images on UI, for the sake of performance.\n *\n * This function accepts an object with following properties:\n * - height: height of the resized image.\n * - url: url of the image.\n * - width: width of the resized image.\n *\n * @returns {string} Url of the image with given height and width.\n */\nexport function getResizedImageUrl({\n height,\n resize = 'clip',\n url,\n width,\n}: GetResizedImageUrlParams) {\n // Check if url belongs to cloudfront CDN\n const isResizableUrl = url.includes('.stream-io-cdn.com');\n if (!isResizableUrl || (!height && !width)) return url;\n\n const parsedUrl = new URL(url);\n\n if (height) {\n parsedUrl.searchParams.set('h', `${PixelRatio.getPixelSizeForLayoutSize(Number(height))}`);\n }\n\n if (width) {\n parsedUrl.searchParams.set('w', `${PixelRatio.getPixelSizeForLayoutSize(Number(width))}`);\n }\n\n parsedUrl.searchParams.set('resize', `${resize}`);\n\n return parsedUrl.toString();\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["FileState","Object","freeze","FINISHED","NO_FILE","UPLOAD_FAILED","UPLOADED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","RETRY","MessageStatusTypes","FAILED","RECEIVED","SENDING","defaultAutoCompleteSuggestionsLimit","defaultMentionAllAppUsersQuery","filters","options","sort","isUserResponse","user","undefined","getCommands","channel","getConfig","commands","getMembers","members","state","values","length","filter","member","map","getWatchers","watchers","getMembersAndWatchers","users","reduce","acc","cur","id","queryMembers","query","onReady","limit","name","$autocomplete","response","forEach","push","queryMembersDebounced","leading","trailing","queryUsers","client","mentionAllAppUsersQuery","$ne","userID","$or","queryUsersDebounced","isCommandTrigger","trigger","isEmojiTrigger","isMentionTrigger","ACITriggerSettings","onMentionSelectItem","dataProvider","text","indexOf","selectedCommands","command","a","b","nameA","toLowerCase","nameB","result","slice","output","entity","caretPosition","key","type","_","compiledEmojis","emojiArray","names","some","includes","emoji","emojiLib","skin_variations","tone","index","unicode","callback","item","mentionAllAppUsersEnabled","data","matchingUsers","makeImageCompatibleUrl","url","trim","getUrlWithoutParams","indexOfQuestion","substring","vw","percentageWidth","rounded","value","Dimensions","get","width","Math","round","vh","percentageHeight","height","generateRandomId","Number","random","toString","replace","emojiRegex","urlRegex"],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { Dimensions } from 'react-native';\n\nimport type { DebouncedFunc } from 'lodash';\nimport debounce from 'lodash/debounce';\nimport type {\n Channel,\n ChannelMemberAPIResponse,\n ChannelMemberResponse,\n CommandResponse,\n StreamChat,\n UserResponse,\n} from 'stream-chat';\n\nimport type { MentionAllAppUsersQuery } from '../contexts/messageInputContext/MessageInputContext';\nimport type {\n SuggestionCommand,\n SuggestionComponentType,\n SuggestionUser,\n} from '../contexts/suggestionsContext/SuggestionsContext';\nimport { compiledEmojis, Emoji } from '../emoji-data/compiled';\nimport type { IconProps } from '../icons/utils/base';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../types/types';\n\nexport type ReactionData = {\n Icon: React.FC<IconProps>;\n type: string;\n};\n\nexport const FileState = Object.freeze({\n // finished and uploaded state are the same thing. First is set on frontend,\n // while later is set on backend side\n // TODO: Unify both of them\n FINISHED: 'finished',\n NO_FILE: 'no_file',\n UPLOAD_FAILED: 'upload_failed',\n UPLOADED: 'uploaded',\n UPLOADING: 'uploading',\n});\n\nexport const ProgressIndicatorTypes: {\n IN_PROGRESS: 'in_progress';\n RETRY: 'retry';\n} = Object.freeze({\n IN_PROGRESS: 'in_progress',\n RETRY: 'retry',\n});\n\nexport const MessageStatusTypes = {\n FAILED: 'failed',\n RECEIVED: 'received',\n SENDING: 'sending',\n};\n\nconst defaultAutoCompleteSuggestionsLimit = 10;\nconst defaultMentionAllAppUsersQuery = {\n filters: {},\n options: {},\n sort: {},\n};\n\nconst isUserResponse = <Us extends DefaultUserType = DefaultUserType>(\n user: SuggestionUser<Us> | undefined,\n): user is SuggestionUser<Us> => (user as SuggestionUser<Us>) !== undefined;\n\nconst getCommands = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n) => channel.getConfig()?.commands || [];\n\nconst getMembers = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const members = channel.state.members;\n\n return Object.values(members).length\n ? (\n Object.values(members).filter((member) => member.user) as Array<\n ChannelMemberResponse<Us> & { user: UserResponse<Us> }\n >\n ).map((member) => member.user)\n : [];\n};\n\nconst getWatchers = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const watchers = channel.state.watchers;\n return Object.values(watchers).length ? [...Object.values(watchers)] : [];\n};\n\nconst getMembersAndWatchers = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const users = [...getMembers(channel), ...getWatchers(channel)];\n\n return Object.values(\n users.reduce((acc, cur) => {\n if (!acc[cur.id]) {\n acc[cur.id] = cur;\n }\n\n return acc;\n }, {} as { [key: string]: SuggestionUser<Us> }),\n );\n};\n\nconst queryMembers = async <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n query: SuggestionUser<Us>['name'],\n onReady?: (users: SuggestionUser<Us>[]) => void,\n options: {\n limit?: number;\n } = {},\n): Promise<void> => {\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n\n if (typeof query === 'string') {\n const response = (await (channel as unknown as Channel).queryMembers(\n {\n name: { $autocomplete: query },\n },\n {},\n { limit },\n )) as ChannelMemberAPIResponse<Us>;\n\n const users: SuggestionUser<Us>[] = [];\n response.members.forEach((member) => isUserResponse(member.user) && users.push(member.user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryMembersDebounced = debounce(queryMembers, 200, {\n leading: false,\n trailing: true,\n});\n\nconst queryUsers = async <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n query: SuggestionUser<Us>['name'],\n onReady?: (users: SuggestionUser<Us>[]) => void,\n options: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<Us>;\n } = {},\n): Promise<void> => {\n if (typeof query === 'string') {\n const {\n limit = defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersQuery = defaultMentionAllAppUsersQuery,\n } = options;\n const filters = {\n id: { $ne: client.userID },\n ...mentionAllAppUsersQuery?.filters,\n };\n\n if (query) {\n // @ts-ignore\n filters.$or = [{ id: { $autocomplete: query } }, { name: { $autocomplete: query } }];\n }\n\n const response = await client.queryUsers(\n // @ts-ignore\n filters,\n { id: 1, ...mentionAllAppUsersQuery?.sort },\n { limit, ...mentionAllAppUsersQuery?.options },\n );\n const users: SuggestionUser<Us>[] = [];\n response.users.forEach((user) => isUserResponse(user) && users.push(user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryUsersDebounced = debounce(queryUsers, 200, {\n leading: false,\n trailing: true,\n});\n\nexport const isCommandTrigger = (trigger: Trigger): trigger is '/' => trigger === '/';\n\nexport const isEmojiTrigger = (trigger: Trigger): trigger is ':' => trigger === ':';\n\nexport const isMentionTrigger = (trigger: Trigger): trigger is '@' => trigger === '@';\n\nexport type Trigger = '/' | '@' | ':';\n\nexport type TriggerSettings<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = {\n '/'?: {\n dataProvider: (\n query: CommandResponse<Co>['name'],\n text: string,\n onReady?: (data: CommandResponse<Co>[], q: CommandResponse<Co>['name']) => void,\n options?: {\n limit?: number;\n },\n ) => SuggestionCommand<Co>[];\n output: (entity: CommandResponse<Co>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n ':'?: {\n dataProvider: (\n query: Emoji['name'],\n _: string,\n onReady?: (data: Emoji[], q: Emoji['name']) => void,\n ) => Emoji[];\n output: (entity: Emoji) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n '@'?: {\n callback: (item: SuggestionUser<Us>) => void;\n dataProvider: (\n query: SuggestionUser<Us>['name'],\n _: string,\n onReady?: (data: SuggestionUser<Us>[], q: SuggestionUser<Us>['name']) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersEnabled?: boolean;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<Us>;\n },\n ) => SuggestionUser<Us>[] | Promise<void> | void;\n output: (entity: SuggestionUser<Us>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n};\n\nexport type ACITriggerSettingsParams<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>;\n onMentionSelectItem: (item: SuggestionUser<Us>) => void;\n};\n\nexport type QueryUsersFunction<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = (\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n query: SuggestionUser<Us>['name'],\n onReady?: (users: SuggestionUser<Us>[]) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<Us>;\n },\n) => Promise<void>;\n\nexport type QueryMembersFunction<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = (\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n query: SuggestionUser<Us>['name'],\n onReady?: (users: SuggestionUser<Us>[]) => void,\n options?: {\n limit?: number;\n },\n) => Promise<void>;\n\n/**\n * ACI = AutoCompleteInput\n *\n * DataProvider accepts `onReady` function, which will execute once the data is ready.\n * Another approach would have been to simply return the data from dataProvider and let the\n * component await for it and then execute the required logic. We are going for callback instead\n * of async-await since we have debounce function in dataProvider. Which will delay the execution\n * of api call on trailing end of debounce (lets call it a1) but will return with result of\n * previous call without waiting for a1. So in this case, we want to execute onReady, when trailing\n * end of debounce executes.\n */\nexport const ACITriggerSettings = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n channel,\n client,\n onMentionSelectItem,\n}: ACITriggerSettingsParams<At, Ch, Co, Ev, Me, Re, Us>): TriggerSettings<Co, Us> => ({\n '/': {\n dataProvider: (query, text, onReady, options = {}) => {\n if (text.indexOf('/') !== 0) return [];\n\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n const selectedCommands = !query\n ? getCommands(channel)\n : getCommands(channel).filter((command) => query && command.name?.indexOf(query) !== -1);\n\n // sort alphabetically unless the you're matching the first char\n selectedCommands.sort((a, b) => {\n let nameA = a.name?.toLowerCase() || '';\n let nameB = b.name?.toLowerCase() || '';\n if (query && nameA.indexOf(query) === 0) {\n nameA = `0${nameA}`;\n }\n if (query && nameB.indexOf(query) === 0) {\n nameB = `0${nameB}`;\n }\n if (nameA < nameB) return -1;\n if (nameA > nameB) return 1;\n\n return 0;\n });\n\n const result = selectedCommands.slice(0, limit);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: `${entity.name}`,\n text: `/${entity.name}`,\n }),\n type: 'command',\n },\n ':': {\n dataProvider: (query, _, onReady) => {\n if (!query) return [];\n\n const result = compiledEmojis.emojiArray.reduce((acc, cur) => {\n if (acc.length >= 10) return acc;\n\n if (cur.names.some((name) => name.includes(query))) {\n const emoji = compiledEmojis.emojiLib[cur.name];\n if (emoji.skin_variations) {\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-1`,\n skin_variations: undefined,\n });\n emoji.skin_variations.forEach((tone, index) =>\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-${index + 2}`,\n skin_variations: undefined,\n unicode: tone,\n }),\n );\n } else {\n acc.push(emoji);\n }\n }\n\n return acc;\n }, [] as Emoji[]);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.name,\n text: entity.unicode,\n }),\n type: 'emoji',\n },\n '@': {\n callback: (item) => {\n onMentionSelectItem(item);\n },\n dataProvider: (\n query,\n _,\n onReady,\n options = {\n limit: defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled: false,\n mentionAllAppUsersQuery: defaultMentionAllAppUsersQuery,\n },\n ) => {\n if (options?.mentionAllAppUsersEnabled) {\n return (\n queryUsersDebounced as DebouncedFunc<QueryUsersFunction<At, Ch, Co, Ev, Me, Re, Us>>\n )(\n client,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n mentionAllAppUsersQuery: options.mentionAllAppUsersQuery,\n },\n );\n }\n\n /**\n * By default, we return maximum 100 members via queryChannels api call.\n * Thus it is safe to assume, that if number of members in channel.state is < 100,\n * then all the members are already available on client side and we don't need to\n * make any api call to queryMembers endpoint.\n */\n if (!query || Object.values(channel.state.members).length < 100) {\n const users = getMembersAndWatchers(channel);\n\n const matchingUsers = users.filter((user) => {\n if (!query) return true;\n if (user.name?.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n if (user.id.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n return false;\n });\n\n const data = matchingUsers.slice(0, options?.limit);\n\n if (onReady) {\n onReady(data, query);\n }\n\n return data;\n }\n\n return (\n queryMembersDebounced as DebouncedFunc<QueryMembersFunction<At, Ch, Co, Ev, Me, Re, Us>>\n )(\n channel,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n },\n );\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.id,\n text: `@${entity.name || entity.id}`,\n }),\n type: 'mention',\n },\n});\n\nexport const makeImageCompatibleUrl = (url: string) =>\n (url.indexOf('//') === 0 ? `https:${url}` : url).trim();\n\nexport const getUrlWithoutParams = (url?: string) => {\n if (!url) return url;\n\n const indexOfQuestion = url.indexOf('?');\n if (indexOfQuestion === -1) return url;\n\n return url.substring(0, url.indexOf('?'));\n};\n\nexport const vw = (percentageWidth: number, rounded = false) => {\n const value = Dimensions.get('window').width * (percentageWidth / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const vh = (percentageHeight: number, rounded = false) => {\n const height = Dimensions.get('window').height;\n\n const value = height * (percentageHeight / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const generateRandomId = (a = ''): string =>\n a\n ? /* eslint-disable no-bitwise */\n ((Number(a) ^ (Math.random() * 16)) >> (Number(a) / 4)).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateRandomId);\n\n// source: https://raw.githubusercontent.com/mathiasbynens/emoji-regex/master/RGI_Emoji.js\n// [#\\*0-9]\\uFE0F\\u20E3 was replaced with [#*0-9]\\uFE0F\\u20E3 due to a lint warning\nexport const emojiRegex =\n /^(\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC68(?:\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u2764\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#*0-9]\\uFE0F\\u20E3|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])+$/;\n\nexport const urlRegex =\n /(?:\\s|^)((?:https?:\\/\\/)?(?:[a-z0-9-]+(?:\\.[a-z0-9-]+)+)(?::[0-9]+)?(?:\\/(?:[^\\s]+)?)?)/g;\n"]}
1
+ {"version":3,"sources":["utils.ts"],"names":["FileState","Object","freeze","FINISHED","NO_FILE","UPLOAD_FAILED","UPLOADED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","RETRY","MessageStatusTypes","FAILED","RECEIVED","SENDING","defaultAutoCompleteSuggestionsLimit","defaultMentionAllAppUsersQuery","filters","options","sort","isUserResponse","user","undefined","getCommands","channel","getConfig","commands","getMembers","members","state","values","length","filter","member","map","getWatchers","watchers","getMembersAndWatchers","users","reduce","acc","cur","id","queryMembers","query","onReady","limit","name","$autocomplete","response","forEach","push","queryMembersDebounced","leading","trailing","queryUsers","client","mentionAllAppUsersQuery","$ne","userID","$or","queryUsersDebounced","isCommandTrigger","trigger","isEmojiTrigger","isMentionTrigger","ACITriggerSettings","onMentionSelectItem","dataProvider","text","indexOf","selectedCommands","command","a","b","nameA","toLowerCase","nameB","result","slice","output","entity","caretPosition","key","type","_","compiledEmojis","emojiArray","names","some","includes","emoji","emojiLib","skin_variations","tone","index","unicode","callback","item","mentionAllAppUsersEnabled","data","matchingUsers","makeImageCompatibleUrl","url","trim","getUrlWithoutParams","indexOfQuestion","substring","vw","percentageWidth","rounded","value","Dimensions","get","width","Math","round","vh","percentageHeight","height","generateRandomId","Number","random","toString","replace","emojiRegex","urlRegex"],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { Dimensions } from 'react-native';\n\nimport type { DebouncedFunc } from 'lodash';\nimport debounce from 'lodash/debounce';\nimport type {\n Channel,\n ChannelMemberAPIResponse,\n ChannelMemberResponse,\n CommandResponse,\n StreamChat,\n UserResponse,\n} from 'stream-chat';\n\nimport type { MentionAllAppUsersQuery } from '../contexts/messageInputContext/MessageInputContext';\nimport type {\n SuggestionCommand,\n SuggestionComponentType,\n SuggestionUser,\n} from '../contexts/suggestionsContext/SuggestionsContext';\nimport { compiledEmojis, Emoji } from '../emoji-data/compiled';\nimport type { IconProps } from '../icons/utils/base';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nexport type ReactionData = {\n Icon: React.FC<IconProps>;\n type: string;\n};\n\nexport const FileState = Object.freeze({\n // finished and uploaded state are the same thing. First is set on frontend,\n // while later is set on backend side\n // TODO: Unify both of them\n FINISHED: 'finished',\n NO_FILE: 'no_file',\n UPLOAD_FAILED: 'upload_failed',\n UPLOADED: 'uploaded',\n UPLOADING: 'uploading',\n});\n\nexport const ProgressIndicatorTypes: {\n IN_PROGRESS: 'in_progress';\n RETRY: 'retry';\n} = Object.freeze({\n IN_PROGRESS: 'in_progress',\n RETRY: 'retry',\n});\n\nexport const MessageStatusTypes = {\n FAILED: 'failed',\n RECEIVED: 'received',\n SENDING: 'sending',\n};\n\nconst defaultAutoCompleteSuggestionsLimit = 10;\nconst defaultMentionAllAppUsersQuery = {\n filters: {},\n options: {},\n sort: {},\n};\n\nconst isUserResponse = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n user: SuggestionUser<StreamChatGenerics> | undefined,\n): user is SuggestionUser<StreamChatGenerics> =>\n (user as SuggestionUser<StreamChatGenerics>) !== undefined;\n\nconst getCommands = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => channel.getConfig()?.commands || [];\n\nconst getMembers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const members = channel.state.members;\n\n return Object.values(members).length\n ? (\n Object.values(members).filter((member) => member.user) as Array<\n ChannelMemberResponse<StreamChatGenerics> & { user: UserResponse<StreamChatGenerics> }\n >\n ).map((member) => member.user)\n : [];\n};\n\nconst getWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const watchers = channel.state.watchers;\n return Object.values(watchers).length ? [...Object.values(watchers)] : [];\n};\n\nconst getMembersAndWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const users = [...getMembers(channel), ...getWatchers(channel)];\n\n return Object.values(\n users.reduce((acc, cur) => {\n if (!acc[cur.id]) {\n acc[cur.id] = cur;\n }\n\n return acc;\n }, {} as { [key: string]: SuggestionUser<StreamChatGenerics> }),\n );\n};\n\nconst queryMembers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n } = {},\n): Promise<void> => {\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n\n if (typeof query === 'string') {\n const response = (await (channel as unknown as Channel).queryMembers(\n {\n name: { $autocomplete: query },\n },\n {},\n { limit },\n )) as ChannelMemberAPIResponse<StreamChatGenerics>;\n\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.members.forEach((member) => isUserResponse(member.user) && users.push(member.user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryMembersDebounced = debounce(queryMembers, 200, {\n leading: false,\n trailing: true,\n});\n\nconst queryUsers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n } = {},\n): Promise<void> => {\n if (typeof query === 'string') {\n const {\n limit = defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersQuery = defaultMentionAllAppUsersQuery,\n } = options;\n const filters = {\n id: { $ne: client.userID },\n ...mentionAllAppUsersQuery?.filters,\n };\n\n if (query) {\n // @ts-ignore\n filters.$or = [{ id: { $autocomplete: query } }, { name: { $autocomplete: query } }];\n }\n\n const response = await client.queryUsers(\n // @ts-ignore\n filters,\n { id: 1, ...mentionAllAppUsersQuery?.sort },\n { limit, ...mentionAllAppUsersQuery?.options },\n );\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.users.forEach((user) => isUserResponse(user) && users.push(user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryUsersDebounced = debounce(queryUsers, 200, {\n leading: false,\n trailing: true,\n});\n\nexport const isCommandTrigger = (trigger: Trigger): trigger is '/' => trigger === '/';\n\nexport const isEmojiTrigger = (trigger: Trigger): trigger is ':' => trigger === ':';\n\nexport const isMentionTrigger = (trigger: Trigger): trigger is '@' => trigger === '@';\n\nexport type Trigger = '/' | '@' | ':';\n\nexport type TriggerSettings<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n '/'?: {\n dataProvider: (\n query: CommandResponse<StreamChatGenerics>['name'],\n text: string,\n onReady?: (\n data: CommandResponse<StreamChatGenerics>[],\n q: CommandResponse<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n },\n ) => SuggestionCommand<StreamChatGenerics>[];\n output: (entity: CommandResponse<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n ':'?: {\n dataProvider: (\n query: Emoji['name'],\n _: string,\n onReady?: (data: Emoji[], q: Emoji['name']) => void,\n ) => Emoji[];\n output: (entity: Emoji) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n '@'?: {\n callback: (item: SuggestionUser<StreamChatGenerics>) => void;\n dataProvider: (\n query: SuggestionUser<StreamChatGenerics>['name'],\n _: string,\n onReady?: (\n data: SuggestionUser<StreamChatGenerics>[],\n q: SuggestionUser<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersEnabled?: boolean;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n ) => SuggestionUser<StreamChatGenerics>[] | Promise<void> | void;\n output: (entity: SuggestionUser<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n};\n\nexport type ACITriggerSettingsParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n channel: Channel<StreamChatGenerics>;\n client: StreamChat<StreamChatGenerics>;\n onMentionSelectItem: (item: SuggestionUser<StreamChatGenerics>) => void;\n};\n\nexport type QueryUsersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n) => Promise<void>;\n\nexport type QueryMembersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n },\n) => Promise<void>;\n\n/**\n * ACI = AutoCompleteInput\n *\n * DataProvider accepts `onReady` function, which will execute once the data is ready.\n * Another approach would have been to simply return the data from dataProvider and let the\n * component await for it and then execute the required logic. We are going for callback instead\n * of async-await since we have debounce function in dataProvider. Which will delay the execution\n * of api call on trailing end of debounce (lets call it a1) but will return with result of\n * previous call without waiting for a1. So in this case, we want to execute onReady, when trailing\n * end of debounce executes.\n */\nexport const ACITriggerSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n client,\n onMentionSelectItem,\n}: ACITriggerSettingsParams<StreamChatGenerics>): TriggerSettings<StreamChatGenerics> => ({\n '/': {\n dataProvider: (query, text, onReady, options = {}) => {\n if (text.indexOf('/') !== 0) return [];\n\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n const selectedCommands = !query\n ? getCommands(channel)\n : getCommands(channel).filter((command) => query && command.name?.indexOf(query) !== -1);\n\n // sort alphabetically unless the you're matching the first char\n selectedCommands.sort((a, b) => {\n let nameA = a.name?.toLowerCase() || '';\n let nameB = b.name?.toLowerCase() || '';\n if (query && nameA.indexOf(query) === 0) {\n nameA = `0${nameA}`;\n }\n if (query && nameB.indexOf(query) === 0) {\n nameB = `0${nameB}`;\n }\n if (nameA < nameB) return -1;\n if (nameA > nameB) return 1;\n\n return 0;\n });\n\n const result = selectedCommands.slice(0, limit);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: `${entity.name}`,\n text: `/${entity.name}`,\n }),\n type: 'command',\n },\n ':': {\n dataProvider: (query, _, onReady) => {\n if (!query) return [];\n\n const result = compiledEmojis.emojiArray.reduce((acc, cur) => {\n if (acc.length >= 10) return acc;\n\n if (cur.names.some((name) => name.includes(query))) {\n const emoji = compiledEmojis.emojiLib[cur.name];\n if (emoji.skin_variations) {\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-1`,\n skin_variations: undefined,\n });\n emoji.skin_variations.forEach((tone, index) =>\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-${index + 2}`,\n skin_variations: undefined,\n unicode: tone,\n }),\n );\n } else {\n acc.push(emoji);\n }\n }\n\n return acc;\n }, [] as Emoji[]);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.name,\n text: entity.unicode,\n }),\n type: 'emoji',\n },\n '@': {\n callback: (item) => {\n onMentionSelectItem(item);\n },\n dataProvider: (\n query,\n _,\n onReady,\n options = {\n limit: defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled: false,\n mentionAllAppUsersQuery: defaultMentionAllAppUsersQuery,\n },\n ) => {\n if (options?.mentionAllAppUsersEnabled) {\n return (queryUsersDebounced as DebouncedFunc<QueryUsersFunction<StreamChatGenerics>>)(\n client,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n mentionAllAppUsersQuery: options.mentionAllAppUsersQuery,\n },\n );\n }\n\n /**\n * By default, we return maximum 100 members via queryChannels api call.\n * Thus it is safe to assume, that if number of members in channel.state is < 100,\n * then all the members are already available on client side and we don't need to\n * make any api call to queryMembers endpoint.\n */\n if (!query || Object.values(channel.state.members).length < 100) {\n const users = getMembersAndWatchers(channel);\n\n const matchingUsers = users.filter((user) => {\n if (!query) return true;\n if (user.name?.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n if (user.id.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n return false;\n });\n\n const data = matchingUsers.slice(0, options?.limit);\n\n if (onReady) {\n onReady(data, query);\n }\n\n return data;\n }\n\n return (queryMembersDebounced as DebouncedFunc<QueryMembersFunction<StreamChatGenerics>>)(\n channel,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n },\n );\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.id,\n text: `@${entity.name || entity.id}`,\n }),\n type: 'mention',\n },\n});\n\nexport const makeImageCompatibleUrl = (url: string) =>\n (url.indexOf('//') === 0 ? `https:${url}` : url).trim();\n\nexport const getUrlWithoutParams = (url?: string) => {\n if (!url) return url;\n\n const indexOfQuestion = url.indexOf('?');\n if (indexOfQuestion === -1) return url;\n\n return url.substring(0, url.indexOf('?'));\n};\n\nexport const vw = (percentageWidth: number, rounded = false) => {\n const value = Dimensions.get('window').width * (percentageWidth / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const vh = (percentageHeight: number, rounded = false) => {\n const height = Dimensions.get('window').height;\n\n const value = height * (percentageHeight / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const generateRandomId = (a = ''): string =>\n a\n ? /* eslint-disable no-bitwise */\n ((Number(a) ^ (Math.random() * 16)) >> (Number(a) / 4)).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateRandomId);\n\n// source: https://raw.githubusercontent.com/mathiasbynens/emoji-regex/master/RGI_Emoji.js\n// [#\\*0-9]\\uFE0F\\u20E3 was replaced with [#*0-9]\\uFE0F\\u20E3 due to a lint warning\nexport const emojiRegex =\n /^(\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC68(?:\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u2764\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#*0-9]\\uFE0F\\u20E3|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])+$/;\n\nexport const urlRegex =\n /(?:\\s|^)((?:https?:\\/\\/)?(?:[a-z0-9-]+(?:\\.[a-z0-9-]+)+)(?::[0-9]+)?(?:\\/(?:[^\\s]+)?)?)/g;\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "4.0.0-beta.3"
2
+ "version": "4.0.0-beta.7"
3
3
  }
@@ -42,7 +42,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
42
42
  __self: _this,
43
43
  __source: {
44
44
  fileName: _jsxFileName,
45
- lineNumber: 62,
45
+ lineNumber: 41,
46
46
  columnNumber: 12
47
47
  }
48
48
  });
@@ -53,7 +53,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
53
53
  __self: _this,
54
54
  __source: {
55
55
  fileName: _jsxFileName,
56
- lineNumber: 69,
56
+ lineNumber: 48,
57
57
  columnNumber: 12
58
58
  }
59
59
  }));
@@ -65,7 +65,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
65
65
  __self: _this,
66
66
  __source: {
67
67
  fileName: _jsxFileName,
68
- lineNumber: 75,
68
+ lineNumber: 54,
69
69
  columnNumber: 9
70
70
  }
71
71
  }), hasAttachmentActions && _react["default"].createElement(AttachmentActions, (0, _extends2["default"])({
@@ -74,7 +74,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
74
74
  __self: _this,
75
75
  __source: {
76
76
  fileName: _jsxFileName,
77
- lineNumber: 77,
77
+ lineNumber: 56,
78
78
  columnNumber: 11
79
79
  }
80
80
  })));
@@ -86,7 +86,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
86
86
  __self: _this,
87
87
  __source: {
88
88
  fileName: _jsxFileName,
89
- lineNumber: 84,
89
+ lineNumber: 63,
90
90
  columnNumber: 12
91
91
  }
92
92
  });
@@ -98,7 +98,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
98
98
  __self: _this,
99
99
  __source: {
100
100
  fileName: _jsxFileName,
101
- lineNumber: 90,
101
+ lineNumber: 69,
102
102
  columnNumber: 7
103
103
  }
104
104
  });
@@ -109,7 +109,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
109
109
  __self: _this,
110
110
  __source: {
111
111
  fileName: _jsxFileName,
112
- lineNumber: 97,
112
+ lineNumber: 76,
113
113
  columnNumber: 9
114
114
  }
115
115
  })), _react["default"].createElement(AttachmentActions, (0, _extends2["default"])({
@@ -118,7 +118,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
118
118
  __self: _this,
119
119
  __source: {
120
120
  fileName: _jsxFileName,
121
- lineNumber: 98,
121
+ lineNumber: 77,
122
122
  columnNumber: 9
123
123
  }
124
124
  })));
@@ -127,7 +127,7 @@ var AttachmentWithContext = function AttachmentWithContext(props) {
127
127
  __self: _this,
128
128
  __source: {
129
129
  fileName: _jsxFileName,
130
- lineNumber: 102,
130
+ lineNumber: 81,
131
131
  columnNumber: 12
132
132
  }
133
133
  }));
@@ -183,7 +183,7 @@ var Attachment = function Attachment(props) {
183
183
  __self: _this,
184
184
  __source: {
185
185
  fileName: _jsxFileName,
186
- lineNumber: 196,
186
+ lineNumber: 155,
187
187
  columnNumber: 5
188
188
  }
189
189
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Attachment.tsx"],"names":["AttachmentWithContext","props","attachment","AttachmentActions","Card","FileAttachment","Gallery","Giphy","UrlPreview","hasAttachmentActions","actions","length","type","title_link","og_scrape_url","image_url","thumb_url","id","asset_url","areEqual","prevProps","nextProps","prevAttachment","nextAttachment","attachmentEqual","MemoizedAttachment","React","memo","Attachment","PropAttachmentActions","PropCard","PropFileAttachment","PropGallery","PropGiphy","PropUrlPreview","ContextAttachmentActions","ContextCard","ContextFileAttachment","ContextGallery","ContextGiphy","ContextUrlPreview","AttachmentActionsDefault","CardDefault","FileAttachmentDefault","GalleryDefault","GiphyDefault"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { Attachment as AttachmentType } from 'stream-chat';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { Card as CardDefault } from '../../components/Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../../components/Attachment/FileAttachment';\nimport { Gallery as GalleryDefault } from '../../components/Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../../components/Attachment/Giphy';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ActionHandler = (name: string, value: string) => void;\n\nexport type AttachmentPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'AttachmentActions' | 'Card' | 'FileAttachment' | 'Gallery' | 'Giphy' | 'UrlPreview'\n> & {\n /**\n * The attachment to render\n */\n attachment: AttachmentType<At>;\n};\n\nconst AttachmentWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AttachmentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { attachment, AttachmentActions, Card, FileAttachment, Gallery, Giphy, UrlPreview } = props;\n\n const hasAttachmentActions = !!attachment.actions?.length;\n\n if (attachment.type === 'giphy' || attachment.type === 'imgur') {\n return <Giphy attachment={attachment} />;\n }\n\n if (\n (attachment.title_link || attachment.og_scrape_url) &&\n (attachment.image_url || attachment.thumb_url)\n ) {\n return <UrlPreview {...attachment} />;\n }\n\n if (attachment.type === 'image') {\n return (\n <>\n <Gallery images={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'file' || attachment.type === 'audio') {\n return <FileAttachment attachment={attachment} />;\n }\n\n if (attachment.type === 'video' && attachment.asset_url) {\n return (\n // TODO: Put in video component\n <FileAttachment attachment={attachment} />\n );\n }\n\n if (hasAttachmentActions) {\n return (\n <>\n <Card {...attachment} />\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n </>\n );\n } else {\n return <Card {...attachment} />;\n }\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: AttachmentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: AttachmentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { attachment: prevAttachment } = prevProps;\n const { attachment: nextAttachment } = nextProps;\n\n const attachmentEqual =\n prevAttachment.actions?.length === nextAttachment.actions?.length &&\n prevAttachment.image_url === nextAttachment.image_url &&\n prevAttachment.thumb_url === nextAttachment.thumb_url;\n\n return attachmentEqual;\n};\n\nconst MemoizedAttachment = React.memo(\n AttachmentWithContext,\n areEqual,\n) as typeof AttachmentWithContext;\n\nexport type AttachmentProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'AttachmentActions' | 'Card' | 'FileAttachment' | 'Gallery' | 'Giphy' | 'UrlPreview'\n >\n> &\n Pick<AttachmentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'attachment'>;\n\n/**\n * Attachment - The message attachment\n */\nexport const Attachment = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AttachmentProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n attachment,\n AttachmentActions: PropAttachmentActions,\n Card: PropCard,\n FileAttachment: PropFileAttachment,\n Gallery: PropGallery,\n Giphy: PropGiphy,\n UrlPreview: PropUrlPreview,\n } = props;\n\n const {\n AttachmentActions: ContextAttachmentActions,\n Card: ContextCard,\n FileAttachment: ContextFileAttachment,\n Gallery: ContextGallery,\n Giphy: ContextGiphy,\n UrlPreview: ContextUrlPreview,\n } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n if (!attachment) {\n return null;\n }\n\n const AttachmentActions =\n PropAttachmentActions || ContextAttachmentActions || AttachmentActionsDefault;\n const Card = PropCard || ContextCard || CardDefault;\n const FileAttachment = PropFileAttachment || ContextFileAttachment || FileAttachmentDefault;\n const Gallery = PropGallery || ContextGallery || GalleryDefault;\n const Giphy = PropGiphy || ContextGiphy || GiphyDefault;\n const UrlPreview = PropUrlPreview || ContextUrlPreview || CardDefault;\n\n return (\n <MemoizedAttachment\n {...{\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n UrlPreview,\n }}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["Attachment.tsx"],"names":["AttachmentWithContext","props","attachment","AttachmentActions","Card","FileAttachment","Gallery","Giphy","UrlPreview","hasAttachmentActions","actions","length","type","title_link","og_scrape_url","image_url","thumb_url","id","asset_url","areEqual","prevProps","nextProps","prevAttachment","nextAttachment","attachmentEqual","MemoizedAttachment","React","memo","Attachment","PropAttachmentActions","PropCard","PropFileAttachment","PropGallery","PropGiphy","PropUrlPreview","ContextAttachmentActions","ContextCard","ContextFileAttachment","ContextGallery","ContextGiphy","ContextUrlPreview","AttachmentActionsDefault","CardDefault","FileAttachmentDefault","GalleryDefault","GiphyDefault"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { Attachment as AttachmentType } from 'stream-chat';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { Card as CardDefault } from '../../components/Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../../components/Attachment/FileAttachment';\nimport { Gallery as GalleryDefault } from '../../components/Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../../components/Attachment/Giphy';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ActionHandler = (name: string, value: string) => void;\n\nexport type AttachmentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'AttachmentActions' | 'Card' | 'FileAttachment' | 'Gallery' | 'Giphy' | 'UrlPreview'\n> & {\n /**\n * The attachment to render\n */\n attachment: AttachmentType<StreamChatGenerics>;\n};\n\nconst AttachmentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const { attachment, AttachmentActions, Card, FileAttachment, Gallery, Giphy, UrlPreview } = props;\n\n const hasAttachmentActions = !!attachment.actions?.length;\n\n if (attachment.type === 'giphy' || attachment.type === 'imgur') {\n return <Giphy attachment={attachment} />;\n }\n\n if (\n (attachment.title_link || attachment.og_scrape_url) &&\n (attachment.image_url || attachment.thumb_url)\n ) {\n return <UrlPreview {...attachment} />;\n }\n\n if (attachment.type === 'image') {\n return (\n <>\n <Gallery images={[attachment]} />\n {hasAttachmentActions && (\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n )}\n </>\n );\n }\n\n if (attachment.type === 'file' || attachment.type === 'audio') {\n return <FileAttachment attachment={attachment} />;\n }\n\n if (attachment.type === 'video' && attachment.asset_url) {\n return (\n // TODO: Put in video component\n <FileAttachment attachment={attachment} />\n );\n }\n\n if (hasAttachmentActions) {\n return (\n <>\n <Card {...attachment} />\n <AttachmentActions key={`key-actions-${attachment.id}`} {...attachment} />\n </>\n );\n } else {\n return <Card {...attachment} />;\n }\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AttachmentPropsWithContext<StreamChatGenerics>,\n nextProps: AttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const { attachment: prevAttachment } = prevProps;\n const { attachment: nextAttachment } = nextProps;\n\n const attachmentEqual =\n prevAttachment.actions?.length === nextAttachment.actions?.length &&\n prevAttachment.image_url === nextAttachment.image_url &&\n prevAttachment.thumb_url === nextAttachment.thumb_url;\n\n return attachmentEqual;\n};\n\nconst MemoizedAttachment = React.memo(\n AttachmentWithContext,\n areEqual,\n) as typeof AttachmentWithContext;\n\nexport type AttachmentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'AttachmentActions' | 'Card' | 'FileAttachment' | 'Gallery' | 'Giphy' | 'UrlPreview'\n >\n> &\n Pick<AttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>;\n\n/**\n * Attachment - The message attachment\n */\nexport const Attachment = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachmentProps<StreamChatGenerics>,\n) => {\n const {\n attachment,\n AttachmentActions: PropAttachmentActions,\n Card: PropCard,\n FileAttachment: PropFileAttachment,\n Gallery: PropGallery,\n Giphy: PropGiphy,\n UrlPreview: PropUrlPreview,\n } = props;\n\n const {\n AttachmentActions: ContextAttachmentActions,\n Card: ContextCard,\n FileAttachment: ContextFileAttachment,\n Gallery: ContextGallery,\n Giphy: ContextGiphy,\n UrlPreview: ContextUrlPreview,\n } = useMessagesContext<StreamChatGenerics>();\n\n if (!attachment) {\n return null;\n }\n\n const AttachmentActions =\n PropAttachmentActions || ContextAttachmentActions || AttachmentActionsDefault;\n const Card = PropCard || ContextCard || CardDefault;\n const FileAttachment = PropFileAttachment || ContextFileAttachment || FileAttachmentDefault;\n const Gallery = PropGallery || ContextGallery || GalleryDefault;\n const Giphy = PropGiphy || ContextGiphy || GiphyDefault;\n const UrlPreview = PropUrlPreview || ContextUrlPreview || CardDefault;\n\n return (\n <MemoizedAttachment\n {...{\n attachment,\n AttachmentActions,\n Card,\n FileAttachment,\n Gallery,\n Giphy,\n UrlPreview,\n }}\n />\n );\n};\n"]}
@@ -70,7 +70,7 @@ var AttachmentActionsWithContext = function AttachmentActionsWithContext(props)
70
70
  __self: _this,
71
71
  __source: {
72
72
  fileName: _jsxFileName,
73
- lineNumber: 95,
73
+ lineNumber: 74,
74
74
  columnNumber: 5
75
75
  }
76
76
  }, actions == null ? void 0 : actions.map(function (action, index) {
@@ -90,7 +90,7 @@ var AttachmentActionsWithContext = function AttachmentActionsWithContext(props)
90
90
  __self: _this,
91
91
  __source: {
92
92
  fileName: _jsxFileName,
93
- lineNumber: 100,
93
+ lineNumber: 79,
94
94
  columnNumber: 11
95
95
  }
96
96
  }, _react["default"].createElement(_reactNative.Text, {
@@ -100,7 +100,7 @@ var AttachmentActionsWithContext = function AttachmentActionsWithContext(props)
100
100
  __self: _this,
101
101
  __source: {
102
102
  fileName: _jsxFileName,
103
- lineNumber: 122,
103
+ lineNumber: 101,
104
104
  columnNumber: 13
105
105
  }
106
106
  }, action.text));
@@ -126,7 +126,7 @@ var AttachmentActions = function AttachmentActions(props) {
126
126
  __self: _this,
127
127
  __source: {
128
128
  fileName: _jsxFileName,
129
- lineNumber: 191,
129
+ lineNumber: 151,
130
130
  columnNumber: 10
131
131
  }
132
132
  }));