stream-chat-react-native-core 5.28.1-beta.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 +2 -0
  66. package/lib/commonjs/i18n/es.json +11 -9
  67. package/lib/commonjs/i18n/fr.json +11 -9
  68. package/lib/commonjs/i18n/he.json +11 -9
  69. package/lib/commonjs/i18n/hi.json +11 -9
  70. package/lib/commonjs/i18n/it.json +11 -9
  71. package/lib/commonjs/i18n/ja.json +11 -9
  72. package/lib/commonjs/i18n/ko.json +11 -9
  73. package/lib/commonjs/i18n/nl.json +11 -9
  74. package/lib/commonjs/i18n/pt-BR.json +11 -9
  75. package/lib/commonjs/i18n/ru.json +11 -9
  76. package/lib/commonjs/i18n/tr.json +11 -9
  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 +2 -0
  175. package/lib/module/i18n/es.json +11 -9
  176. package/lib/module/i18n/fr.json +11 -9
  177. package/lib/module/i18n/he.json +11 -9
  178. package/lib/module/i18n/hi.json +11 -9
  179. package/lib/module/i18n/it.json +11 -9
  180. package/lib/module/i18n/ja.json +11 -9
  181. package/lib/module/i18n/ko.json +11 -9
  182. package/lib/module/i18n/nl.json +11 -9
  183. package/lib/module/i18n/pt-BR.json +11 -9
  184. package/lib/module/i18n/ru.json +11 -9
  185. package/lib/module/i18n/tr.json +11 -9
  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 +2 -0
  268. package/lib/typescript/i18n/es.json +11 -9
  269. package/lib/typescript/i18n/fr.json +11 -9
  270. package/lib/typescript/i18n/he.json +11 -9
  271. package/lib/typescript/i18n/hi.json +11 -9
  272. package/lib/typescript/i18n/it.json +11 -9
  273. package/lib/typescript/i18n/ja.json +11 -9
  274. package/lib/typescript/i18n/ko.json +11 -9
  275. package/lib/typescript/i18n/nl.json +11 -9
  276. package/lib/typescript/i18n/pt-BR.json +11 -9
  277. package/lib/typescript/i18n/ru.json +11 -9
  278. package/lib/typescript/i18n/tr.json +11 -9
  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 +2 -0
  353. package/src/i18n/es.json +11 -9
  354. package/src/i18n/fr.json +11 -9
  355. package/src/i18n/he.json +11 -9
  356. package/src/i18n/hi.json +11 -9
  357. package/src/i18n/it.json +11 -9
  358. package/src/i18n/ja.json +11 -9
  359. package/src/i18n/ko.json +11 -9
  360. package/src/i18n/nl.json +11 -9
  361. package/src/i18n/pt-BR.json +11 -9
  362. package/src/i18n/ru.json +11 -9
  363. package/src/i18n/tr.json +11 -9
  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
package/src/i18n/tr.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "1 Reply": "1 Cevap",
3
- "1 Thread Reply": "",
3
+ "1 Thread Reply": "1 Konu Yanıtı",
4
4
  "Allow access to your Gallery": "",
5
5
  "Allow camera access in device settings": "",
6
6
  "Also send to channel": "",
@@ -17,7 +17,7 @@
17
17
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
18
18
  "Edit Message": "",
19
19
  "Editing Message": "",
20
- "Emoji matching": "Emoji eşleştirme",
20
+ "Emoji matching": "",
21
21
  "Empty message...": "Boş mesaj...",
22
22
  "Error loading": "",
23
23
  "Error loading channel list...": "",
@@ -27,8 +27,9 @@
27
27
  "Flag": "",
28
28
  "Flag Message": "",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "",
30
+ "Hold to start recording.": "Kayıt yapmak için basılı tutun.",
30
31
  "How about sending your first message to a friend?": "",
31
- "Instant Commands": "Anlık Komutlar",
32
+ "Instant Commands": "",
32
33
  "Let's start chatting!": "",
33
34
  "Links are disabled": "",
34
35
  "Loading channels...": "",
@@ -48,18 +49,19 @@
48
49
  "Photos and Videos": "",
49
50
  "Pin to Conversation": "",
50
51
  "Pinned by": "",
52
+ "Please allow Audio permissions in settings.": "Lütfen ayarlarda ses izinlerine izin verin",
51
53
  "Please enable access to your photos and videos so you can share them.": "",
52
54
  "Please select a channel first": "",
53
55
  "Reconnecting...": "Yeniden Bağlanılıyor...",
