stream-chat-react-native-core 5.34.1-beta.5 → 5.35.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +5 -4
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/Card.js +2 -1
  4. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +2 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/Gallery.js +3 -2
  8. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Giphy.js +2 -3
  10. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +2 -1
  12. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  13. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +14 -9
  14. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  15. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js +1 -0
  16. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js.map +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -11
  18. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +6 -57
  20. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
  21. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  22. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +2 -3
  23. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  24. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +2 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  26. package/lib/commonjs/components/Channel/Channel.js +5 -2
  27. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  28. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -0
  29. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  30. package/lib/commonjs/components/ImageGallery/ImageGallery.js +4 -3
  31. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  32. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +3 -3
  33. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  34. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +2 -1
  35. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  36. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +5 -5
  37. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  38. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +2 -1
  39. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  40. package/lib/commonjs/components/Message/Message.js +8 -7
  41. package/lib/commonjs/components/Message/Message.js.map +1 -1
  42. package/lib/commonjs/components/MessageInput/AttachButton.js +67 -9
  43. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  44. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -2
  45. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  46. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -11
  47. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  48. package/lib/commonjs/components/MessageInput/InputButtons.js +2 -5
  49. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  50. package/lib/commonjs/components/MessageInput/MessageInput.js +27 -22
  51. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  52. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +5 -6
  53. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  54. package/lib/commonjs/components/MessageInput/components/NativeAttachmentPicker.js +157 -0
  55. package/lib/commonjs/components/MessageInput/components/NativeAttachmentPicker.js.map +1 -0
  56. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js +2 -1
  57. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js.map +1 -1
  58. package/lib/commonjs/components/MessageList/MessageList.js +2 -1
  59. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  60. package/lib/commonjs/components/Reply/Reply.js +19 -18
  61. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  62. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +267 -181
  63. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  64. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +6 -0
  65. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  66. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +6 -5
  67. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  68. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +3 -2
  69. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  70. package/lib/commonjs/contexts/themeContext/utils/theme.js +5 -0
  71. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  72. package/lib/commonjs/i18n/en.json +1 -0
  73. package/lib/commonjs/i18n/es.json +1 -0
  74. package/lib/commonjs/i18n/fr.json +1 -0
  75. package/lib/commonjs/i18n/he.json +1 -0
  76. package/lib/commonjs/i18n/hi.json +1 -0
  77. package/lib/commonjs/i18n/it.json +1 -0
  78. package/lib/commonjs/i18n/ja.json +1 -0
  79. package/lib/commonjs/i18n/ko.json +1 -0
  80. package/lib/commonjs/i18n/nl.json +1 -0
  81. package/lib/commonjs/i18n/pt-br.json +1 -0
  82. package/lib/commonjs/i18n/ru.json +1 -0
  83. package/lib/commonjs/i18n/tr.json +1 -0
  84. package/lib/commonjs/icons/Attach.js +29 -6
  85. package/lib/commonjs/icons/Attach.js.map +1 -1
  86. package/lib/commonjs/icons/GiphyLightning.js +31 -0
  87. package/lib/commonjs/icons/GiphyLightning.js.map +1 -0
  88. package/lib/commonjs/icons/Lightning.js +18 -6
  89. package/lib/commonjs/icons/Lightning.js.map +1 -1
  90. package/lib/commonjs/icons/index.js +11 -0
  91. package/lib/commonjs/icons/index.js.map +1 -1
  92. package/lib/commonjs/native.js +14 -5
  93. package/lib/commonjs/native.js.map +1 -1
  94. package/lib/commonjs/types/types.js +12 -0
  95. package/lib/commonjs/types/types.js.map +1 -1
  96. package/lib/commonjs/utils/utils.js +13 -1
  97. package/lib/commonjs/utils/utils.js.map +1 -1
  98. package/lib/commonjs/version.json +1 -1
  99. package/lib/module/components/Attachment/Attachment.js +5 -4
  100. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  101. package/lib/module/components/Attachment/Card.js +2 -1
  102. package/lib/module/components/Attachment/Card.js.map +1 -1
  103. package/lib/module/components/Attachment/FileAttachmentGroup.js +2 -1
  104. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  105. package/lib/module/components/Attachment/Gallery.js +3 -2
  106. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  107. package/lib/module/components/Attachment/Giphy.js +2 -3
  108. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  109. package/lib/module/components/Attachment/utils/getAspectRatio.js +2 -1
  110. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  111. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +14 -9
  112. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  113. package/lib/module/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js +1 -0
  114. package/lib/module/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.js.map +1 -1
  115. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -11
  116. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  117. package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +6 -57
  118. package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
  119. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  120. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +2 -3
  121. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  122. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +2 -1
  123. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  124. package/lib/module/components/Channel/Channel.js +5 -2
  125. package/lib/module/components/Channel/Channel.js.map +1 -1
  126. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -0
  127. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  128. package/lib/module/components/ImageGallery/ImageGallery.js +4 -3
  129. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  130. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +3 -3
  131. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  132. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +2 -1
  133. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  134. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +5 -5
  135. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  136. package/lib/module/components/ImageGallery/components/ImageGrid.js +2 -1
  137. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  138. package/lib/module/components/Message/Message.js +8 -7
  139. package/lib/module/components/Message/Message.js.map +1 -1
  140. package/lib/module/components/MessageInput/AttachButton.js +67 -9
  141. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  142. package/lib/module/components/MessageInput/CommandsButton.js +3 -2
  143. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  144. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -11
  145. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  146. package/lib/module/components/MessageInput/InputButtons.js +2 -5
  147. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  148. package/lib/module/components/MessageInput/MessageInput.js +27 -22
  149. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  150. package/lib/module/components/MessageInput/components/InputGiphySearch.js +5 -6
  151. package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  152. package/lib/module/components/MessageInput/components/NativeAttachmentPicker.js +157 -0
  153. package/lib/module/components/MessageInput/components/NativeAttachmentPicker.js.map +1 -0
  154. package/lib/module/components/MessageInput/hooks/useAudioController.js +2 -1
  155. package/lib/module/components/MessageInput/hooks/useAudioController.js.map +1 -1
  156. package/lib/module/components/MessageList/MessageList.js +2 -1
  157. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  158. package/lib/module/components/Reply/Reply.js +19 -18
  159. package/lib/module/components/Reply/Reply.js.map +1 -1
  160. package/lib/module/contexts/messageInputContext/MessageInputContext.js +267 -181
  161. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  162. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +6 -0
  163. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  164. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +6 -5
  165. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  166. package/lib/module/contexts/overlayContext/OverlayProvider.js +3 -2
  167. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  168. package/lib/module/contexts/themeContext/utils/theme.js +5 -0
  169. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  170. package/lib/module/i18n/en.json +1 -0
  171. package/lib/module/i18n/es.json +1 -0
  172. package/lib/module/i18n/fr.json +1 -0
  173. package/lib/module/i18n/he.json +1 -0
  174. package/lib/module/i18n/hi.json +1 -0
  175. package/lib/module/i18n/it.json +1 -0
  176. package/lib/module/i18n/ja.json +1 -0
  177. package/lib/module/i18n/ko.json +1 -0
  178. package/lib/module/i18n/nl.json +1 -0
  179. package/lib/module/i18n/pt-br.json +1 -0
  180. package/lib/module/i18n/ru.json +1 -0
  181. package/lib/module/i18n/tr.json +1 -0
  182. package/lib/module/icons/Attach.js +29 -6
  183. package/lib/module/icons/Attach.js.map +1 -1
  184. package/lib/module/icons/GiphyLightning.js +31 -0
  185. package/lib/module/icons/GiphyLightning.js.map +1 -0
  186. package/lib/module/icons/Lightning.js +18 -6
  187. package/lib/module/icons/Lightning.js.map +1 -1
  188. package/lib/module/icons/index.js +11 -0
  189. package/lib/module/icons/index.js.map +1 -1
  190. package/lib/module/native.js +14 -5
  191. package/lib/module/native.js.map +1 -1
  192. package/lib/module/types/types.js +12 -0
  193. package/lib/module/types/types.js.map +1 -1
  194. package/lib/module/utils/utils.js +13 -1
  195. package/lib/module/utils/utils.js.map +1 -1
  196. package/lib/module/version.json +1 -1
  197. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  198. package/lib/typescript/components/Attachment/Attachment.d.ts.map +1 -1
  199. package/lib/typescript/components/Attachment/Card.d.ts +1 -1
  200. package/lib/typescript/components/Attachment/Card.d.ts.map +1 -1
  201. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +1 -1
  202. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
  203. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  204. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  205. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +1 -1
  206. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts.map +1 -1
  207. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
  208. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.d.ts +1 -1
  209. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.d.ts.map +1 -1
  210. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts.map +1 -1
  211. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerSelectionBar.d.ts.map +1 -1
  212. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  213. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  214. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
  215. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  216. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +1 -1
  217. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  218. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts.map +1 -1
  219. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -1
  220. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts.map +1 -1
  221. package/lib/typescript/components/ImageGallery/components/ImageGalleryVideoControl.d.ts.map +1 -1
  222. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  223. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts.map +1 -1
  224. package/lib/typescript/components/Message/Message.d.ts +1 -1
  225. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  226. package/lib/typescript/components/MessageInput/AttachButton.d.ts +3 -1
  227. package/lib/typescript/components/MessageInput/AttachButton.d.ts.map +1 -1
  228. package/lib/typescript/components/MessageInput/CommandsButton.d.ts.map +1 -1
  229. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts.map +1 -1
  230. package/lib/typescript/components/MessageInput/InputButtons.d.ts.map +1 -1
  231. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
  232. package/lib/typescript/components/MessageInput/MessageInput.d.ts.map +1 -1
  233. package/lib/typescript/components/MessageInput/components/NativeAttachmentPicker.d.ts +9 -0
  234. package/lib/typescript/components/MessageInput/components/NativeAttachmentPicker.d.ts.map +1 -0
  235. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  236. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  237. package/lib/typescript/components/Reply/Reply.d.ts +1 -1
  238. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  239. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +15 -3
  240. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  241. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  242. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  243. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  244. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts.map +1 -1
  245. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
  246. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +5 -0
  247. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  248. package/lib/typescript/i18n/en.json +1 -0
  249. package/lib/typescript/i18n/es.json +1 -0
  250. package/lib/typescript/i18n/fr.json +1 -0
  251. package/lib/typescript/i18n/he.json +1 -0
  252. package/lib/typescript/i18n/hi.json +1 -0
  253. package/lib/typescript/i18n/it.json +1 -0
  254. package/lib/typescript/i18n/ja.json +1 -0
  255. package/lib/typescript/i18n/ko.json +1 -0
  256. package/lib/typescript/i18n/nl.json +1 -0
  257. package/lib/typescript/i18n/pt-br.json +1 -0
  258. package/lib/typescript/i18n/ru.json +1 -0
  259. package/lib/typescript/i18n/tr.json +1 -0
  260. package/lib/typescript/icons/Attach.d.ts +5 -1
  261. package/lib/typescript/icons/Attach.d.ts.map +1 -1
  262. package/lib/typescript/icons/GiphyLightning.d.ts +8 -0
  263. package/lib/typescript/icons/GiphyLightning.d.ts.map +1 -0
  264. package/lib/typescript/icons/Lightning.d.ts +5 -1
  265. package/lib/typescript/icons/Lightning.d.ts.map +1 -1
  266. package/lib/typescript/icons/index.d.ts +1 -0
  267. package/lib/typescript/icons/index.d.ts.map +1 -1
  268. package/lib/typescript/native.d.ts +13 -5
  269. package/lib/typescript/native.d.ts.map +1 -1
  270. package/lib/typescript/types/types.d.ts +10 -1
  271. package/lib/typescript/types/types.d.ts.map +1 -1
  272. package/lib/typescript/utils/i18n/Streami18n.d.ts +1 -0
  273. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  274. package/lib/typescript/utils/utils.d.ts +6 -0
  275. package/lib/typescript/utils/utils.d.ts.map +1 -1
  276. package/package.json +1 -1
  277. package/src/components/Attachment/Attachment.tsx +7 -7
  278. package/src/components/Attachment/Card.tsx +2 -2
  279. package/src/components/Attachment/FileAttachmentGroup.tsx +2 -2
  280. package/src/components/Attachment/Gallery.tsx +3 -3
  281. package/src/components/Attachment/Giphy.tsx +1 -1
  282. package/src/components/Attachment/utils/getAspectRatio.ts +2 -2
  283. package/src/components/AttachmentPicker/AttachmentPicker.tsx +6 -0
  284. package/src/components/AttachmentPicker/components/AttachmentPickerIOSSelectMorePhotos.tsx +3 -0
  285. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +6 -15
  286. package/src/components/AttachmentPicker/components/AttachmentPickerSelectionBar.tsx +6 -30
  287. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +1 -1
  288. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +1 -1
  289. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +1 -1
  290. package/src/components/Channel/Channel.tsx +8 -6
  291. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +2 -0
  292. package/src/components/ImageGallery/ImageGallery.tsx +6 -6
  293. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +5 -4
  294. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +1 -0
  295. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +1 -0
  296. package/src/components/ImageGallery/__tests__/ImageGalleryVideoControl.test.tsx +2 -2
  297. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +4 -3
  298. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -2
  299. package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +5 -14
  300. package/src/components/ImageGallery/components/ImageGrid.tsx +2 -2
  301. package/src/components/Message/Message.tsx +12 -8
  302. package/src/components/MessageInput/AttachButton.tsx +74 -8
  303. package/src/components/MessageInput/CommandsButton.tsx +2 -1
  304. package/src/components/MessageInput/FileUploadPreview.tsx +8 -17
  305. package/src/components/MessageInput/InputButtons.tsx +1 -2
  306. package/src/components/MessageInput/MessageInput.tsx +43 -30
  307. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +1 -0
  308. package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +139 -45
  309. package/src/components/MessageInput/components/InputGiphySearch.tsx +3 -3
  310. package/src/components/MessageInput/components/NativeAttachmentPicker.tsx +179 -0
  311. package/src/components/MessageInput/hooks/useAudioController.tsx +2 -2
  312. package/src/components/MessageList/MessageList.tsx +2 -2
  313. package/src/components/Reply/Reply.tsx +31 -29
  314. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +86 -37
  315. package/src/contexts/messageInputContext/MessageInputContext.tsx +94 -23
  316. package/src/contexts/messageInputContext/__tests__/MessageInputContext.test.tsx +1 -38
  317. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +6 -1
  318. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +11 -6
  319. package/src/contexts/overlayContext/OverlayProvider.tsx +4 -1
  320. package/src/contexts/themeContext/utils/theme.ts +10 -0
  321. package/src/i18n/en.json +1 -0
  322. package/src/i18n/es.json +1 -0
  323. package/src/i18n/fr.json +1 -0
  324. package/src/i18n/he.json +1 -0
  325. package/src/i18n/hi.json +1 -0
  326. package/src/i18n/it.json +1 -0
  327. package/src/i18n/ja.json +1 -0
  328. package/src/i18n/ko.json +1 -0
  329. package/src/i18n/nl.json +1 -0
  330. package/src/i18n/pt-br.json +1 -0
  331. package/src/i18n/ru.json +1 -0
  332. package/src/i18n/tr.json +1 -0
  333. package/src/icons/Attach.tsx +22 -9
  334. package/src/icons/GiphyLightning.tsx +18 -0
  335. package/src/icons/Lightning.tsx +14 -5
  336. package/src/icons/index.ts +1 -0
  337. package/src/native.ts +28 -14
  338. package/src/types/types.ts +11 -1
  339. package/src/utils/utils.ts +20 -0
  340. package/src/version.json +1 -1
