stream-chat-react-native-core 5.18.0 → 5.18.1-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.
@@ -65,7 +65,7 @@ var screenHeight = (0, _utils.vh)(100);
65
65
  var halfScreenHeight = (0, _utils.vh)(50);
66
66
  var DefaultMessageTextNumberOfLines = 5;
67
67
  var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
68
- var _message$user, _message$own_reaction, _messagesContext$mess;
68
+ var _message$user;
69
69
  var alignment = props.alignment,
70
70
  ownCapabilities = props.ownCapabilities,
71
71
  clientId = props.clientId,
@@ -116,6 +116,10 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
116
116
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
117
117
  myMessageThemeString = _useState2[0],
118
118
  setMyMessageThemeString = _useState2[1];
119
+ var _useState3 = (0, _react.useState)(0),
120
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
121
+ reactionListHeight = _useState4[0],
122
+ setReactionListHeight = _useState4[1];
119
123
  (0, _react.useEffect)(function () {
120
124
  if (myMessageTheme) {
121
125
  setMyMessageThemeString(JSON.stringify(myMessageTheme));
@@ -233,12 +237,226 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
233
237
  Gallery = _ref2.Gallery,
234
238
  MessageAvatar = _ref2.MessageAvatar,
235
239
  Reply = _ref2.Reply;
240
+ var renderContent = function renderContent(messageTextNumberOfLines) {
241
+ var _message$own_reaction, _messagesContext$mess;
242
+ return _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
243
+ maxDist: 32,
244
+ onHandlerStateChange: function onHandlerStateChange(_ref3) {
245
+ var state = _ref3.nativeEvent.state;
246
+ if (state === _reactNativeGestureHandler.State.END) {
247
+ setOverlay('none');
248
+ }
249
+ },
250
+ __self: _this,
251
+ __source: {
252
+ fileName: _jsxFileName,
253
+ lineNumber: 308,
254
+ columnNumber: 5
255
+ }
256
+ }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
257
+ style: [styles.flex, panStyle],
258
+ __self: _this,
259
+ __source: {
260
+ fileName: _jsxFileName,
261
+ lineNumber: 316,
262
+ columnNumber: 7
263
+ }
264
+ }, message && _react["default"].createElement(_reactNative.View, {
265
+ style: [styles.center, styles.overlayPadding, {
266
+ padding: overlayPadding
267
+ }, alignment === 'left' ? styles.alignStart : styles.alignEnd],
268
+ __self: _this,
269
+ __source: {
270
+ fileName: _jsxFileName,
271
+ lineNumber: 318,
272
+ columnNumber: 11
273
+ }
274
+ }, handleReaction && ownCapabilities != null && ownCapabilities.sendReaction ? _react["default"].createElement(OverlayReactionList, {
275
+ messageLayout: messageLayout,
276
+ ownReactionTypes: (message == null ? void 0 : (_message$own_reaction = message.own_reactions) == null ? void 0 : _message$own_reaction.map(function (reaction) {
277
+ return reaction.type;
278
+ })) || [],
279
+ setReactionListHeight: setReactionListHeight,
280
+ showScreen: showScreen,
281
+ __self: _this,
282
+ __source: {
283
+ fileName: _jsxFileName,
284
+ lineNumber: 327,
285
+ columnNumber: 15
286
+ }
287
+ }) : null, _react["default"].createElement(_reactNativeReanimated["default"].View, {
288
+ onLayout: function onLayout(_ref4) {
289
+ var _ref4$nativeEvent$lay = _ref4.nativeEvent.layout,
290
+ layoutHeight = _ref4$nativeEvent$lay.height,
291
+ layoutWidth = _ref4$nativeEvent$lay.width,
292
+ x = _ref4$nativeEvent$lay.x,
293
+ y = _ref4$nativeEvent$lay.y;
294
+ messageLayout.value = {
295
+ x: alignment === 'left' ? x + layoutWidth : x,
296
+ y: y
297
+ };
298
+ messageWidth.value = layoutWidth;
299
+ messageHeight.value = layoutHeight;
300
+ },
301
+ style: [styles.alignEnd, styles.row, showScreenStyle],
302
+ __self: _this,
303
+ __source: {
304
+ fileName: _jsxFileName,
305
+ lineNumber: 334,
306
+ columnNumber: 13
307
+ }
308
+ }, alignment === 'left' && MessageAvatar && _react["default"].createElement(MessageAvatar, {
309
+ alignment: alignment,
310
+ message: message,
311
+ showAvatar: true,
312
+ __self: _this,
313
+ __source: {
314
+ fileName: _jsxFileName,
315
+ lineNumber: 350,
316
+ columnNumber: 17
317
+ }
318
+ }), _react["default"].createElement(_reactNative.View, {
319
+ pointerEvents: "none",
320
+ style: [styles.containerInner, {
321
+ backgroundColor: onlyEmojis && !message.quoted_message ? transparent : otherAttachments != null && otherAttachments.length ? otherAttachments[0].type === 'giphy' ? !message.quoted_message ? transparent : grey_gainsboro : blue_alice : alignment === 'left' ? white_smoke : grey_gainsboro,
322
+ borderBottomLeftRadius: (groupStyle === 'left_bottom' || groupStyle === 'left_single') && (!hasThreadReplies || threadList) ? borderRadiusS : borderRadiusL,
323
+ borderBottomRightRadius: (groupStyle === 'right_bottom' || groupStyle === 'right_single') && (!hasThreadReplies || threadList) ? borderRadiusS : borderRadiusL,
324
+ borderColor: grey_whisper
325
+ }, onlyEmojis && !message.quoted_message || otherAttachments != null && otherAttachments.length ? {
326
+ borderWidth: 0
327
+ } : {}, containerInner],
328
+ __self: _this,
329
+ __source: {
330
+ fileName: _jsxFileName,
331
+ lineNumber: 352,
332
+ columnNumber: 15
333
+ }
334
+ }, messagesContext == null ? void 0 : (_messagesContext$mess = messagesContext.messageContentOrder) == null ? void 0 : _messagesContext$mess.map(function (messageContentType, messageContentOrderIndex) {
335
+ switch (messageContentType) {
336
+ case 'quoted_reply':
337
+ return message.quoted_message && Reply && _react["default"].createElement(_reactNative.View, {
338
+ key: "quoted_reply_" + messageContentOrderIndex,
339
+ style: [styles.replyContainer, replyContainer],
340
+ __self: _this,
341
+ __source: {
342
+ fileName: _jsxFileName,
343
+ lineNumber: 394,
344
+ columnNumber: 29
345
+ }
346
+ }, _react["default"].createElement(Reply, {
347
+ quotedMessage: message.quoted_message,
348
+ styles: {
349
+ messageContainer: {
350
+ maxWidth: (0, _utils.vw)(60)
351
+ }
352
+ },
353
+ __self: _this,
354
+ __source: {
355
+ fileName: _jsxFileName,
356
+ lineNumber: 398,
357
+ columnNumber: 31
358
+ }
359
+ }));
360
+ case 'attachments':
361
+ return otherAttachments == null ? void 0 : otherAttachments.map(function (attachment, attachmentIndex) {
362
+ return Attachment && _react["default"].createElement(Attachment, {
363
+ attachment: attachment,
364
+ key: message.id + "-" + attachmentIndex,
365
+ __self: _this,
366
+ __source: {
367
+ fileName: _jsxFileName,
368
+ lineNumber: 415,
369
+ columnNumber: 31
370
+ }
371
+ });
372
+ });
373
+ case 'files':
374
+ return FileAttachmentGroup && _react["default"].createElement(FileAttachmentGroup, {
375
+ files: files,
376
+ key: "file_attachment_group_" + messageContentOrderIndex,
377
+ messageId: message.id,
378
+ __self: _this,
379
+ __source: {
380
+ fileName: _jsxFileName,
381
+ lineNumber: 424,
382
+ columnNumber: 29
383
+ }
384
+ });
385
+ case 'gallery':
386
+ return Gallery && _react["default"].createElement(Gallery, {
387
+ alignment: alignment,
388
+ groupStyles: groupStyles,
389
+ hasThreadReplies: !!(message != null && message.reply_count),
390
+ images: images,
391
+ key: "gallery_" + messageContentOrderIndex,
392
+ message: message,
393
+ threadList: threadList,
394
+ videos: videos,
395
+ __self: _this,
396
+ __source: {
397
+ fileName: _jsxFileName,
398
+ lineNumber: 434,
399
+ columnNumber: 29
400
+ }
401
+ });
402
+ case 'text':
403
+ default:
404
+ return otherAttachments != null && otherAttachments.length && otherAttachments[0].actions ? null : _react["default"].createElement(_MessageTextContainer.MessageTextContainer, {
405
+ key: "message_text_container_" + messageContentOrderIndex,
406
+ message: message,
407
+ messageOverlay: true,
408
+ messageTextNumberOfLines: messageTextNumberOfLines,
409
+ onlyEmojis: onlyEmojis,
410
+ __self: _this,
411
+ __source: {
412
+ fileName: _jsxFileName,
413
+ lineNumber: 449,
414
+ columnNumber: 27
415
+ }
416
+ });
417
+ }
418
+ }))), messageActions && _react["default"].createElement(MessageActionList, (0, _extends2["default"])({
419
+ MessageActionListItem: MessageActionListItem,
420
+ showScreen: showScreen
421
+ }, messageActionProps, {
422
+ message: message,
423
+ __self: _this,
424
+ __source: {
425
+ fileName: _jsxFileName,
426
+ lineNumber: 463,
427
+ columnNumber: 15
428
+ }
429
+ })), !!messageReactionTitle && message.latest_reactions && message.latest_reactions.length > 0 ? _react["default"].createElement(OverlayReactions, {
430
+ alignment: alignment,
431
+ OverlayReactionsAvatar: OverlayReactionsAvatar,
432
+ reactions: message.latest_reactions.map(function (reaction) {
433
+ var _reaction$user, _reaction$user2, _reaction$user3, _reaction$user4;
434
+ return {
435
+ alignment: clientId && clientId === ((_reaction$user = reaction.user) == null ? void 0 : _reaction$user.id) ? 'right' : 'left',
436
+ id: (reaction == null ? void 0 : (_reaction$user2 = reaction.user) == null ? void 0 : _reaction$user2.id) || '',
437
+ image: reaction == null ? void 0 : (_reaction$user3 = reaction.user) == null ? void 0 : _reaction$user3.image,
438
+ name: (reaction == null ? void 0 : (_reaction$user4 = reaction.user) == null ? void 0 : _reaction$user4.name) || reaction.user_id || '',
439
+ type: reaction.type
440
+ };
441
+ }),
442
+ showScreen: showScreen,
443
+ supportedReactions: messagesContext == null ? void 0 : messagesContext.supportedReactions,
444
+ title: messageReactionTitle,
445
+ __self: _this,
446
+ __source: {
447
+ fileName: _jsxFileName,
448
+ lineNumber: 473,
449
+ columnNumber: 15
450
+ }
451
+ }) : null)));
452
+ };
453
+ var isScrollEnabled = !!messageActions && overlay === 'message';
236
454
  return _react["default"].createElement(_ChatContext.ChatProvider, {
237
455
  value: chatContext,
238
456
  __self: _this,
239
457
  __source: {
240
458
  fileName: _jsxFileName,
241
- lineNumber: 306,
459
+ lineNumber: 502,
242
460
  columnNumber: 5
243
461
  }
244
462
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -246,7 +464,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
246
464
  __self: _this,
247
465
  __source: {
248
466
  fileName: _jsxFileName,
249
- lineNumber: 307,
467
+ lineNumber: 503,
250
468
  columnNumber: 7
251
469
  }
252
470
  }, _react["default"].createElement(_MessageContext.MessageProvider, {
@@ -254,7 +472,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
254
472
  __self: _this,
255
473
  __source: {
256
474
  fileName: _jsxFileName,
257
- lineNumber: 308,
475
+ lineNumber: 504,
258
476
  columnNumber: 9
259
477
  }
260
478
  }, _react["default"].createElement(_ThemeContext.ThemeProvider, {
@@ -262,7 +480,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
262
480
  __self: _this,
263
481
  __source: {
264
482
  fileName: _jsxFileName,
265
- lineNumber: 309,
483
+ lineNumber: 505,
266
484
  columnNumber: 11
267
485
  }
268
486
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -271,7 +489,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
271
489
  __self: _this,
272
490
  __source: {
273
491
  fileName: _jsxFileName,
274
- lineNumber: 310,
492
+ lineNumber: 506,
275
493
  columnNumber: 13
276
494
  }
277
495
  }, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
@@ -282,7 +500,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
282
500
  __self: _this,
283
501
  __source: {
284
502
  fileName: _jsxFileName,
285
- lineNumber: 314,
503
+ lineNumber: 510,
286
504
  columnNumber: 15
287
505
  }
288
506
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -290,7 +508,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
290
508
  __self: _this,
291
509
  __source: {
292
510
  fileName: _jsxFileName,
293
- lineNumber: 320,
511
+ lineNumber: 516,
294
512
  columnNumber: 17
295
513
  }
296
514
  }, _react["default"].createElement(_reactNative.SafeAreaView, {
@@ -298,218 +516,23 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
298
516
  __self: _this,
299
517
  __source: {
300
518
  fileName: _jsxFileName,
301
- lineNumber: 321,
519
+ lineNumber: 517,
302
520
  columnNumber: 19
303
521
  }
304
- }, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
305
- maxDist: 32,
306
- onHandlerStateChange: function onHandlerStateChange(_ref3) {
307
- var state = _ref3.nativeEvent.state;
308
- if (state === _reactNativeGestureHandler.State.END) {
309
- setOverlay('none');
310
- }
311
- },
312
- __self: _this,
313
- __source: {
314
- fileName: _jsxFileName,
315
- lineNumber: 322,
316
- columnNumber: 21
317
- }
318
- }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
319
- style: [styles.flex, panStyle],
522
+ }, isScrollEnabled ? _react["default"].createElement(_reactNativeGestureHandler.ScrollView, {
523
+ alwaysBounceVertical: false,
524
+ contentContainerStyle: [styles.center, {
525
+ paddingTop: reactionListHeight
526
+ }],
527
+ showsVerticalScrollIndicator: false,
528
+ style: [styles.flex, styles.scrollView],
320
529
  __self: _this,
321
530
  __source: {
322
531
  fileName: _jsxFileName,
323
- lineNumber: 330,
532
+ lineNumber: 519,
324
533
  columnNumber: 23
325
534
  }
326
- }, message && _react["default"].createElement(_reactNative.View, {
327
- style: [styles.center, styles.overlayPadding, {
328
- padding: overlayPadding
329
- }, alignment === 'left' ? styles.alignStart : styles.alignEnd],
330
- __self: _this,
331
- __source: {
332
- fileName: _jsxFileName,
333
- lineNumber: 332,
334
- columnNumber: 27
335
- }
336
- }, handleReaction && ownCapabilities != null && ownCapabilities.sendReaction ? _react["default"].createElement(OverlayReactionList, {
337
- messageLayout: messageLayout,
338
- ownReactionTypes: (message == null ? void 0 : (_message$own_reaction = message.own_reactions) == null ? void 0 : _message$own_reaction.map(function (reaction) {
339
- return reaction.type;
340
- })) || [],
341
- showScreen: showScreen,
342
- __self: _this,
343
- __source: {
344
- fileName: _jsxFileName,
345
- lineNumber: 341,
346
- columnNumber: 31
347
- }
348
- }) : null, _react["default"].createElement(_reactNativeReanimated["default"].View, {
349
- onLayout: function onLayout(_ref4) {
350
- var _ref4$nativeEvent$lay = _ref4.nativeEvent.layout,
351
- layoutHeight = _ref4$nativeEvent$lay.height,
352
- layoutWidth = _ref4$nativeEvent$lay.width,
353
- x = _ref4$nativeEvent$lay.x,
354
- y = _ref4$nativeEvent$lay.y;
355
- messageLayout.value = {
356
- x: alignment === 'left' ? x + layoutWidth : x,
357
- y: y
358
- };
359
- messageWidth.value = layoutWidth;
360
- messageHeight.value = layoutHeight;
361
- },
362
- style: [styles.alignEnd, styles.row, showScreenStyle],
363
- __self: _this,
364
- __source: {
365
- fileName: _jsxFileName,
366
- lineNumber: 349,
367
- columnNumber: 29
368
- }
369
- }, alignment === 'left' && MessageAvatar && _react["default"].createElement(MessageAvatar, {
370
- alignment: alignment,
371
- message: message,
372
- showAvatar: true,
373
- __self: _this,
374
- __source: {
375
- fileName: _jsxFileName,
376
- lineNumber: 365,
377
- columnNumber: 33
378
- }
379
- }), _react["default"].createElement(_reactNative.View, {
380
- pointerEvents: "none",
381
- style: [styles.containerInner, {
382
- backgroundColor: onlyEmojis && !message.quoted_message ? transparent : otherAttachments != null && otherAttachments.length ? otherAttachments[0].type === 'giphy' ? !message.quoted_message ? transparent : grey_gainsboro : blue_alice : alignment === 'left' ? white_smoke : grey_gainsboro,
383
- borderBottomLeftRadius: (groupStyle === 'left_bottom' || groupStyle === 'left_single') && (!hasThreadReplies || threadList) ? borderRadiusS : borderRadiusL,
384
- borderBottomRightRadius: (groupStyle === 'right_bottom' || groupStyle === 'right_single') && (!hasThreadReplies || threadList) ? borderRadiusS : borderRadiusL,
385
- borderColor: grey_whisper
386
- }, onlyEmojis && !message.quoted_message || otherAttachments != null && otherAttachments.length ? {
387
- borderWidth: 0
388
- } : {}, containerInner],
389
- __self: _this,
390
- __source: {
391
- fileName: _jsxFileName,
392
- lineNumber: 367,
393
- columnNumber: 31
394
- }
395
- }, messagesContext == null ? void 0 : (_messagesContext$mess = messagesContext.messageContentOrder) == null ? void 0 : _messagesContext$mess.map(function (messageContentType, messageContentOrderIndex) {
396
- switch (messageContentType) {
397
- case 'quoted_reply':
398
- return message.quoted_message && Reply && _react["default"].createElement(_reactNative.View, {
399
- key: "quoted_reply_" + messageContentOrderIndex,
400
- style: [styles.replyContainer, replyContainer],
401
- __self: _this,
402
- __source: {
403
- fileName: _jsxFileName,
404
- lineNumber: 412,
405
- columnNumber: 45
406
- }
407
- }, _react["default"].createElement(Reply, {
408
- quotedMessage: message.quoted_message,
409
- styles: {
410
- messageContainer: {
411
- maxWidth: (0, _utils.vw)(60)
412
- }
413
- },
414
- __self: _this,
415
- __source: {
416
- fileName: _jsxFileName,
417
- lineNumber: 416,
418
- columnNumber: 47
419
- }
420
- }));
421
- case 'attachments':
422
- return otherAttachments == null ? void 0 : otherAttachments.map(function (attachment, attachmentIndex) {
423
- return Attachment && _react["default"].createElement(Attachment, {
424
- attachment: attachment,
425
- key: message.id + "-" + attachmentIndex,
426
- __self: _this,
427
- __source: {
428
- fileName: _jsxFileName,
429
- lineNumber: 433,
430
- columnNumber: 47
431
- }
432
- });
433
- });
434
- case 'files':
435
- return FileAttachmentGroup && _react["default"].createElement(FileAttachmentGroup, {
436
- files: files,
437
- key: "file_attachment_group_" + messageContentOrderIndex,
438
- messageId: message.id,
439
- __self: _this,
440
- __source: {
441
- fileName: _jsxFileName,
442
- lineNumber: 442,
443
- columnNumber: 45
444
- }
445
- });
446
- case 'gallery':
447
- return Gallery && _react["default"].createElement(Gallery, {
448
- alignment: alignment,
449
- groupStyles: groupStyles,
450
- hasThreadReplies: !!(message != null && message.reply_count),
451
- images: images,
452
- key: "gallery_" + messageContentOrderIndex,
453
- message: message,
454
- threadList: threadList,
455
- videos: videos,
456
- __self: _this,
457
- __source: {
458
- fileName: _jsxFileName,
459
- lineNumber: 452,
460
- columnNumber: 45
461
- }
462
- });
463
- case 'text':
464
- default:
465
- return otherAttachments != null && otherAttachments.length && otherAttachments[0].actions ? null : _react["default"].createElement(_MessageTextContainer.MessageTextContainer, {
466
- key: "message_text_container_" + messageContentOrderIndex,
467
- message: message,
468
- messageOverlay: true,
469
- messageTextNumberOfLines: messageTextNumberOfLines,
470
- onlyEmojis: onlyEmojis,
471
- __self: _this,
472
- __source: {
473
- fileName: _jsxFileName,
474
- lineNumber: 468,
475
- columnNumber: 43
476
- }
477
- });
478
- }
479
- }))), messageActions && _react["default"].createElement(MessageActionList, (0, _extends2["default"])({
480
- MessageActionListItem: MessageActionListItem,
481
- showScreen: showScreen
482
- }, messageActionProps, {
483
- message: message,
484
- __self: _this,
485
- __source: {
486
- fileName: _jsxFileName,
487
- lineNumber: 482,
488
- columnNumber: 31
489
- }
490
- })), !!messageReactionTitle && message.latest_reactions && message.latest_reactions.length > 0 ? _react["default"].createElement(OverlayReactions, {
491
- alignment: alignment,
492
- OverlayReactionsAvatar: OverlayReactionsAvatar,
493
- reactions: message.latest_reactions.map(function (reaction) {
494
- var _reaction$user, _reaction$user2, _reaction$user3, _reaction$user4;
495
- return {
496
- alignment: clientId && clientId === ((_reaction$user = reaction.user) == null ? void 0 : _reaction$user.id) ? 'right' : 'left',
497
- id: (reaction == null ? void 0 : (_reaction$user2 = reaction.user) == null ? void 0 : _reaction$user2.id) || '',
498
- image: reaction == null ? void 0 : (_reaction$user3 = reaction.user) == null ? void 0 : _reaction$user3.image,
499
- name: (reaction == null ? void 0 : (_reaction$user4 = reaction.user) == null ? void 0 : _reaction$user4.name) || reaction.user_id || '',
500
- type: reaction.type
501
- };
502
- }),
503
- showScreen: showScreen,
504
- supportedReactions: messagesContext == null ? void 0 : messagesContext.supportedReactions,
505
- title: messageReactionTitle,
506
- __self: _this,
507
- __source: {
508
- fileName: _jsxFileName,
509
- lineNumber: 492,
510
- columnNumber: 31
511
- }
512
- }) : null)))))))))));
535
+ }, renderContent()) : renderContent(messageTextNumberOfLines)))))))));
513
536
  };
514
537
  var areEqual = function areEqual(prevProps, nextProps) {
515
538
  var prevAlignment = prevProps.alignment,
@@ -556,7 +579,7 @@ var MessageOverlay = function MessageOverlay(props) {
556
579
  __self: _this,
557
580
  __source: {
558
581
  fileName: _jsxFileName,
559
- lineNumber: 600,
582
+ lineNumber: 621,
560
583
  columnNumber: 5
561
584
  }
562
585
  }));