stream-chat-react-native-core 4.1.4 → 4.2.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +16 -10
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/FileIcon.js +20 -20
  4. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/Giphy.js +61 -40
  6. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  7. package/lib/commonjs/components/Channel/Channel.js +16 -13
  8. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  9. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  10. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  11. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +3 -3
  12. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  13. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +42 -20
  14. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  15. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +4 -7
  16. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  17. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +183 -173
  18. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  19. package/lib/commonjs/components/MessageInput/MessageInput.js +3 -3
  20. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  21. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -3
  22. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  23. package/lib/commonjs/components/MessageList/utils/getReadStates.js +8 -8
  24. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  25. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +32 -32
  26. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  27. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +9 -9
  28. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  29. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  30. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  31. package/lib/commonjs/contexts/themeContext/utils/theme.js +1 -0
  32. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  33. package/lib/commonjs/version.json +1 -1
  34. package/lib/module/components/Attachment/Attachment.js +16 -10
  35. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  36. package/lib/module/components/Attachment/FileIcon.js +20 -20
  37. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  38. package/lib/module/components/Attachment/Giphy.js +61 -40
  39. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  40. package/lib/module/components/Channel/Channel.js +16 -13
  41. package/lib/module/components/Channel/Channel.js.map +1 -1
  42. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  43. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  44. package/lib/module/components/ChannelList/ChannelListMessenger.js +3 -3
  45. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  46. package/lib/module/components/Message/MessageSimple/MessageContent.js +42 -20
  47. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  48. package/lib/module/components/Message/MessageSimple/utils/renderText.js +4 -7
  49. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  50. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +183 -173
  51. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  52. package/lib/module/components/MessageInput/MessageInput.js +3 -3
  53. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  54. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -3
  55. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  56. package/lib/module/components/MessageList/utils/getReadStates.js +8 -8
  57. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  58. package/lib/module/contexts/messageInputContext/MessageInputContext.js +32 -32
  59. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  60. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +9 -9
  61. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  62. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  63. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  64. package/lib/module/contexts/themeContext/utils/theme.js +1 -0
  65. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  66. package/lib/module/version.json +1 -1
  67. package/lib/typescript/components/Attachment/Attachment.d.ts +2 -2
  68. package/lib/typescript/components/Attachment/Giphy.d.ts +2 -2
  69. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  70. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  71. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +2 -3
  72. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +5 -1
  73. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -0
  74. package/package.json +14 -12
  75. package/src/components/Attachment/Attachment.tsx +29 -4
  76. package/src/components/Attachment/Giphy.tsx +55 -22
  77. package/src/components/Attachment/__tests__/Attachment.test.js +41 -0
  78. package/src/components/Channel/Channel.tsx +3 -0
  79. package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
  80. package/src/components/ChannelList/ChannelListMessenger.tsx +0 -1
  81. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +14 -4
  82. package/src/components/Message/MessageSimple/MessageContent.tsx +20 -13
  83. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +1 -0
  84. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +30 -23
  85. package/src/components/MessageInput/__tests__/AttachButton.test.js +8 -8
  86. package/src/components/MessageInput/__tests__/SendButton.test.js +12 -20
  87. package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +8 -0
  88. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +24 -68
  89. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +20 -36
  90. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +16 -10
  91. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +16 -0
  92. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +1 -3
  93. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +1 -0
  94. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +10 -7
  95. package/src/contexts/messagesContext/MessagesContext.tsx +5 -2
  96. package/src/contexts/themeContext/utils/theme.ts +1 -0
  97. package/src/version.json +1 -1