@@ -20,6 +20,7 @@ var _utils = require("./utils/utils");
20
20
  var _parseLinks = require("../../components/Message/MessageSimple/utils/parseLinks");
21
21
  var _useCooldown2 = require("../../components/MessageInput/hooks/useCooldown");
22
22
  var _native = require("../../native");
23
+ var _types = require("../../types/types");
23
24
  var _compressImage = require("../../utils/compressImage");
24
25
  var _removeReservedFields = require("../../utils/removeReservedFields");
25
26
  var _utils2 = require("../../utils/utils");
@@ -106,8 +107,6 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
106
107
  sendThreadMessageInChannel = _useState8[0],
107
108
  setSendThreadMessageInChannel = _useState8[1];
108
109
  var editing = value.editing,
109
- hasFilePicker = value.hasFilePicker,
110
- hasImagePicker = value.hasImagePicker,
111
110
  initialValue = value.initialValue;
112
111
  var _useMessageDetailsFor = (0, _useMessageDetailsForState.useMessageDetailsForState)(editing, initialValue),
113
112
  fileUploads = _useMessageDetailsFor.fileUploads,
@@ -201,14 +200,99 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
201
200
  inputBoxRef.current.focus();
202
201
  }
203
202
  };
203
+ var takeAndUploadImage = function () {
204
+ var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
205
+ var photo;
206
+ return _regenerator["default"].wrap(function _callee$(_context) {
207
+ while (1) switch (_context.prev = _context.next) {
208
+ case 0:
209
+ setSelectedPicker(undefined);
210
+ closePicker();
211
+ _context.next = 4;
212
+ return (0, _native.takePhoto)({
213
+ compressImageQuality: value.compressImageQuality
214
+ });
215
+ case 4:
216
+ photo = _context.sent;
217
+ if (photo.askToOpenSettings) {
218
+ _reactNative.Alert.alert(t('Allow camera access in device settings'), t('Device camera is used to take photos or videos.'), [{
219
+ style: 'cancel',
220
+ text: t('Cancel')
221
+ }, {
222
+ onPress: function onPress() {
223
+ return _reactNative.Linking.openSettings();
224
+ },
225
+ style: 'default',
226
+ text: t('Open Settings')
227
+ }]);
228
+ }
229
+ if (!photo.cancelled) {
230
+ setSelectedImages(function (images) {
231
+ return [].concat((0, _toConsumableArray2["default"])(images), [photo]);
232
+ });
233
+ }
234
+ case 7:
235
+ case "end":
236
+ return _context.stop();
237
+ }
238
+ }, _callee);
239
+ }));
240
+ return function takeAndUploadImage() {
241
+ return _ref2.apply(this, arguments);
242
+ };
243
+ }();
244
+ var pickAndUploadImageFromNativePicker = function () {
245
+ var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
246
+ var result;
247
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
248
+ while (1) switch (_context2.prev = _context2.next) {
249
+ case 0:
250
+ _context2.next = 2;
251
+ return (0, _native.pickImage)();
252
+ case 2:
253
+ result = _context2.sent;
254
+ if (result.askToOpenSettings) {
255
+ _reactNative.Alert.alert(t('Allow access to your Gallery'), t('Device gallery permissions is used to take photos or videos.'), [{
256
+ style: 'cancel',
257
+ text: t('Cancel')
258
+ }, {
259
+ onPress: function onPress() {
260
+ return _reactNative.Linking.openSettings();
261
+ },
262
+ style: 'default',
263
+ text: t('Open Settings')
264
+ }]);
265
+ }
266
+ if (result.assets && result.assets.length > 0) {
267
+ result.assets.forEach(function (asset) {
268
+ if (asset.type.includes('image')) {
269
+ setSelectedImages(function (prevImages) {
270
+ return [].concat((0, _toConsumableArray2["default"])(prevImages), [asset]);
271
+ });
272
+ } else {
273
+ setSelectedFiles(function (prevFiles) {
274
+ return [].concat((0, _toConsumableArray2["default"])(prevFiles), [Object.assign({}, asset, {
275
+ mimeType: asset.type,
276
+ type: _types.FileTypes.Video
277
+ })]);
278
+ });
279
+ }
280
+ });
281
+ }
282
+ case 5:
283
+ case "end":
284
+ return _context2.stop();
285
+ }
286
+ }, _callee2);
287
+ }));
288
+ return function pickAndUploadImageFromNativePicker() {
289
+ return _ref3.apply(this, arguments);
290
+ };
291
+ }();
204
292
  var openAttachmentPicker = function openAttachmentPicker() {
205
- if (hasImagePicker) {
206
- _reactNative.Keyboard.dismiss();
207
- setSelectedPicker('images');
208
- openPicker();
209
- } else if (hasFilePicker) {
210
- pickFile();
211
- }
293
+ _reactNative.Keyboard.dismiss();
294
+ setSelectedPicker('images');
295
+ openPicker();
212
296
  };
