stream-chat-react-native-core 5.1.1-beta.1 → 5.3.0-beta.1
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/Card.js +29 -18
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +16 -20
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/GalleryImage.js +34 -6
- package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +37 -29
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +10 -8
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js +3 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +32 -15
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +30 -6
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +20 -5
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/ImageBackground.js +64 -0
- package/lib/commonjs/components/ImageBackground.js.map +1 -0
- package/lib/commonjs/components/Message/Message.js +15 -16
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +12 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +26 -5
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +39 -26
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +58 -47
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +19 -19
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/debugContext/DebugContext.js +63 -0
- package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -0
- package/lib/commonjs/contexts/index.js +13 -0
- package/lib/commonjs/contexts/index.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Card.js +29 -18
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +16 -20
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/GalleryImage.js +34 -6
- package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js +37 -29
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Avatar/Avatar.js +10 -8
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Avatar/GroupAvatar.js +3 -1
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +32 -15
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js +30 -6
- package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +20 -5
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/ImageBackground.js +64 -0
- package/lib/module/components/ImageBackground.js.map +1 -0
- package/lib/module/components/Message/Message.js +15 -16
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +12 -4
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +26 -5
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +39 -26
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +58 -47
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +19 -19
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +2 -2
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/debugContext/DebugContext.js +63 -0
- package/lib/module/contexts/debugContext/DebugContext.js.map +1 -0
- package/lib/module/contexts/index.js +13 -0
- package/lib/module/contexts/index.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Card.d.ts +3 -2
- package/lib/typescript/components/Attachment/GalleryImage.d.ts +8 -2
- package/lib/typescript/components/Attachment/Giphy.d.ts +2 -1
- package/lib/typescript/components/Avatar/Avatar.d.ts +2 -1
- package/lib/typescript/components/Avatar/GroupAvatar.d.ts +2 -1
- package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +2 -0
- package/lib/typescript/components/Chat/Chat.d.ts +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/ImageBackground.d.ts +33 -0
- package/lib/typescript/components/Message/Message.d.ts +2 -1
- package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +2 -1
- package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +2 -0
- package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +1 -0
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -1
- package/lib/typescript/contexts/debugContext/DebugContext.d.ts +27 -0
- package/lib/typescript/contexts/index.d.ts +1 -0
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +4 -0
- package/package.json +2 -2
- package/src/components/Attachment/Card.tsx +11 -2
- package/src/components/Attachment/Gallery.tsx +1 -7
- package/src/components/Attachment/GalleryImage.tsx +31 -9
- package/src/components/Attachment/Giphy.tsx +8 -2
- package/src/components/Avatar/Avatar.tsx +12 -2
- package/src/components/Avatar/GroupAvatar.tsx +4 -4
- package/src/components/ChannelList/ChannelListMessenger.tsx +17 -0
- package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +2 -1
- package/src/components/ChannelPreview/ChannelAvatar.tsx +23 -4
- package/src/components/Chat/Chat.tsx +111 -95
- package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
- package/src/components/ImageBackground.tsx +77 -0
- package/src/components/Message/Message.tsx +8 -8
- package/src/components/Message/MessageSimple/MessageAvatar.tsx +6 -2
- package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +15 -3
- package/src/components/MessageList/MessageList.tsx +15 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +210 -205
- package/src/components/MessageOverlay/OverlayReactions.tsx +1 -0
- package/src/contexts/chatContext/ChatContext.tsx +3 -1
- package/src/contexts/debugContext/DebugContext.tsx +77 -0
- package/src/contexts/index.ts +1 -0
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +8 -1
- package/src/version.json +1 -1
|
@@ -25,6 +25,8 @@ var _OverlayReactionList = require("./OverlayReactionList");
|
|
|
25
25
|
|
|
26
26
|
var _OverlayReactionsAvatar = require("./OverlayReactionsAvatar");
|
|
27
27
|
|
|
28
|
+
var _ChatContext = require("../../contexts/chatContext/ChatContext");
|
|
29
|
+
|
|
28
30
|
var _MessageContext = require("../../contexts/messageContext/MessageContext");
|
|
29
31
|
|
|
30
32
|
var _MessageOverlayContext = require("../../contexts/messageOverlayContext/MessageOverlayContext");
|
|
@@ -98,6 +100,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
98
100
|
groupStyles = props.groupStyles,
|
|
99
101
|
handleReaction = props.handleReaction,
|
|
100
102
|
images = props.images,
|
|
103
|
+
chatContext = props.chatContext,
|
|
101
104
|
message = props.message,
|
|
102
105
|
messageActions = props.messageActions,
|
|
103
106
|
_props$MessageActionL = props.MessageActionList,
|
|
@@ -269,29 +272,37 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
269
272
|
MessageAvatar = _ref2.MessageAvatar,
|
|
270
273
|
Reply = _ref2.Reply;
|
|
271
274
|
|
|
272
|
-
return _react["default"].createElement(
|
|
273
|
-
value:
|
|
275
|
+
return _react["default"].createElement(_ChatContext.ChatProvider, {
|
|
276
|
+
value: chatContext,
|
|
274
277
|
__self: _this,
|
|
275
278
|
__source: {
|
|
276
279
|
fileName: _jsxFileName,
|
|
277
|
-
lineNumber:
|
|
280
|
+
lineNumber: 306,
|
|
278
281
|
columnNumber: 5
|
|
279
282
|
}
|
|
283
|
+
}, _react["default"].createElement(_MessagesContext.MessagesProvider, {
|
|
284
|
+
value: messagesContext,
|
|
285
|
+
__self: _this,
|
|
286
|
+
__source: {
|
|
287
|
+
fileName: _jsxFileName,
|
|
288
|
+
lineNumber: 307,
|
|
289
|
+
columnNumber: 7
|
|
290
|
+
}
|
|
280
291
|
}, _react["default"].createElement(_MessageContext.MessageProvider, {
|
|
281
292
|
value: messageContext,
|
|
282
293
|
__self: _this,
|
|
283
294
|
__source: {
|
|
284
295
|
fileName: _jsxFileName,
|
|
285
|
-
lineNumber:
|
|
286
|
-
columnNumber:
|
|
296
|
+
lineNumber: 308,
|
|
297
|
+
columnNumber: 9
|
|
287
298
|
}
|
|
288
299
|
}, _react["default"].createElement(_ThemeContext.ThemeProvider, {
|
|
289
300
|
mergedStyle: wrapMessageInTheme ? modifiedTheme : theme,
|
|
290
301
|
__self: _this,
|
|
291
302
|
__source: {
|
|
292
303
|
fileName: _jsxFileName,
|
|
293
|
-
lineNumber:
|
|
294
|
-
columnNumber:
|
|
304
|
+
lineNumber: 309,
|
|
305
|
+
columnNumber: 11
|
|
295
306
|
}
|
|
296
307
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
297
308
|
pointerEvents: 'auto',
|
|
@@ -299,8 +310,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
299
310
|
__self: _this,
|
|
300
311
|
__source: {
|
|
301
312
|
fileName: _jsxFileName,
|
|
302
|
-
lineNumber:
|
|
303
|
-
columnNumber:
|
|
313
|
+
lineNumber: 310,
|
|
314
|
+
columnNumber: 13
|
|
304
315
|
}
|
|
305
316
|
}, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
|
|
306
317
|
enabled: overlay === 'message',
|
|
@@ -310,24 +321,24 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
310
321
|
__self: _this,
|
|
311
322
|
__source: {
|
|
312
323
|
fileName: _jsxFileName,
|
|
313
|
-
lineNumber:
|
|
314
|
-
columnNumber:
|
|
324
|
+
lineNumber: 314,
|
|
325
|
+
columnNumber: 15
|
|
315
326
|
}
|
|
316
327
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
317
328
|
style: [_reactNative.StyleSheet.absoluteFillObject],
|
|
318
329
|
__self: _this,
|
|
319
330
|
__source: {
|
|
320
331
|
fileName: _jsxFileName,
|
|
321
|
-
lineNumber:
|
|
322
|
-
columnNumber:
|
|
332
|
+
lineNumber: 320,
|
|
333
|
+
columnNumber: 17
|
|
323
334
|
}
|
|
324
335
|
}, _react["default"].createElement(_reactNative.SafeAreaView, {
|
|
325
336
|
style: styles.flex,
|
|
326
337
|
__self: _this,
|
|
327
338
|
__source: {
|
|
328
339
|
fileName: _jsxFileName,
|
|
329
|
-
lineNumber:
|
|
330
|
-
columnNumber:
|
|
340
|
+
lineNumber: 321,
|
|
341
|
+
columnNumber: 19
|
|
331
342
|
}
|
|
332
343
|
}, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
|
|
333
344
|
maxDist: 32,
|
|
@@ -341,16 +352,16 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
341
352
|
__self: _this,
|
|
342
353
|
__source: {
|
|
343
354
|
fileName: _jsxFileName,
|
|
344
|
-
lineNumber:
|
|
345
|
-
columnNumber:
|
|
355
|
+
lineNumber: 322,
|
|
356
|
+
columnNumber: 21
|
|
346
357
|
}
|
|
347
358
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
348
359
|
style: [styles.flex, panStyle],
|
|
349
360
|
__self: _this,
|
|
350
361
|
__source: {
|
|
351
362
|
fileName: _jsxFileName,
|
|
352
|
-
lineNumber:
|
|
353
|
-
columnNumber:
|
|
363
|
+
lineNumber: 330,
|
|
364
|
+
columnNumber: 23
|
|
354
365
|
}
|
|
355
366
|
}, message && _react["default"].createElement(_reactNative.View, {
|
|
356
367
|
style: [styles.center, styles.overlayPadding, {
|
|
@@ -359,8 +370,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
359
370
|
__self: _this,
|
|
360
371
|
__source: {
|
|
361
372
|
fileName: _jsxFileName,
|
|
362
|
-
lineNumber:
|
|
363
|
-
columnNumber:
|
|
373
|
+
lineNumber: 332,
|
|
374
|
+
columnNumber: 27
|
|
364
375
|
}
|
|
365
376
|
}, handleReaction && ownCapabilities != null && ownCapabilities.sendReaction ? _react["default"].createElement(OverlayReactionList, {
|
|
366
377
|
messageLayout: messageLayout,
|
|
@@ -371,8 +382,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
371
382
|
__self: _this,
|
|
372
383
|
__source: {
|
|
373
384
|
fileName: _jsxFileName,
|
|
374
|
-
lineNumber:
|
|
375
|
-
columnNumber:
|
|
385
|
+
lineNumber: 341,
|
|
386
|
+
columnNumber: 31
|
|
376
387
|
}
|
|
377
388
|
}) : null, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
378
389
|
onLayout: function onLayout(_ref4) {
|
|
@@ -392,8 +403,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
392
403
|
__self: _this,
|
|
393
404
|
__source: {
|
|
394
405
|
fileName: _jsxFileName,
|
|
395
|
-
lineNumber:
|
|
396
|
-
columnNumber:
|
|
406
|
+
lineNumber: 349,
|
|
407
|
+
columnNumber: 29
|
|
397
408
|
}
|
|
398
409
|
}, alignment === 'left' && MessageAvatar && _react["default"].createElement(MessageAvatar, {
|
|
399
410
|
alignment: alignment,
|
|
@@ -402,8 +413,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
402
413
|
__self: _this,
|
|
403
414
|
__source: {
|
|
404
415
|
fileName: _jsxFileName,
|
|
405
|
-
lineNumber:
|
|
406
|
-
columnNumber:
|
|
416
|
+
lineNumber: 365,
|
|
417
|
+
columnNumber: 33
|
|
407
418
|
}
|
|
408
419
|
}), _react["default"].createElement(_reactNative.View, {
|
|
409
420
|
pointerEvents: "none",
|
|
@@ -418,8 +429,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
418
429
|
__self: _this,
|
|
419
430
|
__source: {
|
|
420
431
|
fileName: _jsxFileName,
|
|
421
|
-
lineNumber:
|
|
422
|
-
columnNumber:
|
|
432
|
+
lineNumber: 367,
|
|
433
|
+
columnNumber: 31
|
|
423
434
|
}
|
|
424
435
|
}, messagesContext == null ? void 0 : (_messagesContext$mess = messagesContext.messageContentOrder) == null ? void 0 : _messagesContext$mess.map(function (messageContentType, messageContentOrderIndex) {
|
|
425
436
|
switch (messageContentType) {
|
|
@@ -430,8 +441,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
430
441
|
__self: _this,
|
|
431
442
|
__source: {
|
|
432
443
|
fileName: _jsxFileName,
|
|
433
|
-
lineNumber:
|
|
434
|
-
columnNumber:
|
|
444
|
+
lineNumber: 412,
|
|
445
|
+
columnNumber: 45
|
|
435
446
|
}
|
|
436
447
|
}, _react["default"].createElement(Reply, {
|
|
437
448
|
quotedMessage: message.quoted_message,
|
|
@@ -443,8 +454,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
443
454
|
__self: _this,
|
|
444
455
|
__source: {
|
|
445
456
|
fileName: _jsxFileName,
|
|
446
|
-
lineNumber:
|
|
447
|
-
columnNumber:
|
|
457
|
+
lineNumber: 416,
|
|
458
|
+
columnNumber: 47
|
|
448
459
|
}
|
|
449
460
|
}));
|
|
450
461
|
|
|
@@ -456,8 +467,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
456
467
|
__self: _this,
|
|
457
468
|
__source: {
|
|
458
469
|
fileName: _jsxFileName,
|
|
459
|
-
lineNumber:
|
|
460
|
-
columnNumber:
|
|
470
|
+
lineNumber: 433,
|
|
471
|
+
columnNumber: 47
|
|
461
472
|
}
|
|
462
473
|
});
|
|
463
474
|
});
|
|
@@ -470,8 +481,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
470
481
|
__self: _this,
|
|
471
482
|
__source: {
|
|
472
483
|
fileName: _jsxFileName,
|
|
473
|
-
lineNumber:
|
|
474
|
-
columnNumber:
|
|
484
|
+
lineNumber: 442,
|
|
485
|
+
columnNumber: 45
|
|
475
486
|
}
|
|
476
487
|
});
|
|
477
488
|
|
|
@@ -488,8 +499,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
488
499
|
__self: _this,
|
|
489
500
|
__source: {
|
|
490
501
|
fileName: _jsxFileName,
|
|
491
|
-
lineNumber:
|
|
492
|
-
columnNumber:
|
|
502
|
+
lineNumber: 452,
|
|
503
|
+
columnNumber: 45
|
|
493
504
|
}
|
|
494
505
|
});
|
|
495
506
|
|
|
@@ -504,8 +515,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
504
515
|
__self: _this,
|
|
505
516
|
__source: {
|
|
506
517
|
fileName: _jsxFileName,
|
|
507
|
-
lineNumber:
|
|
508
|
-
columnNumber:
|
|
518
|
+
lineNumber: 468,
|
|
519
|
+
columnNumber: 43
|
|
509
520
|
}
|
|
510
521
|
});
|
|
511
522
|
}
|
|
@@ -517,8 +528,8 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
517
528
|
__self: _this,
|
|
518
529
|
__source: {
|
|
519
530
|
fileName: _jsxFileName,
|
|
520
|
-
lineNumber:
|
|
521
|
-
columnNumber:
|
|
531
|
+
lineNumber: 482,
|
|
532
|
+
columnNumber: 31
|
|
522
533
|
}
|
|
523
534
|
})), !!messageReactionTitle && message.latest_reactions && message.latest_reactions.length > 0 ? _react["default"].createElement(OverlayReactions, {
|
|
524
535
|
alignment: alignment,
|
|
@@ -540,10 +551,10 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
540
551
|
__self: _this,
|
|
541
552
|
__source: {
|
|
542
553
|
fileName: _jsxFileName,
|
|
543
|
-
lineNumber:
|
|
544
|
-
columnNumber:
|
|
554
|
+
lineNumber: 492,
|
|
555
|
+
columnNumber: 31
|
|
545
556
|
}
|
|
546
|
-
}) : null))))))))));
|
|
557
|
+
}) : null)))))))))));
|
|
547
558
|
};
|
|
548
559
|
|
|
549
560
|
var areEqual = function areEqual(prevProps, nextProps) {
|
|
@@ -596,7 +607,7 @@ var MessageOverlay = function MessageOverlay(props) {
|
|
|
596
607
|
__self: _this,
|
|
597
608
|
__source: {
|
|
598
609
|
fileName: _jsxFileName,
|
|
599
|
-
lineNumber:
|
|
610
|
+
lineNumber: 600,
|
|
600
611
|
columnNumber: 5
|
|
601
612
|
}
|
|
602
613
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MessageOverlay.tsx"],"names":["styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","screenHeight","halfScreenHeight","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","message","messageActions","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","OverlayReactionList","OverlayReactionListDefault","OverlayReactions","DefaultOverlayReactions","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","theme","myMessageTheme","wrapMessageInTheme","user","id","JSON","stringify","myMessageThemeString","setMyMessageThemeString","modifiedTheme","style","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","messageSimple","content","container","borderRadiusL","borderRadiusS","containerStyle","messageHeight","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","Keyboard","dismiss","onPan","onActive","evt","translationY","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","duration","easing","Easing","out","ease","onStart","panStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","absoluteFillObject","state","nativeEvent","State","END","sendReaction","own_reactions","map","reaction","type","layout","layoutHeight","height","layoutWidth","width","showAvatar","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","actions","latest_reactions","image","name","user_id","supportedReactions","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","index","MemoizedMessageOverlay","React","memo","MessageOverlay","data","componentProps"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vh, vw } from '../../utils/utils';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst screenHeight = vh(100);\nconst halfScreenHeight = vh(50);\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\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 { theme } = useTheme();\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n return (\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={\n message?.own_reactions?.map((reaction) => reaction.type) || []\n }\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' ||\n groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' ||\n groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) || otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length &&\n otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment:\n clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) 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 MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["MessageOverlay.tsx"],"names":["styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","screenHeight","halfScreenHeight","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","chatContext","message","messageActions","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","OverlayReactionList","OverlayReactionListDefault","OverlayReactions","DefaultOverlayReactions","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","theme","myMessageTheme","wrapMessageInTheme","user","id","JSON","stringify","myMessageThemeString","setMyMessageThemeString","modifiedTheme","style","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","messageSimple","content","container","borderRadiusL","borderRadiusS","containerStyle","messageHeight","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","Keyboard","dismiss","onPan","onActive","evt","translationY","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","duration","easing","Easing","out","ease","onStart","panStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","absoluteFillObject","state","nativeEvent","State","END","sendReaction","own_reactions","map","reaction","type","layout","layoutHeight","height","layoutWidth","width","showAvatar","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","actions","latest_reactions","image","name","user_id","supportedReactions","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","index","MemoizedMessageOverlay","React","memo","MessageOverlay","data","componentProps"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vh, vw } from '../../utils/utils';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst screenHeight = vh(100);\nconst halfScreenHeight = vh(50);\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n chatContext,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\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 { theme } = useTheme();\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n return (\n <ChatProvider value={chatContext}>\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={\n message?.own_reactions?.map((reaction) => reaction.type) || []\n }\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' ||\n groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' ||\n groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) ||\n otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length &&\n otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment:\n clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n </ChatProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) 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 MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"]}
|
|
@@ -114,7 +114,7 @@ var ReactionIcon = function ReactionIcon(_ref) {
|
|
|
114
114
|
__self: _this,
|
|
115
115
|
__source: {
|
|
116
116
|
fileName: _jsxFileName,
|
|
117
|
-
lineNumber:
|
|
117
|
+
lineNumber: 123,
|
|
118
118
|
columnNumber: 10
|
|
119
119
|
}
|
|
120
120
|
});
|
|
@@ -177,7 +177,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
177
177
|
__self: _this,
|
|
178
178
|
__source: {
|
|
179
179
|
fileName: _jsxFileName,
|
|
180
|
-
lineNumber:
|
|
180
|
+
lineNumber: 208,
|
|
181
181
|
columnNumber: 7
|
|
182
182
|
}
|
|
183
183
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -185,7 +185,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
185
185
|
__self: _this,
|
|
186
186
|
__source: {
|
|
187
187
|
fileName: _jsxFileName,
|
|
188
|
-
lineNumber:
|
|
188
|
+
lineNumber: 209,
|
|
189
189
|
columnNumber: 9
|
|
190
190
|
}
|
|
191
191
|
}, _react["default"].createElement(OverlayReactionsAvatar, {
|
|
@@ -194,7 +194,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
194
194
|
__self: _this,
|
|
195
195
|
__source: {
|
|
196
196
|
fileName: _jsxFileName,
|
|
197
|
-
lineNumber:
|
|
197
|
+
lineNumber: 210,
|
|
198
198
|
columnNumber: 11
|
|
199
199
|
}
|
|
200
200
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -202,14 +202,14 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
202
202
|
__self: _this,
|
|
203
203
|
__source: {
|
|
204
204
|
fileName: _jsxFileName,
|
|
205
|
-
lineNumber:
|
|
205
|
+
lineNumber: 211,
|
|
206
206
|
columnNumber: 11
|
|
207
207
|
}
|
|
208
208
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
209
209
|
__self: _this,
|
|
210
210
|
__source: {
|
|
211
211
|
fileName: _jsxFileName,
|
|
212
|
-
lineNumber:
|
|
212
|
+
lineNumber: 212,
|
|
213
213
|
columnNumber: 13
|
|
214
214
|
}
|
|
215
215
|
}, _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -222,7 +222,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
222
222
|
__self: _this,
|
|
223
223
|
__source: {
|
|
224
224
|
fileName: _jsxFileName,
|
|
225
|
-
lineNumber:
|
|
225
|
+
lineNumber: 213,
|
|
226
226
|
columnNumber: 15
|
|
227
227
|
}
|
|
228
228
|
}), _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -235,7 +235,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
235
235
|
__self: _this,
|
|
236
236
|
__source: {
|
|
237
237
|
fileName: _jsxFileName,
|
|
238
|
-
lineNumber:
|
|
238
|
+
lineNumber: 221,
|
|
239
239
|
columnNumber: 15
|
|
240
240
|
}
|
|
241
241
|
})), _react["default"].createElement(_reactNative.View, {
|
|
@@ -249,7 +249,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
249
249
|
__self: _this,
|
|
250
250
|
__source: {
|
|
251
251
|
fileName: _jsxFileName,
|
|
252
|
-
lineNumber:
|
|
252
|
+
lineNumber: 230,
|
|
253
253
|
columnNumber: 13
|
|
254
254
|
}
|
|
255
255
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -257,14 +257,14 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
257
257
|
__self: _this,
|
|
258
258
|
__source: {
|
|
259
259
|
fileName: _jsxFileName,
|
|
260
|
-
lineNumber:
|
|
260
|
+
lineNumber: 243,
|
|
261
261
|
columnNumber: 13
|
|
262
262
|
}
|
|
263
263
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
264
264
|
__self: _this,
|
|
265
265
|
__source: {
|
|
266
266
|
fileName: _jsxFileName,
|
|
267
|
-
lineNumber:
|
|
267
|
+
lineNumber: 244,
|
|
268
268
|
columnNumber: 15
|
|
269
269
|
}
|
|
270
270
|
}, _react["default"].createElement(_reactNativeSvg.Circle, {
|
|
@@ -275,7 +275,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
275
275
|
__self: _this,
|
|
276
276
|
__source: {
|
|
277
277
|
fileName: _jsxFileName,
|
|
278
|
-
lineNumber:
|
|
278
|
+
lineNumber: 245,
|
|
279
279
|
columnNumber: 17
|
|
280
280
|
}
|
|
281
281
|
}))), _react["default"].createElement(_reactNative.View, {
|
|
@@ -289,7 +289,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
289
289
|
__self: _this,
|
|
290
290
|
__source: {
|
|
291
291
|
fileName: _jsxFileName,
|
|
292
|
-
lineNumber:
|
|
292
|
+
lineNumber: 253,
|
|
293
293
|
columnNumber: 13
|
|
294
294
|
}
|
|
295
295
|
}, _react["default"].createElement(ReactionIcon, {
|
|
@@ -300,7 +300,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
300
300
|
__self: _this,
|
|
301
301
|
__source: {
|
|
302
302
|
fileName: _jsxFileName,
|
|
303
|
-
lineNumber:
|
|
303
|
+
lineNumber: 270,
|
|
304
304
|
columnNumber: 15
|
|
305
305
|
}
|
|
306
306
|
})))), _react["default"].createElement(_reactNative.View, {
|
|
@@ -308,7 +308,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
308
308
|
__self: _this,
|
|
309
309
|
__source: {
|
|
310
310
|
fileName: _jsxFileName,
|
|
311
|
-
lineNumber:
|
|
311
|
+
lineNumber: 279,
|
|
312
312
|
columnNumber: 9
|
|
313
313
|
}
|
|
314
314
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -318,7 +318,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
318
318
|
__self: _this,
|
|
319
319
|
__source: {
|
|
320
320
|
fileName: _jsxFileName,
|
|
321
|
-
lineNumber:
|
|
321
|
+
lineNumber: 280,
|
|
322
322
|
columnNumber: 11
|
|
323
323
|
}
|
|
324
324
|
}, name)));
|
|
@@ -347,7 +347,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
347
347
|
__self: _this,
|
|
348
348
|
__source: {
|
|
349
349
|
fileName: _jsxFileName,
|
|
350
|
-
lineNumber:
|
|
350
|
+
lineNumber: 308,
|
|
351
351
|
columnNumber: 5
|
|
352
352
|
}
|
|
353
353
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -357,7 +357,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
357
357
|
__self: _this,
|
|
358
358
|
__source: {
|
|
359
359
|
fileName: _jsxFileName,
|
|
360
|
-
lineNumber:
|
|
360
|
+
lineNumber: 315,
|
|
361
361
|
columnNumber: 7
|
|
362
362
|
}
|
|
363
363
|
}, title), _react["default"].createElement(_reactNativeGestureHandler.FlatList, {
|
|
@@ -375,7 +375,7 @@ var OverlayReactions = function OverlayReactions(props) {
|
|
|
375
375
|
__self: _this,
|
|
376
376
|
__source: {
|
|
377
377
|
fileName: _jsxFileName,
|
|
378
|
-
lineNumber:
|
|
378
|
+
lineNumber: 316,
|
|
379
379
|
columnNumber: 7
|
|
380
380
|
}
|
|
381
381
|
}));
|