@@ -27,6 +27,7 @@ var useCreateMessagesContext = function useCreateMessagesContext(_ref) {
27
27
  formatDate = _ref.formatDate,
28
28
  Gallery = _ref.Gallery,
29
29
  Giphy = _ref.Giphy,
30
+ giphyVersion = _ref.giphyVersion,
30
31
  handleBlock = _ref.handleBlock,
31
32
  handleCopy = _ref.handleCopy,
32
33
  handleDelete = _ref.handleDelete,
@@ -104,6 +105,7 @@ var useCreateMessagesContext = function useCreateMessagesContext(_ref) {
104
105
  formatDate: formatDate,
105
106
  Gallery: Gallery,
106
107
  Giphy: Giphy,
108
+ giphyVersion: giphyVersion,
107
109
  handleBlock: handleBlock,
108
110
  handleCopy: handleCopy,
109
111
  handleDelete: handleDelete,
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreateMessagesContext.ts"],"names":["useCreateMessagesContext","additionalTouchableProps","Attachment","AttachmentActions","Card","CardCover","CardFooter","CardHeader","channelId","DateHeader","deletedMessagesVisibilityType","disableTypingIndicator","dismissKeyboardOnMessageTouch","enableMessageGroupingByUser","FileAttachment","FileAttachmentGroup","FileAttachmentIcon","FlatList","forceAlignMessages","formatDate","Gallery","Giphy","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","initialScrollToFirstUnreadMessage","InlineDateSeparator","InlineUnreadIndicator","legacyImageViewerSwipeBehaviour","markdownRules","Message","messageActions","MessageAvatar","MessageContent","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageList","MessagePinnedHeader","MessageReplies","MessageRepliesAvatars","MessageSimple","MessageStatus","MessageSystem","MessageText","myMessageTheme","onLongPressMessage","onPressInMessage","onPressMessage","OverlayReactionList","ReactionList","removeMessage","Reply","retrySendMessage","ScrollToBottomButton","selectReaction","setEditingState","setQuotedMessageState","supportedReactions","targetedMessage","TypingIndicator","TypingIndicatorContainer","updateMessage","UrlPreview","additionalTouchablePropsLength","Object","keys","length","markdownRulesLength","messageContentOrderValue","join","supportedReactionsLength","messagesContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateMessagesContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n}: MessagesContextValue<StreamChatGenerics> & {\n /**\n * To ensure we allow re-render, when channel is changed\n */\n channelId?: string;\n}) => {\n const additionalTouchablePropsLength = Object.keys(additionalTouchableProps || {}).length;\n const markdownRulesLength = Object.keys(markdownRules || {}).length;\n const messageContentOrderValue = messageContentOrder.join();\n const supportedReactionsLength = supportedReactions.length;\n\n const messagesContext: MessagesContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n }),\n [\n additionalTouchablePropsLength,\n channelId,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n initialScrollToFirstUnreadMessage,\n markdownRulesLength,\n messageContentOrderValue,\n supportedReactionsLength,\n targetedMessage,\n ],\n );\n\n return messagesContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreateMessagesContext.ts"],"names":["useCreateMessagesContext","additionalTouchableProps","Attachment","AttachmentActions","Card","CardCover","CardFooter","CardHeader","channelId","DateHeader","deletedMessagesVisibilityType","disableTypingIndicator","dismissKeyboardOnMessageTouch","enableMessageGroupingByUser","FileAttachment","FileAttachmentGroup","FileAttachmentIcon","FlatList","forceAlignMessages","formatDate","Gallery","Giphy","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","initialScrollToFirstUnreadMessage","InlineDateSeparator","InlineUnreadIndicator","legacyImageViewerSwipeBehaviour","markdownRules","Message","messageActions","MessageAvatar","MessageContent","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageList","MessagePinnedHeader","MessageReplies","MessageRepliesAvatars","MessageSimple","MessageStatus","MessageSystem","MessageText","myMessageTheme","onLongPressMessage","onPressInMessage","onPressMessage","OverlayReactionList","ReactionList","removeMessage","Reply","retrySendMessage","ScrollToBottomButton","selectReaction","setEditingState","setQuotedMessageState","supportedReactions","targetedMessage","TypingIndicator","TypingIndicatorContainer","updateMessage","UrlPreview","additionalTouchablePropsLength","Object","keys","length","markdownRulesLength","messageContentOrderValue","join","supportedReactionsLength","messagesContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateMessagesContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n}: MessagesContextValue<StreamChatGenerics> & {\n /**\n * To ensure we allow re-render, when channel is changed\n */\n channelId?: string;\n}) => {\n const additionalTouchablePropsLength = Object.keys(additionalTouchableProps || {}).length;\n const markdownRulesLength = Object.keys(markdownRules || {}).length;\n const messageContentOrderValue = messageContentOrder.join();\n const supportedReactionsLength = supportedReactions.length;\n\n const messagesContext: MessagesContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n }),\n [\n additionalTouchablePropsLength,\n channelId,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n initialScrollToFirstUnreadMessage,\n markdownRulesLength,\n messageContentOrderValue,\n supportedReactionsLength,\n targetedMessage,\n ],\n );\n\n return messagesContext;\n};\n"]}
@@ -226,7 +226,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
226
226
  __self: _this,
