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
@@ -13,9 +13,9 @@ var _bottomSheet = require("@gorhom/bottom-sheet");
13
13
  var _dayjs = _interopRequireDefault(require("dayjs"));
14
14
  var _mimeTypes = require("mime-types");
15
15
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
16
+ var _useViewport3 = require("../../../hooks/useViewport");
16
17
  var _icons = require("../../../icons");
17
18
  var _native = require("../../../native");
18
- var _utils = require("../../../utils/utils");
19
19
  var _this = this,
20
20
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx";
21
21
  var AttachmentVideo = function AttachmentVideo(props) {
@@ -27,6 +27,8 @@ var AttachmentVideo = function AttachmentVideo(props) {
27
27
  selected = props.selected,
28
28
  selectedFiles = props.selectedFiles,
29
29
  setSelectedFiles = props.setSelectedFiles;
30
+ var _useViewport = (0, _useViewport3.useViewport)(),
31
+ vw = _useViewport.vw;
30
32
  var _useTheme = (0, _ThemeContext.useTheme)(),
31
33
  _useTheme$theme = _useTheme.theme,
32
34
  _useTheme$theme$attac = _useTheme$theme.attachmentPicker,
@@ -46,7 +48,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
46
48
  var formattedVideoDuration = _dayjs["default"].duration(videoDuration, 'second').format(formattedDurationParam);
47
49
  durationLabel = formattedVideoDuration;
48
50
  }
49
- var size = (0, _utils.vw)(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;
51
+ var size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;
50
52
  var patchVideoFile = function () {
51
53
  var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(files) {
52
54
  var localAssetURI, uri, mimeType;
@@ -65,13 +67,13 @@ var AttachmentVideo = function AttachmentVideo(props) {
65
67
  case 5:
66
68
  localAssetURI = _context.t0;
67
69
  uri = localAssetURI || asset.uri || '';
68
- mimeType = (0, _mimeTypes.lookup)(asset.filename) || 'multipart/form-data';
70
+ mimeType = (0, _mimeTypes.lookup)(asset.name) || 'multipart/form-data';
69
71
  return _context.abrupt("return", [].concat((0, _toConsumableArray2["default"])(files), [{
70
- duration: durationLabel,
72
+ duration: asset.duration,
71
73
  id: asset.id,
72
74
  mimeType: mimeType,
73
- name: asset.filename,
74
- size: asset.fileSize,
75
+ name: asset.name,
76
+ size: asset.size,
75
77
  uri: uri
76
78
  }]));
77
79
  case 9:
@@ -128,7 +130,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
128
130
  __self: _this,
129
131
  __source: {
130
132
  fileName: _jsxFileName,
131
- lineNumber: 108,
133
+ lineNumber: 109,
132
134
  columnNumber: 5
133
135
  }
134
136
  }, _react["default"].createElement(_reactNative.ImageBackground, {
@@ -143,7 +145,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
143
145
  __self: _this,
144
146
  __source: {
145
147
  fileName: _jsxFileName,
146
- lineNumber: 109,
148
+ lineNumber: 110,
147
149
  columnNumber: 7
148
150
  }
149
151
  }, selected && _react["default"].createElement(_reactNative.View, {
@@ -153,14 +155,14 @@ var AttachmentVideo = function AttachmentVideo(props) {
153
155
  __self: _this,
154
156
  __source: {
155
157
  fileName: _jsxFileName,
156
- lineNumber: 121,
158
+ lineNumber: 122,
157
159
  columnNumber: 11
158
160
  }
159
161
  }, _react["default"].createElement(ImageOverlaySelectedComponent, {
160
162
  __self: _this,
161
163
  __source: {
162
164
  fileName: _jsxFileName,
163
- lineNumber: 122,
165
+ lineNumber: 123,
164
166
  columnNumber: 13
165
167
  }
166
168
  })), _react["default"].createElement(_reactNative.View, {
@@ -168,7 +170,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
168
170
  __self: _this,
169
171
  __source: {
170
172
  fileName: _jsxFileName,
171
- lineNumber: 125,
173
+ lineNumber: 126,
172
174
  columnNumber: 9
173
175
  }
174
176
  }, _react["default"].createElement(_icons.Recorder, {
@@ -178,7 +180,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
178
180
  __self: _this,
179
181
  __source: {
180
182
  fileName: _jsxFileName,
181
- lineNumber: 126,
183
+ lineNumber: 127,
182
184
  columnNumber: 11
183
185
  }
184
186
  }), videoDuration ? _react["default"].createElement(_reactNative.Text, {
@@ -188,7 +190,7 @@ var AttachmentVideo = function AttachmentVideo(props) {
188
190
  __self: _this,
189
191
  __source: {
190
192
  fileName: _jsxFileName,
191
- lineNumber: 128,
193
+ lineNumber: 129,
192
194
  columnNumber: 13
193
195
  }
194
196
  }, durationLabel) : null)));
@@ -208,7 +210,9 @@ var AttachmentImage = function AttachmentImage(props) {
208
210
  image = _useTheme2$theme$atta.image,
209
211
  imageOverlay = _useTheme2$theme$atta.imageOverlay,
210
212
  overlay = _useTheme2$theme.colors.overlay;
211
- var size = (0, _utils.vw)(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;
213
+ var _useViewport2 = (0, _useViewport3.useViewport)(),
214
+ vw = _useViewport2.vw;
215
+ var size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;
212
216
  var uri = asset.uri;
213
217
  var patchImageFile = function () {
214
218
  var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(images) {
@@ -285,7 +289,7 @@ var AttachmentImage = function AttachmentImage(props) {
285
289
  __self: _this,
286
290
  __source: {
287
291
  fileName: _jsxFileName,
288
- lineNumber: 195,
292
+ lineNumber: 197,
289
293
  columnNumber: 5
290
294
  }
291
295
  }, _react["default"].createElement(_reactNative.ImageBackground, {
@@ -300,7 +304,7 @@ var AttachmentImage = function AttachmentImage(props) {
300
304
  __self: _this,
301
305
  __source: {
302
306
  fileName: _jsxFileName,
303
- lineNumber: 196,
307
+ lineNumber: 198,
304
308
  columnNumber: 7
305
309
  }
306
310
  }, selected && _react["default"].createElement(_reactNative.View, {
@@ -310,14 +314,14 @@ var AttachmentImage = function AttachmentImage(props) {
310
314
  __self: _this,
311
315
  __source: {
312
316
  fileName: _jsxFileName,
313
- lineNumber: 208,
317
+ lineNumber: 210,
314
318
  columnNumber: 11
315
319
  }
316
320
  }, _react["default"].createElement(ImageOverlaySelectedComponent, {
317
321
  __self: _this,
318
322
  __source: {
319
323
  fileName: _jsxFileName,
320
- lineNumber: 209,
324
+ lineNumber: 211,
321
325
  columnNumber: 13
322
326
  }
323
327
  }))));
@@ -348,7 +352,7 @@ var renderAttachmentPickerItem = function renderAttachmentPickerItem(_ref5) {
348
352
  __self: _this,
349
353
  __source: {
350
354
  fileName: _jsxFileName,
351
- lineNumber: 241,
355
+ lineNumber: 243,
352
356
  columnNumber: 7
353
357
  }
354
358
  });
@@ -365,7 +369,7 @@ var renderAttachmentPickerItem = function renderAttachmentPickerItem(_ref5) {
365
369
  __self: _this,
366
370
  __source: {
367
371
  fileName: _jsxFileName,
368
- lineNumber: 255,
372
+ lineNumber: 257,
369
373
  columnNumber: 5
370
374
  }
371
375
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_dayjs","_mimeTypes","_ThemeContext","_icons","_native","_utils","_this","_jsxFileName","AttachmentVideo","props","asset","ImageOverlaySelectedComponent","maxNumberOfFiles","numberOfAttachmentPickerImageColumns","numberOfUploads","selected","selectedFiles","setSelectedFiles","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$attac","attachmentPicker","durationText","image","imageOverlay","_useTheme$theme$color","colors","overlay","white","videoDuration","duration","uri","ONE_HOUR_IN_SECONDS","durationLabel","isDurationLongerThanHour","formattedDurationParam","formattedVideoDuration","dayjs","format","size","vw","patchVideoFile","_ref","_asyncToGenerator2","_regenerator","mark","_callee","files","localAssetURI","mimeType","wrap","_callee$","_context","prev","next","t0","Platform","OS","id","getLocalAssetUri","sent","lookup","filename","abrupt","concat","_toConsumableArray2","name","fileSize","stop","_x","apply","arguments","updateSelectedFiles","_ref2","_callee2","_callee2$","_context2","Alert","alert","onPressVideo","filter","file","createElement","TouchableOpacity","onPress","__self","__source","fileName","lineNumber","columnNumber","ImageBackground","source","style","height","margin","width","View","styles","backgroundColor","videoView","Recorder","pathFill","Text","color","AttachmentImage","selectedImages","setSelectedImages","_useTheme2","_useTheme2$theme","_useTheme2$theme$atta","patchImageFile","_ref3","_callee3","images","_callee3$","_context3","_extends2","_x2","updateSelectedImages","_ref4","_callee4","_callee4$","_context4","onPressImage","renderAttachmentPickerItem","_ref5","item","isVideoType","type","includes","exports","StyleSheet","create","fontWeight","alignItems","flex","bottom","display","flexDirection","justifyContent","paddingHorizontal","position"],"sources":["AttachmentPickerItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Alert, ImageBackground, Platform, StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport { lookup } from 'mime-types';\n\nimport type { AttachmentPickerContextValue } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Recorder } from '../../../icons';\nimport { getLocalAssetUri } from '../../../native';\nimport type { Asset, File } from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\ntype AttachmentPickerItemType = Pick<\n AttachmentPickerContextValue,\n 'selectedFiles' | 'setSelectedFiles' | 'setSelectedImages' | 'selectedImages' | 'maxNumberOfFiles'\n> & {\n asset: Asset;\n ImageOverlaySelectedComponent: React.ComponentType;\n numberOfUploads: number;\n selected: boolean;\n numberOfAttachmentPickerImageColumns?: number;\n};\n\ntype AttachmentImageProps = Omit<AttachmentPickerItemType, 'setSelectedFiles' | 'selectedFiles'>;\n\ntype AttachmentVideoProps = Omit<AttachmentPickerItemType, 'setSelectedImages' | 'selectedImages'>;\n\nconst AttachmentVideo: React.FC<AttachmentVideoProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n setSelectedFiles,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { durationText, image, imageOverlay },\n colors: { overlay, white },\n },\n } = useTheme();\n\n const { duration: videoDuration, uri } = asset;\n\n const ONE_HOUR_IN_SECONDS = 3600;\n\n let durationLabel = '00:00';\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 size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n /* Patches video files with uri and mimetype */\n const patchVideoFile = async (files: File[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n // We need a mime-type to upload a video file.\n const mimeType = lookup(asset.filename) || 'multipart/form-data';\n return [\n ...files,\n {\n duration: durationLabel,\n id: asset.id,\n mimeType,\n name: asset.filename,\n size: asset.fileSize,\n uri,\n },\n ];\n };\n\n const updateSelectedFiles = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const files = await patchVideoFile(selectedFiles);\n setSelectedFiles(files);\n };\n\n const onPressVideo = () => {\n if (selected) {\n setSelectedFiles((files) =>\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n files.filter((file) => (file.id ? file.id !== asset.id : file.uri !== asset.uri)),\n );\n } else {\n updateSelectedFiles();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressVideo}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n <View style={styles.videoView}>\n <Recorder height={20} pathFill={white} width={25} />\n {videoDuration ? (\n <Text style={[styles.durationText, durationText, { color: white }]}>\n {durationLabel}\n </Text>\n ) : null}\n </View>\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nconst AttachmentImage: React.FC<AttachmentImageProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedImages,\n setSelectedImages,\n } = props;\n const {\n theme: {\n attachmentPicker: { image, imageOverlay },\n colors: { overlay },\n },\n } = useTheme();\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n const { uri } = asset;\n\n /* Patches image files with uri */\n const patchImageFile = async (images: Asset[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n return [\n ...images,\n {\n ...asset,\n uri,\n },\n ];\n };\n\n const updateSelectedImages = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const images = await patchImageFile(selectedImages);\n setSelectedImages(images);\n };\n\n const onPressImage = () => {\n if (selected) {\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n setSelectedImages((images) =>\n images.filter((image) => (image.id ? image.id !== asset.id : image.uri !== asset.uri)),\n );\n } else {\n updateSelectedImages();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressImage}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nexport const renderAttachmentPickerItem = ({ item }: { item: AttachmentPickerItemType }) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n } = item;\n\n /**\n * Expo Media Library - Result of asset type\n * Native Android - Gives mime type(Eg: image/jpeg, video/mp4, etc.)\n * Native iOS - Gives `image` or `video`\n * Expo Android/iOS - Gives `photo` or `video`\n **/\n const isVideoType = asset.type.includes('video');\n\n if (isVideoType) {\n return (\n <AttachmentVideo\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedFiles={selectedFiles}\n setSelectedFiles={setSelectedFiles}\n />\n );\n }\n\n return (\n <AttachmentImage\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedImages={selectedImages}\n setSelectedImages={setSelectedImages}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n durationText: {\n fontWeight: 'bold',\n },\n overlay: {\n alignItems: 'flex-end',\n flex: 1,\n },\n videoView: {\n bottom: 5,\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 5,\n position: 'absolute',\n width: '100%',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_bottomSheet","_dayjs","_mimeTypes","_ThemeContext","_useViewport3","_icons","_native","_this","_jsxFileName","AttachmentVideo","props","asset","ImageOverlaySelectedComponent","maxNumberOfFiles","numberOfAttachmentPickerImageColumns","numberOfUploads","selected","selectedFiles","setSelectedFiles","_useViewport","useViewport","vw","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$attac","attachmentPicker","durationText","image","imageOverlay","_useTheme$theme$color","colors","overlay","white","videoDuration","duration","uri","ONE_HOUR_IN_SECONDS","durationLabel","isDurationLongerThanHour","formattedDurationParam","formattedVideoDuration","dayjs","format","size","patchVideoFile","_ref","_asyncToGenerator2","_regenerator","mark","_callee","files","localAssetURI","mimeType","wrap","_callee$","_context","prev","next","t0","Platform","OS","id","getLocalAssetUri","sent","lookup","name","abrupt","concat","_toConsumableArray2","stop","_x","apply","arguments","updateSelectedFiles","_ref2","_callee2","_callee2$","_context2","Alert","alert","onPressVideo","filter","file","createElement","TouchableOpacity","onPress","__self","__source","fileName","lineNumber","columnNumber","ImageBackground","source","style","height","margin","width","View","styles","backgroundColor","videoView","Recorder","pathFill","Text","color","AttachmentImage","selectedImages","setSelectedImages","_useTheme2","_useTheme2$theme","_useTheme2$theme$atta","_useViewport2","patchImageFile","_ref3","_callee3","images","_callee3$","_context3","_extends2","_x2","updateSelectedImages","_ref4","_callee4","_callee4$","_context4","onPressImage","renderAttachmentPickerItem","_ref5","item","isVideoType","type","includes","exports","StyleSheet","create","fontWeight","alignItems","flex","bottom","display","flexDirection","justifyContent","paddingHorizontal","position"],"sources":["AttachmentPickerItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Alert, ImageBackground, Platform, StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\nimport dayjs from 'dayjs';\nimport { lookup } from 'mime-types';\n\nimport type { AttachmentPickerContextValue } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../../hooks/useViewport';\nimport { Recorder } from '../../../icons';\nimport { getLocalAssetUri } from '../../../native';\nimport type { Asset, File } from '../../../types/types';\n\ntype AttachmentPickerItemType = Pick<\n AttachmentPickerContextValue,\n 'selectedFiles' | 'setSelectedFiles' | 'setSelectedImages' | 'selectedImages' | 'maxNumberOfFiles'\n> & {\n asset: Asset;\n ImageOverlaySelectedComponent: React.ComponentType;\n numberOfUploads: number;\n selected: boolean;\n numberOfAttachmentPickerImageColumns?: number;\n};\n\ntype AttachmentImageProps = Omit<AttachmentPickerItemType, 'setSelectedFiles' | 'selectedFiles'>;\n\ntype AttachmentVideoProps = Omit<AttachmentPickerItemType, 'setSelectedImages' | 'selectedImages'>;\n\nconst AttachmentVideo: React.FC<AttachmentVideoProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n setSelectedFiles,\n } = props;\n const { vw } = useViewport();\n\n const {\n theme: {\n attachmentPicker: { durationText, image, imageOverlay },\n colors: { overlay, white },\n },\n } = useTheme();\n\n const { duration: videoDuration, uri } = asset;\n\n const ONE_HOUR_IN_SECONDS = 3600;\n\n let durationLabel = '00:00';\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 size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n /* Patches video files with uri and mimetype */\n const patchVideoFile = async (files: File[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n // We need a mime-type to upload a video file.\n const mimeType = lookup(asset.name) || 'multipart/form-data';\n return [\n ...files,\n {\n duration: asset.duration,\n id: asset.id,\n mimeType,\n name: asset.name,\n size: asset.size,\n uri,\n },\n ];\n };\n\n const updateSelectedFiles = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const files = await patchVideoFile(selectedFiles);\n setSelectedFiles(files);\n };\n\n const onPressVideo = () => {\n if (selected) {\n setSelectedFiles((files) =>\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n files.filter((file) => (file.id ? file.id !== asset.id : file.uri !== asset.uri)),\n );\n } else {\n updateSelectedFiles();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressVideo}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n <View style={styles.videoView}>\n <Recorder height={20} pathFill={white} width={25} />\n {videoDuration ? (\n <Text style={[styles.durationText, durationText, { color: white }]}>\n {durationLabel}\n </Text>\n ) : null}\n </View>\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nconst AttachmentImage: React.FC<AttachmentImageProps> = (props) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedImages,\n setSelectedImages,\n } = props;\n const {\n theme: {\n attachmentPicker: { image, imageOverlay },\n colors: { overlay },\n },\n } = useTheme();\n const { vw } = useViewport();\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n const { uri } = asset;\n\n /* Patches image files with uri */\n const patchImageFile = async (images: Asset[]) => {\n // For the case of Expo CLI where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));\n const uri = localAssetURI || asset.uri || '';\n return [\n ...images,\n {\n ...asset,\n uri,\n },\n ];\n };\n\n const updateSelectedImages = async () => {\n if (numberOfUploads >= maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n const images = await patchImageFile(selectedImages);\n setSelectedImages(images);\n };\n\n const onPressImage = () => {\n if (selected) {\n // `id` is available for Expo MediaLibrary while Cameraroll doesn't share id therefore we use `uri`\n setSelectedImages((images) =>\n images.filter((image) => (image.id ? image.id !== asset.id : image.uri !== asset.uri)),\n );\n } else {\n updateSelectedImages();\n }\n };\n\n return (\n <TouchableOpacity onPress={onPressImage}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nexport const renderAttachmentPickerItem = ({ item }: { item: AttachmentPickerItemType }) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n numberOfUploads,\n selected,\n selectedFiles,\n selectedImages,\n setSelectedFiles,\n setSelectedImages,\n } = item;\n\n /**\n * Expo Media Library - Result of asset type\n * Native Android - Gives mime type(Eg: image/jpeg, video/mp4, etc.)\n * Native iOS - Gives `image` or `video`\n * Expo Android/iOS - Gives `photo` or `video`\n **/\n const isVideoType = asset.type.includes('video');\n\n if (isVideoType) {\n return (\n <AttachmentVideo\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedFiles={selectedFiles}\n setSelectedFiles={setSelectedFiles}\n />\n );\n }\n\n return (\n <AttachmentImage\n asset={asset}\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n maxNumberOfFiles={maxNumberOfFiles}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n numberOfUploads={numberOfUploads}\n selected={selected}\n selectedImages={selectedImages}\n setSelectedImages={setSelectedImages}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n durationText: {\n fontWeight: 'bold',\n },\n overlay: {\n alignItems: 'flex-end',\n flex: 1,\n },\n videoView: {\n bottom: 5,\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 5,\n position: 'absolute',\n width: '100%',\n },\n});\n"],"mappings":"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"}
@@ -11,6 +11,7 @@ var _reactNative = require("react-native");
11
11
  var _AttachmentPickerContext = require("../../../contexts/attachmentPickerContext/AttachmentPickerContext");
12
12
  var _MessageInputContext = require("../../../contexts/messageInputContext/MessageInputContext");
13
13
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
14
+ var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
14
15
  var _native = require("../../../native");
15
16
  var _this = this,
16
17
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx";
@@ -34,6 +35,8 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
34
35
  selectedPicker = _useAttachmentPickerC.selectedPicker,
35
36
  setSelectedImages = _useAttachmentPickerC.setSelectedImages,
36
37
  setSelectedPicker = _useAttachmentPickerC.setSelectedPicker;
38
+ var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
39
+ t = _useTranslationContex.t;
37
40
  var _useMessageInputConte = (0, _MessageInputContext.useMessageInputContext)(),
38
41
  compressImageQuality = _useMessageInputConte.compressImageQuality,
39
42
  hasFilePicker = _useMessageInputConte.hasFilePicker,
@@ -70,12 +73,24 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
70
73
  });
71
74
  case 4:
72
75
  photo = _context.sent;
76
+ if (photo.askToOpenSettings) {
77
+ _reactNative.Alert.alert(t('Allow camera access in device settings'), t('Device camera is used to take photos or videos.'), [{
78
+ style: 'cancel',
79
+ text: t('Cancel')
80
+ }, {
81
+ onPress: function onPress() {
82
+ return _reactNative.Linking.openSettings();
83
+ },
84
+ style: 'default',
85
+ text: t('Open Settings')
86
+ }]);
87
+ }
73
88
  if (!photo.cancelled) {
74
89
  setSelectedImages(function (images) {
75
90
  return [].concat((0, _toConsumableArray2["default"])(images), [photo]);
76
91
  });
77
92
  }
78
- case 6:
93
+ case 7:
79
94
  case "end":
80
95
  return _context.stop();
81
96
  }
@@ -92,7 +107,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
92
107
  __self: _this,
93
108
  __source: {
94
109
  fileName: _jsxFileName,
95
- lineNumber: 66,
110
+ lineNumber: 78,
96
111
  columnNumber: 5
97
112
  }
98
113
  }, _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -107,7 +122,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
107
122
  __self: _this,
108
123
  __source: {
109
124
  fileName: _jsxFileName,
110
- lineNumber: 67,
125
+ lineNumber: 79,
111
126
  columnNumber: 7
112
127
  }
113
128
  }, _react["default"].createElement(_reactNative.View, {
@@ -115,7 +130,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
115
130
  __self: _this,
116
131
  __source: {
117
132
  fileName: _jsxFileName,
118
- lineNumber: 72,
133
+ lineNumber: 84,
119
134
  columnNumber: 9
120
135
  }
121
136
  }, _react["default"].createElement(ImageSelectorIcon, {
@@ -124,7 +139,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
124
139
  __self: _this,
125
140
  __source: {
126
141
  fileName: _jsxFileName,
127
- lineNumber: 73,
142
+ lineNumber: 85,
128
143
  columnNumber: 11
129
144
  }
130
145
  }))), hasFilePicker && _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -137,7 +152,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
137
152
  __self: _this,
138
153
  __source: {
139
154
  fileName: _jsxFileName,
140
- lineNumber: 80,
155
+ lineNumber: 92,
141
156
  columnNumber: 9
142
157
  }
143
158
  }, _react["default"].createElement(_reactNative.View, {
@@ -145,7 +160,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
145
160
  __self: _this,
146
161
  __source: {
147
162
  fileName: _jsxFileName,
148
- lineNumber: 85,
163
+ lineNumber: 97,
149
164
  columnNumber: 11
150
165
  }
151
166
  }, _react["default"].createElement(FileSelectorIcon, {
@@ -154,7 +169,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
154
169
  __self: _this,
155
170
  __source: {
156
171
  fileName: _jsxFileName,
157
- lineNumber: 86,
172
+ lineNumber: 98,
158
173
  columnNumber: 13
159
174
  }
160
175
  }))), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -167,7 +182,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
167
182
  __self: _this,
168
183
  __source: {
169
184
  fileName: _jsxFileName,
170
- lineNumber: 93,
185
+ lineNumber: 105,
171
186
  columnNumber: 7
172
187
  }
173
188
  }, _react["default"].createElement(_reactNative.View, {
@@ -175,7 +190,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
175
190
  __self: _this,
176
191
  __source: {
177
192
  fileName: _jsxFileName,
178
- lineNumber: 98,
193
+ lineNumber: 110,
179
194
  columnNumber: 9
180
195
  }
181
196
  }, _react["default"].createElement(CameraSelectorIcon, {
@@ -184,7 +199,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
184
199
  __self: _this,
185
200
  __source: {
186
201
  fileName: _jsxFileName,
187
- lineNumber: 99,
202
+ lineNumber: 111,
188
203
  columnNumber: 11
189
204
  }
190
205
  }))));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_AttachmentPickerContext","_MessageInputContext","_ThemeContext","_native","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","paddingHorizontal","icon","marginHorizontal","AttachmentSelectionBar","_useAttachmentPickerC","useAttachmentPickerContext","attachmentSelectionBarHeight","CameraSelectorIcon","closePicker","FileSelectorIcon","ImageSelectorIcon","selectedPicker","setSelectedImages","setSelectedPicker","_useMessageInputConte","useMessageInputContext","compressImageQuality","hasFilePicker","imageUploads","pickFile","_useTheme","useTheme","_useTheme$theme$attac","theme","attachmentSelectionBar","setPicker","selection","undefined","openFilePicker","takeAndUploadImage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","photo","wrap","_callee$","_context","prev","next","takePhoto","sent","cancelled","images","concat","_toConsumableArray2","stop","apply","arguments","createElement","View","style","height","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","hitSlop","bottom","top","onPress","testID","numberOfImageUploads","length","exports"],"sources":["AttachmentSelectionBar.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { useAttachmentPickerContext } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useMessageInputContext } from '../../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { takePhoto } from '../../../native';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 6,\n },\n icon: {\n marginHorizontal: 12,\n },\n});\n\nexport const AttachmentSelectionBar: React.FC = () => {\n const {\n attachmentSelectionBarHeight,\n CameraSelectorIcon,\n closePicker,\n FileSelectorIcon,\n ImageSelectorIcon,\n selectedPicker,\n setSelectedImages,\n setSelectedPicker,\n } = useAttachmentPickerContext();\n\n const { compressImageQuality, hasFilePicker, imageUploads, pickFile } = useMessageInputContext();\n\n const {\n theme: {\n attachmentSelectionBar: { container, icon },\n },\n } = useTheme();\n\n const setPicker = (selection: 'images') => {\n if (selectedPicker === selection) {\n setSelectedPicker(undefined);\n closePicker();\n } else {\n setSelectedPicker(selection);\n }\n };\n\n const openFilePicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n pickFile();\n };\n\n const takeAndUploadImage = async () => {\n setSelectedPicker(undefined);\n closePicker();\n const photo = await takePhoto({ compressImageQuality });\n if (!photo.cancelled) {\n setSelectedImages((images) => [...images, photo]);\n }\n };\n\n return (\n <View style={[styles.container, container, { height: attachmentSelectionBarHeight ?? 52 }]}>\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={() => setPicker('images')}\n testID='upload-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <ImageSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n {hasFilePicker && (\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={openFilePicker}\n testID='upload-file-touchable'\n >\n <View style={[styles.icon, icon]}>\n <FileSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n )}\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={takeAndUploadImage}\n testID='take-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <CameraSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_AttachmentPickerContext","_MessageInputContext","_ThemeContext","_TranslationContext","_native","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","paddingHorizontal","icon","marginHorizontal","AttachmentSelectionBar","_useAttachmentPickerC","useAttachmentPickerContext","attachmentSelectionBarHeight","CameraSelectorIcon","closePicker","FileSelectorIcon","ImageSelectorIcon","selectedPicker","setSelectedImages","setSelectedPicker","_useTranslationContex","useTranslationContext","t","_useMessageInputConte","useMessageInputContext","compressImageQuality","hasFilePicker","imageUploads","pickFile","_useTheme","useTheme","_useTheme$theme$attac","theme","attachmentSelectionBar","setPicker","selection","undefined","openFilePicker","takeAndUploadImage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","photo","wrap","_callee$","_context","prev","next","takePhoto","sent","askToOpenSettings","Alert","alert","style","text","onPress","Linking","openSettings","cancelled","images","concat","_toConsumableArray2","stop","apply","arguments","createElement","View","height","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","hitSlop","bottom","top","testID","numberOfImageUploads","length","exports"],"sources":["AttachmentSelectionBar.tsx"],"sourcesContent":["import React from 'react';\nimport { Alert, Linking, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { useAttachmentPickerContext } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useMessageInputContext } from '../../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\n\nimport { takePhoto } from '../../../native';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 6,\n },\n icon: {\n marginHorizontal: 12,\n },\n});\n\nexport const AttachmentSelectionBar: React.FC = () => {\n const {\n attachmentSelectionBarHeight,\n CameraSelectorIcon,\n closePicker,\n FileSelectorIcon,\n ImageSelectorIcon,\n selectedPicker,\n setSelectedImages,\n setSelectedPicker,\n } = useAttachmentPickerContext();\n const { t } = useTranslationContext();\n\n const { compressImageQuality, hasFilePicker, imageUploads, pickFile } = useMessageInputContext();\n\n const {\n theme: {\n attachmentSelectionBar: { container, icon },\n },\n } = useTheme();\n\n const setPicker = (selection: 'images') => {\n if (selectedPicker === selection) {\n setSelectedPicker(undefined);\n closePicker();\n } else {\n setSelectedPicker(selection);\n }\n };\n\n const openFilePicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n pickFile();\n };\n\n const takeAndUploadImage = async () => {\n setSelectedPicker(undefined);\n closePicker();\n const photo = await takePhoto({ compressImageQuality });\n if (photo.askToOpenSettings) {\n Alert.alert(\n t('Allow camera access in device settings'),\n t('Device camera is used to take photos or videos.'),\n [\n { style: 'cancel', text: t('Cancel') },\n { onPress: () => Linking.openSettings(), style: 'default', text: t('Open Settings') },\n ],\n );\n }\n if (!photo.cancelled) {\n setSelectedImages((images) => [...images, photo]);\n }\n };\n\n return (\n <View style={[styles.container, container, { height: attachmentSelectionBarHeight ?? 52 }]}>\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={() => setPicker('images')}\n testID='upload-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <ImageSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n {hasFilePicker && (\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={openFilePicker}\n testID='upload-file-touchable'\n >\n <View style={[styles.icon, icon]}>\n <FileSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n )}\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={takeAndUploadImage}\n testID='take-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <CameraSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n"],"mappings":"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"}