stream-chat-react-native-core 5.21.0 → 5.22.0-beta.10

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 (285) hide show
  1. package/README.md +10 -5
  2. package/lib/commonjs/components/Attachment/AudioAttachment.js +12 -12
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/FileAttachment.js +10 -7
  5. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  6. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +8 -6
  7. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  8. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +24 -20
  9. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  10. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +26 -11
  11. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  12. package/lib/commonjs/components/Channel/Channel.js +65 -46
  13. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  14. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
  15. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  16. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -2
  17. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  18. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
  19. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  20. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
  21. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  22. package/lib/commonjs/components/ImageGallery/ImageGallery.js +30 -32
  23. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  24. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
  25. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  26. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
  27. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  28. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +18 -15
  29. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  30. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +41 -12
  31. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  32. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +10 -8
  33. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  34. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +17 -12
  35. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  36. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +20 -17
  37. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  38. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +18 -17
  39. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  40. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
  41. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  42. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
  43. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
  44. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +25 -17
  45. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  46. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +30 -20
  47. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  48. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +13 -13
  49. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  50. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  51. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  52. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  53. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +13 -11
  54. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  55. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +8 -14
  56. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  57. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +11 -8
  58. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  59. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +32 -29
  60. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  61. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +17 -15
  62. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  63. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  64. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  65. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +66 -45
  66. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  67. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -2
  68. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  69. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  70. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  71. package/lib/commonjs/contexts/themeContext/utils/theme.js +1 -4
  72. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  73. package/lib/commonjs/hooks/index.js +11 -0
  74. package/lib/commonjs/hooks/index.js.map +1 -1
  75. package/lib/commonjs/hooks/useViewport.js +47 -0
  76. package/lib/commonjs/hooks/useViewport.js.map +1 -0
  77. package/lib/commonjs/i18n/en.json +6 -1
  78. package/lib/commonjs/i18n/es.json +77 -0
  79. package/lib/commonjs/i18n/fr.json +65 -60
  80. package/lib/commonjs/i18n/he.json +6 -1
  81. package/lib/commonjs/i18n/hi.json +65 -60
  82. package/lib/commonjs/i18n/it.json +65 -60
  83. package/lib/commonjs/i18n/ja.json +6 -1
  84. package/lib/commonjs/i18n/ko.json +6 -1
  85. package/lib/commonjs/i18n/nl.json +65 -60
  86. package/lib/commonjs/i18n/ru.json +65 -60
  87. package/lib/commonjs/i18n/tr.json +65 -60
  88. package/lib/commonjs/native.js.map +1 -1
  89. package/lib/commonjs/types/types.js.map +1 -1
  90. package/lib/commonjs/utils/Streami18n.js +4 -1
  91. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  92. package/lib/commonjs/utils/compressImage.js +37 -0
  93. package/lib/commonjs/utils/compressImage.js.map +1 -0
  94. package/lib/commonjs/utils/utils.js +1 -15
  95. package/lib/commonjs/utils/utils.js.map +1 -1
  96. package/lib/commonjs/version.json +1 -1
  97. package/lib/module/components/Attachment/AudioAttachment.js +12 -12
  98. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  99. package/lib/module/components/Attachment/FileAttachment.js +10 -7
  100. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  101. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +8 -6
  102. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  103. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +24 -20
  104. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  105. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +26 -11
  106. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  107. package/lib/module/components/Channel/Channel.js +65 -46
  108. package/lib/module/components/Channel/Channel.js.map +1 -1
  109. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
  110. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  111. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -2
  112. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  113. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
  114. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  115. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
  116. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  117. package/lib/module/components/ImageGallery/ImageGallery.js +30 -32
  118. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  119. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
  120. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  121. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
  122. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  123. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +18 -15
  124. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  125. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +41 -12
  126. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  127. package/lib/module/components/ImageGallery/components/ImageGrid.js +10 -8
  128. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  129. package/lib/module/components/Indicators/EmptyStateIndicator.js +17 -12
  130. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  131. package/lib/module/components/Message/MessageSimple/MessageContent.js +20 -17
  132. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  133. package/lib/module/components/Message/MessageSimple/ReactionList.js +18 -17
  134. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  135. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
  136. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  137. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
  138. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
  139. package/lib/module/components/Message/MessageSimple/utils/renderText.js +25 -17
  140. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  141. package/lib/module/components/MessageInput/FileUploadPreview.js +30 -20
  142. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  143. package/lib/module/components/MessageInput/ImageUploadPreview.js +13 -13
  144. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  145. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  146. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  147. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  148. package/lib/module/components/MessageList/InlineUnreadIndicator.js +13 -11
  149. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  150. package/lib/module/components/MessageOverlay/MessageActionList.js +8 -14
  151. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  152. package/lib/module/components/MessageOverlay/MessageActionListItem.js +11 -8
  153. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  154. package/lib/module/components/MessageOverlay/MessageOverlay.js +32 -29
  155. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  156. package/lib/module/components/Thread/components/ThreadFooterComponent.js +17 -15
  157. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  158. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  159. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  160. package/lib/module/contexts/messageInputContext/MessageInputContext.js +66 -45
  161. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  162. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -2
  163. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  164. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  165. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  166. package/lib/module/contexts/themeContext/utils/theme.js +1 -4
  167. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  168. package/lib/module/hooks/index.js +11 -0
  169. package/lib/module/hooks/index.js.map +1 -1
  170. package/lib/module/hooks/useViewport.js +47 -0
  171. package/lib/module/hooks/useViewport.js.map +1 -0
  172. package/lib/module/i18n/en.json +6 -1
  173. package/lib/module/i18n/es.json +77 -0
  174. package/lib/module/i18n/fr.json +65 -60
  175. package/lib/module/i18n/he.json +6 -1
  176. package/lib/module/i18n/hi.json +65 -60
  177. package/lib/module/i18n/it.json +65 -60
  178. package/lib/module/i18n/ja.json +6 -1
  179. package/lib/module/i18n/ko.json +6 -1
  180. package/lib/module/i18n/nl.json +65 -60
  181. package/lib/module/i18n/ru.json +65 -60
  182. package/lib/module/i18n/tr.json +65 -60
  183. package/lib/module/native.js.map +1 -1
  184. package/lib/module/types/types.js.map +1 -1
  185. package/lib/module/utils/Streami18n.js +4 -1
  186. package/lib/module/utils/Streami18n.js.map +1 -1
  187. package/lib/module/utils/compressImage.js +37 -0
  188. package/lib/module/utils/compressImage.js.map +1 -0
  189. package/lib/module/utils/utils.js +1 -15
  190. package/lib/module/utils/utils.js.map +1 -1
  191. package/lib/module/version.json +1 -1
  192. package/lib/typescript/components/Attachment/AudioAttachment.d.ts +1 -1
  193. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  194. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +3 -0
  195. package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts +1 -3
  196. package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.test.d.ts +1 -0
  197. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  198. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
  199. package/lib/typescript/components/MessageInput/UploadProgressIndicator.d.ts +5 -2
  200. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +5 -0
  201. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  202. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +3 -23
  203. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +2 -2
  204. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +2 -2
  205. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -3
  206. package/lib/typescript/hooks/index.d.ts +1 -0
  207. package/lib/typescript/hooks/useViewport.d.ts +11 -0
  208. package/lib/typescript/i18n/en.json +6 -1
  209. package/lib/typescript/i18n/es.json +77 -0
  210. package/lib/typescript/i18n/fr.json +65 -60
  211. package/lib/typescript/i18n/he.json +6 -1
  212. package/lib/typescript/i18n/hi.json +65 -60
  213. package/lib/typescript/i18n/it.json +65 -60
  214. package/lib/typescript/i18n/ja.json +6 -1
  215. package/lib/typescript/i18n/ko.json +6 -1
  216. package/lib/typescript/i18n/nl.json +65 -60
  217. package/lib/typescript/i18n/ru.json +65 -60
  218. package/lib/typescript/i18n/tr.json +65 -60
  219. package/lib/typescript/native.d.ts +2 -0
  220. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
  221. package/lib/typescript/types/types.d.ts +27 -10
  222. package/lib/typescript/utils/Streami18n.d.ts +7 -1
  223. package/lib/typescript/utils/compressImage.d.ts +8 -0
  224. package/lib/typescript/utils/utils.d.ts +0 -2
  225. package/package.json +2 -2
  226. package/src/components/Attachment/AudioAttachment.tsx +2 -1
  227. package/src/components/Attachment/FileAttachment.tsx +12 -3
  228. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  229. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +7 -5
  230. package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx +13 -1
  231. package/src/components/Channel/Channel.tsx +32 -8
  232. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
  233. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +2 -9
  234. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -3
  235. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +4 -3
  236. package/src/components/ImageGallery/ImageGallery.tsx +10 -19
  237. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +5 -3
  238. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +5 -3
  239. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +6 -2
  240. package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +12 -7
  241. package/src/components/ImageGallery/components/ImageGrid.tsx +2 -1
  242. package/src/components/Indicators/EmptyStateIndicator.tsx +8 -7
  243. package/src/components/Message/MessageSimple/MessageContent.tsx +3 -1
  244. package/src/components/Message/MessageSimple/ReactionList.tsx +2 -1
  245. package/src/components/Message/MessageSimple/utils/generateMarkdownText.test.ts +23 -0
  246. package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +12 -13
  247. package/src/components/Message/MessageSimple/utils/renderText.tsx +12 -2
  248. package/src/components/MessageInput/FileUploadPreview.tsx +17 -3
  249. package/src/components/MessageInput/ImageUploadPreview.tsx +1 -2
  250. package/src/components/MessageInput/MessageInput.tsx +1 -1
  251. package/src/components/MessageInput/UploadProgressIndicator.tsx +2 -2
  252. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewExpo.test.tsx +1 -1
  253. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewNative.test.tsx +1 -1
  254. package/src/components/MessageInput/__tests__/MessageInput.test.js +2 -2
  255. package/src/components/MessageList/InlineUnreadIndicator.tsx +2 -1
  256. package/src/components/MessageOverlay/MessageActionList.tsx +3 -11
  257. package/src/components/MessageOverlay/MessageActionListItem.tsx +5 -2
  258. package/src/components/MessageOverlay/MessageOverlay.tsx +5 -3
  259. package/src/components/Thread/components/ThreadFooterComponent.tsx +2 -1
  260. package/src/contexts/channelContext/ChannelContext.tsx +5 -0
  261. package/src/contexts/messageInputContext/MessageInputContext.tsx +81 -69
  262. package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +3 -3
  263. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +2 -2
  264. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +2 -2
  265. package/src/contexts/messagesContext/MessagesContext.tsx +2 -2
  266. package/src/contexts/themeContext/utils/theme.ts +2 -7
  267. package/src/hooks/index.ts +1 -0
  268. package/src/hooks/useViewport.ts +41 -0
  269. package/src/i18n/en.json +6 -1
  270. package/src/i18n/es.json +77 -0
  271. package/src/i18n/fr.json +65 -60
  272. package/src/i18n/he.json +6 -1
  273. package/src/i18n/hi.json +65 -60
  274. package/src/i18n/it.json +65 -60
  275. package/src/i18n/ja.json +6 -1
  276. package/src/i18n/ko.json +6 -1
  277. package/src/i18n/nl.json +65 -60
  278. package/src/i18n/ru.json +65 -60
  279. package/src/i18n/tr.json +65 -60
  280. package/src/native.ts +5 -1
  281. package/src/types/types.ts +29 -10
  282. package/src/utils/Streami18n.ts +13 -6
  283. package/src/utils/compressImage.ts +32 -0
  284. package/src/utils/utils.ts +0 -13
  285. package/src/version.json +1 -1