227
227
  __source: {
228
228
  fileName: _jsxFileName,
229
- lineNumber: 169,
229
+ lineNumber: 168,
230
230
  columnNumber: 25
231
231
  }
232
232
  }),
@@ -246,7 +246,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
246
246
  __self: _this,
247
247
  __source: {
248
248
  fileName: _jsxFileName,
249
- lineNumber: 175,
249
+ lineNumber: 174,
250
250
  columnNumber: 7
251
251
  }
252
252
  }));
@@ -294,7 +294,7 @@ var ChannelListMessenger = function ChannelListMessenger(props) {
294
294
  __self: _this,
295
295
  __source: {
296
296
  fileName: _jsxFileName,
297
- lineNumber: 216,
297
+ lineNumber: 215,
298
298
  columnNumber: 5
299
299
  }
300
300
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelListMessenger.tsx"],"names":["styles","StyleSheet","create","flatList","flex","flatListContentContainer","flexGrow","statusIndicator","left","position","right","top","StatusIndicator","isOnline","error","HeaderErrorIndicator","HeaderNetworkDownIndicator","loadingChannels","refreshList","renderItem","item","keyExtractor","cid","ChannelListMessengerWithContext","props","additionalFlatListProps","channels","EmptyStateIndicator","FooterLoadingIndicator","forceUpdate","ListHeaderComponent","LoadingErrorIndicator","LoadingIndicator","loadingNextPage","loadMoreThreshold","loadNextPage","refreshing","reloadList","setFlatListRef","theme","channelListMessenger","flatListContent","white_snow","colors","loading","setLoading","length","onEndReached","ListFooterComponent","backgroundColor","undefined","ChannelListMessenger","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n// RNGR's FlatList ist currently breaking the pull-to-refresh behaviour on Android\n// See https://github.com/software-mansion/react-native-gesture-handler/issues/598\nimport { FlatList, RefreshControl, StyleSheet, View } from 'react-native';\n\nimport type { Channel } from 'stream-chat';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreview } from '../ChannelPreview/ChannelPreview';\n\nconst styles = StyleSheet.create({\n flatList: { flex: 1 },\n flatListContentContainer: { flexGrow: 1 },\n statusIndicator: { left: 0, position: 'absolute', right: 0, top: 0 },\n});\n\nexport type ChannelListMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsContextValue<StreamChatGenerics>,\n | 'hasNextPage'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n | 'onSelect'\n | 'Preview'\n | 'PreviewTitle'\n | 'PreviewStatus'\n | 'PreviewAvatar'\n | 'previewMessage'\n | 'Skeleton'\n>;\n\nconst StatusIndicator = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const { isOnline } = useChatContext<StreamChatGenerics>();\n const { error, HeaderErrorIndicator, HeaderNetworkDownIndicator, loadingChannels, refreshList } =\n useChannelsContext<StreamChatGenerics>();\n\n if (loadingChannels) return null;\n\n if (!isOnline) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderNetworkDownIndicator />\n </View>\n );\n } else if (error) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderErrorIndicator onPress={refreshList} />\n </View>\n );\n }\n return null;\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: Channel<StreamChatGenerics>;\n}) => <ChannelPreview<StreamChatGenerics> channel={item} />;\n\nconst keyExtractor = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n item: Channel<StreamChatGenerics>,\n) => item.cid;\n\nconst ChannelListMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = props;\n\n const {\n theme: {\n channelListMessenger: { flatList, flatListContent },\n colors: { white_snow },\n },\n } = useTheme();\n\n /**\n * In order to prevent the EmptyStateIndicator component from showing up briefly on mount,\n * we set the loading state one cycle behind to ensure the channels are set before the\n * change to loadingChannels is registered.\n */\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n if (!!loadingChannels !== loading) {\n setLoading(!!loadingChannels);\n }\n }, [loading, loadingChannels]);\n\n if (error && !refreshing && !loadingChannels && !channels?.length) {\n return (\n <LoadingErrorIndicator\n error={error}\n listType='channel'\n loadNextPage={loadNextPage}\n retry={reloadList}\n />\n );\n }\n\n const onEndReached = () => {\n if (loadNextPage) {\n loadNextPage();\n }\n };\n\n const ListFooterComponent = () =>\n channels.length && ListHeaderComponent ? <ListHeaderComponent /> : null;\n\n return (\n <>\n <FlatList\n contentContainerStyle={[\n styles.flatListContentContainer,\n { backgroundColor: white_snow },\n flatListContent,\n ]}\n data={channels}\n extraData={forceUpdate}\n keyExtractor={keyExtractor}\n ListEmptyComponent={\n loading ? (\n <LoadingIndicator listType='channel' />\n ) : (\n <EmptyStateIndicator listType='channel' />\n )\n }\n ListFooterComponent={loadingNextPage ? <FooterLoadingIndicator /> : undefined}\n ListHeaderComponent={ListFooterComponent}\n onEndReached={onEndReached}\n onEndReachedThreshold={loadMoreThreshold}\n // @ts-expect-error waiting for this merged PR to be released https://github.com/software-mansion/react-native-gesture-handler/pull/1394\n ref={setFlatListRef}\n refreshControl={<RefreshControl onRefresh={refreshList} refreshing={refreshing} />}\n renderItem={renderItem}\n style={[styles.flatList, { backgroundColor: white_snow }, flatList]}\n testID='channel-list-messenger'\n {...additionalFlatListProps}\n />\n <StatusIndicator<StreamChatGenerics> />\n </>\n );\n};\n\nexport type ChannelListMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ChannelListMessengerPropsWithContext<StreamChatGenerics>>;\n\n/**\n * This UI component displays the preview list of channels and handles Channel navigation. It\n * receives all props from the ChannelList component.\n *\n * @example ./ChannelListMessenger.md\n */\nexport const ChannelListMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = useChannelsContext<StreamChatGenerics>();\n\n return (\n <ChannelListMessengerWithContext\n {...{\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n }}\n {...props}\n />\n );\n};\n\nChannelListMessenger.displayName = 'ChannelListMessenger{channelListMessenger}';\n"]}
1
+ {"version":3,"sources":["ChannelListMessenger.tsx"],"names":["styles","StyleSheet","create","flatList","flex","flatListContentContainer","flexGrow","statusIndicator","left","position","right","top","StatusIndicator","isOnline","error","HeaderErrorIndicator","HeaderNetworkDownIndicator","loadingChannels","refreshList","renderItem","item","keyExtractor","cid","ChannelListMessengerWithContext","props","additionalFlatListProps","channels","EmptyStateIndicator","FooterLoadingIndicator","forceUpdate","ListHeaderComponent","LoadingErrorIndicator","LoadingIndicator","loadingNextPage","loadMoreThreshold","loadNextPage","refreshing","reloadList","setFlatListRef","theme","channelListMessenger","flatListContent","white_snow","colors","loading","setLoading","length","onEndReached","ListFooterComponent","backgroundColor","undefined","ChannelListMessenger","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n// RNGR's FlatList ist currently breaking the pull-to-refresh behaviour on Android\n// See https://github.com/software-mansion/react-native-gesture-handler/issues/598\nimport { FlatList, RefreshControl, StyleSheet, View } from 'react-native';\n\nimport type { Channel } from 'stream-chat';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreview } from '../ChannelPreview/ChannelPreview';\n\nconst styles = StyleSheet.create({\n flatList: { flex: 1 },\n flatListContentContainer: { flexGrow: 1 },\n statusIndicator: { left: 0, position: 'absolute', right: 0, top: 0 },\n});\n\nexport type ChannelListMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsContextValue<StreamChatGenerics>,\n | 'hasNextPage'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n | 'onSelect'\n | 'Preview'\n | 'PreviewTitle'\n | 'PreviewStatus'\n | 'PreviewAvatar'\n | 'previewMessage'\n | 'Skeleton'\n>;\n\nconst StatusIndicator = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const { isOnline } = useChatContext<StreamChatGenerics>();\n const { error, HeaderErrorIndicator, HeaderNetworkDownIndicator, loadingChannels, refreshList } =\n useChannelsContext<StreamChatGenerics>();\n\n if (loadingChannels) return null;\n\n if (!isOnline) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderNetworkDownIndicator />\n </View>\n );\n } else if (error) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderErrorIndicator onPress={refreshList} />\n </View>\n );\n }\n return null;\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: Channel<StreamChatGenerics>;\n}) => <ChannelPreview<StreamChatGenerics> channel={item} />;\n\nconst keyExtractor = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n item: Channel<StreamChatGenerics>,\n) => item.cid;\n\nconst ChannelListMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = props;\n\n const {\n theme: {\n channelListMessenger: { flatList, flatListContent },\n colors: { white_snow },\n },\n } = useTheme();\n\n /**\n * In order to prevent the EmptyStateIndicator component from showing up briefly on mount,\n * we set the loading state one cycle behind to ensure the channels are set before the\n * change to loadingChannels is registered.\n */\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n if (!!loadingChannels !== loading) {\n setLoading(!!loadingChannels);\n }\n }, [loading, loadingChannels]);\n\n if (error && !refreshing && !loadingChannels && !channels?.length) {\n return (\n <LoadingErrorIndicator\n error={error}\n listType='channel'\n loadNextPage={loadNextPage}\n retry={reloadList}\n />\n );\n }\n\n const onEndReached = () => {\n if (loadNextPage) {\n loadNextPage();\n }\n };\n\n const ListFooterComponent = () =>\n channels.length && ListHeaderComponent ? <ListHeaderComponent /> : null;\n\n return (\n <>\n <FlatList\n contentContainerStyle={[\n styles.flatListContentContainer,\n { backgroundColor: white_snow },\n flatListContent,\n ]}\n data={channels}\n extraData={forceUpdate}\n keyExtractor={keyExtractor}\n ListEmptyComponent={\n loading ? (\n <LoadingIndicator listType='channel' />\n ) : (\n <EmptyStateIndicator listType='channel' />\n )\n }\n ListFooterComponent={loadingNextPage ? <FooterLoadingIndicator /> : undefined}\n ListHeaderComponent={ListFooterComponent}\n onEndReached={onEndReached}\n onEndReachedThreshold={loadMoreThreshold}\n ref={setFlatListRef}\n refreshControl={<RefreshControl onRefresh={refreshList} refreshing={refreshing} />}\n renderItem={renderItem}\n style={[styles.flatList, { backgroundColor: white_snow }, flatList]}\n testID='channel-list-messenger'\n {...additionalFlatListProps}\n />\n <StatusIndicator<StreamChatGenerics> />\n </>\n );\n};\n\nexport type ChannelListMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ChannelListMessengerPropsWithContext<StreamChatGenerics>>;\n\n/**\n * This UI component displays the preview list of channels and handles Channel navigation. It\n * receives all props from the ChannelList component.\n *\n * @example ./ChannelListMessenger.md\n */\nexport const ChannelListMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = useChannelsContext<StreamChatGenerics>();\n\n return (\n <ChannelListMessengerWithContext\n {...{\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n }}\n {...props}\n />\n );\n};\n\nChannelListMessenger.displayName = 'ChannelListMessenger{channelListMessenger}';\n"]}
@@ -147,7 +147,16 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
147
147
  var error = message.type === 'error' || message.status === _utils.MessageStatusTypes.FAILED;
148
148
  var groupStyle = alignment + "_" + (groupStyles == null ? void 0 : (_groupStyles$ = groupStyles[0]) == null ? void 0 : _groupStyles$.toLowerCase == null ? void 0 : _groupStyles$.toLowerCase());
149
149
  var hasThreadReplies = !!(message != null && message.reply_count);
150
- var noBorder = onlyEmojis && !message.quoted_message || !!otherAttachments.length;
150
+ var noBorder = onlyEmojis && !message.quoted_message;
151
+
152
+ if (otherAttachments.length) {
153
+ if (otherAttachments[0].type === 'giphy' && !isMyMessage) {
154
+ noBorder = false;
155
+ } else {
156
+ noBorder = true;
157
+ }
158
+ }
159
+
151
160
  var isMessageTypeDeleted = message.type === 'deleted';
152
161
 
153
162
  if (isMessageTypeDeleted) {
@@ -159,13 +168,26 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
159
168
  __self: _this,
160
169
  __source: {
161
170
  fileName: _jsxFileName,
162
- lineNumber: 194,
171
+ lineNumber: 201,
163
172
  columnNumber: 7
164
173
  }
165
174
  });