213
297
  var closeAttachmentPicker = function closeAttachmentPicker() {
214
298
  setSelectedPicker(undefined);
@@ -227,31 +311,31 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
227
311
  });
228
312
  };
229
313
  var pickFile = function () {
230
- var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
314
+ var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
231
315
  var result;
232
- return _regenerator["default"].wrap(function _callee$(_context) {
233
- while (1) switch (_context.prev = _context.next) {
316
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
317
+ while (1) switch (_context3.prev = _context3.next) {
234
318
  case 0:
235
319
  if (!(_native.pickDocument === null)) {
236
- _context.next = 3;
320
+ _context3.next = 3;
237
321
  break;
238
322
  }
239
323
  console.log('The file picker is not installed. Check our Getting Started documentation to install it.');
240
- return _context.abrupt("return");
324
+ return _context3.abrupt("return");
241
325
  case 3:
242
326
  if (!(numberOfUploads >= value.maxNumberOfFiles)) {
243
- _context.next = 6;
327
+ _context3.next = 6;
244
328
  break;
245
329
  }
246
330
  _reactNative.Alert.alert('Maximum number of files reached');
247
- return _context.abrupt("return");
331
+ return _context3.abrupt("return");
248
332
  case 6:
249
- _context.next = 8;
333
+ _context3.next = 8;
250
334
  return (0, _native.pickDocument)({
251
335
  maxNumberOfFiles: value.maxNumberOfFiles - numberOfUploads
252
336
  });
253
337
  case 8:
254
- result = _context.sent;
338
+ result = _context3.sent;
255
339
  if (!result.cancelled && result.assets) {
256
340
  result.assets.forEach(function (asset) {
257
341
  uploadNewFile(asset);
@@ -259,12 +343,12 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
259
343
  }
260
344
  case 10:
261
345
  case "end":
262
- return _context.stop();
346
+ return _context3.stop();
263
347
  }
264
- }, _callee);
348
+ }, _callee3);
265
349
  }));