@@ -8,6 +8,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactNative = require("react-native");
11
+ var _dayjs = _interopRequireDefault(require("dayjs"));
11
12
  var _UploadProgressIndicator = require("./UploadProgressIndicator");
12
13
  var _contexts = require("../../contexts");
13
14
  var _MessageInputContext = require("../../contexts/messageInputContext/MessageInputContext");
@@ -99,6 +100,15 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
99
100
  grey = _useTheme$theme$color.grey,
100
101
  grey_dark = _useTheme$theme$color.grey_dark,
101
102
  fileSizeText = _useTheme$theme.messageInput.fileUploadPreview.fileSizeText;
103
+ var ONE_HOUR_IN_SECONDS = 3600;
104
+ var durationLabel = '00:00';
105
+ var videoDuration = item.file.duration;
106
+ if (videoDuration) {
107
+ var isDurationLongerThanHour = videoDuration / ONE_HOUR_IN_SECONDS >= 1;
108
+ var formattedDurationParam = isDurationLongerThanHour ? 'HH:mm:ss' : 'mm:ss';
109
+ var formattedVideoDuration = _dayjs["default"].duration(videoDuration, 'second').format(formattedDurationParam);
110
+ durationLabel = formattedVideoDuration;
111
+ }
102
112
  var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
103
113
  t = _useTranslationContex.t;
104
114
  return indicatorType === _utils.ProgressIndicatorTypes.NOT_SUPPORTED ? _react["default"].createElement(_reactNative.View, {
@@ -106,7 +116,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
106
116
  __self: _this,
107
117
  __source: {
108
118
  fileName: _jsxFileName,
109
- lineNumber: 107,
119
+ lineNumber: 121,
110
120
  columnNumber: 5
111
121
  }
112
122
  }, _react["default"].createElement(_Warning.Warning, {
@@ -117,7 +127,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
117
127
  __self: _this,
118
128
  __source: {
119
129
  fileName: _jsxFileName,
120
- lineNumber: 108,
130
+ lineNumber: 122,
121
131
  columnNumber: 7
122
132
  }
123
133
  }), _react["default"].createElement(_reactNative.Text, {
@@ -127,7 +137,7 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
127
137
  __self: _this,
128
138
  __source: {
129
139
  fileName: _jsxFileName,
130
- lineNumber: 114,
140
+ lineNumber: 128,
131
141
  columnNumber: 7
132
142
  }
133
143
  }, t('File type not supported'))) : _react["default"].createElement(_WritingDirectionAwareText.WritingDirectionAwareText, {
@@ -137,10 +147,10 @@ var UnsupportedFileTypeOrFileSizeIndicator = function UnsupportedFileTypeOrFileS
137
147
  __self: _this,
138
148
  __source: {
139
149
  fileName: _jsxFileName,
140
- lineNumber: 119,
150
+ lineNumber: 133,
141
151
  columnNumber: 5
142
152
  }
143
- }, item.file.duration || (0, _FileAttachment.getFileSizeDisplayText)(item.file.size));
153
+ }, videoDuration ? durationLabel : (0, _FileAttachment.getFileSizeDisplayText)(item.file.size));
144
154
  };