166
175
  }
167
176
 
168
- var backgroundColor = onlyEmojis && !message.quoted_message ? transparent : otherAttachments.length ? otherAttachments[0].type === 'giphy' ? !message.quoted_message ? transparent : grey_gainsboro : blue_alice : alignment === 'left' || error ? white : grey_gainsboro;
177
+ var backgroundColor = grey_gainsboro;
178
+
179
+ if (onlyEmojis && !message.quoted_message) {
180
+ backgroundColor = transparent;
181
+ } else if (otherAttachments.length) {
182
+ if (otherAttachments[0].type === 'giphy') {
183
+ backgroundColor = message.quoted_message || isMyMessage ? grey_gainsboro : white;
184
+ } else {
185
+ backgroundColor = blue_alice;
186
+ }
187
+ } else if (alignment === 'left' || error) {
188
+ backgroundColor = white;
189
+ }
190
+
169
191
  var repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;
170
192
  return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
171
193
  activeOpacity: 0.7,
@@ -202,7 +224,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
202
224
  __self: _this,
203
225
  __source: {
204
226
  fileName: _jsxFileName,
205
- lineNumber: 219,
227
+ lineNumber: 226,
206
228
  columnNumber: 5
207
229
  }
208
230
  }), MessageHeader && _react["default"].createElement(MessageHeader, {
@@ -218,7 +240,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
218
240
  __self: _this,
219
241
  __source: {
220
242
  fileName: _jsxFileName,
221
- lineNumber: 260,
243
+ lineNumber: 267,
222
244
  columnNumber: 9
223
245
  }
224
246
  }), _react["default"].createElement(_reactNative.View, {
@@ -227,7 +249,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
227
249
  __self: _this,
228
250
  __source: {
229
251
  fileName: _jsxFileName,
230
- lineNumber: 272,
252
+ lineNumber: 279,
231
253
  columnNumber: 7
232
254
  }
233
255
  }, hasThreadReplies && !threadList && !noBorder && _react["default"].createElement(_reactNative.View, {
@@ -240,7 +262,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
240
262
  __self: _this,
241
263
  __source: {
242
264
  fileName: _jsxFileName,
243
- lineNumber: 274,
265
+ lineNumber: 281,
244
266
  columnNumber: 11
245
267
  }
246
268
  }), _react["default"].createElement(_reactNative.View, {
@@ -256,7 +278,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
256
278
  __self: _this,
257
279
  __source: {
258
280
  fileName: _jsxFileName,
259
- lineNumber: 287,
281
+ lineNumber: 294,
260
282
  columnNumber: 9
261
283
  }
262
284
  }, messageContentOrder.map(function (messageContentType, messageContentOrderIndex) {
@@ -268,7 +290,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
268
290
  __self: _this,
269
291
  __source: {
270
292
  fileName: _jsxFileName,
271
- lineNumber: 314,
293
+ lineNumber: 321,
272
294
  columnNumber: 21
273
295
  }
274
296
  }, _react["default"].createElement(Reply, {
@@ -280,7 +302,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
280
302
  __self: _this,
281
303
  __source: {
282
304
  fileName: _jsxFileName,
283
- lineNumber: 318,
305
+ lineNumber: 325,
284
306
  columnNumber: 23
285
307
  }
286
308
  }));
@@ -293,7 +315,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
293
315
  __self: _this,
294
316
  __source: {
295
317
  fileName: _jsxFileName,
296
- lineNumber: 324,
318
+ lineNumber: 331,
297
319
  columnNumber: 19
298
320
  }
299
321
  });
