stream-chat-react-native-core 5.22.0-beta.1 → 5.22.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +28 -25
- 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 +17 -12
- 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/Message/MessageSimple/ReactionList.js +18 -17
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.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 +1 -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 +3 -1
- package/lib/commonjs/i18n/es.json +3 -1
- package/lib/commonjs/i18n/fr.json +53 -51
- package/lib/commonjs/i18n/he.json +3 -1
- package/lib/commonjs/i18n/hi.json +53 -51
- package/lib/commonjs/i18n/it.json +53 -51
- package/lib/commonjs/i18n/ja.json +3 -1
- package/lib/commonjs/i18n/ko.json +3 -1
- package/lib/commonjs/i18n/nl.json +53 -51
- package/lib/commonjs/i18n/ru.json +53 -51
- package/lib/commonjs/i18n/tr.json +53 -51
- 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 +28 -25
- 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 +17 -12
- 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/Message/MessageSimple/ReactionList.js +18 -17
- package/lib/module/components/Message/MessageSimple/ReactionList.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 +1 -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 +3 -1
- package/lib/module/i18n/es.json +3 -1
- package/lib/module/i18n/fr.json +53 -51
- package/lib/module/i18n/he.json +3 -1
- package/lib/module/i18n/hi.json +53 -51
- package/lib/module/i18n/it.json +53 -51
- package/lib/module/i18n/ja.json +3 -1
- package/lib/module/i18n/ko.json +3 -1
- package/lib/module/i18n/nl.json +53 -51
- package/lib/module/i18n/ru.json +53 -51
- package/lib/module/i18n/tr.json +53 -51
- 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 +1 -3
- package/lib/typescript/hooks/useViewport.d.ts +11 -0
- package/lib/typescript/i18n/en.json +3 -1
- package/lib/typescript/i18n/es.json +3 -1
- package/lib/typescript/i18n/fr.json +53 -51
- package/lib/typescript/i18n/he.json +3 -1
- package/lib/typescript/i18n/hi.json +53 -51
- package/lib/typescript/i18n/it.json +53 -51
- package/lib/typescript/i18n/ja.json +3 -1
- package/lib/typescript/i18n/ko.json +3 -1
- package/lib/typescript/i18n/nl.json +53 -51
- package/lib/typescript/i18n/ru.json +53 -51
- package/lib/typescript/i18n/tr.json +53 -51
- package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
- package/lib/typescript/utils/Streami18n.d.ts +6 -0
- 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 +8 -4
- 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 +8 -7
- package/src/components/Message/MessageSimple/MessageContent.tsx +3 -1
- package/src/components/Message/MessageSimple/ReactionList.tsx +2 -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 +2 -7
- package/src/hooks/useViewport.ts +41 -0
- package/src/i18n/en.json +3 -1
- package/src/i18n/es.json +3 -1
- package/src/i18n/fr.json +53 -51
- package/src/i18n/he.json +3 -1
- package/src/i18n/hi.json +53 -51
- package/src/i18n/it.json +53 -51
- package/src/i18n/ja.json +3 -1
- package/src/i18n/ko.json +3 -1
- package/src/i18n/nl.json +53 -51
- package/src/i18n/ru.json +53 -51
- package/src/i18n/tr.json +53 -51
- package/src/utils/utils.ts +0 -13
- package/src/version.json +1 -1
|
@@ -95,6 +95,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
95
95
|
spacer = _useTheme$theme$messa2.spacer,
|
|
96
96
|
_useTheme$theme$messa3 = _useTheme$theme$messa.reactionList,
|
|
97
97
|
container = _useTheme$theme$messa3.container,
|
|
98
|
+
iconFillColor = _useTheme$theme$messa3.iconFillColor,
|
|
98
99
|
middleIcon = _useTheme$theme$messa3.middleIcon,
|
|
99
100
|
themeRadius = _useTheme$theme$messa3.radius,
|
|
100
101
|
reactionBubble = _useTheme$theme$messa3.reactionBubble,
|
|
@@ -136,7 +137,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
136
137
|
__self: _this,
|
|
137
138
|
__source: {
|
|
138
139
|
fileName: _jsxFileName,
|
|
139
|
-
lineNumber:
|
|
140
|
+
lineNumber: 181,
|
|
140
141
|
columnNumber: 5
|
|
141
142
|
}
|
|
142
143
|
}, reactions.length ? _react["default"].createElement(_reactNative.View, {
|
|
@@ -145,7 +146,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
145
146
|
__self: _this,
|
|
146
147
|
__source: {
|
|
147
148
|
fileName: _jsxFileName,
|
|
148
|
-
lineNumber:
|
|
149
|
+
lineNumber: 194,
|
|
149
150
|
columnNumber: 9
|
|
150
151
|
}
|
|
151
152
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
@@ -153,7 +154,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
153
154
|
__self: _this,
|
|
154
155
|
__source: {
|
|
155
156
|
fileName: _jsxFileName,
|
|
156
|
-
lineNumber:
|
|
157
|
+
lineNumber: 195,
|
|
157
158
|
columnNumber: 11
|
|
158
159
|
}
|
|
159
160
|
}, _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -164,7 +165,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
164
165
|
__self: _this,
|
|
165
166
|
__source: {
|
|
166
167
|
fileName: _jsxFileName,
|
|
167
|
-
lineNumber:
|
|
168
|
+
lineNumber: 196,
|
|
168
169
|
columnNumber: 13
|
|
169
170
|
}
|
|
170
171
|
}), _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -175,7 +176,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
175
176
|
__self: _this,
|
|
176
177
|
__source: {
|
|
177
178
|
fileName: _jsxFileName,
|
|
178
|
-
lineNumber:
|
|
179
|
+
lineNumber: 197,
|
|
179
180
|
columnNumber: 13
|
|
180
181
|
}
|
|
181
182
|
}), _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -186,7 +187,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
186
187
|
__self: _this,
|
|
187
188
|
__source: {
|
|
188
189
|
fileName: _jsxFileName,
|
|
189
|
-
lineNumber:
|
|
190
|
+
lineNumber: 198,
|
|
190
191
|
columnNumber: 13
|
|
191
192
|
}
|
|
192
193
|
}), _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -197,7 +198,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
197
198
|
__self: _this,
|
|
198
199
|
__source: {
|
|
199
200
|
fileName: _jsxFileName,
|
|
200
|
-
lineNumber:
|
|
201
|
+
lineNumber: 199,
|
|
201
202
|
columnNumber: 13
|
|
202
203
|
}
|
|
203
204
|
}), _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -208,7 +209,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
208
209
|
__self: _this,
|
|
209
210
|
__source: {
|
|
210
211
|
fileName: _jsxFileName,
|
|
211
|
-
lineNumber:
|
|
212
|
+
lineNumber: 200,
|
|
212
213
|
columnNumber: 13
|
|
213
214
|
}
|
|
214
215
|
}), _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -219,7 +220,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
219
220
|
__self: _this,
|
|
220
221
|
__source: {
|
|
221
222
|
fileName: _jsxFileName,
|
|
222
|
-
lineNumber:
|
|
223
|
+
lineNumber: 201,
|
|
223
224
|
columnNumber: 13
|
|
224
225
|
}
|
|
225
226
|
})), _react["default"].createElement(_reactNative.View, {
|
|
@@ -235,7 +236,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
235
236
|
__self: _this,
|
|
236
237
|
__source: {
|
|
237
238
|
fileName: _jsxFileName,
|
|
238
|
-
lineNumber:
|
|
239
|
+
lineNumber: 203,
|
|
239
240
|
columnNumber: 11
|
|
240
241
|
}
|
|
241
242
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -244,14 +245,14 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
244
245
|
__self: _this,
|
|
245
246
|
__source: {
|
|
246
247
|
fileName: _jsxFileName,
|
|
247
|
-
lineNumber:
|
|
248
|
+
lineNumber: 218,
|
|
248
249
|
columnNumber: 11
|
|
249
250
|
}
|
|
250
251
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
251
252
|
__self: _this,
|
|
252
253
|
__source: {
|
|
253
254
|
fileName: _jsxFileName,
|
|
254
|
-
lineNumber:
|
|
255
|
+
lineNumber: 219,
|
|
255
256
|
columnNumber: 13
|
|
256
257
|
}
|
|
257
258
|
}, _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -262,7 +263,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
262
263
|
__self: _this,
|
|
263
264
|
__source: {
|
|
264
265
|
fileName: _jsxFileName,
|
|
265
|
-
lineNumber:
|
|
266
|
+
lineNumber: 220,
|
|
266
267
|
columnNumber: 15
|
|
267
268
|
}
|
|
268
269
|
}))), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -308,13 +309,13 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
308
309
|
__self: _this,
|
|
309
310
|
__source: {
|
|
310
311
|
fileName: _jsxFileName,
|
|
311
|
-
lineNumber:
|
|
312
|
+
lineNumber: 223,
|
|
312
313
|
columnNumber: 11
|
|
313
314
|
}
|
|
314
315
|
}, reactions.map(function (reaction) {
|
|
315
316
|
return _react["default"].createElement(Icon, {
|
|
316
317
|
key: reaction.type,
|
|
317
|
-
pathFill: reaction.own ? accent_blue : grey,
|
|
318
|
+
pathFill: reaction.own ? iconFillColor || accent_blue : grey,
|
|
318
319
|
size: reactionSize / 2,
|
|
319
320
|
style: middleIcon,
|
|
320
321
|
supportedReactions: supportedReactions,
|
|
@@ -322,7 +323,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
|
|
|
322
323
|
__self: _this,
|
|
323
324
|
__source: {
|
|
324
325
|
fileName: _jsxFileName,
|
|
325
|
-
lineNumber:
|
|
326
|
+
lineNumber: 265,
|
|
326
327
|
columnNumber: 15
|
|
327
328
|
}
|
|
328
329
|
});
|
|
@@ -378,7 +379,7 @@ var ReactionList = function ReactionList(props) {
|
|
|
378
379
|
__self: _this,
|
|
379
380
|
__source: {
|
|
380
381
|
fileName: _jsxFileName,
|
|
381
|
-
lineNumber:
|
|
382
|
+
lineNumber: 350,
|
|
382
383
|
columnNumber: 5
|
|
383
384
|
}
|
|
384
385
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_MessageContext","_MessagesContext","_ThemeContext","_Unknown","_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","left","position","top","reactionBubble","alignItems","flexDirection","justifyContent","reactionBubbleBackground","Icon","_ref","_supportedReactions$f","pathFill","size","style","supportedReactions","type","ReactionIcon","find","reaction","Unknown","createElement","View","__self","__source","fileName","lineNumber","columnNumber","height","width","ReactionListWithContext","props","alignment","propFill","fill","message","messageContentWidth","onLongPress","onPress","onPressIn","preventPress","propRadius","radius","reactions","propReactionSize","reactionSize","showMessageOverlay","propStroke","stroke","propStrokeSize","strokeSize","targetedMessage","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey","grey_gainsboro","grey_whisper","targetedMessageBackground","white","white_snow","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","avatarWrapper","leftAlign","spacer","_useTheme$theme$messa3","reactionList","middleIcon","themeRadius","themeReactionSize","themeStrokeSize","screenPadding","useWindowDimensions","supportedReactionTypes","map","supportedReaction","hasSupportedReactions","some","includes","alignmentLeft","highlighted","pinned","id","x1","Number","marginRight","x2","y1","y2","insideLeftBound","length","insideRightBound","pointerEvents","testID","absoluteFill","Circle","cx","cy","r","backgroundColor","borderColor","borderRadius","borderWidth","TouchableOpacity","disabled","event","emitter","defaultHandler","own","areEqual","prevProps","nextProps","prevMessage","prevMessageContentWidth","prevTargetedMessage","nextMessage","nextMessageContentWidth","nextTargetedMessage","messageContentWidthEqual","messagePinnedEqual","targetedMessageEqual","latestReactionsEqual","Array","isArray","latest_reactions","every","_ref2","index","_nextMessage$latest_r","MemoizedReactionList","React","memo","ReactionList","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports"],"sources":["ReactionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, TouchableOpacity, useWindowDimensions, View } from 'react-native';\n\nimport Svg, { Circle } from 'react-native-svg';\n\nimport {\n MessageContextValue,\n Reactions,\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 { Unknown } from '../../../icons/Unknown';\n\nimport type { IconProps } from '../../../icons/utils/base';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { ReactionData } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n left: 0,\n position: 'absolute',\n top: 0,\n },\n reactionBubble: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n position: 'absolute',\n },\n});\n\nexport type MessageReactions = {\n reactions: Reactions;\n supportedReactions?: ReactionData[];\n};\n\nconst Icon: React.FC<\n Pick<IconProps, 'pathFill' | 'style'> & {\n size: number;\n supportedReactions: ReactionData[];\n type: string;\n }\n> = ({ pathFill, size, style, supportedReactions, type }) => {\n const ReactionIcon =\n supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n\n return (\n <View>\n <ReactionIcon height={size} pathFill={pathFill} style={style} width={size} />\n </View>\n );\n};\n\nexport type ReactionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'reactions'\n | 'showMessageOverlay'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'targetedMessage'> & {\n messageContentWidth: number;\n supportedReactions: ReactionData[];\n fill?: string;\n radius?: number; // not recommended to change this\n reactionSize?: number;\n stroke?: string;\n strokeSize?: number; // not recommended to change this\n };\n\nconst ReactionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n fill: propFill,\n message,\n messageContentWidth,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n radius: propRadius,\n reactions,\n reactionSize: propReactionSize,\n showMessageOverlay,\n stroke: propStroke,\n strokeSize: propStrokeSize,\n supportedReactions,\n targetedMessage,\n } = props;\n\n const {\n theme: {\n colors: {\n accent_blue,\n grey,\n grey_gainsboro,\n grey_whisper,\n targetedMessageBackground,\n white,\n white_snow,\n },\n messageSimple: {\n avatarWrapper: { leftAlign, spacer },\n reactionList: {\n container,\n middleIcon,\n radius: themeRadius,\n reactionBubble,\n reactionBubbleBackground,\n reactionSize: themeReactionSize,\n strokeSize: themeStrokeSize,\n },\n },\n screenPadding,\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n const hasSupportedReactions = reactions.some((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n if (!hasSupportedReactions || messageContentWidth === 0) {\n return null;\n }\n\n const alignmentLeft = alignment === 'left';\n const fill = propFill || (alignmentLeft ? grey_gainsboro : grey_whisper);\n const radius = propRadius || themeRadius;\n const reactionSize = propReactionSize || themeReactionSize;\n const highlighted = message.pinned || targetedMessage === message.id;\n const stroke = propStroke || (highlighted ? targetedMessageBackground : white_snow);\n const strokeSize = propStrokeSize || themeStrokeSize;\n\n const x1 = alignmentLeft\n ? messageContentWidth +\n (Number(leftAlign.marginRight) || 0) +\n (Number(spacer.width) || 0) -\n radius * 0.5\n : width - screenPadding * 2 - messageContentWidth;\n const x2 = x1 + radius * 2 * (alignmentLeft ? 1 : -1);\n const y1 = reactionSize + radius * 2;\n const y2 = reactionSize - radius;\n\n const insideLeftBound = x2 - (reactionSize * reactions.length) / 2 > screenPadding;\n const insideRightBound =\n x2 + strokeSize + (reactionSize * reactions.length) / 2 < width - screenPadding * 2;\n const left =\n reactions.length === 1\n ? x1 + (alignmentLeft ? -radius : radius - reactionSize)\n : !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding * 2 - reactionSize * reactions.length - strokeSize\n : x2 - (reactionSize * reactions.length) / 2 - strokeSize;\n\n return (\n <View\n pointerEvents='box-none'\n style={[\n styles.container,\n {\n height: reactionSize + radius * 5,\n width,\n },\n container,\n ]}\n testID='reaction-list'\n >\n {reactions.length ? (\n <View pointerEvents='box-none' style={[StyleSheet.absoluteFill]}>\n <Svg pointerEvents='none'>\n <Circle cx={x1} cy={y1} fill={stroke} r={radius + strokeSize * 3} />\n <Circle cx={x2} cy={y2} fill={stroke} r={radius * 2 + strokeSize * 3} />\n <Circle cx={x1} cy={y1} fill={fill} r={radius + strokeSize} />\n <Circle cx={x2} cy={y2} fill={fill} r={radius * 2 + strokeSize} />\n <Circle cx={x1} cy={y1} fill={alignmentLeft ? fill : white} r={radius} />\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderColor: fill,\n borderRadius: reactionSize,\n borderWidth: strokeSize,\n height: reactionSize,\n left,\n width: reactionSize * reactions.length,\n },\n reactionBubbleBackground,\n ]}\n />\n <View pointerEvents='none' style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n </View>\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderRadius: reactionSize - strokeSize * 2,\n height: reactionSize - strokeSize * 2,\n left: left + strokeSize,\n top: strokeSize,\n width: reactionSize * reactions.length - strokeSize * 2,\n },\n reactionBubble,\n ]}\n >\n {reactions.map((reaction) => (\n <Icon\n key={reaction.type}\n pathFill={reaction.own ? accent_blue : grey}\n size={reactionSize / 2}\n style={middleIcon}\n supportedReactions={supportedReactions}\n type={reaction.type}\n />\n ))}\n </TouchableOpacity>\n </View>\n ) : null}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ReactionListPropsWithContext<StreamChatGenerics>,\n nextProps: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n messageContentWidth: prevMessageContentWidth,\n targetedMessage: prevTargetedMessage,\n } = prevProps;\n const {\n message: nextMessage,\n messageContentWidth: nextMessageContentWidth,\n targetedMessage: nextTargetedMessage,\n } = nextProps;\n\n const messageContentWidthEqual = prevMessageContentWidth === nextMessageContentWidth;\n if (!messageContentWidthEqual) return false;\n\n const messagePinnedEqual = prevMessage.pinned === nextMessage.pinned;\n\n if (!messagePinnedEqual) return false;\n\n const targetedMessageEqual = prevTargetedMessage === nextTargetedMessage;\n\n if (!targetedMessageEqual) 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 MemoizedReactionList = React.memo(\n ReactionListWithContext,\n areEqual,\n) as typeof ReactionListWithContext;\n\nexport type ReactionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>> &\n Pick<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>;\n\n/**\n * ReactionList - A high level component which implements all the logic required for a message reaction list\n */\nexport const ReactionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n } = useMessageContext<StreamChatGenerics>();\n const { supportedReactions, targetedMessage } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedReactionList\n {...{\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n supportedReactions,\n targetedMessage,\n }}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_MessageContext","_MessagesContext","_ThemeContext","_Unknown","_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","left","position","top","reactionBubble","alignItems","flexDirection","justifyContent","reactionBubbleBackground","Icon","_ref","_supportedReactions$f","pathFill","size","style","supportedReactions","type","ReactionIcon","find","reaction","Unknown","createElement","View","__self","__source","fileName","lineNumber","columnNumber","height","width","ReactionListWithContext","props","alignment","propFill","fill","message","messageContentWidth","onLongPress","onPress","onPressIn","preventPress","propRadius","radius","reactions","propReactionSize","reactionSize","showMessageOverlay","propStroke","stroke","propStrokeSize","strokeSize","targetedMessage","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey","grey_gainsboro","grey_whisper","targetedMessageBackground","white","white_snow","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","avatarWrapper","leftAlign","spacer","_useTheme$theme$messa3","reactionList","iconFillColor","middleIcon","themeRadius","themeReactionSize","themeStrokeSize","screenPadding","useWindowDimensions","supportedReactionTypes","map","supportedReaction","hasSupportedReactions","some","includes","alignmentLeft","highlighted","pinned","id","x1","Number","marginRight","x2","y1","y2","insideLeftBound","length","insideRightBound","pointerEvents","testID","absoluteFill","Circle","cx","cy","r","backgroundColor","borderColor","borderRadius","borderWidth","TouchableOpacity","disabled","event","emitter","defaultHandler","own","areEqual","prevProps","nextProps","prevMessage","prevMessageContentWidth","prevTargetedMessage","nextMessage","nextMessageContentWidth","nextTargetedMessage","messageContentWidthEqual","messagePinnedEqual","targetedMessageEqual","latestReactionsEqual","Array","isArray","latest_reactions","every","_ref2","index","_nextMessage$latest_r","MemoizedReactionList","React","memo","ReactionList","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports"],"sources":["ReactionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, TouchableOpacity, useWindowDimensions, View } from 'react-native';\n\nimport Svg, { Circle } from 'react-native-svg';\n\nimport {\n MessageContextValue,\n Reactions,\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 { Unknown } from '../../../icons/Unknown';\n\nimport type { IconProps } from '../../../icons/utils/base';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { ReactionData } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n left: 0,\n position: 'absolute',\n top: 0,\n },\n reactionBubble: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n position: 'absolute',\n },\n});\n\nexport type MessageReactions = {\n reactions: Reactions;\n supportedReactions?: ReactionData[];\n};\n\nconst Icon: React.FC<\n Pick<IconProps, 'pathFill' | 'style'> & {\n size: number;\n supportedReactions: ReactionData[];\n type: string;\n }\n> = ({ pathFill, size, style, supportedReactions, type }) => {\n const ReactionIcon =\n supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n\n return (\n <View>\n <ReactionIcon height={size} pathFill={pathFill} style={style} width={size} />\n </View>\n );\n};\n\nexport type ReactionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'reactions'\n | 'showMessageOverlay'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'targetedMessage'> & {\n messageContentWidth: number;\n supportedReactions: ReactionData[];\n fill?: string;\n radius?: number; // not recommended to change this\n reactionSize?: number;\n stroke?: string;\n strokeSize?: number; // not recommended to change this\n };\n\nconst ReactionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n fill: propFill,\n message,\n messageContentWidth,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n radius: propRadius,\n reactions,\n reactionSize: propReactionSize,\n showMessageOverlay,\n stroke: propStroke,\n strokeSize: propStrokeSize,\n supportedReactions,\n targetedMessage,\n } = props;\n\n const {\n theme: {\n colors: {\n accent_blue,\n grey,\n grey_gainsboro,\n grey_whisper,\n targetedMessageBackground,\n white,\n white_snow,\n },\n messageSimple: {\n avatarWrapper: { leftAlign, spacer },\n reactionList: {\n container,\n iconFillColor,\n middleIcon,\n radius: themeRadius,\n reactionBubble,\n reactionBubbleBackground,\n reactionSize: themeReactionSize,\n strokeSize: themeStrokeSize,\n },\n },\n screenPadding,\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n const hasSupportedReactions = reactions.some((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n if (!hasSupportedReactions || messageContentWidth === 0) {\n return null;\n }\n\n const alignmentLeft = alignment === 'left';\n const fill = propFill || (alignmentLeft ? grey_gainsboro : grey_whisper);\n const radius = propRadius || themeRadius;\n const reactionSize = propReactionSize || themeReactionSize;\n const highlighted = message.pinned || targetedMessage === message.id;\n const stroke = propStroke || (highlighted ? targetedMessageBackground : white_snow);\n const strokeSize = propStrokeSize || themeStrokeSize;\n\n const x1 = alignmentLeft\n ? messageContentWidth +\n (Number(leftAlign.marginRight) || 0) +\n (Number(spacer.width) || 0) -\n radius * 0.5\n : width - screenPadding * 2 - messageContentWidth;\n const x2 = x1 + radius * 2 * (alignmentLeft ? 1 : -1);\n const y1 = reactionSize + radius * 2;\n const y2 = reactionSize - radius;\n\n const insideLeftBound = x2 - (reactionSize * reactions.length) / 2 > screenPadding;\n const insideRightBound =\n x2 + strokeSize + (reactionSize * reactions.length) / 2 < width - screenPadding * 2;\n const left =\n reactions.length === 1\n ? x1 + (alignmentLeft ? -radius : radius - reactionSize)\n : !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding * 2 - reactionSize * reactions.length - strokeSize\n : x2 - (reactionSize * reactions.length) / 2 - strokeSize;\n\n return (\n <View\n pointerEvents='box-none'\n style={[\n styles.container,\n {\n height: reactionSize + radius * 5,\n width,\n },\n container,\n ]}\n testID='reaction-list'\n >\n {reactions.length ? (\n <View pointerEvents='box-none' style={[StyleSheet.absoluteFill]}>\n <Svg pointerEvents='none'>\n <Circle cx={x1} cy={y1} fill={stroke} r={radius + strokeSize * 3} />\n <Circle cx={x2} cy={y2} fill={stroke} r={radius * 2 + strokeSize * 3} />\n <Circle cx={x1} cy={y1} fill={fill} r={radius + strokeSize} />\n <Circle cx={x2} cy={y2} fill={fill} r={radius * 2 + strokeSize} />\n <Circle cx={x1} cy={y1} fill={alignmentLeft ? fill : white} r={radius} />\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderColor: fill,\n borderRadius: reactionSize,\n borderWidth: strokeSize,\n height: reactionSize,\n left,\n width: reactionSize * reactions.length,\n },\n reactionBubbleBackground,\n ]}\n />\n <View pointerEvents='none' style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n </View>\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderRadius: reactionSize - strokeSize * 2,\n height: reactionSize - strokeSize * 2,\n left: left + strokeSize,\n top: strokeSize,\n width: reactionSize * reactions.length - strokeSize * 2,\n },\n reactionBubble,\n ]}\n >\n {reactions.map((reaction) => (\n <Icon\n key={reaction.type}\n pathFill={reaction.own ? iconFillColor || accent_blue : grey}\n size={reactionSize / 2}\n style={middleIcon}\n supportedReactions={supportedReactions}\n type={reaction.type}\n />\n ))}\n </TouchableOpacity>\n </View>\n ) : null}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ReactionListPropsWithContext<StreamChatGenerics>,\n nextProps: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n messageContentWidth: prevMessageContentWidth,\n targetedMessage: prevTargetedMessage,\n } = prevProps;\n const {\n message: nextMessage,\n messageContentWidth: nextMessageContentWidth,\n targetedMessage: nextTargetedMessage,\n } = nextProps;\n\n const messageContentWidthEqual = prevMessageContentWidth === nextMessageContentWidth;\n if (!messageContentWidthEqual) return false;\n\n const messagePinnedEqual = prevMessage.pinned === nextMessage.pinned;\n\n if (!messagePinnedEqual) return false;\n\n const targetedMessageEqual = prevTargetedMessage === nextTargetedMessage;\n\n if (!targetedMessageEqual) 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 MemoizedReactionList = React.memo(\n ReactionListWithContext,\n areEqual,\n) as typeof ReactionListWithContext;\n\nexport type ReactionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>> &\n Pick<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>;\n\n/**\n * ReactionList - A high level component which implements all the logic required for a message reaction list\n */\nexport const ReactionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n } = useMessageContext<StreamChatGenerics>();\n const { supportedReactions, targetedMessage } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedReactionList\n {...{\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n supportedReactions,\n targetedMessage,\n }}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
|
|
10
10
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
11
11
|
var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
|
|
12
|
-
var
|
|
12
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
13
13
|
var _this = this,
|
|
14
14
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageList/InlineUnreadIndicator.tsx";
|
|
15
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -37,12 +37,14 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
37
37
|
text = _useTheme$theme$messa.text;
|
|
38
38
|
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
|
|
39
39
|
t = _useTranslationContex.t;
|
|
40
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
41
|
+
vw = _useViewport.vw;
|
|
40
42
|
return _react["default"].createElement(_reactNative.View, {
|
|
41
43
|
style: [styles.container, container],
|
|
42
44
|
__self: _this,
|
|
43
45
|
__source: {
|
|
44
46
|
fileName: _jsxFileName,
|
|
45
|
-
lineNumber:
|
|
47
|
+
lineNumber: 34,
|
|
46
48
|
columnNumber: 5
|
|
47
49
|
}
|
|
48
50
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
@@ -50,30 +52,30 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
50
52
|
style: {
|
|
51
53
|
position: 'absolute'
|
|
52
54
|
},
|
|
53
|
-
width:
|
|
55
|
+
width: vw(100),
|
|
54
56
|
__self: _this,
|
|
55
57
|
__source: {
|
|
56
58
|
fileName: _jsxFileName,
|
|
57
|
-
lineNumber:
|
|
59
|
+
lineNumber: 35,
|
|
58
60
|
columnNumber: 7
|
|
59
61
|
}
|
|
60
62
|
}, _react["default"].createElement(_reactNativeSvg.Rect, {
|
|
61
63
|
fill: "url(#gradient)",
|
|
62
64
|
height: 24,
|
|
63
|
-
width:
|
|
65
|
+
width: vw(100),
|
|
64
66
|
x: 0,
|
|
65
67
|
y: 0,
|
|
66
68
|
__self: _this,
|
|
67
69
|
__source: {
|
|
68
70
|
fileName: _jsxFileName,
|
|
69
|
-
lineNumber:
|
|
71
|
+
lineNumber: 36,
|
|
70
72
|
columnNumber: 9
|
|
71
73
|
}
|
|
72
74
|
}), _react["default"].createElement(_reactNativeSvg.Defs, {
|
|
73
75
|
__self: _this,
|
|
74
76
|
__source: {
|
|
75
77
|
fileName: _jsxFileName,
|
|
76
|
-
lineNumber:
|
|
78
|
+
lineNumber: 37,
|
|
77
79
|
columnNumber: 9
|
|
78
80
|
}
|
|
79
81
|
}, _react["default"].createElement(_reactNativeSvg.LinearGradient, {
|
|
@@ -86,7 +88,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
86
88
|
__self: _this,
|
|
87
89
|
__source: {
|
|
88
90
|
fileName: _jsxFileName,
|
|
89
|
-
lineNumber:
|
|
91
|
+
lineNumber: 38,
|
|
90
92
|
columnNumber: 11
|
|
91
93
|
}
|
|
92
94
|
}, _react["default"].createElement(_reactNativeSvg.Stop, {
|
|
@@ -96,7 +98,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
96
98
|
__self: _this,
|
|
97
99
|
__source: {
|
|
98
100
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
101
|
+
lineNumber: 39,
|
|
100
102
|
columnNumber: 13
|
|
101
103
|
}
|
|
102
104
|
}), _react["default"].createElement(_reactNativeSvg.Stop, {
|
|
@@ -106,7 +108,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
106
108
|
__self: _this,
|
|
107
109
|
__source: {
|
|
108
110
|
fileName: _jsxFileName,
|
|
109
|
-
lineNumber:
|
|
111
|
+
lineNumber: 40,
|
|
110
112
|
columnNumber: 13
|
|
111
113
|
}
|
|
112
114
|
})))), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -116,7 +118,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
116
118
|
__self: _this,
|
|
117
119
|
__source: {
|
|
118
120
|
fileName: _jsxFileName,
|
|
119
|
-
lineNumber:
|
|
121
|
+
lineNumber: 44,
|
|
120
122
|
columnNumber: 7
|
|
121
123
|
}
|
|
122
124
|
}, t('Unread Messages')));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_ThemeContext","_TranslationContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_ThemeContext","_TranslationContext","_useViewport2","_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","justifyContent","padding","width","text","fontSize","InlineUnreadIndicator","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","bg_gradient_end","bg_gradient_start","grey","_useTheme$theme$messa","messageList","inlineUnreadIndicator","_useTranslationContex","useTranslationContext","t","_useViewport","useViewport","vw","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","height","position","Rect","fill","x","y","Defs","LinearGradient","gradientUnits","id","x1","x2","y1","y2","Stop","offset","stopColor","stopOpacity","Text","color","exports"],"sources":["InlineUnreadIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport Svg, { Defs, LinearGradient, Rect, Stop } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { useViewport } from '../../hooks/useViewport';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n padding: 10,\n width: '100%',\n },\n text: {\n fontSize: 12,\n },\n});\n\nexport const InlineUnreadIndicator: React.FC = () => {\n const {\n theme: {\n colors: { bg_gradient_end, bg_gradient_start, grey },\n messageList: {\n inlineUnreadIndicator: { container, text },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n const { vw } = useViewport();\n\n return (\n <View style={[styles.container, container]}>\n <Svg height={24} style={{ position: 'absolute' }} width={vw(100)}>\n <Rect fill='url(#gradient)' height={24} width={vw(100)} x={0} y={0} />\n <Defs>\n <LinearGradient gradientUnits='userSpaceOnUse' id='gradient' x1={0} x2={0} y1={24} y2={0}>\n <Stop offset={1} stopColor={bg_gradient_end} stopOpacity={1} />\n <Stop offset={0} stopColor={bg_gradient_start} stopOpacity={1} />\n </LinearGradient>\n </Defs>\n </Svg>\n <Text style={[styles.text, { color: grey }, text]}>{t('Unread Messages')}</Text>\n </View>\n );\n};\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
|
|
|
11
11
|
var _MessageActionListItem = require("./MessageActionListItem");
|
|
12
12
|
var _MessageOverlayContext = require("../../contexts/messageOverlayContext/MessageOverlayContext");
|
|
13
13
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
14
|
-
var
|
|
14
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
15
15
|
var _this = this,
|
|
16
16
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionList.tsx";
|
|
17
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -34,6 +34,8 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
34
34
|
message: message,
|
|
35
35
|
messageReactions: messageReactions
|
|
36
36
|
};
|
|
37
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
38
|
+
vw = _useViewport.vw;
|
|
37
39
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
38
40
|
white_snow = _useTheme.theme.colors.white_snow;
|
|
39
41
|
var height = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
@@ -56,13 +58,14 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
56
58
|
height.value = layout.height;
|
|
57
59
|
},
|
|
58
60
|
style: [styles.container, {
|
|
59
|
-
backgroundColor: white_snow
|
|
61
|
+
backgroundColor: white_snow,
|
|
62
|
+
minWidth: vw(65)
|
|
60
63
|
}, showScreenStyle],
|
|
61
64
|
testID: "message-action-list",
|
|
62
65
|
__self: _this,
|
|
63
66
|
__source: {
|
|
64
67
|
fileName: _jsxFileName,
|
|
65
|
-
lineNumber:
|
|
68
|
+
lineNumber: 88,
|
|
66
69
|
columnNumber: 5
|
|
67
70
|
}
|
|
68
71
|
}, messageActions == null ? void 0 : messageActions.map(function (messageAction, index) {
|
|
@@ -75,7 +78,7 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
75
78
|
__self: _this,
|
|
76
79
|
__source: {
|
|
77
80
|
fileName: _jsxFileName,
|
|
78
|
-
lineNumber:
|
|
81
|
+
lineNumber: 97,
|
|
79
82
|
columnNumber: 9
|
|
80
83
|
}
|
|
81
84
|
}));
|
|
@@ -106,7 +109,7 @@ var MessageActionList = function MessageActionList(props) {
|
|
|
106
109
|
__self: _this,
|
|
107
110
|
__source: {
|
|
108
111
|
fileName: _jsxFileName,
|
|
109
|
-
lineNumber:
|
|
112
|
+
lineNumber: 148,
|
|
110
113
|
columnNumber: 10
|
|
111
114
|
}
|
|
112
115
|
}));
|
|
@@ -119,17 +122,8 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
119
122
|
container: {
|
|
120
123
|
borderRadius: 16,
|
|
121
124
|
marginTop: 8,
|
|
122
|
-
minWidth: (0, _utils.vw)(65),
|
|
123
125
|
overflow: 'hidden'
|
|
124
126
|
},
|
|
125
|
-
row: {
|
|
126
|
-
alignItems: 'center',
|
|
127
|
-
flexDirection: 'row',
|
|
128
|
-
justifyContent: 'flex-start',
|
|
129
|
-
minWidth: (0, _utils.vw)(65),
|
|
130
|
-
paddingHorizontal: 20,
|
|
131
|
-
paddingVertical: 10
|
|
132
|
-
},
|
|
133
127
|
titleStyle: {
|
|
134
128
|
paddingLeft: 20
|
|
135
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","styles","container","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports","StyleSheet","create","bottomBorder","borderBottomWidth","borderRadius","marginTop","minWidth","vw","overflow","row","alignItems","flexDirection","justifyContent","paddingHorizontal","paddingVertical","titleStyle","paddingLeft"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n minWidth: vw(65),\n overflow: 'hidden',\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_useViewport2","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useViewport","useViewport","vw","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","styles","container","backgroundColor","minWidth","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports","StyleSheet","create","bottomBorder","borderBottomWidth","borderRadius","marginTop","overflow","titleStyle","paddingLeft"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n const { vw } = useViewport();\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow, minWidth: vw(65) }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n overflow: 'hidden',\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
|
10
10
|
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
11
11
|
var _useMessageActionAnimation = require("./hooks/useMessageActionAnimation");
|
|
12
12
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
13
|
-
var
|
|
13
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
14
14
|
var _this = this,
|
|
15
15
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionListItem.tsx";
|
|
16
16
|
var MessageActionListItemWithContext = function MessageActionListItemWithContext(props) {
|
|
@@ -21,6 +21,8 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
21
21
|
length = props.length,
|
|
22
22
|
title = props.title,
|
|
23
23
|
titleStyle = props.titleStyle;
|
|
24
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
25
|
+
vw = _useViewport.vw;
|
|
24
26
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
25
27
|
_useTheme$theme = _useTheme.theme,
|
|
26
28
|
_useTheme$theme$color = _useTheme$theme.colors,
|
|
@@ -37,18 +39,20 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
37
39
|
__self: _this,
|
|
38
40
|
__source: {
|
|
39
41
|
fileName: _jsxFileName,
|
|
40
|
-
lineNumber:
|
|
42
|
+
lineNumber: 65,
|
|
41
43
|
columnNumber: 5
|
|
42
44
|
}
|
|
43
45
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
44
|
-
style: [styles.row,
|
|
46
|
+
style: [styles.row, {
|
|
47
|
+
minWidth: vw(65)
|
|
48
|
+
}, index !== length - 1 ? (0, _extends2["default"])({}, styles.bottomBorder, {
|
|
45
49
|
borderBottomColor: border
|
|
46
50
|
}) : {}, animatedStyle, messageActions.actionContainer],
|
|
47
51
|
testID: actionType + "-list-item",
|
|
48
52
|
__self: _this,
|
|
49
53
|
__source: {
|
|
50
54
|
fileName: _jsxFileName,
|
|
51
|
-
lineNumber:
|
|
55
|
+
lineNumber: 66,
|
|
52
56
|
columnNumber: 7
|
|
53
57
|
}
|
|
54
58
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -56,7 +60,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
56
60
|
__self: _this,
|
|
57
61
|
__source: {
|
|
58
62
|
fileName: _jsxFileName,
|
|
59
|
-
lineNumber:
|
|
63
|
+
lineNumber: 78,
|
|
60
64
|
columnNumber: 9
|
|
61
65
|
}
|
|
62
66
|
}, icon), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -66,7 +70,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
66
70
|
__self: _this,
|
|
67
71
|
__source: {
|
|
68
72
|
fileName: _jsxFileName,
|
|
69
|
-
lineNumber:
|
|
73
|
+
lineNumber: 79,
|
|
70
74
|
columnNumber: 9
|
|
71
75
|
}
|
|
72
76
|
}, title)));
|
|
@@ -81,7 +85,7 @@ var MessageActionListItem = function MessageActionListItem(props) {
|
|
|
81
85
|
__self: _this,
|
|
82
86
|
__source: {
|
|
83
87
|
fileName: _jsxFileName,
|
|
84
|
-
lineNumber:
|
|
88
|
+
lineNumber: 106,
|
|
85
89
|
columnNumber: 6
|
|
86
90
|
}
|
|
87
91
|
}));
|
|
@@ -100,7 +104,6 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
100
104
|
alignItems: 'center',
|
|
101
105
|
flexDirection: 'row',
|
|
102
106
|
justifyContent: 'flex-start',
|
|
103
|
-
minWidth: (0, _utils.vw)(65),
|
|
104
107
|
paddingHorizontal: 20,
|
|
105
108
|
paddingVertical: 10
|
|
106
109
|
},
|