stream-chat-react-native-core 5.24.0-beta.5 → 5.24.0

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 (90) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +22 -14
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/Card.js +11 -4
  4. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/Gallery.js +24 -16
  6. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  7. package/lib/commonjs/components/Message/Message.js +14 -7
  8. package/lib/commonjs/components/Message/Message.js.map +1 -1
  9. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +22 -16
  10. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  11. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +14 -8
  12. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  13. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +10 -4
  14. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  15. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +6 -1
  16. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  17. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +9 -3
  18. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  19. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  20. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  21. package/lib/commonjs/i18n/en.json +1 -1
  22. package/lib/commonjs/i18n/fr.json +54 -54
  23. package/lib/commonjs/i18n/hi.json +54 -54
  24. package/lib/commonjs/i18n/it.json +54 -54
  25. package/lib/commonjs/i18n/nl.json +54 -54
  26. package/lib/commonjs/i18n/ru.json +54 -54
  27. package/lib/commonjs/i18n/tr.json +54 -54
  28. package/lib/commonjs/version.json +1 -1
  29. package/lib/module/components/Attachment/Attachment.js +22 -14
  30. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  31. package/lib/module/components/Attachment/Card.js +11 -4
  32. package/lib/module/components/Attachment/Card.js.map +1 -1
  33. package/lib/module/components/Attachment/Gallery.js +24 -16
  34. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  35. package/lib/module/components/Message/Message.js +14 -7
  36. package/lib/module/components/Message/Message.js.map +1 -1
  37. package/lib/module/components/Message/MessageSimple/MessageContent.js +22 -16
  38. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  39. package/lib/module/components/Message/MessageSimple/MessageSimple.js +14 -8
  40. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  41. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +10 -4
  42. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  43. package/lib/module/components/Message/hooks/useCreateMessageContext.js +6 -1
  44. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  45. package/lib/module/components/MessageOverlay/MessageOverlay.js +9 -3
  46. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  47. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  48. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  49. package/lib/module/i18n/en.json +1 -1
  50. package/lib/module/i18n/fr.json +54 -54
  51. package/lib/module/i18n/hi.json +54 -54
  52. package/lib/module/i18n/it.json +54 -54
  53. package/lib/module/i18n/nl.json +54 -54
  54. package/lib/module/i18n/ru.json +54 -54
  55. package/lib/module/i18n/tr.json +54 -54
  56. package/lib/module/version.json +1 -1
  57. package/lib/typescript/components/Attachment/Attachment.d.ts +2 -2
  58. package/lib/typescript/components/Attachment/Card.d.ts +2 -2
  59. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  60. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
  61. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  62. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -1
  63. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  64. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +8 -2
  65. package/lib/typescript/i18n/en.json +1 -1
  66. package/lib/typescript/i18n/fr.json +54 -54
  67. package/lib/typescript/i18n/hi.json +54 -54
  68. package/lib/typescript/i18n/it.json +54 -54
  69. package/lib/typescript/i18n/nl.json +54 -54
  70. package/lib/typescript/i18n/ru.json +54 -54
  71. package/lib/typescript/i18n/tr.json +54 -54
  72. package/package.json +1 -1
  73. package/src/components/Attachment/Attachment.tsx +16 -2
  74. package/src/components/Attachment/Card.tsx +22 -4
  75. package/src/components/Attachment/Gallery.tsx +11 -0
  76. package/src/components/Message/Message.tsx +9 -0
  77. package/src/components/Message/MessageSimple/MessageContent.tsx +9 -0
  78. package/src/components/Message/MessageSimple/MessageSimple.tsx +9 -0
  79. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +12 -2
  80. package/src/components/Message/hooks/useCreateMessageContext.ts +4 -0
  81. package/src/components/MessageOverlay/MessageOverlay.tsx +8 -0
  82. package/src/contexts/messageContext/MessageContext.tsx +7 -1
  83. package/src/i18n/en.json +1 -1
  84. package/src/i18n/fr.json +54 -54
  85. package/src/i18n/hi.json +54 -54
  86. package/src/i18n/it.json +54 -54
  87. package/src/i18n/nl.json +54 -54
  88. package/src/i18n/ru.json +54 -54
  89. package/src/i18n/tr.json +54 -54
  90. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageTextContainer","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_useViewport2","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","_groupStyles$","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageError","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","content","_useTheme$theme$messa3","container","borderBottomLeftRadius","borderBottomRightRadius","borderRadius","borderRadiusL","borderRadiusS","_objectWithoutProperties2","errorContainer","wrapper","_useTheme$theme$messa4","reactionList","radius","reactionSize","_useViewport","useViewport","vw","getDateText","formatter","created_at","parserOutput","isDayOrMoment","format","onLayout","_ref","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","createElement","formattedDate","__self","__source","fileName","lineNumber","columnNumber","backgroundColor","repliesCurveColor","isBorderColor","getBorderRadius","groupPosition","isBottomOrSingle","getBorderRadiusFromTheme","bordersFromTheme","key","undefined","TouchableOpacity","_extends2","activeOpacity","event","emitter","testID","style","isDeleted","View","borderColor","height","left","right","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","messageId","actions","MessageTextContainer","areEqual","prevProps","nextProps","_prevOtherAttachments","_prevOtherAttachments2","_nextOtherAttachments","_nextOtherAttachments2","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","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","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref2","_nextMessage$latest_r","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","_useMessageContext","useMessageContext","lastReceivedId","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageContent.tsx"],"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 { useViewport } from '../../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } 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 | 'isAttachmentEqual'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageError'\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 MessageError,\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: { blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderRadiusL,\n borderRadiusS,\n borderTopLeftRadius,\n borderTopRightRadius,\n ...container\n },\n containerInner,\n errorContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n const { vw } = useViewport();\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 ? grey_gainsboro : transparent;\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 const isBorderColor = isMyMessage && !error;\n\n const getBorderRadius = () => {\n // enum('top', 'middle', 'bottom', 'single')\n const groupPosition = groupStyles?.[0];\n\n const isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';\n let borderBottomLeftRadius = borderRadiusL;\n let borderBottomRightRadius = borderRadiusL;\n\n if (isBottomOrSingle && (!hasThreadReplies || threadList)) {\n // add relevant sharp corner\n if (alignment === 'left') {\n borderBottomLeftRadius = borderRadiusS;\n } else {\n borderBottomRightRadius = borderRadiusS;\n }\n }\n\n return {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n };\n };\n\n const getBorderRadiusFromTheme = () => {\n const bordersFromTheme: Record<string, number | undefined> = {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n };\n\n // filter out undefined values\n for (const key in bordersFromTheme) {\n if (bordersFromTheme[key] === undefined) {\n delete bordersFromTheme[key];\n }\n }\n\n return bordersFromTheme;\n };\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 borderColor: isBorderColor ? backgroundColor : grey_whisper,\n ...getBorderRadius(),\n ...getBorderRadiusFromTheme(),\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 && <MessageError />}\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 isAttachmentEqual,\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 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 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 if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\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 isAttachmentEqual,\n MessageDeleted,\n MessageError,\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 isAttachmentEqual,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageError,\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"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageTextContainer","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_useViewport2","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","_groupStyles$","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageError","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","content","_useTheme$theme$messa3","container","borderBottomLeftRadius","borderBottomRightRadius","borderRadius","borderRadiusL","borderRadiusS","_objectWithoutProperties2","errorContainer","wrapper","_useTheme$theme$messa4","reactionList","radius","reactionSize","_useViewport","useViewport","vw","getDateText","formatter","created_at","parserOutput","isDayOrMoment","format","onLayout","_ref","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","createElement","formattedDate","__self","__source","fileName","lineNumber","columnNumber","backgroundColor","repliesCurveColor","isBorderColor","getBorderRadius","groupPosition","isBottomOrSingle","getBorderRadiusFromTheme","bordersFromTheme","key","undefined","TouchableOpacity","_extends2","activeOpacity","event","emitter","testID","style","isDeleted","View","borderColor","height","left","right","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","messageId","actions","MessageTextContainer","areEqual","prevProps","nextProps","_prevOtherAttachments","_prevOtherAttachments2","_nextOtherAttachments","_nextOtherAttachments2","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevMyMessageTheme","myMessageTheme","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextMyMessageTheme","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref2","_nextMessage$latest_r","messageContentOrderEqual","tEqual","tDateTimeParserEqual","messageThemeEqual","JSON","stringify","MemoizedMessageContent","React","memo","MessageContent","_useMessageContext","useMessageContext","lastReceivedId","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageContent.tsx"],"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 { useViewport } from '../../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } 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 | 'isAttachmentEqual'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageError'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'myMessageTheme'\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 MessageError,\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: { blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderRadiusL,\n borderRadiusS,\n borderTopLeftRadius,\n borderTopRightRadius,\n ...container\n },\n containerInner,\n errorContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n const { vw } = useViewport();\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 ? grey_gainsboro : transparent;\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 const isBorderColor = isMyMessage && !error;\n\n const getBorderRadius = () => {\n // enum('top', 'middle', 'bottom', 'single')\n const groupPosition = groupStyles?.[0];\n\n const isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';\n let borderBottomLeftRadius = borderRadiusL;\n let borderBottomRightRadius = borderRadiusL;\n\n if (isBottomOrSingle && (!hasThreadReplies || threadList)) {\n // add relevant sharp corner\n if (alignment === 'left') {\n borderBottomLeftRadius = borderRadiusS;\n } else {\n borderBottomRightRadius = borderRadiusS;\n }\n }\n\n return {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n };\n };\n\n const getBorderRadiusFromTheme = () => {\n const bordersFromTheme: Record<string, number | undefined> = {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n };\n\n // filter out undefined values\n for (const key in bordersFromTheme) {\n if (bordersFromTheme[key] === undefined) {\n delete bordersFromTheme[key];\n }\n }\n\n return bordersFromTheme;\n };\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 borderColor: isBorderColor ? backgroundColor : grey_whisper,\n ...getBorderRadius(),\n ...getBorderRadiusFromTheme(),\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 && <MessageError />}\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 isAttachmentEqual,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n myMessageTheme: prevMyMessageTheme,\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 myMessageTheme: nextMyMessageTheme,\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 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 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 if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\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 const messageThemeEqual =\n JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);\n if (!messageThemeEqual) 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 isAttachmentEqual,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n myMessageTheme,\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 isAttachmentEqual,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n myMessageTheme,\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"],"mappings":"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"}
@@ -46,7 +46,7 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
46
46
  __self: _this,
47
47
  __source: {
48
48
  fileName: _jsxFileName,
49
- lineNumber: 73,
49
+ lineNumber: 74,
50
50
  columnNumber: 26
51
51
  }
52
52
  }), _react["default"].createElement(_reactNative.View, {
@@ -59,14 +59,14 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
59
59
  __self: _this,
60
60
  __source: {
61
61
  fileName: _jsxFileName,
62
- lineNumber: 74,
62
+ lineNumber: 75,
63
63
  columnNumber: 7
64
64
  }
65
65
  }, alignment === 'left' && _react["default"].createElement(MessageAvatar, {
66
66
  __self: _this,
67
67
  __source: {
68
68
  fileName: _jsxFileName,
69
- lineNumber: 90,
69
+ lineNumber: 91,
70
70
  columnNumber: 34
71
71
  }
72
72
  }), _react["default"].createElement(MessageContent, {
@@ -74,7 +74,7 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
74
74
  __self: _this,
75
75
  __source: {
76
76
  fileName: _jsxFileName,
77
- lineNumber: 91,
77
+ lineNumber: 92,
78
78
  columnNumber: 9
79
79
  }
80
80
  }), showReactions && _react["default"].createElement(ReactionList, {
@@ -82,7 +82,7 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
82
82
  __self: _this,
83
83
  __source: {
84
84
  fileName: _jsxFileName,
85
- lineNumber: 92,
85
+ lineNumber: 93,
86
86
  columnNumber: 27
87
87
  }
88
88
  })));