@@ -306,7 +328,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
306
328
  __self: _this,
307
329
  __source: {
308
330
  fileName: _jsxFileName,
309
- lineNumber: 328,
331
+ lineNumber: 335,
310
332
  columnNumber: 19
311
333
  }
312
334
  });
@@ -317,7 +339,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
317
339
  __self: _this,
318
340
  __source: {
319
341
  fileName: _jsxFileName,
320
- lineNumber: 334,
342
+ lineNumber: 341,
321
343
  columnNumber: 24
322
344
  }
323
345
  });
@@ -329,7 +351,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
329
351
  __self: _this,
330
352
  __source: {
331
353
  fileName: _jsxFileName,
332
- lineNumber: 338,
354
+ lineNumber: 345,
333
355
  columnNumber: 19
334
356
  }
335
357
  });
@@ -340,7 +362,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
340
362
  __self: _this,
341
363
  __source: {
342
364
  fileName: _jsxFileName,
343
- lineNumber: 346,
365
+ lineNumber: 353,
344
366
  columnNumber: 11
345
367
  }
346
368
  }, _react["default"].createElement(_reactNative.View, {
@@ -348,7 +370,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
348
370
  __self: _this,
349
371
  __source: {
350
372
  fileName: _jsxFileName,
351
- lineNumber: 347,
373
+ lineNumber: 354,
352
374
  columnNumber: 13
353
375
  }
354
376
  }, _react["default"].createElement(_icons.Error, (0, _extends2["default"])({
@@ -357,7 +379,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
357
379
  __self: _this,
358
380
  __source: {
359
381
  fileName: _jsxFileName,
360
- lineNumber: 348,
382
+ lineNumber: 355,
361
383
  columnNumber: 15
362
384
  }
363
385
  }))))), _react["default"].createElement(MessageReplies, {
@@ -366,7 +388,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
366
388
  __self: _this,
367
389
  __source: {
368
390
  fileName: _jsxFileName,
369
- lineNumber: 353,
391
+ lineNumber: 360,
370
392
  columnNumber: 7
371
393
  }
372
394
  }), _react["default"].createElement(MessageFooter, {
@@ -375,7 +397,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
375
397
  __self: _this,
376
398
  __source: {
377
399
  fileName: _jsxFileName,
378
- lineNumber: 354,
400
+ lineNumber: 361,
379
401
  columnNumber: 7
380
402
  }
381
403
  }));