145
155
  var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props) {
146
156
  var AudioAttachment = props.AudioAttachment,
@@ -225,7 +235,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
225
235
  __self: _this,
226
236
  __source: {
227
237
  fileName: _jsxFileName,
228
- lineNumber: 224,
238
+ lineNumber: 238,
229
239
  columnNumber: 9
230
240
  }
231
241
  }, (_item$file$mimeType = item.file.mimeType) != null && _item$file$mimeType.startsWith('audio/') && (0, _native.isAudioPackageAvailable)() ? _react["default"].createElement(_reactNative.View, {
@@ -235,7 +245,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
235
245
  __self: _this,
236
246
  __source: {
237
247
  fileName: _jsxFileName,
238
- lineNumber: 232,
248
+ lineNumber: 246,
239
249
  columnNumber: 13
240
250
  }
241
251
  }, _react["default"].createElement(_reactNative.View, {
@@ -250,7 +260,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
250
260
  __self: _this,
251
261
  __source: {
252
262
  fileName: _jsxFileName,
253
- lineNumber: 238,
263
+ lineNumber: 252,
254
264
  columnNumber: 15
255
265
  }
256
266
  }, _react["default"].createElement(AudioAttachment, {
@@ -262,7 +272,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
262
272
  __self: _this,
263
273
  __source: {
264
274
  fileName: _jsxFileName,
265
- lineNumber: 255,
275
+ lineNumber: 269,
266
276
  columnNumber: 17
267
277
  }
268
278
  }))) : _react["default"].createElement(_reactNative.View, {
@@ -275,7 +285,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
275
285
  __self: _this,
276
286
  __source: {
277
287
  fileName: _jsxFileName,
278
- lineNumber: 265,
288
+ lineNumber: 279,
279
289
  columnNumber: 13
280
290
  }
281
291
  }, _react["default"].createElement(_reactNative.View, {
@@ -283,7 +293,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
283
293
  __self: _this,
284
294
  __source: {
285
295
  fileName: _jsxFileName,
286
- lineNumber: 280,
296
+ lineNumber: 294,
287
297
  columnNumber: 15
288
298
  }
289
299
  }, _react["default"].createElement(_reactNative.View, {
@@ -291,7 +301,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
291
301
  __self: _this,
292
302
  __source: {
293
303
  fileName: _jsxFileName,
294
- lineNumber: 281,
304
+ lineNumber: 295,
295
305
  columnNumber: 17
296
306
  }
297
307
  }, _react["default"].createElement(FileAttachmentIcon, {
@@ -299,7 +309,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
299
309
  __self: _this,
300
310
  __source: {
301
311
  fileName: _jsxFileName,
302
- lineNumber: 282,
312
+ lineNumber: 296,
303
313
  columnNumber: 19
304
314
  }
305
315
  })), _react["default"].createElement(_reactNative.View, {
@@ -307,7 +317,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
307
317
  __self: _this,
308
318
  __source: {
309
319
  fileName: _jsxFileName,
310
- lineNumber: 284,
320
+ lineNumber: 298,
311
321
  columnNumber: 17
312
322
  }
313
323
  }, _react["default"].createElement(_reactNative.Text, {
@@ -323,7 +333,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
323
333
  __self: _this,
324
334
  __source: {
325
335
  fileName: _jsxFileName,
326
- lineNumber: 285,
336
+ lineNumber: 299,
327
337
  columnNumber: 19
328
338
  }
329
339
  }, item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)), indicatorType !== null && _react["default"].createElement(UnsupportedFileTypeOrFileSizeIndicator, {
@@ -332,7 +342,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
332
342
  __self: _this,
333
343
  __source: {
334
344
  fileName: _jsxFileName,
335
- lineNumber: 305,
345
+ lineNumber: 319,
336
346
  columnNumber: 21
337
347
  }
338
348
  })))), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -346,7 +356,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
346
356
  __self: _this,
347
357
  __source: {
348
358
  fileName: _jsxFileName,
349
- lineNumber: 314,
359
+ lineNumber: 328,
350
360
  columnNumber: 11
351
361
  }
352
362
  }, _react["default"].createElement(_Close.Close, {
@@ -354,7 +364,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
354
364
  __self: _this,
355
365
  __source: {
356
366
  fileName: _jsxFileName,
357
- lineNumber: 321,
367
+ lineNumber: 335,
358
368
  columnNumber: 13
359
369
  }
360
370
  }))));
@@ -390,7 +400,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
390
400
  __self: _this,
391
401
  __source: {
392
402
  fileName: _jsxFileName,
393
- lineNumber: 337,
403
+ lineNumber: 351,
394
404
  columnNumber: 5
395
405
  }
396
406
  }) : null;
