stream-chat-react-native-core 5.28.1 → 5.29.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 (381) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +2 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js +247 -115
  4. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +30 -50
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/VideoThumbnail.js +3 -3
  8. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  9. package/lib/commonjs/components/Channel/Channel.js +43 -1
  10. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  11. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +24 -0
  12. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  13. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +6 -6
  14. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  15. package/lib/commonjs/components/Message/Message.js +1 -1
  16. package/lib/commonjs/components/Message/Message.js.map +1 -1
  17. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  18. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  19. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  20. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  21. package/lib/commonjs/components/Message/hooks/useMessageActions.js +4 -2
  22. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  23. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +55 -74
  24. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  25. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  26. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  27. package/lib/commonjs/components/MessageInput/MessageInput.js +250 -43
  28. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  29. package/lib/commonjs/components/MessageInput/SendButton.js +9 -7
  30. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  31. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecorder.js +221 -0
  32. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecorder.js.map +1 -0
  33. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +121 -0
  34. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -0
  35. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +68 -0
  36. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -0
  37. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js +75 -0
  38. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js.map +1 -0
  39. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingPreview.js +87 -0
  40. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingPreview.js.map +1 -0
  41. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingWaveform.js +47 -0
  42. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingWaveform.js.map +1 -0
  43. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js +452 -0
  44. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js.map +1 -0
  45. package/lib/commonjs/components/MessageInput/utils/audioSampling.js +91 -0
  46. package/lib/commonjs/components/MessageInput/utils/audioSampling.js.map +1 -0
  47. package/lib/commonjs/components/MessageInput/utils/normalizeAudioLevel.js +18 -0
  48. package/lib/commonjs/components/MessageInput/utils/normalizeAudioLevel.js.map +1 -0
  49. package/lib/commonjs/components/ProgressControl/ProgressControl.js +57 -40
  50. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  51. package/lib/commonjs/components/ProgressControl/WaveProgressBar.js +162 -0
  52. package/lib/commonjs/components/ProgressControl/WaveProgressBar.js.map +1 -0
  53. package/lib/commonjs/components/Reply/Reply.js +45 -20
  54. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  55. package/lib/commonjs/components/index.js +66 -0
  56. package/lib/commonjs/components/index.js.map +1 -1
  57. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +23 -12
  58. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  59. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +24 -0
  60. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  61. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +76 -28
  62. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  63. package/lib/commonjs/contexts/themeContext/utils/theme.js +62 -7
  64. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  65. package/lib/commonjs/i18n/en.json +3 -1
  66. package/lib/commonjs/i18n/es.json +64 -62
  67. package/lib/commonjs/i18n/fr.json +64 -62
  68. package/lib/commonjs/i18n/he.json +64 -62
  69. package/lib/commonjs/i18n/hi.json +64 -62
  70. package/lib/commonjs/i18n/it.json +64 -62
  71. package/lib/commonjs/i18n/ja.json +64 -62
  72. package/lib/commonjs/i18n/ko.json +64 -62
  73. package/lib/commonjs/i18n/nl.json +64 -62
  74. package/lib/commonjs/i18n/pt-BR.json +64 -62
  75. package/lib/commonjs/i18n/ru.json +64 -62
  76. package/lib/commonjs/i18n/tr.json +64 -62
  77. package/lib/commonjs/icons/ArrowLeft.js +27 -0
  78. package/lib/commonjs/icons/ArrowLeft.js.map +1 -0
  79. package/lib/commonjs/icons/ArrowUp.js +26 -0
  80. package/lib/commonjs/icons/ArrowUp.js.map +1 -0
  81. package/lib/commonjs/icons/Audio.js +24 -24
  82. package/lib/commonjs/icons/Audio.js.map +1 -1
  83. package/lib/commonjs/icons/CircleStop.js +27 -0
  84. package/lib/commonjs/icons/CircleStop.js.map +1 -0
  85. package/lib/commonjs/icons/Delete.js +17 -6
  86. package/lib/commonjs/icons/Delete.js.map +1 -1
  87. package/lib/commonjs/icons/Lock.js +30 -0
  88. package/lib/commonjs/icons/Lock.js.map +1 -0
  89. package/lib/commonjs/icons/Mic.js +30 -0
  90. package/lib/commonjs/icons/Mic.js.map +1 -0
  91. package/lib/commonjs/icons/Pause.js +15 -20
  92. package/lib/commonjs/icons/Pause.js.map +1 -1
  93. package/lib/commonjs/icons/Play.js +18 -10
  94. package/lib/commonjs/icons/Play.js.map +1 -1
  95. package/lib/commonjs/icons/SendCheck.js +30 -0
  96. package/lib/commonjs/icons/SendCheck.js.map +1 -0
  97. package/lib/commonjs/icons/SendRight.js +24 -6
  98. package/lib/commonjs/icons/SendRight.js.map +1 -1
  99. package/lib/commonjs/icons/SendUp.js +24 -6
  100. package/lib/commonjs/icons/SendUp.js.map +1 -1
  101. package/lib/commonjs/icons/Stop.js +19 -0
  102. package/lib/commonjs/icons/Stop.js.map +1 -0
  103. package/lib/commonjs/icons/index.js +77 -0
  104. package/lib/commonjs/icons/index.js.map +1 -1
  105. package/lib/commonjs/native.js +10 -1
  106. package/lib/commonjs/native.js.map +1 -1
  107. package/lib/commonjs/utils/getTrimmedAttachmentTitle.js +11 -0
  108. package/lib/commonjs/utils/getTrimmedAttachmentTitle.js.map +1 -0
  109. package/lib/commonjs/version.json +1 -1
  110. package/lib/module/components/Attachment/Attachment.js +2 -2
  111. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  112. package/lib/module/components/Attachment/AudioAttachment.js +247 -115
  113. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  114. package/lib/module/components/Attachment/FileAttachmentGroup.js +30 -50
  115. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  116. package/lib/module/components/Attachment/VideoThumbnail.js +3 -3
  117. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  118. package/lib/module/components/Channel/Channel.js +43 -1
  119. package/lib/module/components/Channel/Channel.js.map +1 -1
  120. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +24 -0
  121. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  122. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +6 -6
  123. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  124. package/lib/module/components/Message/Message.js +1 -1
  125. package/lib/module/components/Message/Message.js.map +1 -1
  126. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  127. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  128. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  129. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  130. package/lib/module/components/Message/hooks/useMessageActions.js +4 -2
  131. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  132. package/lib/module/components/MessageInput/FileUploadPreview.js +55 -74
  133. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  134. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  135. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  136. package/lib/module/components/MessageInput/MessageInput.js +250 -43
  137. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  138. package/lib/module/components/MessageInput/SendButton.js +9 -7
  139. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  140. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecorder.js +221 -0
  141. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecorder.js.map +1 -0
  142. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +121 -0
  143. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -0
  144. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +68 -0
  145. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -0
  146. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js +75 -0
  147. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js.map +1 -0
  148. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingPreview.js +87 -0
  149. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingPreview.js.map +1 -0
  150. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingWaveform.js +47 -0
  151. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingWaveform.js.map +1 -0
  152. package/lib/module/components/MessageInput/hooks/useAudioController.js +452 -0
  153. package/lib/module/components/MessageInput/hooks/useAudioController.js.map +1 -0
  154. package/lib/module/components/MessageInput/utils/audioSampling.js +91 -0
  155. package/lib/module/components/MessageInput/utils/audioSampling.js.map +1 -0
  156. package/lib/module/components/MessageInput/utils/normalizeAudioLevel.js +18 -0
  157. package/lib/module/components/MessageInput/utils/normalizeAudioLevel.js.map +1 -0
  158. package/lib/module/components/ProgressControl/ProgressControl.js +57 -40
  159. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  160. package/lib/module/components/ProgressControl/WaveProgressBar.js +162 -0
  161. package/lib/module/components/ProgressControl/WaveProgressBar.js.map +1 -0
  162. package/lib/module/components/Reply/Reply.js +45 -20
  163. package/lib/module/components/Reply/Reply.js.map +1 -1
  164. package/lib/module/components/index.js +66 -0
  165. package/lib/module/components/index.js.map +1 -1
  166. package/lib/module/contexts/messageInputContext/MessageInputContext.js +23 -12
  167. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  168. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +24 -0
  169. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  170. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +76 -28
  171. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  172. package/lib/module/contexts/themeContext/utils/theme.js +62 -7
  173. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  174. package/lib/module/i18n/en.json +3 -1
  175. package/lib/module/i18n/es.json +64 -62
  176. package/lib/module/i18n/fr.json +64 -62
  177. package/lib/module/i18n/he.json +64 -62
  178. package/lib/module/i18n/hi.json +64 -62
  179. package/lib/module/i18n/it.json +64 -62
  180. package/lib/module/i18n/ja.json +64 -62
  181. package/lib/module/i18n/ko.json +64 -62
  182. package/lib/module/i18n/nl.json +64 -62
  183. package/lib/module/i18n/pt-BR.json +64 -62
  184. package/lib/module/i18n/ru.json +64 -62
  185. package/lib/module/i18n/tr.json +64 -62
  186. package/lib/module/icons/ArrowLeft.js +27 -0
  187. package/lib/module/icons/ArrowLeft.js.map +1 -0
  188. package/lib/module/icons/ArrowUp.js +26 -0
  189. package/lib/module/icons/ArrowUp.js.map +1 -0
  190. package/lib/module/icons/Audio.js +24 -24
  191. package/lib/module/icons/Audio.js.map +1 -1
  192. package/lib/module/icons/CircleStop.js +27 -0
  193. package/lib/module/icons/CircleStop.js.map +1 -0
  194. package/lib/module/icons/Delete.js +17 -6
  195. package/lib/module/icons/Delete.js.map +1 -1
  196. package/lib/module/icons/Lock.js +30 -0
  197. package/lib/module/icons/Lock.js.map +1 -0
  198. package/lib/module/icons/Mic.js +30 -0
  199. package/lib/module/icons/Mic.js.map +1 -0
  200. package/lib/module/icons/Pause.js +15 -20
  201. package/lib/module/icons/Pause.js.map +1 -1
  202. package/lib/module/icons/Play.js +18 -10
  203. package/lib/module/icons/Play.js.map +1 -1
  204. package/lib/module/icons/SendCheck.js +30 -0
  205. package/lib/module/icons/SendCheck.js.map +1 -0
  206. package/lib/module/icons/SendRight.js +24 -6
  207. package/lib/module/icons/SendRight.js.map +1 -1
  208. package/lib/module/icons/SendUp.js +24 -6
  209. package/lib/module/icons/SendUp.js.map +1 -1
  210. package/lib/module/icons/Stop.js +19 -0
  211. package/lib/module/icons/Stop.js.map +1 -0
  212. package/lib/module/icons/index.js +77 -0
  213. package/lib/module/icons/index.js.map +1 -1
  214. package/lib/module/native.js +10 -1
  215. package/lib/module/native.js.map +1 -1
  216. package/lib/module/utils/getTrimmedAttachmentTitle.js +11 -0
  217. package/lib/module/utils/getTrimmedAttachmentTitle.js.map +1 -0
  218. package/lib/module/version.json +1 -1
  219. package/lib/typescript/components/Attachment/Attachment.d.ts.map +1 -1
  220. package/lib/typescript/components/Attachment/AudioAttachment.d.ts +3 -8
  221. package/lib/typescript/components/Attachment/AudioAttachment.d.ts.map +1 -1
  222. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
  223. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  224. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +15 -3
  225. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  226. package/lib/typescript/components/ImageGallery/components/ImageGalleryVideoControl.d.ts.map +1 -1
  227. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
  228. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
  229. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +1 -1
  230. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts.map +1 -1
  231. package/lib/typescript/components/MessageInput/InputButtons.d.ts.map +1 -1
  232. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
  233. package/lib/typescript/components/MessageInput/MessageInput.d.ts.map +1 -1
  234. package/lib/typescript/components/MessageInput/SendButton.d.ts.map +1 -1
  235. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecorder.d.ts +51 -0
  236. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecorder.d.ts.map +1 -0
  237. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingButton.d.ts +43 -0
  238. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingButton.d.ts.map +1 -0
  239. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts +29 -0
  240. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts.map +1 -0
  241. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.d.ts +22 -0
  242. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.d.ts.map +1 -0
  243. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingPreview.d.ts +31 -0
  244. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingPreview.d.ts.map +1 -0
  245. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingWaveform.d.ts +19 -0
  246. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingWaveform.d.ts.map +1 -0
  247. package/lib/typescript/components/MessageInput/hooks/useAudioController.d.ts +28 -0
  248. package/lib/typescript/components/MessageInput/hooks/useAudioController.d.ts.map +1 -0
  249. package/lib/typescript/components/MessageInput/utils/audioSampling.d.ts +11 -0
  250. package/lib/typescript/components/MessageInput/utils/audioSampling.d.ts.map +1 -0
  251. package/lib/typescript/components/MessageInput/utils/normalizeAudioLevel.d.ts +5 -0
  252. package/lib/typescript/components/MessageInput/utils/normalizeAudioLevel.d.ts.map +1 -0
  253. package/lib/typescript/components/ProgressControl/ProgressControl.d.ts +2 -2
  254. package/lib/typescript/components/ProgressControl/ProgressControl.d.ts.map +1 -1
  255. package/lib/typescript/components/ProgressControl/WaveProgressBar.d.ts +11 -0
  256. package/lib/typescript/components/ProgressControl/WaveProgressBar.d.ts.map +1 -0
  257. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  258. package/lib/typescript/components/index.d.ts +6 -0
  259. package/lib/typescript/components/index.d.ts.map +1 -1
  260. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +70 -4
  261. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  262. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  263. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  264. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts.map +1 -1
  265. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +62 -7
  266. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  267. package/lib/typescript/i18n/en.json +3 -1
  268. package/lib/typescript/i18n/es.json +64 -62
  269. package/lib/typescript/i18n/fr.json +64 -62
  270. package/lib/typescript/i18n/he.json +64 -62
  271. package/lib/typescript/i18n/hi.json +64 -62
  272. package/lib/typescript/i18n/it.json +64 -62
  273. package/lib/typescript/i18n/ja.json +64 -62
  274. package/lib/typescript/i18n/ko.json +64 -62
  275. package/lib/typescript/i18n/nl.json +64 -62
  276. package/lib/typescript/i18n/pt-BR.json +64 -62
  277. package/lib/typescript/i18n/ru.json +64 -62
  278. package/lib/typescript/i18n/tr.json +64 -62
  279. package/lib/typescript/icons/ArrowLeft.d.ts +8 -0
  280. package/lib/typescript/icons/ArrowLeft.d.ts.map +1 -0
  281. package/lib/typescript/icons/ArrowUp.d.ts +9 -0
  282. package/lib/typescript/icons/ArrowUp.d.ts.map +1 -0
  283. package/lib/typescript/icons/Audio.d.ts.map +1 -1
  284. package/lib/typescript/icons/CircleStop.d.ts +8 -0
  285. package/lib/typescript/icons/CircleStop.d.ts.map +1 -0
  286. package/lib/typescript/icons/Delete.d.ts +5 -1
  287. package/lib/typescript/icons/Delete.d.ts.map +1 -1
  288. package/lib/typescript/icons/Lock.d.ts +9 -0
  289. package/lib/typescript/icons/Lock.d.ts.map +1 -0
  290. package/lib/typescript/icons/Mic.d.ts +8 -0
  291. package/lib/typescript/icons/Mic.d.ts.map +1 -0
  292. package/lib/typescript/icons/Pause.d.ts +3 -1
  293. package/lib/typescript/icons/Pause.d.ts.map +1 -1
  294. package/lib/typescript/icons/Play.d.ts +3 -1
  295. package/lib/typescript/icons/Play.d.ts.map +1 -1
  296. package/lib/typescript/icons/SendCheck.d.ts +8 -0
  297. package/lib/typescript/icons/SendCheck.d.ts.map +1 -0
  298. package/lib/typescript/icons/SendRight.d.ts +5 -1
  299. package/lib/typescript/icons/SendRight.d.ts.map +1 -1
  300. package/lib/typescript/icons/SendUp.d.ts +5 -1
  301. package/lib/typescript/icons/SendUp.d.ts.map +1 -1
  302. package/lib/typescript/icons/Stop.d.ts +4 -0
  303. package/lib/typescript/icons/Stop.d.ts.map +1 -0
  304. package/lib/typescript/icons/index.d.ts +7 -0
  305. package/lib/typescript/icons/index.d.ts.map +1 -1
  306. package/lib/typescript/native.d.ts +49 -0
  307. package/lib/typescript/native.d.ts.map +1 -1
  308. package/lib/typescript/types/types.d.ts +6 -0
  309. package/lib/typescript/types/types.d.ts.map +1 -1
  310. package/lib/typescript/utils/Streami18n.d.ts +2 -0
  311. package/lib/typescript/utils/Streami18n.d.ts.map +1 -1
  312. package/lib/typescript/utils/getTrimmedAttachmentTitle.d.ts +2 -0
  313. package/lib/typescript/utils/getTrimmedAttachmentTitle.d.ts.map +1 -0
  314. package/package.json +1 -1
  315. package/src/components/Attachment/Attachment.tsx +7 -2
  316. package/src/components/Attachment/AudioAttachment.tsx +223 -119
  317. package/src/components/Attachment/FileAttachmentGroup.tsx +35 -55
  318. package/src/components/Attachment/VideoThumbnail.tsx +1 -1
  319. package/src/components/Channel/Channel.tsx +32 -0
  320. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +24 -0
  321. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +1 -1
  322. package/src/components/ImageGallery/__tests__/ImageGalleryVideoControl.test.tsx +2 -2
  323. package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +2 -7
  324. package/src/components/Message/Message.tsx +1 -1
  325. package/src/components/Message/MessageSimple/MessageContent.tsx +2 -1
  326. package/src/components/Message/MessageSimple/MessageSimple.tsx +2 -1
  327. package/src/components/Message/hooks/useMessageActions.tsx +2 -2
  328. package/src/components/MessageInput/FileUploadPreview.tsx +67 -98
  329. package/src/components/MessageInput/InputButtons.tsx +2 -1
  330. package/src/components/MessageInput/MessageInput.tsx +320 -49
  331. package/src/components/MessageInput/SendButton.tsx +7 -3
  332. package/src/components/MessageInput/__tests__/MessageInput.test.js +0 -1
  333. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +132 -48
  334. package/src/components/MessageInput/components/AudioRecorder/AudioRecorder.tsx +313 -0
  335. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +192 -0
  336. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.tsx +114 -0
  337. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.tsx +85 -0
  338. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingPreview.tsx +102 -0
  339. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingWaveform.tsx +62 -0
  340. package/src/components/MessageInput/hooks/useAudioController.tsx +288 -0
  341. package/src/components/MessageInput/utils/audioSampling.ts +108 -0
  342. package/src/components/MessageInput/utils/normalizeAudioLevel.ts +20 -0
  343. package/src/components/ProgressControl/ProgressControl.tsx +69 -40
  344. package/src/components/ProgressControl/WaveProgressBar.tsx +180 -0
  345. package/src/components/Reply/Reply.tsx +89 -56
  346. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +38 -20
  347. package/src/components/index.ts +6 -0
  348. package/src/contexts/messageInputContext/MessageInputContext.tsx +95 -10
  349. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +25 -0
  350. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +80 -27
  351. package/src/contexts/themeContext/utils/theme.ts +111 -14
  352. package/src/i18n/en.json +3 -1
  353. package/src/i18n/es.json +64 -62
  354. package/src/i18n/fr.json +64 -62
  355. package/src/i18n/he.json +64 -62
  356. package/src/i18n/hi.json +64 -62
  357. package/src/i18n/it.json +64 -62
  358. package/src/i18n/ja.json +64 -62
  359. package/src/i18n/ko.json +64 -62
  360. package/src/i18n/nl.json +64 -62
  361. package/src/i18n/pt-BR.json +64 -62
  362. package/src/i18n/ru.json +64 -62
  363. package/src/i18n/tr.json +64 -62
  364. package/src/icons/ArrowLeft.tsx +18 -0
  365. package/src/icons/ArrowUp.tsx +19 -0
  366. package/src/icons/Audio.tsx +24 -24
  367. package/src/icons/CircleStop.tsx +18 -0
  368. package/src/icons/Delete.tsx +14 -8
  369. package/src/icons/Lock.tsx +22 -0
  370. package/src/icons/Mic.tsx +20 -0
  371. package/src/icons/Pause.tsx +12 -11
  372. package/src/icons/Play.tsx +9 -13
  373. package/src/icons/SendCheck.tsx +18 -0
  374. package/src/icons/SendRight.tsx +16 -7
  375. package/src/icons/SendUp.tsx +16 -7
  376. package/src/icons/Stop.tsx +12 -0
  377. package/src/icons/index.ts +7 -0
  378. package/src/native.ts +69 -0
  379. package/src/types/types.ts +6 -0
  380. package/src/utils/getTrimmedAttachmentTitle.ts +5 -0
  381. package/src/version.json +1 -1
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+
3
+ import { G, Path, Svg } from 'react-native-svg';
4
+
5
+ import { ColorValue } from 'react-native/types';
6
+
7
+ type Props = {
8
+ color: ColorValue;
9
+ size: number;
10
+ };
11
+
12
+ export const Lock = ({ color, size }: Props) => (
13
+ <Svg fill={'none'} height={size} viewBox={`0 0 ${size} ${size}`} width={size}>
14
+ <G id='Lock'>
15
+ <Path
16
+ d='M10.5039 26.9062H21.4844C23.2656 26.9062 24.1914 25.957 24.1914 24.0352V15.7383C24.1914 14.0391 23.4648 13.1016 22.0586 12.9141V10.125C22.0586 5.80078 19.1992 3.5625 16 3.5625C12.8008 3.5625 9.94141 5.80078 9.94141 10.125V12.9141C8.53516 13.1016 7.79688 14.0391 7.79688 15.7383V24.0352C7.79688 25.957 8.72266 26.9062 10.5039 26.9062ZM12.1328 9.91406C12.1328 7.17188 13.9023 5.67188 16 5.67188C18.0859 5.67188 19.8672 7.17188 19.8672 9.91406V12.8789H12.1328V9.91406ZM10.8438 24.8086C10.3633 24.8086 10.0703 24.5156 10.0703 23.9531V15.8203C10.0703 15.2578 10.3633 14.9766 10.8438 14.9766H21.1562C21.6484 14.9766 21.918 15.2578 21.918 15.8203V23.9531C21.918 24.5156 21.6484 24.8086 21.1562 24.8086H10.8438Z'
17
+ fill={color}
18
+ id='Lock'
19
+ />
20
+ </G>
21
+ </Svg>
22
+ );
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+
3
+ import { G, Path, Svg } from 'react-native-svg';
4
+
5
+ import { IconProps } from './utils/base';
6
+
7
+ type Props = IconProps & {
8
+ size: number;
9
+ };
10
+
11
+ export const Mic = ({ size, ...rest }: Props) => (
12
+ <Svg height={size} viewBox={`0 0 ${size} ${size}`} width={size} {...rest}>
13
+ <G id='24 / mic_iOS'>
14
+ <Path
15
+ d='M11.5234 13.9922C11.5234 16.8047 13.375 18.7734 16 18.7734C18.6367 18.7734 20.4766 16.8047 20.4766 13.9922V6.69141C20.4766 3.86719 18.6367 1.89844 16 1.89844C13.375 1.89844 11.5234 3.86719 11.5234 6.69141V13.9922ZM13.7383 14.0273V6.64453C13.7383 5.08594 14.6172 4.01953 16 4.01953C17.3828 4.01953 18.2617 5.08594 18.2617 6.64453V14.0273C18.2617 15.5977 17.3828 16.6523 16 16.6523C14.6172 16.6523 13.7383 15.5977 13.7383 14.0273ZM7.10547 14.5078C7.10547 19.3242 10.3047 22.6289 14.9336 23.0742V25.4766H10.6211C10.0234 25.4766 9.51953 25.9688 9.51953 26.5781C9.51953 27.1758 10.0234 27.668 10.6211 27.668H21.3789C21.9883 27.668 22.4922 27.1758 22.4922 26.5781C22.4922 25.9688 21.9883 25.4766 21.3789 25.4766H17.0781V23.0742C21.6953 22.6289 24.9062 19.3242 24.9062 14.5078V12.1875C24.9062 11.5781 24.4141 11.0977 23.8047 11.0977C23.1953 11.0977 22.6914 11.5781 22.6914 12.1875V14.4258C22.6914 18.4102 19.9961 21.0469 16 21.0469C12.0039 21.0469 9.30859 18.4102 9.30859 14.4258V12.1875C9.30859 11.5781 8.81641 11.0977 8.20703 11.0977C7.59766 11.0977 7.10547 11.5781 7.10547 12.1875V14.5078Z'
16
+ {...rest}
17
+ />
18
+ </G>
19
+ </Svg>
20
+ );
@@ -1,14 +1,15 @@
1
1
  import React from 'react';
