stream-chat-react-native-core 3.9.0-next.1 → 3.9.0-next.5

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 (83) hide show
  1. package/lib/commonjs/components/Attachment/Gallery.js +21 -9
  2. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  3. package/lib/commonjs/components/Channel/Channel.js +22 -12
  4. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  5. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +4 -0
  6. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  7. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -0
  8. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  9. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +14 -20
  10. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  11. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +7 -4
  12. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  13. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
  14. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  15. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +9 -6
  16. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  17. package/lib/commonjs/components/MessageList/MessageList.js +43 -32
  18. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  19. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +1 -1
  20. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  21. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +1 -5
  22. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  23. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  24. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  25. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  26. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  27. package/lib/commonjs/hooks/useAppStateListener.js +8 -5
  28. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  29. package/lib/commonjs/version.json +1 -1
  30. package/lib/module/components/Attachment/Gallery.js +21 -9
  31. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  32. package/lib/module/components/Channel/Channel.js +22 -12
  33. package/lib/module/components/Channel/Channel.js.map +1 -1
  34. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +4 -0
  35. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  36. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -0
  37. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  38. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +14 -20
  39. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  40. package/lib/module/components/Chat/hooks/useIsOnline.js +7 -4
  41. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  42. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
  43. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  44. package/lib/module/components/Message/MessageSimple/MessageSimple.js +9 -6
  45. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  46. package/lib/module/components/MessageList/MessageList.js +43 -32
  47. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  48. package/lib/module/components/MessageList/hooks/useMessageList.js +1 -1
  49. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  50. package/lib/module/components/MessageList/utils/getGroupStyles.js +1 -5
  51. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  52. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  53. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  54. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  55. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  56. package/lib/module/hooks/useAppStateListener.js +8 -5
  57. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  58. package/lib/module/version.json +1 -1
  59. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  60. package/lib/typescript/components/Channel/Channel.d.ts +2 -1
  61. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  62. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +4 -2
  63. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
  64. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  65. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  66. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +3 -1
  67. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -1
  68. package/package.json +2 -2
  69. package/src/components/Attachment/Gallery.tsx +20 -5
  70. package/src/components/Channel/Channel.tsx +10 -0
  71. package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -0
  72. package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -0
  73. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +1 -3
  74. package/src/components/Chat/hooks/useIsOnline.ts +17 -16
  75. package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
  76. package/src/components/Message/MessageSimple/MessageSimple.tsx +9 -3
  77. package/src/components/MessageList/MessageList.tsx +72 -28
  78. package/src/components/MessageList/hooks/useMessageList.ts +1 -1
  79. package/src/components/MessageList/utils/getGroupStyles.ts +3 -8
  80. package/src/contexts/channelContext/ChannelContext.tsx +2 -0
  81. package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
  82. package/src/hooks/useAppStateListener.ts +26 -12
  83. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageSimple.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","alignment","channel","groupStyles","hasReactions","message","MessageAvatar","MessageContent","ReactionList","theme","messageSimple","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","justifyContent","marginBottom","marginTop","areEqual","prevProps","nextProps","prevChannel","prevGroupStyles","prevHasReactions","prevMessage","nextChannel","nextGroupStyles","nextHasReactions","nextMessage","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","messageEqual","deleted_at","status","type","text","quotedMessageEqual","quoted_message","channelEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","attachment","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","MemoizedMessageSimple","React","memo","MessageSimple","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\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';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\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 MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'alignment' | 'channel' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'MessageAvatar' | 'MessageContent' | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\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: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n channel,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n } = props;\n\n const {\n theme: {\n messageSimple: { container },\n },\n } = useTheme();\n\n const [messageContentWidth, setMessageContentWidth] = useState(0);\n\n const isVeryLastMessage =\n channel?.state.messages[channel?.state.messages.length - 1]?.id === message.id;\n\n const hasMarginBottom = groupStyles.includes('single') || groupStyles.includes('bottom');\n\n const showReactions = hasReactions && ReactionList;\n\n return (\n <View\n style={[\n styles.container,\n {\n justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',\n marginBottom: hasMarginBottom ? (isVeryLastMessage ? 30 : 8) : 0,\n marginTop: showReactions ? 2 : 0,\n },\n container,\n ]}\n testID='message-simple-wrapper'\n >\n {alignment === 'left' && <MessageAvatar />}\n <MessageContent setMessageContentWidth={setMessageContentWidth} />\n {showReactions && <ReactionList messageContentWidth={messageContentWidth} />}\n </View>\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: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n channel: prevChannel,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n message: prevMessage,\n } = prevProps;\n const {\n channel: nextChannel,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n message: nextMessage,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const groupStylesEqual = JSON.stringify(prevGroupStyles) === JSON.stringify(nextGroupStyles);\n if (!groupStylesEqual) return false;\n\n const messageEqual =\n prevMessage.deleted_at === nextMessage.deleted_at &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text;\n if (!messageEqual) return false;\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n prevMessage.quoted_message?.deleted_at === nextMessage.quoted_message?.deleted_at;\n\n if (!quotedMessageEqual) return false;\n\n const channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) 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 return true;\n};\n\nconst MemoizedMessageSimple = React.memo(\n MessageSimpleWithContext,\n areEqual,\n) as typeof MessageSimpleWithContext;\n\nexport type MessageSimpleProps<\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<MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\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: MessageSimpleProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, channel, groupStyles, hasReactions, message } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { MessageAvatar, MessageContent, ReactionList } =\n useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedMessageSimple<At, Ch, Co, Ev, Me, Re, Us>\n {...{\n alignment,\n channel,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"]}
1
+ {"version":3,"sources":["MessageSimple.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","alignment","channel","enableMessageGroupingByUser","groupStyles","hasReactions","message","MessageAvatar","MessageContent","ReactionList","theme","messageSimple","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","justifyContent","marginBottom","marginTop","areEqual","prevProps","nextProps","prevChannel","prevGroupStyles","prevHasReactions","prevMessage","nextChannel","nextGroupStyles","nextHasReactions","nextMessage","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","messageEqual","deleted_at","status","type","text","quotedMessageEqual","quoted_message","channelEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","attachment","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","MemoizedMessageSimple","React","memo","MessageSimple","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\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';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\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 MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'alignment' | 'channel' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'enableMessageGroupingByUser' | 'MessageAvatar' | 'MessageContent' | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\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: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n } = props;\n\n const {\n theme: {\n messageSimple: { container },\n },\n } = useTheme();\n\n const [messageContentWidth, setMessageContentWidth] = useState(0);\n\n const isVeryLastMessage =\n channel?.state.messages[channel?.state.messages.length - 1]?.id === message.id;\n\n const hasMarginBottom = groupStyles.includes('single') || groupStyles.includes('bottom');\n\n const showReactions = hasReactions && ReactionList;\n\n return (\n <View\n style={[\n styles.container,\n {\n justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',\n marginBottom: hasMarginBottom\n ? isVeryLastMessage && enableMessageGroupingByUser\n ? 30\n : 8\n : 0,\n marginTop: showReactions ? 2 : 0,\n },\n container,\n ]}\n testID='message-simple-wrapper'\n >\n {alignment === 'left' && <MessageAvatar />}\n <MessageContent setMessageContentWidth={setMessageContentWidth} />\n {showReactions && <ReactionList messageContentWidth={messageContentWidth} />}\n </View>\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: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n channel: prevChannel,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n message: prevMessage,\n } = prevProps;\n const {\n channel: nextChannel,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n message: nextMessage,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const groupStylesEqual = JSON.stringify(prevGroupStyles) === JSON.stringify(nextGroupStyles);\n if (!groupStylesEqual) return false;\n\n const messageEqual =\n prevMessage.deleted_at === nextMessage.deleted_at &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text;\n if (!messageEqual) return false;\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n prevMessage.quoted_message?.deleted_at === nextMessage.quoted_message?.deleted_at;\n\n if (!quotedMessageEqual) return false;\n\n const channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) 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 return true;\n};\n\nconst MemoizedMessageSimple = React.memo(\n MessageSimpleWithContext,\n areEqual,\n) as typeof MessageSimpleWithContext;\n\nexport type MessageSimpleProps<\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<MessageSimplePropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\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: MessageSimpleProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, channel, groupStyles, hasReactions, message } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { enableMessageGroupingByUser, MessageAvatar, MessageContent, ReactionList } =\n useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedMessageSimple<At, Ch, Co, Ev, Me, Re, Us>\n {...{\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"]}
@@ -112,11 +112,13 @@ var MessageListWithContext = function MessageListWithContext(props) {
112
112
  FooterComponent = _props$FooterComponen === void 0 ? LoadingMoreIndicator : _props$FooterComponen,
113
113
  _props$HeaderComponen = props.HeaderComponent,
114
114
  HeaderComponent = _props$HeaderComponen === void 0 ? _InlineLoadingMoreRecentIndicator.InlineLoadingMoreRecentIndicator : _props$HeaderComponen,
115
+ hideStickyDateHeader = props.hideStickyDateHeader,
115
116
  initialScrollToFirstUnreadMessage = props.initialScrollToFirstUnreadMessage,
116
117
  InlineDateSeparator = props.InlineDateSeparator,
117
118
  InlineUnreadIndicator = props.InlineUnreadIndicator,
118
119
  _props$inverted = props.inverted,
119
120
  inverted = _props$inverted === void 0 ? true : _props$inverted,
121
+ legacyImageViewerSwipeBehaviour = props.legacyImageViewerSwipeBehaviour,
120
122
  loadChannelAtMessage = props.loadChannelAtMessage,
121
123
  loading = props.loading,
122
124
  LoadingIndicator = props.LoadingIndicator,
@@ -254,7 +256,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
254
256
  var onViewableItemsChanged = (0, _react.useRef)(function (_ref) {
255
257
  var viewableItems = _ref.viewableItems;
256
258
 
257
- if (viewableItems) {
259
+ if (viewableItems && !hideStickyDateHeader) {
258
260
  updateStickyHeaderDateIfNeeded(viewableItems);
259
261
  }
260
262
 
@@ -270,7 +272,9 @@ var MessageListWithContext = function MessageListWithContext(props) {
270
272
  setScrollToBottomButtonVisible(false);
271
273
  }, [disabled]);
272
274
  (0, _react.useEffect)(function () {
273
- if (!loading && channel && channel.countUnread() <= scrollToFirstUnreadThreshold) {
275
+ var shouldMarkReadOnFirstLoad = !loading && channel && (!initialScrollToFirstUnreadMessage && channel.countUnread() > 0 || initialScrollToFirstUnreadMessage && channel.countUnread() <= scrollToFirstUnreadThreshold);
276
+
277
+ if (shouldMarkReadOnFirstLoad) {
274
278
  markRead();
275
279
  }
276
280
  }, [loading]);
@@ -353,14 +357,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
353
357
  __self: _this,
354
358
  __source: {
355
359
  fileName: _jsxFileName,
356
- lineNumber: 541,
360
+ lineNumber: 564,
357
361
  columnNumber: 11
358
362
  }
359
363
  }), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
360
364
  __self: _this,
361
365
  __source: {
362
366
  fileName: _jsxFileName,
363
- lineNumber: 542,
367
+ lineNumber: 565,
364
368
  columnNumber: 43
365
369
  }
366
370
  }));
@@ -372,7 +376,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
372
376
  __self: _this,
373
377
  __source: {
374
378
  fileName: _jsxFileName,
375
- lineNumber: 550,
379
+ lineNumber: 573,
376
380
  columnNumber: 9
377
381
  }
378
382
  }, _react["default"].createElement(Message, {
@@ -388,7 +392,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
388
392
  __self: _this,
389
393
  __source: {
390
394
  fileName: _jsxFileName,
391
- lineNumber: 551,
395
+ lineNumber: 574,
392
396
  columnNumber: 11
393
397
  }
394
398
  })), (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
@@ -396,14 +400,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
396
400
  __self: _this,
397
401
  __source: {
398
402
  fileName: _jsxFileName,
399
- lineNumber: 566,
403
+ lineNumber: 589,
400
404
  columnNumber: 11
401
405
  }
402
406
  }), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