266
350
  return function pickFile() {
267
- return _ref2.apply(this, arguments);
351
+ return _ref4.apply(this, arguments);
268
352
  };
269
353
  }();
270
354
  var removeFile = function removeFile(id) {
@@ -320,19 +404,19 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
320
404
  original_height: image.height,
321
405
  original_width: image.width,
322
406
  originalImage: image.file,
323
- type: 'image'
407
+ type: _types.FileTypes.Image
324
408
  };
325
409
  };
326
410
  var mapFileUploadToAttachment = function mapFileUploadToAttachment(file) {
327
- if (file.type === 'image') {
411
+ if (file.type === _types.FileTypes.Image) {
328
412
  return {
329
413
  fallback: file.file.name,
330
414
  image_url: file.url,
331
415
  mime_type: file.file.mimeType,
332
416
  originalFile: file.file,
333
- type: 'image'
417
+ type: _types.FileTypes.Image
334
418
  };
335
- } else if (file.type === 'audio') {
419
+ } else if (file.type === _types.FileTypes.Audio) {
336
420
  return {
337
421
  asset_url: file.url || file.file.uri,
338
422
  duration: file.file.duration,
@@ -340,9 +424,9 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
340
424
  mime_type: file.file.mimeType,
341
425
  originalFile: file.file,
342
426
  title: file.file.name,
343
- type: 'audio'
427
+ type: _types.FileTypes.Audio
344
428
  };
345
- } else if (file.type === 'video') {
429
+ } else if (file.type === _types.FileTypes.Video) {
346
430
  return {
347
431
  asset_url: file.url || file.file.uri,
348
432
  duration: file.file.duration,
@@ -351,9 +435,9 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
351
435
  originalFile: file.file,
352
436
  thumb_url: file.thumb_url,
353
437
  title: file.file.name,
354
- type: 'video'
438
+ type: _types.FileTypes.Video
355
439
  };
356
- } else if (file.type === 'voiceRecording') {
440
+ } else if (file.type === _types.FileTypes.VoiceRecording) {
357
441
  return {
358
442
  asset_url: file.url || file.file.uri,
359
443
  duration: file.file.duration,
@@ -361,7 +445,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
361
445
  mime_type: file.file.mimeType,
362
446
  originalFile: file.file,
363
447
  title: file.file.name,
364
- type: 'voiceRecording',
448
+ type: _types.FileTypes.VoiceRecording,
365
449
  waveform_data: file.file.waveform_data
366
450
  };
367
451
  } else {
@@ -371,13 +455,13 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
371
455
  mime_type: file.file.mimeType,
372
456
  originalFile: file.file,
373
457
  title: file.file.name,
374
- type: 'file'
458
+ type: _types.FileTypes.File
375
459
  };
376
460
  }
377
461
  };