@@ -92,11 +92,13 @@ var areEqual = function areEqual(prevProps, nextProps) {
92
92
  var prevChannel = prevProps.channel,
93
93
  prevGroupStyles = prevProps.groupStyles,
94
94
  prevHasReactions = prevProps.hasReactions,
95
- prevMessage = prevProps.message;
95
+ prevMessage = prevProps.message,
96
+ prevMyMessageTheme = prevProps.myMessageTheme;
96
97
  var nextChannel = nextProps.channel,
97
98
  nextGroupStyles = nextProps.groupStyles,
98
99
  nextHasReactions = nextProps.hasReactions,
99
- nextMessage = nextProps.message;
100
+ nextMessage = nextProps.message,
101
+ nextMyMessageTheme = nextProps.myMessageTheme;
100
102
  var hasReactionsEqual = prevHasReactions === nextHasReactions;
101
103
  if (!hasReactionsEqual) return false;
102
104
  var repliesEqual = prevMessage.reply_count === nextMessage.reply_count;
@@ -126,6 +128,8 @@ var areEqual = function areEqual(prevProps, nextProps) {
126
128
  return type === ((_nextMessage$latest_r = nextMessage.latest_reactions) == null ? void 0 : _nextMessage$latest_r[index].type);
127
129
  }) : prevMessage.latest_reactions === nextMessage.latest_reactions;