@@ -426,7 +436,7 @@ var FileUploadPreview = function FileUploadPreview(props) {
426
436
  __self: _this,
427
437
  __source: {
428
438
  fileName: _jsxFileName,
429
- lineNumber: 402,
439
+ lineNumber: 416,
430
440
  columnNumber: 5
431
441
  }
432
442
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_UploadProgressIndicator","_contexts","_MessageInputContext","_MessagesContext","_ThemeContext","_TranslationContext","_Close","_Warning","_native","_utils","_FileAttachment","_WritingDirectionAwareText","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","marginTop","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","UnsupportedFileTypeOrFileSizeIndicator","_ref","indicatorType","item","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","_useTranslationContex","useTranslationContext","t","ProgressIndicatorTypes","NOT_SUPPORTED","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","Warning","pathFill","Text","color","WritingDirectionAwareText","file","duration","getFileSizeDisplayText","size","FileUploadPreviewWithContext","props","AudioAttachment","enableOfflineSupport","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","useRef","_useState","useState","_useState2","_slicedToArray2","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","_extends2","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","_useTheme2","_useTheme2$theme","_useTheme2$theme$colo","black","grey_gainsboro","grey_whisper","white","_useTheme2$theme$mess","audioAttachmentFileContainer","renderItem","_ref2","_item$file$mimeType","getIndicatorTypeForFileState","state","lastIndexOfDot","name","lastIndexOf","Fragment","UploadProgressIndicator","action","newFile","type","mimeType","startsWith","isAudioPackageAvailable","FileState","UPLOADED","length","backgroundColor","borderColor","testID","numberOfLines","I18nManager","isRTL","writingDirection","slice","TouchableOpacity","onPress","Close","fileUploadsLength","useEffect","current","setTimeout","_flatListRef$current","scrollToEnd","FlatList","data","getItemLayout","_","offset","keyExtractor","onLayout","_ref3","nativeEvent","layout","ref","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","_useChatContext","useChatContext","_useMessageInputConte","useMessageInputContext","_useMessagesContext","useMessagesContext","exports","displayName"],"sources":["FileUploadPreview.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport { isAudioPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { FileState, getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport { WritingDirectionAwareText } from '../RTLComponents/WritingDirectionAwareText';\n\nconst FILE_PREVIEW_HEIGHT = 60;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n fileIcon: {\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingHorizontal: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n marginTop: 2,\n },\n unsupportedFile: {\n flexDirection: 'row',\n paddingLeft: 10,\n },\n unsupportedFileText: {\n fontSize: 12,\n marginHorizontal: 4,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 2,\n },\n});\n\nconst UnsupportedFileTypeOrFileSizeIndicator = ({\n indicatorType,\n item,\n}: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes];\n item: FileUpload;\n}) => {\n const {\n theme: {\n colors: { accent_red, grey, grey_dark },\n messageInput: {\n fileUploadPreview: { fileSizeText },\n },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={styles.unsupportedFile}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.unsupportedFileText, { color: grey_dark }]}>\n {t('File type not supported')}\n </Text>\n </View>\n ) : (\n <WritingDirectionAwareText style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {item.file.duration || getFileSizeDisplayText(item.file.size)}\n </WritingDirectionAwareText>\n );\n};\n\ntype FileUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'fileUploads' | 'removeFile' | 'uploadFile' | 'setFileUploads'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'AudioAttachment' | 'FileAttachmentIcon'> &\n Pick<ChatContextValue<StreamChatGenerics>, 'enableOfflineSupport'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n enableOfflineSupport,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n duration: fileUpload.id === index ? duration : fileUpload.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n progress:\n fileUpload.id === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: fileUpload.id !== index,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, enableOfflineSupport);\n\n const lastIndexOfDot = item.file.name.lastIndexOf('.');\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n style={styles.overlay}\n type={indicatorType}\n >\n {item.file.mimeType?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.mimeType} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { fileUploads, removeFile, setFileUploads, uploadFile } =\n useMessageInputContext<StreamChatGenerics>();\n const { AudioAttachment, FileAttachmentIcon } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedFileUploadPreview\n {...{\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n }}\n {...{ enableOfflineSupport }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_dayjs","_interopRequireDefault","_UploadProgressIndicator","_contexts","_MessageInputContext","_MessagesContext","_ThemeContext","_TranslationContext","_Close","_Warning","_native","_utils","_FileAttachment","_WritingDirectionAwareText","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FILE_PREVIEW_HEIGHT","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","paddingLeft","paddingRight","fileContentContainer","fileIcon","alignItems","alignSelf","filenameText","fontSize","fontWeight","paddingHorizontal","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","marginTop","unsupportedFile","unsupportedFileText","marginHorizontal","warningIconStyle","UnsupportedFileTypeOrFileSizeIndicator","_ref","indicatorType","item","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_red","grey","grey_dark","messageInput","fileUploadPreview","ONE_HOUR_IN_SECONDS","durationLabel","videoDuration","file","duration","isDurationLongerThanHour","formattedDurationParam","formattedVideoDuration","dayjs","format","_useTranslationContex","useTranslationContext","t","ProgressIndicatorTypes","NOT_SUPPORTED","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","Warning","pathFill","Text","color","WritingDirectionAwareText","getFileSizeDisplayText","size","FileUploadPreviewWithContext","props","AudioAttachment","enableOfflineSupport","FileAttachmentIcon","fileUploads","removeFile","setFileUploads","uploadFile","flatListRef","useRef","_useState","useState","_useState2","_slicedToArray2","flatListWidth","setFlatListWidth","onLoad","index","prevFileUploads","map","fileUpload","_extends2","id","onProgress","currentTime","hasEnd","progress","onPlayPause","pausedStatus","paused","_useTheme2","_useTheme2$theme","_useTheme2$theme$colo","black","grey_gainsboro","grey_whisper","white","_useTheme2$theme$mess","audioAttachmentFileContainer","renderItem","_ref2","_item$file$mimeType","getIndicatorTypeForFileState","state","lastIndexOfDot","name","lastIndexOf","Fragment","UploadProgressIndicator","action","newFile","type","mimeType","startsWith","isAudioPackageAvailable","FileState","UPLOADED","length","backgroundColor","borderColor","testID","numberOfLines","I18nManager","isRTL","writingDirection","slice","TouchableOpacity","onPress","Close","fileUploadsLength","useEffect","current","setTimeout","_flatListRef$current","scrollToEnd","FlatList","data","getItemLayout","_","offset","keyExtractor","onLayout","_ref3","nativeEvent","layout","ref","areEqual","prevProps","nextProps","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","_useChatContext","useChatContext","_useMessageInputConte","useMessageInputContext","_useMessagesContext","useMessagesContext","exports","displayName"],"sources":["FileUploadPreview.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport dayjs from 'dayjs';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport { isAudioPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics, FileUpload } from '../../types/types';\nimport { FileState, getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport { WritingDirectionAwareText } from '../RTLComponents/WritingDirectionAwareText';\n\nconst FILE_PREVIEW_HEIGHT = 60;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n fileIcon: {\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingHorizontal: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n marginTop: 2,\n },\n unsupportedFile: {\n flexDirection: 'row',\n paddingLeft: 10,\n },\n unsupportedFileText: {\n fontSize: 12,\n marginHorizontal: 4,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 2,\n },\n});\n\nconst UnsupportedFileTypeOrFileSizeIndicator = ({\n indicatorType,\n item,\n}: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes];\n item: FileUpload;\n}) => {\n const {\n theme: {\n colors: { accent_red, grey, grey_dark },\n messageInput: {\n fileUploadPreview: { fileSizeText },\n },\n },\n } = useTheme();\n\n const ONE_HOUR_IN_SECONDS = 3600;\n let durationLabel = '00:00';\n const videoDuration = item.file.duration;\n\n if (videoDuration) {\n const isDurationLongerThanHour = videoDuration / ONE_HOUR_IN_SECONDS >= 1;\n const formattedDurationParam = isDurationLongerThanHour ? 'HH:mm:ss' : 'mm:ss';\n const formattedVideoDuration = dayjs\n .duration(videoDuration, 'second')\n .format(formattedDurationParam);\n durationLabel = formattedVideoDuration;\n }\n\n const { t } = useTranslationContext();\n\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={styles.unsupportedFile}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.unsupportedFileText, { color: grey_dark }]}>\n {t('File type not supported')}\n </Text>\n </View>\n ) : (\n <WritingDirectionAwareText style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {videoDuration ? durationLabel : getFileSizeDisplayText(item.file.size)}\n </WritingDirectionAwareText>\n );\n};\n\ntype FileUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'fileUploads' | 'removeFile' | 'uploadFile' | 'setFileUploads'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'AudioAttachment' | 'FileAttachmentIcon'> &\n Pick<ChatContextValue<StreamChatGenerics>, 'enableOfflineSupport'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n AudioAttachment,\n enableOfflineSupport,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n duration: fileUpload.id === index ? duration : fileUpload.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n progress:\n fileUpload.id === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: fileUpload.id !== index,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { black, grey_dark, grey_gainsboro, grey_whisper, white },\n messageInput: {\n fileUploadPreview: {\n audioAttachmentFileContainer,\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, enableOfflineSupport);\n\n const lastIndexOfDot = item.file.name.lastIndexOf('.');\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n style={styles.overlay}\n type={indicatorType}\n >\n {item.file.mimeType?.startsWith('audio/') && isAudioPackageAvailable() ? (\n <View\n style={[\n { marginBottom: item.state === FileState.UPLOADED ? 8 : 0 },\n audioAttachmentFileContainer,\n ]}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n fileContainer,\n ]}\n testID='audio-attachment-upload-preview'\n >\n <AudioAttachment\n item={item}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-upload-preview'\n />\n </View>\n </View>\n ) : (\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <View style={styles.fileIcon}>\n <FileAttachmentIcon mimeType={item.file.mimeType} />\n </View>\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n I18nManager.isRTL ? { writingDirection: 'rtl' } : { writingDirection: 'ltr' },\n filenameText,\n ]}\n >\n {item.file.name.slice(0, 12) + '...' + item.file.name.slice(lastIndexOfDot)}\n </Text>\n {indicatorType !== null && (\n <UnsupportedFileTypeOrFileSizeIndicator\n indicatorType={indicatorType}\n item={item}\n />\n )}\n </View>\n </View>\n </View>\n )}\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: grey_gainsboro }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close pathFill={grey_dark} />\n </TouchableOpacity>\n </UploadProgressIndicator>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => `${item.id}`}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) =>\n prevFileUpload.state === nextFileUploads[index].state &&\n prevFileUpload.paused === nextFileUploads[index].paused &&\n prevFileUpload.progress === nextFileUploads[index].progress &&\n prevFileUpload.duration === nextFileUploads[index].duration,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { fileUploads, removeFile, setFileUploads, uploadFile } =\n useMessageInputContext<StreamChatGenerics>();\n const { AudioAttachment, FileAttachmentIcon } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedFileUploadPreview\n {...{\n AudioAttachment,\n FileAttachmentIcon,\n fileUploads,\n removeFile,\n setFileUploads,\n uploadFile,\n }}\n {...{ enableOfflineSupport }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"],"mappings":"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"}
@@ -92,7 +92,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
92
92
  __self: _this,
93
93
  __source: {
94
94
  fileName: _jsxFileName,
95
- lineNumber: 119,
95
+ lineNumber: 118,
96
96
  columnNumber: 7
97
97
  }
98
98
  }, _react["default"].createElement(_reactNative.View, {
@@ -100,7 +100,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
100
100
  __self: _this,
101
101
  __source: {
102
102
  fileName: _jsxFileName,
103
- lineNumber: 120,
103
+ lineNumber: 119,
104
104
  columnNumber: 9
105
105
  }
106
106
  }, _react["default"].createElement(_Warning.Warning, {
@@ -111,7 +111,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
111
111
  __self: _this,
112
112
  __source: {
113
113
  fileName: _jsxFileName,
114
- lineNumber: 121,
114
+ lineNumber: 120,
115
115
  columnNumber: 11
116
116
  }
117
117
  }), _react["default"].createElement(_reactNative.Text, {
@@ -121,7 +121,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
121
121
  __self: _this,
122
122
  __source: {
123
123
  fileName: _jsxFileName,
124
- lineNumber: 127,
124
+ lineNumber: 126,
125
125
  columnNumber: 11
126
126
  }
127
127
  }, t('Not supported')))) : null;