378
462
  var sendMessage = function () {
379
- var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
380
- var _ref4,
463
+ var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
464
+ var _ref6,
381
465
  customMessageData,
382
466
  linkInfos,
383
467
  prevText,
@@ -393,24 +477,24 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
393
477
  message,
394
478
  updatedMessage,
395
479
  updateMessagePromise,
396
- _args3 = arguments;
397
- return _regenerator["default"].wrap(function _callee2$(_context3) {
398
- while (1) switch (_context3.prev = _context3.next) {
480
+ _args5 = arguments;
481
+ return _regenerator["default"].wrap(function _callee4$(_context5) {
482
+ while (1) switch (_context5.prev = _context5.next) {
399
483
  case 0:
400
- _ref4 = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, customMessageData = _ref4.customMessageData;
484
+ _ref6 = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {}, customMessageData = _ref6.customMessageData;
401
485
  if (!sending.current) {
402
- _context3.next = 3;
486
+ _context5.next = 3;
403
487
  break;
404
488
  }
405
- return _context3.abrupt("return");
489
+ return _context5.abrupt("return");
406
490
  case 3:
407
491
  linkInfos = (0, _parseLinks.parseLinksFromText)(text);
408
492
  if (!(!channelCapabities.sendLinks && linkInfos.length > 0)) {
409
- _context3.next = 7;
493
+ _context5.next = 7;
410
494
  break;
411
495
  }
412
496
  _reactNative.Alert.alert(t('Links are disabled'), t('Sending links is not allowed in this conversation'));
413
- return _context3.abrupt("return");
497
+ return _context5.abrupt("return");
414
498
  case 7:
415
499
  sending.current = true;
416
500
  startCooldown();
@@ -421,46 +505,46 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
421
505
  }
422
506
  attachments = [];
423
507
  _loop = _regenerator["default"].mark(function _loop(_image) {
424
- return _regenerator["default"].wrap(function _loop$(_context2) {
425
- while (1) switch (_context2.prev = _context2.next) {
508
+ return _regenerator["default"].wrap(function _loop$(_context4) {
509
+ while (1) switch (_context4.prev = _context4.next) {
426
510
  case 0:
427
511
  if (!enableOfflineSupport) {
428
- _context2.next = 5;
512
+ _context4.next = 5;
429
513
  break;
430
514
  }
431
515
  if (!(_image.state === _utils2.FileState.NOT_SUPPORTED)) {
432
- _context2.next = 3;
516
+ _context4.next = 3;
433
517
  break;
434
518
  }
435
- return _context2.abrupt("return", {
519
+ return _context4.abrupt("return", {
436
520
  v: void 0
437
521
  });
438
522
  case 3:
439
523
  attachments.push(mapImageUploadToAttachment(_image));
440
- return _context2.abrupt("return", "continue");
524
+ return _context4.abrupt("return", "continue");
441
525
  case 5:
442
526
  if (!((!_image || _image.state === _utils2.FileState.UPLOAD_FAILED) && !enableOfflineSupport)) {
443
- _context2.next = 7;
527
+ _context4.next = 7;
444
528
  break;
445
529
  }
446
- return _context2.abrupt("return", "continue");
530
+ return _context4.abrupt("return", "continue");
447
531
  case 7:
448
532
  if (!(_image.state === _utils2.FileState.UPLOADING)) {
449
- _context2.next = 14;
533
+ _context4.next = 14;
450
534
  break;
451
535
  }
452
536
  if (!value.sendImageAsync) {
453
- _context2.next = 12;
537
+ _context4.next = 12;
454
538
  break;
455
539
  }
456
540
  setAsyncIds(function (prevAsyncIds) {
457
541
  return [].concat((0, _toConsumableArray2["default"])(prevAsyncIds), [_image.id]);
458
542
  });
459
- _context2.next = 14;
543
+ _context4.next = 14;
460
544
  break;
461
545
  case 12:
462
546
  sending.current = false;
463
- return _context2.abrupt("return", {
547
+ return _context4.abrupt("return", {
464
548
  v: setText(prevText)
465
549
  });
466
550
  case 14:
@@ -469,107 +553,107 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
469
553
  }
470
554
  case 15:
471
555
  case "end":
472
- return _context2.stop();
556
+ return _context4.stop();
473
557
  }
474
558
  }, _loop);
475
559
  });
476
560
  _iterator3 = _createForOfIteratorHelper(imageUploads);
477
- _context3.prev = 15;
561
+ _context5.prev = 15;
478
562
  _iterator3.s();
479
563
  case 17:
480
564
  if ((_step3 = _iterator3.n()).done) {
481
- _context3.next = 27;
565
+ _context5.next = 27;
482
566
  break;
483
567
  }
484
568
  _image = _step3.value;
485
- return _context3.delegateYield(_loop(_image), "t0", 20);
569
+ return _context5.delegateYield(_loop(_image), "t0", 20);
486
570
  case 20:
487
- _ret = _context3.t0;
571
+ _ret = _context5.t0;
488
572
  if (!(_ret === "continue")) {
489
- _context3.next = 23;
573
+ _context5.next = 23;
490
574
  break;
491
575
  }
492
- return _context3.abrupt("continue", 25);
576
+ return _context5.abrupt("continue", 25);
493
577
  case 23:
494
578
  if (!((0, _typeof2["default"])(_ret) === "object")) {
495
- _context3.next = 25;
579
+ _context5.next = 25;
496
580
  break;
497
581
  }
498
- return _context3.abrupt("return", _ret.v);
582
+ return _context5.abrupt("return", _ret.v);
499
583
  case 25:
500
- _context3.next = 17;
584
+ _context5.next = 17;
501
585
  break;
502
586
  case 27:
503
- _context3.next = 32;
587
+ _context5.next = 32;
504
588
  break;
505
589
  case 29:
506
- _context3.prev = 29;
507
- _context3.t1 = _context3["catch"](15);
508
- _iterator3.e(_context3.t1);
590
+ _context5.prev = 29;
591
+ _context5.t1 = _context5["catch"](15);
592
+ _iterator3.e(_context5.t1);
509
593
  case 32:
510
- _context3.prev = 32;
594
+ _context5.prev = 32;
511
595
  _iterator3.f();
512
- return _context3.finish(32);
596
+ return _context5.finish(32);
513
597
  case 35:
514
598
  _iterator4 = _createForOfIteratorHelper(fileUploads);
515
- _context3.prev = 36;
599
+ _context5.prev = 36;
516
600
  _iterator4.s();
517
601
  case 38:
518
602
  if ((_step4 = _iterator4.n()).done) {
519
- _context3.next = 53;
603
+ _context5.next = 53;
520
604
  break;
521
605
  }
522
606
  _file3 = _step4.value;
523
607
  if (!enableOfflineSupport) {
524
- _context3.next = 45;
608
+ _context5.next = 45;
525
609
  break;
526
610
  }
527
611
  if (!(_file3.state === _utils2.FileState.NOT_SUPPORTED)) {
528
- _context3.next = 43;
612
+ _context5.next = 43;
529
613
  break;
530
614
  }
531
- return _context3.abrupt("return");
615
+ return _context5.abrupt("return");
532
616
  case 43:
533
617
  attachments.push(mapFileUploadToAttachment(_file3));
534
- return _context3.abrupt("continue", 51);
618
+ return _context5.abrupt("continue", 51);
535
619
  case 45:
536
620
  if (!(!_file3 || _file3.state === _utils2.FileState.UPLOAD_FAILED)) {
537
- _context3.next = 47;
621
+ _context5.next = 47;
538
622
  break;
539
623
  }
540
- return _context3.abrupt("continue", 51);
624
+ return _context5.abrupt("continue", 51);
541
625
  case 47:
542
626
  if (!(_file3.state === _utils2.FileState.UPLOADING)) {
543
- _context3.next = 50;
627
+ _context5.next = 50;
544
628
  break;
545
629
  }
546
630
  sending.current = false;
547
- return _context3.abrupt("return");
631
+ return _context5.abrupt("return");
548
632
  case 50:
549
633
  if (_file3.state === _utils2.FileState.UPLOADED || _file3.state === _utils2.FileState.FINISHED) {
550
634
  attachments.push(mapFileUploadToAttachment(_file3));
551
635
  }
552
636
  case 51:
553
- _context3.next = 38;
637
+ _context5.next = 38;
554
638
  break;
555
639
  case 53:
556
- _context3.next = 58;
640
+ _context5.next = 58;
557
641
  break;
558
642
  case 55:
559
- _context3.prev = 55;
560
- _context3.t2 = _context3["catch"](36);
561
- _iterator4.e(_context3.t2);
643
+ _context5.prev = 55;
644
+ _context5.t2 = _context5["catch"](36);
645
+ _iterator4.e(_context5.t2);
562
646
  case 58:
563
- _context3.prev = 58;
647
+ _context5.prev = 58;
564
648
  _iterator4.f();
565
- return _context3.finish(58);
649
+ return _context5.finish(58);
566
650
  case 61:
567
651
  if (!(!prevText && attachments.length === 0)) {
568
- _context3.next = 64;
652
+ _context5.next = 64;
569
653
  break;
570
654
  }
571
655
  sending.current = false;
572
- return _context3.abrupt("return");
656
+ return _context5.abrupt("return");
573
657
  case 64:
574
658
  message = value.editing;
575
659
  if (message && message.type !== 'error') {
@@ -611,12 +695,12 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
611
695
  }
612
696
  case 66:
613
697
  case "end":
614
- return _context3.stop();
698
+ return _context5.stop();
615
699
  }
616
- }, _callee2, null, [[15, 29, 32, 35], [36, 55, 58, 61]]);
700
+ }, _callee4, null, [[15, 29, 32, 35], [36, 55, 58, 61]]);
617
701
  }));
618
702
  return function sendMessage() {
619
- return _ref3.apply(this, arguments);
703
+ return _ref5.apply(this, arguments);
620
704
  };
621
705
  }();
622
706
  var sendMessageAsync = function sendMessageAsync(id) {
@@ -627,7 +711,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
627
711
  if (image.state === _utils2.FileState.UPLOADED || image.state === _utils2.FileState.FINISHED) {
628
712
  var attachments = [{
629
713
  image_url: image.url,
630
- type: 'image'
714
+ type: _types.FileTypes.Image
631
715
  }];
632
716
  startCooldown();
633
717
  try {
@@ -683,16 +767,16 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
683
767
  };
684
768
  var triggerSettings = getTriggerSettings();
685
769
  var updateMessage = function () {
686
- var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
687
- return _regenerator["default"].wrap(function _callee3$(_context4) {
688
- while (1) switch (_context4.prev = _context4.next) {
770
+ var _ref7 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() {
771
+ return _regenerator["default"].wrap(function _callee5$(_context6) {
772
+ while (1) switch (_context6.prev = _context6.next) {
689
773
  case 0:
690
- _context4.prev = 0;
774
+ _context6.prev = 0;
691
775
  if (!value.editing) {
692
- _context4.next = 4;
776
+ _context6.next = 4;
693
777
  break;
694
778
  }
695
- _context4.next = 4;
779
+ _context6.next = 4;
696
780
  return client.updateMessage(Object.assign({}, value.editing, {
697
781
  quoted_message: undefined,
698
782
  text: giphyEnabled && giphyActive ? "/giphy ".concat(text) : text
@@ -700,20 +784,20 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
700
784
  case 4:
701
785
  value.clearEditingState();
702
786
  resetInput();
703
- _context4.next = 11;
787
+ _context6.next = 11;
704
788
  break;
705
789
  case 8:
706
- _context4.prev = 8;
707
- _context4.t0 = _context4["catch"](0);
708
- console.log(_context4.t0);
790
+ _context6.prev = 8;
791
+ _context6.t0 = _context6["catch"](0);
792
+ console.log(_context6.t0);
709
793
  case 11:
710
794
  case "end":
711
- return _context4.stop();
795
+ return _context6.stop();
712
796
  }
713
- }, _callee3, null, [[0, 8]]);
797
+ }, _callee5, null, [[0, 8]]);
714
798
  }));
715
799
  return function updateMessage() {
716
- return _ref5.apply(this, arguments);
800
+ return _ref7.apply(this, arguments);
717
801
  };
718
802
  }();
719
803
  var regexCondition = /File (extension \.\w{2,4}|type \S+) is not supported/;
@@ -754,51 +838,51 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
754
838
  }
755
839
  };
756
840
  var uploadFile = function () {
757
- var _ref7 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(_ref6) {
841
+ var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(_ref8) {
758
842
  var newFile, file, id, response, _file$mimeType, compressedUri, extraData;
759
- return _regenerator["default"].wrap(function _callee4$(_context5) {
760
- while (1) switch (_context5.prev = _context5.next) {
843
+ return _regenerator["default"].wrap(function _callee6$(_context7) {
844
+ while (1) switch (_context7.prev = _context7.next) {
761
845
  case 0:
762
- newFile = _ref6.newFile;
846
+ newFile = _ref8.newFile;
763
847
  file = newFile.file, id = newFile.id;
764
848
  setFileUploads(getUploadSetStateAction(id, _utils2.FileState.UPLOADING));
765
849
  response = {};
766
- _context5.prev = 4;
850
+ _context7.prev = 4;
767
851
  if (!value.doDocUploadRequest) {
768
- _context5.next = 11;
852
+ _context7.next = 11;
769
853
  break;
770
854
  }
771
- _context5.next = 8;
855
+ _context7.next = 8;
772
856
  return value.doDocUploadRequest(file, channel);
773
857
  case 8:
774
- response = _context5.sent;
775
- _context5.next = 26;
858
+ response = _context7.sent;
859
+ _context7.next = 26;
776
860
  break;
777
861
  case 11:
778
862
  if (!(channel && file.uri)) {
779
- _context5.next = 26;
863
+ _context7.next = 26;
780
864
  break;
781
865
  }
782
866
  uploadAbortControllerRef.current.set(file.name, client.createAbortControllerForNextRequest());
783
867
  if (!((_file$mimeType = file.mimeType) != null && _file$mimeType.includes('image'))) {
784
- _context5.next = 22;
868
+ _context7.next = 22;
785
869
  break;
786
870
  }
787
- _context5.next = 16;
871
+ _context7.next = 16;
788
872
  return (0, _compressImage.compressedImageURI)(file, value.compressImageQuality);
789
873
  case 16:
790
- compressedUri = _context5.sent;
791
- _context5.next = 19;
874
+ compressedUri = _context7.sent;
875
+ _context7.next = 19;
792
876
  return channel.sendFile(compressedUri, file.name, file.mimeType);
793
877
  case 19:
794
- response = _context5.sent;
795
- _context5.next = 25;
878
+ response = _context7.sent;
879
+ _context7.next = 25;
796
880
  break;
797
881
  case 22:
798
- _context5.next = 24;
882
+ _context7.next = 24;
799
883
  return channel.sendFile(file.uri, file.name, file.mimeType);
800
884
  case 24:
801
- response = _context5.sent;
885
+ response = _context7.sent;
802
886
  case 25:
803
887
  uploadAbortControllerRef.current["delete"](file.name);
804
888
  case 26:
@@ -807,70 +891,70 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
807
891
  url: response.file
808
892
  };
809
893
  setFileUploads(getUploadSetStateAction(id, _utils2.FileState.UPLOADED, extraData));
810
- _context5.next = 36;
894
+ _context7.next = 36;
811
895
  break;
812
896
  case 30:
813
- _context5.prev = 30;
814
- _context5.t0 = _context5["catch"](4);
815
- if (!(_context5.t0 instanceof Error && (_context5.t0.name === 'AbortError' || _context5.t0.name === 'CanceledError'))) {
816
- _context5.next = 35;
897
+ _context7.prev = 30;
898
+ _context7.t0 = _context7["catch"](4);
899
+ if (!(_context7.t0 instanceof Error && (_context7.t0.name === 'AbortError' || _context7.t0.name === 'CanceledError'))) {
900
+ _context7.next = 35;
817
901
  break;
818
902
  }
819
903
  uploadAbortControllerRef.current["delete"](file.name);
820
- return _context5.abrupt("return");
904
+ return _context7.abrupt("return");
821
905
  case 35:
822
- handleFileOrImageUploadError(_context5.t0, false, id);
906
+ handleFileOrImageUploadError(_context7.t0, false, id);
823
907
  case 36:
824
908
  case "end":
825
- return _context5.stop();
909
+ return _context7.stop();
826
910
  }
827
- }, _callee4, null, [[4, 30]]);
911
+ }, _callee6, null, [[4, 30]]);
828
912
  }));
829
913
  return function uploadFile(_x) {
830
- return _ref7.apply(this, arguments);
914
+ return _ref9.apply(this, arguments);
831
915
  };
832
916
  }();
833
917
  var uploadImage = function () {
834
- var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(_ref8) {
918
+ var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(_ref10) {
835
919
  var _file$name;
836
- var newImage, _ref10, file, id, response, uri, filename, compressedUri, contentType, newImageUploads;
837
- return _regenerator["default"].wrap(function _callee5$(_context6) {
838
- while (1) switch (_context6.prev = _context6.next) {
920
+ var newImage, _ref12, file, id, response, uri, filename, compressedUri, contentType, newImageUploads;
921
+ return _regenerator["default"].wrap(function _callee7$(_context8) {
922
+ while (1) switch (_context8.prev = _context8.next) {
839
923
  case 0:
840
- newImage = _ref8.newImage;
841
- _ref10 = newImage || {}, file = _ref10.file, id = _ref10.id;
924
+ newImage = _ref10.newImage;
925
+ _ref12 = newImage || {}, file = _ref12.file, id = _ref12.id;
842
926
  if (file) {
843
- _context6.next = 4;
927
+ _context8.next = 4;
844
928
  break;
845
929
  }
846
- return _context6.abrupt("return");
930
+ return _context8.abrupt("return");
847
931
  case 4:
848
932
  response = {};
849
933
  uri = file.uri || '';
850
934
  filename = (_file$name = file.name) != null ? _file$name : (0, _utils2.getFileNameFromPath)(uri);
851
- _context6.prev = 7;
852
- _context6.next = 10;
935
+ _context8.prev = 7;
936
+ _context8.next = 10;
853
937
  return (0, _compressImage.compressedImageURI)(file, value.compressImageQuality);
854
938
  case 10:
855
- compressedUri = _context6.sent;
939
+ compressedUri = _context8.sent;
856
940
  contentType = (0, _mimeTypes.lookup)(filename) || 'multipart/form-data';
857
941
  if (!value.doImageUploadRequest) {
858
- _context6.next = 18;
942
+ _context8.next = 18;
859
943
  break;
860
944
  }
861
- _context6.next = 15;
945
+ _context8.next = 15;
862
946
  return value.doImageUploadRequest(file, channel);
863
947
  case 15:
864
- response = _context6.sent;
865
- _context6.next = 29;
948
+ response = _context8.sent;
949
+ _context8.next = 29;
866
950
  break;
867
951
  case 18:
868
952
  if (!(compressedUri && channel)) {
869
- _context6.next = 29;
953
+ _context8.next = 29;
870
954
  break;
871
955
  }
872
956
  if (!value.sendImageAsync) {
873
- _context6.next = 24;
957
+ _context8.next = 24;
874
958
  break;
875
959
  }
876
960
  uploadAbortControllerRef.current.set(filename, client.createAbortControllerForNextRequest());
@@ -893,14 +977,14 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
893
977
  }, function () {
894
978
  uploadAbortControllerRef.current["delete"](filename);
895
979
  });
896
- _context6.next = 29;
980
+ _context8.next = 29;
897
981
  break;
898
982
  case 24:
899
983
  uploadAbortControllerRef.current.set(filename, client.createAbortControllerForNextRequest());
900
- _context6.next = 27;
984
+ _context8.next = 27;
901
985
  return channel.sendImage(compressedUri, filename, contentType);
902
986
  case 27:
903
- response = _context6.sent;
987
+ response = _context8.sent;
904
988
  uploadAbortControllerRef.current["delete"](filename);
905
989
  case 29:
906
990
  if (Object.keys(response).length) {
@@ -911,35 +995,35 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
911
995
  });
912
996
  setImageUploads(newImageUploads);
913
997
  }
914
- _context6.next = 38;
998
+ _context8.next = 38;
915
999
  break;
916
1000
  case 32:
917
- _context6.prev = 32;
918
- _context6.t0 = _context6["catch"](7);
919
- if (!(_context6.t0 instanceof Error && (_context6.t0.name === 'AbortError' || _context6.t0.name === 'CanceledError'))) {
920
- _context6.next = 37;
1001
+ _context8.prev = 32;
1002
+ _context8.t0 = _context8["catch"](7);
1003
+ if (!(_context8.t0 instanceof Error && (_context8.t0.name === 'AbortError' || _context8.t0.name === 'CanceledError'))) {
1004
+ _context8.next = 37;
921
1005
  break;
922
1006
  }
923
1007
  uploadAbortControllerRef.current["delete"](filename);
924
- return _context6.abrupt("return");
1008
+ return _context8.abrupt("return");
925
1009
  case 37:
926
- handleFileOrImageUploadError(_context6.t0, true, id);
1010
+ handleFileOrImageUploadError(_context8.t0, true, id);
927
1011
  case 38:
928
1012
  case "end":
929
- return _context6.stop();
1013
+ return _context8.stop();
930
1014
  }
931
- }, _callee5, null, [[7, 32]]);
1015
+ }, _callee7, null, [[7, 32]]);
932
1016
  }));
933
1017
  return function uploadImage(_x2) {
934
- return _ref9.apply(this, arguments);
1018
+ return _ref11.apply(this, arguments);
935
1019
  };
936
1020
  }();
937
1021
  var uploadNewFile = function () {
938
- var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(file) {
1022
+ var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(file) {
939
1023
  var _file$mimeType2;
940
1024
  var id, fileConfig, size_limit, isAllowed, sizeLimit, fileState, fileType, newFile;
941
- return _regenerator["default"].wrap(function _callee6$(_context7) {
942
- while (1) switch (_context7.prev = _context7.next) {
1025
+ return _regenerator["default"].wrap(function _callee8$(_context9) {
1026
+ while (1) switch (_context9.prev = _context9.next) {
943
1027
  case 0:
944
1028
  id = (0, _utils2.generateRandomId)();
945
1029
  fileConfig = getFileUploadConfig();
@@ -950,7 +1034,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
950
1034
  });
951
1035
  sizeLimit = size_limit || _utils.MAX_FILE_SIZE_TO_UPLOAD;
952
1036
  if (!(file.size && file.size > sizeLimit)) {
953
- _context7.next = 9;
1037
+ _context9.next = 9;
954
1038
  break;
955
1039
  }
956
1040
  _reactNative.Alert.alert(t('File is too large: {{ size }}, maximum upload size is {{ limit }}', {
@@ -960,7 +1044,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
960
1044
  setSelectedFiles(selectedFiles.filter(function (selectedFile) {
961
1045
  return selectedFile.uri !== file.uri;
962
1046
  }));
963
- return _context7.abrupt("return");
1047
+ return _context9.abrupt("return");
964
1048
  case 9:
965
1049
  fileState = isAllowed ? _utils2.FileState.UPLOADING : _utils2.FileState.NOT_SUPPORTED;
966
1050
  fileType = file.type || ((_file$mimeType2 = file.mimeType) == null ? void 0 : _file$mimeType2.split('/')[0]);
@@ -971,7 +1055,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
971
1055
  state: fileState,
972
1056
  type: fileType
973
1057
  };
974
- _context7.next = 14;
1058
+ _context9.next = 14;
975
1059
  return Promise.all([setFileUploads(function (prevFileUploads) {
976
1060
  return prevFileUploads.concat([newFile]);
977
1061
  }), setNumberOfUploads(function (prevNumberOfUploads) {
@@ -985,19 +1069,19 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
985
1069
  }
986
1070
  case 15:
987
1071
  case "end":
988
- return _context7.stop();
1072
+ return _context9.stop();
989
1073
  }
990
- }, _callee6);
1074
+ }, _callee8);
991
1075
  }));
992
1076
  return function uploadNewFile(_x3) {
993
- return _ref11.apply(this, arguments);
1077
+ return _ref13.apply(this, arguments);
994
1078
  };
995
1079
  }();
996
1080
  var uploadNewImage = function () {
997
- var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(image) {
1081
+ var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(image) {
998
1082
  var id, imageUploadConfig, size_limit, isAllowed, sizeLimit, imageState, newImage;
999
- return _regenerator["default"].wrap(function _callee7$(_context8) {
1000
- while (1) switch (_context8.prev = _context8.next) {
1083
+ return _regenerator["default"].wrap(function _callee9$(_context10) {
1084
+ while (1) switch (_context10.prev = _context10.next) {
1001
1085
  case 0:
1002
1086
  id = (0, _utils2.generateRandomId)();
1003
1087
  imageUploadConfig = getImageUploadConfig();
@@ -1008,7 +1092,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1008
1092
  });
1009
1093
  sizeLimit = size_limit || _utils.MAX_FILE_SIZE_TO_UPLOAD;
1010
1094
  if (!(image.size && (image == null ? void 0 : image.size) > sizeLimit)) {
1011
- _context8.next = 9;
1095
+ _context10.next = 9;
1012
1096
  break;
1013
1097
  }
1014
1098
  _reactNative.Alert.alert(t('File is too large: {{ size }}, maximum upload size is {{ limit }}', {
@@ -1018,7 +1102,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1018
1102
  setSelectedImages(selectedImages.filter(function (selectedImage) {
1019
1103
  return selectedImage.uri !== image.uri;
1020
1104
  }));
1021
- return _context8.abrupt("return");
1105
+ return _context10.abrupt("return");
1022
1106
  case 9:
1023
1107
  imageState = isAllowed ? _utils2.FileState.UPLOADING : _utils2.FileState.NOT_SUPPORTED;
1024
1108
  newImage = {
@@ -1029,7 +1113,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1029
1113
  url: image.uri,
1030
1114
  width: image.width
1031
1115
  };
1032
- _context8.next = 13;
1116
+ _context10.next = 13;
1033
1117
  return Promise.all([setImageUploads(function (prevImageUploads) {
1034
1118
  return prevImageUploads.concat([newImage]);
1035
1119
  }), setNumberOfUploads(function (prevNumberOfUploads) {
@@ -1043,12 +1127,12 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1043
1127
  }
1044
1128
  case 14:
1045
1129
  case "end":
1046
- return _context8.stop();
1130
+ return _context10.stop();
1047
1131
  }
1048
- }, _callee7);
1132
+ }, _callee9);
1049
1133
  }));
1050
1134
  return function uploadNewImage(_x4) {
1051
- return _ref12.apply(this, arguments);
1135
+ return _ref14.apply(this, arguments);
1052
1136
  };
1053
1137
  }();
1054
1138
  var messageInputContext = (0, _useCreateMessageInputContext.useCreateMessageInputContext)(Object.assign({
@@ -1070,6 +1154,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1070
1154
  openCommandsPicker: openCommandsPicker,
1071
1155
  openFilePicker: pickFile,
1072
1156
  openMentionsPicker: openMentionsPicker,
1157
+ pickAndUploadImageFromNativePicker: pickAndUploadImageFromNativePicker,
1073
1158
  pickFile: pickFile,
1074
1159
  removeFile: removeFile,
1075
1160
  removeImage: removeImage,
@@ -1090,6 +1175,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1090
1175
  setShowMoreOptions: setShowMoreOptions,
1091
1176
  setText: setText,
1092
1177
  showMoreOptions: showMoreOptions,
1178
+ takeAndUploadImage: takeAndUploadImage,
1093
1179
  text: text,
1094
1180
  thread: thread,
1095
1181
  toggleAttachmentPicker: toggleAttachmentPicker,