403
407
  __self: _this,
404
408
  __source: {
405
409
  fileName: _jsxFileName,
406
- lineNumber: 569,
410
+ lineNumber: 592,
407
411
  columnNumber: 41
408
412
  }
409
413
  })) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Message, {
@@ -419,7 +423,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
419
423
  __self: _this,
420
424
  __source: {
421
425
  fileName: _jsxFileName,
422
- lineNumber: 573,
426
+ lineNumber: 596,
423
427
  columnNumber: 9
424
428
  }
425
429
  }), (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
@@ -427,14 +431,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
427
431
  __self: _this,
428
432
  __source: {
429
433
  fileName: _jsxFileName,
430
- lineNumber: 589,
434
+ lineNumber: 612,
431
435
  columnNumber: 11
432
436
  }
433
437
  }), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
434
438
  __self: _this,
435
439
  __source: {
436
440
  fileName: _jsxFileName,
437
- lineNumber: 592,
441
+ lineNumber: 615,
438
442
  columnNumber: 41
439
443
  }
440
444
  }));
@@ -605,7 +609,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
605
609
  });
606
610
  resetPaginationTrackers();
607
611
  }, [messageListLengthAfterUpdate]);
608
- var messagesWithImages = messageList.filter(function (message) {
612
+ var messagesWithImages = legacyImageViewerSwipeBehaviour && messageList.filter(function (message) {
609
613
  if (!message.deleted_at && message.attachments) {
610
614
  return message.attachments.some(function (attachment) {
611
615
  return attachment.type === 'image' && !attachment.title_link && !attachment.og_scrape_url && (attachment.image_url || attachment.thumb_url);
@@ -614,23 +618,23 @@ var MessageListWithContext = function MessageListWithContext(props) {
614
618
 
615
619
  return false;
616
620
  });
617
- var imageString = messagesWithImages.map(function (message) {
621
+ var imageString = legacyImageViewerSwipeBehaviour && messagesWithImages && messagesWithImages.map(function (message) {
618
622
  var _message$attachments;
619
623
 
620
624
  return (_message$attachments = message.attachments) == null ? void 0 : _message$attachments.map(function (attachment) {
621
625
  return attachment.image_url || attachment.thumb_url || '';
622
626
  }).join();
623
627
  }).join();
624
- var numberOfMessagesWithImages = messagesWithImages.length;
628
+ var numberOfMessagesWithImages = legacyImageViewerSwipeBehaviour && messagesWithImages && messagesWithImages.length;
625
629
  var threadExists = !!thread;
626
630
  (0, _react.useEffect)(function () {
627
- if (threadList && thread || !threadList && !thread) {
631
+ if (legacyImageViewerSwipeBehaviour && (threadList && thread || !threadList && !thread)) {
628
632
  setImages(messagesWithImages);
629
633
  }
630
- }, [imageString, numberOfMessagesWithImages, threadExists, threadList]);
634
+ }, [imageString, legacyImageViewerSwipeBehaviour, numberOfMessagesWithImages, threadExists, threadList]);
631
635
  var stickyHeaderFormatDate = (stickyHeaderDate == null ? void 0 : stickyHeaderDate.getFullYear()) === new Date().getFullYear() ? 'MMM D' : 'MMM D, YYYY';
632
- var tStickyHeaderDate = stickyHeaderDate ? tDateTimeParser(stickyHeaderDate) : null;
633
- var stickyHeaderDateToRender = tStickyHeaderDate === null ? null : (0, _TranslationContext.isDayOrMoment)(tStickyHeaderDate) ? tStickyHeaderDate.format(stickyHeaderFormatDate) : new Date(tStickyHeaderDate).toDateString();
636
+ var tStickyHeaderDate = stickyHeaderDate && !hideStickyDateHeader ? tDateTimeParser(stickyHeaderDate) : null;
637
+ var stickyHeaderDateToRender = tStickyHeaderDate === null || hideStickyDateHeader ? null : (0, _TranslationContext.isDayOrMoment)(tStickyHeaderDate) ? tStickyHeaderDate.format(stickyHeaderFormatDate) : new Date(tStickyHeaderDate).toDateString();
634
638
 
635
639
  var dismissImagePicker = function dismissImagePicker() {
636
640
  if (!hasMoved && selectedPicker) {
@@ -662,7 +666,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
662
666
  __self: _this,
663
667
  __source: {
664
668
  fileName: _jsxFileName,
665
- lineNumber: 848,
669
+ lineNumber: 885,
666
670
  columnNumber: 5
667
671
  }
668
672
  }, _react["default"].createElement(EmptyStateIndicator, {
@@ -670,7 +674,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
670
674
  __self: _this,
671
675
  __source: {
672
676
  fileName: _jsxFileName,
673
- lineNumber: 849,
677
+ lineNumber: 886,
674
678
  columnNumber: 7
675
679
  }
676
680
  }));
@@ -684,7 +688,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
684
688
  __self: _this,
685
689
  __source: {
686
690
  fileName: _jsxFileName,
687
- lineNumber: 857,
691
+ lineNumber: 894,
688
692
  columnNumber: 7
689
693
  }
690
694
  }, _react["default"].createElement(LoadingIndicator, {
@@ -692,7 +696,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
692
696
  __self: _this,
693
697
  __source: {
694
698
  fileName: _jsxFileName,
695
- lineNumber: 858,
699
+ lineNumber: 895,
696
700
  columnNumber: 9
697
701
  }
698
702
  }));
@@ -705,7 +709,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
705
709
  __self: _this,
706
710
  __source: {
707
711
  fileName: _jsxFileName,
708
- lineNumber: 864,
712
+ lineNumber: 901,
709
713
  columnNumber: 5
710
714
  }
711
715
  }, _react["default"].createElement(FlatList, (0, _extends2["default"])({
@@ -737,7 +741,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
737
741
  __self: _this,
738
742
  __source: {
739
743
  fileName: _jsxFileName,
740
- lineNumber: 865,
744
+ lineNumber: 902,
741
745
  columnNumber: 7
742
746
  }
743
747
  })), !loading && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
@@ -745,7 +749,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
745
749
  __self: _this,
746
750
  __source: {
747
751
  fileName: _jsxFileName,
748
- lineNumber: 895,
752
+ lineNumber: 932,
749
753
  columnNumber: 11
750
754
  }
751
755
  }, stickyHeaderDateToRender && (StickyHeader ? _react["default"].createElement(StickyHeader, {
@@ -753,7 +757,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
753
757
  __self: _this,
754
758
  __source: {
755
759
  fileName: _jsxFileName,
756
- lineNumber: 898,
760
+ lineNumber: 935,
757
761
  columnNumber: 17
758
762
  }
759
763
  }) : messageListLengthAfterUpdate ? _react["default"].createElement(DateHeader, {
@@ -761,21 +765,21 @@ var MessageListWithContext = function MessageListWithContext(props) {
761
765
  __self: _this,
762
766
  __source: {
763
767
  fileName: _jsxFileName,
764
- lineNumber: 900,
768
+ lineNumber: 937,
765
769
  columnNumber: 17
766
770
  }
767
771
  }) : null)), !disableTypingIndicator && TypingIndicator && typingEventsEnabled !== false && _react["default"].createElement(TypingIndicatorContainer, {
768
772
  __self: _this,
769
773
  __source: {
770
774
  fileName: _jsxFileName,
771
- lineNumber: 904,
775
+ lineNumber: 941,
772
776
  columnNumber: 13
773
777
  }
774
778
  }, _react["default"].createElement(TypingIndicator, {
775
779
  __self: _this,
776
780
  __source: {
777
781
  fileName: _jsxFileName,
778
- lineNumber: 905,
782
+ lineNumber: 942,
779
783
  columnNumber: 15
780
784
  }
781
785
  })), _react["default"].createElement(ScrollToBottomButton, {
@@ -785,14 +789,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
785
789
  __self: _this,
786
790
  __source: {
787
791
  fileName: _jsxFileName,
788
- lineNumber: 908,
792
+ lineNumber: 945,
789
793
  columnNumber: 11
790
794
  }
791
795
  })), _react["default"].createElement(NetworkDownIndicator, {
792
796
  __self: _this,
793
797
  __source: {
794
798
  fileName: _jsxFileName,
795
- lineNumber: 915,
799
+ lineNumber: 952,
796
800
  columnNumber: 7
797
801
  }
798
802
  }));
@@ -808,7 +812,9 @@ var MessageList = function MessageList(props) {
808
812
  channel = _useChannelContext.channel,
809
813
  disabled = _useChannelContext.disabled,
810
814
  EmptyStateIndicator = _useChannelContext.EmptyStateIndicator,
815
+ enableMessageGroupingByUser = _useChannelContext.enableMessageGroupingByUser,
811
816
  error = _useChannelContext.error,
817
+ hideStickyDateHeader = _useChannelContext.hideStickyDateHeader,
812
818
  loadChannelAtMessage = _useChannelContext.loadChannelAtMessage,
813
819
  loading = _useChannelContext.loading,
814
820
  LoadingIndicator = _useChannelContext.LoadingIndicator,
@@ -834,6 +840,7 @@ var MessageList = function MessageList(props) {
834
840
  initialScrollToFirstUnreadMessage = _useMessagesContext.initialScrollToFirstUnreadMessage,
835
841
  InlineDateSeparator = _useMessagesContext.InlineDateSeparator,
836
842
  InlineUnreadIndicator = _useMessagesContext.InlineUnreadIndicator,
843
+ legacyImageViewerSwipeBehaviour = _useMessagesContext.legacyImageViewerSwipeBehaviour,
837
844
  Message = _useMessagesContext.Message,
838
845
  MessageSystem = _useMessagesContext.MessageSystem,
839
846
  myMessageTheme = _useMessagesContext.myMessageTheme,
@@ -864,11 +871,14 @@ var MessageList = function MessageList(props) {
864
871
  disabled: disabled,
865
872
  disableTypingIndicator: disableTypingIndicator,
866
873
  EmptyStateIndicator: EmptyStateIndicator,
874
+ enableMessageGroupingByUser: enableMessageGroupingByUser,
867
875
  error: error,
868
876
  FlatList: FlatList,
877
+ hideStickyDateHeader: hideStickyDateHeader,
869
878
  initialScrollToFirstUnreadMessage: initialScrollToFirstUnreadMessage,
870
879
  InlineDateSeparator: InlineDateSeparator,
871
880
  InlineUnreadIndicator: InlineUnreadIndicator,
881
+ legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
872
882
  loadChannelAtMessage: loadChannelAtMessage,
873
883
  loading: loading,
874
884
  LoadingIndicator: LoadingIndicator,
@@ -897,10 +907,11 @@ var MessageList = function MessageList(props) {
897
907
  TypingIndicator: TypingIndicator,
898
908
  TypingIndicatorContainer: TypingIndicatorContainer
899
909
  }, props, {
910
+ noGroupByUser: !enableMessageGroupingByUser || props.noGroupByUser,
900
911
  __self: _this,
901
912
  __source: {
902
913
  fileName: _jsxFileName,
903
- lineNumber: 981,
914
+ lineNumber: 1021,
904
915
  columnNumber: 5
905
916
  }
906
917
  }));