@@ -138,7 +138,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
138
138
  __self: _this,
139
139
  __source: {
140
140
  fileName: _jsxFileName,
141
- lineNumber: 138,
141
+ lineNumber: 137,
142
142
  columnNumber: 7
143
143
  }
144
144
  }, _react["default"].createElement(_UploadProgressIndicator.UploadProgressIndicator, {
@@ -152,7 +152,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
152
152
  __self: _this,
153
153
  __source: {
154
154
  fileName: _jsxFileName,
155
- lineNumber: 139,
155
+ lineNumber: 138,
156
156
  columnNumber: 9
157
157
  }
158
158
  }, _react["default"].createElement(_reactNative.Image, {
@@ -164,7 +164,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
164
164
  __self: _this,
165
165
  __source: {
166
166
  fileName: _jsxFileName,
167
- lineNumber: 146,
167
+ lineNumber: 145,
168
168
  columnNumber: 11
169
169
  }
170
170
  })), _react["default"].createElement(DismissUpload, {
@@ -174,7 +174,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
174
174
  __self: _this,
175
175
  __source: {
176
176
  fileName: _jsxFileName,
177
- lineNumber: 152,
177
+ lineNumber: 151,
178
178
  columnNumber: 9
179
179
  }
180
180
  }), _react["default"].createElement(UnsupportedImageTypeIndicator, {
@@ -182,7 +182,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
182
182
  __self: _this,
183
183
  __source: {
184
184
  fileName: _jsxFileName,
185
- lineNumber: 157,
185
+ lineNumber: 156,
186
186
  columnNumber: 9
187
187
  }
188
188
  }));
@@ -205,7 +205,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
205
205
  __self: _this,
206
206
  __source: {
207
207
  fileName: _jsxFileName,
208
- lineNumber: 163,
208
+ lineNumber: 162,
209
209
  columnNumber: 5
210
210
  }
211
211
  }) : null;
@@ -229,7 +229,7 @@ var DismissUpload = function DismissUpload(_ref3) {
229
229
  __self: _this,
230
230
  __source: {
231
231
  fileName: _jsxFileName,
232
- lineNumber: 191,
232
+ lineNumber: 190,
233
233
  columnNumber: 5
234
234
  }
235
235
  }, _react["default"].createElement(_Close.Close, {
@@ -237,7 +237,7 @@ var DismissUpload = function DismissUpload(_ref3) {
237
237
  __self: _this,
238
238
  __source: {
239
239
  fileName: _jsxFileName,
240
- lineNumber: 196,
240
+ lineNumber: 195,
241
241
  columnNumber: 7
242
242
  }
243
243
  }));