128
130
  if (!latestReactionsEqual) return false;
131
+ var messageThemeEqual = JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
132
+ if (!messageThemeEqual) return false;
129
133
  return true;
130
134
  };
131
135
  var MemoizedMessageSimple = _react["default"].memo(MessageSimpleWithContext, areEqual);
@@ -141,6 +145,7 @@ var MessageSimple = function MessageSimple(props) {
141
145
  MessageAvatar = _useMessagesContext.MessageAvatar,
142
146
  MessageContent = _useMessagesContext.MessageContent,
143
147
  MessagePinnedHeader = _useMessagesContext.MessagePinnedHeader,
148
+ myMessageTheme = _useMessagesContext.myMessageTheme,
144
149
  ReactionList = _useMessagesContext.ReactionList;
145
150
  return _react["default"].createElement(MemoizedMessageSimple, (0, _extends2["default"])({
146
151
  alignment: alignment,
@@ -152,12 +157,13 @@ var MessageSimple = function MessageSimple(props) {
152
157
  MessageAvatar: MessageAvatar,
153
158
  MessageContent: MessageContent,
154
159
  MessagePinnedHeader: MessagePinnedHeader,
160
+ myMessageTheme: myMessageTheme,
155
161
  ReactionList: ReactionList
156
162
  }, props, {
157
163
  __self: _this,
158
164
  __source: {
159
165
  fileName: _jsxFileName,
160
- lineNumber: 204,
166
+ lineNumber: 212,
161
167
  columnNumber: 5
162
168
  }
163
169
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","_channel$state$messag","alignment","channel","enableMessageGroupingByUser","groupStyles","hasReactions","message","MessageAvatar","MessageContent","MessagePinnedHeader","ReactionList","_useTheme","useTheme","theme","messageSimple","_useState","useState","_useState2","_slicedToArray2","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","createElement","Fragment","pinned","__self","__source","fileName","lineNumber","columnNumber","View","style","justifyContent","marginBottom","marginTop","testID","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevChannel","prevGroupStyles","prevHasReactions","prevMessage","nextChannel","nextGroupStyles","nextHasReactions","nextMessage","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","messageEqual","status","text","isPrevQuotedMessageTypeDeleted","quoted_message","isNextQuotedMessageTypeDeleted","quotedMessageEqual","channelEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","attachment","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref","_nextMessage$latest_r","MemoizedMessageSimple","React","memo","MessageSimple","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports","displayName"],"sources":["MessageSimple.tsx"],"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 { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'channel' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'enableMessageGroupingByUser'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'MessagePinnedHeader'\n | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimplePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\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 <>\n {message.pinned && <MessagePinnedHeader />}\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};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageSimplePropsWithContext<StreamChatGenerics>,\n nextProps: MessageSimplePropsWithContext<StreamChatGenerics>,\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 isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\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 channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageSimplePropsWithContext<StreamChatGenerics>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimpleProps<StreamChatGenerics>,\n) => {\n const { alignment, channel, groupStyles, hasReactions, message } =\n useMessageContext<StreamChatGenerics>();\n const {\n enableMessageGroupingByUser,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n ReactionList,\n } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedMessageSimple<StreamChatGenerics>\n {...{\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","_channel$state$messag","alignment","channel","enableMessageGroupingByUser","groupStyles","hasReactions","message","MessageAvatar","MessageContent","MessagePinnedHeader","ReactionList","_useTheme","useTheme","theme","messageSimple","_useState","useState","_useState2","_slicedToArray2","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","createElement","Fragment","pinned","__self","__source","fileName","lineNumber","columnNumber","View","style","justifyContent","marginBottom","marginTop","testID","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevChannel","prevGroupStyles","prevHasReactions","prevMessage","prevMyMessageTheme","myMessageTheme","nextChannel","nextGroupStyles","nextHasReactions","nextMessage","nextMyMessageTheme","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","messageEqual","status","text","isPrevQuotedMessageTypeDeleted","quoted_message","isNextQuotedMessageTypeDeleted","quotedMessageEqual","channelEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","attachment","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref","_nextMessage$latest_r","messageThemeEqual","MemoizedMessageSimple","React","memo","MessageSimple","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports","displayName"],"sources":["MessageSimple.tsx"],"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 { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'channel' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'enableMessageGroupingByUser'\n | 'myMessageTheme'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'MessagePinnedHeader'\n | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimplePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\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 <>\n {message.pinned && <MessagePinnedHeader />}\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};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageSimplePropsWithContext<StreamChatGenerics>,\n nextProps: MessageSimplePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel: prevChannel,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n message: prevMessage,\n myMessageTheme: prevMyMessageTheme,\n } = prevProps;\n const {\n channel: nextChannel,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n message: nextMessage,\n myMessageTheme: nextMyMessageTheme,\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 isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\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 channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\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 messageThemeEqual =\n JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);\n if (!messageThemeEqual) 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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageSimplePropsWithContext<StreamChatGenerics>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimpleProps<StreamChatGenerics>,\n) => {\n const { alignment, channel, groupStyles, hasReactions, message } =\n useMessageContext<StreamChatGenerics>();\n const {\n enableMessageGroupingByUser,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n myMessageTheme,\n ReactionList,\n } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedMessageSimple<StreamChatGenerics>\n {...{\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n myMessageTheme,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"],"mappings":"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"}
@@ -52,7 +52,7 @@ var MessageTextContainerWithContext = function MessageTextContainerWithContext(p
52
52
  __self: _this,
53
53
  __source: {
54
54
  fileName: _jsxFileName,
55
- lineNumber: 89,
55
+ lineNumber: 92,
56
56
  columnNumber: 5
57
57
  }
58
58
  }, MessageText ? _react["default"].createElement(MessageText, (0, _extends2["default"])({}, props, {
@@ -61,7 +61,7 @@ var MessageTextContainerWithContext = function MessageTextContainerWithContext(p
61
61
  __self: _this,
62
62
  __source: {
63
63
  fileName: _jsxFileName,
64
- lineNumber: 94,
64
+ lineNumber: 97,
65
65
  columnNumber: 9
66
66
  }
67
67
  })) : (0, _renderText.renderText)({
@@ -81,9 +81,11 @@ var areEqual = function areEqual(prevProps, nextProps) {
81
81
  var _prevMessage$mentione, _nextMessage$mentione, _nextMessage$mentione2, _prevMessage$mentione2, _nextMessage$mentione3;
82
82
  var prevMarkdownStyles = prevProps.markdownStyles,
83
83
  prevMessage = prevProps.message,
84
+ prevMyMessageTheme = prevProps.myMessageTheme,
84
85
  prevOnlyEmojis = prevProps.onlyEmojis;
85
86
  var nextMarkdownStyles = nextProps.markdownStyles,
86
87
  nextMessage = nextProps.message,
88
+ nextMyMessageTheme = nextProps.myMessageTheme,
87
89
  nextOnlyEmojis = nextProps.onlyEmojis;
88
90
  var messageTextEqual = prevMessage.text === nextMessage.text;
89
91
  if (!messageTextEqual) return false;
@@ -93,6 +95,8 @@ var areEqual = function areEqual(prevProps, nextProps) {
93
95
  if (!mentionedUsersEqual) return false;
94
96
  var markdownStylesEqual = prevMarkdownStyles === nextMarkdownStyles || Object.keys(prevMarkdownStyles || {}).length === 0 && Object.keys(nextMarkdownStyles || {}).length === 0 || JSON.stringify(prevMarkdownStyles) === JSON.stringify(nextMarkdownStyles);
95
97
  if (!markdownStylesEqual) return false;
98
+ var messageThemeEqual = JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
99
+ if (!messageThemeEqual) return false;
96
100
  return true;
97
101
  };
98
102
  var MemoizedMessageTextContainer = _react["default"].memo(MessageTextContainerWithContext, areEqual);
@@ -105,13 +109,15 @@ var MessageTextContainer = function MessageTextContainer(props) {
105
109
  preventPress = _useMessageContext.preventPress;
106
110
  var _useMessagesContext = (0, _MessagesContext.useMessagesContext)(),
107
111
  markdownRules = _useMessagesContext.markdownRules,
108
- MessageText = _useMessagesContext.MessageText;
112
+ MessageText = _useMessagesContext.MessageText,
113
+ myMessageTheme = _useMessagesContext.myMessageTheme;
109
114
  var messageTextNumberOfLines = props.messageTextNumberOfLines;
110
115
  return _react["default"].createElement(MemoizedMessageTextContainer, (0, _extends2["default"])({
111
116
  markdownRules: markdownRules,
112
117
  message: message,
113
118
  MessageText: MessageText,
114
119
  messageTextNumberOfLines: messageTextNumberOfLines,
120
+ myMessageTheme: myMessageTheme,
115
121
  onLongPress: onLongPress,
116
122
  onlyEmojis: onlyEmojis,
117
123
  onPress: onPress,
@@ -120,7 +126,7 @@ var MessageTextContainer = function MessageTextContainer(props) {
120
126
  __self: _this,
121
127
  __source: {
122
128
  fileName: _jsxFileName,
123
- lineNumber: 180,
129
+ lineNumber: 189,
124
130
  columnNumber: 5
125
131
  }
126
132
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_renderText","_MessageContext","_MessagesContext","_ThemeContext","_useTranslatedMessage","_excluded","_this","_jsxFileName","styles","StyleSheet","create","textContainer","maxWidth","paddingHorizontal","MessageTextContainerWithContext","props","theme","useTheme","markdownRules","_props$markdownStyles","markdownStyles","markdownStylesProp","message","messageOverlay","MessageText","messageTextNumberOfLines","onLongPress","onlyEmojis","onPress","preventPress","_props$styles","stylesProp","_theme$theme","colors","_theme$theme$messageS","messageSimple","content","markdown","_theme$theme$messageS2","onlyEmojiMarkdown","_objectWithoutProperties2","translatedMessage","useTranslatedMessage","text","_extends2","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","renderText","areEqual","prevProps","nextProps","_prevMessage$mentione","_nextMessage$mentione","_nextMessage$mentione2","_prevMessage$mentione2","_nextMessage$mentione3","prevMarkdownStyles","prevMessage","prevOnlyEmojis","nextMarkdownStyles","nextMessage","nextOnlyEmojis","messageTextEqual","onlyEmojisEqual","mentionedUsersEqual","mentioned_users","length","name","markdownStylesEqual","Object","keys","JSON","stringify","MemoizedMessageTextContainer","React","memo","MessageTextContainer","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","exports","displayName"],"sources":["MessageTextContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { renderText, RenderTextParams } from './utils/renderText';\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 { MarkdownStyle, Theme } from '../../../contexts/themeContext/utils/theme';\nimport { useTranslatedMessage } from '../../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { MessageType } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n textContainer: { maxWidth: 250, paddingHorizontal: 16 },\n});\n\nexport type MessageTextProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = MessageTextContainerProps<StreamChatGenerics> & {\n renderText: (params: RenderTextParams<StreamChatGenerics>) => JSX.Element | null;\n theme: { theme: Theme };\n};\n\nexport type MessageTextContainerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'message' | 'onLongPress' | 'onlyEmojis' | 'onPress' | 'preventPress'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'markdownRules' | 'MessageText'> & {\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n styles?: Partial<{\n textContainer: StyleProp<ViewStyle>;\n }>;\n };\n\nconst MessageTextContainerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageTextContainerPropsWithContext<StreamChatGenerics>,\n) => {\n const theme = useTheme();\n\n const {\n markdownRules,\n markdownStyles: markdownStylesProp = {},\n message,\n messageOverlay,\n MessageText,\n messageTextNumberOfLines,\n onLongPress,\n onlyEmojis,\n onPress,\n preventPress,\n styles: stylesProp = {},\n } = props;\n\n const {\n theme: {\n colors,\n messageSimple: {\n content: {\n markdown,\n textContainer: { onlyEmojiMarkdown, ...textContainer },\n },\n },\n },\n } = theme;\n\n const translatedMessage = useTranslatedMessage<StreamChatGenerics>(\n message,\n ) as MessageType<StreamChatGenerics>;\n\n if (!message.text) return null;\n\n const markdownStyles = { ...markdown, ...markdownStylesProp };\n\n return (\n <View\n style={[styles.textContainer, textContainer, stylesProp.textContainer]}\n testID='message-text-container'\n >\n {MessageText ? (\n <MessageText {...props} renderText={renderText} theme={theme} />\n ) : (\n renderText<StreamChatGenerics>({\n colors,\n markdownRules,\n markdownStyles: {\n ...markdownStyles,\n ...(onlyEmojis ? onlyEmojiMarkdown : {}),\n },\n message: translatedMessage,\n messageOverlay,\n messageTextNumberOfLines,\n onLongPress,\n onlyEmojis,\n onPress,\n preventPress,\n })\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageTextContainerPropsWithContext<StreamChatGenerics>,\n nextProps: MessageTextContainerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n markdownStyles: prevMarkdownStyles,\n message: prevMessage,\n onlyEmojis: prevOnlyEmojis,\n } = prevProps;\n const {\n markdownStyles: nextMarkdownStyles,\n message: nextMessage,\n onlyEmojis: nextOnlyEmojis,\n } = nextProps;\n\n const messageTextEqual = prevMessage.text === nextMessage.text;\n if (!messageTextEqual) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const mentionedUsersEqual =\n prevMessage.mentioned_users?.length === nextMessage.mentioned_users?.length &&\n (nextMessage.mentioned_users?.length === 0 ||\n (prevMessage.mentioned_users?.length &&\n nextMessage.mentioned_users?.length &&\n prevMessage.mentioned_users[0].name === nextMessage.mentioned_users[0].name));\n if (!mentionedUsersEqual) return false;\n\n // stringify could be an expensive operation, so lets rule out the obvious\n // possibilities first such as different object reference or empty objects etc.\n // Also keeping markdown equality check at the last to make sure other less\n // expensive equality checks get executed first and markdown check will be skipped if returned\n // false from previous checks.\n const markdownStylesEqual =\n prevMarkdownStyles === nextMarkdownStyles ||\n (Object.keys(prevMarkdownStyles || {}).length === 0 &&\n Object.keys(nextMarkdownStyles || {}).length === 0) ||\n JSON.stringify(prevMarkdownStyles) === JSON.stringify(nextMarkdownStyles);\n if (!markdownStylesEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageTextContainer = React.memo(\n MessageTextContainerWithContext,\n areEqual,\n) as typeof MessageTextContainerWithContext;\n\nexport type MessageTextContainerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageTextContainerPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageTextContainer = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageTextContainerProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onlyEmojis, onPress, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { markdownRules, MessageText } = useMessagesContext<StreamChatGenerics>();\n const { messageTextNumberOfLines } = props;\n\n return (\n <MemoizedMessageTextContainer\n {...{\n markdownRules,\n message,\n MessageText,\n messageTextNumberOfLines,\n onLongPress,\n onlyEmojis,\n onPress,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nMessageTextContainer.displayName = 'MessageTextContainer{messageSimple{content}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_renderText","_MessageContext","_MessagesContext","_ThemeContext","_useTranslatedMessage","_excluded","_this","_jsxFileName","styles","StyleSheet","create","textContainer","maxWidth","paddingHorizontal","MessageTextContainerWithContext","props","theme","useTheme","markdownRules","_props$markdownStyles","markdownStyles","markdownStylesProp","message","messageOverlay","MessageText","messageTextNumberOfLines","onLongPress","onlyEmojis","onPress","preventPress","_props$styles","stylesProp","_theme$theme","colors","_theme$theme$messageS","messageSimple","content","markdown","_theme$theme$messageS2","onlyEmojiMarkdown","_objectWithoutProperties2","translatedMessage","useTranslatedMessage","text","_extends2","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","renderText","areEqual","prevProps","nextProps","_prevMessage$mentione","_nextMessage$mentione","_nextMessage$mentione2","_prevMessage$mentione2","_nextMessage$mentione3","prevMarkdownStyles","prevMessage","prevMyMessageTheme","myMessageTheme","prevOnlyEmojis","nextMarkdownStyles","nextMessage","nextMyMessageTheme","nextOnlyEmojis","messageTextEqual","onlyEmojisEqual","mentionedUsersEqual","mentioned_users","length","name","markdownStylesEqual","Object","keys","JSON","stringify","messageThemeEqual","MemoizedMessageTextContainer","React","memo","MessageTextContainer","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","exports","displayName"],"sources":["MessageTextContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { renderText, RenderTextParams } from './utils/renderText';\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 { MarkdownStyle, Theme } from '../../../contexts/themeContext/utils/theme';\nimport { useTranslatedMessage } from '../../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { MessageType } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n textContainer: { maxWidth: 250, paddingHorizontal: 16 },\n});\n\nexport type MessageTextProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = MessageTextContainerProps<StreamChatGenerics> & {\n renderText: (params: RenderTextParams<StreamChatGenerics>) => JSX.Element | null;\n theme: { theme: Theme };\n};\n\nexport type MessageTextContainerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'message' | 'onLongPress' | 'onlyEmojis' | 'onPress' | 'preventPress'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'markdownRules' | 'MessageText' | 'myMessageTheme'\n > & {\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n styles?: Partial<{\n textContainer: StyleProp<ViewStyle>;\n }>;\n };\n\nconst MessageTextContainerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageTextContainerPropsWithContext<StreamChatGenerics>,\n) => {\n const theme = useTheme();\n\n const {\n markdownRules,\n markdownStyles: markdownStylesProp = {},\n message,\n messageOverlay,\n MessageText,\n messageTextNumberOfLines,\n onLongPress,\n onlyEmojis,\n onPress,\n preventPress,\n styles: stylesProp = {},\n } = props;\n\n const {\n theme: {\n colors,\n messageSimple: {\n content: {\n markdown,\n textContainer: { onlyEmojiMarkdown, ...textContainer },\n },\n },\n },\n } = theme;\n\n const translatedMessage = useTranslatedMessage<StreamChatGenerics>(\n message,\n ) as MessageType<StreamChatGenerics>;\n\n if (!message.text) return null;\n\n const markdownStyles = { ...markdown, ...markdownStylesProp };\n\n return (\n <View\n style={[styles.textContainer, textContainer, stylesProp.textContainer]}\n testID='message-text-container'\n >\n {MessageText ? (\n <MessageText {...props} renderText={renderText} theme={theme} />\n ) : (\n renderText<StreamChatGenerics>({\n colors,\n markdownRules,\n markdownStyles: {\n ...markdownStyles,\n ...(onlyEmojis ? onlyEmojiMarkdown : {}),\n },\n message: translatedMessage,\n messageOverlay,\n messageTextNumberOfLines,\n onLongPress,\n onlyEmojis,\n onPress,\n preventPress,\n })\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageTextContainerPropsWithContext<StreamChatGenerics>,\n nextProps: MessageTextContainerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n markdownStyles: prevMarkdownStyles,\n message: prevMessage,\n myMessageTheme: prevMyMessageTheme,\n onlyEmojis: prevOnlyEmojis,\n } = prevProps;\n const {\n markdownStyles: nextMarkdownStyles,\n message: nextMessage,\n myMessageTheme: nextMyMessageTheme,\n onlyEmojis: nextOnlyEmojis,\n } = nextProps;\n\n const messageTextEqual = prevMessage.text === nextMessage.text;\n if (!messageTextEqual) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const mentionedUsersEqual =\n prevMessage.mentioned_users?.length === nextMessage.mentioned_users?.length &&\n (nextMessage.mentioned_users?.length === 0 ||\n (prevMessage.mentioned_users?.length &&\n nextMessage.mentioned_users?.length &&\n prevMessage.mentioned_users[0].name === nextMessage.mentioned_users[0].name));\n if (!mentionedUsersEqual) return false;\n\n // stringify could be an expensive operation, so lets rule out the obvious\n // possibilities first such as different object reference or empty objects etc.\n // Also keeping markdown equality check at the last to make sure other less\n // expensive equality checks get executed first and markdown check will be skipped if returned\n // false from previous checks.\n const markdownStylesEqual =\n prevMarkdownStyles === nextMarkdownStyles ||\n (Object.keys(prevMarkdownStyles || {}).length === 0 &&\n Object.keys(nextMarkdownStyles || {}).length === 0) ||\n JSON.stringify(prevMarkdownStyles) === JSON.stringify(nextMarkdownStyles);\n if (!markdownStylesEqual) return false;\n\n const messageThemeEqual =\n JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);\n if (!messageThemeEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageTextContainer = React.memo(\n MessageTextContainerWithContext,\n areEqual,\n) as typeof MessageTextContainerWithContext;\n\nexport type MessageTextContainerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageTextContainerPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageTextContainer = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageTextContainerProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onlyEmojis, onPress, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { markdownRules, MessageText, myMessageTheme } = useMessagesContext<StreamChatGenerics>();\n const { messageTextNumberOfLines } = props;\n\n return (\n <MemoizedMessageTextContainer\n {...{\n markdownRules,\n message,\n MessageText,\n messageTextNumberOfLines,\n myMessageTheme,\n onLongPress,\n onlyEmojis,\n onPress,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nMessageTextContainer.displayName = 'MessageTextContainer{messageSimple{content}}';\n"],"mappings":"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"}
@@ -29,6 +29,7 @@ var useCreateMessageContext = function useCreateMessageContext(_ref) {
29
29
  members = _ref.members,
30
30
  message = _ref.message,
31
31
  messageContentOrder = _ref.messageContentOrder,
32
+ myMessageTheme = _ref.myMessageTheme,
32
33
  onLongPress = _ref.onLongPress,
33
34
  onlyEmojis = _ref.onlyEmojis,
34
35
  onOpenThread = _ref.onOpenThread,
@@ -56,6 +57,9 @@ var useCreateMessageContext = function useCreateMessageContext(_ref) {
56
57
  return "" + type + (user == null ? void 0 : user.id);
57
58
  }).join() : '') + message.updated_at + message.deleted_at + readBy + message.status + message.type + message.text + message.reply_count;
58
59
  var membersValue = JSON.stringify(members);
60
+ var myMessageThemeString = (0, _react.useMemo)(function () {
61
+ return JSON.stringify(myMessageTheme);
62
+ }, [myMessageTheme]);
59
63
  var quotedMessageDeletedValue = (_message$quoted_messa = message.quoted_message) == null ? void 0 : _message$quoted_messa.deleted_at;
60
64
  var messageContext = (0, _react.useMemo)(function () {
61
65
  return {
@@ -82,6 +86,7 @@ var useCreateMessageContext = function useCreateMessageContext(_ref) {
82
86
  members: members,
83
87
  message: message,
84
88
  messageContentOrder: messageContentOrder,
89
+ myMessageTheme: myMessageTheme,
85
90
  onLongPress: onLongPress,
86
91
  onlyEmojis: onlyEmojis,
87
92
  onOpenThread: onOpenThread,
@@ -96,7 +101,7 @@ var useCreateMessageContext = function useCreateMessageContext(_ref) {
96
101
  threadList: threadList,
97
102
  videos: videos
98
103
  };
99
- }, [actionsEnabled, quotedMessageDeletedValue, alignment, disabled, goToMessage, groupStylesLength, hasReactions, lastGroupMessage, lastReceivedId, membersValue, messageValue, reactionsValue, showAvatar, showMessageStatus, threadList]);
104
+ }, [actionsEnabled, quotedMessageDeletedValue, alignment, disabled, goToMessage, groupStylesLength, hasReactions, lastGroupMessage, lastReceivedId, membersValue, messageValue, myMessageThemeString, reactionsValue, showAvatar, showMessageStatus, threadList]);
100
105
  return messageContext;
101
106
  };
102
107
  exports.useCreateMessageContext = useCreateMessageContext;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_useMessageList","useCreateMessageContext","_ref","_message$quoted_messa","actionsEnabled","alignment","channel","disabled","files","goToMessage","groupStyles","handleAction","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleToggleReaction","hasReactions","images","isMyMessage","lastGroupMessage","lastReceivedId","members","message","messageContentOrder","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","showAvatar","showMessageOverlay","showMessageStatus","threadList","videos","groupStylesLength","length","reactionsValue","map","_ref2","own","type","join","latestReactions","latest_reactions","undefined","readBy","isMessageWithStylesReadByAndDateSeparator","messageValue","_ref3","user","id","updated_at","deleted_at","status","text","reply_count","membersValue","JSON","stringify","quotedMessageDeletedValue","quoted_message","messageContext","useMemo","exports"],"sources":["useCreateMessageContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nexport const useCreateMessageContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n videos,\n}: MessageContextValue<StreamChatGenerics>) => {\n const groupStylesLength = groupStyles.length;\n const reactionsValue = reactions.map(({ own, type }) => `${own}${type}`).join();\n const latestReactions = message.latest_reactions ? message.latest_reactions : undefined;\n const readBy = isMessageWithStylesReadByAndDateSeparator(message) && message.readBy;\n const messageValue = `${\n latestReactions ? latestReactions.map(({ type, user }) => `${type}${user?.id}`).join() : ''\n }${message.updated_at}${message.deleted_at}${readBy}${message.status}${message.type}${\n message.text\n }${message.reply_count}`;\n const membersValue = JSON.stringify(members);\n\n const quotedMessageDeletedValue = message.quoted_message?.deleted_at;\n\n const messageContext: MessageContextValue<StreamChatGenerics> = useMemo(\n () => ({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n videos,\n }),\n [\n actionsEnabled,\n quotedMessageDeletedValue,\n alignment,\n disabled,\n goToMessage,\n groupStylesLength,\n hasReactions,\n lastGroupMessage,\n lastReceivedId,\n membersValue,\n messageValue,\n reactionsValue,\n showAvatar,\n showMessageStatus,\n threadList,\n ],\n );\n\n return messageContext;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_useMessageList","useCreateMessageContext","_ref","_message$quoted_messa","actionsEnabled","alignment","channel","disabled","files","goToMessage","groupStyles","handleAction","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleToggleReaction","hasReactions","images","isMyMessage","lastGroupMessage","lastReceivedId","members","message","messageContentOrder","myMessageTheme","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","showAvatar","showMessageOverlay","showMessageStatus","threadList","videos","groupStylesLength","length","reactionsValue","map","_ref2","own","type","join","latestReactions","latest_reactions","undefined","readBy","isMessageWithStylesReadByAndDateSeparator","messageValue","_ref3","user","id","updated_at","deleted_at","status","text","reply_count","membersValue","JSON","stringify","myMessageThemeString","useMemo","quotedMessageDeletedValue","quoted_message","messageContext","exports"],"sources":["useCreateMessageContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nexport const useCreateMessageContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n myMessageTheme,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n videos,\n}: MessageContextValue<StreamChatGenerics>) => {\n const groupStylesLength = groupStyles.length;\n const reactionsValue = reactions.map(({ own, type }) => `${own}${type}`).join();\n const latestReactions = message.latest_reactions ? message.latest_reactions : undefined;\n const readBy = isMessageWithStylesReadByAndDateSeparator(message) && message.readBy;\n const messageValue = `${\n latestReactions ? latestReactions.map(({ type, user }) => `${type}${user?.id}`).join() : ''\n }${message.updated_at}${message.deleted_at}${readBy}${message.status}${message.type}${\n message.text\n }${message.reply_count}`;\n const membersValue = JSON.stringify(members);\n const myMessageThemeString = useMemo(() => JSON.stringify(myMessageTheme), [myMessageTheme]);\n\n const quotedMessageDeletedValue = message.quoted_message?.deleted_at;\n\n const messageContext: MessageContextValue<StreamChatGenerics> = useMemo(\n () => ({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n myMessageTheme,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n videos,\n }),\n [\n actionsEnabled,\n quotedMessageDeletedValue,\n alignment,\n disabled,\n goToMessage,\n groupStylesLength,\n hasReactions,\n lastGroupMessage,\n lastReceivedId,\n membersValue,\n messageValue,\n myMessageThemeString,\n reactionsValue,\n showAvatar,\n showMessageStatus,\n threadList,\n ],\n );\n\n return messageContext;\n};\n"],"mappings":"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"}