54
56
  "Reply": "",
55
57
  "Reply to Message": "",
56
58
  "Resend": "",
57
- "Search GIFs": "",
59
+ "Search GIFs": "GIF Ara",
58
60
  "Select More Photos": "",
59
61
  "Send Anyway": "",
60
- "Send a message": "",
62
+ "Send a message": "Mesaj gönder",
61
63
  "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "",
64
+ "Slow mode ON": "Yavaş Mod Açık",
63
65
  "The message has been reported to a moderator.": "",
64
66
  "Thread Reply": "",
65
67
  "Unblock User": "",
@@ -70,10 +72,10 @@
70
72
  "Video": "",
71
73
  "You": "Sen",
72
74
  "You can't send messages in this channel": "",
73
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
75
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
74
76
  "{{ index }} of {{ photoLength }}": "",
75
77
  "{{ replyCount }} Replies": "{{ replyCount }} Cevap",
76
- "{{ replyCount }} Thread Replies": "",
77
- "{{ user }} is typing": "{{ user }} yazıyor",
78
+ "{{ replyCount }} Thread Replies": "{{responseCount}} Konu Cevapı",
79
+ "{{ user }} is typing": "",
78
80
  "🏙 Attachment...": "🏙 Ek..."
79
81
  }
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+
3
+ import { 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 ArrowLeft = ({ size, ...rest }: Props) => (
12
+ <Svg fill={'none'} height={size} viewBox={`0 0 ${size} ${size}`} width={size}>
13
+ <Path
14
+ d='M6.86621 11.6543C6.875 11.3555 6.98047 11.1006 7.21777 10.8721L14.0732 4.16602C14.2578 3.97266 14.5039 3.87598 14.7852 3.87598C15.3564 3.87598 15.8047 4.31543 15.8047 4.88672C15.8047 5.16797 15.6904 5.42285 15.4971 5.625L9.31836 11.6543L15.4971 17.6836C15.6904 17.877 15.8047 18.1318 15.8047 18.4131C15.8047 18.9932 15.3564 19.4326 14.7852 19.4326C14.5039 19.4326 14.2578 19.3359 14.0732 19.1426L7.21777 12.4365C6.98047 12.208 6.86621 11.9531 6.86621 11.6543Z'
15
+ {...rest}
16
+ />
17
+ </Svg>
18
+ );
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+
3
+ import { 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 ArrowUp = ({ color, size }: Props) => (
13
+ <Svg fill={'none'} height={size} viewBox={`0 0 ${size} ${size}`} width={size}>
14
+ <Path
15
+ d='M16 11.0601L8 19.0601L9.88 20.9401L16 14.8334L22.12 20.9401L24 19.0601L16 11.0601Z'
16
+ fill={color}
17
+ />
18
+ </Svg>
19
+ );
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { Defs, LinearGradient, Stop } from 'react-native-svg';
2
+ import { Path } from 'react-native-svg';
3
3
 
4
- import { IconProps, RootPath, RootSvg } from './utils/base';
4
+ import { IconProps, RootSvg } from './utils/base';
5
5
 
6
6
  export const Audio = (props: IconProps) => (
7
7
  <RootSvg
@@ -10,30 +10,30 @@ export const Audio = (props: IconProps) => (
10
10
  width={props.width || 34}
11
11
  {...props}
12
12
  >
13
- <RootPath
14
- d='M0 3a3 3 0 013-3h20.333l10 10v27a3 3 0 01-3 3H3a3 3 0 01-3-3V3z'
15
- pathFill='url(#gradient)'
13
+ <Path
14
+ clipRule='evenodd'
15
+ d='M17.7168 33.672C18.2348 33.672 18.4238 34.155 18.4238 34.68C18.4238 35.142 18.2978 35.695 17.7168 35.695C17.1708 35.695 16.9888 35.142 16.9888 34.645C16.9888 34.183 17.1708 33.672 17.7168 33.672ZM19.5718 31.502H18.3818V33.2589H18.3678C18.1228 32.93 17.7798 32.762 17.3318 32.762C16.3028 32.762 15.7988 33.658 15.7988 34.603C15.7988 35.625 16.2818 36.6049 17.4228 36.6049C17.8428 36.6049 18.1928 36.423 18.4238 36.08H18.4378V36.5H19.5718V31.502ZM12.7095 34.6872C12.7095 34.2252 12.8775 33.6722 13.4305 33.6722C13.9835 33.6722 14.1585 34.2252 14.1585 34.6872C14.1585 35.1492 13.9835 35.6952 13.4305 35.6952C12.8775 35.6952 12.7095 35.1492 12.7095 34.6872ZM11.5195 34.6872C11.5195 35.7792 12.3035 36.6052 13.4305 36.6052C14.5575 36.6052 15.3485 35.7792 15.3485 34.6872C15.3485 33.5952 14.5575 32.7622 13.4305 32.7622C12.3035 32.7622 11.5195 33.5952 11.5195 34.6872ZM21.839 32.8671H22.574V33.6371H21.839V35.2891C21.839 35.5761 22.007 35.6391 22.266 35.6391C22.3142 35.6391 22.364 35.6357 22.4147 35.6323C22.4672 35.6287 22.5206 35.6251 22.574 35.6251V36.5001C22.481 36.5031 22.388 36.5099 22.295 36.5168C22.171 36.5259 22.047 36.5351 21.923 36.5351C20.908 36.5351 20.649 36.2411 20.649 35.2541V33.6371H20.047V32.8671H20.649V31.7681H21.839V32.8671Z'
16
+ fill={'#ffffff'}
17
+ fillRule='evenodd'
18
+ id='Vector'
16
19
  />
17
- <RootPath
18
- d='M9.88 23.941h3.418l4.654 3.808a.44.44 0 00.718-.34V13.44a.44.44 0 00-.718-.34l-4.654 3.809H9.879a.88.88 0 00-.879.88v5.274c0 .485.394.879.88.879zm4.046-5.275l2.986-2.444v8.405l-2.986-2.444h-3.168v-3.517h3.168zm6.925-.314c-.377.057-.611.312-.523.567l-.002.001a5.3 5.3 0 01.302 1.775 5.426 5.426 0 01-.308 1.796c-.091.255.148.509.527.569.054.008.107.012.16.012.319 0 .609-.149.685-.366a6.27 6.27 0 00.345-2.01 6.157 6.157 0 00-.341-1.993c-.09-.255-.467-.412-.845-.351zm2.31-1.75c.364-.086.765.043.894.292A8.206 8.206 0 0125 20.692c0 1.297-.32 2.592-.948 3.823-.102.197-.376.32-.67.32-.075 0-.152-.009-.228-.026-.368-.084-.563-.355-.436-.601.58-1.132.874-2.324.875-3.516 0-1.186-.288-2.37-.865-3.49-.128-.246.067-.516.432-.6z'
19
- pathFill='#CFCFCF'
20
+ <Path
21
+ d='M0 28.5H34V37.5C34 39.1569 32.6569 40.5 31 40.5H3C1.34315 40.5 0 39.1569 0 37.5V28.5Z'
22
+ fill={'#2727B0'}
23
+ id='extension bar'
20
24
  />
21
- <RootPath
22
- d='M25.865 9.99a2.48 2.48 0 01-2.48-2.48V.058L33.33 9.99h-7.466z'
23
- pathFill='#DBDBDB'
25
+ <Path d='M0 3C0 1.34315 1.34315 0 3 0H23L34 11V28H0V3Z' fill={'#F5F5F5'} id='extension bar' />
26
+ <Path
27
+ d='M34 11.5L26 11.5C24.3431 11.5 23 10.1569 23 8.5V0.5L34 11.5Z'
28
+ fill={'#DBDBDB'}
29
+ id='tab'
30
+ />
31
+ <Path
32
+ clipRule='evenodd'
33
+ d='M8.87912 22.441H12.298L16.9521 25.2493C17.0307 25.3138 17.1293 25.349 17.2311 25.349C17.4738 25.3488 17.6705 25.1519 17.6703 24.9092V12.9399C17.6704 12.8381 17.6352 12.7396 17.5707 12.6609C17.4168 12.4732 17.1398 12.4457 16.9521 12.5996L12.298 15.408H8.87912C8.3936 15.408 8 15.8016 8 16.2871V21.5619C8 22.0474 8.3936 22.441 8.87912 22.441ZM12.9258 17.1664L15.9122 15.7224V22.1268L12.9258 20.6829H9.7583V17.1664H12.9258ZM19.8511 16.8517C19.474 16.9092 19.2397 17.1637 19.3283 17.4191L19.3262 17.42C19.5295 17.9995 19.6305 18.598 19.6284 19.1953C19.6305 19.7975 19.5237 20.4014 19.3196 20.9909C19.229 21.2462 19.4682 21.4996 19.8474 21.56C19.9008 21.5683 19.9542 21.572 20.0076 21.572C20.3259 21.572 20.6156 21.4234 20.6922 21.2057C20.9194 20.5451 21.0337 19.87 21.0374 19.1953C21.0349 18.5251 20.9211 17.8575 20.6955 17.2035C20.6053 16.9477 20.229 16.7908 19.8511 16.8517ZM22.1605 15.1028C22.5252 15.0163 22.9259 15.1454 23.055 15.3938C23.6891 16.6157 24 17.9042 24 19.1923C24.0004 20.4895 23.6796 21.7839 23.0521 23.0153C22.9503 23.2123 22.6763 23.3344 22.3828 23.3344C22.3071 23.3344 22.2301 23.3261 22.1543 23.3092C21.7863 23.2251 21.5914 22.9536 21.7185 22.7077C22.2988 21.5761 22.5922 20.3836 22.5931 19.1919C22.5931 18.0056 22.3054 16.8222 21.7276 15.7025C21.6001 15.4563 21.795 15.186 22.1605 15.1028Z'
34
+ fill={'#2727B0'}
35
+ fillRule='evenodd'
36
+ id='Vector_2'
24
37
  />
25
- <Defs>
26
- <LinearGradient
27
- gradientUnits='userSpaceOnUse'
28
- id='gradient'
29
- x1={0}
30
- x2={0}
31
- y1={0}
32
- y2={props.height || 40}
33
- >
34
- <Stop stopColor='#FFFFFF' />
35
- <Stop offset={1} stopColor='#DBDBDB' />
36
- </LinearGradient>
37
- </Defs>
38
38
  </RootSvg>
39
39
  );
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+
3
+ import { 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 CircleStop = ({ size, ...rest }: Props) => (
12
+ <Svg fill={'none'} height={size} viewBox={`0 0 ${size} ${size}`} width={size}>
13
+ <Path
14
+ d='M16.4551 27.2441C22.6309 27.2441 27.7441 22.1198 27.7441 15.9551C27.7441 9.7793 22.6198 4.66602 16.444 4.66602C10.2793 4.66602 5.16602 9.7793 5.16602 15.9551C5.16602 22.1198 10.2904 27.2441 16.4551 27.2441ZM16.4551 25.3626C11.2311 25.3626 7.05859 21.179 7.05859 15.9551C7.05859 10.7311 11.2201 6.54753 16.444 6.54753C21.668 6.54753 25.8516 10.7311 25.8626 15.9551C25.8737 21.179 21.679 25.3626 16.4551 25.3626ZM13.5221 19.9837H19.3659C20.0632 19.9837 20.4727 19.5742 20.4727 18.8991V13.0111C20.4727 12.3249 20.0632 11.9264 19.3659 11.9264H13.5221C12.8359 11.9264 12.4154 12.3249 12.4154 13.0111V18.8991C12.4154 19.5742 12.8359 19.9837 13.5221 19.9837Z'
15
+ {...rest}
16
+ />
17
+ </Svg>
18
+ );
@@ -1,16 +1,22 @@
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 Delete = (props: IconProps) => (
6
- <RootSvg {...props}>
7
- <RootPath
5
+ import { IconProps } from './utils/base';
6
+
7
+ type Props = IconProps & {
8
+ size: number;
9
+ };
10
+
11
+ export const Delete = ({ size, ...rest }: Props) => (
12
+ <Svg height={size} viewBox={`0 0 ${size} ${size}`} width={size} {...rest}>
13
+ <Path
8
14
  d='M8 3a1 1 0 011-1h6a1 1 0 011 1v1h3a1 1 0 110 2H5a1 1 0 110-2h3V3zM6 7a1 1 0 011 1v11a1 1 0 001 1h8a1 1 0 001-1V8a1 1 0 112 0v11a3 3 0 01-3 3H8a3 3 0 01-3-3V8a1 1 0 011-1z'
9
- {...props}
15
+ {...rest}
10
16
  />
11
- <RootPath
17
+ <Path
12
18
  d='M10 8a1 1 0 011 1v8a1 1 0 11-2 0V9a1 1 0 011-1zM14 8a1 1 0 011 1v8a1 1 0 11-2 0V9a1 1 0 011-1z'
13
- {...props}
19
+ {...rest}
14
20
  />
15
- </RootSvg>
21
+ </Svg>
16
22
  );
@@ -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-beta.1"
2
+ "version": "5.29.0-beta.1"
3
3
  }