@@ -266,7 +266,7 @@ var ImageUploadPreview = function ImageUploadPreview(props) {
266
266
  __self: _this,
267
267
  __source: {
268
268
  fileName: _jsxFileName,
269
- lineNumber: 233,
269
+ lineNumber: 232,
270
270
  columnNumber: 5
271
271
  }
272
272
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_UploadProgressIndicator","_contexts","_MessageInputContext","_ThemeContext","_TranslationContext","_Close","_Warning","_utils","_this","_jsxFileName","IMAGE_PREVIEW_SIZE","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","fileSizeText","fontSize","paddingHorizontal","flatList","paddingBottom","iconContainer","alignItems","flexDirection","justifyContent","itemContainer","height","marginLeft","unsupportedImage","bottom","marginHorizontal","upload","width","warningIconStyle","marginTop","warningText","color","ImageUploadPreviewWithContext","props","enableOfflineSupport","imageUploads","removeImage","uploadImage","_useTheme","useTheme","_useTheme$theme$messa","theme","messageInput","imageUploadPreview","UnsupportedImageTypeIndicator","_ref","indicatorType","_useTheme2","_useTheme2$theme$colo","colors","accent_red","overlay","white","_useTranslationContex","useTranslationContext","t","ProgressIndicatorTypes","NOT_SUPPORTED","createElement","View","style","backgroundColor","__self","__source","fileName","lineNumber","columnNumber","Warning","pathFill","Text","renderItem","_ref2","index","item","getIndicatorTypeForFileState","state","itemMarginForIndex","length","marginRight","UploadProgressIndicator","action","newImage","type","Image","resizeMode","source","uri","file","url","DismissUpload","onPress","id","FlatList","data","getItemLayout","_","offset","horizontal","keyExtractor","_ref3","_useTheme3","_useTheme3$theme","_useTheme3$theme$colo","_useTheme3$theme$mess","dismissIconColor","TouchableOpacity","testID","Close","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","_useChatContext","useChatContext","_useMessageInputConte","useMessageInputContext","_extends2","exports","displayName"],"sources":["ImageUploadPreview.tsx"],"sourcesContent":["import React from 'react';\nimport {\n FlatList,\n Image,\n StyleSheet,\n Text,\n TouchableOpacity,\n TouchableOpacityProps,\n View,\n} from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n flatList: { paddingBottom: 12 },\n iconContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n unsupportedImage: {\n borderRadius: 20,\n bottom: 8,\n flexDirection: 'row',\n marginHorizontal: 3,\n position: 'absolute',\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 6,\n },\n warningText: {\n alignItems: 'center',\n color: 'black',\n fontSize: 10,\n justifyContent: 'center',\n marginHorizontal: 4,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n> &\n Pick<ChatContextValue<StreamChatGenerics>, 'enableOfflineSupport'>;\n\nexport type ImageUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ImageUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\ntype ImageUploadPreviewItem = { index: number; item: ImageUpload };\n\nconst ImageUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport, imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n messageInput: {\n imageUploadPreview: { flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const UnsupportedImageTypeIndicator = ({\n indicatorType,\n }: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes] | null;\n }) => {\n const {\n theme: {\n colors: { accent_red, overlay, white },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={[styles.unsupportedImage, { backgroundColor: overlay }]}>\n <View style={[styles.iconContainer]}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.warningText, { color: white }]}>{t('Not supported')}</Text>\n </View>\n </View>\n ) : null;\n };\n\n const renderItem = ({ index, item }: ImageUploadPreviewItem) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, enableOfflineSupport);\n const itemMarginForIndex = index === imageUploads.length - 1 ? { marginRight: 8 } : {};\n\n return (\n <View style={[styles.itemContainer, itemMarginForIndex, itemContainer]}>\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n style={styles.upload}\n type={indicatorType}\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <DismissUpload\n onPress={() => {\n removeImage(item.id);\n }}\n />\n <UnsupportedImageTypeIndicator indicatorType={indicatorType} />\n </View>\n );\n };\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\ntype DismissUploadProps = Pick<TouchableOpacityProps, 'onPress'>;\n\nconst DismissUpload = ({ onPress }: DismissUploadProps) => {\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, dismissIconColor },\n },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n onPress={onPress}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={dismissIconColor || white} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { imageUploads, removeImage, uploadImage } = useMessageInputContext<StreamChatGenerics>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...{ enableOfflineSupport }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_UploadProgressIndicator","_contexts","_MessageInputContext","_ThemeContext","_TranslationContext","_Close","_Warning","_utils","_this","_jsxFileName","IMAGE_PREVIEW_SIZE","WARNING_ICON_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","fileSizeText","fontSize","paddingHorizontal","flatList","paddingBottom","iconContainer","alignItems","flexDirection","justifyContent","itemContainer","height","marginLeft","unsupportedImage","bottom","marginHorizontal","upload","width","warningIconStyle","marginTop","warningText","color","ImageUploadPreviewWithContext","props","enableOfflineSupport","imageUploads","removeImage","uploadImage","_useTheme","useTheme","_useTheme$theme$messa","theme","messageInput","imageUploadPreview","UnsupportedImageTypeIndicator","_ref","indicatorType","_useTheme2","_useTheme2$theme$colo","colors","accent_red","overlay","white","_useTranslationContex","useTranslationContext","t","ProgressIndicatorTypes","NOT_SUPPORTED","createElement","View","style","backgroundColor","__self","__source","fileName","lineNumber","columnNumber","Warning","pathFill","Text","renderItem","_ref2","index","item","getIndicatorTypeForFileState","state","itemMarginForIndex","length","marginRight","UploadProgressIndicator","action","newImage","type","Image","resizeMode","source","uri","file","url","DismissUpload","onPress","id","FlatList","data","getItemLayout","_","offset","horizontal","keyExtractor","_ref3","_useTheme3","_useTheme3$theme","_useTheme3$theme$colo","_useTheme3$theme$mess","dismissIconColor","TouchableOpacity","testID","Close","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","_useChatContext","useChatContext","_useMessageInputConte","useMessageInputContext","_extends2","exports","displayName"],"sources":["ImageUploadPreview.tsx"],"sourcesContent":["import React from 'react';\nimport {\n FlatList,\n Image,\n StyleSheet,\n Text,\n TouchableOpacity,\n TouchableOpacityProps,\n View,\n} from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../icons/Close';\nimport { Warning } from '../../icons/Warning';\nimport type { DefaultStreamChatGenerics, ImageUpload } from '../../types/types';\nimport { getIndicatorTypeForFileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\nconst WARNING_ICON_SIZE = 16;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n fileSizeText: {\n fontSize: 12,\n paddingHorizontal: 10,\n },\n flatList: { paddingBottom: 12 },\n iconContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n unsupportedImage: {\n borderRadius: 20,\n bottom: 8,\n flexDirection: 'row',\n marginHorizontal: 3,\n position: 'absolute',\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n warningIconStyle: {\n borderRadius: 24,\n marginTop: 6,\n },\n warningText: {\n alignItems: 'center',\n color: 'black',\n fontSize: 10,\n justifyContent: 'center',\n marginHorizontal: 4,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n> &\n Pick<ChatContextValue<StreamChatGenerics>, 'enableOfflineSupport'>;\n\nexport type ImageUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ImageUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\ntype ImageUploadPreviewItem = { index: number; item: ImageUpload };\n\nconst ImageUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport, imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n messageInput: {\n imageUploadPreview: { flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const UnsupportedImageTypeIndicator = ({\n indicatorType,\n }: {\n indicatorType: typeof ProgressIndicatorTypes[keyof typeof ProgressIndicatorTypes] | null;\n }) => {\n const {\n theme: {\n colors: { accent_red, overlay, white },\n },\n } = useTheme();\n\n const { t } = useTranslationContext();\n return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (\n <View style={[styles.unsupportedImage, { backgroundColor: overlay }]}>\n <View style={[styles.iconContainer]}>\n <Warning\n height={WARNING_ICON_SIZE}\n pathFill={accent_red}\n style={styles.warningIconStyle}\n width={WARNING_ICON_SIZE}\n />\n <Text style={[styles.warningText, { color: white }]}>{t('Not supported')}</Text>\n </View>\n </View>\n ) : null;\n };\n\n const renderItem = ({ index, item }: ImageUploadPreviewItem) => {\n const indicatorType = getIndicatorTypeForFileState(item.state, enableOfflineSupport);\n const itemMarginForIndex = index === imageUploads.length - 1 ? { marginRight: 8 } : {};\n\n return (\n <View style={[styles.itemContainer, itemMarginForIndex, itemContainer]}>\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n style={styles.upload}\n type={indicatorType}\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <DismissUpload\n onPress={() => {\n removeImage(item.id);\n }}\n />\n <UnsupportedImageTypeIndicator indicatorType={indicatorType} />\n </View>\n );\n };\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\ntype DismissUploadProps = Pick<TouchableOpacityProps, 'onPress'>;\n\nconst DismissUpload = ({ onPress }: DismissUploadProps) => {\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, dismissIconColor },\n },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n onPress={onPress}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={dismissIconColor || white} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { imageUploads, removeImage, uploadImage } = useMessageInputContext<StreamChatGenerics>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...{ enableOfflineSupport }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,wBAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAIA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,MAAA,GAAAT,OAAA;AAAyF,IAAAU,KAAA;EAAAC,YAAA;AAEzF,IAAMC,kBAAkB,GAAG,GAAG;AAC9B,IAAMC,iBAAiB,GAAG,EAAE;AAE5B,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,OAAO,EAAE;IACPC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,CAAC;IACRC,GAAG,EAAE;EACP,CAAC;EACDC,YAAY,EAAE;IACZC,QAAQ,EAAE,EAAE;IACZC,iBAAiB,EAAE;EACrB,CAAC;EACDC,QAAQ,EAAE;IAAEC,aAAa,EAAE;EAAG,CAAC;EAC/BC,aAAa,EAAE;IACbC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDC,aAAa,EAAE;IACbF,aAAa,EAAE,KAAK;IACpBG,MAAM,EAAEpB,kBAAkB;IAC1BqB,UAAU,EAAE;EACd,CAAC;EACDC,gBAAgB,EAAE;IAChBhB,YAAY,EAAE,EAAE;IAChBiB,MAAM,EAAE,CAAC;IACTN,aAAa,EAAE,KAAK;IACpBO,gBAAgB,EAAE,CAAC;IACnBjB,QAAQ,EAAE;EACZ,CAAC;EACDkB,MAAM,EAAE;IACNnB,YAAY,EAAE,EAAE;IAChBc,MAAM,EAAEpB,kBAAkB;IAC1B0B,KAAK,EAAE1B;EACT,CAAC;EACD2B,gBAAgB,EAAE;IAChBrB,YAAY,EAAE,EAAE;IAChBsB,SAAS,EAAE;EACb,CAAC;EACDC,WAAW,EAAE;IACXb,UAAU,EAAE,QAAQ;IACpBc,KAAK,EAAE,OAAO;IACdnB,QAAQ,EAAE,EAAE;IACZO,cAAc,EAAE,QAAQ;IACxBM,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAgBF,IAAMO,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAGjCC,KAA6D,EAC1D;EACH,IAAQC,oBAAoB,GAA6CD,KAAK,CAAtEC,oBAAoB;IAAEC,YAAY,GAA+BF,KAAK,CAAhDE,YAAY;IAAEC,WAAW,GAAkBH,KAAK,CAAlCG,WAAW;IAAEC,WAAW,GAAKJ,KAAK,CAArBI,WAAW;EAEpE,IAAAC,SAAA,GAMI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,qBAAA,GAAAF,SAAA,CALZG,KAAK,CACHC,YAAY,CACVC,kBAAkB;IAAI7B,QAAQ,GAAA0B,qBAAA,CAAR1B,QAAQ;IAAEM,aAAa,GAAAoB,qBAAA,CAAbpB,aAAa;IAAEM,MAAM,GAAAc,qBAAA,CAANd,MAAM;EAK3D,IAAMkB,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAAC,IAAA,EAI7B;IAAA,IAHJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAIb,IAAAC,UAAA,GAII,IAAAR,sBAAQ,EAAC,CAAC;MAAAS,qBAAA,GAAAD,UAAA,CAHZN,KAAK,CACHQ,MAAM;MAAIC,UAAU,GAAAF,qBAAA,CAAVE,UAAU;MAAEC,OAAO,GAAAH,qBAAA,CAAPG,OAAO;MAAEC,KAAK,GAAAJ,qBAAA,CAALI,KAAK;IAIxC,IAAAC,qBAAA,GAAc,IAAAC,yCAAqB,EAAC,CAAC;MAA7BC,CAAC,GAAAF,qBAAA,CAADE,CAAC;IACT,OAAOT,aAAa,KAAKU,6BAAsB,CAACC,aAAa,GAC3DtE,MAAA,YAAAuE,aAAA,CAACpE,YAAA,CAAAqE,IAAI;MAACC,KAAK,EAAE,CAACzD,MAAM,CAACoB,gBAAgB,EAAE;QAAEsC,eAAe,EAAEV;MAAQ,CAAC,CAAE;MAAAW,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,GACnE/E,MAAA,YAAAuE,aAAA,CAACpE,YAAA,CAAAqE,IAAI;MAACC,KAAK,EAAE,CAACzD,MAAM,CAACa,aAAa,CAAE;MAAA8C,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,GAClC/E,MAAA,YAAAuE,aAAA,CAAC7D,QAAA,CAAAsE,OAAO;MACN9C,MAAM,EAAEnB,iBAAkB;MAC1BkE,QAAQ,EAAElB,UAAW;MACrBU,KAAK,EAAEzD,MAAM,CAACyB,gBAAiB;MAC/BD,KAAK,EAAEzB,iBAAkB;MAAA4D,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,CAC1B,CAAC,EACF/E,MAAA,YAAAuE,aAAA,CAACpE,YAAA,CAAA+E,IAAI;MAACT,KAAK,EAAE,CAACzD,MAAM,CAAC2B,WAAW,EAAE;QAAEC,KAAK,EAAEqB;MAAM,CAAC,CAAE;MAAAU,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,GAAEX,CAAC,CAAC,eAAe,CAAQ,CAC3E,CACF,CAAC,GACL,IAAI;EACV,CAAC;EAED,IAAMe,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA,EAAgD;IAAA,IAA1CC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;IAC/B,IAAM3B,aAAa,GAAG,IAAA4B,mCAA4B,EAACD,IAAI,CAACE,KAAK,EAAEzC,oBAAoB,CAAC;IACpF,IAAM0C,kBAAkB,GAAGJ,KAAK,KAAKrC,YAAY,CAAC0C,MAAM,GAAG,CAAC,GAAG;MAAEC,WAAW,EAAE;IAAE,CAAC,GAAG,CAAC,CAAC;IAEtF,OACE3F,MAAA,YAAAuE,aAAA,CAACpE,YAAA,CAAAqE,IAAI;MAACC,KAAK,EAAE,CAACzD,MAAM,CAACiB,aAAa,EAAEwD,kBAAkB,EAAExD,aAAa,CAAE;MAAA0C,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,GACrE/E,MAAA,YAAAuE,aAAA,CAACnE,wBAAA,CAAAwF,uBAAuB;MACtBC,MAAM,EAAE,SAAAA,OAAA,EAAM;QACZ3C,WAAW,CAAC;UAAE4C,QAAQ,EAAER;QAAK,CAAC,CAAC;MACjC,CAAE;MACFb,KAAK,EAAEzD,MAAM,CAACuB,MAAO;MACrBwD,IAAI,EAAEpC,aAAc;MAAAgB,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,GAEpB/E,MAAA,YAAAuE,aAAA,CAACpE,YAAA,CAAA6F,KAAK;MACJC,UAAU,EAAC,OAAO;MAClBC,MAAM,EAAE;QAAEC,GAAG,EAAEb,IAAI,CAACc,IAAI,CAACD,GAAG,IAAIb,IAAI,CAACe;MAAI,CAAE;MAC3C5B,KAAK,EAAE,CAACzD,MAAM,CAACuB,MAAM,EAAEA,MAAM,CAAE;MAAAoC,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,CAChC,CACsB,CAAC,EAC1B/E,MAAA,YAAAuE,aAAA,CAAC+B,aAAa;MACZC,OAAO,EAAE,SAAAA,QAAA,EAAM;QACbtD,WAAW,CAACqC,IAAI,CAACkB,EAAE,CAAC;MACtB,CAAE;MAAA7B,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,CACH,CAAC,EACF/E,MAAA,YAAAuE,aAAA,CAACd,6BAA6B;MAACE,aAAa,EAAEA,aAAc;MAAAgB,MAAA,EAAA/D,KAAA;MAAAgE,QAAA;QAAAC,QAAA,EAAAhE,YAAA;QAAAiE,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAC1D,CAAC;EAEX,CAAC;EAED,OAAO/B,YAAY,CAAC0C,MAAM,GAAG,CAAC,GAC5B1F,MAAA,YAAAuE,aAAA,CAACpE,YAAA,CAAAsG,QAAQ;IACPC,IAAI,EAAE1D,YAAa;IACnB2D,aAAa,EAAE,SAAAA,cAACC,CAAC,EAAEvB,KAAK;MAAA,OAAM;QAC5BA,KAAK,EAALA,KAAK;QACLK,MAAM,EAAE5E,kBAAkB,GAAG,CAAC;QAC9B+F,MAAM,EAAE,CAAC/F,kBAAkB,GAAG,CAAC,IAAIuE;MACrC,CAAC;IAAA,CAAE;IACHyB,UAAU;IACVC,YAAY,EAAE,SAAAA,aAACzB,IAAI;MAAA,OAAKA,IAAI,CAACkB,EAAE;IAAA,CAAC;IAChCrB,UAAU,EAAEA,UAAW;IACvBV,KAAK,EAAE,CAACzD,MAAM,CAACW,QAAQ,EAAEA,QAAQ,CAAE;IAAAgD,MAAA,EAAA/D,KAAA;IAAAgE,QAAA;MAAAC,QAAA,EAAAhE,YAAA;MAAAiE,UAAA;MAAAC,YAAA;IAAA;EAAA,CACpC,CAAC,GACA,IAAI;AACV,CAAC;AAID,IAAMuB,aAAa,GAAG,SAAhBA,aAAaA,CAAAU,KAAA,EAAwC;EAAA,IAAlCT,OAAO,GAAAS,KAAA,CAAPT,OAAO;EAC9B,IAAAU,UAAA,GAOI,IAAA7D,sBAAQ,EAAC,CAAC;IAAA8D,gBAAA,GAAAD,UAAA,CANZ3D,KAAK;IAAA6D,qBAAA,GAAAD,gBAAA,CACHpD,MAAM;IAAIE,OAAO,GAAAmD,qBAAA,CAAPnD,OAAO;IAAEC,KAAK,GAAAkD,qBAAA,CAALlD,KAAK;IAAAmD,qBAAA,GAAAF,gBAAA,CACxB3D,YAAY,CACVC,kBAAkB;IAAIrC,OAAO,GAAAiG,qBAAA,CAAPjG,OAAO;IAAEkG,gBAAgB,GAAAD,qBAAA,CAAhBC,gBAAgB;EAKrD,OACErH,MAAA,YAAAuE,aAAA,CAACpE,YAAA,CAAAmH,gBAAgB;IACff,OAAO,EAAEA,OAAQ;IACjB9B,KAAK,EAAE,CAACzD,MAAM,CAACG,OAAO,EAAE;MAAEuD,eAAe,EAAEV;IAAQ,CAAC,EAAE7C,OAAO,CAAE;IAC/DoG,MAAM,EAAC,6BAA6B;IAAA5C,MAAA,EAAA/D,KAAA;IAAAgE,QAAA;MAAAC,QAAA,EAAAhE,YAAA;MAAAiE,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEpC/E,MAAA,YAAAuE,aAAA,CAAC9D,MAAA,CAAA+G,KAAK;IAACvC,QAAQ,EAAEoC,gBAAgB,IAAIpD,KAAM;IAAAU,MAAA,EAAA/D,KAAA;IAAAgE,QAAA;MAAAC,QAAA,EAAAhE,YAAA;MAAAiE,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC7B,CAAC;AAEvB,CAAC;AAED,IAAM0C,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAAiE,EACjEC,SAAiE,EAC9D;EACH,IAAsBC,gBAAgB,GAAKF,SAAS,CAA5C1E,YAAY;EACpB,IAAsB6E,gBAAgB,GAAKF,SAAS,CAA5C3E,YAAY;EAEpB,OACE4E,gBAAgB,CAAClC,MAAM,KAAKmC,gBAAgB,CAACnC,MAAM,IACnDkC,gBAAgB,CAACE,KAAK,CACpB,UAACC,eAAe,EAAE1C,KAAK;IAAA,OAAK0C,eAAe,CAACvC,KAAK,KAAKqC,gBAAgB,CAACxC,KAAK,CAAC,CAACG,KAAK;EAAA,CACrF,CAAC;AAEL,CAAC;AAED,IAAMwC,qCAAqC,GAAGC,iBAAK,CAACC,IAAI,CACtDrF,6BAA6B,EAC7B4E,QACF,CAAyC;AAKlC,IAAMU,kBAAkB,GAAG,SAArBA,kBAAkBA,CAG7BrF,KAAkD,EAC/C;EACH,IAAAsF,eAAA,GAAiC,IAAAC,wBAAc,EAAqB,CAAC;IAA7DtF,oBAAoB,GAAAqF,eAAA,CAApBrF,oBAAoB;EAC5B,IAAAuF,qBAAA,GAAmD,IAAAC,2CAAsB,EAAqB,CAAC;IAAvFvF,YAAY,GAAAsF,qBAAA,CAAZtF,YAAY;IAAEC,WAAW,GAAAqF,qBAAA,CAAXrF,WAAW;IAAEC,WAAW,GAAAoF,qBAAA,CAAXpF,WAAW;EAE9C,OACElD,MAAA,YAAAuE,aAAA,CAACyD,qCAAqC,MAAAQ,SAAA;IAC9BxF,YAAY,EAAZA,YAAY;IAAEC,WAAW,EAAXA,WAAW;IAAEC,WAAW,EAAXA,WAAW;IACtCH,oBAAoB,EAApBA;EAAoB,GACtBD,KAAK;IAAA6B,MAAA,EAAA/D,KAAA;IAAAgE,QAAA;MAAAC,QAAA,EAAAhE,YAAA;MAAAiE,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAAC0D,OAAA,CAAAN,kBAAA,GAAAA,kBAAA;AAEFA,kBAAkB,CAACO,WAAW,GAAG,sDAAsD"}
@@ -222,7 +222,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
222
222
  });
223
223
  return !uploadedImage;
224
224
  });
225
- if (imageToUpload && Number(imageToUpload.fileSize) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {
225
+ if (imageToUpload && Number(imageToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {
226
226
  _reactNative.Alert.alert(t("Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.", {
227
227
  MAX_FILE_SIZE_TO_UPLOAD_IN_MB: MAX_FILE_SIZE_TO_UPLOAD_IN_MB
228
228
  }));