2
- import { Rect } from 'react-native-svg';
2
+ import Svg, { Path } from 'react-native-svg';
3
3
 
4
- import { IconProps, RootSvg } from './utils/base';
4
+ import { IconProps } from './utils/base';
5
5
 
6
- export const Pause = (props: IconProps) => {
7
- const { height, width } = props;
8
- return (
9
- <RootSvg height={height} viewBox={`0 0 ${height} ${width}`} width={width} {...props}>
10
- <Rect fill={props.pathFill} height={14} width={4} x={6} y={5} />
11
- <Rect fill={props.pathFill} height={14} width={4} x={14} y={5} />
12
- </RootSvg>
13
- );
14
- };
6
+ type Props = IconProps;
7
+
8
+ export const Pause = ({ height, width, ...rest }: Props) => (
9
+ <Svg height={height} viewBox={`0 0 ${height} ${width}`} width={width} {...rest}>
10
+ <Path
11
+ d='M8 25.3333H13.3333V6.66663H8V25.3333ZM18.6667 6.66663V25.3333H24V6.66663H18.6667Z'
12
+ {...rest}
13
+ />
14
+ </Svg>
15
+ );
@@ -1,17 +1,13 @@
1
1
  import React from 'react';
2
2
 
3
- import { IconProps, RootPath, RootSvg } from './utils/base';
3
+ import Svg, { Path } from 'react-native-svg';
4
4
 
