stream-chat-react-native-core 5.2.0-beta.1 → 5.3.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/lib/commonjs/components/Attachment/Card.js +29 -18
  2. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/Gallery.js +16 -20
  4. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/GalleryImage.js +34 -6
  6. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/Giphy.js +37 -29
  8. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  9. package/lib/commonjs/components/Avatar/Avatar.js +10 -8
  10. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  11. package/lib/commonjs/components/Avatar/GroupAvatar.js +3 -1
  12. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  13. package/lib/commonjs/components/ChannelList/ChannelList.js +4 -4
  14. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  15. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +4 -4
  16. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  17. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +1 -1
  18. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  19. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +6 -7
  20. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  21. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +30 -6
  22. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  23. package/lib/commonjs/components/Chat/Chat.js +8 -5
  24. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  25. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -0
  26. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  27. package/lib/commonjs/components/ImageBackground.js +64 -0
  28. package/lib/commonjs/components/ImageBackground.js.map +1 -0
  29. package/lib/commonjs/components/Message/Message.js +15 -16
  30. package/lib/commonjs/components/Message/Message.js.map +1 -1
  31. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +12 -4
  32. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  33. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +26 -5
  34. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  35. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +58 -47
  36. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  37. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +19 -19
  38. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  39. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  40. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  41. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  42. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  43. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  44. package/lib/commonjs/version.json +1 -1
  45. package/lib/module/components/Attachment/Card.js +29 -18
  46. package/lib/module/components/Attachment/Card.js.map +1 -1
  47. package/lib/module/components/Attachment/Gallery.js +16 -20
  48. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  49. package/lib/module/components/Attachment/GalleryImage.js +34 -6
  50. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  51. package/lib/module/components/Attachment/Giphy.js +37 -29
  52. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  53. package/lib/module/components/Avatar/Avatar.js +10 -8
  54. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  55. package/lib/module/components/Avatar/GroupAvatar.js +3 -1
  56. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  57. package/lib/module/components/ChannelList/ChannelList.js +4 -4
  58. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  59. package/lib/module/components/ChannelList/ChannelListMessenger.js +4 -4
  60. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  61. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +1 -1
  62. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  63. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +6 -7
  64. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  65. package/lib/module/components/ChannelPreview/ChannelAvatar.js +30 -6
  66. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  67. package/lib/module/components/Chat/Chat.js +8 -5
  68. package/lib/module/components/Chat/Chat.js.map +1 -1
  69. package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -0
  70. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  71. package/lib/module/components/ImageBackground.js +64 -0
  72. package/lib/module/components/ImageBackground.js.map +1 -0
  73. package/lib/module/components/Message/Message.js +15 -16
  74. package/lib/module/components/Message/Message.js.map +1 -1
  75. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +12 -4
  76. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  77. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +26 -5
  78. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  79. package/lib/module/components/MessageOverlay/MessageOverlay.js +58 -47
  80. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  81. package/lib/module/components/MessageOverlay/OverlayReactions.js +19 -19
  82. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  83. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  84. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  85. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  86. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  87. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  88. package/lib/module/version.json +1 -1
  89. package/lib/typescript/components/Attachment/Card.d.ts +3 -2
  90. package/lib/typescript/components/Attachment/GalleryImage.d.ts +8 -2
  91. package/lib/typescript/components/Attachment/Giphy.d.ts +2 -1
  92. package/lib/typescript/components/Avatar/Avatar.d.ts +2 -1
  93. package/lib/typescript/components/Avatar/GroupAvatar.d.ts +2 -1
  94. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +1 -1
  95. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +2 -0
  96. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  97. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  98. package/lib/typescript/components/ImageBackground.d.ts +33 -0
  99. package/lib/typescript/components/Message/Message.d.ts +2 -1
  100. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +2 -1
  101. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +2 -0
  102. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +1 -0
  103. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -1
  104. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -1
  105. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +4 -0
  106. package/package.json +1 -1
  107. package/src/__tests__/offline-feature.test.js +3 -1
  108. package/src/components/Attachment/Card.tsx +11 -2
  109. package/src/components/Attachment/Gallery.tsx +1 -7
  110. package/src/components/Attachment/GalleryImage.tsx +31 -9
  111. package/src/components/Attachment/Giphy.tsx +8 -2
  112. package/src/components/Avatar/Avatar.tsx +12 -2
  113. package/src/components/Avatar/GroupAvatar.tsx +4 -4
  114. package/src/components/ChannelList/ChannelList.tsx +3 -2
  115. package/src/components/ChannelList/ChannelListMessenger.tsx +3 -3
  116. package/src/components/ChannelList/__tests__/ChannelList.test.js +1 -1
  117. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +2 -1
  118. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +1 -1
  119. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +12 -11
  120. package/src/components/ChannelPreview/ChannelAvatar.tsx +23 -4
  121. package/src/components/Chat/Chat.tsx +98 -95
  122. package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
  123. package/src/components/ImageBackground.tsx +77 -0
  124. package/src/components/Message/Message.tsx +8 -8
  125. package/src/components/Message/MessageSimple/MessageAvatar.tsx +6 -2
  126. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +15 -3
  127. package/src/components/MessageOverlay/MessageOverlay.tsx +210 -205
  128. package/src/components/MessageOverlay/OverlayReactions.tsx +1 -0
  129. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -1
  130. package/src/contexts/chatContext/ChatContext.tsx +3 -1
  131. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +8 -1
  132. package/src/version.json +1 -1
