stream-chat-react-native-core 4.7.0 → 4.7.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.
Files changed (167) hide show
  1. package/lib/commonjs/components/Attachment/Card.js +61 -21
  2. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  3. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  4. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  5. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  6. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  7. package/lib/commonjs/components/Reply/Reply.js +12 -12
  8. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  9. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  10. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  11. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +14 -4
  12. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  13. package/lib/commonjs/contexts/channelContext/ChannelContext.js +14 -4
  14. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  15. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +14 -4
  16. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  17. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +15 -9
  18. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  19. package/lib/commonjs/contexts/chatContext/ChatContext.js +14 -4
  20. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  21. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +14 -4
  22. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  23. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  24. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  25. package/lib/commonjs/contexts/messageContext/MessageContext.js +14 -4
  26. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  27. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +16 -6
  28. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  29. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +14 -4
  30. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  31. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +4 -4
  32. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  33. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +14 -4
  34. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  35. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +13 -3
  36. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  37. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +12 -12
  38. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  39. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +13 -3
  40. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  41. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +14 -4
  42. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  43. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +14 -4
  44. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  45. package/lib/commonjs/contexts/themeContext/ThemeContext.js +13 -7
  46. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  47. package/lib/commonjs/contexts/themeContext/utils/theme.js +9 -0
  48. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  49. package/lib/commonjs/contexts/threadContext/ThreadContext.js +14 -4
  50. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  51. package/lib/commonjs/contexts/translationContext/TranslationContext.js +15 -6
  52. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  53. package/lib/commonjs/contexts/typingContext/TypingContext.js +14 -4
  54. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  55. package/lib/commonjs/contexts/utils/defaultBaseContextValue.js +7 -0
  56. package/lib/commonjs/contexts/utils/defaultBaseContextValue.js.map +1 -0
  57. package/lib/commonjs/contexts/utils/isTestEnvironment.js +11 -0
  58. package/lib/commonjs/contexts/utils/isTestEnvironment.js.map +1 -0
  59. package/lib/commonjs/mock-builders/mock.js +30 -5
  60. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  61. package/lib/commonjs/version.json +1 -1
  62. package/lib/module/components/Attachment/Card.js +61 -21
  63. package/lib/module/components/Attachment/Card.js.map +1 -1
  64. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  65. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  66. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  67. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  68. package/lib/module/components/Reply/Reply.js +12 -12
  69. package/lib/module/components/Reply/Reply.js.map +1 -1
  70. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  71. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  72. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +14 -4
  73. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  74. package/lib/module/contexts/channelContext/ChannelContext.js +14 -4
  75. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  76. package/lib/module/contexts/channelsContext/ChannelsContext.js +14 -4
  77. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  78. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +15 -9
  79. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  80. package/lib/module/contexts/chatContext/ChatContext.js +14 -4
  81. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  82. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +14 -4
  83. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  84. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  85. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  86. package/lib/module/contexts/messageContext/MessageContext.js +14 -4
  87. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  88. package/lib/module/contexts/messageInputContext/MessageInputContext.js +16 -6
  89. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  90. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +14 -4
  91. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  92. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +4 -4
  93. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  94. package/lib/module/contexts/messagesContext/MessagesContext.js +14 -4
  95. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  96. package/lib/module/contexts/overlayContext/OverlayContext.js +13 -3
  97. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  98. package/lib/module/contexts/overlayContext/OverlayProvider.js +12 -12
  99. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  100. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +13 -3
  101. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  102. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +14 -4
  103. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  104. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +14 -4
  105. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  106. package/lib/module/contexts/themeContext/ThemeContext.js +13 -7
  107. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  108. package/lib/module/contexts/themeContext/utils/theme.js +9 -0
  109. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  110. package/lib/module/contexts/threadContext/ThreadContext.js +14 -4
  111. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  112. package/lib/module/contexts/translationContext/TranslationContext.js +15 -6
  113. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  114. package/lib/module/contexts/typingContext/TypingContext.js +14 -4
  115. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  116. package/lib/module/contexts/utils/defaultBaseContextValue.js +7 -0
  117. package/lib/module/contexts/utils/defaultBaseContextValue.js.map +1 -0
  118. package/lib/module/contexts/utils/isTestEnvironment.js +11 -0
  119. package/lib/module/contexts/utils/isTestEnvironment.js.map +1 -0
  120. package/lib/module/mock-builders/mock.js +30 -5
  121. package/lib/module/mock-builders/mock.js.map +1 -1
  122. package/lib/module/version.json +1 -1
  123. package/lib/typescript/contexts/__tests__/index.test.d.ts +1 -0
  124. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +6 -2
  125. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts +5 -2
  126. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +6 -0
  127. package/lib/typescript/contexts/utils/defaultBaseContextValue.d.ts +1 -0
  128. package/lib/typescript/contexts/utils/isTestEnvironment.d.ts +1 -0
  129. package/lib/typescript/mock-builders/mock.d.ts +2 -2
  130. package/package.json +1 -1
  131. package/src/components/Attachment/Card.tsx +29 -6
  132. package/src/components/Attachment/__tests__/Attachment.test.js +0 -14
  133. package/src/components/Attachment/__tests__/Giphy.test.js +9 -5
  134. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +1 -0
  135. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +5 -3
  136. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +1 -0
  137. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +1 -1
  138. package/src/components/Reply/Reply.tsx +6 -3
  139. package/src/contexts/__tests__/index.test.tsx +103 -0
  140. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -0
  141. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +18 -4
  142. package/src/contexts/channelContext/ChannelContext.tsx +18 -2
  143. package/src/contexts/channelsContext/ChannelsContext.tsx +18 -2
  144. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +19 -10
  145. package/src/contexts/chatContext/ChatContext.tsx +15 -2
  146. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +18 -3
  147. package/src/contexts/keyboardContext/KeyboardContext.tsx +2 -1
  148. package/src/contexts/messageContext/MessageContext.tsx +19 -2
  149. package/src/contexts/messageInputContext/MessageInputContext.tsx +22 -4
  150. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +19 -3
  151. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +1 -0
  152. package/src/contexts/messagesContext/MessagesContext.tsx +19 -2
  153. package/src/contexts/overlayContext/OverlayContext.tsx +17 -2
  154. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -0
  155. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +18 -3
  156. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +15 -3
  157. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +19 -2
  158. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -0
  159. package/src/contexts/themeContext/ThemeContext.tsx +19 -5
  160. package/src/contexts/themeContext/utils/theme.ts +15 -0
  161. package/src/contexts/threadContext/ThreadContext.tsx +16 -2
  162. package/src/contexts/translationContext/TranslationContext.tsx +18 -4
  163. package/src/contexts/typingContext/TypingContext.tsx +17 -2
  164. package/src/contexts/utils/defaultBaseContextValue.ts +1 -0
  165. package/src/contexts/utils/isTestEnvironment.ts +1 -0
  166. package/src/mock-builders/mock.js +16 -3
  167. package/src/version.json +1 -1
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.isTestEnvironment = void 0;
5
+
6
+ var isTestEnvironment = function isTestEnvironment() {
7
+ return process.env.NODE_ENV === 'test';
8
+ };
9
+
10
+ exports.isTestEnvironment = isTestEnvironment;
11
+ //# sourceMappingURL=isTestEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["isTestEnvironment.ts"],"names":["isTestEnvironment","process","env","NODE_ENV"],"mappings":";;;;;AAAO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAAMC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAA/B;AAAA,CAA1B","sourcesContent":["export const isTestEnvironment = () => process.env.NODE_ENV === 'test';\n"]}
@@ -29,6 +29,9 @@ var setUser = function setUser(client, user) {
29
29
  };