5
- export const Play = (props: IconProps) => (
6
- <RootSvg
7
- height={props.height}
8
- viewBox={`0 0 ${props.height} ${props.width}`}
9
- width={props.width}
10
- {...props}
11
- >
12
- <RootPath
13
- d='M 9.5547 5.03647 C 8.89014 4.59343 8 5.06982 8 5.86852 V 18.1315 C 8 18.9302 8.89015 19.4066 9.5547 18.9635 L 18.7519 12.8321 C 19.3457 12.4362 19.3457 11.5638 18.7519 11.1679 L 9.5547 5.03647 Z'
14
- {...props}
15
- />
16
- </RootSvg>
5
+ import { IconProps } from './utils/base';
6
+
7
+ type Props = IconProps;
8
+
9
+ export const Play = ({ height, width, ...rest }: Props) => (
10
+ <Svg height={height} viewBox={`0 0 ${height} ${width}`} width={width} {...rest}>
11
+ <Path d='M8.66602 6.66663V25.3333L23.3327 16L8.66602 6.66663Z' {...rest} />
12
+ </Svg>
17
13
  );
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+
3
+ import Svg, { Path } from 'react-native-svg';
4
+
5
+ import { IconProps } from './utils/base';
6
+
7
+ type Props = IconProps & {
8
+ size: number;
9
+ };
10
+
11
+ export const SendCheck = ({ size, ...rest }: Props) => (
12
+ <Svg height={size} viewBox={`0 0 ${size} ${size}`} width={size} {...rest}>
13
+ <Path
14
+ d='M16 32C7.24879 32 0 24.7667 0 16C0 7.24879 7.2333 0 15.9845 0C24.7512 0 32 7.24879 32 16C32 24.7667 24.7512 32 16 32ZM14.2807 23.6515C14.8538 23.6515 15.3495 23.3572 15.7057 22.8306L22.9545 11.5237C23.1713 11.183 23.3572 10.7957 23.3572 10.4395C23.3572 9.63408 22.6602 9.09197 21.8858 9.09197C21.3901 9.09197 20.9564 9.35528 20.6312 9.89739L14.2188 20.151L11.2294 16.3562C10.8422 15.8606 10.4705 15.6747 9.99032 15.6747C9.1849 15.6747 8.56534 16.3253 8.56534 17.1152C8.56534 17.5024 8.70474 17.8742 8.98354 18.2149L12.7783 22.8306C13.212 23.3882 13.6922 23.6515 14.2807 23.6515Z'
15
+ {...rest}
16
+ />
17
+ </Svg>
18
+ );
@@ -1,12 +1,21 @@
1
1
  import React from 'react';
2
2
 
3
- import { IconProps, RootPath, RootSvg } from './utils/base';
3
+ import Svg, { Circle, Path } from 'react-native-svg';
4
4
 
5
- export const SendRight = (props: IconProps) => (
6
- <RootSvg {...props}>
7
- <RootPath
8
- d='M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12s4.48 10 10 10 10-4.48 10-10zM8 11h4V8l4 4-4 4v-3H8v-2z'
9
- {...props}
5
+ import { IconProps } from './utils/base';
6
+
7
+ type Props = IconProps & {
8
+ size: number;
9
+ };
10
+
11
+ export const SendRight = ({ size, ...rest }: Props) => (
12
+ <Svg height={size} viewBox={`0 0 ${size} ${size}`} width={size} {...rest}>
13
+ <Circle cx={size / 2} cy={size / 2} r={size / 2} {...rest} />
14
+ <Path
15
+ clipRule='evenodd'
16
+ d='M9.33398 14.6666H16.0007V9.33325L22.6673 15.9999L16.0007 22.6666V17.3333H9.33398V14.6666Z'
17
+ fill={'white'}
18
+ fillRule='evenodd'
10
19
  />
11
- </RootSvg>
20
+ </Svg>
12
21
  );
@@ -1,12 +1,21 @@
1
1
  import React from 'react';
2
2
 
3
- import { IconProps, RootPath, RootSvg } from './utils/base';
3
+ import Svg, { Circle, Path } from 'react-native-svg';
4
4
 
5
- export const SendUp = (props: IconProps) => (
6
- <RootSvg {...props}>
7
- <RootPath
8
- d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 14v-4H8l4-4 4 4h-3v4h-2z'
9
- {...props}
5
+ import { IconProps } from './utils/base';
6
+
7
+ type Props = IconProps & {
8
+ size: number;
9
+ };
10
+
11
+ export const SendUp = ({ size, ...rest }: Props) => (
12
+ <Svg height={size} viewBox={`0 0 ${size} ${size}`} width={size} {...rest}>
13
+ <Circle cx={size / 2} cy={size / 2} r={size / 2} {...rest} />
14
+ <Path
15
+ clipRule='evenodd'
16
+ d='M14.6673 16V22.6667H17.334V16H22.6673L16.0007 9.33337L9.33398 16H14.6673Z'
17
+ fill={'white'}
18
+ fillRule='evenodd'
10
19
  />
11
- </RootSvg>
20
+ </Svg>
12
21
  );
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+
3
+ import { IconProps, RootPath, RootSvg } from './utils/base';
4
+
5
+ export const Stop: React.FC<IconProps> = (props) => (
6
+ <RootSvg {...props}>
7
+ <RootPath
8
+ d='M 14 0.666687 C 6.41 0.666687 0.25 6.64002 0.25 14 C 0.25 21.36 6.41 27.3334 14 27.3334 C 21.59 27.3334 27.75 21.36 27.75 14 C 27.75 6.64002 21.59 0.666687 14 0.666687 Z M 14 24.6667 C 7.9225 24.6667 3 19.8934 3 14 C 3 8.10669 7.9225 3.33335 14 3.33335 C 20.0775 3.33335 25 8.10669 25 14 C 25 19.8934 20.0775 24.6667 14 24.6667 Z M 19.5 19.3334 H 8.5 V 8.66669 H 19.5 V 19.3334 Z'
9
+ {...props}
10
+ />
11
+ </RootSvg>
12
+ );
@@ -1,6 +1,8 @@
1
1
  export * from './utils/base';
2
2
 
3
3
  export * from './ArrowRight';
4
+ export * from './ArrowLeft';
5
+ export * from './ArrowUp';
4
6
  export * from './AtMentions';
5
7
  export * from './Attach';
6
8
  export * from './Audio';
@@ -9,6 +11,7 @@ export * from './Check';
9
11
  export * from './CheckAll';
10
12
  export * from './CheckSend';
11
13
  export * from './CircleClose';
14
+ export * from './CircleStop';
12
15
  export * from './Close';
13
16
  export * from './Copy';
14
17
  export * from './CSV';
@@ -33,6 +36,7 @@ export * from './Imgur';
33
36
  export * from './Lightning';
34
37
  export * from './Link';
35
38
  export * from './Loading';
39
+ export * from './Lock';
36
40
  export * from './Logo';
37
41
  export * from './LOLReaction';
38
42
  export * from './LoveReaction';
@@ -42,6 +46,7 @@ export * from './MenuPointHorizontal';
42
46
  export * from './MenuPointVertical';
43
47
  export * from './MessageFlag';
44
48
  export * from './MessageIcon';
49
+ export * from './Mic';
45
50
  export * from './Mute';
46
51
  export * from './Notification';
47
52
  export * from './ODT';
@@ -57,6 +62,7 @@ export * from './RAR';
57
62
  export * from './Refresh';
58
63
  export * from './RTF';
59
64
  export * from './Search';
65
+ export * from './SendCheck';
60
66
  export * from './SendRight';
61
67
  export * from './SendUp';
62
68
  export * from './SEVEN_Z';
@@ -64,6 +70,7 @@ export * from './Share';
64
70
  export * from './ShareRightArrow';
65
71
  export * from './Smile';
66
72
  export * from './Sound';
73
+ export * from './Stop';
67
74
  export * from './TAR';
68
75
  export * from './ThreadReply';
69
76
  export * from './ThumbsDownReaction';
package/src/native.ts CHANGED
@@ -108,14 +108,18 @@ type TriggerHaptic = (method: HapticFeedbackMethod) => void | never;
108
108
  export let triggerHaptic: TriggerHaptic = fail;
109
109
 
110
110
  export type PlaybackStatus = {
111
+ currentPosition: number;
111
112
  didJustFinish: boolean;
113
+ duration: number;
112
114
  durationMillis: number;
113
115
  error: string;
114
116
  isBuffering: boolean;
115
117
  isLoaded: boolean;
116
118
  isLooping: boolean;
119
+ isMuted: boolean;
117
120
  isPlaying: boolean;
118
121
  positionMillis: number;
122
+ shouldPlay: boolean;
119
123
  };
120
124
 
121
125
  export type AVPlaybackStatusToSet = {
@@ -152,13 +156,18 @@ export type SoundReturnType = {
152
156
  onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;
153
157
  onProgress?: (data: VideoProgressData) => void;
154
158
  onReadyForDisplay?: () => void;
159
+ pause?: () => void;
155
160
  pauseAsync?: () => void;
156
161
  play?: () => void;
157
162
  playAsync?: () => void;
163
+ rate?: number;
158
164
  replayAsync?: () => void;
159
165
  resizeMode?: string;
166
+ resume?: () => void;
160
167
  seek?: (progress: number) => void;
161
168
  setPositionAsync?: (millis: number) => void;
169
+ setProgressUpdateIntervalAsync?: (progressUpdateIntervalMillis: number) => void;
170
+ setRateAsync?: (rate: number) => void;
162
171
  soundRef?: React.RefObject<SoundReturnType>;
163
172
  stopAsync?: () => void;
164
173
  style?: StyleProp<ViewStyle>;
@@ -175,6 +184,60 @@ export type SoundType = {
175
184
  Player: React.ComponentType<SoundReturnType> | null;
176
185
  };
177
186
 
187
+ export type RecordingStatus = {
188
+ canRecord: boolean;
189
+ currentMetering: number;
190
+ currentPosition: number;
191
+ durationMillis: number;
192
+ isDoneRecording: boolean;
193
+ isRecording: boolean;
194
+ metering: number;
195
+ mediaServicesDidReset?: boolean;
196
+ uri?: string | null;
197
+ };
198
+
199
+ export type AudioRecordingReturnType =
200
+ | string
201
+ | {
202
+ getStatusAsync: () => Promise<RecordingStatus>;
203
+ getURI: () => string | null;
204
+ pauseAsync: () => Promise<RecordingStatus>;
205
+ recording: string;
206
+ setProgressUpdateInterval: (progressUpdateIntervalMillis: number) => void;
207
+ stopAndUnloadAsync: () => Promise<RecordingStatus>;
208
+ }
209
+ | undefined;
210
+
211
+ export type AudioReturnType = {
212
+ accessGranted: boolean;
213
+ recording?: AudioRecordingReturnType;
214
+ };
215
+
216
+ export type RecordingOptions = {
217
+ /**
218
+ * A boolean that determines whether audio level information will be part of the status object under the "metering" key.
219
+ */
220
+ isMeteringEnabled?: boolean;
221
+ };
222
+
223
+ export type AudioType = {
224
+ startRecording: (
225
+ options?: RecordingOptions,
226
+ onRecordingStatusUpdate?: (recordingStatus: RecordingStatus) => void,
227
+ ) => Promise<AudioReturnType>;
228
+ stopRecording: () => Promise<void>;
229
+ pausePlayer?: () => Promise<void>;
230
+ resumePlayer?: () => Promise<void>;
231
+ startPlayer?: (
232
+ uri?: AudioRecordingReturnType,
233
+ initialStatus?: Partial<AVPlaybackStatusToSet>,
234
+ onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void,
235
+ ) => Promise<void>;
236
+ stopPlayer?: () => Promise<void>;
237
+ };
238
+
239
+ export let Audio: AudioType;
240
+
178
241
  export let Sound: SoundType;
179
242
 
180
243
  export type VideoProgressData = {
@@ -221,6 +284,7 @@ export type VideoType = {
221
284
  export let Video: React.ComponentType<VideoType>;
222
285
 
223
286
  type Handlers = {
287
+ Audio?: AudioType;
224
288
  compressImage?: CompressImage;
225
289
  deleteFile?: DeleteFile;
226
290
  FlatList?: typeof DefaultFlatList;
@@ -241,6 +305,10 @@ type Handlers = {
241
305
  };
242
306
 
243
307
  export const registerNativeHandlers = (handlers: Handlers) => {
308
+ if (handlers.Audio) {
309
+ Audio = handlers.Audio;
310
+ }
311
+
244
312
  if (handlers.compressImage) {
245
313
  compressImage = handlers.compressImage;
246
314
  }
@@ -311,3 +379,4 @@ export const registerNativeHandlers = (handlers: Handlers) => {
311
379
 
312
380
  export const isVideoPackageAvailable = () => !!Video;
313
381
  export const isAudioPackageAvailable = () => !!Sound.Player || !!Sound.initializeSound;
382
+ export const isRecordingPackageAvailable = () => !!Audio;
@@ -20,8 +20,10 @@ export type File = {
20
20
  id?: string;
21
21
  mimeType?: string;
22
22
  size?: number;
23
+ type?: 'file' | 'image' | 'video' | 'audio' | 'voiceRecording';
23
24
  // The uri should be of type `string`. But is `string|undefined` because the same type is used for the response from Stream's Attachment. This shall be fixed.
24
25
  uri?: string;
26
+ waveform_data?: number[];
25
27
  };
26
28
 
27
29
  export type FileUpload = {
@@ -32,7 +34,9 @@ export type FileUpload = {
32
34
  paused?: boolean;
33
35
  progress?: number;
34
36
  thumb_url?: string;
37
+ type?: string;
35
38
  url?: string;
39
+ waveform_data?: number[];
36
40
  };
37
41
 
38
42
  export type ImageUpload = {
@@ -45,10 +49,12 @@ export type ImageUpload = {
45
49
  };
46
50
 
47
51
  export type DefaultAttachmentType = UnknownType & {
52
+ duration?: number;
48
53
  file_size?: number;
49
54
  mime_type?: string;
50
55
  originalFile?: File;
51
56
  originalImage?: Partial<Asset>;
57
+ waveform_data?: number[];
52
58
  };
53
59
 
54
60
  interface DefaultUserType extends UnknownType {
@@ -0,0 +1,5 @@
1
+ export const getTrimmedAttachmentTitle = (title?: string) => {
2
+ if (!title) return '';
3
+ const lastIndexOfDot = title.lastIndexOf('.');
4
+ return title.length < 12 ? title : title.slice(0, 12) + '...' + title.slice(lastIndexOfDot);
5
+ };
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.28.1"
2
+ "version": "5.29.0-beta.1"
3
3
  }