@@ -11,6 +11,8 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _reactNative = require("react-native");
13
13
 
14
+ var _ChatContext = require("../../../contexts/chatContext/ChatContext");
15
+
14
16
  var _MessageContext = require("../../../contexts/messageContext/MessageContext");
15
17
 
16
18
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
@@ -24,6 +26,7 @@ var MessageAvatarWithContext = function MessageAvatarWithContext(props) {
24
26
  var _message$user, _message$user2, _message$user3;
25
27
 
26
28
  var alignment = props.alignment,
29
+ ImageComponent = props.ImageComponent,
27
30
  lastGroupMessage = props.lastGroupMessage,
28
31
  message = props.message,
29
32
  showAvatar = props.showAvatar,
@@ -45,17 +48,18 @@ var MessageAvatarWithContext = function MessageAvatarWithContext(props) {
45
48
  __self: _this,
46
49
  __source: {
47
50
  fileName: _jsxFileName,
48
- lineNumber: 39,
51
+ lineNumber: 41,
49
52
  columnNumber: 5
50
53
  }
51
54
  }, visible ? _react["default"].createElement(_Avatar.Avatar, {
52
55
  image: (_message$user = message.user) == null ? void 0 : _message$user.image,
56
+ ImageComponent: ImageComponent,
53
57
  name: ((_message$user2 = message.user) == null ? void 0 : _message$user2.name) || ((_message$user3 = message.user) == null ? void 0 : _message$user3.id),
54
58
  size: size || BASE_AVATAR_SIZE,
55
59
  __self: _this,
56
60
  __source: {
57
61
  fileName: _jsxFileName,
58
- lineNumber: 44,
62
+ lineNumber: 46,
59
63
  columnNumber: 9
60
64
  }
61
65
  }) : _react["default"].createElement(_reactNative.View, {
@@ -64,7 +68,7 @@ var MessageAvatarWithContext = function MessageAvatarWithContext(props) {
64
68
  __self: _this,
65
69
  __source: {
66
70
  fileName: _jsxFileName,
67
- lineNumber: 50,
71
+ lineNumber: 53,
68
72
  columnNumber: 9
69
73
  }
70
74
  }));
@@ -93,8 +97,12 @@ var MessageAvatar = function MessageAvatar(props) {
93
97
  message = _useMessageContext.message,
94
98
  showAvatar = _useMessageContext.showAvatar;
95
99
 
100
+ var _useChatContext = (0, _ChatContext.useChatContext)(),
101
+ ImageComponent = _useChatContext.ImageComponent;
102
+
96
103
  return _react["default"].createElement(MemoizedMessageAvatar, (0, _extends2["default"])({
97
104
  alignment: alignment,
105
+ ImageComponent: ImageComponent,
98
106
  lastGroupMessage: lastGroupMessage,
99
107
  message: message,
100
108
  showAvatar: showAvatar
@@ -102,7 +110,7 @@ var MessageAvatar = function MessageAvatar(props) {
102
110
  __self: _this,
103
111
  __source: {
104
112
  fileName: _jsxFileName,
105
- lineNumber: 93,
113
+ lineNumber: 96,
106
114
  columnNumber: 5
107
115
  }
108
116
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageAvatar.tsx"],"names":["MessageAvatarWithContext","props","alignment","lastGroupMessage","message","showAvatar","size","theme","BASE_AVATAR_SIZE","avatar","messageSimple","avatarWrapper","container","leftAlign","rightAlign","spacer","visible","user","image","name","id","areEqual","prevProps","nextProps","prevLastGroupMessage","prevMessage","nextLastGroupMessage","nextMessage","lastGroupMessageEqual","userEqual","MemoizedMessageAvatar","React","memo","MessageAvatar","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAIA;;AAGA;;;;;AAUA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAG/BC,KAH+B,EAI5B;AAAA;;AACH,MAAQC,SAAR,GAAmED,KAAnE,CAAQC,SAAR;AAAA,MAAmBC,gBAAnB,GAAmEF,KAAnE,CAAmBE,gBAAnB;AAAA,MAAqCC,OAArC,GAAmEH,KAAnE,CAAqCG,OAArC;AAAA,MAA8CC,UAA9C,GAAmEJ,KAAnE,CAA8CI,UAA9C;AAAA,MAA0DC,IAA1D,GAAmEL,KAAnE,CAA0DK,IAA1D;;AACA,kBAOI,6BAPJ;AAAA,kCACEC,KADF;AAAA,MAEcC,gBAFd,mBAEIC,MAFJ,CAEcD,gBAFd;AAAA,8CAGIE,aAHJ,CAIMC,aAJN;AAAA,MAIuBC,SAJvB,yBAIuBA,SAJvB;AAAA,MAIkCC,SAJlC,yBAIkCA,SAJlC;AAAA,MAI6CC,UAJ7C,yBAI6CA,UAJ7C;AAAA,MAIyDC,MAJzD,yBAIyDA,MAJzD;;AASA,MAAMC,OAAO,GAAG,OAAOX,UAAP,KAAsB,SAAtB,GAAkCA,UAAlC,GAA+CF,gBAA/D;AAEA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAACD,SAAS,KAAK,MAAd,GAAuBW,SAAvB,GAAmCC,UAApC,EAAgDF,SAAhD,CADT;AAEE,IAAA,MAAM,EAAC,gBAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAIGI,OAAO,GACN,gCAAC,cAAD;AACE,IAAA,KAAK,mBAAEZ,OAAO,CAACa,IAAV,qBAAE,cAAcC,KADvB;AAEE,IAAA,IAAI,EAAE,mBAAAd,OAAO,CAACa,IAAR,oCAAcE,IAAd,wBAAsBf,OAAO,CAACa,IAA9B,qBAAsB,eAAcG,EAApC,CAFR;AAGE,IAAA,IAAI,EAAEd,IAAI,IAAIE,gBAHhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADM,GAON,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAEO,MAAb;AAAqB,IAAA,MAAM,EAAC,QAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAXJ,CADF;AAgBD,CAjCD;;AAmCA,IAAMM,QAAQ,GAAG,SAAXA,QAAW,CACfC,SADe,EAEfC,SAFe,EAGZ;AAAA;;AACH,MAA0BC,oBAA1B,GAAyEF,SAAzE,CAAQnB,gBAAR;AAAA,MAAyDsB,WAAzD,GAAyEH,SAAzE,CAAgDlB,OAAhD;AACA,MAA0BsB,oBAA1B,GAAyEH,SAAzE,CAAQpB,gBAAR;AAAA,MAAyDwB,WAAzD,GAAyEJ,SAAzE,CAAgDnB,OAAhD;AAEA,MAAMwB,qBAAqB,GAAGJ,oBAAoB,KAAKE,oBAAvD;AACA,MAAI,CAACE,qBAAL,EAA4B,OAAO,KAAP;AAE5B,MAAMC,SAAS,GACb,sBAAAJ,WAAW,CAACR,IAAZ,uCAAkBC,KAAlB,4BAA4BS,WAAW,CAACV,IAAxC,qBAA4B,kBAAkBC,KAA9C,KACA,uBAAAO,WAAW,CAACR,IAAZ,wCAAkBE,IAAlB,6BAA2BQ,WAAW,CAACV,IAAvC,qBAA2B,mBAAkBE,IAA7C,CADA,IAEA,uBAAAM,WAAW,CAACR,IAAZ,wCAAkBG,EAAlB,6BAAyBO,WAAW,CAACV,IAArC,qBAAyB,mBAAkBG,EAA3C,CAHF;AAIA,MAAI,CAACS,SAAL,EAAgB,OAAO,KAAP;AAEhB,SAAO,IAAP;AACD,CAjBD;;AAmBA,IAAMC,qBAAqB,GAAGC,kBAAMC,IAAN,CAC5BhC,wBAD4B,EAE5BqB,QAF4B,CAA9B;;AASO,IAAMY,aAAa,GAAG,SAAhBA,aAAgB,CAG3BhC,KAH2B,EAIxB;AACH,2BACE,wCADF;AAAA,MAAQC,SAAR,sBAAQA,SAAR;AAAA,MAAmBC,gBAAnB,sBAAmBA,gBAAnB;AAAA,MAAqCC,OAArC,sBAAqCA,OAArC;AAAA,MAA8CC,UAA9C,sBAA8CA,UAA9C;;AAGA,SACE,gCAAC,qBAAD;AAEIH,IAAAA,SAAS,EAATA,SAFJ;AAGIC,IAAAA,gBAAgB,EAAhBA,gBAHJ;AAIIC,IAAAA,OAAO,EAAPA,OAJJ;AAKIC,IAAAA,UAAU,EAAVA;AALJ,KAOMJ,KAPN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAWD,CAnBM;;;AAqBPgC,aAAa,CAACC,WAAd,GAA4B,6CAA5B","sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar, AvatarProps } from '../../Avatar/Avatar';\n\nexport type MessageAvatarPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'lastGroupMessage' | 'message' | 'showAvatar'\n> &\n Partial<Pick<AvatarProps, 'size'>>;\n\nconst MessageAvatarWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment, lastGroupMessage, message, showAvatar, size } = props;\n const {\n theme: {\n avatar: { BASE_AVATAR_SIZE },\n messageSimple: {\n avatarWrapper: { container, leftAlign, rightAlign, spacer },\n },\n },\n } = useTheme();\n\n const visible = typeof showAvatar === 'boolean' ? showAvatar : lastGroupMessage;\n\n return (\n <View\n style={[alignment === 'left' ? leftAlign : rightAlign, container]}\n testID='message-avatar'\n >\n {visible ? (\n <Avatar\n image={message.user?.image}\n name={message.user?.name || message.user?.id}\n size={size || BASE_AVATAR_SIZE}\n />\n ) : (\n <View style={spacer} testID='spacer' />\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n nextProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { lastGroupMessage: prevLastGroupMessage, message: prevMessage } = prevProps;\n const { lastGroupMessage: nextLastGroupMessage, message: nextMessage } = nextProps;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const userEqual =\n prevMessage.user?.image === nextMessage.user?.image &&\n prevMessage.user?.name === nextMessage.user?.name &&\n prevMessage.user?.id === nextMessage.user?.id;\n if (!userEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageAvatar = React.memo(\n MessageAvatarWithContext,\n areEqual,\n) as typeof MessageAvatarWithContext;\n\nexport type MessageAvatarProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageAvatarPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageAvatar = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarProps<StreamChatGenerics>,\n) => {\n const { alignment, lastGroupMessage, message, showAvatar } =\n useMessageContext<StreamChatGenerics>();\n\n return (\n <MemoizedMessageAvatar\n {...{\n alignment,\n lastGroupMessage,\n message,\n showAvatar,\n }}\n {...props}\n />\n );\n};\n\nMessageAvatar.displayName = 'MessageAvatar{messageSimple{avatarWrapper}}';\n"]}
1
+ {"version":3,"sources":["MessageAvatar.tsx"],"names":["MessageAvatarWithContext","props","alignment","ImageComponent","lastGroupMessage","message","showAvatar","size","theme","BASE_AVATAR_SIZE","avatar","messageSimple","avatarWrapper","container","leftAlign","rightAlign","spacer","visible","user","image","name","id","areEqual","prevProps","nextProps","prevLastGroupMessage","prevMessage","nextLastGroupMessage","nextMessage","lastGroupMessageEqual","userEqual","MemoizedMessageAvatar","React","memo","MessageAvatar","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAIA;;AAGA;;;;;AAWA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAG/BC,KAH+B,EAI5B;AAAA;;AACH,MAAQC,SAAR,GAAmFD,KAAnF,CAAQC,SAAR;AAAA,MAAmBC,cAAnB,GAAmFF,KAAnF,CAAmBE,cAAnB;AAAA,MAAmCC,gBAAnC,GAAmFH,KAAnF,CAAmCG,gBAAnC;AAAA,MAAqDC,OAArD,GAAmFJ,KAAnF,CAAqDI,OAArD;AAAA,MAA8DC,UAA9D,GAAmFL,KAAnF,CAA8DK,UAA9D;AAAA,MAA0EC,IAA1E,GAAmFN,KAAnF,CAA0EM,IAA1E;;AACA,kBAOI,6BAPJ;AAAA,kCACEC,KADF;AAAA,MAEcC,gBAFd,mBAEIC,MAFJ,CAEcD,gBAFd;AAAA,8CAGIE,aAHJ,CAIMC,aAJN;AAAA,MAIuBC,SAJvB,yBAIuBA,SAJvB;AAAA,MAIkCC,SAJlC,yBAIkCA,SAJlC;AAAA,MAI6CC,UAJ7C,yBAI6CA,UAJ7C;AAAA,MAIyDC,MAJzD,yBAIyDA,MAJzD;;AASA,MAAMC,OAAO,GAAG,OAAOX,UAAP,KAAsB,SAAtB,GAAkCA,UAAlC,GAA+CF,gBAA/D;AAEA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAACF,SAAS,KAAK,MAAd,GAAuBY,SAAvB,GAAmCC,UAApC,EAAgDF,SAAhD,CADT;AAEE,IAAA,MAAM,EAAC,gBAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAIGI,OAAO,GACN,gCAAC,cAAD;AACE,IAAA,KAAK,mBAAEZ,OAAO,CAACa,IAAV,qBAAE,cAAcC,KADvB;AAEE,IAAA,cAAc,EAAEhB,cAFlB;AAGE,IAAA,IAAI,EAAE,mBAAAE,OAAO,CAACa,IAAR,oCAAcE,IAAd,wBAAsBf,OAAO,CAACa,IAA9B,qBAAsB,eAAcG,EAApC,CAHR;AAIE,IAAA,IAAI,EAAEd,IAAI,IAAIE,gBAJhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADM,GAQN,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAEO,MAAb;AAAqB,IAAA,MAAM,EAAC,QAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAZJ,CADF;AAiBD,CAlCD;;AAoCA,IAAMM,QAAQ,GAAG,SAAXA,QAAW,CACfC,SADe,EAEfC,SAFe,EAGZ;AAAA;;AACH,MAA0BC,oBAA1B,GAAyEF,SAAzE,CAAQnB,gBAAR;AAAA,MAAyDsB,WAAzD,GAAyEH,SAAzE,CAAgDlB,OAAhD;AACA,MAA0BsB,oBAA1B,GAAyEH,SAAzE,CAAQpB,gBAAR;AAAA,MAAyDwB,WAAzD,GAAyEJ,SAAzE,CAAgDnB,OAAhD;AAEA,MAAMwB,qBAAqB,GAAGJ,oBAAoB,KAAKE,oBAAvD;AACA,MAAI,CAACE,qBAAL,EAA4B,OAAO,KAAP;AAE5B,MAAMC,SAAS,GACb,sBAAAJ,WAAW,CAACR,IAAZ,uCAAkBC,KAAlB,4BAA4BS,WAAW,CAACV,IAAxC,qBAA4B,kBAAkBC,KAA9C,KACA,uBAAAO,WAAW,CAACR,IAAZ,wCAAkBE,IAAlB,6BAA2BQ,WAAW,CAACV,IAAvC,qBAA2B,mBAAkBE,IAA7C,CADA,IAEA,uBAAAM,WAAW,CAACR,IAAZ,wCAAkBG,EAAlB,6BAAyBO,WAAW,CAACV,IAArC,qBAAyB,mBAAkBG,EAA3C,CAHF;AAIA,MAAI,CAACS,SAAL,EAAgB,OAAO,KAAP;AAEhB,SAAO,IAAP;AACD,CAjBD;;AAmBA,IAAMC,qBAAqB,GAAGC,kBAAMC,IAAN,CAC5BjC,wBAD4B,EAE5BsB,QAF4B,CAA9B;;AASO,IAAMY,aAAa,GAAG,SAAhBA,aAAgB,CAG3BjC,KAH2B,EAIxB;AACH,2BACE,wCADF;AAAA,MAAQC,SAAR,sBAAQA,SAAR;AAAA,MAAmBE,gBAAnB,sBAAmBA,gBAAnB;AAAA,MAAqCC,OAArC,sBAAqCA,OAArC;AAAA,MAA8CC,UAA9C,sBAA8CA,UAA9C;;AAEA,wBAA2B,kCAA3B;AAAA,MAAQH,cAAR,mBAAQA,cAAR;;AACA,SACE,gCAAC,qBAAD;AAEID,IAAAA,SAAS,EAATA,SAFJ;AAGIC,IAAAA,cAAc,EAAdA,cAHJ;AAIIC,IAAAA,gBAAgB,EAAhBA,gBAJJ;AAKIC,IAAAA,OAAO,EAAPA,OALJ;AAMIC,IAAAA,UAAU,EAAVA;AANJ,KAQML,KARN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAYD,CApBM;;;AAsBPiC,aAAa,CAACC,WAAd,GAA4B,6CAA5B","sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar, AvatarProps } from '../../Avatar/Avatar';\n\nexport type MessageAvatarPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'lastGroupMessage' | 'message' | 'showAvatar'\n> &\n Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'> &\n Partial<Pick<AvatarProps, 'size'>>;\n\nconst MessageAvatarWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment, ImageComponent, lastGroupMessage, message, showAvatar, size } = props;\n const {\n theme: {\n avatar: { BASE_AVATAR_SIZE },\n messageSimple: {\n avatarWrapper: { container, leftAlign, rightAlign, spacer },\n },\n },\n } = useTheme();\n\n const visible = typeof showAvatar === 'boolean' ? showAvatar : lastGroupMessage;\n\n return (\n <View\n style={[alignment === 'left' ? leftAlign : rightAlign, container]}\n testID='message-avatar'\n >\n {visible ? (\n <Avatar\n image={message.user?.image}\n ImageComponent={ImageComponent}\n name={message.user?.name || message.user?.id}\n size={size || BASE_AVATAR_SIZE}\n />\n ) : (\n <View style={spacer} testID='spacer' />\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n nextProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { lastGroupMessage: prevLastGroupMessage, message: prevMessage } = prevProps;\n const { lastGroupMessage: nextLastGroupMessage, message: nextMessage } = nextProps;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const userEqual =\n prevMessage.user?.image === nextMessage.user?.image &&\n prevMessage.user?.name === nextMessage.user?.name &&\n prevMessage.user?.id === nextMessage.user?.id;\n if (!userEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageAvatar = React.memo(\n MessageAvatarWithContext,\n areEqual,\n) as typeof MessageAvatarWithContext;\n\nexport type MessageAvatarProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageAvatarPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageAvatar = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarProps<StreamChatGenerics>,\n) => {\n const { alignment, lastGroupMessage, message, showAvatar } =\n useMessageContext<StreamChatGenerics>();\n const { ImageComponent } = useChatContext<StreamChatGenerics>();\n return (\n <MemoizedMessageAvatar\n {...{\n alignment,\n ImageComponent,\n lastGroupMessage,\n message,\n showAvatar,\n }}\n {...props}\n />\n );\n};\n\nMessageAvatar.displayName = 'MessageAvatar{messageSimple{avatarWrapper}}';\n"]}
@@ -3,7 +3,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MessageRepliesAvatars = void 0;
6
+ exports.MessageRepliesAvatarsWithContext = exports.MessageRepliesAvatars = void 0;
7
7
 
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
@@ -11,6 +11,8 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _reactNative = require("react-native");
13
13
 
14
+ var _ChatContext = require("../../../contexts/chatContext/ChatContext");
15
+
14
16
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
15
17
 
16
18
  var _Avatar = require("../../Avatar/Avatar");
@@ -30,10 +32,11 @@ var styles = _reactNative.StyleSheet.create({
30
32
  }
31
33
  });
32
34
 
33
- var MessageRepliesAvatars = function MessageRepliesAvatars(props) {
35
+ var MessageRepliesAvatarsWithContext = function MessageRepliesAvatarsWithContext(props) {
34
36
  var _message$thread_parti;
35
37
 
36
38
  var alignment = props.alignment,
39
+ ImageComponent = props.ImageComponent,
37
40
  message = props.message;
38
41
 
39
42
  var _useTheme = (0, _ThemeContext.useTheme)(),
@@ -56,7 +59,7 @@ var MessageRepliesAvatars = function MessageRepliesAvatars(props) {
56
59
  __self: _this,
57
60
  __source: {
58
61
  fileName: _jsxFileName,
59
- lineNumber: 53,
62
+ lineNumber: 54,
60
63
  columnNumber: 5
61
64
  }
62
65
  }, avatars.map(function (user, i) {
@@ -68,7 +71,7 @@ var MessageRepliesAvatars = function MessageRepliesAvatars(props) {
68
71
  __self: _this,
69
72
  __source: {
70
73
  fileName: _jsxFileName,
71
- lineNumber: 60,
74
+ lineNumber: 61,
72
75
  columnNumber: 9
73
76
  }
74
77
  }, _react["default"].createElement(_Avatar.Avatar, {
@@ -77,17 +80,35 @@ var MessageRepliesAvatars = function MessageRepliesAvatars(props) {
77
80
  borderWidth: 1
78
81
  }, avatar],
79
82
  image: user.image,
83
+ ImageComponent: ImageComponent,
80
84
  name: user.name,
81
85
  size: avatarSize ? avatarSize : i === 1 ? 18 : 16,
82
86
  __self: _this,
83
87
  __source: {
84
88
  fileName: _jsxFileName,
85
- lineNumber: 71,
89
+ lineNumber: 72,
86
90
  columnNumber: 11
87
91
  }
88
92
  }));
89
93
  }));
90
94
  };
91
95
 
96
+ exports.MessageRepliesAvatarsWithContext = MessageRepliesAvatarsWithContext;
97
+
98
+ var MessageRepliesAvatars = function MessageRepliesAvatars(props) {
99
+ var _useChatContext = (0, _ChatContext.useChatContext)(),
100
+ ImageComponent = _useChatContext.ImageComponent;
101
+
102
+ return _react["default"].createElement(MessageRepliesAvatarsWithContext, (0, _extends2["default"])({}, props, {
103
+ ImageComponent: ImageComponent,
104
+ __self: _this,
105
+ __source: {
106
+ fileName: _jsxFileName,
107
+ lineNumber: 98,
108
+ columnNumber: 10
109
+ }
110
+ }));
111
+ };
112
+
92
113
  exports.MessageRepliesAvatars = MessageRepliesAvatars;
93
114
  //# sourceMappingURL=MessageRepliesAvatars.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageRepliesAvatars.tsx"],"names":["styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatars","props","alignment","message","theme","white_snow","colors","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","marginLeft","map","user","i","id","paddingLeft","borderColor","borderWidth","image","name"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AAGA;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,eAAe,EAAE;AACfC,IAAAA,UAAU,EAAE,QADG;AAEfC,IAAAA,aAAa,EAAE,KAFA;AAGfC,IAAAA,UAAU,EAAE;AAHG,GADc;AAM/BC,EAAAA,SAAS,EAAE;AACTD,IAAAA,UAAU,EAAE,CADH;AAETE,IAAAA,QAAQ,EAAE;AAFD;AANoB,CAAlB,CAAf;;AAgBO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAGnCC,KAHmC,EAIhC;AAAA;;AACH,MAAQC,SAAR,GAA+BD,KAA/B,CAAQC,SAAR;AAAA,MAAmBC,OAAnB,GAA+BF,KAA/B,CAAmBE,OAAnB;;AAEA,kBAcI,6BAdJ;AAAA,kCACEC,KADF;AAAA,MAEcC,UAFd,mBAEIC,MAFJ,CAEcD,UAFd;AAAA,8CAGIE,aAHJ,CAIMC,OAJN;AAAA,MAKQC,MALR,yBAKQA,MALR;AAAA,MAMQC,uBANR,yBAMQA,uBANR;AAAA,MAOQC,qBAPR,yBAOQA,qBAPR;AAAA,MAQQC,UARR,yBAQQA,UARR;AAAA,MASQC,oBATR,yBASQA,oBATR;AAAA,MAUQC,qBAVR,yBAUQA,qBAVR;;AAgBA,MAAMC,OAAO,GAAG,0BAAAZ,OAAO,CAACa,mBAAR,2CAA6BC,KAA7B,CAAmC,CAAC,CAApC,MAA0C,EAA1D;AACA,MAAMC,mBAAmB,GAAGH,OAAO,CAACI,MAAR,GAAiB,CAA7C;AAEA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL5B,MAAM,CAACG,eADF,EAELQ,SAAS,KAAK,OAAd;AAA0BkB,MAAAA,UAAU,EAAE;AAAtC,OAA4CN,qBAA5C,IAAsED,oBAFjE,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMGE,OAAO,CAACM,GAAR,CAAY,UAACC,IAAD,EAAOC,CAAP;AAAA,WACX,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAED,IAAI,CAACE,EADZ;AAEE,MAAA,KAAK,EACHD,CAAC,KAAK,CAAN,iCACShC,MAAM,CAACO,SADhB,EAC8Ba,qBAD9B;AAGMc,QAAAA,WAAW,EAAEP,mBAAmB,GAAG,CAAH,GAAO;AAH7C,SAISR,uBAJT,CAHJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAWE,gCAAC,cAAD;AACE,MAAA,cAAc,EAAE,CACda,CAAC,KAAK,CAAN,IAAW;AACTG,QAAAA,WAAW,EAAErB,UADJ;AAETsB,QAAAA,WAAW,EAAE;AAFJ,OADG,EAKdlB,MALc,CADlB;AAQE,MAAA,KAAK,EAAEa,IAAI,CAACM,KARd;AASE,MAAA,IAAI,EAAEN,IAAI,CAACO,IATb;AAUE,MAAA,IAAI,EAAEjB,UAAU,GAAGA,UAAH,GAAgBW,CAAC,KAAK,CAAN,GAAU,EAAV,GAAe,EAVjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAXF,CADW;AAAA,GAAZ,CANH,CADF;AAmCD,CA7DM","sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar } from '../../Avatar/Avatar';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingTop: 2,\n },\n topAvatar: {\n paddingTop: 2,\n position: 'absolute',\n },\n});\n\nexport type MessageRepliesAvatarsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'alignment' | 'message'>;\n\nexport const MessageRepliesAvatars = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics>,\n) => {\n const { alignment, message } = props;\n\n const {\n theme: {\n colors: { white_snow },\n messageSimple: {\n replies: {\n avatar,\n avatarContainerMultiple,\n avatarContainerSingle,\n avatarSize,\n leftAvatarsContainer,\n rightAvatarsContainer,\n },\n },\n },\n } = useTheme();\n\n const avatars = message.thread_participants?.slice(-2) || [];\n const hasMoreThanOneReply = avatars.length > 1;\n\n return (\n <View\n style={[\n styles.avatarContainer,\n alignment === 'right' ? { marginLeft: 8, ...rightAvatarsContainer } : leftAvatarsContainer,\n ]}\n >\n {avatars.map((user, i) => (\n <View\n key={user.id}\n style={\n i === 1\n ? { ...styles.topAvatar, ...avatarContainerSingle }\n : {\n paddingLeft: hasMoreThanOneReply ? 8 : 0,\n ...avatarContainerMultiple,\n }\n }\n >\n <Avatar\n containerStyle={[\n i === 1 && {\n borderColor: white_snow,\n borderWidth: 1,\n },\n avatar,\n ]}\n image={user.image}\n name={user.name}\n size={avatarSize ? avatarSize : i === 1 ? 18 : 16}\n />\n </View>\n ))}\n </View>\n );\n};\n"]}
1
+ {"version":3,"sources":["MessageRepliesAvatars.tsx"],"names":["styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatarsWithContext","props","alignment","ImageComponent","message","theme","white_snow","colors","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","marginLeft","map","user","i","id","paddingLeft","borderColor","borderWidth","image","name","MessageRepliesAvatars"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AAGA;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,eAAe,EAAE;AACfC,IAAAA,UAAU,EAAE,QADG;AAEfC,IAAAA,aAAa,EAAE,KAFA;AAGfC,IAAAA,UAAU,EAAE;AAHG,GADc;AAM/BC,EAAAA,SAAS,EAAE;AACTD,IAAAA,UAAU,EAAE,CADH;AAETE,IAAAA,QAAQ,EAAE;AAFD;AANoB,CAAlB,CAAf;;AAgBO,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,CAG9CC,KAH8C,EAI3C;AAAA;;AACH,MAAQC,SAAR,GAA+CD,KAA/C,CAAQC,SAAR;AAAA,MAAmBC,cAAnB,GAA+CF,KAA/C,CAAmBE,cAAnB;AAAA,MAAmCC,OAAnC,GAA+CH,KAA/C,CAAmCG,OAAnC;;AAEA,kBAcI,6BAdJ;AAAA,kCACEC,KADF;AAAA,MAEcC,UAFd,mBAEIC,MAFJ,CAEcD,UAFd;AAAA,8CAGIE,aAHJ,CAIMC,OAJN;AAAA,MAKQC,MALR,yBAKQA,MALR;AAAA,MAMQC,uBANR,yBAMQA,uBANR;AAAA,MAOQC,qBAPR,yBAOQA,qBAPR;AAAA,MAQQC,UARR,yBAQQA,UARR;AAAA,MASQC,oBATR,yBASQA,oBATR;AAAA,MAUQC,qBAVR,yBAUQA,qBAVR;;AAgBA,MAAMC,OAAO,GAAG,0BAAAZ,OAAO,CAACa,mBAAR,2CAA6BC,KAA7B,CAAmC,CAAC,CAApC,MAA0C,EAA1D;AACA,MAAMC,mBAAmB,GAAGH,OAAO,CAACI,MAAR,GAAiB,CAA7C;AAEA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL7B,MAAM,CAACG,eADF,EAELQ,SAAS,KAAK,OAAd;AAA0BmB,MAAAA,UAAU,EAAE;AAAtC,OAA4CN,qBAA5C,IAAsED,oBAFjE,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMGE,OAAO,CAACM,GAAR,CAAY,UAACC,IAAD,EAAOC,CAAP;AAAA,WACX,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAED,IAAI,CAACE,EADZ;AAEE,MAAA,KAAK,EACHD,CAAC,KAAK,CAAN,iCACSjC,MAAM,CAACO,SADhB,EAC8Bc,qBAD9B;AAGMc,QAAAA,WAAW,EAAEP,mBAAmB,GAAG,CAAH,GAAO;AAH7C,SAISR,uBAJT,CAHJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAWE,gCAAC,cAAD;AACE,MAAA,cAAc,EAAE,CACda,CAAC,KAAK,CAAN,IAAW;AACTG,QAAAA,WAAW,EAAErB,UADJ;AAETsB,QAAAA,WAAW,EAAE;AAFJ,OADG,EAKdlB,MALc,CADlB;AAQE,MAAA,KAAK,EAAEa,IAAI,CAACM,KARd;AASE,MAAA,cAAc,EAAE1B,cATlB;AAUE,MAAA,IAAI,EAAEoB,IAAI,CAACO,IAVb;AAWE,MAAA,IAAI,EAAEjB,UAAU,GAAGA,UAAH,GAAgBW,CAAC,KAAK,CAAN,GAAU,EAAV,GAAe,EAXjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAXF,CADW;AAAA,GAAZ,CANH,CADF;AAoCD,CA9DM;;;;AAgEA,IAAMO,qBAAqB,GAAG,SAAxBA,qBAAwB,CAGnC9B,KAHmC,EAIhC;AACH,wBAA2B,kCAA3B;AAAA,MAAQE,cAAR,mBAAQA,cAAR;;AAEA,SAAO,gCAAC,gCAAD,gCAAsCF,KAAtC;AAA6C,IAAA,cAAc,EAAEE,cAA7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CARM","sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar } from '../../Avatar/Avatar';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingTop: 2,\n },\n topAvatar: {\n paddingTop: 2,\n position: 'absolute',\n },\n});\n\nexport type MessageRepliesAvatarsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'alignment' | 'message'>;\n\nexport const MessageRepliesAvatarsWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics> & Pick<ChatContextValue, 'ImageComponent'>,\n) => {\n const { alignment, ImageComponent, message } = props;\n\n const {\n theme: {\n colors: { white_snow },\n messageSimple: {\n replies: {\n avatar,\n avatarContainerMultiple,\n avatarContainerSingle,\n avatarSize,\n leftAvatarsContainer,\n rightAvatarsContainer,\n },\n },\n },\n } = useTheme();\n\n const avatars = message.thread_participants?.slice(-2) || [];\n const hasMoreThanOneReply = avatars.length > 1;\n\n return (\n <View\n style={[\n styles.avatarContainer,\n alignment === 'right' ? { marginLeft: 8, ...rightAvatarsContainer } : leftAvatarsContainer,\n ]}\n >\n {avatars.map((user, i) => (\n <View\n key={user.id}\n style={\n i === 1\n ? { ...styles.topAvatar, ...avatarContainerSingle }\n : {\n paddingLeft: hasMoreThanOneReply ? 8 : 0,\n ...avatarContainerMultiple,\n }\n }\n >\n <Avatar\n containerStyle={[\n i === 1 && {\n borderColor: white_snow,\n borderWidth: 1,\n },\n avatar,\n ]}\n image={user.image}\n ImageComponent={ImageComponent}\n name={user.name}\n size={avatarSize ? avatarSize : i === 1 ? 18 : 16}\n />\n </View>\n ))}\n </View>\n );\n};\n\nexport const MessageRepliesAvatars = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics>,\n) => {\n const { ImageComponent } = useChatContext();\n\n return <MessageRepliesAvatarsWithContext {...props} ImageComponent={ImageComponent} />;\n};\n"]}
@@ -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(_MessagesContext.MessagesProvider, {
273
- value: messagesContext,
275
+ return _react["default"].createElement(_ChatContext.ChatProvider, {
276
+ value: chatContext,
274
277
  __self: _this,
275
278
  __source: {
276
279
  fileName: _jsxFileName,
277
- lineNumber: 304,
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: 305,
286
- columnNumber: 7
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: 306,
294
- columnNumber: 9
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: 307,
303
- columnNumber: 11
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: 311,
314
- columnNumber: 13
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: 317,
322
- columnNumber: 15
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: 318,
330
- columnNumber: 17
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: 319,
345
- columnNumber: 19
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: 327,
353
- columnNumber: 21
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: 329,
363
- columnNumber: 25
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: 338,
375
- columnNumber: 29
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: 346,
396
- columnNumber: 27
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: 362,
406
- columnNumber: 31
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: 364,
422
- columnNumber: 29
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: 408,
434
- columnNumber: 43
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: 412,
447
- columnNumber: 45
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: 429,
460
- columnNumber: 45
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: 438,
474
- columnNumber: 43
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: 448,
492
- columnNumber: 43
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: 464,
508
- columnNumber: 41
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: 478,
521
- columnNumber: 29
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: 488,
544
- columnNumber: 29
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: 595,
610
+ lineNumber: 600,
600
611
  columnNumber: 5
601
612
  }
602
613
  }));