30
30
 
31
31
  function mockClient(client) {
32
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
33
+ var _options$disableAppSe = options.disableAppSettings,
34
+ disableAppSettings = _options$disableAppSe === void 0 ? true : _options$disableAppSe;
32
35
  jest.spyOn(client, '_setToken').mockImplementation();
33
36
  jest.spyOn(client, '_setupConnection').mockImplementation();
34
37
  client.tokenManager = {
@@ -40,31 +43,53 @@ function mockClient(client) {
40
43
  })
41
44
  };
42
45
  client.setUser = setUser.bind(null, client);
46
+
47
+ if (disableAppSettings) {
48
+ client.getAppSettings = jest.fn(function () {
49
+ return {};
50
+ });
51
+ }
52
+
43
53
  return client;
44
54
  }
45
55
 
46
56
  var getTestClient = function getTestClient() {
47
- return mockClient(new _streamChat.StreamChat(apiKey));
57
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
+ return mockClient(new _streamChat.StreamChat(apiKey), options);
48
59
  };
49
60
 
50
61
  exports.getTestClient = getTestClient;
51
62
 
52
63
  var getTestClientWithUser = function () {
53
64
  var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(user) {
54
- var client;
65
+ var options,
66
+ _options$disableAppSe2,
67
+ disableAppSettings,
68
+ client,
69
+ _args = arguments;
70
+
55
71
  return _regenerator["default"].wrap(function _callee$(_context) {
56
72
  while (1) {
57
73
  switch (_context.prev = _context.next) {
58
74
  case 0:
75
+ options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
76
+ _options$disableAppSe2 = options.disableAppSettings, disableAppSettings = _options$disableAppSe2 === void 0 ? true : _options$disableAppSe2;
59
77
  client = mockClient(new _streamChat.StreamChat(apiKey));
60
- _context.next = 3;
78
+ _context.next = 5;
61
79
  return setUser(client, user);
62
80
 
63
- case 3:
81
+ case 5:
64
82
  client.wsPromise = Promise.resolve();
83
+
84
+ if (disableAppSettings) {
85
+ client.getAppSettings = jest.fn(function () {
86
+ return {};
87
+ });
88
+ }
89
+
65
90
  return _context.abrupt("return", client);
66
91
 
67
- case 5:
92
+ case 8:
68
93
  case "end":
69
94
  return _context.stop();
70
95
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["mock.js"],"names":["apiKey","token","setUser","client","user","Promise","resolve","connectionId","mutes","_user","userID","id","userToken","mockClient","jest","spyOn","mockImplementation","tokenManager","getToken","fn","tokenReady","bind","getTestClient","StreamChat","getTestClientWithUser","wsPromise","getRandomInt","min","max","Math","ceil","floor","random"],"mappings":";;;;;;;;;;;;;AAGA;;AAEA,IAAMA,MAAM,GAAG,SAAf;AACA,IAAMC,KAAK,GAAG,aAAd;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,MAAD,EAASC,IAAT;AAAA,SACd,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AACvBH,IAAAA,MAAM,CAACI,YAAP,GAAsB,oBAAtB;AACAJ,IAAAA,MAAM,CAACC,IAAP,GAAcA,IAAd;AACAD,IAAAA,MAAM,CAACC,IAAP,CAAYI,KAAZ,GAAoB,EAApB;AACAL,IAAAA,MAAM,CAACM,KAAP,iCAAoBL,IAApB;AACAD,IAAAA,MAAM,CAACO,MAAP,GAAgBN,IAAI,CAACO,EAArB;AACAR,IAAAA,MAAM,CAACS,SAAP,GAAmBX,KAAnB;AACAK,IAAAA,OAAO;AACR,GARD,CADc;AAAA,CAAhB;;AAWA,SAASO,UAAT,CAAoBV,MAApB,EAA4B;AAC1BW,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,WAAnB,EAAgCa,kBAAhC;AACAF,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,kBAAnB,EAAuCa,kBAAvC;AACAb,EAAAA,MAAM,CAACc,YAAP,GAAsB;AACpBC,IAAAA,QAAQ,EAAEJ,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAMlB,KAAN;AAAA,KAAR,CADU;AAEpBmB,IAAAA,UAAU,EAAEN,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAM,IAAN;AAAA,KAAR;AAFQ,GAAtB;AAIAhB,EAAAA,MAAM,CAACD,OAAP,GAAiBA,OAAO,CAACmB,IAAR,CAAa,IAAb,EAAmBlB,MAAnB,CAAjB;AACA,SAAOA,MAAP;AACD;;AAEM,IAAMmB,aAAa,GAAG,SAAhBA,aAAgB;AAAA,SAAMT,UAAU,CAAC,IAAIU,sBAAJ,CAAevB,MAAf,CAAD,CAAhB;AAAA,CAAtB;;;;AAEA,IAAMwB,qBAAqB;AAAA,6EAAG,iBAAOpB,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAC7BD,YAAAA,MAD6B,GACpBU,UAAU,CAAC,IAAIU,sBAAJ,CAAevB,MAAf,CAAD,CADU;AAAA;AAAA,mBAE7BE,OAAO,CAACC,MAAD,EAASC,IAAT,CAFsB;;AAAA;AAGnCD,YAAAA,MAAM,CAACsB,SAAP,GAAmBpB,OAAO,CAACC,OAAR,EAAnB;AAHmC,6CAI5BH,MAJ4B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAArBqB,qBAAqB;AAAA;AAAA;AAAA,GAA3B;;;;AAOA,IAAME,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,GAAN,EAAc;AACxCD,EAAAA,GAAG,GAAGE,IAAI,CAACC,IAAL,CAAUH,GAAV,CAAN;AACAC,EAAAA,GAAG,GAAGC,IAAI,CAACE,KAAL,CAAWH,GAAX,CAAN;AACA,SAAOC,IAAI,CAACE,KAAL,CAAWF,IAAI,CAACG,MAAL,MAAiBJ,GAAG,GAAGD,GAAvB,CAAX,IAA0CA,GAAjD;AACD,CAJM","sourcesContent":["/* eslint no-underscore-dangle: 0 */\n/* eslint no-param-reassign: 0 */\n\nimport { StreamChat } from 'stream-chat';\n\nconst apiKey = 'API_KEY';\nconst token = 'dummy_token';\n\nconst setUser = (client, user) =>\n new Promise((resolve) => {\n client.connectionId = 'dumm_connection_id';\n client.user = user;\n client.user.mutes = [];\n client._user = { ...user };\n client.userID = user.id;\n client.userToken = token;\n resolve();\n });\n\nfunction mockClient(client) {\n jest.spyOn(client, '_setToken').mockImplementation();\n jest.spyOn(client, '_setupConnection').mockImplementation();\n client.tokenManager = {\n getToken: jest.fn(() => token),\n tokenReady: jest.fn(() => true),\n };\n client.setUser = setUser.bind(null, client);\n return client;\n}\n\nexport const getTestClient = () => mockClient(new StreamChat(apiKey));\n\nexport const getTestClientWithUser = async (user) => {\n const client = mockClient(new StreamChat(apiKey));\n await setUser(client, user);\n client.wsPromise = Promise.resolve();\n return client;\n};\n\nexport const getRandomInt = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min; // The maximum is exclusive and the minimum is inclusive\n};\n"]}
1
+ {"version":3,"sources":["mock.js"],"names":["apiKey","token","setUser","client","user","Promise","resolve","connectionId","mutes","_user","userID","id","userToken","mockClient","options","disableAppSettings","jest","spyOn","mockImplementation","tokenManager","getToken","fn","tokenReady","bind","getAppSettings","getTestClient","StreamChat","getTestClientWithUser","wsPromise","getRandomInt","min","max","Math","ceil","floor","random"],"mappings":"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","sourcesContent":["/* eslint no-underscore-dangle: 0 */\n/* eslint no-param-reassign: 0 */\n\nimport { StreamChat } from 'stream-chat';\n\nconst apiKey = 'API_KEY';\nconst token = 'dummy_token';\n\nconst setUser = (client, user) =>\n new Promise((resolve) => {\n client.connectionId = 'dumm_connection_id';\n client.user = user;\n client.user.mutes = [];\n client._user = { ...user };\n client.userID = user.id;\n client.userToken = token;\n resolve();\n });\n\nfunction mockClient(client, options = {}) {\n const { disableAppSettings = true } = options;\n\n jest.spyOn(client, '_setToken').mockImplementation();\n jest.spyOn(client, '_setupConnection').mockImplementation();\n client.tokenManager = {\n getToken: jest.fn(() => token),\n tokenReady: jest.fn(() => true),\n };\n client.setUser = setUser.bind(null, client);\n\n if (disableAppSettings) {\n client.getAppSettings = jest.fn(() => ({}));\n }\n\n return client;\n}\n\nexport const getTestClient = (options = {}) => mockClient(new StreamChat(apiKey), options);\n\nexport const getTestClientWithUser = async (user, options = {}) => {\n const { disableAppSettings = true } = options;\n const client = mockClient(new StreamChat(apiKey));\n await setUser(client, user);\n client.wsPromise = Promise.resolve();\n\n if (disableAppSettings) {\n client.getAppSettings = jest.fn(() => ({}));\n }\n\n return client;\n};\n\nexport const getRandomInt = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min; // The maximum is exclusive and the minimum is inclusive\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "4.7.0"
2
+ "version": "4.7.1"
3
3
  }
@@ -21,6 +21,8 @@ var _MessagesContext = require("../../contexts/messagesContext/MessagesContext")
21
21
 
22
22
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
23
23
 
24
+ var _Play = require("../../icons/Play");
25
+
24
26
  var _utils = require("../../utils/utils");
25
27
 
26
28
  var _excluded = ["description", "title"];
@@ -45,13 +47,15 @@ var styles = _reactNative.StyleSheet.create({
45
47
  },
46
48
  authorNameMask: {
47
49
  bottom: 0,
48
- left: 8,
50
+ left: 2,
49
51
  position: 'absolute'
50
52
  },
51
53
  cardCover: {
54
+ alignItems: 'center',
52
55
  borderRadius: 8,
53
56
  height: 140,
54
- marginHorizontal: 8
57
+ justifyContent: 'center',
58
+ marginHorizontal: 2
55
59
  },
56
60
  cardFooter: {
57
61
  flexDirection: 'row',
@@ -66,6 +70,14 @@ var styles = _reactNative.StyleSheet.create({
66
70
  fontSize: 12,
67
71
  marginHorizontal: 8
68
72
  },
73
+ playButtonStyle: {
74
+ alignItems: 'center',
75
+ borderRadius: 50,
76
+ elevation: 2,
77
+ height: 36,
78
+ justifyContent: 'center',
79
+ width: 36
80
+ },
69
81
  title: {
70
82
  fontSize: 12,
71
83
  marginHorizontal: 8
@@ -88,7 +100,8 @@ var CardWithContext = function CardWithContext(props) {
88
100
  stylesProp = _props$styles === void 0 ? {} : _props$styles,
89
101
  text = props.text,
90
102
  thumb_url = props.thumb_url,
91
- title = props.title;
103
+ title = props.title,
104
+ type = props.type;
92
105
 
93
106
  var _useTheme = (0, _ThemeContext.useTheme)(),
94
107
  _useTheme$theme = _useTheme.theme,
@@ -97,6 +110,7 @@ var CardWithContext = function CardWithContext(props) {
97
110
  black = _useTheme$theme$color.black,
98
111
  blue_alice = _useTheme$theme$color.blue_alice,
99
112
  transparent = _useTheme$theme$color.transparent,
113
+ white = _useTheme$theme$color.white,
100
114
  _useTheme$theme$messa = _useTheme$theme.messageSimple.card,
101
115
  authorName = _useTheme$theme$messa.authorName,
102
116
  authorNameContainer = _useTheme$theme$messa.authorNameContainer,
@@ -109,7 +123,11 @@ var CardWithContext = function CardWithContext(props) {
109
123
  description = _useTheme$theme$messa2.description,
110
124
  titleStyle = _useTheme$theme$messa2.title,
111
125
  footerStyle = (0, _objectWithoutProperties2["default"])(_useTheme$theme$messa2, _excluded),
112
- noURI = _useTheme$theme$messa.noURI;
126
+ noURI = _useTheme$theme$messa.noURI,
127
+ roundedView = _useTheme$theme$messa.playButtonStyle.roundedView,
128
+ _useTheme$theme$messa3 = _useTheme$theme$messa.playIcon,
129
+ height = _useTheme$theme$messa3.height,
130
+ width = _useTheme$theme$messa3.width;
113
131
 
114
132
  var uri = image_url || thumb_url;
115
133
 
@@ -117,6 +135,7 @@ var CardWithContext = function CardWithContext(props) {
117
135
  return (0, _openUrlSafely.openUrlSafely)(og_scrape_url || uri);
118
136
  };
119
137
 
138
+ var isVideoCard = type === 'video' && og_scrape_url;
120
139
  return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
121
140
  disabled: preventPress,
122
141
  onLongPress: function onLongPress(event) {
@@ -160,31 +179,32 @@ var CardWithContext = function CardWithContext(props) {
160
179
  __self: _this,
161
180
  __source: {
162
181
  fileName: _jsxFileName,
163
- lineNumber: 145,
182
+ lineNumber: 161,
164
183
  columnNumber: 5
165
184
  }
166
185
  }), CardHeader && _react["default"].createElement(CardHeader, (0, _extends2["default"])({}, props, {
167
186
  __self: _this,
168
187
  __source: {
169
188
  fileName: _jsxFileName,
170
- lineNumber: 180,
189
+ lineNumber: 196,
171
190
  columnNumber: 22
172
191
  }
173
192
  })), CardCover && _react["default"].createElement(CardCover, (0, _extends2["default"])({}, props, {
174
193
  __self: _this,
175
194
  __source: {
176
195
  fileName: _jsxFileName,
177
- lineNumber: 181,
196
+ lineNumber: 197,
178
197
  columnNumber: 21
179
198
  }
180
199
  })), uri && !CardCover && _react["default"].createElement(_reactNative.View, {
181
200
  __self: _this,
182
201
  __source: {
183
202
  fileName: _jsxFileName,
184
- lineNumber: 183,
203
+ lineNumber: 199,
185
204
  columnNumber: 9
186
205
  }
187
- }, _react["default"].createElement(_reactNative.Image, {
206
+ }, _react["default"].createElement(_reactNative.ImageBackground, {
207
+ imageStyle: styles.cardCover,
188
208
  resizeMode: "cover",
189
209
  source: {
190
210
  uri: (0, _utils.makeImageCompatibleUrl)(uri)
@@ -193,15 +213,35 @@ var CardWithContext = function CardWithContext(props) {
193
213
  __self: _this,
194
214
  __source: {
195
215
  fileName: _jsxFileName,
196
- lineNumber: 184,
216
+ lineNumber: 200,
197
217
  columnNumber: 11
198
218
  }
199
- }), author_name && _react["default"].createElement(_reactNative.View, {
219
+ }, isVideoCard ? _react["default"].createElement(_reactNative.View, {
220
+ style: [styles.playButtonStyle, roundedView, {
221
+ backgroundColor: white
222
+ }],
223
+ __self: _this,
224
+ __source: {
225
+ fileName: _jsxFileName,
226
+ lineNumber: 207,
227
+ columnNumber: 15
228
+ }
229
+ }, _react["default"].createElement(_Play.Play, {
230
+ height: height,
231
+ pathFill: black,
232
+ width: width,
233
+ __self: _this,
234
+ __source: {
235
+ fileName: _jsxFileName,
236
+ lineNumber: 208,
237
+ columnNumber: 17
238
+ }
239
+ })) : null), author_name && _react["default"].createElement(_reactNative.View, {
200
240
  style: [styles.authorNameMask, authorNameMask, stylesProp.authorNameMask],
201
241
  __self: _this,
202
242
  __source: {
203
243
  fileName: _jsxFileName,
204
- lineNumber: 190,
244
+ lineNumber: 213,
205
245
  columnNumber: 13
206
246
  }
207
247
  }, _react["default"].createElement(_reactNative.View, {
@@ -211,7 +251,7 @@ var CardWithContext = function CardWithContext(props) {
211
251
  __self: _this,
212
252
  __source: {
213
253
  fileName: _jsxFileName,
214
- lineNumber: 191,
254
+ lineNumber: 214,
215
255
  columnNumber: 15
216
256
  }
217
257
  }, _react["default"].createElement(_reactNative.Text, {
@@ -221,14 +261,14 @@ var CardWithContext = function CardWithContext(props) {
221
261
  __self: _this,
222
262
  __source: {
223
263
  fileName: _jsxFileName,
224
- lineNumber: 199,
264
+ lineNumber: 222,
225
265
  columnNumber: 17
226
266
  }
227
267
  }, author_name)))), CardFooter ? _react["default"].createElement(CardFooter, (0, _extends2["default"])({}, props, {
228
268
  __self: _this,
229
269
  __source: {
230
270
  fileName: _jsxFileName,
231
- lineNumber: 215,
271
+ lineNumber: 238,
232
272
  columnNumber: 9
233
273
  }
234
274
  })) : _react["default"].createElement(_reactNative.View, {
@@ -236,7 +276,7 @@ var CardWithContext = function CardWithContext(props) {
236
276
  __self: _this,
237
277
  __source: {
238
278
  fileName: _jsxFileName,
239
- lineNumber: 217,
279
+ lineNumber: 240,
240
280
  columnNumber: 9
241
281
  }
242
282
  }, _react["default"].createElement(_reactNative.View, {
@@ -248,7 +288,7 @@ var CardWithContext = function CardWithContext(props) {
248
288
  __self: _this,
249
289
  __source: {
250
290
  fileName: _jsxFileName,
251
- lineNumber: 218,
291
+ lineNumber: 241,
252
292
  columnNumber: 11
253
293
  }
254
294
  }, !uri && author_name && _react["default"].createElement(_reactNative.Text, {
@@ -258,7 +298,7 @@ var CardWithContext = function CardWithContext(props) {
258
298
  __self: _this,
259
299
  __source: {
260
300
  fileName: _jsxFileName,
261
- lineNumber: 227,
301
+ lineNumber: 250,
262
302
  columnNumber: 15
263
303
  }
264
304
  }, author_name), title && _react["default"].createElement(_reactNative.Text, {
@@ -269,7 +309,7 @@ var CardWithContext = function CardWithContext(props) {
269
309
  __self: _this,
270
310
  __source: {
271
311
  fileName: _jsxFileName,
272
- lineNumber: 239,
312
+ lineNumber: 262,
273
313
  columnNumber: 15
274
314
  }
275
315
  }, title), text && _react["default"].createElement(_reactNative.Text, {
@@ -280,7 +320,7 @@ var CardWithContext = function CardWithContext(props) {
280
320
  __self: _this,
281
321
  __source: {
282
322
  fileName: _jsxFileName,
283
- lineNumber: 247,
323
+ lineNumber: 270,
284
324
  columnNumber: 15
285
325
  }
286
326
  }, text))));
@@ -319,7 +359,7 @@ var Card = function Card(props) {
319
359
  __self: _this,
320
360
  __source: {
321
361
  fileName: _jsxFileName,
322
- lineNumber: 288,
362
+ lineNumber: 311,
323
363
  columnNumber: 5
324
364
  }
325
365
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["Card.tsx"],"names":["styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","borderRadius","height","marginHorizontal","cardFooter","flexDirection","justifyContent","container","overflow","width","description","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","stylesProp","text","thumb_url","theme","colors","accent_blue","black","blue_alice","transparent","messageSimple","card","authorNameFooterContainer","cover","footer","titleStyle","footerStyle","noURI","uri","defaultOnPress","event","additionalInfo","url","emitter","defaultHandler","backgroundColor","color","borderLeftColor","MemoizedCard","React","memo","Card","message","channelId","cid","messageId","id","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n Image,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 8,\n position: 'absolute',\n },\n cardCover: {\n borderRadius: 8,\n height: 140,\n marginHorizontal: 8,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const defaultOnPress = () => openUrlSafely(og_scrape_url || uri);\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { url: og_scrape_url },\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n />\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"]}
1
+ {"version":3,"sources":["Card.tsx"],"names":["styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","alignItems","borderRadius","height","justifyContent","marginHorizontal","cardFooter","flexDirection","container","overflow","width","description","playButtonStyle","elevation","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","stylesProp","text","thumb_url","type","theme","colors","accent_blue","black","blue_alice","transparent","white","messageSimple","card","authorNameFooterContainer","cover","footer","titleStyle","footerStyle","noURI","roundedView","playIcon","uri","defaultOnPress","isVideoCard","event","additionalInfo","url","emitter","defaultHandler","backgroundColor","color","borderLeftColor","MemoizedCard","React","memo","Card","message","channelId","cid","messageId","id","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n ImageBackground,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Play } from '../../icons/Play';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 2,\n position: 'absolute',\n },\n cardCover: {\n alignItems: 'center',\n borderRadius: 8,\n height: 140,\n justifyContent: 'center',\n marginHorizontal: 2,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n playButtonStyle: {\n alignItems: 'center',\n borderRadius: 50,\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n type,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent, white },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n playButtonStyle: { roundedView },\n playIcon: { height, width },\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const defaultOnPress = () => openUrlSafely(og_scrape_url || uri);\n\n const isVideoCard = type === 'video' && og_scrape_url;\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { url: og_scrape_url },\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <ImageBackground\n imageStyle={styles.cardCover}\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n >\n {isVideoCard ? (\n <View style={[styles.playButtonStyle, roundedView, { backgroundColor: white }]}>\n <Play height={height} pathFill={black} width={width} />\n </View>\n ) : null}\n </ImageBackground>\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"]}
@@ -212,7 +212,7 @@ var AutoCompleteSuggestionList = function AutoCompleteSuggestionList(props) {
212
212
  __self: _this,
213
213
  __source: {
214
214
  fileName: _jsxFileName,
215
- lineNumber: 201,
215
+ lineNumber: 202,
216
216
  columnNumber: 5
217
217
  }
218
218
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["AutoCompleteSuggestionList.tsx"],"names":["SuggestionsItem","props","children","touchableOpacityProps","displayName","AutoCompleteSuggestionListWithContext","active","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","data","onSelect","queryText","triggerType","theme","messageInput","maxHeight","container","itemStyle","suggestions","item","flatlist","suggestionsListContainer","renderItem","index","paddingBottom","length","paddingTop","name","id","areEqual","prevProps","nextProps","prevActive","prevData","prevQueryText","prevType","nextActive","nextData","nextQueryText","nextType","activeEqual","queryTextEqual","dataEqual","typeEqual","MemoizedAutoCompleteSuggestionList","React","memo","AutoCompleteSuggestionList"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, TouchableOpacity, TouchableOpacityProps } from 'react-native';\n\nimport type { AutoCompleteSuggestionHeaderProps } from './AutoCompleteSuggestionHeader';\nimport type { AutoCompleteSuggestionItemProps } from './AutoCompleteSuggestionItem';\n\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype AutoCompleteSuggestionListComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<SuggestionsContextValue, 'queryText' | 'triggerType'> & {\n active: boolean;\n data: Suggestion<StreamChatGenerics>[];\n onSelect: (item: Suggestion<StreamChatGenerics>) => void;\n};\n\nexport type AutoCompleteSuggestionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem'\n> &\n AutoCompleteSuggestionListComponentProps<StreamChatGenerics>;\n\nconst SuggestionsItem: React.FC<TouchableOpacityProps> = (props) => {\n const { children, ...touchableOpacityProps } = props;\n return <TouchableOpacity {...touchableOpacityProps}>{children}</TouchableOpacity>;\n};\n\nSuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';\n\nexport const AutoCompleteSuggestionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n active,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n data,\n onSelect,\n queryText,\n triggerType,\n } = props;\n\n const {\n theme: {\n messageInput: {\n container: { maxHeight },\n suggestions: { item: itemStyle },\n suggestionsListContainer: { flatlist },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: Suggestion<StreamChatGenerics> }) => {\n switch (triggerType) {\n case 'mention':\n if (isSuggestionUser(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[\n {\n paddingBottom: index === data.length - 1 ? 8 : 0,\n paddingTop: index === 0 ? 8 : 0,\n },\n itemStyle,\n ]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'command':\n if (isSuggestionCommand(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'emoji':\n if (isSuggestionEmoji(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n default:\n return null;\n }\n };\n\n if (!active || data.length === 0) return null;\n\n return (\n <FlatList\n data={data}\n keyboardShouldPersistTaps='always'\n keyExtractor={(item, index) =>\n `${item.name || (isSuggestionUser(item) ? item.id : '')}${index}`\n }\n ListHeaderComponent={\n AutoCompleteSuggestionHeader ? (\n <AutoCompleteSuggestionHeader queryText={queryText} triggerType={triggerType} />\n ) : null\n }\n renderItem={renderItem}\n style={[flatlist, { maxHeight }]}\n />\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n active: prevActive,\n data: prevData,\n queryText: prevQueryText,\n triggerType: prevType,\n } = prevProps;\n const {\n active: nextActive,\n data: nextData,\n queryText: nextQueryText,\n triggerType: nextType,\n } = nextProps;\n\n const activeEqual = prevActive === nextActive;\n if (!activeEqual) return false;\n\n const queryTextEqual = prevQueryText === nextQueryText;\n if (!queryTextEqual) return false;\n\n const dataEqual = prevData === nextData;\n if (!dataEqual) return false;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionList = React.memo(\n AutoCompleteSuggestionListWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionListWithContext;\n\nexport type AutoCompleteSuggestionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = AutoCompleteSuggestionListComponentProps<StreamChatGenerics> & {\n AutoCompleteSuggestionHeader?: React.ComponentType<AutoCompleteSuggestionHeaderProps>;\n AutoCompleteSuggestionItem?: React.ComponentType<\n AutoCompleteSuggestionItemProps<StreamChatGenerics>\n >;\n};\n\nexport const AutoCompleteSuggestionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListProps<StreamChatGenerics>,\n) => {\n const { AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem } =\n useSuggestionsContext<StreamChatGenerics>();\n return (\n <MemoizedAutoCompleteSuggestionList\n {...{ AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem }}\n {...props}\n />\n );\n};\n\nAutoCompleteSuggestionList.displayName =\n 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';\n"]}
1
+ {"version":3,"sources":["AutoCompleteSuggestionList.tsx"],"names":["SuggestionsItem","props","children","touchableOpacityProps","displayName","AutoCompleteSuggestionListWithContext","active","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","data","onSelect","queryText","triggerType","theme","messageInput","maxHeight","container","itemStyle","suggestions","item","flatlist","suggestionsListContainer","renderItem","index","paddingBottom","length","paddingTop","name","id","areEqual","prevProps","nextProps","prevActive","prevData","prevQueryText","prevType","nextActive","nextData","nextQueryText","nextType","activeEqual","queryTextEqual","dataEqual","typeEqual","MemoizedAutoCompleteSuggestionList","React","memo","AutoCompleteSuggestionList"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAKA;;AAQA;;;;;;;AAmBA,IAAMA,eAAgD,GAAG,SAAnDA,eAAmD,CAACC,KAAD,EAAW;AAClE,MAAQC,QAAR,GAA+CD,KAA/C,CAAQC,QAAR;AAAA,MAAqBC,qBAArB,6CAA+CF,KAA/C;AACA,SAAO,gCAAC,6BAAD,gCAAsBE,qBAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAA8CD,QAA9C,CAAP;AACD,CAHD;;AAKAF,eAAe,CAACI,WAAhB,GAA8B,8CAA9B;;AAEO,IAAMC,qCAAqC,GAAG,SAAxCA,qCAAwC,CAGnDJ,KAHmD,EAIhD;AACH,MACEK,MADF,GAQIL,KARJ,CACEK,MADF;AAAA,MAEEC,4BAFF,GAQIN,KARJ,CAEEM,4BAFF;AAAA,MAGEC,0BAHF,GAQIP,KARJ,CAGEO,0BAHF;AAAA,MAIEC,IAJF,GAQIR,KARJ,CAIEQ,IAJF;AAAA,MAKEC,QALF,GAQIT,KARJ,CAKES,QALF;AAAA,MAMEC,SANF,GAQIV,KARJ,CAMEU,SANF;AAAA,MAOEC,WAPF,GAQIX,KARJ,CAOEW,WAPF;;AAUA,kBAQI,6BARJ;AAAA,wCACEC,KADF,CAEIC,YAFJ;AAAA,MAGmBC,SAHnB,yBAGMC,SAHN,CAGmBD,SAHnB;AAAA,MAI2BE,SAJ3B,yBAIMC,WAJN,CAIqBC,IAJrB;AAAA,MAKkCC,QALlC,yBAKMC,wBALN,CAKkCD,QALlC;;AAUA,MAAME,UAAU,GAAG,SAAbA,UAAa,OAA8E;AAAA,QAA3EC,KAA2E,QAA3EA,KAA2E;AAAA,QAApEJ,IAAoE,QAApEA,IAAoE;;AAC/F,YAAQP,WAAR;AACE,WAAK,SAAL;AACE,YAAI,0CAAiBO,IAAjB,CAAJ,EAA4B;AAC1B,iBACE,gCAAC,eAAD;AACE,YAAA,OAAO,EAAE,mBAAM;AACbT,cAAAA,QAAQ,CAACS,IAAD,CAAR;AACD,aAHH;AAIE,YAAA,KAAK,EAAE,CACL;AACEK,cAAAA,aAAa,EAAED,KAAK,KAAKd,IAAI,CAACgB,MAAL,GAAc,CAAxB,GAA4B,CAA5B,GAAgC,CADjD;AAEEC,cAAAA,UAAU,EAAEH,KAAK,KAAK,CAAV,GAAc,CAAd,GAAkB;AAFhC,aADK,EAKLN,SALK,CAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAYGT,0BAA0B,IACzB,gCAAC,0BAAD;AAA4B,YAAA,SAAS,EAAEW,IAAvC;AAA6C,YAAA,WAAW,EAAEP,WAA1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAbJ,CADF;AAkBD;;AACD,eAAO,IAAP;;AACF,WAAK,SAAL;AACE,YAAI,6CAAoBO,IAApB,CAAJ,EAA+B;AAC7B,iBACE,gCAAC,eAAD;AACE,YAAA,OAAO,EAAE,mBAAM;AACbT,cAAAA,QAAQ,CAACS,IAAD,CAAR;AACD,aAHH;AAIE,YAAA,KAAK,EAAE,CAACF,SAAD,CAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMGT,0BAA0B,IACzB,gCAAC,0BAAD;AAA4B,YAAA,SAAS,EAAEW,IAAvC;AAA6C,YAAA,WAAW,EAAEP,WAA1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAPJ,CADF;AAYD;;AACD,eAAO,IAAP;;AACF,WAAK,OAAL;AACE,YAAI,2CAAkBO,IAAlB,CAAJ,EAA6B;AAC3B,iBACE,gCAAC,eAAD;AACE,YAAA,OAAO,EAAE,mBAAM;AACbT,cAAAA,QAAQ,CAACS,IAAD,CAAR;AACD,aAHH;AAIE,YAAA,KAAK,EAAE,CAACF,SAAD,CAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMGT,0BAA0B,IACzB,gCAAC,0BAAD;AAA4B,YAAA,SAAS,EAAEW,IAAvC;AAA6C,YAAA,WAAW,EAAEP,WAA1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAPJ,CADF;AAYD;;AACD,eAAO,IAAP;;AACF;AACE,eAAO,IAAP;AAxDJ;AA0DD,GA3DD;;AA6DA,MAAI,CAACN,MAAD,IAAWG,IAAI,CAACgB,MAAL,KAAgB,CAA/B,EAAkC,OAAO,IAAP;AAElC,SACE,gCAAC,qBAAD;AACE,IAAA,IAAI,EAAEhB,IADR;AAEE,IAAA,yBAAyB,EAAC,QAF5B;AAGE,IAAA,YAAY,EAAE,sBAACU,IAAD,EAAOI,KAAP;AAAA,mBACTJ,IAAI,CAACQ,IAAL,KAAc,0CAAiBR,IAAjB,IAAyBA,IAAI,CAACS,EAA9B,GAAmC,EAAjD,CADS,IAC8CL,KAD9C;AAAA,KAHhB;AAME,IAAA,mBAAmB,EACjBhB,4BAA4B,GAC1B,gCAAC,4BAAD;AAA8B,MAAA,SAAS,EAAEI,SAAzC;AAAoD,MAAA,WAAW,EAAEC,WAAjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAD0B,GAExB,IATR;AAWE,IAAA,UAAU,EAAEU,UAXd;AAYE,IAAA,KAAK,EAAE,CAACF,QAAD,EAAW;AAAEL,MAAAA,SAAS,EAATA;AAAF,KAAX,CAZT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF;AAgBD,CAxGM;;;;AA0GP,IAAMc,QAAQ,GAAG,SAAXA,QAAW,CACfC,SADe,EAEfC,SAFe,EAGZ;AACH,MACUC,UADV,GAKIF,SALJ,CACExB,MADF;AAAA,MAEQ2B,QAFR,GAKIH,SALJ,CAEErB,IAFF;AAAA,MAGayB,aAHb,GAKIJ,SALJ,CAGEnB,SAHF;AAAA,MAIewB,QAJf,GAKIL,SALJ,CAIElB,WAJF;AAMA,MACUwB,UADV,GAKIL,SALJ,CACEzB,MADF;AAAA,MAEQ+B,QAFR,GAKIN,SALJ,CAEEtB,IAFF;AAAA,MAGa6B,aAHb,GAKIP,SALJ,CAGEpB,SAHF;AAAA,MAIe4B,QAJf,GAKIR,SALJ,CAIEnB,WAJF;AAOA,MAAM4B,WAAW,GAAGR,UAAU,KAAKI,UAAnC;AACA,MAAI,CAACI,WAAL,EAAkB,OAAO,KAAP;AAElB,MAAMC,cAAc,GAAGP,aAAa,KAAKI,aAAzC;AACA,MAAI,CAACG,cAAL,EAAqB,OAAO,KAAP;AAErB,MAAMC,SAAS,GAAGT,QAAQ,KAAKI,QAA/B;AACA,MAAI,CAACK,SAAL,EAAgB,OAAO,KAAP;AAEhB,MAAMC,SAAS,GAAGR,QAAQ,KAAKI,QAA/B;AACA,MAAI,CAACI,SAAL,EAAgB,OAAO,KAAP;AAEhB,SAAO,IAAP;AACD,CA9BD;;AAgCA,IAAMC,kCAAkC,GAAGC,kBAAMC,IAAN,CACzCzC,qCADyC,EAEzCwB,QAFyC,CAA3C;;AAcO,IAAMkB,0BAA0B,GAAG,SAA7BA,0BAA6B,CAGxC9C,KAHwC,EAIrC;AACH,8BACE,gDADF;AAAA,MAAQM,4BAAR,yBAAQA,4BAAR;AAAA,MAAsCC,0BAAtC,yBAAsCA,0BAAtC;;AAGA,SACE,gCAAC,kCAAD;AACQD,IAAAA,4BAA4B,EAA5BA,4BADR;AACsCC,IAAAA,0BAA0B,EAA1BA;AADtC,KAEMP,KAFN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAMD,CAdM;;;AAgBP8C,0BAA0B,CAAC3C,WAA3B,GACE,6DADF","sourcesContent":["import React from 'react';\nimport { FlatList, TouchableOpacity, TouchableOpacityProps } from 'react-native';\n\nimport type { AutoCompleteSuggestionHeaderProps } from './AutoCompleteSuggestionHeader';\nimport type { AutoCompleteSuggestionItemProps } from './AutoCompleteSuggestionItem';\n\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype AutoCompleteSuggestionListComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<SuggestionsContextValue, 'queryText' | 'triggerType'> & {\n active: boolean;\n data: Suggestion<StreamChatGenerics>[];\n onSelect: (item: Suggestion<StreamChatGenerics>) => void;\n};\n\nexport type AutoCompleteSuggestionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem'\n> &\n AutoCompleteSuggestionListComponentProps<StreamChatGenerics>;\n\nconst SuggestionsItem: React.FC<TouchableOpacityProps> = (props) => {\n const { children, ...touchableOpacityProps } = props;\n return <TouchableOpacity {...touchableOpacityProps}>{children}</TouchableOpacity>;\n};\n\nSuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';\n\nexport const AutoCompleteSuggestionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n active,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n data,\n onSelect,\n queryText,\n triggerType,\n } = props;\n\n const {\n theme: {\n messageInput: {\n container: { maxHeight },\n suggestions: { item: itemStyle },\n suggestionsListContainer: { flatlist },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: Suggestion<StreamChatGenerics> }) => {\n switch (triggerType) {\n case 'mention':\n if (isSuggestionUser(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[\n {\n paddingBottom: index === data.length - 1 ? 8 : 0,\n paddingTop: index === 0 ? 8 : 0,\n },\n itemStyle,\n ]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'command':\n if (isSuggestionCommand(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'emoji':\n if (isSuggestionEmoji(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n default:\n return null;\n }\n };\n\n if (!active || data.length === 0) return null;\n\n return (\n <FlatList\n data={data}\n keyboardShouldPersistTaps='always'\n keyExtractor={(item, index) =>\n `${item.name || (isSuggestionUser(item) ? item.id : '')}${index}`\n }\n ListHeaderComponent={\n AutoCompleteSuggestionHeader ? (\n <AutoCompleteSuggestionHeader queryText={queryText} triggerType={triggerType} />\n ) : null\n }\n renderItem={renderItem}\n style={[flatlist, { maxHeight }]}\n />\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteSuggestionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n active: prevActive,\n data: prevData,\n queryText: prevQueryText,\n triggerType: prevType,\n } = prevProps;\n const {\n active: nextActive,\n data: nextData,\n queryText: nextQueryText,\n triggerType: nextType,\n } = nextProps;\n\n const activeEqual = prevActive === nextActive;\n if (!activeEqual) return false;\n\n const queryTextEqual = prevQueryText === nextQueryText;\n if (!queryTextEqual) return false;\n\n const dataEqual = prevData === nextData;\n if (!dataEqual) return false;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionList = React.memo(\n AutoCompleteSuggestionListWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionListWithContext;\n\nexport type AutoCompleteSuggestionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = AutoCompleteSuggestionListComponentProps<StreamChatGenerics> & {\n AutoCompleteSuggestionHeader?: React.ComponentType<AutoCompleteSuggestionHeaderProps>;\n AutoCompleteSuggestionItem?: React.ComponentType<\n AutoCompleteSuggestionItemProps<StreamChatGenerics>\n >;\n};\n\nexport const AutoCompleteSuggestionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionListProps<StreamChatGenerics>,\n) => {\n const { AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem } =\n useSuggestionsContext<StreamChatGenerics>();\n\n return (\n <MemoizedAutoCompleteSuggestionList\n {...{ AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem }}\n {...props}\n />\n );\n};\n\nAutoCompleteSuggestionList.displayName =\n 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';\n"]}
@@ -51,7 +51,7 @@ var SendMessageDisallowedIndicator = function SendMessageDisallowedIndicator() {
51
51
  __self: _this,
52
52
  __source: {
53
53
  fileName: _jsxFileName,
54
- lineNumber: 31,
54
+ lineNumber: 32,
55
55
  columnNumber: 5
56
56
  }
57
57
  }, _react["default"].createElement(_reactNative.Text, {
@@ -61,7 +61,7 @@ var SendMessageDisallowedIndicator = function SendMessageDisallowedIndicator() {
61
61
  __self: _this,
62
62
  __source: {
63
63
  fileName: _jsxFileName,
64
- lineNumber: 42,
64
+ lineNumber: 43,
65
65
  columnNumber: 7
66
66
  }
67
67
  }, t("You can't send messages in this channel")));
@@ -1 +1 @@
1
- {"version":3,"sources":["SendMessageDisallowedIndicator.tsx"],"names":["styles","StyleSheet","create","container","alignItems","borderTopWidth","height","justifyContent","text","fontSize","fontWeight","SendMessageDisallowedIndicator","t","theme","colors","border","grey_dark","messageInput","sendMessageDisallowedIndicator","borderTopColor","color"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,UAAU,EAAE,QADH;AAETC,IAAAA,cAAc,EAAE,CAFP;AAGTC,IAAAA,MAAM,EAAE,EAHC;AAITC,IAAAA,cAAc,EAAE;AAJP,GADoB;AAO/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,QAAQ,EAAE,EADN;AAEJC,IAAAA,UAAU,EAAE;AAFR;AAPyB,CAAlB,CAAf;;AAaO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,GAAM;AAClD,8BAAc,gDAAd;AAAA,MAAQC,CAAR,yBAAQA,CAAR;;AACA,kBAOI,6BAPJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,MAFd,yBAEcA,MAFd;AAAA,MAEsBC,SAFtB,yBAEsBA,SAFtB;AAAA,8CAGIC,YAHJ,CAIMC,8BAJN;AAAA,MAIwCf,SAJxC,yBAIwCA,SAJxC;AAAA,MAImDK,IAJnD,yBAImDA,IAJnD;;AAQA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLR,MAAM,CAACG,SADF,EAEL;AACEgB,MAAAA,cAAc,EAAEJ,MADlB;AAEET,MAAAA,MAAM,EAAE;AAFV,KAFK,EAMLH,SANK,CADT;AASE,IAAA,MAAM,EAAC,mCATT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAWE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACH,MAAM,CAACQ,IAAR,EAAc;AAAEY,MAAAA,KAAK,EAAEJ;AAAT,KAAd,EAAoCR,IAApC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGI,CAAC,CAAC,yCAAD,CADJ,CAXF,CADF;AAiBD,CA3BM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n borderTopWidth: 1,\n height: 50,\n justifyContent: 'center',\n },\n text: {\n fontSize: 17,\n fontWeight: '400',\n },\n});\n\nexport const SendMessageDisallowedIndicator = () => {\n const { t } = useTranslationContext();\n const {\n theme: {\n colors: { border, grey_dark },\n messageInput: {\n sendMessageDisallowedIndicator: { container, text },\n },\n },\n } = useTheme();\n return (\n <View\n style={[\n styles.container,\n {\n borderTopColor: border,\n height: 50,\n },\n container,\n ]}\n testID='send-message-disallowed-indicator'\n >\n <Text style={[styles.text, { color: grey_dark }, text]}>\n {t(\"You can't send messages in this channel\")}\n </Text>\n </View>\n );\n};\n"]}
1
+ {"version":3,"sources":["SendMessageDisallowedIndicator.tsx"],"names":["styles","StyleSheet","create","container","alignItems","borderTopWidth","height","justifyContent","text","fontSize","fontWeight","SendMessageDisallowedIndicator","t","theme","colors","border","grey_dark","messageInput","sendMessageDisallowedIndicator","borderTopColor","color"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,UAAU,EAAE,QADH;AAETC,IAAAA,cAAc,EAAE,CAFP;AAGTC,IAAAA,MAAM,EAAE,EAHC;AAITC,IAAAA,cAAc,EAAE;AAJP,GADoB;AAO/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,QAAQ,EAAE,EADN;AAEJC,IAAAA,UAAU,EAAE;AAFR;AAPyB,CAAlB,CAAf;;AAaO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,GAAM;AAClD,8BAAc,gDAAd;AAAA,MAAQC,CAAR,yBAAQA,CAAR;;AACA,kBAOI,6BAPJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,MAFd,yBAEcA,MAFd;AAAA,MAEsBC,SAFtB,yBAEsBA,SAFtB;AAAA,8CAGIC,YAHJ,CAIMC,8BAJN;AAAA,MAIwCf,SAJxC,yBAIwCA,SAJxC;AAAA,MAImDK,IAJnD,yBAImDA,IAJnD;;AASA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLR,MAAM,CAACG,SADF,EAEL;AACEgB,MAAAA,cAAc,EAAEJ,MADlB;AAEET,MAAAA,MAAM,EAAE;AAFV,KAFK,EAMLH,SANK,CADT;AASE,IAAA,MAAM,EAAC,mCATT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAWE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACH,MAAM,CAACQ,IAAR,EAAc;AAAEY,MAAAA,KAAK,EAAEJ;AAAT,KAAd,EAAoCR,IAApC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGI,CAAC,CAAC,yCAAD,CADJ,CAXF,CADF;AAiBD,CA5BM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n borderTopWidth: 1,\n height: 50,\n justifyContent: 'center',\n },\n text: {\n fontSize: 17,\n fontWeight: '400',\n },\n});\n\nexport const SendMessageDisallowedIndicator = () => {\n const { t } = useTranslationContext();\n const {\n theme: {\n colors: { border, grey_dark },\n messageInput: {\n sendMessageDisallowedIndicator: { container, text },\n },\n },\n } = useTheme();\n\n return (\n <View\n style={[\n styles.container,\n {\n borderTopColor: border,\n height: 50,\n },\n container,\n ]}\n testID='send-message-disallowed-indicator'\n >\n <Text style={[styles.text, { color: grey_dark }, text]}>\n {t(\"You can't send messages in this channel\")}\n </Text>\n </View>\n );\n};\n"]}
@@ -92,9 +92,9 @@ var getMessageType = function getMessageType(lastAttachment) {
92
92
  var messageType;
93
93
  var isLastAttachmentFile = lastAttachment.type === 'file' || lastAttachment.type === 'audio';
94
94
  var isLastAttachmentVideo = lastAttachment.type === 'video';
95
- var isLastAttachmentGiphy = lastAttachment.type === 'giphy' || lastAttachment.type === 'imgur';
96
- var isLastAttachmentImageOrGiphy = lastAttachment.type === 'image' && !lastAttachment.title_link && !lastAttachment.og_scrape_url;
97
- var isLastAttachmentImage = lastAttachment.image_url || lastAttachment.thumb_url;
95
+ var isLastAttachmentGiphy = (lastAttachment == null ? void 0 : lastAttachment.type) === 'giphy' || (lastAttachment == null ? void 0 : lastAttachment.type) === 'imgur';
96
+ var isLastAttachmentImageOrGiphy = (lastAttachment == null ? void 0 : lastAttachment.type) === 'image' && !(lastAttachment != null && lastAttachment.title_link) && !(lastAttachment != null && lastAttachment.og_scrape_url);
97
+ var isLastAttachmentImage = (lastAttachment == null ? void 0 : lastAttachment.image_url) || (lastAttachment == null ? void 0 : lastAttachment.thumb_url);
98
98
 
99
99
  if (isLastAttachmentFile) {
100
100
  messageType = 'file';
@@ -153,7 +153,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
153
153
  __self: _this,
154
154
  __source: {
155
155
  fileName: _jsxFileName,
156
- lineNumber: 158,
156
+ lineNumber: 161,
157
157
  columnNumber: 5
158
158
  }
159
159
  }, _react["default"].createElement(MessageAvatar, {
@@ -164,7 +164,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
164
164
  __self: _this,
165
165
  __source: {
166
166
  fileName: _jsxFileName,
167
- lineNumber: 159,
167
+ lineNumber: 162,
168
168
  columnNumber: 7
169
169
  }
170
170
  }), _react["default"].createElement(_reactNative.View, {
@@ -176,7 +176,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
176
176
  __self: _this,
177
177
  __source: {
178
178
  fileName: _jsxFileName,
179
- lineNumber: 160,
179
+ lineNumber: 163,
180
180
  columnNumber: 7
181
181
  }
182
182
  }, !error && lastAttachment ? messageType === 'file' ? _react["default"].createElement(_reactNative.View, {
@@ -184,7 +184,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
184
184
  __self: _this,
185
185
  __source: {
186
186
  fileName: _jsxFileName,
187
- lineNumber: 175,
187
+ lineNumber: 178,
188
188
  columnNumber: 13
189
189
  }
190
190
  }, _react["default"].createElement(FileAttachmentIcon, {
@@ -193,7 +193,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
193
193
  __self: _this,
194
194
  __source: {
195
195
  fileName: _jsxFileName,
196
- lineNumber: 182,
196
+ lineNumber: 185,
197
197
  columnNumber: 15
198
198
  }
199
199
  })) : hasImage ? _react["default"].createElement(_reactNative.Image, {
@@ -211,7 +211,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
211
211
  __self: _this,
212
212
  __source: {
213
213
  fileName: _jsxFileName,
214
- lineNumber: 185,
214
+ lineNumber: 188,
215
215
  columnNumber: 13
216
216
  }
217
217
  }) : null : null, messageType === 'video' && !lastAttachment.og_scrape_url ? _react["default"].createElement(_VideoThumbnail.VideoThumbnail, {
@@ -219,7 +219,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
219
219
  __self: _this,
220
220
  __source: {
221
221
  fileName: _jsxFileName,
222
- lineNumber: 207,
222
+ lineNumber: 210,
223
223
  columnNumber: 11
224
224
  }
225
225
  }) : null, _react["default"].createElement(_MessageTextContainer.MessageTextContainer, {
@@ -242,7 +242,7 @@ var ReplyWithContext = function ReplyWithContext(props) {
242
242
  __self: _this,
243
243
  __source: {
244
244
  fileName: _jsxFileName,
245
- lineNumber: 209,
245
+ lineNumber: 212,
246
246
  columnNumber: 9
247
247
  }
248
248
  })));
@@ -286,7 +286,7 @@ var Reply = function Reply(props) {
286
286
  __self: _this,
287
287
  __source: {
288
288
  fileName: _jsxFileName,
289
- lineNumber: 316,
289
+ lineNumber: 319,
290
290
  columnNumber: 5
291
291
  }
292
292
  }));