@@ -530,7 +552,7 @@ var MessageContent = function MessageContent(props) {
530
552
  __self: _this,
531
553
  __source: {
532
554
  fileName: _jsxFileName,
533
- lineNumber: 533,
555
+ lineNumber: 540,
534
556
  columnNumber: 5
535
557
  }
536
558
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageContent.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","theme","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","white","messageSimple","content","container","borderRadiusL","borderRadiusS","errorContainer","errorIcon","errorIconContainer","wrapper","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","format","onLayout","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","backgroundColor","repliesCurveColor","event","emitter","borderColor","height","left","undefined","right","borderBottomLeftRadius","borderBottomRightRadius","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","actions","absoluteFill","areEqual","prevProps","nextProps","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","lastReceivedId","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport { Error } from '../../../icons';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes, vw } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'Reply'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS, ...container },\n containerInner,\n errorContainer,\n errorIcon,\n errorIconContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const noBorder = (onlyEmojis && !message.quoted_message) || !!otherAttachments.length;\n\n const isMessageTypeDeleted = message.type === 'deleted';\n\n if (isMessageTypeDeleted) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n const backgroundColor =\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left' || error\n ? white\n : grey_gainsboro;\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n testID='message-content'\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!isMessageTypeDeleted}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: isMyMessage && !error ? backgroundColor : grey_whisper,\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && (\n <View style={StyleSheet.absoluteFill} testID='message-error'>\n <View style={errorIconContainer}>\n <Error pathFill={accent_red} {...errorIcon} />\n </View>\n </View>\n )}\n </View>\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n\n if (!quotedMessageEqual) return false;\n\n const prevAttachments = prevMessage.attachments;\n const nextAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevAttachments) && Array.isArray(nextAttachments)\n ? prevAttachments.length === nextAttachments.length &&\n prevAttachments.every(\n (attachment, index) =>\n attachment.image_url === nextAttachments[index].image_url &&\n attachment.og_scrape_url === nextAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextAttachments[index].thumb_url,\n )\n : prevAttachments === nextAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"]}
1
+ {"version":3,"sources":["MessageContent.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","theme","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","white","messageSimple","content","container","borderRadiusL","borderRadiusS","errorContainer","errorIcon","errorIconContainer","wrapper","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","format","onLayout","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","backgroundColor","repliesCurveColor","event","emitter","borderColor","height","left","undefined","right","borderBottomLeftRadius","borderBottomRightRadius","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","actions","absoluteFill","areEqual","prevProps","nextProps","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","lastReceivedId","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport { Error } from '../../../icons';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes, vw } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'Reply'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS, ...container },\n containerInner,\n errorContainer,\n errorIcon,\n errorIconContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n let noBorder = onlyEmojis && !message.quoted_message;\n if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy' && !isMyMessage) {\n noBorder = false;\n } else {\n noBorder = true;\n }\n }\n\n const isMessageTypeDeleted = message.type === 'deleted';\n\n if (isMessageTypeDeleted) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n let backgroundColor = grey_gainsboro;\n if (onlyEmojis && !message.quoted_message) {\n backgroundColor = transparent;\n } else if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy') {\n backgroundColor = message.quoted_message || isMyMessage ? grey_gainsboro : white;\n } else {\n backgroundColor = blue_alice;\n }\n } else if (alignment === 'left' || error) {\n backgroundColor = white;\n }\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n testID='message-content'\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!isMessageTypeDeleted}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: isMyMessage && !error ? backgroundColor : grey_whisper,\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && (\n <View style={StyleSheet.absoluteFill} testID='message-error'>\n <View style={errorIconContainer}>\n <Error pathFill={accent_red} {...errorIcon} />\n </View>\n </View>\n )}\n </View>\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n\n if (!quotedMessageEqual) return false;\n\n const prevAttachments = prevMessage.attachments;\n const nextAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevAttachments) && Array.isArray(nextAttachments)\n ? prevAttachments.length === nextAttachments.length &&\n prevAttachments.every(\n (attachment, index) =>\n attachment.image_url === nextAttachments[index].image_url &&\n attachment.og_scrape_url === nextAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextAttachments[index].thumb_url,\n )\n : prevAttachments === nextAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"]}
@@ -89,16 +89,13 @@ var renderText = function renderText(params) {
89
89
  var urls = (0, _parseLinks.parseLinksFromText)(newText);
90
90
 
91
91
  for (var _iterator = _createForOfIteratorHelperLoose(urls), _step; !(_step = _iterator()).done;) {
92
- var _urlInfo = _step.value;
93
-
94
- var _displayLink = (0, _truncate["default"])(_urlInfo.encoded, {
92
+ var urlInfo = _step.value;
93
+ var displayLink = (0, _truncate["default"])(urlInfo.encoded, {
95
94
  length: 200,
96
95
  omission: '...'
97
96
  });
98
-
99
- var _markdown = "[" + _displayLink + "](" + _urlInfo.scheme + _urlInfo.encoded + ")";
100
-
101
- newText = newText.replace(_urlInfo.raw, _markdown);
97
+ var markdown = "[" + displayLink + "](" + urlInfo.scheme + urlInfo.encoded + ")";
98
+ newText = newText.replace(urlInfo.raw, markdown);
102
99
  }
103
100
 
104
101
  newText = newText.replace(/[<&"'>]/g, '\\$&');