stream-chat-react-native-core 5.22.0-beta.2 → 5.22.0-beta.4
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.
- package/lib/commonjs/components/Attachment/FileAttachment.js +10 -7
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +29 -32
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +0 -4
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/hooks/useViewport.js +47 -0
- package/lib/commonjs/hooks/useViewport.js.map +1 -0
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +48 -48
- package/lib/commonjs/i18n/hi.json +48 -48
- package/lib/commonjs/i18n/it.json +48 -48
- package/lib/commonjs/i18n/nl.json +48 -48
- package/lib/commonjs/i18n/ru.json +48 -48
- package/lib/commonjs/i18n/tr.json +48 -48
- package/lib/commonjs/utils/utils.js +1 -15
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +10 -7
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +29 -32
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +0 -4
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/hooks/useViewport.js +47 -0
- package/lib/module/hooks/useViewport.js.map +1 -0
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +48 -48
- package/lib/module/i18n/hi.json +48 -48
- package/lib/module/i18n/it.json +48 -48
- package/lib/module/i18n/nl.json +48 -48
- package/lib/module/i18n/ru.json +48 -48
- package/lib/module/i18n/tr.json +48 -48
- package/lib/module/utils/utils.js +1 -15
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +0 -3
- package/lib/typescript/hooks/useViewport.d.ts +11 -0
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +48 -48
- package/lib/typescript/i18n/hi.json +48 -48
- package/lib/typescript/i18n/it.json +48 -48
- package/lib/typescript/i18n/nl.json +48 -48
- package/lib/typescript/i18n/ru.json +48 -48
- package/lib/typescript/i18n/tr.json +48 -48
- package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
- package/lib/typescript/utils/Streami18n.d.ts +0 -4
- package/lib/typescript/utils/utils.d.ts +0 -2
- package/package.json +1 -1
- package/src/components/Attachment/FileAttachment.tsx +12 -3
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +3 -1
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -3
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +4 -3
- package/src/components/ImageGallery/ImageGallery.tsx +9 -19
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +5 -3
- package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +5 -3
- package/src/components/ImageGallery/components/ImageGrid.tsx +2 -1
- package/src/components/Indicators/EmptyStateIndicator.tsx +4 -5
- package/src/components/Message/MessageSimple/MessageContent.tsx +3 -1
- package/src/components/MessageList/InlineUnreadIndicator.tsx +2 -1
- package/src/components/MessageOverlay/MessageActionList.tsx +3 -11
- package/src/components/MessageOverlay/MessageActionListItem.tsx +5 -2
- package/src/components/MessageOverlay/MessageOverlay.tsx +5 -3
- package/src/components/Thread/components/ThreadFooterComponent.tsx +2 -1
- package/src/contexts/themeContext/utils/theme.ts +0 -7
- package/src/hooks/useViewport.ts +41 -0
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +48 -48
- package/src/i18n/hi.json +48 -48
- package/src/i18n/it.json +48 -48
- package/src/i18n/nl.json +48 -48
- package/src/i18n/ru.json +48 -48
- package/src/i18n/tr.json +48 -48
- package/src/utils/utils.ts +0 -13
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_VideoThumbnail","_ThemeContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_VideoThumbnail","_ThemeContext","_useViewport2","_excluded","_this","_jsxFileName","styles","StyleSheet","create","avatarImage","borderRadius","height","width","avatarImageWrapper","borderWidth","margin","contentContainer","flexGrow","image","GridImage","_ref","item","_useTheme","useTheme","gridImage","theme","imageGallery","grid","_useViewport","useViewport","vw","imageComponent","restItem","_objectWithoutProperties2","numberOfImageGalleryGridColumns","selectAndClose","type","uri","size","createElement","TouchableOpacity","accessibilityLabel","onPress","__self","__source","fileName","lineNumber","columnNumber","View","style","VideoThumbnail","Image","source","renderItem","_ref2","ImageGrid","props","avatarComponent","closeGridView","photos","setSelectedMessage","_useTheme2","_useTheme2$theme","white","colors","_useTheme2$theme$imag","container","imageGridItems","map","photo","_extends2","messageId","url","BottomSheetFlatList","contentContainerStyle","backgroundColor","data","keyExtractor","index","numColumns","exports","displayName"],"sources":["ImageGrid.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport { BottomSheetFlatList, TouchableOpacity } from '@gorhom/bottom-sheet';\n\nimport { VideoThumbnail } from '../../../components/Attachment/VideoThumbnail';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nimport type { Photo } from '../ImageGallery';\n\nconst styles = StyleSheet.create({\n avatarImage: {\n borderRadius: 22,\n height: 22,\n width: 22,\n },\n avatarImageWrapper: {\n borderRadius: 24,\n borderWidth: 1,\n height: 24,\n margin: 8,\n width: 24,\n },\n contentContainer: {\n flexGrow: 1,\n },\n image: {\n margin: 1,\n },\n});\n\nexport type ImageGalleryGridImageComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n item,\n}: {\n item: Photo<StreamChatGenerics> & {\n selectAndClose: () => void;\n numberOfImageGalleryGridColumns?: number;\n };\n}) => React.ReactElement | null;\n\nexport type ImageGalleryGridImageComponents<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n avatarComponent?: ImageGalleryGridImageComponent<StreamChatGenerics>;\n imageComponent?: ImageGalleryGridImageComponent<StreamChatGenerics>;\n};\n\nexport type GridImageItem<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Photo<StreamChatGenerics> &\n ImageGalleryGridImageComponents<StreamChatGenerics> & {\n selectAndClose: () => void;\n numberOfImageGalleryGridColumns?: number;\n };\n\nconst GridImage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: GridImageItem<StreamChatGenerics>;\n}) => {\n const {\n theme: {\n imageGallery: {\n grid: { gridImage },\n },\n },\n } = useTheme();\n const { vw } = useViewport();\n const { imageComponent, ...restItem } = item;\n\n const { numberOfImageGalleryGridColumns, selectAndClose, type, uri } = restItem;\n\n const size = vw(100) / (numberOfImageGalleryGridColumns || 3) - 2;\n\n if (imageComponent) {\n return imageComponent({ item: restItem });\n }\n\n return (\n <TouchableOpacity accessibilityLabel='Grid Image' onPress={selectAndClose}>\n {type === 'video' ? (\n <View style={[styles.image, { height: size, width: size }, gridImage]}>\n <VideoThumbnail />\n </View>\n ) : (\n <Image source={{ uri }} style={[styles.image, { height: size, width: size }]} />\n )}\n </TouchableOpacity>\n );\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: GridImageItem<StreamChatGenerics>;\n}) => <GridImage item={item} />;\n\nexport type ImageGridType<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryGridImageComponents<StreamChatGenerics> & {\n closeGridView: () => void;\n photos: Photo<StreamChatGenerics>[];\n setSelectedMessage: React.Dispatch<\n React.SetStateAction<\n | {\n messageId?: string | undefined;\n url?: string | undefined;\n }\n | undefined\n >\n >;\n numberOfImageGalleryGridColumns?: number;\n};\n\nexport const ImageGrid = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGridType<StreamChatGenerics>,\n) => {\n const {\n avatarComponent,\n closeGridView,\n imageComponent,\n numberOfImageGalleryGridColumns,\n photos,\n setSelectedMessage,\n } = props;\n\n const {\n theme: {\n colors: { white },\n imageGallery: {\n grid: { container, contentContainer },\n },\n },\n } = useTheme();\n\n const imageGridItems = photos.map((photo) => ({\n ...photo,\n avatarComponent,\n imageComponent,\n numberOfImageGalleryGridColumns,\n selectAndClose: () => {\n setSelectedMessage({ messageId: photo.messageId, url: photo.uri });\n closeGridView();\n },\n }));\n\n return (\n <BottomSheetFlatList<GridImageItem<StreamChatGenerics>>\n accessibilityLabel='Image Grid'\n contentContainerStyle={[\n styles.contentContainer,\n { backgroundColor: white },\n contentContainer,\n ]}\n data={imageGridItems as GridImageItem<StreamChatGenerics>[]}\n keyExtractor={(item, index) => `${item.uri}-${index}`}\n numColumns={numberOfImageGalleryGridColumns || 3}\n renderItem={renderItem}\n style={container}\n />\n );\n};\n\nImageGrid.displayName = 'ImageGrid{imageGallery{grid}}';\n"],"mappings":"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"}
|
|
@@ -7,11 +7,10 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
9
9
|
var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
|
|
10
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
10
11
|
var _MessageIcon = require("../../icons/MessageIcon");
|
|
11
|
-
var _utils = require("../../utils/utils");
|
|
12
12
|
var _this = this,
|
|
13
13
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Indicators/EmptyStateIndicator.tsx";
|
|
14
|
-
var width = (0, _utils.vw)(33);
|
|
15
14
|
var styles = _reactNative.StyleSheet.create({
|
|
16
15
|
channelContainer: {
|
|
17
16
|
alignItems: 'center',
|
|
@@ -20,8 +19,7 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
20
19
|
},
|
|
21
20
|
channelDetails: {
|
|
22
21
|
fontSize: 14,
|
|
23
|
-
textAlign: 'center'
|
|
24
|
-
width: (0, _utils.vw)(66)
|
|
22
|
+
textAlign: 'center'
|
|
25
23
|
},
|
|
26
24
|
channelTitle: {
|
|
27
25
|
fontSize: 16,
|
|
@@ -41,6 +39,9 @@ var EmptyStateIndicator = function EmptyStateIndicator(_ref) {
|
|
|
41
39
|
channelContainer = _useTheme$theme$empty.channelContainer,
|
|
42
40
|
channelDetails = _useTheme$theme$empty.channelDetails,
|
|
43
41
|
channelTitle = _useTheme$theme$empty.channelTitle;
|
|
42
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
43
|
+
vw = _useViewport.vw;
|
|
44
|
+
var width = vw(33);
|
|
44
45
|
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
|
|
45
46
|
t = _useTranslationContex.t;
|
|
46
47
|
switch (listType) {
|
|
@@ -50,7 +51,7 @@ var EmptyStateIndicator = function EmptyStateIndicator(_ref) {
|
|
|
50
51
|
__self: _this,
|
|
51
52
|
__source: {
|
|
52
53
|
fileName: _jsxFileName,
|
|
53
|
-
lineNumber:
|
|
54
|
+
lineNumber: 44,
|
|
54
55
|
columnNumber: 9
|
|
55
56
|
}
|
|
56
57
|
}, _react["default"].createElement(_MessageIcon.MessageIcon, {
|
|
@@ -60,7 +61,7 @@ var EmptyStateIndicator = function EmptyStateIndicator(_ref) {
|
|
|
60
61
|
__self: _this,
|
|
61
62
|
__source: {
|
|
62
63
|
fileName: _jsxFileName,
|
|
63
|
-
lineNumber:
|
|
64
|
+
lineNumber: 45,
|
|
64
65
|
columnNumber: 11
|
|
65
66
|
}
|
|
66
67
|
}), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -71,18 +72,19 @@ var EmptyStateIndicator = function EmptyStateIndicator(_ref) {
|
|
|
71
72
|
__self: _this,
|
|
72
73
|
__source: {
|
|
73
74
|
fileName: _jsxFileName,
|
|
74
|
-
lineNumber:
|
|
75
|
+
lineNumber: 46,
|
|
75
76
|
columnNumber: 11
|
|
76
77
|
}
|
|
77
78
|
}, t("Let's start chatting!")), _react["default"].createElement(_reactNative.Text, {
|
|
78
79
|
style: [styles.channelDetails, {
|
|
79
|
-
color: grey
|
|
80
|
+
color: grey,
|
|
81
|
+
width: vw(66)
|
|
80
82
|
}, channelDetails],
|
|
81
83
|
testID: "empty-channel-state-details",
|
|
82
84
|
__self: _this,
|
|
83
85
|
__source: {
|
|
84
86
|
fileName: _jsxFileName,
|
|
85
|
-
lineNumber:
|
|
87
|
+
lineNumber: 52,
|
|
86
88
|
columnNumber: 11
|
|
87
89
|
}
|
|
88
90
|
}, t('How about sending your first message to a friend?')));
|
|
@@ -96,7 +98,7 @@ var EmptyStateIndicator = function EmptyStateIndicator(_ref) {
|
|
|
96
98
|
__self: _this,
|
|
97
99
|
__source: {
|
|
98
100
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
101
|
+
lineNumber: 63,
|
|
100
102
|
columnNumber: 14
|
|
101
103
|
}
|
|
102
104
|
}, "No items exist");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_TranslationContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_TranslationContext","_useViewport2","_MessageIcon","_this","_jsxFileName","styles","StyleSheet","create","channelContainer","alignItems","flex","justifyContent","channelDetails","fontSize","textAlign","channelTitle","paddingBottom","paddingTop","EmptyStateIndicator","_ref","listType","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","grey_gainsboro","_useTheme$theme$empty","emptyStateIndicator","_useViewport","useViewport","vw","width","_useTranslationContex","useTranslationContext","t","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","MessageIcon","height","pathFill","Text","color","testID","exports"],"sources":["EmptyStateIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { useViewport } from '../../hooks/useViewport';\nimport { MessageIcon } from '../../icons/MessageIcon';\n\nconst styles = StyleSheet.create({\n channelContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n channelDetails: {\n fontSize: 14,\n textAlign: 'center',\n },\n channelTitle: {\n fontSize: 16,\n paddingBottom: 8,\n paddingTop: 16,\n },\n});\n\nexport type EmptyStateProps = {\n listType?: 'channel' | 'message' | 'default';\n};\n\nexport const EmptyStateIndicator: React.FC<EmptyStateProps> = ({ listType }) => {\n const {\n theme: {\n colors: { black, grey, grey_gainsboro },\n emptyStateIndicator: { channelContainer, channelDetails, channelTitle },\n },\n } = useTheme();\n const { vw } = useViewport();\n const width = vw(33);\n const { t } = useTranslationContext();\n\n switch (listType) {\n case 'channel':\n return (\n <View style={[styles.channelContainer, channelContainer]}>\n <MessageIcon height={width} pathFill={grey_gainsboro} width={width} />\n <Text\n style={[styles.channelTitle, { color: black }, channelTitle]}\n testID='empty-channel-state-title'\n >\n {t(\"Let's start chatting!\")}\n </Text>\n <Text\n style={[styles.channelDetails, { color: grey, width: vw(66) }, channelDetails]}\n testID='empty-channel-state-details'\n >\n {t('How about sending your first message to a friend?')}\n </Text>\n </View>\n );\n case 'message':\n return null;\n default:\n return <Text style={{ color: black }}>No items exist</Text>;\n }\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAsD,IAAAM,KAAA;EAAAC,YAAA;AAEtD,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,gBAAgB,EAAE;IAChBC,UAAU,EAAE,QAAQ;IACpBC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE;EAClB,CAAC;EACDC,cAAc,EAAE;IACdC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE;EACb,CAAC;EACDC,YAAY,EAAE;IACZF,QAAQ,EAAE,EAAE;IACZG,aAAa,EAAE,CAAC;IAChBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAMK,IAAMC,mBAA8C,GAAG,SAAjDA,mBAA8CA,CAAAC,IAAA,EAAqB;EAAA,IAAfC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACvE,IAAAC,SAAA,GAKI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CAJZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEC,IAAI,GAAAH,qBAAA,CAAJG,IAAI;IAAEC,cAAc,GAAAJ,qBAAA,CAAdI,cAAc;IAAAC,qBAAA,GAAAP,eAAA,CACrCQ,mBAAmB;IAAIvB,gBAAgB,GAAAsB,qBAAA,CAAhBtB,gBAAgB;IAAEI,cAAc,GAAAkB,qBAAA,CAAdlB,cAAc;IAAEG,YAAY,GAAAe,qBAAA,CAAZf,YAAY;EAGzE,IAAAiB,YAAA,GAAe,IAAAC,yBAAW,EAAC,CAAC;IAApBC,EAAE,GAAAF,YAAA,CAAFE,EAAE;EACV,IAAMC,KAAK,GAAGD,EAAE,CAAC,EAAE,CAAC;EACpB,IAAAE,qBAAA,GAAc,IAAAC,yCAAqB,EAAC,CAAC;IAA7BC,CAAC,GAAAF,qBAAA,CAADE,CAAC;EAET,QAAQlB,QAAQ;IACd,KAAK,SAAS;MACZ,OACEzB,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAA0C,IAAI;QAACC,KAAK,EAAE,CAACpC,MAAM,CAACG,gBAAgB,EAAEA,gBAAgB,CAAE;QAAAkC,MAAA,EAAAvC,KAAA;QAAAwC,QAAA;UAAAC,QAAA,EAAAxC,YAAA;UAAAyC,UAAA;UAAAC,YAAA;QAAA;MAAA,GACvDnD,MAAA,YAAA4C,aAAA,CAACrC,YAAA,CAAA6C,WAAW;QAACC,MAAM,EAAEb,KAAM;QAACc,QAAQ,EAAEpB,cAAe;QAACM,KAAK,EAAEA,KAAM;QAAAO,MAAA,EAAAvC,KAAA;QAAAwC,QAAA;UAAAC,QAAA,EAAAxC,YAAA;UAAAyC,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC,EACtEnD,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAAoD,IAAI;QACHT,KAAK,EAAE,CAACpC,MAAM,CAACU,YAAY,EAAE;UAAEoC,KAAK,EAAExB;QAAM,CAAC,EAAEZ,YAAY,CAAE;QAC7DqC,MAAM,EAAC,2BAA2B;QAAAV,MAAA,EAAAvC,KAAA;QAAAwC,QAAA;UAAAC,QAAA,EAAAxC,YAAA;UAAAyC,UAAA;UAAAC,YAAA;QAAA;MAAA,GAEjCR,CAAC,CAAC,uBAAuB,CACtB,CAAC,EACP3C,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAAoD,IAAI;QACHT,KAAK,EAAE,CAACpC,MAAM,CAACO,cAAc,EAAE;UAAEuC,KAAK,EAAEvB,IAAI;UAAEO,KAAK,EAAED,EAAE,CAAC,EAAE;QAAE,CAAC,EAAEtB,cAAc,CAAE;QAC/EwC,MAAM,EAAC,6BAA6B;QAAAV,MAAA,EAAAvC,KAAA;QAAAwC,QAAA;UAAAC,QAAA,EAAAxC,YAAA;UAAAyC,UAAA;UAAAC,YAAA;QAAA;MAAA,GAEnCR,CAAC,CAAC,mDAAmD,CAClD,CACF,CAAC;IAEX,KAAK,SAAS;MACZ,OAAO,IAAI;IACb;MACE,OAAO3C,MAAA,YAAA4C,aAAA,CAACzC,YAAA,CAAAoD,IAAI;QAACT,KAAK,EAAE;UAAEU,KAAK,EAAExB;QAAM,CAAE;QAAAe,MAAA,EAAAvC,KAAA;QAAAwC,QAAA;UAAAC,QAAA,EAAAxC,YAAA;UAAAyC,UAAA;UAAAC,YAAA;QAAA;MAAA,GAAC,gBAAoB,CAAC;EAC/D;AACF,CAAC;AAACO,OAAA,CAAAnC,mBAAA,GAAAA,mBAAA"}
|
|
@@ -12,6 +12,7 @@ var _MessageContext = require("../../../contexts/messageContext/MessageContext")
|
|
|
12
12
|
var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
|
|
13
13
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
14
14
|
var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
|
|
15
|
+
var _useViewport2 = require("../../../hooks/useViewport");
|
|
15
16
|
var _utils = require("../../../utils/utils");
|
|
16
17
|
var _excluded = ["borderBottomLeftRadius", "borderBottomRightRadius", "borderRadius", "borderRadiusL", "borderRadiusS", "borderTopLeftRadius", "borderTopRightRadius"];
|
|
17
18
|
var _this = this,
|
|
@@ -106,6 +107,8 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
106
107
|
_useTheme$theme$messa4 = _useTheme$theme$messa.reactionList,
|
|
107
108
|
radius = _useTheme$theme$messa4.radius,
|
|
108
109
|
reactionSize = _useTheme$theme$messa4.reactionSize;
|
|
110
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
111
|
+
vw = _useViewport.vw;
|
|
109
112
|
var getDateText = function getDateText(formatter) {
|
|
110
113
|
if (!message.created_at) return '';
|
|
111
114
|
if (formatter) {
|
|
@@ -142,7 +145,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
142
145
|
__self: _this,
|
|
143
146
|
__source: {
|
|
144
147
|
fileName: _jsxFileName,
|
|
145
|
-
lineNumber:
|
|
148
|
+
lineNumber: 212,
|
|
146
149
|
columnNumber: 7
|
|
147
150
|
}
|
|
148
151
|
});
|
|
@@ -228,7 +231,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
228
231
|
__self: _this,
|
|
229
232
|
__source: {
|
|
230
233
|
fileName: _jsxFileName,
|
|
231
|
-
lineNumber:
|
|
234
|
+
lineNumber: 281,
|
|
232
235
|
columnNumber: 5
|
|
233
236
|
}
|
|
234
237
|
}), MessageHeader && _react["default"].createElement(MessageHeader, {
|
|
@@ -244,7 +247,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
244
247
|
__self: _this,
|
|
245
248
|
__source: {
|
|
246
249
|
fileName: _jsxFileName,
|
|
247
|
-
lineNumber:
|
|
250
|
+
lineNumber: 322,
|
|
248
251
|
columnNumber: 9
|
|
249
252
|
}
|
|
250
253
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -253,7 +256,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
253
256
|
__self: _this,
|
|
254
257
|
__source: {
|
|
255
258
|
fileName: _jsxFileName,
|
|
256
|
-
lineNumber:
|
|
259
|
+
lineNumber: 334,
|
|
257
260
|
columnNumber: 7
|
|
258
261
|
}
|
|
259
262
|
}, hasThreadReplies && !threadList && !noBorder && _react["default"].createElement(_reactNative.View, {
|
|
@@ -266,7 +269,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
266
269
|
__self: _this,
|
|
267
270
|
__source: {
|
|
268
271
|
fileName: _jsxFileName,
|
|
269
|
-
lineNumber:
|
|
272
|
+
lineNumber: 336,
|
|
270
273
|
columnNumber: 11
|
|
271
274
|
}
|
|
272
275
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -280,7 +283,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
280
283
|
__self: _this,
|
|
281
284
|
__source: {
|
|
282
285
|
fileName: _jsxFileName,
|
|
283
|
-
lineNumber:
|
|
286
|
+
lineNumber: 349,
|
|
284
287
|
columnNumber: 9
|
|
285
288
|
}
|
|
286
289
|
}, messageContentOrder.map(function (messageContentType, messageContentOrderIndex) {
|
|
@@ -292,19 +295,19 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
292
295
|
__self: _this,
|
|
293
296
|
__source: {
|
|
294
297
|
fileName: _jsxFileName,
|
|
295
|
-
lineNumber:
|
|
298
|
+
lineNumber: 368,
|
|
296
299
|
columnNumber: 21
|
|
297
300
|
}
|
|
298
301
|
}, _react["default"].createElement(Reply, {
|
|
299
302
|
styles: {
|
|
300
303
|
messageContainer: {
|
|
301
|
-
maxWidth:
|
|
304
|
+
maxWidth: vw(60)
|
|
302
305
|
}
|
|
303
306
|
},
|
|
304
307
|
__self: _this,
|
|
305
308
|
__source: {
|
|
306
309
|
fileName: _jsxFileName,
|
|
307
|
-
lineNumber:
|
|
310
|
+
lineNumber: 372,
|
|
308
311
|
columnNumber: 23
|
|
309
312
|
}
|
|
310
313
|
}));
|
|
@@ -316,7 +319,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
316
319
|
__self: _this,
|
|
317
320
|
__source: {
|
|
318
321
|
fileName: _jsxFileName,
|
|
319
|
-
lineNumber:
|
|
322
|
+
lineNumber: 378,
|
|
320
323
|
columnNumber: 19
|
|
321
324
|
}
|
|
322
325
|
});
|
|
@@ -328,7 +331,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
328
331
|
__self: _this,
|
|
329
332
|
__source: {
|
|
330
333
|
fileName: _jsxFileName,
|
|
331
|
-
lineNumber:
|
|
334
|
+
lineNumber: 382,
|
|
332
335
|
columnNumber: 19
|
|
333
336
|
}
|
|
334
337
|
});
|
|
@@ -338,7 +341,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
338
341
|
__self: _this,
|
|
339
342
|
__source: {
|
|
340
343
|
fileName: _jsxFileName,
|
|
341
|
-
lineNumber:
|
|
344
|
+
lineNumber: 388,
|
|
342
345
|
columnNumber: 24
|
|
343
346
|
}
|
|
344
347
|
});
|
|
@@ -349,7 +352,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
349
352
|
__self: _this,
|
|
350
353
|
__source: {
|
|
351
354
|
fileName: _jsxFileName,
|
|
352
|
-
lineNumber:
|
|
355
|
+
lineNumber: 392,
|
|
353
356
|
columnNumber: 19
|
|
354
357
|
}
|
|
355
358
|
});
|
|
@@ -358,7 +361,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
358
361
|
__self: _this,
|
|
359
362
|
__source: {
|
|
360
363
|
fileName: _jsxFileName,
|
|
361
|
-
lineNumber:
|
|
364
|
+
lineNumber: 399,
|
|
362
365
|
columnNumber: 19
|
|
363
366
|
}
|
|
364
367
|
})), _react["default"].createElement(MessageReplies, {
|
|
@@ -367,7 +370,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
367
370
|
__self: _this,
|
|
368
371
|
__source: {
|
|
369
372
|
fileName: _jsxFileName,
|
|
370
|
-
lineNumber:
|
|
373
|
+
lineNumber: 401,
|
|
371
374
|
columnNumber: 7
|
|
372
375
|
}
|
|
373
376
|
}), _react["default"].createElement(MessageFooter, {
|
|
@@ -376,7 +379,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
|
|
|
376
379
|
__self: _this,
|
|
377
380
|
__source: {
|
|
378
381
|
fileName: _jsxFileName,
|
|
379
|
-
lineNumber:
|
|
382
|
+
lineNumber: 402,
|
|
380
383
|
columnNumber: 7
|
|
381
384
|
}
|
|
382
385
|
}));
|
|
@@ -530,7 +533,7 @@ var MessageContent = function MessageContent(props) {
|
|
|
530
533
|
__self: _this,
|
|
531
534
|
__source: {
|
|
532
535
|
fileName: _jsxFileName,
|
|
533
|
-
lineNumber:
|
|
536
|
+
lineNumber: 588,
|
|
534
537
|
columnNumber: 5
|
|
535
538
|
}
|
|
536
539
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageTextContainer","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_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","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","vw","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 type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes, vw } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | '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\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","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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"}
|