@sendbird/uikit-react 3.10.1 → 3.10.2-alpha.0

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 (997) hide show
  1. package/App.js +366 -190
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +35 -61
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +78 -111
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +35 -81
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +8 -12
  10. package/Channel/components/FrozenNotification.js.map +1 -1
  11. package/Channel/components/Message.js +63 -317
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageFeedbackModal.js +9 -9
  14. package/Channel/components/MessageInput.js +66 -192
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +60 -57
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +31 -44
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +37 -191
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +12 -80
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +11 -29
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +1502 -21
  27. package/Channel/context.js.map +1 -1
  28. package/Channel/hooks/useHandleUploadFiles.js +13 -13
  29. package/Channel/hooks/useInitialMessagesFetch.js +6 -8
  30. package/Channel/hooks/useInitialMessagesFetch.js.map +1 -1
  31. package/Channel/utils/compareMessagesForGrouping.js +39 -8
  32. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  33. package/Channel/utils/getMessagePartsInfo.js +9 -9
  34. package/Channel.js +78 -74
  35. package/Channel.js.map +1 -1
  36. package/ChannelList/components/AddChannel.js +28 -47
  37. package/ChannelList/components/AddChannel.js.map +1 -1
  38. package/ChannelList/components/ChannelListHeader.js +13 -35
  39. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  40. package/ChannelList/components/ChannelListUI.js +61 -135
  41. package/ChannelList/components/ChannelListUI.js.map +1 -1
  42. package/ChannelList/components/ChannelPreview.js +42 -126
  43. package/ChannelList/components/ChannelPreview.js.map +1 -1
  44. package/ChannelList/components/ChannelPreviewAction.js +18 -65
  45. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  46. package/ChannelList/context.js +10 -9
  47. package/ChannelList/context.js.map +1 -1
  48. package/ChannelList.js +58 -59
  49. package/ChannelList.js.map +1 -1
  50. package/ChannelSettings/components/ChannelProfile.js +14 -14
  51. package/ChannelSettings/components/ChannelSettingsUI.js +25 -19
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +14 -14
  54. package/ChannelSettings/components/LeaveChannel.js +11 -11
  55. package/ChannelSettings/components/ModerationPanel.js +23 -17
  56. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  57. package/ChannelSettings/components/UserListItem.js +13 -13
  58. package/ChannelSettings/components/UserPanel.js +22 -16
  59. package/ChannelSettings/components/UserPanel.js.map +1 -1
  60. package/ChannelSettings/context.js +3 -3
  61. package/ChannelSettings.js +25 -19
  62. package/ChannelSettings.js.map +1 -1
  63. package/CreateChannel/components/CreateChannelUI.js +16 -16
  64. package/CreateChannel/components/InviteUsers.js +23 -25
  65. package/CreateChannel/components/InviteUsers.js.map +1 -1
  66. package/CreateChannel/components/SelectChannelType.js +10 -10
  67. package/CreateChannel/context.js +4 -4
  68. package/CreateChannel.js +18 -19
  69. package/CreateChannel.js.map +1 -1
  70. package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -12
  71. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  72. package/CreateOpenChannel/context.js +1 -1
  73. package/CreateOpenChannel.js +11 -12
  74. package/CreateOpenChannel.js.map +1 -1
  75. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  76. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  77. package/EditUserProfile.js +12 -13
  78. package/EditUserProfile.js.map +1 -1
  79. package/Message/hooks/useDirtyGetMentions.js +2 -2
  80. package/MessageSearch/components/MessageSearchUI.js +14 -15
  81. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  82. package/MessageSearch/context.js +14 -3
  83. package/MessageSearch/context.js.map +1 -1
  84. package/MessageSearch.js +14 -15
  85. package/MessageSearch.js.map +1 -1
  86. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  87. package/OpenChannel/components/OpenChannelHeader.js +18 -19
  88. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  89. package/OpenChannel/components/OpenChannelInput.js +25 -26
  90. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  91. package/OpenChannel/components/OpenChannelMessage.js +35 -35
  92. package/OpenChannel/components/OpenChannelMessageList.js +40 -38
  93. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  94. package/OpenChannel/components/OpenChannelUI.js +40 -38
  95. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  96. package/OpenChannel/context.js +17 -18
  97. package/OpenChannel/context.js.map +1 -1
  98. package/OpenChannel.js +40 -38
  99. package/OpenChannel.js.map +1 -1
  100. package/OpenChannelList/components/OpenChannelListUI.js +14 -15
  101. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  102. package/OpenChannelList/components/OpenChannelPreview.js +6 -7
  103. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  104. package/OpenChannelList/context.js +3 -3
  105. package/OpenChannelList.js +14 -15
  106. package/OpenChannelList.js.map +1 -1
  107. package/OpenChannelSettings/components/EditDetailsModal.js +15 -15
  108. package/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  109. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +19 -19
  110. package/OpenChannelSettings/components/OperatorUI.js +19 -19
  111. package/OpenChannelSettings/components/ParticipantUI.js +17 -17
  112. package/OpenChannelSettings/context.js +3 -3
  113. package/OpenChannelSettings.js +19 -19
  114. package/SendbirdProvider.js +82 -223
  115. package/SendbirdProvider.js.map +1 -1
  116. package/Thread/components/ParentMessageInfo.js +43 -44
  117. package/Thread/components/ParentMessageInfo.js.map +1 -1
  118. package/Thread/components/ParentMessageInfoItem.js +35 -33
  119. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  120. package/Thread/components/ThreadHeader.js +7 -7
  121. package/Thread/components/ThreadList.js +48 -48
  122. package/Thread/components/ThreadListItem.js +49 -50
  123. package/Thread/components/ThreadListItem.js.map +1 -1
  124. package/Thread/components/ThreadMessageInput.js +49 -42
  125. package/Thread/components/ThreadMessageInput.js.map +1 -1
  126. package/Thread/components/ThreadUI.js +60 -52
  127. package/Thread/components/ThreadUI.js.map +1 -1
  128. package/Thread/context.js +151 -160
  129. package/Thread/context.js.map +1 -1
  130. package/Thread.js +61 -53
  131. package/Thread.js.map +1 -1
  132. package/VoicePlayer/context.js +3 -3
  133. package/VoicePlayer/useVoicePlayer.js +10 -10
  134. package/VoiceRecorder/context.js +12 -11
  135. package/VoiceRecorder/context.js.map +1 -1
  136. package/VoiceRecorder/useVoiceRecorder.js +9 -9
  137. package/chunks/{bundle-JbVZ1Tsw.js → bundle-0J_EdUWI.js} +2 -2
  138. package/chunks/bundle-0J_EdUWI.js.map +1 -0
  139. package/chunks/{bundle-W8t7rR3H.js → bundle-0jbuC1o3.js} +3 -3
  140. package/chunks/bundle-0jbuC1o3.js.map +1 -0
  141. package/chunks/{bundle-NYZlEPQ4.js → bundle-1zn-WT_r.js} +11 -29
  142. package/{cjs/chunks/bundle-3K153hLM.js.map → chunks/bundle-1zn-WT_r.js.map} +1 -1
  143. package/chunks/bundle-3GWXgoxj.js +44 -0
  144. package/chunks/bundle-3GWXgoxj.js.map +1 -0
  145. package/chunks/{bundle-E33Oa46E.js → bundle-3i31KNu7.js} +10 -10
  146. package/chunks/{bundle-E33Oa46E.js.map → bundle-3i31KNu7.js.map} +1 -1
  147. package/chunks/{bundle-Jp5g4YZl.js → bundle-4GPpeoNf.js} +1 -1
  148. package/chunks/bundle-4GPpeoNf.js.map +1 -0
  149. package/chunks/{bundle-iYCB6XN2.js → bundle-4Ib7FkR6.js} +1 -1
  150. package/chunks/bundle-4Ib7FkR6.js.map +1 -0
  151. package/chunks/{bundle-ETZY-eQc.js → bundle-62ej9afV.js} +5 -5
  152. package/chunks/{bundle-ETZY-eQc.js.map → bundle-62ej9afV.js.map} +1 -1
  153. package/chunks/{bundle-wUwB6Q8m.js → bundle-79-Y-lX2.js} +3 -3
  154. package/chunks/{bundle-wUwB6Q8m.js.map → bundle-79-Y-lX2.js.map} +1 -1
  155. package/chunks/{bundle-LEanaSuB.js → bundle-8JX3bIpj.js} +3 -3
  156. package/chunks/{bundle-LEanaSuB.js.map → bundle-8JX3bIpj.js.map} +1 -1
  157. package/chunks/{bundle-ZcE3JzW_.js → bundle-AXNVQw91.js} +9 -8
  158. package/chunks/bundle-AXNVQw91.js.map +1 -0
  159. package/chunks/{bundle-GKopZh-T.js → bundle-BA7tv0JB.js} +14 -2
  160. package/chunks/{bundle-ldRkCosA.js.map → bundle-BA7tv0JB.js.map} +1 -1
  161. package/chunks/{bundle-y_LgB6DS.js → bundle-BBjosDA0.js} +3 -3
  162. package/chunks/bundle-BBjosDA0.js.map +1 -0
  163. package/chunks/bundle-BVtLlpwZ.js +88 -0
  164. package/chunks/bundle-BVtLlpwZ.js.map +1 -0
  165. package/chunks/bundle-D1V3P366.js +23 -0
  166. package/chunks/bundle-D1V3P366.js.map +1 -0
  167. package/chunks/bundle-DSoowPBh.js +388 -0
  168. package/chunks/bundle-DSoowPBh.js.map +1 -0
  169. package/chunks/{bundle-lmXvuxOb.js → bundle-F6-2aFsp.js} +1 -1
  170. package/chunks/bundle-F6-2aFsp.js.map +1 -0
  171. package/chunks/bundle-G7HnuZsw.js +13 -0
  172. package/chunks/bundle-G7HnuZsw.js.map +1 -0
  173. package/chunks/{bundle-1WAo3loP.js → bundle-GGE6HRof.js} +1 -1
  174. package/chunks/bundle-GGE6HRof.js.map +1 -0
  175. package/chunks/bundle-GJ-4hPvC.js +57 -0
  176. package/chunks/bundle-GJ-4hPvC.js.map +1 -0
  177. package/chunks/bundle-GnFOVDL2.js +230 -0
  178. package/chunks/{bundle-YmIrZYPF.js.map → bundle-GnFOVDL2.js.map} +1 -1
  179. package/chunks/{bundle-dWJnfDPH.js → bundle-I8JFwttJ.js} +3 -3
  180. package/chunks/bundle-I8JFwttJ.js.map +1 -0
  181. package/chunks/{bundle-Gkl7Q1IK.js → bundle-IRlSmJVg.js} +29 -13
  182. package/chunks/bundle-IRlSmJVg.js.map +1 -0
  183. package/chunks/{bundle-MyYphU00.js → bundle-J3DrW9X2.js} +8 -8
  184. package/chunks/bundle-J3DrW9X2.js.map +1 -0
  185. package/chunks/{bundle-OZZH5fXZ.js → bundle-LWD0OLz8.js} +1 -1
  186. package/chunks/bundle-LWD0OLz8.js.map +1 -0
  187. package/chunks/{bundle-ZKM9Qk_j.js → bundle-MBrlu_LK.js} +2 -2
  188. package/chunks/bundle-MBrlu_LK.js.map +1 -0
  189. package/chunks/{bundle-uk2Y0AQu.js → bundle-N9hMnIRl.js} +15 -7
  190. package/chunks/{bundle-uk2Y0AQu.js.map → bundle-N9hMnIRl.js.map} +1 -1
  191. package/chunks/bundle-NjNqsDXb.js +11 -0
  192. package/chunks/bundle-NjNqsDXb.js.map +1 -0
  193. package/chunks/{bundle-yur9nm4N.js → bundle-NwZvowyL.js} +1 -1
  194. package/chunks/bundle-NwZvowyL.js.map +1 -0
  195. package/chunks/bundle-OAJaPWYb.js +27 -0
  196. package/chunks/bundle-OAJaPWYb.js.map +1 -0
  197. package/chunks/{bundle-ldRkCosA.js → bundle-OFH4qWaN.js} +4 -4
  198. package/chunks/{bundle-Fkv6nKcy.js.map → bundle-OFH4qWaN.js.map} +1 -1
  199. package/chunks/{bundle-H2Il__gY.js → bundle-OJ-0ytxX.js} +1 -1
  200. package/chunks/bundle-OJ-0ytxX.js.map +1 -0
  201. package/chunks/bundle-Q8kUKu5l.js +34 -0
  202. package/chunks/bundle-Q8kUKu5l.js.map +1 -0
  203. package/chunks/{bundle-X3h4GiLa.js → bundle-Qufz6_i_.js} +4 -5
  204. package/chunks/bundle-Qufz6_i_.js.map +1 -0
  205. package/chunks/{bundle-MzSKVbUQ.js → bundle-RZWoLRNe.js} +96 -59
  206. package/chunks/bundle-RZWoLRNe.js.map +1 -0
  207. package/chunks/bundle-Rz5QaIhK.js +12 -0
  208. package/chunks/bundle-Rz5QaIhK.js.map +1 -0
  209. package/chunks/{bundle-F3QT9IFj.js → bundle-SlaQb7y0.js} +2 -2
  210. package/chunks/{bundle-GKopZh-T.js.map → bundle-SlaQb7y0.js.map} +1 -1
  211. package/chunks/{bundle-TV4-nyqN.js → bundle-ULVw0l0r.js} +1 -1
  212. package/chunks/{bundle-TV4-nyqN.js.map → bundle-ULVw0l0r.js.map} +1 -1
  213. package/chunks/bundle-VbkO6hwH.js +29 -0
  214. package/chunks/{bundle-zpSxKsxM.js.map → bundle-VbkO6hwH.js.map} +1 -1
  215. package/chunks/bundle-Wzk9dnsn.js +199 -0
  216. package/chunks/bundle-Wzk9dnsn.js.map +1 -0
  217. package/chunks/bundle-Xytq6xaz.js +179 -0
  218. package/{cjs/chunks/bundle-XaLiuh0L.js.map → chunks/bundle-Xytq6xaz.js.map} +1 -1
  219. package/chunks/{bundle-HkbweK1K.js → bundle-YHAMs1sP.js} +1 -1
  220. package/chunks/bundle-YHAMs1sP.js.map +1 -0
  221. package/chunks/{bundle-tca5p7Pl.js → bundle-YVEtWFVy.js} +2 -2
  222. package/chunks/bundle-YVEtWFVy.js.map +1 -0
  223. package/chunks/{bundle-aeQZ5WsP.js → bundle-YoWLsJ0C.js} +1 -1
  224. package/chunks/bundle-YoWLsJ0C.js.map +1 -0
  225. package/chunks/{bundle-zpSxKsxM.js → bundle-ZOCAUrJO.js} +2 -2
  226. package/chunks/bundle-ZOCAUrJO.js.map +1 -0
  227. package/chunks/{bundle-pWIkt9Ng.js → bundle-_cXVZn5n.js} +1 -1
  228. package/chunks/bundle-_cXVZn5n.js.map +1 -0
  229. package/chunks/{bundle-kfNTRju0.js → bundle-aKXnhi3A.js} +1 -1
  230. package/chunks/{bundle-kfNTRju0.js.map → bundle-aKXnhi3A.js.map} +1 -1
  231. package/chunks/{bundle-GbC4a59M.js → bundle-agW9Hw66.js} +4 -4
  232. package/chunks/bundle-agW9Hw66.js.map +1 -0
  233. package/chunks/bundle-bAY1j7eP.js +34 -0
  234. package/chunks/bundle-bAY1j7eP.js.map +1 -0
  235. package/chunks/bundle-beMggMMW.js +289 -0
  236. package/chunks/{bundle-MzSKVbUQ.js.map → bundle-beMggMMW.js.map} +1 -1
  237. package/chunks/bundle-bjEEGmYA.js +197 -0
  238. package/chunks/bundle-bjEEGmYA.js.map +1 -0
  239. package/chunks/{bundle-iWI3kIle.js → bundle-c1LUbaVa.js} +12 -41
  240. package/chunks/{bundle-iWI3kIle.js.map → bundle-c1LUbaVa.js.map} +1 -1
  241. package/chunks/{bundle-WpHDilD_.js → bundle-cA_r9HRx.js} +2 -3
  242. package/chunks/bundle-cA_r9HRx.js.map +1 -0
  243. package/chunks/bundle-cBbT3DlY.js +148 -0
  244. package/chunks/bundle-cBbT3DlY.js.map +1 -0
  245. package/chunks/{bundle-d6R6m9-9.js → bundle-ctAjRHDW.js} +14 -8
  246. package/{cjs/chunks/bundle-s82XYT1Q.js.map → chunks/bundle-ctAjRHDW.js.map} +1 -1
  247. package/chunks/{bundle-VPanFdbf.js → bundle-cvTUkQV_.js} +6 -6
  248. package/chunks/bundle-cvTUkQV_.js.map +1 -0
  249. package/chunks/{bundle-xsV7pD8p.js → bundle-d5KevIXI.js} +3 -27
  250. package/chunks/bundle-d5KevIXI.js.map +1 -0
  251. package/chunks/bundle-dOD0mfTw.js +120 -0
  252. package/chunks/bundle-dOD0mfTw.js.map +1 -0
  253. package/chunks/{bundle-J_erGfOo.js → bundle-drww6xht.js} +42 -30
  254. package/chunks/bundle-drww6xht.js.map +1 -0
  255. package/chunks/{bundle-xgiw36M5.js → bundle-fQ1V_U8F.js} +1 -1
  256. package/chunks/bundle-fQ1V_U8F.js.map +1 -0
  257. package/chunks/{bundle-WDOQg3ty.js → bundle-hDx2-CRe.js} +39 -39
  258. package/chunks/{bundle-WDOQg3ty.js.map → bundle-hDx2-CRe.js.map} +1 -1
  259. package/chunks/{bundle-KSjFhl4l.js → bundle-iwZaUd9o.js} +1 -1
  260. package/chunks/bundle-iwZaUd9o.js.map +1 -0
  261. package/chunks/{bundle-Kv4GXRTs.js → bundle-jDjj3eHU.js} +1 -1
  262. package/chunks/bundle-jDjj3eHU.js.map +1 -0
  263. package/chunks/{bundle-YmIrZYPF.js → bundle-jy6_UG14.js} +1 -1
  264. package/chunks/{bundle-J_erGfOo.js.map → bundle-jy6_UG14.js.map} +1 -1
  265. package/chunks/bundle-khgxDrnA.js +61 -0
  266. package/chunks/bundle-khgxDrnA.js.map +1 -0
  267. package/chunks/{bundle-PZta2LmS.js → bundle-lUrIOx9p.js} +3 -3
  268. package/chunks/{bundle-PZta2LmS.js.map → bundle-lUrIOx9p.js.map} +1 -1
  269. package/chunks/{bundle-mTQPBbmZ.js → bundle-lVxQMV9H.js} +6 -6
  270. package/chunks/bundle-lVxQMV9H.js.map +1 -0
  271. package/chunks/{bundle-cHbX4Rxo.js → bundle-laVKAiJ-.js} +5 -40
  272. package/{cjs/chunks/bundle-JVe1J2FX.js.map → chunks/bundle-laVKAiJ-.js.map} +1 -1
  273. package/chunks/{bundle-niN5G0Bo.js → bundle-mn6nwwm3.js} +2 -2
  274. package/chunks/bundle-mn6nwwm3.js.map +1 -0
  275. package/chunks/{bundle-VCZsMdpB.js → bundle-nD2ZWBq4.js} +2 -2
  276. package/chunks/{bundle-VCZsMdpB.js.map → bundle-nD2ZWBq4.js.map} +1 -1
  277. package/chunks/{bundle-ku6CEjGk.js → bundle-nlOgiAcu.js} +1 -1
  278. package/chunks/bundle-nlOgiAcu.js.map +1 -0
  279. package/chunks/{bundle-Fkv6nKcy.js → bundle-o1Ev7FSN.js} +5 -47
  280. package/chunks/bundle-o1Ev7FSN.js.map +1 -0
  281. package/chunks/{bundle-ipC2A4Tb.js → bundle-otzUyFE_.js} +151 -29
  282. package/{cjs/chunks/bundle-Jcrboe06.js.map → chunks/bundle-otzUyFE_.js.map} +1 -1
  283. package/chunks/{bundle-f9mkey82.js → bundle-poK2Vr1v.js} +2 -4
  284. package/chunks/bundle-poK2Vr1v.js.map +1 -0
  285. package/chunks/bundle-qAc60kip.js +48 -0
  286. package/chunks/bundle-qAc60kip.js.map +1 -0
  287. package/chunks/{bundle-KmauOTrg.js → bundle-r9j_eCHc.js} +1 -1
  288. package/chunks/bundle-r9j_eCHc.js.map +1 -0
  289. package/chunks/bundle-tPCzzoc1.js +34 -0
  290. package/chunks/bundle-tPCzzoc1.js.map +1 -0
  291. package/chunks/bundle-uIetzCLw.js +64 -0
  292. package/chunks/bundle-uIetzCLw.js.map +1 -0
  293. package/chunks/bundle-v3WxYU8s.js +30 -0
  294. package/chunks/bundle-v3WxYU8s.js.map +1 -0
  295. package/chunks/{bundle-cXqs96Pt.js → bundle-vOT5acXc.js} +1 -1
  296. package/chunks/bundle-vOT5acXc.js.map +1 -0
  297. package/chunks/{bundle-Lt8mReNU.js → bundle-vz3GEsoi.js} +3 -3
  298. package/chunks/bundle-vz3GEsoi.js.map +1 -0
  299. package/chunks/{bundle-aVVX2zHR.js → bundle-w1C-Xmf3.js} +3 -3
  300. package/chunks/bundle-w1C-Xmf3.js.map +1 -0
  301. package/chunks/{bundle-DeRyZP32.js → bundle-wMP1pqZM.js} +10 -10
  302. package/chunks/{bundle-DeRyZP32.js.map → bundle-wMP1pqZM.js.map} +1 -1
  303. package/chunks/bundle-x_yt1Yd5.js +30 -0
  304. package/chunks/bundle-x_yt1Yd5.js.map +1 -0
  305. package/chunks/bundle-zKBdD-J6.js +550 -0
  306. package/chunks/bundle-zKBdD-J6.js.map +1 -0
  307. package/chunks/{bundle-_-2NCsYr.js → bundle-zV8TJWvL.js} +1 -1
  308. package/chunks/bundle-zV8TJWvL.js.map +1 -0
  309. package/cjs/App.js +365 -189
  310. package/cjs/App.js.map +1 -1
  311. package/cjs/Channel/components/ChannelHeader.js +40 -59
  312. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  313. package/cjs/Channel/components/ChannelUI.js +80 -109
  314. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  315. package/cjs/Channel/components/FileViewer.js +38 -80
  316. package/cjs/Channel/components/FileViewer.js.map +1 -1
  317. package/cjs/Channel/components/FrozenNotification.js +9 -13
  318. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  319. package/cjs/Channel/components/Message.js +64 -314
  320. package/cjs/Channel/components/Message.js.map +1 -1
  321. package/cjs/Channel/components/MessageFeedbackModal.js +9 -9
  322. package/cjs/Channel/components/MessageInput.js +66 -192
  323. package/cjs/Channel/components/MessageInput.js.map +1 -1
  324. package/cjs/Channel/components/MessageList.js +64 -58
  325. package/cjs/Channel/components/MessageList.js.map +1 -1
  326. package/cjs/Channel/components/RemoveMessageModal.js +33 -42
  327. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  328. package/cjs/Channel/components/SuggestedMentionList.js +39 -190
  329. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  330. package/cjs/Channel/components/TypingIndicator.js +12 -83
  331. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  332. package/cjs/Channel/components/UnreadCount.js +12 -30
  333. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  334. package/cjs/Channel/context.js +1500 -23
  335. package/cjs/Channel/context.js.map +1 -1
  336. package/cjs/Channel/hooks/useHandleUploadFiles.js +13 -13
  337. package/cjs/Channel/hooks/useInitialMessagesFetch.js +6 -8
  338. package/cjs/Channel/hooks/useInitialMessagesFetch.js.map +1 -1
  339. package/cjs/Channel/utils/compareMessagesForGrouping.js +45 -9
  340. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  341. package/cjs/Channel/utils/getMessagePartsInfo.js +9 -9
  342. package/cjs/Channel.js +78 -74
  343. package/cjs/Channel.js.map +1 -1
  344. package/cjs/ChannelList/components/AddChannel.js +31 -46
  345. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  346. package/cjs/ChannelList/components/ChannelListHeader.js +13 -35
  347. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  348. package/cjs/ChannelList/components/ChannelListUI.js +63 -133
  349. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  350. package/cjs/ChannelList/components/ChannelPreview.js +44 -124
  351. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  352. package/cjs/ChannelList/components/ChannelPreviewAction.js +19 -62
  353. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  354. package/cjs/ChannelList/context.js +10 -9
  355. package/cjs/ChannelList/context.js.map +1 -1
  356. package/cjs/ChannelList.js +58 -59
  357. package/cjs/ChannelList.js.map +1 -1
  358. package/cjs/ChannelSettings/components/ChannelProfile.js +14 -14
  359. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +25 -19
  360. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  361. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -14
  362. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  363. package/cjs/ChannelSettings/components/ModerationPanel.js +23 -17
  364. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  365. package/cjs/ChannelSettings/components/UserListItem.js +13 -13
  366. package/cjs/ChannelSettings/components/UserPanel.js +22 -16
  367. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  368. package/cjs/ChannelSettings/context.js +3 -3
  369. package/cjs/ChannelSettings.js +25 -19
  370. package/cjs/ChannelSettings.js.map +1 -1
  371. package/cjs/CreateChannel/components/CreateChannelUI.js +16 -16
  372. package/cjs/CreateChannel/components/InviteUsers.js +23 -25
  373. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  374. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  375. package/cjs/CreateChannel/context.js +4 -4
  376. package/cjs/CreateChannel.js +18 -19
  377. package/cjs/CreateChannel.js.map +1 -1
  378. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -12
  379. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  380. package/cjs/CreateOpenChannel/context.js +1 -1
  381. package/cjs/CreateOpenChannel.js +11 -12
  382. package/cjs/CreateOpenChannel.js.map +1 -1
  383. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  384. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  385. package/cjs/EditUserProfile.js +12 -13
  386. package/cjs/EditUserProfile.js.map +1 -1
  387. package/cjs/Message/hooks/useDirtyGetMentions.js +2 -2
  388. package/cjs/MessageSearch/components/MessageSearchUI.js +14 -15
  389. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  390. package/cjs/MessageSearch/context.js +14 -3
  391. package/cjs/MessageSearch/context.js.map +1 -1
  392. package/cjs/MessageSearch.js +14 -15
  393. package/cjs/MessageSearch.js.map +1 -1
  394. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  395. package/cjs/OpenChannel/components/OpenChannelHeader.js +18 -19
  396. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  397. package/cjs/OpenChannel/components/OpenChannelInput.js +25 -26
  398. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  399. package/cjs/OpenChannel/components/OpenChannelMessage.js +35 -35
  400. package/cjs/OpenChannel/components/OpenChannelMessageList.js +41 -39
  401. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  402. package/cjs/OpenChannel/components/OpenChannelUI.js +40 -38
  403. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  404. package/cjs/OpenChannel/context.js +17 -18
  405. package/cjs/OpenChannel/context.js.map +1 -1
  406. package/cjs/OpenChannel.js +40 -38
  407. package/cjs/OpenChannel.js.map +1 -1
  408. package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -15
  409. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  410. package/cjs/OpenChannelList/components/OpenChannelPreview.js +6 -7
  411. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  412. package/cjs/OpenChannelList/context.js +3 -3
  413. package/cjs/OpenChannelList.js +14 -15
  414. package/cjs/OpenChannelList.js.map +1 -1
  415. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +15 -15
  416. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  417. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +19 -19
  418. package/cjs/OpenChannelSettings/components/OperatorUI.js +19 -19
  419. package/cjs/OpenChannelSettings/components/ParticipantUI.js +17 -17
  420. package/cjs/OpenChannelSettings/context.js +3 -3
  421. package/cjs/OpenChannelSettings.js +19 -19
  422. package/cjs/SendbirdProvider.js +86 -227
  423. package/cjs/SendbirdProvider.js.map +1 -1
  424. package/cjs/Thread/components/ParentMessageInfo.js +45 -46
  425. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  426. package/cjs/Thread/components/ParentMessageInfoItem.js +38 -36
  427. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  428. package/cjs/Thread/components/ThreadHeader.js +7 -7
  429. package/cjs/Thread/components/ThreadList.js +50 -50
  430. package/cjs/Thread/components/ThreadListItem.js +54 -55
  431. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  432. package/cjs/Thread/components/ThreadMessageInput.js +51 -44
  433. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  434. package/cjs/Thread/components/ThreadUI.js +60 -52
  435. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  436. package/cjs/Thread/context.js +151 -160
  437. package/cjs/Thread/context.js.map +1 -1
  438. package/cjs/Thread.js +61 -53
  439. package/cjs/Thread.js.map +1 -1
  440. package/cjs/VoicePlayer/context.js +3 -3
  441. package/cjs/VoicePlayer/useVoicePlayer.js +10 -10
  442. package/cjs/VoiceRecorder/context.js +12 -11
  443. package/cjs/VoiceRecorder/context.js.map +1 -1
  444. package/cjs/VoiceRecorder/useVoiceRecorder.js +9 -9
  445. package/cjs/chunks/bundle--1R8Yp9p.js +553 -0
  446. package/cjs/chunks/bundle--1R8Yp9p.js.map +1 -0
  447. package/cjs/chunks/{bundle-VogwjxgI.js → bundle--A9iQL7y.js} +3 -3
  448. package/cjs/chunks/{bundle-VogwjxgI.js.map → bundle--A9iQL7y.js.map} +1 -1
  449. package/cjs/chunks/bundle--QPuGnli.js +183 -0
  450. package/{chunks/bundle-ucXG1Py7.js.map → cjs/chunks/bundle--QPuGnli.js.map} +1 -1
  451. package/cjs/chunks/bundle--t85OO-4.js +37 -0
  452. package/cjs/chunks/bundle--t85OO-4.js.map +1 -0
  453. package/cjs/chunks/{bundle-zgoic8x9.js → bundle--tki3Ejh.js} +1 -1
  454. package/cjs/chunks/bundle--tki3Ejh.js.map +1 -0
  455. package/cjs/chunks/{bundle-OVfymd1y.js → bundle-0zagc7hR.js} +1 -1
  456. package/cjs/chunks/bundle-0zagc7hR.js.map +1 -0
  457. package/cjs/chunks/{bundle-1dUHK2qC.js → bundle-1dcvUZjP.js} +1 -1
  458. package/cjs/chunks/bundle-1dcvUZjP.js.map +1 -0
  459. package/cjs/chunks/bundle-1tu4OFP8.js +51 -0
  460. package/cjs/chunks/bundle-1tu4OFP8.js.map +1 -0
  461. package/cjs/chunks/{bundle-TFo3Eb8z.js → bundle-2hJhRu5W.js} +3 -3
  462. package/cjs/chunks/bundle-2hJhRu5W.js.map +1 -0
  463. package/cjs/chunks/{bundle-TxdziCwH.js → bundle-3_XFLnnt.js} +4 -4
  464. package/cjs/chunks/bundle-3_XFLnnt.js.map +1 -0
  465. package/cjs/chunks/bundle-3eaFVTUX.js +36 -0
  466. package/cjs/chunks/bundle-3eaFVTUX.js.map +1 -0
  467. package/cjs/chunks/bundle-5UyAossc.js +67 -0
  468. package/cjs/chunks/bundle-5UyAossc.js.map +1 -0
  469. package/cjs/chunks/{bundle-7QMU-JU1.js → bundle-66GvrL2V.js} +2 -2
  470. package/cjs/chunks/bundle-66GvrL2V.js.map +1 -0
  471. package/cjs/chunks/{bundle-Oc2T5_VP.js → bundle-6L4HCLmb.js} +6 -6
  472. package/cjs/chunks/bundle-6L4HCLmb.js.map +1 -0
  473. package/cjs/chunks/{bundle-qtXdbPNE.js → bundle-6SzyBwQ5.js} +3 -3
  474. package/cjs/chunks/bundle-6SzyBwQ5.js.map +1 -0
  475. package/cjs/chunks/{bundle-WzrocC57.js → bundle-6zBNmPOP.js} +1 -1
  476. package/cjs/chunks/bundle-6zBNmPOP.js.map +1 -0
  477. package/cjs/chunks/{bundle-135pRm7i.js → bundle-77qvrXp8.js} +1 -1
  478. package/cjs/chunks/bundle-77qvrXp8.js.map +1 -0
  479. package/cjs/chunks/{bundle-RSklGv-u.js → bundle-AN4eZ2xs.js} +1 -1
  480. package/cjs/chunks/{bundle-RSklGv-u.js.map → bundle-AN4eZ2xs.js.map} +1 -1
  481. package/cjs/chunks/bundle-CDUgp575.js +14 -0
  482. package/cjs/chunks/bundle-CDUgp575.js.map +1 -0
  483. package/cjs/chunks/bundle-CZTvTAu-.js +32 -0
  484. package/cjs/chunks/bundle-CZTvTAu-.js.map +1 -0
  485. package/cjs/chunks/bundle-Cbklvbls.js +233 -0
  486. package/cjs/chunks/bundle-Cbklvbls.js.map +1 -0
  487. package/cjs/chunks/{bundle-XaLiuh0L.js → bundle-CrbMqpah.js} +2 -28
  488. package/{chunks/bundle-Gkl7Q1IK.js.map → cjs/chunks/bundle-CrbMqpah.js.map} +1 -1
  489. package/cjs/chunks/bundle-DfMlIvtm.js +31 -0
  490. package/cjs/chunks/bundle-DfMlIvtm.js.map +1 -0
  491. package/cjs/chunks/{bundle-bXLZZTmP.js → bundle-DhtZdKsr.js} +14 -1
  492. package/cjs/chunks/bundle-DhtZdKsr.js.map +1 -0
  493. package/cjs/chunks/bundle-Eqd9bAds.js +292 -0
  494. package/cjs/chunks/bundle-Eqd9bAds.js.map +1 -0
  495. package/cjs/chunks/{bundle-kSScygqj.js → bundle-H9rcn1PJ.js} +1 -1
  496. package/cjs/chunks/bundle-H9rcn1PJ.js.map +1 -0
  497. package/cjs/chunks/{bundle--d5w7FVF.js → bundle-HQAiUNev.js} +1 -1
  498. package/cjs/chunks/bundle-HQAiUNev.js.map +1 -0
  499. package/cjs/chunks/bundle-JBbKwE7L.js +25 -0
  500. package/cjs/chunks/bundle-JBbKwE7L.js.map +1 -0
  501. package/cjs/chunks/{bundle-s82XYT1Q.js → bundle-KBZdi1sN.js} +14 -8
  502. package/cjs/chunks/bundle-KBZdi1sN.js.map +1 -0
  503. package/cjs/chunks/{bundle-aoIToceJ.js → bundle-KWR-0b7P.js} +3 -3
  504. package/cjs/chunks/bundle-KWR-0b7P.js.map +1 -0
  505. package/cjs/chunks/bundle-LsJ9u7uN.js +64 -0
  506. package/cjs/chunks/bundle-LsJ9u7uN.js.map +1 -0
  507. package/cjs/chunks/{bundle-zrsbDQGp.js → bundle-MNUU2JEo.js} +1 -5
  508. package/cjs/chunks/bundle-MNUU2JEo.js.map +1 -0
  509. package/cjs/chunks/bundle-Msh8rb3L.js +13 -0
  510. package/cjs/chunks/bundle-Msh8rb3L.js.map +1 -0
  511. package/cjs/chunks/{bundle-B5gH_etT.js → bundle-NALzAgLv.js} +10 -10
  512. package/cjs/chunks/bundle-NALzAgLv.js.map +1 -0
  513. package/cjs/chunks/{bundle-68NdNRjR.js → bundle-NPzNlnHJ.js} +10 -10
  514. package/cjs/chunks/bundle-NPzNlnHJ.js.map +1 -0
  515. package/cjs/chunks/{bundle-UaSM_xZY.js → bundle-NZvAE9FS.js} +1 -1
  516. package/cjs/chunks/bundle-NZvAE9FS.js.map +1 -0
  517. package/cjs/chunks/bundle-Njt4gDEW.js +91 -0
  518. package/cjs/chunks/bundle-Njt4gDEW.js.map +1 -0
  519. package/cjs/chunks/{bundle--MJd6Gw1.js → bundle-O6Mos2Xn.js} +1 -1
  520. package/cjs/chunks/bundle-O6Mos2Xn.js.map +1 -0
  521. package/cjs/chunks/{bundle-tad4_cNF.js → bundle-OdZXNc-g.js} +5 -48
  522. package/cjs/chunks/bundle-OdZXNc-g.js.map +1 -0
  523. package/cjs/chunks/{bundle-GsUulypb.js → bundle-Oq2rnNn_.js} +1 -1
  524. package/cjs/chunks/bundle-Oq2rnNn_.js.map +1 -0
  525. package/cjs/chunks/{bundle-v02q7K8T.js → bundle-PSEoX-EH.js} +3 -3
  526. package/cjs/chunks/bundle-PSEoX-EH.js.map +1 -0
  527. package/cjs/chunks/{bundle-J_ooPKgS.js → bundle-PhGdgkei.js} +3 -3
  528. package/cjs/chunks/{bundle-J_ooPKgS.js.map → bundle-PhGdgkei.js.map} +1 -1
  529. package/cjs/chunks/{bundle-ptZslG_m.js → bundle-Pzvqu5yR.js} +7 -7
  530. package/cjs/chunks/bundle-Pzvqu5yR.js.map +1 -0
  531. package/cjs/chunks/{bundle-hXzxY0NJ.js → bundle-RUqSDidW.js} +1 -1
  532. package/cjs/chunks/bundle-RUqSDidW.js.map +1 -0
  533. package/cjs/chunks/{bundle-2gCdAlxv.js → bundle-RquYsY0d.js} +2 -2
  534. package/cjs/chunks/{bundle-2gCdAlxv.js.map → bundle-RquYsY0d.js.map} +1 -1
  535. package/cjs/chunks/{bundle-INJtS58R.js → bundle-TB_UEIPg.js} +1 -1
  536. package/cjs/chunks/bundle-TB_UEIPg.js.map +1 -0
  537. package/cjs/chunks/{bundle-7AS0Rcch.js → bundle-TPy0gj60.js} +1 -1
  538. package/cjs/chunks/bundle-TPy0gj60.js.map +1 -0
  539. package/cjs/chunks/{bundle-JbxviE94.js → bundle-UAspU0bH.js} +1 -1
  540. package/cjs/chunks/bundle-UAspU0bH.js.map +1 -0
  541. package/cjs/chunks/{bundle-JOBLCwk9.js → bundle-UuftRMuc.js} +1 -1
  542. package/cjs/chunks/bundle-UuftRMuc.js.map +1 -0
  543. package/cjs/chunks/{bundle-CUa6Hz7c.js → bundle-VP5r38Gj.js} +6 -6
  544. package/cjs/chunks/bundle-VP5r38Gj.js.map +1 -0
  545. package/cjs/chunks/{bundle-7J3nX_hP.js → bundle-VxcYXhwp.js} +3 -3
  546. package/cjs/chunks/bundle-VxcYXhwp.js.map +1 -0
  547. package/cjs/chunks/{bundle-LRCFL23q.js → bundle-Y-_KhZFq.js} +1 -3
  548. package/cjs/chunks/bundle-Y-_KhZFq.js.map +1 -0
  549. package/cjs/chunks/bundle-Y86Tvf8p.js +204 -0
  550. package/cjs/chunks/bundle-Y86Tvf8p.js.map +1 -0
  551. package/cjs/chunks/{bundle-VB_a0u7i.js → bundle-YjNFrYVt.js} +1 -1
  552. package/cjs/chunks/bundle-YjNFrYVt.js.map +1 -0
  553. package/cjs/chunks/bundle-ZvLEz_GA.js +391 -0
  554. package/cjs/chunks/bundle-ZvLEz_GA.js.map +1 -0
  555. package/cjs/chunks/{bundle-GDX6wyym.js → bundle-bDQKUQ5r.js} +95 -58
  556. package/cjs/chunks/bundle-bDQKUQ5r.js.map +1 -0
  557. package/cjs/chunks/{bundle-3K153hLM.js → bundle-eCBAJmJN.js} +4 -40
  558. package/cjs/chunks/bundle-eCBAJmJN.js.map +1 -0
  559. package/cjs/chunks/{bundle-dny_TiUT.js → bundle-ekyeVpZG.js} +2 -2
  560. package/cjs/chunks/bundle-ekyeVpZG.js.map +1 -0
  561. package/cjs/chunks/{bundle-AbGazomk.js → bundle-fTMJH5JE.js} +17 -35
  562. package/cjs/chunks/bundle-fTMJH5JE.js.map +1 -0
  563. package/cjs/chunks/bundle-fUWIw3RI.js +32 -0
  564. package/cjs/chunks/bundle-fUWIw3RI.js.map +1 -0
  565. package/cjs/chunks/bundle-fzSiKesI.js +202 -0
  566. package/cjs/chunks/bundle-fzSiKesI.js.map +1 -0
  567. package/cjs/chunks/{bundle-r8Z3GYqh.js → bundle-gW6qz9z9.js} +9 -8
  568. package/cjs/chunks/bundle-gW6qz9z9.js.map +1 -0
  569. package/cjs/chunks/{bundle-9iE0HY96.js → bundle-haAptps1.js} +29 -13
  570. package/cjs/chunks/bundle-haAptps1.js.map +1 -0
  571. package/cjs/chunks/{bundle-vphYV1gz.js → bundle-iY19D_aw.js} +1 -1
  572. package/cjs/chunks/bundle-iY19D_aw.js.map +1 -0
  573. package/cjs/chunks/bundle-jYLCAuUn.js +123 -0
  574. package/cjs/chunks/bundle-jYLCAuUn.js.map +1 -0
  575. package/cjs/chunks/bundle-jcgWT1ad.js +40 -0
  576. package/cjs/chunks/bundle-jcgWT1ad.js.map +1 -0
  577. package/cjs/chunks/{bundle-Dax6YIIr.js → bundle-nYBtJl9e.js} +1 -1
  578. package/cjs/chunks/bundle-nYBtJl9e.js.map +1 -0
  579. package/cjs/chunks/{bundle-p6kWiWDv.js → bundle-nox41MG6.js} +14 -7
  580. package/cjs/chunks/{bundle-p6kWiWDv.js.map → bundle-nox41MG6.js.map} +1 -1
  581. package/cjs/chunks/{bundle-mnbFX6XC.js → bundle-pp7tp7GG.js} +11 -41
  582. package/cjs/chunks/{bundle-mnbFX6XC.js.map → bundle-pp7tp7GG.js.map} +1 -1
  583. package/cjs/chunks/bundle-qRiLsSwC.js +153 -0
  584. package/cjs/chunks/bundle-qRiLsSwC.js.map +1 -0
  585. package/cjs/chunks/bundle-rcw3KtAu.js +30 -0
  586. package/cjs/chunks/bundle-rcw3KtAu.js.map +1 -0
  587. package/cjs/chunks/{bundle-BH9aeaqG.js → bundle-s--ExKtj.js} +2 -2
  588. package/cjs/chunks/bundle-s--ExKtj.js.map +1 -0
  589. package/cjs/chunks/{bundle-hEYmMlZe.js → bundle-t2GWOYzL.js} +5 -5
  590. package/{chunks/bundle-cHbX4Rxo.js.map → cjs/chunks/bundle-t2GWOYzL.js.map} +1 -1
  591. package/cjs/chunks/{bundle-6ZegaDWX.js → bundle-tntEm-Mv.js} +39 -39
  592. package/cjs/chunks/{bundle-6ZegaDWX.js.map → bundle-tntEm-Mv.js.map} +1 -1
  593. package/cjs/chunks/bundle-u7wWilEW.js +15 -0
  594. package/cjs/chunks/bundle-u7wWilEW.js.map +1 -0
  595. package/cjs/chunks/{bundle-y8EiLlDT.js → bundle-v5-SR4v4.js} +2 -2
  596. package/cjs/chunks/bundle-v5-SR4v4.js.map +1 -0
  597. package/cjs/chunks/{bundle-7J-qpEzM.js → bundle-vMF9NM5u.js} +1 -1
  598. package/cjs/chunks/bundle-vMF9NM5u.js.map +1 -0
  599. package/cjs/chunks/{bundle-7VJjqIPJ.js → bundle-w0ATt2gt.js} +4 -5
  600. package/cjs/chunks/bundle-w0ATt2gt.js.map +1 -0
  601. package/cjs/chunks/{bundle-5Nd6zn0d.js → bundle-wZDX1pVR.js} +3 -3
  602. package/cjs/chunks/bundle-wZDX1pVR.js.map +1 -0
  603. package/cjs/chunks/{bundle-65IwoStx.js → bundle-xM2DAzE6.js} +1 -1
  604. package/cjs/chunks/{bundle-65IwoStx.js.map → bundle-xM2DAzE6.js.map} +1 -1
  605. package/cjs/chunks/{bundle-rgxTgHrK.js → bundle-zAQuo6rI.js} +42 -30
  606. package/{chunks/bundle-NYZlEPQ4.js.map → cjs/chunks/bundle-zAQuo6rI.js.map} +1 -1
  607. package/cjs/chunks/{bundle-n6iwTZAo.js → bundle-zDh-X-Q4.js} +1 -1
  608. package/cjs/chunks/bundle-zDh-X-Q4.js.map +1 -0
  609. package/cjs/chunks/{bundle-Jcrboe06.js → bundle-zGSEOOdl.js} +150 -28
  610. package/{chunks/bundle-ipC2A4Tb.js.map → cjs/chunks/bundle-zGSEOOdl.js.map} +1 -1
  611. package/cjs/chunks/bundle-zHDXCFIb.js +60 -0
  612. package/cjs/chunks/bundle-zHDXCFIb.js.map +1 -0
  613. package/cjs/chunks/{bundle-Dz3ncvS3.js → bundle-zLoe4MOM.js} +4 -4
  614. package/{chunks/bundle-F3QT9IFj.js.map → cjs/chunks/bundle-zLoe4MOM.js.map} +1 -1
  615. package/cjs/chunks/bundle-zRJE2NjU.js +47 -0
  616. package/cjs/chunks/bundle-zRJE2NjU.js.map +1 -0
  617. package/cjs/hooks/useModal.js +9 -9
  618. package/cjs/index.js +136 -126
  619. package/cjs/index.js.map +1 -1
  620. package/cjs/pubSub/topics.js +1 -1
  621. package/cjs/sendbirdSelectors.js +2 -2
  622. package/cjs/ui/Accordion.js +3 -3
  623. package/cjs/ui/AccordionGroup.js +2 -2
  624. package/cjs/ui/AdminMessage.js +3 -3
  625. package/cjs/ui/Avatar.js +4 -5
  626. package/cjs/ui/Avatar.js.map +1 -1
  627. package/cjs/ui/Badge.js +5 -5
  628. package/cjs/ui/BottomSheet.js +9 -9
  629. package/cjs/ui/Button.js +3 -3
  630. package/cjs/ui/ChannelAvatar.js +6 -7
  631. package/cjs/ui/ChannelAvatar.js.map +1 -1
  632. package/cjs/ui/ConnectionStatus.js +6 -6
  633. package/cjs/ui/ContextMenu.js +6 -6
  634. package/cjs/ui/DateSeparator.js +4 -4
  635. package/cjs/ui/EmojiReactions.js +31 -22
  636. package/cjs/ui/EmojiReactions.js.map +1 -1
  637. package/cjs/ui/FileMessageItemBody.js +8 -8
  638. package/cjs/ui/FileViewer.js +15 -16
  639. package/cjs/ui/FileViewer.js.map +1 -1
  640. package/cjs/ui/Icon.js +2 -2
  641. package/cjs/ui/IconButton.js +1 -1
  642. package/cjs/ui/ImageRenderer.js +96 -69
  643. package/cjs/ui/ImageRenderer.js.map +1 -1
  644. package/cjs/ui/Input.js +3 -3
  645. package/cjs/ui/Label.js +3 -3
  646. package/cjs/ui/LinkLabel.js +3 -3
  647. package/cjs/ui/Loader.js +2 -2
  648. package/cjs/ui/MentionLabel.js +13 -13
  649. package/cjs/ui/MentionUserLabel.js +1 -1
  650. package/cjs/ui/MessageContent.js +41 -46
  651. package/cjs/ui/MessageContent.js.map +1 -1
  652. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -5
  653. package/cjs/ui/MessageInput.js +19 -19
  654. package/cjs/ui/MessageItemMenu.js +12 -29
  655. package/cjs/ui/MessageItemMenu.js.map +1 -1
  656. package/cjs/ui/MessageItemReactionMenu.js +15 -12
  657. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  658. package/cjs/ui/MessageSearchFileItem.js +14 -15
  659. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  660. package/cjs/ui/MessageSearchItem.js +11 -12
  661. package/cjs/ui/MessageSearchItem.js.map +1 -1
  662. package/cjs/ui/MessageStatus.js +12 -12
  663. package/cjs/ui/MobileFeedbackMenu.js +9 -9
  664. package/cjs/ui/Modal.js +8 -8
  665. package/cjs/ui/MutedAvatarOverlay.js +2 -2
  666. package/cjs/ui/OGMessageItemBody.js +16 -16
  667. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  668. package/cjs/ui/OpenChannelAvatar.js +8 -9
  669. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  670. package/cjs/ui/OpenchannelConversationHeader.js +8 -9
  671. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  672. package/cjs/ui/OpenchannelFileMessage.js +18 -18
  673. package/cjs/ui/OpenchannelOGMessage.js +20 -20
  674. package/cjs/ui/OpenchannelThumbnailMessage.js +17 -17
  675. package/cjs/ui/OpenchannelUserMessage.js +18 -18
  676. package/cjs/ui/PlaceHolder.js +6 -6
  677. package/cjs/ui/PlaybackTime.js +3 -3
  678. package/cjs/ui/QuoteMessage.js +9 -9
  679. package/cjs/ui/QuoteMessageInput.js +9 -9
  680. package/cjs/ui/ReactionBadge.js +3 -3
  681. package/cjs/ui/ReactionButton.js +4 -4
  682. package/cjs/ui/SortByRow.js +2 -2
  683. package/cjs/ui/TextButton.js +2 -2
  684. package/cjs/ui/TextMessageItemBody.js +16 -16
  685. package/cjs/ui/ThreadReplies.js +9 -10
  686. package/cjs/ui/ThreadReplies.js.map +1 -1
  687. package/cjs/ui/ThumbnailMessageItemBody.js +11 -8
  688. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  689. package/cjs/ui/Toggle.js +1 -1
  690. package/cjs/ui/Tooltip.js +3 -3
  691. package/cjs/ui/TooltipWrapper.js +1 -1
  692. package/cjs/ui/TypingIndicatorBubble.js +4 -5
  693. package/cjs/ui/TypingIndicatorBubble.js.map +1 -1
  694. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  695. package/cjs/ui/UserListItem.js +13 -13
  696. package/cjs/ui/UserProfile.js +10 -11
  697. package/cjs/ui/UserProfile.js.map +1 -1
  698. package/cjs/ui/VoiceMessageInput.js +9 -9
  699. package/cjs/ui/VoiceMessageItemBody.js +10 -10
  700. package/cjs/ui/Word.js +13 -13
  701. package/cjs/useSendbirdStateContext.js +1 -1
  702. package/cjs/utils/message/isVoiceMessage.js +3 -3
  703. package/cjs/withSendbird.js +1 -1
  704. package/dist/index.css +2973 -2899
  705. package/dist/index.css.map +1 -1
  706. package/hooks/useModal.js +10 -10
  707. package/index.js +136 -126
  708. package/index.js.map +1 -1
  709. package/package.json +11 -11
  710. package/pubSub/topics.js +1 -1
  711. package/sendbirdSelectors.js +2 -2
  712. package/types/hooks/VoicePlayer/dux/actionTypes.d.ts +2 -0
  713. package/types/hooks/VoicePlayer/dux/reducer.d.ts +2 -0
  714. package/types/hooks/useOnScrollReachedEndDetector/index.d.ts +10 -5
  715. package/types/hooks/useThrottleCallback.d.ts +11 -1
  716. package/types/lib/UserProfileContext.d.ts +1 -1
  717. package/types/lib/emojiManager.d.ts +29 -0
  718. package/types/lib/pubSub/topics.d.ts +5 -5
  719. package/types/lib/selectors.d.ts +2 -2
  720. package/types/lib/types.d.ts +6 -1
  721. package/types/modules/App/index.d.ts +5 -0
  722. package/types/modules/App/types.d.ts +1 -0
  723. package/types/modules/Channel/components/ChannelHeader/index.d.ts +2 -3
  724. package/types/modules/Channel/components/ChannelUI/index.d.ts +5 -4
  725. package/types/modules/Channel/components/FileViewer/index.d.ts +3 -16
  726. package/types/modules/Channel/components/FrozenNotification/index.d.ts +1 -6
  727. package/types/modules/Channel/components/Message/index.d.ts +2 -14
  728. package/types/modules/Channel/components/MessageInputWrapper/index.d.ts +11 -0
  729. package/types/modules/Channel/components/MessageList/index.d.ts +2 -2
  730. package/types/modules/Channel/components/RemoveMessageModal/index.d.ts +4 -0
  731. package/types/modules/Channel/components/SuggestedMentionList/index.d.ts +3 -18
  732. package/types/modules/Channel/components/TypingIndicator.d.ts +1 -7
  733. package/types/modules/Channel/components/UnreadCount/index.d.ts +1 -11
  734. package/types/modules/Channel/context/ChannelProvider.d.ts +9 -9
  735. package/types/modules/Channel/context/hooks/useDeleteMessageCallback.d.ts +2 -2
  736. package/types/modules/Channel/context/hooks/useFileInfoListWithUploaded.d.ts +3 -0
  737. package/types/modules/Channel/context/hooks/useHandleReconnectForChannelList.d.ts +23 -0
  738. package/types/modules/Channel/context/hooks/useSendVoiceMessageCallback.d.ts +3 -3
  739. package/types/modules/Channel/context/utils.d.ts +0 -1
  740. package/types/modules/Channel/index.d.ts +1 -1
  741. package/types/modules/ChannelList/components/AddChannel/index.d.ts +1 -1
  742. package/types/modules/ChannelList/components/ChannelListHeader/index.d.ts +1 -10
  743. package/types/modules/ChannelList/components/ChannelListUI/index.d.ts +1 -3
  744. package/types/modules/ChannelList/components/ChannelPreview/utils.d.ts +1 -10
  745. package/types/modules/ChannelList/components/LeaveChannel/index.d.ts +1 -8
  746. package/types/modules/ChannelList/context/ChannelListProvider.d.ts +9 -8
  747. package/types/modules/ChannelList/dux/actionTypes.d.ts +5 -0
  748. package/types/modules/ChannelList/utils.d.ts +6 -1
  749. package/types/modules/ChannelSettings/components/ModerationPanel/InviteUsersModal.d.ts +4 -3
  750. package/types/modules/CreateChannel/context/CreateChannelProvider.d.ts +45 -7
  751. package/types/modules/GroupChannel/components/FileViewer/FileViewerView.d.ts +22 -0
  752. package/types/modules/GroupChannel/components/FileViewer/index.d.ts +8 -0
  753. package/types/modules/GroupChannel/components/FrozenNotification/index.d.ts +7 -0
  754. package/types/modules/GroupChannel/components/GroupChannelHeader/GroupChannelHeaderView.d.ts +13 -0
  755. package/types/modules/GroupChannel/components/GroupChannelHeader/index.d.ts +6 -0
  756. package/types/modules/GroupChannel/components/GroupChannelUI/GroupChannelUIView.d.ts +10 -0
  757. package/types/modules/GroupChannel/components/GroupChannelUI/index.d.ts +24 -0
  758. package/types/modules/GroupChannel/components/Message/MessageView.d.ts +64 -0
  759. package/types/modules/GroupChannel/components/Message/index.d.ts +4 -0
  760. package/types/modules/GroupChannel/components/MessageInputWrapper/MessageInputWrapperView.d.ts +30 -0
  761. package/types/modules/{Channel/components/MessageInput → GroupChannel/components/MessageInputWrapper}/index.d.ts +4 -6
  762. package/types/modules/GroupChannel/components/MessageInputWrapper/useHandleUploadFiles.d.ts +18 -0
  763. package/types/modules/GroupChannel/components/MessageList/hooks/useScrollBehavior.d.ts +1 -0
  764. package/types/modules/GroupChannel/components/MessageList/index.d.ts +15 -0
  765. package/types/modules/GroupChannel/components/RemoveMessageModal/RemoveMessageModalView.d.ts +13 -0
  766. package/types/modules/GroupChannel/components/RemoveMessageModal/index.d.ts +4 -0
  767. package/types/modules/GroupChannel/components/SuggestedMentionList/SuggestedMentionListView.d.ts +22 -0
  768. package/types/modules/GroupChannel/components/SuggestedMentionList/index.d.ts +5 -0
  769. package/types/modules/GroupChannel/components/TypingIndicator.d.ts +11 -0
  770. package/types/modules/GroupChannel/components/UnreadCount/index.d.ts +12 -0
  771. package/types/modules/GroupChannel/context/GroupChannelProvider.d.ts +74 -0
  772. package/types/modules/GroupChannel/context/const.d.ts +7 -0
  773. package/types/modules/GroupChannel/context/hooks/useMessageActions.d.ts +23 -0
  774. package/types/modules/GroupChannel/context/hooks/useMessageListScroll.d.ts +26 -0
  775. package/types/modules/GroupChannel/context/hooks/usePreventDuplicateRequest.d.ts +9 -0
  776. package/types/modules/GroupChannel/context/hooks/useToggleReactionCallback.d.ts +4 -0
  777. package/types/modules/GroupChannel/context/utils.d.ts +8 -0
  778. package/types/modules/GroupChannel/index.d.ts +7 -0
  779. package/types/modules/GroupChannelList/components/AddGroupChannel/AddGroupChannelView.d.ts +11 -0
  780. package/types/modules/GroupChannelList/components/AddGroupChannel/index.d.ts +3 -0
  781. package/types/modules/GroupChannelList/components/GroupChannelListHeader/index.d.ts +10 -0
  782. package/types/modules/GroupChannelList/components/GroupChannelListItem/GroupChannelListItemView.d.ts +16 -0
  783. package/types/modules/GroupChannelList/components/GroupChannelListItem/index.d.ts +16 -0
  784. package/types/modules/GroupChannelList/components/GroupChannelListItem/utils.d.ts +10 -0
  785. package/types/modules/GroupChannelList/components/GroupChannelListUI/GroupChannelListUIView.d.ts +21 -0
  786. package/types/modules/GroupChannelList/components/GroupChannelListUI/index.d.ts +16 -0
  787. package/types/modules/GroupChannelList/components/GroupChannelPreviewAction.d.ts +9 -0
  788. package/types/modules/GroupChannelList/components/LeaveGroupChannel/index.d.ts +9 -0
  789. package/types/modules/GroupChannelList/context/GroupChannelListProvider.d.ts +40 -0
  790. package/types/modules/GroupChannelList/index.d.ts +7 -0
  791. package/types/modules/OpenChannel/context/utils.d.ts +1 -3
  792. package/types/modules/Thread/components/SuggestedMentionList.d.ts +5 -0
  793. package/types/modules/Thread/components/ThreadList/index.d.ts +1 -1
  794. package/types/modules/Thread/context/ThreadProvider.d.ts +2 -2
  795. package/types/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +1 -1
  796. package/types/modules/Thread/context/hooks/useThreadFetchers.d.ts +21 -0
  797. package/types/modules/Thread/context/utils.d.ts +0 -2
  798. package/types/modules/Thread/index.d.ts +1 -1
  799. package/types/types.d.ts +11 -3
  800. package/types/ui/FileViewer/index.d.ts +2 -2
  801. package/types/ui/ImageRenderer/index.d.ts +1 -3
  802. package/types/ui/MessageContent/index.d.ts +1 -1
  803. package/types/ui/MessageItemMenu/index.d.ts +2 -1
  804. package/types/ui/MobileMenu/types.d.ts +1 -1
  805. package/types/ui/MultipleFilesMessageItemBody/index.d.ts +2 -2
  806. package/types/utils/index.d.ts +7 -0
  807. package/types/utils/messages.d.ts +17 -0
  808. package/types/utils/typeHelpers/partialRequired.d.ts +1 -0
  809. package/ui/Accordion.js +3 -3
  810. package/ui/AccordionGroup.js +2 -2
  811. package/ui/AdminMessage.js +3 -3
  812. package/ui/Avatar.js +4 -5
  813. package/ui/Avatar.js.map +1 -1
  814. package/ui/Badge.js +5 -5
  815. package/ui/BottomSheet.js +9 -9
  816. package/ui/Button.js +3 -3
  817. package/ui/ChannelAvatar.js +6 -7
  818. package/ui/ChannelAvatar.js.map +1 -1
  819. package/ui/ConnectionStatus.js +6 -6
  820. package/ui/ContextMenu.js +6 -6
  821. package/ui/DateSeparator.js +4 -4
  822. package/ui/EmojiReactions.js +31 -22
  823. package/ui/EmojiReactions.js.map +1 -1
  824. package/ui/FileMessageItemBody.js +8 -8
  825. package/ui/FileViewer.js +15 -16
  826. package/ui/FileViewer.js.map +1 -1
  827. package/ui/Icon.js +2 -2
  828. package/ui/IconButton.js +1 -1
  829. package/ui/ImageRenderer.js +97 -70
  830. package/ui/ImageRenderer.js.map +1 -1
  831. package/ui/Input.js +3 -3
  832. package/ui/Label.js +3 -3
  833. package/ui/LinkLabel.js +3 -3
  834. package/ui/Loader.js +2 -2
  835. package/ui/MentionLabel.js +13 -13
  836. package/ui/MentionUserLabel.js +1 -1
  837. package/ui/MessageContent.js +39 -44
  838. package/ui/MessageContent.js.map +1 -1
  839. package/ui/MessageInput/hooks/usePaste.js +5 -5
  840. package/ui/MessageInput.js +19 -19
  841. package/ui/MessageItemMenu.js +12 -29
  842. package/ui/MessageItemMenu.js.map +1 -1
  843. package/ui/MessageItemReactionMenu.js +15 -12
  844. package/ui/MessageItemReactionMenu.js.map +1 -1
  845. package/ui/MessageSearchFileItem.js +14 -15
  846. package/ui/MessageSearchFileItem.js.map +1 -1
  847. package/ui/MessageSearchItem.js +11 -12
  848. package/ui/MessageSearchItem.js.map +1 -1
  849. package/ui/MessageStatus.js +12 -12
  850. package/ui/MobileFeedbackMenu.js +9 -9
  851. package/ui/Modal.js +8 -8
  852. package/ui/MutedAvatarOverlay.js +2 -2
  853. package/ui/OGMessageItemBody.js +16 -16
  854. package/ui/OpenChannelAdminMessage.js +3 -3
  855. package/ui/OpenChannelAvatar.js +8 -9
  856. package/ui/OpenChannelAvatar.js.map +1 -1
  857. package/ui/OpenchannelConversationHeader.js +8 -9
  858. package/ui/OpenchannelConversationHeader.js.map +1 -1
  859. package/ui/OpenchannelFileMessage.js +18 -18
  860. package/ui/OpenchannelOGMessage.js +20 -20
  861. package/ui/OpenchannelThumbnailMessage.js +17 -17
  862. package/ui/OpenchannelUserMessage.js +18 -18
  863. package/ui/PlaceHolder.js +6 -6
  864. package/ui/PlaybackTime.js +3 -3
  865. package/ui/QuoteMessage.js +9 -9
  866. package/ui/QuoteMessageInput.js +9 -9
  867. package/ui/ReactionBadge.js +3 -3
  868. package/ui/ReactionButton.js +4 -4
  869. package/ui/SortByRow.js +2 -2
  870. package/ui/TextButton.js +2 -2
  871. package/ui/TextMessageItemBody.js +16 -16
  872. package/ui/ThreadReplies.js +9 -10
  873. package/ui/ThreadReplies.js.map +1 -1
  874. package/ui/ThumbnailMessageItemBody.js +11 -8
  875. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  876. package/ui/Toggle.js +1 -1
  877. package/ui/Tooltip.js +3 -3
  878. package/ui/TooltipWrapper.js +1 -1
  879. package/ui/TypingIndicatorBubble.js +4 -5
  880. package/ui/TypingIndicatorBubble.js.map +1 -1
  881. package/ui/UnknownMessageItemBody.js +7 -7
  882. package/ui/UserListItem.js +13 -13
  883. package/ui/UserProfile.js +10 -11
  884. package/ui/UserProfile.js.map +1 -1
  885. package/ui/VoiceMessageInput.js +9 -9
  886. package/ui/VoiceMessageItemBody.js +10 -10
  887. package/ui/Word.js +13 -13
  888. package/useSendbirdStateContext.js +1 -1
  889. package/utils/message/isVoiceMessage.js +3 -3
  890. package/withSendbird.js +1 -1
  891. package/chunks/bundle-1WAo3loP.js.map +0 -1
  892. package/chunks/bundle-GbC4a59M.js.map +0 -1
  893. package/chunks/bundle-H2Il__gY.js.map +0 -1
  894. package/chunks/bundle-HkbweK1K.js.map +0 -1
  895. package/chunks/bundle-J79McRkg.js +0 -1551
  896. package/chunks/bundle-J79McRkg.js.map +0 -1
  897. package/chunks/bundle-JbVZ1Tsw.js.map +0 -1
  898. package/chunks/bundle-Jp5g4YZl.js.map +0 -1
  899. package/chunks/bundle-KSjFhl4l.js.map +0 -1
  900. package/chunks/bundle-KmauOTrg.js.map +0 -1
  901. package/chunks/bundle-Kv4GXRTs.js.map +0 -1
  902. package/chunks/bundle-Lt8mReNU.js.map +0 -1
  903. package/chunks/bundle-MyYphU00.js.map +0 -1
  904. package/chunks/bundle-OZZH5fXZ.js.map +0 -1
  905. package/chunks/bundle-VPanFdbf.js.map +0 -1
  906. package/chunks/bundle-W8t7rR3H.js.map +0 -1
  907. package/chunks/bundle-WpHDilD_.js.map +0 -1
  908. package/chunks/bundle-X3h4GiLa.js.map +0 -1
  909. package/chunks/bundle-ZKM9Qk_j.js.map +0 -1
  910. package/chunks/bundle-ZcE3JzW_.js.map +0 -1
  911. package/chunks/bundle-_-2NCsYr.js.map +0 -1
  912. package/chunks/bundle-aVVX2zHR.js.map +0 -1
  913. package/chunks/bundle-aeQZ5WsP.js.map +0 -1
  914. package/chunks/bundle-cXqs96Pt.js.map +0 -1
  915. package/chunks/bundle-d6R6m9-9.js.map +0 -1
  916. package/chunks/bundle-dWJnfDPH.js.map +0 -1
  917. package/chunks/bundle-f9mkey82.js.map +0 -1
  918. package/chunks/bundle-gEwUSFTG.js +0 -134
  919. package/chunks/bundle-gEwUSFTG.js.map +0 -1
  920. package/chunks/bundle-iYCB6XN2.js.map +0 -1
  921. package/chunks/bundle-ku6CEjGk.js.map +0 -1
  922. package/chunks/bundle-lmXvuxOb.js.map +0 -1
  923. package/chunks/bundle-mTQPBbmZ.js.map +0 -1
  924. package/chunks/bundle-niN5G0Bo.js.map +0 -1
  925. package/chunks/bundle-pWIkt9Ng.js.map +0 -1
  926. package/chunks/bundle-tca5p7Pl.js.map +0 -1
  927. package/chunks/bundle-ucXG1Py7.js +0 -174
  928. package/chunks/bundle-xgiw36M5.js.map +0 -1
  929. package/chunks/bundle-xsV7pD8p.js.map +0 -1
  930. package/chunks/bundle-y_LgB6DS.js.map +0 -1
  931. package/chunks/bundle-yur9nm4N.js.map +0 -1
  932. package/cjs/chunks/bundle--MJd6Gw1.js.map +0 -1
  933. package/cjs/chunks/bundle--d5w7FVF.js.map +0 -1
  934. package/cjs/chunks/bundle-135pRm7i.js.map +0 -1
  935. package/cjs/chunks/bundle-1dUHK2qC.js.map +0 -1
  936. package/cjs/chunks/bundle-5Nd6zn0d.js.map +0 -1
  937. package/cjs/chunks/bundle-68NdNRjR.js.map +0 -1
  938. package/cjs/chunks/bundle-7AS0Rcch.js.map +0 -1
  939. package/cjs/chunks/bundle-7J-qpEzM.js.map +0 -1
  940. package/cjs/chunks/bundle-7J3nX_hP.js.map +0 -1
  941. package/cjs/chunks/bundle-7QMU-JU1.js.map +0 -1
  942. package/cjs/chunks/bundle-7VJjqIPJ.js.map +0 -1
  943. package/cjs/chunks/bundle-9iE0HY96.js.map +0 -1
  944. package/cjs/chunks/bundle-AbGazomk.js.map +0 -1
  945. package/cjs/chunks/bundle-B5gH_etT.js.map +0 -1
  946. package/cjs/chunks/bundle-BH9aeaqG.js.map +0 -1
  947. package/cjs/chunks/bundle-CUa6Hz7c.js.map +0 -1
  948. package/cjs/chunks/bundle-Dax6YIIr.js.map +0 -1
  949. package/cjs/chunks/bundle-Dz3ncvS3.js.map +0 -1
  950. package/cjs/chunks/bundle-GDX6wyym.js.map +0 -1
  951. package/cjs/chunks/bundle-GsUulypb.js.map +0 -1
  952. package/cjs/chunks/bundle-INJtS58R.js.map +0 -1
  953. package/cjs/chunks/bundle-JOBLCwk9.js.map +0 -1
  954. package/cjs/chunks/bundle-JVe1J2FX.js +0 -179
  955. package/cjs/chunks/bundle-JbxviE94.js.map +0 -1
  956. package/cjs/chunks/bundle-LRCFL23q.js.map +0 -1
  957. package/cjs/chunks/bundle-OVfymd1y.js.map +0 -1
  958. package/cjs/chunks/bundle-Oc2T5_VP.js.map +0 -1
  959. package/cjs/chunks/bundle-TFo3Eb8z.js.map +0 -1
  960. package/cjs/chunks/bundle-TxdziCwH.js.map +0 -1
  961. package/cjs/chunks/bundle-UaSM_xZY.js.map +0 -1
  962. package/cjs/chunks/bundle-Ue5GkT2H.js +0 -1555
  963. package/cjs/chunks/bundle-Ue5GkT2H.js.map +0 -1
  964. package/cjs/chunks/bundle-VB_a0u7i.js.map +0 -1
  965. package/cjs/chunks/bundle-WzrocC57.js.map +0 -1
  966. package/cjs/chunks/bundle-aoIToceJ.js.map +0 -1
  967. package/cjs/chunks/bundle-bXLZZTmP.js.map +0 -1
  968. package/cjs/chunks/bundle-dny_TiUT.js.map +0 -1
  969. package/cjs/chunks/bundle-hEYmMlZe.js.map +0 -1
  970. package/cjs/chunks/bundle-hXzxY0NJ.js.map +0 -1
  971. package/cjs/chunks/bundle-kSScygqj.js.map +0 -1
  972. package/cjs/chunks/bundle-n6iwTZAo.js.map +0 -1
  973. package/cjs/chunks/bundle-ptZslG_m.js.map +0 -1
  974. package/cjs/chunks/bundle-qtXdbPNE.js.map +0 -1
  975. package/cjs/chunks/bundle-r8Z3GYqh.js.map +0 -1
  976. package/cjs/chunks/bundle-rgxTgHrK.js.map +0 -1
  977. package/cjs/chunks/bundle-tad4_cNF.js.map +0 -1
  978. package/cjs/chunks/bundle-v02q7K8T.js.map +0 -1
  979. package/cjs/chunks/bundle-vphYV1gz.js.map +0 -1
  980. package/cjs/chunks/bundle-y8EiLlDT.js.map +0 -1
  981. package/cjs/chunks/bundle-y_gkwZqM.js +0 -136
  982. package/cjs/chunks/bundle-y_gkwZqM.js.map +0 -1
  983. package/cjs/chunks/bundle-zgoic8x9.js.map +0 -1
  984. package/cjs/chunks/bundle-zrsbDQGp.js.map +0 -1
  985. package/types/modules/Channel/components/RemoveMessageModal.d.ts +0 -9
  986. package/types/modules/Channel/context/compareMessagesForGrouping.d.ts +0 -10
  987. package/types/modules/Channel/context/hooks/useStatefulFileInfoList.d.ts +0 -3
  988. package/types/modules/Thread/context/hooks/useGetNextThreadsCallback.d.ts +0 -17
  989. package/types/modules/Thread/context/hooks/useGetPrevThreadsCallback.d.ts +0 -17
  990. package/types/modules/Thread/context/hooks/useGetThreadList.d.ts +0 -14
  991. package/types/utils/createStatefulFileInfoList.d.ts +0 -11
  992. package/types/modules/{Channel/components/ChannelHeader → GroupChannel/components/GroupChannelHeader}/utils.d.ts +0 -0
  993. package/types/modules/{Channel/components/MessageInput → GroupChannel/components/MessageInputWrapper}/VoiceMessageInputWrapper.d.ts +1 -1
  994. /package/types/modules/{Channel → GroupChannel}/components/MessageList/getMessagePartsInfo.d.ts +0 -0
  995. /package/types/modules/{Channel → GroupChannel}/components/SuggestedMentionList/SuggestedUserMentionItem.d.ts +0 -0
  996. /package/types/modules/{Channel → GroupChannel}/components/SuggestedMentionList/utils.d.ts +0 -0
  997. /package/types/modules/{Channel → GroupChannel}/components/SuggestedReplies/index.d.ts +0 -0
@@ -1,1555 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var UserProfileContext = require('./bundle-7AS0Rcch.js');
5
- var useSendbirdStateContext = require('../useSendbirdStateContext.js');
6
- var _const = require('./bundle-zrsbDQGp.js');
7
- var utils = require('./bundle-XaLiuh0L.js');
8
- var _tslib = require('./bundle-bXLZZTmP.js');
9
- var index$2 = require('./bundle-6ZegaDWX.js');
10
- var message = require('@sendbird/chat/message');
11
- var index = require('./bundle-65IwoStx.js');
12
- var actionTypes = require('./bundle--MJd6Gw1.js');
13
- var compareIds = require('./bundle-UaSM_xZY.js');
14
- var index$1 = require('./bundle-p6kWiWDv.js');
15
- var groupChannel = require('@sendbird/chat/groupChannel');
16
- var uuid = require('./bundle-INJtS58R.js');
17
- var Channel_hooks_useInitialMessagesFetch = require('../Channel/hooks/useInitialMessagesFetch.js');
18
- var pubSub_topics = require('./bundle-135pRm7i.js');
19
- var consts = require('./bundle-JbxviE94.js');
20
- var resolvedReplyType = require('./bundle-VB_a0u7i.js');
21
- var useSendMultipleFilesMessage = require('./bundle-3K153hLM.js');
22
-
23
- /**
24
- * This function helps consider the every condition
25
- * related to enabling emoji reaction feature.
26
- */
27
- function getIsReactionEnabled(_a) {
28
- var _b = _a.isBroadcast, isBroadcast = _b === void 0 ? false : _b, _c = _a.isSuper, isSuper = _c === void 0 ? false : _c, _d = _a.globalLevel, globalLevel = _d === void 0 ? true : _d, moduleLevel = _a.moduleLevel;
29
- return !(isBroadcast || isSuper) && (moduleLevel !== null && moduleLevel !== void 0 ? moduleLevel : globalLevel);
30
- }
31
-
32
- var initialState = {
33
- initialized: false,
34
- loading: true,
35
- allMessages: [],
36
- /**
37
- * localMessages: pending & failed messages
38
- */
39
- localMessages: [],
40
- currentGroupChannel: null,
41
- // for scrollup
42
- hasMorePrev: false,
43
- oldestMessageTimeStamp: 0,
44
- // for scroll down
45
- // onScrollDownCallback is added for navigation to different timestamps on messageSearch
46
- // hasMorePrev, onScrollCallback -> scroll up(default behavior)
47
- // hasMoreNext, onScrollDownCallback -> scroll down
48
- hasMoreNext: false,
49
- latestMessageTimeStamp: 0,
50
- emojiContainer: { emojiCategories: [], emojiHash: '' },
51
- /** @deprecated Please use `unreadSinceDate` instead. * */
52
- unreadSince: null,
53
- /**
54
- * unreadSinceDate is a date information about message unread.
55
- * It's used only for the {unreadSinceDate && <UnreadCount unreadSinceDate={unreadSinceDate} />}
56
- */
57
- unreadSinceDate: null,
58
- isInvalid: false,
59
- readStatus: null,
60
- messageListParams: null,
61
- typingMembers: [],
62
- };
63
-
64
- var getOldestMessageTimeStamp = function (messages) {
65
- if (messages === void 0) { messages = []; }
66
- var oldestMessage = messages[0];
67
- return (oldestMessage && oldestMessage.createdAt) || null;
68
- };
69
- var getLatestMessageTimeStamp = function (messages) {
70
- if (messages === void 0) { messages = []; }
71
- var latestMessage = messages[messages.length - 1];
72
- return (latestMessage && latestMessage.createdAt) || null;
73
- };
74
- function hasReqId(message) {
75
- return 'reqId' in message;
76
- }
77
- function channelReducer(state, action) {
78
- return index.K(action)
79
- .with({ type: actionTypes.RESET_MESSAGES }, function () {
80
- return _tslib.__assign(_tslib.__assign({}, state), {
81
- // when user switches channel, if the previous channel `hasMorePrev`
82
- // the onScroll gets called twice, setting hasMorePrev false prevents this
83
- hasMorePrev: false, hasMoreNext: false, allMessages: [], localMessages: [] });
84
- })
85
- .with({ type: actionTypes.FETCH_INITIAL_MESSAGES_START }, function () {
86
- return _tslib.__assign(_tslib.__assign({}, state), { loading: true, allMessages: state.allMessages.filter(function (m) { return index$1.isSendableMessage(m)
87
- ? m.sendingStatus !== message.SendingStatus.SUCCEEDED
88
- : true; }), localMessages: [] });
89
- })
90
- .with({ type: actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS }, function (action) {
91
- var _a;
92
- var _b = action.payload, currentGroupChannel = _b.currentGroupChannel, messages = _b.messages;
93
- if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
94
- return state;
95
- }
96
- var oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
97
- var latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
98
- return _tslib.__assign(_tslib.__assign({}, state), { loading: false, initialized: true, hasMorePrev: true, hasMoreNext: true, oldestMessageTimeStamp: oldestMessageTimeStamp, latestMessageTimeStamp: latestMessageTimeStamp, allMessages: _tslib.__spreadArray([], messages, true) });
99
- })
100
- .with({ type: actionTypes.FETCH_PREV_MESSAGES_SUCCESS }, function (action) {
101
- var _a, _b, _c, _d;
102
- var _e = action.payload, currentGroupChannel = _e.currentGroupChannel, messages = _e.messages;
103
- if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
104
- return state;
105
- }
106
- var hasMorePrev = ((_b = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _b !== void 0 ? _b : 0)
107
- >= ((_d = (_c = state === null || state === void 0 ? void 0 : state.messageListParams) === null || _c === void 0 ? void 0 : _c.prevResultSize) !== null && _d !== void 0 ? _d : _const.PREV_RESULT_SIZE) + 1;
108
- var oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
109
- // Remove duplicated messages
110
- var duplicatedMessageIds = [];
111
- var updatedOldMessages = state.allMessages.map(function (msg) {
112
- var duplicatedMessage = messages.find(function (_a) {
113
- var messageId = _a.messageId;
114
- return compareIds.compareIds(messageId, msg.messageId);
115
- });
116
- if (!duplicatedMessage) {
117
- return msg;
118
- }
119
- duplicatedMessageIds.push(duplicatedMessage.messageId);
120
- return duplicatedMessage.updatedAt > msg.updatedAt
121
- ? duplicatedMessage
122
- : msg;
123
- });
124
- var filteredNewMessages = duplicatedMessageIds.length > 0
125
- ? messages.filter(function (msg) { return !duplicatedMessageIds.find(function (messageId) { return compareIds.compareIds(messageId, msg.messageId); }); })
126
- : messages;
127
- return _tslib.__assign(_tslib.__assign({}, state), { hasMorePrev: hasMorePrev, oldestMessageTimeStamp: oldestMessageTimeStamp, allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], filteredNewMessages, true), updatedOldMessages, true) });
128
- })
129
- .with({ type: actionTypes.FETCH_NEXT_MESSAGES_SUCCESS }, function (action) {
130
- var _a, _b, _c, _d;
131
- var _e = action.payload, currentGroupChannel = _e.currentGroupChannel, messages = _e.messages;
132
- if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
133
- return state;
134
- }
135
- var hasMoreNext = ((_b = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _b !== void 0 ? _b : 0)
136
- === ((_d = (_c = state === null || state === void 0 ? void 0 : state.messageListParams) === null || _c === void 0 ? void 0 : _c.nextResultSize) !== null && _d !== void 0 ? _d : _const.NEXT_RESULT_SIZE) + 1;
137
- var latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
138
- // sort ~
139
- var sortedMessages = utils.mergeAndSortMessages(state.allMessages, messages);
140
- return _tslib.__assign(_tslib.__assign({}, state), { hasMoreNext: hasMoreNext, latestMessageTimeStamp: latestMessageTimeStamp, allMessages: sortedMessages });
141
- })
142
- .with({
143
- type: index.S.union(actionTypes.FETCH_INITIAL_MESSAGES_FAILURE, actionTypes.FETCH_PREV_MESSAGES_FAILURE, actionTypes.FETCH_NEXT_MESSAGES_FAILURE),
144
- }, function (action) {
145
- var _a;
146
- var currentGroupChannel = action.payload.currentGroupChannel;
147
- if ((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) !== ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url)) {
148
- return state;
149
- }
150
- return _tslib.__assign(_tslib.__assign({}, state), { loading: false, initialized: false, allMessages: [], hasMorePrev: false, hasMoreNext: false, oldestMessageTimeStamp: null, latestMessageTimeStamp: null });
151
- })
152
- .with({ type: actionTypes.SEND_MESSAGE_START }, function (action) {
153
- // Message should not be spread here
154
- // it will loose some methods like `isUserMessage`
155
- return _tslib.__assign(_tslib.__assign({}, state), { localMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.localMessages, true), [action.payload], false) });
156
- })
157
- .with({ type: actionTypes.SEND_MESSAGE_SUCCESS }, function (action) {
158
- var message = action.payload;
159
- /**
160
- * Admin messages do not have reqId. We need to include them.
161
- */
162
- var filteredMessages = state.allMessages.filter(function (m) { return !hasReqId(m) || (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId); });
163
- // [Policy] Pending messages and failed messages
164
- // must always be at the end of the message list
165
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], filteredMessages, true), [message], false), localMessages: state.localMessages.filter(function (m) { return hasReqId(m) && (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId); }) });
166
- })
167
- .with({ type: actionTypes.SEND_MESSAGE_FAILURE }, function (action) {
168
- // @ts-ignore
169
- action.payload.failed = true;
170
- return _tslib.__assign(_tslib.__assign({}, state), { localMessages: state.localMessages.map(function (m) { return compareIds.compareIds(hasReqId(m) && m.reqId, action.payload.reqId)
171
- ? action.payload
172
- : m; }) });
173
- })
174
- .with({ type: actionTypes.SET_CURRENT_CHANNEL }, function (action) {
175
- return _tslib.__assign(_tslib.__assign({}, state), { currentGroupChannel: action.payload, isInvalid: false });
176
- })
177
- .with({ type: actionTypes.SET_CHANNEL_INVALID }, function () {
178
- return _tslib.__assign(_tslib.__assign({}, state), { currentGroupChannel: null, allMessages: [], localMessages: [], isInvalid: true });
179
- })
180
- .with({ type: actionTypes.ON_MESSAGE_RECEIVED }, function (action) {
181
- var _a, _b;
182
- var _c = action.payload, channel = _c.channel, message = _c.message;
183
- var members = channel.members;
184
- var sender = message.sender;
185
- var currentGroupChannel = state.currentGroupChannel;
186
- var currentGroupChannelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
187
- if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
188
- return state;
189
- }
190
- // Excluded overlapping messages
191
- if (state.allMessages.some(function (msg) { return msg.messageId === message.messageId; })) {
192
- return state;
193
- }
194
- // Filter by userFilledQuery
195
- if (state.messageListParams
196
- && !index$1.filterMessageListParams(state.messageListParams, message)) {
197
- return state;
198
- }
199
- if (message.isAdminMessage && message.isAdminMessage()) {
200
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: utils.passUnsuccessfullMessages(state.allMessages, message) });
201
- }
202
- // Update members when sender profileUrl, nickname, friendName has been changed
203
- var senderMember = members === null || members === void 0 ? void 0 : members.find(function (m) { return (m === null || m === void 0 ? void 0 : m.userId) === (sender === null || sender === void 0 ? void 0 : sender.userId); });
204
- if ((senderMember === null || senderMember === void 0 ? void 0 : senderMember.profileUrl) !== (sender === null || sender === void 0 ? void 0 : sender.profileUrl)
205
- || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.friendName) !== (sender === null || sender === void 0 ? void 0 : sender.friendName)
206
- || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.nickname) !== (sender === null || sender === void 0 ? void 0 : sender.nickname)) {
207
- // @ts-ignore
208
- channel.members = members.map(function (member) {
209
- if (member.userId === sender.userId) {
210
- return sender;
211
- }
212
- return member;
213
- });
214
- }
215
- return _tslib.__assign(_tslib.__assign({}, state), { currentGroupChannel: channel, unreadSince: (_a = state.unreadSince) !== null && _a !== void 0 ? _a : index$2.format(new Date(), 'p MMM dd'), unreadSinceDate: (_b = state.unreadSinceDate) !== null && _b !== void 0 ? _b : new Date(), allMessages: utils.passUnsuccessfullMessages(state.allMessages, message) });
216
- })
217
- .with({ type: actionTypes.ON_MESSAGE_UPDATED }, function (action) {
218
- var _a;
219
- var _b = action.payload, channel = _b.channel, message = _b.message;
220
- var currentGroupChannelUrl = ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) || '';
221
- if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
222
- return state; // Ignore event when it is not for the current channel
223
- }
224
- if (state.messageListParams
225
- && !index$1.filterMessageListParams(state.messageListParams, message)) {
226
- // Delete the message if it doesn't match to the params anymore
227
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return !compareIds.compareIds(m.messageId, message === null || message === void 0 ? void 0 : message.messageId); }) });
228
- }
229
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) {
230
- if (compareIds.compareIds(m.messageId, message.messageId)) {
231
- return message;
232
- }
233
- if (compareIds.compareIds(m.parentMessageId, message.messageId)) {
234
- m.parentMessage = message; // eslint-disable-line no-param-reassign
235
- }
236
- return m;
237
- }) });
238
- })
239
- .with({ type: actionTypes.ON_MESSAGE_THREAD_INFO_UPDATED }, function (action) {
240
- var _a;
241
- var _b = action.payload, channel = _b.channel, event = _b.event;
242
- var channelUrl = event.channelUrl, threadInfo = event.threadInfo, targetMessageId = event.targetMessageId;
243
- var currentGroupChannelUrl = ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) || '';
244
- if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)
245
- || !compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
246
- return state; // Ignore event when it is not for the current channel
247
- }
248
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) {
249
- if (compareIds.compareIds(m.messageId, targetMessageId)) {
250
- // eslint-disable-next-line no-param-reassign
251
- m.threadInfo = threadInfo; // Upsert threadInfo to the target message
252
- }
253
- return m;
254
- }) });
255
- })
256
- .with({ type: actionTypes.RESEND_MESSAGE_START }, function (action) {
257
- return _tslib.__assign(_tslib.__assign({}, state), { localMessages: state.localMessages.map(function (m) { return compareIds.compareIds(hasReqId(m) && m.reqId, action.payload.reqId)
258
- ? action.payload
259
- : m; }) });
260
- })
261
- .with({ type: actionTypes.MARK_AS_READ }, function (action) {
262
- var _a, _b, _c;
263
- if (((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) !== ((_c = (_b = action.payload) === null || _b === void 0 ? void 0 : _b.channel) === null || _c === void 0 ? void 0 : _c.url)) {
264
- return state;
265
- }
266
- return _tslib.__assign(_tslib.__assign({}, state), { unreadSince: null, unreadSinceDate: null });
267
- })
268
- .with({ type: actionTypes.ON_MESSAGE_DELETED }, function (action) {
269
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return !compareIds.compareIds(m.messageId, action.payload); }) });
270
- })
271
- .with({ type: actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID }, function (action) {
272
- return _tslib.__assign(_tslib.__assign({}, state), { localMessages: state.localMessages.filter(function (m) { return !compareIds.compareIds(hasReqId(m) && m.reqId, action.payload); }) });
273
- })
274
- .with({ type: actionTypes.SET_EMOJI_CONTAINER }, function (action) {
275
- return _tslib.__assign(_tslib.__assign({}, state), { emojiContainer: action.payload });
276
- })
277
- .with({ type: actionTypes.ON_REACTION_UPDATED }, function (action) {
278
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) {
279
- if (compareIds.compareIds(m.messageId, action.payload.messageId)) {
280
- if (m.applyReactionEvent
281
- && typeof m.applyReactionEvent === 'function') {
282
- m.applyReactionEvent(action.payload);
283
- }
284
- return m;
285
- }
286
- return m;
287
- }) });
288
- })
289
- .with({ type: actionTypes.MESSAGE_LIST_PARAMS_CHANGED }, function (action) {
290
- return _tslib.__assign(_tslib.__assign({}, state), { messageListParams: action.payload });
291
- })
292
- .with({ type: actionTypes.ON_FILE_INFO_UPLOADED }, function (action) {
293
- var _a, _b;
294
- var _c = action.payload, channelUrl = _c.channelUrl, requestId = _c.requestId, index = _c.index, uploadableFileInfo = _c.uploadableFileInfo, error = _c.error;
295
- if (!compareIds.compareIds(channelUrl, (_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url)) {
296
- return state;
297
- }
298
- /**
299
- * We don't have to do anything here because
300
- * onFailed() will be called so handle error there instead.
301
- */
302
- if (error)
303
- return state;
304
- var localMessages = state.localMessages;
305
- var messageToUpdate = localMessages.find(function (message) { return compareIds.compareIds(hasReqId(message) && message.reqId, requestId); });
306
- var fileInfoList = (_b = messageToUpdate
307
- .messageParams) === null || _b === void 0 ? void 0 : _b.fileInfoList;
308
- if (Array.isArray(fileInfoList)) {
309
- fileInfoList[index] = uploadableFileInfo;
310
- }
311
- return _tslib.__assign(_tslib.__assign({}, state), { localMessages: localMessages });
312
- })
313
- .with({ type: actionTypes.ON_TYPING_STATUS_UPDATED }, function (action) {
314
- var _a;
315
- var _b = action.payload, channel = _b.channel, typingMembers = _b.typingMembers;
316
- if (!compareIds.compareIds(channel.url, (_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url)) {
317
- return state;
318
- }
319
- return _tslib.__assign(_tslib.__assign({}, state), { typingMembers: typingMembers });
320
- })
321
- .otherwise(function () { return state; });
322
- }
323
-
324
- var DELIVERY_RECEIPT = 'delivery_receipt';
325
- function useHandleChannelEvents(_a, _b) {
326
- var _c, _d, _e;
327
- var sdkInit = _a.sdkInit, currentGroupChannel = _a.currentGroupChannel, disableMarkAsRead = _a.disableMarkAsRead;
328
- var sdk = _b.sdk, logger = _b.logger, scrollRef = _b.scrollRef, setQuoteMessage = _b.setQuoteMessage, messagesDispatcher = _b.messagesDispatcher;
329
- var store = useSendbirdStateContext.useSendbirdStateContext();
330
- var _f = store.config, markAsReadScheduler = _f.markAsReadScheduler, markAsDeliveredScheduler = _f.markAsDeliveredScheduler, disableMarkAsDelivered = _f.disableMarkAsDelivered;
331
- var canSetMarkAsDelivered = (_e = (_d = (_c = store.stores.sdkStore.sdk) === null || _c === void 0 ? void 0 : _c.appInfo) === null || _d === void 0 ? void 0 : _d.premiumFeatureList) === null || _e === void 0 ? void 0 : _e.find(function (feature) { return (feature === DELIVERY_RECEIPT); });
332
- React.useEffect(function () {
333
- var _a;
334
- var channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
335
- var channelHandlerId = uuid.uuidv4();
336
- if (channelUrl && sdkInit) {
337
- var channelHandler = {
338
- onMessageReceived: function (channel, message) {
339
- var _a, _b;
340
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
341
- var scrollToEnd = false;
342
- try {
343
- var current = scrollRef.current;
344
- scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;
345
- // 10 is a buffer
346
- }
347
- catch (error) {
348
- //
349
- }
350
- logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
351
- messagesDispatcher({
352
- type: actionTypes.ON_MESSAGE_RECEIVED,
353
- payload: { channel: channel, message: message },
354
- });
355
- if (scrollToEnd
356
- && ((_a = document.getElementById('sendbird-dropdown-portal')) === null || _a === void 0 ? void 0 : _a.childElementCount) === 0
357
- && ((_b = document.getElementById('sendbird-emoji-list-portal')) === null || _b === void 0 ? void 0 : _b.childElementCount) === 0) {
358
- // and !openContextMenu
359
- try {
360
- setTimeout(function () {
361
- utils.scrollIntoLast(0, scrollRef);
362
- });
363
- if (!disableMarkAsRead) {
364
- markAsReadScheduler.push(currentGroupChannel);
365
- }
366
- if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
367
- markAsDeliveredScheduler.push(currentGroupChannel);
368
- }
369
- }
370
- catch (error) {
371
- logger.warning('Channel | onMessageReceived | scroll to end failed');
372
- }
373
- }
374
- }
375
- },
376
- onUnreadMemberStatusUpdated: function (channel) {
377
- logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);
378
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
379
- messagesDispatcher({
380
- type: actionTypes.SET_CURRENT_CHANNEL,
381
- payload: channel,
382
- });
383
- }
384
- },
385
- // before(onDeliveryReceiptUpdated)
386
- onUndeliveredMemberStatusUpdated: function (channel) {
387
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
388
- logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
389
- messagesDispatcher({
390
- type: actionTypes.SET_CURRENT_CHANNEL,
391
- payload: channel,
392
- });
393
- }
394
- },
395
- onMessageUpdated: function (channel, message) {
396
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
397
- logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
398
- messagesDispatcher({
399
- type: actionTypes.ON_MESSAGE_UPDATED,
400
- payload: { channel: channel, message: message },
401
- });
402
- }
403
- },
404
- onThreadInfoUpdated: function (channel, threadInfoUpdateEvent) {
405
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
406
- logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', { channel: channel, threadInfoUpdateEvent: threadInfoUpdateEvent });
407
- messagesDispatcher({
408
- type: actionTypes.ON_MESSAGE_THREAD_INFO_UPDATED,
409
- payload: { channel: channel, event: threadInfoUpdateEvent },
410
- });
411
- }
412
- },
413
- onMessageDeleted: function (channel, messageId) {
414
- logger.info('Channel | useHandleChannelEvents: onMessageDeleted', { channel: channel, messageId: messageId });
415
- setQuoteMessage(null);
416
- messagesDispatcher({
417
- type: actionTypes.ON_MESSAGE_DELETED,
418
- payload: messageId,
419
- });
420
- },
421
- onReactionUpdated: function (channel, reactionEvent) {
422
- logger.info('Channel | useHandleChannelEvents: onReactionUpdated', { channel: channel, reactionEvent: reactionEvent });
423
- messagesDispatcher({
424
- type: actionTypes.ON_REACTION_UPDATED,
425
- payload: reactionEvent,
426
- });
427
- },
428
- onChannelChanged: function (channel) {
429
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
430
- logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);
431
- messagesDispatcher({
432
- type: actionTypes.SET_CURRENT_CHANNEL,
433
- payload: channel,
434
- });
435
- }
436
- },
437
- onChannelFrozen: function (channel) {
438
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
439
- logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);
440
- messagesDispatcher({
441
- type: actionTypes.SET_CURRENT_CHANNEL,
442
- payload: channel,
443
- });
444
- }
445
- },
446
- onChannelUnfrozen: function (channel) {
447
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
448
- logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);
449
- messagesDispatcher({
450
- type: actionTypes.SET_CURRENT_CHANNEL,
451
- payload: channel,
452
- });
453
- }
454
- },
455
- onUserMuted: function (channel, user) {
456
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
457
- logger.info('Channel | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
458
- messagesDispatcher({
459
- type: actionTypes.SET_CURRENT_CHANNEL,
460
- payload: channel,
461
- });
462
- }
463
- },
464
- onUserUnmuted: function (channel, user) {
465
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
466
- logger.info('Channel | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
467
- messagesDispatcher({
468
- type: actionTypes.SET_CURRENT_CHANNEL,
469
- payload: channel,
470
- });
471
- }
472
- },
473
- onUserBanned: function (channel, user) {
474
- var _a;
475
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
476
- logger.info('Channel | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
477
- var isByMe = (user === null || user === void 0 ? void 0 : user.userId) === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId);
478
- messagesDispatcher({
479
- type: actionTypes.SET_CURRENT_CHANNEL,
480
- payload: isByMe ? null : channel,
481
- });
482
- }
483
- },
484
- onOperatorUpdated: function (channel, users) {
485
- if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
486
- logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
487
- messagesDispatcher({
488
- type: actionTypes.SET_CURRENT_CHANNEL,
489
- payload: channel,
490
- });
491
- }
492
- },
493
- onUserLeft: function (channel, user) {
494
- var _a;
495
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
496
- logger.info('Channel | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
497
- var isByMe = (user === null || user === void 0 ? void 0 : user.userId) === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId);
498
- messagesDispatcher({
499
- type: actionTypes.SET_CURRENT_CHANNEL,
500
- payload: isByMe ? null : channel,
501
- });
502
- }
503
- },
504
- onTypingStatusUpdated: function (channel) {
505
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
506
- logger.info('Channel | onTypingStatusUpdated', { channel: channel });
507
- var typingMembers = channel.getTypingUsers();
508
- messagesDispatcher({
509
- type: actionTypes.ON_TYPING_STATUS_UPDATED,
510
- payload: {
511
- channel: channel,
512
- typingMembers: typingMembers,
513
- },
514
- });
515
- }
516
- },
517
- };
518
- logger.info('Channel | useHandleChannelEvents: Setup event handler', { channelHandlerId: channelHandlerId, channelHandler: channelHandler });
519
- // Add this group channel handler to the Sendbird chat instance
520
- (_a = sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
521
- }
522
- return function () {
523
- var _a;
524
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
525
- logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
526
- sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
527
- }
528
- else if (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) {
529
- logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
530
- }
531
- };
532
- }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, sdkInit]);
533
- }
534
-
535
- function useGetChannel(_a, _b) {
536
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, disableMarkAsRead = _a.disableMarkAsRead;
537
- var messagesDispatcher = _b.messagesDispatcher, sdk = _b.sdk, logger = _b.logger, markAsReadScheduler = _b.markAsReadScheduler;
538
- React.useEffect(function () {
539
- if (channelUrl && sdkInit && sdk && sdk.groupChannel) {
540
- logger.info('Channel | useSetChannel fetching channel', channelUrl);
541
- sdk.groupChannel
542
- .getChannel(channelUrl)
543
- .then(function (groupChannel) {
544
- logger.info('Channel | useSetChannel fetched channel', groupChannel);
545
- messagesDispatcher({
546
- type: actionTypes.SET_CURRENT_CHANNEL,
547
- payload: groupChannel,
548
- });
549
- logger.info('Channel: Mark as read', groupChannel);
550
- if (!disableMarkAsRead) {
551
- markAsReadScheduler.push(groupChannel);
552
- }
553
- })
554
- .catch(function (e) {
555
- logger.warning('Channel | useSetChannel fetch channel failed', { channelUrl: channelUrl, e: e });
556
- messagesDispatcher({
557
- type: actionTypes.SET_CHANNEL_INVALID,
558
- });
559
- });
560
- sdk
561
- .getAllEmoji()
562
- .then(function (emojiContainer_) {
563
- logger.info('Channel: Getting emojis success', emojiContainer_);
564
- messagesDispatcher({
565
- type: actionTypes.SET_EMOJI_CONTAINER,
566
- payload: emojiContainer_,
567
- });
568
- })
569
- .catch(function (err) {
570
- logger.error('Channel: Getting emojis failed', err);
571
- });
572
- }
573
- }, [channelUrl, sdkInit]);
574
- }
575
-
576
- function useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle) {
577
- if (reconnectOnIdle === void 0) { reconnectOnIdle = true; }
578
- var _a = React.useState(false), isTabHidden = _a[0], setIsTabHidden = _a[1];
579
- var wasOffline = !isOnline;
580
- React.useEffect(function () {
581
- var handleVisibilityChange = function () {
582
- if (reconnectOnIdle) {
583
- setIsTabHidden(document.hidden);
584
- }
585
- };
586
- document.addEventListener('visibilitychange', handleVisibilityChange);
587
- return function () {
588
- document.removeEventListener('visibilitychange', handleVisibilityChange);
589
- };
590
- }, [reconnectOnIdle, document.hidden]);
591
- var shouldReconnect = wasOffline && (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) != null && !isTabHidden;
592
- return { shouldReconnect: shouldReconnect };
593
- }
594
-
595
- function useHandleReconnect(_a, _b) {
596
- var isOnline = _a.isOnline, replyType = _a.replyType, disableMarkAsRead = _a.disableMarkAsRead, reconnectOnIdle = _a.reconnectOnIdle;
597
- var logger = _b.logger, sdk = _b.sdk, scrollRef = _b.scrollRef, currentGroupChannel = _b.currentGroupChannel, messagesDispatcher = _b.messagesDispatcher, markAsReadScheduler = _b.markAsReadScheduler, userFilledMessageListQuery = _b.userFilledMessageListQuery;
598
- var shouldReconnect = useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle).shouldReconnect;
599
- React.useEffect(function () {
600
- return function () {
601
- var _a, _b;
602
- // state changed from offline to online AND tab is visible
603
- if (shouldReconnect) {
604
- logger.info('Refreshing conversation state');
605
- var isReactionEnabled = ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.useReaction) || false;
606
- var messageListParams_1 = {
607
- prevResultSize: _const.PREV_RESULT_SIZE,
608
- isInclusive: true,
609
- includeReactions: isReactionEnabled,
610
- includeMetaArray: true,
611
- nextResultSize: _const.NEXT_RESULT_SIZE,
612
- };
613
- if (replyType && replyType === 'QUOTE_REPLY') {
614
- messageListParams_1.includeThreadInfo = true;
615
- messageListParams_1.includeParentMessageInfo = true;
616
- messageListParams_1.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
617
- }
618
- if (userFilledMessageListQuery) {
619
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
620
- messageListParams_1[key] = userFilledMessageListQuery[key];
621
- });
622
- }
623
- logger.info('Channel: Fetching messages', { currentGroupChannel: currentGroupChannel, userFilledMessageListQuery: userFilledMessageListQuery });
624
- messagesDispatcher({
625
- type: actionTypes.FETCH_INITIAL_MESSAGES_START,
626
- payload: null,
627
- });
628
- var multipleFilesMessageCount_1 = 0;
629
- (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.getChannel(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url).then(function (groupChannel) {
630
- var lastMessageTime = new Date().getTime();
631
- groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams_1)
632
- .then(function (messages) {
633
- messagesDispatcher({
634
- type: actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS,
635
- payload: {
636
- currentGroupChannel: currentGroupChannel,
637
- messages: messages,
638
- },
639
- });
640
- multipleFilesMessageCount_1 = messages.filter(function (message) { return index$1.isMultipleFilesMessage(message); }).length;
641
- setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); },
642
- /**
643
- * Rendering MFM takes long time so we need this.
644
- * But later we should find better solution.
645
- */
646
- Math.min(multipleFilesMessageCount_1 * 100, 1000));
647
- })
648
- .catch(function (error) {
649
- logger.error('Channel: Fetching messages failed', error);
650
- messagesDispatcher({
651
- type: actionTypes.FETCH_INITIAL_MESSAGES_FAILURE,
652
- payload: { currentGroupChannel: currentGroupChannel },
653
- });
654
- });
655
- if (!disableMarkAsRead) {
656
- markAsReadScheduler.push(currentGroupChannel);
657
- }
658
- });
659
- }
660
- };
661
- }, [shouldReconnect, replyType]);
662
- }
663
-
664
- function useScrollCallback(_a, _b) {
665
- var currentGroupChannel = _a.currentGroupChannel, oldestMessageTimeStamp = _a.oldestMessageTimeStamp, userFilledMessageListQuery = _a.userFilledMessageListQuery, replyType = _a.replyType;
666
- var hasMorePrev = _b.hasMorePrev, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, sdk = _b.sdk;
667
- return React.useCallback(function (callback) {
668
- var _a, _b;
669
- if (!hasMorePrev) {
670
- return;
671
- }
672
- var messageListParams = {
673
- prevResultSize: _const.PREV_RESULT_SIZE,
674
- isInclusive: true,
675
- includeMetaArray: true,
676
- includeReactions: (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.useReaction) !== null && _b !== void 0 ? _b : false,
677
- };
678
- if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
679
- messageListParams.includeThreadInfo = true;
680
- messageListParams.includeParentMessageInfo = true;
681
- messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
682
- }
683
- if (userFilledMessageListQuery) {
684
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
685
- messageListParams[key] = userFilledMessageListQuery[key];
686
- });
687
- }
688
- logger.info('Channel: Fetching messages', {
689
- currentGroupChannel: currentGroupChannel,
690
- userFilledMessageListQuery: userFilledMessageListQuery,
691
- });
692
- currentGroupChannel
693
- .getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams)
694
- .then(function (messages) {
695
- messagesDispatcher({
696
- type: actionTypes.FETCH_PREV_MESSAGES_SUCCESS,
697
- payload: { currentGroupChannel: currentGroupChannel, messages: messages },
698
- });
699
- if (callback)
700
- setTimeout(function () { return callback(); });
701
- })
702
- .catch(function () {
703
- messagesDispatcher({
704
- type: actionTypes.FETCH_PREV_MESSAGES_FAILURE,
705
- payload: { currentGroupChannel: currentGroupChannel },
706
- });
707
- });
708
- }, [currentGroupChannel, oldestMessageTimeStamp, replyType]);
709
- }
710
-
711
- function useScrollDownCallback(_a, _b) {
712
- var currentGroupChannel = _a.currentGroupChannel, latestMessageTimeStamp = _a.latestMessageTimeStamp, userFilledMessageListQuery = _a.userFilledMessageListQuery, hasMoreNext = _a.hasMoreNext, replyType = _a.replyType;
713
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, sdk = _b.sdk;
714
- return React.useCallback(function (cb) {
715
- var _a, _b;
716
- if (!hasMoreNext) {
717
- return;
718
- }
719
- var isReactionEnabled = (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.useReaction) !== null && _b !== void 0 ? _b : false;
720
- var messageListParams = {
721
- nextResultSize: _const.NEXT_RESULT_SIZE,
722
- isInclusive: true,
723
- includeReactions: isReactionEnabled,
724
- includeMetaArray: true,
725
- };
726
- if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
727
- messageListParams.includeThreadInfo = true;
728
- messageListParams.includeParentMessageInfo = true;
729
- messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
730
- }
731
- if (userFilledMessageListQuery) {
732
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
733
- messageListParams[key] = userFilledMessageListQuery[key];
734
- });
735
- }
736
- logger.info('Channel: Fetching later messages', { currentGroupChannel: currentGroupChannel, userFilledMessageListQuery: userFilledMessageListQuery });
737
- currentGroupChannel
738
- .getMessagesByTimestamp(latestMessageTimeStamp || new Date().getTime(), messageListParams)
739
- .then(function (messages) {
740
- messagesDispatcher({
741
- type: actionTypes.FETCH_NEXT_MESSAGES_SUCCESS,
742
- payload: { currentGroupChannel: currentGroupChannel, messages: messages },
743
- });
744
- setTimeout(function () { return cb([messages, null]); });
745
- })
746
- .catch(function (error) {
747
- logger.error('Channel: Fetching later messages failed', error);
748
- messagesDispatcher({
749
- type: actionTypes.FETCH_NEXT_MESSAGES_FAILURE,
750
- payload: { currentGroupChannel: currentGroupChannel },
751
- });
752
- setTimeout(function () { return cb([null, error]); });
753
- });
754
- }, [currentGroupChannel, latestMessageTimeStamp, hasMoreNext, replyType]);
755
- }
756
-
757
- function useDeleteMessageCallback(_a, _b) {
758
- var currentGroupChannel = _a.currentGroupChannel, messagesDispatcher = _a.messagesDispatcher;
759
- var logger = _b.logger;
760
- return React.useCallback(function (message$1) {
761
- logger.info('Channel | useDeleteMessageCallback: Deleting message', message$1);
762
- var sendingStatus = index$1.isSendableMessage(message$1) ? message$1.sendingStatus : undefined;
763
- return new Promise(function (resolve, reject) {
764
- logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
765
- // Message is only on local
766
- if ((sendingStatus === message.SendingStatus.FAILED || sendingStatus === message.SendingStatus.PENDING) && 'reqId' in message$1) {
767
- logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message$1);
768
- messagesDispatcher({
769
- type: actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
770
- payload: message$1.reqId,
771
- });
772
- resolve(message$1);
773
- }
774
- else {
775
- logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
776
- currentGroupChannel
777
- .deleteMessage(message$1)
778
- .then(function () {
779
- logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message$1);
780
- messagesDispatcher({
781
- type: actionTypes.ON_MESSAGE_DELETED,
782
- payload: message$1.messageId,
783
- });
784
- resolve(message$1);
785
- })
786
- .catch(function (err) {
787
- logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);
788
- reject(err);
789
- });
790
- }
791
- });
792
- }, [currentGroupChannel, messagesDispatcher]);
793
- }
794
-
795
- function useUpdateMessageCallback(_a, _b) {
796
- var currentGroupChannel = _a.currentGroupChannel, messagesDispatcher = _a.messagesDispatcher, onBeforeUpdateUserMessage = _a.onBeforeUpdateUserMessage, isMentionEnabled = _a.isMentionEnabled;
797
- var logger = _b.logger, pubSub = _b.pubSub;
798
- return React.useCallback(function (props, callback) {
799
- var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionTemplate = props.mentionTemplate;
800
- var createParamsDefault = function (message) {
801
- var params = {
802
- message: message,
803
- };
804
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
805
- params.mentionedUsers = mentionedUsers;
806
- }
807
- if (isMentionEnabled && mentionTemplate) {
808
- params.mentionedMessageTemplate = mentionTemplate;
809
- }
810
- else {
811
- params.mentionedMessageTemplate = message;
812
- }
813
- return params;
814
- };
815
- var shouldCreateCustomParams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
816
- if (shouldCreateCustomParams) {
817
- logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
818
- }
819
- var params = shouldCreateCustomParams ? onBeforeUpdateUserMessage(message) : createParamsDefault(message);
820
- logger.info('Channel: Updating message!', params);
821
- currentGroupChannel
822
- .updateUserMessage(messageId, params)
823
- .then(function (msg) {
824
- if (callback) {
825
- callback(null, msg);
826
- }
827
- logger.info('Channel: Updating message success!', msg);
828
- messagesDispatcher({
829
- type: actionTypes.ON_MESSAGE_UPDATED,
830
- payload: {
831
- channel: currentGroupChannel,
832
- message: msg,
833
- },
834
- });
835
- pubSub.publish(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, {
836
- message: msg,
837
- channel: currentGroupChannel,
838
- publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
839
- });
840
- })
841
- .catch(function (err) {
842
- if (callback) {
843
- callback(err, null);
844
- }
845
- });
846
- }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);
847
- }
848
-
849
- function useResendMessageCallback(_a, _b) {
850
- var currentGroupChannel = _a.currentGroupChannel, messagesDispatcher = _a.messagesDispatcher;
851
- var logger = _b.logger, pubSub = _b.pubSub;
852
- return React.useCallback(function (failedMessage) {
853
- logger.info('Channel: Resending message has started', failedMessage);
854
- if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
855
- // userMessage
856
- if (failedMessage.isUserMessage()) {
857
- currentGroupChannel
858
- .resendMessage(failedMessage)
859
- .onPending(function (message) {
860
- logger.info('Channel: Resending message start!', message);
861
- messagesDispatcher({
862
- type: actionTypes.RESEND_MESSAGE_START,
863
- payload: message,
864
- });
865
- })
866
- .onSucceeded(function (message) {
867
- logger.info('Channel: Resending message success!', message);
868
- messagesDispatcher({
869
- type: actionTypes.SEND_MESSAGE_SUCCESS,
870
- payload: message,
871
- });
872
- })
873
- .onFailed(function (e, message) {
874
- logger.warning('Channel: Resending message failed!', e);
875
- messagesDispatcher({
876
- type: actionTypes.SEND_MESSAGE_FAILURE,
877
- payload: message,
878
- });
879
- });
880
- }
881
- else if (failedMessage.isFileMessage()) {
882
- currentGroupChannel
883
- .resendMessage(failedMessage)
884
- .onPending(function (message) {
885
- logger.info('Channel: Resending file message start!', message);
886
- messagesDispatcher({
887
- type: actionTypes.RESEND_MESSAGE_START,
888
- payload: message,
889
- });
890
- })
891
- .onSucceeded(function (message) {
892
- logger.info('Channel: Resending file message success!', message);
893
- messagesDispatcher({
894
- type: actionTypes.SEND_MESSAGE_SUCCESS,
895
- payload: message,
896
- });
897
- })
898
- .onFailed(function (e, message) {
899
- logger.warning('Channel: Resending file message failed!', e);
900
- messagesDispatcher({
901
- type: actionTypes.SEND_MESSAGE_FAILURE,
902
- payload: message,
903
- });
904
- });
905
- }
906
- else if (failedMessage.isMultipleFilesMessage()) {
907
- currentGroupChannel
908
- .resendMessage(failedMessage)
909
- .onPending(function (message) {
910
- logger.info('Channel: Resending multiple files message start!', message);
911
- messagesDispatcher({
912
- type: actionTypes.RESEND_MESSAGE_START,
913
- payload: message,
914
- });
915
- })
916
- .onFileUploaded(function (requestId, index, uploadableFileInfo, error) {
917
- logger.info('Channel: Resending multiple files message file uploaded!', {
918
- requestId: requestId,
919
- index: index,
920
- error: error,
921
- uploadableFileInfo: uploadableFileInfo,
922
- });
923
- pubSub.publish(pubSub_topics.pubSubTopics.ON_FILE_INFO_UPLOADED, {
924
- response: {
925
- channelUrl: currentGroupChannel.url,
926
- requestId: requestId,
927
- index: index,
928
- uploadableFileInfo: uploadableFileInfo,
929
- error: error,
930
- },
931
- publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
932
- });
933
- })
934
- .onSucceeded(function (message) {
935
- logger.info('Channel: Resending multiple files message success!', message);
936
- messagesDispatcher({
937
- type: actionTypes.SEND_MESSAGE_SUCCESS,
938
- payload: message,
939
- });
940
- })
941
- .onFailed(function (e, message) {
942
- logger.warning('Channel: Resending multiple files message failed!', e);
943
- messagesDispatcher({
944
- type: actionTypes.SEND_MESSAGE_FAILURE,
945
- payload: message,
946
- });
947
- });
948
- }
949
- }
950
- else {
951
- logger.error('Message is not resendable', failedMessage);
952
- }
953
- }, [currentGroupChannel, messagesDispatcher]);
954
- }
955
-
956
- function useSendMessageCallback(_a, _b) {
957
- var isMentionEnabled = _a.isMentionEnabled, currentGroupChannel = _a.currentGroupChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
958
- var logger = _b.logger, pubSub = _b.pubSub, scrollRef = _b.scrollRef, messagesDispatcher = _b.messagesDispatcher;
959
- var messageInputRef = React.useRef(null);
960
- var sendMessage = React.useCallback(function (_a) {
961
- var quoteMessage = _a.quoteMessage, message = _a.message, mentionTemplate = _a.mentionTemplate,
962
- // mentionedUserIds,
963
- mentionedUsers = _a.mentionedUsers;
964
- var createParamsDefault = function () {
965
- var params = {
966
- message: message,
967
- };
968
- // if (isMentionEnabled && mentionedUserIds?.length > 0) {
969
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
970
- // params.mentionedUserIds = mentionedUserIds;
971
- params.mentionedUsers = mentionedUsers;
972
- }
973
- // if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
974
- if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
975
- params.mentionedMessageTemplate = mentionTemplate;
976
- }
977
- if (quoteMessage) {
978
- params.isReplyToChannel = true;
979
- params.parentMessageId = quoteMessage.messageId;
980
- }
981
- return params;
982
- };
983
- var shouldCreateCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
984
- if (shouldCreateCustomParams) {
985
- logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
986
- }
987
- var params = shouldCreateCustomParams ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
988
- logger.info('Channel: Sending message has started', params);
989
- currentGroupChannel
990
- .sendUserMessage(params)
991
- .onPending(function (pendingMsg) {
992
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, {
993
- /* pubSub is used instead of messagesDispatcher
994
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
995
- message: pendingMsg,
996
- channel: currentGroupChannel,
997
- publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
998
- });
999
- setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); });
1000
- })
1001
- .onFailed(function (err, msg) {
1002
- logger.warning('Channel: Sending message failed!', { message: msg, error: err });
1003
- messagesDispatcher({
1004
- type: actionTypes.SEND_MESSAGE_FAILURE,
1005
- payload: msg,
1006
- });
1007
- })
1008
- .onSucceeded(function (msg) {
1009
- logger.info('Channel: Sending message success!', msg);
1010
- messagesDispatcher({
1011
- type: actionTypes.SEND_MESSAGE_SUCCESS,
1012
- payload: msg,
1013
- });
1014
- });
1015
- }, [currentGroupChannel, onBeforeSendUserMessage]);
1016
- return [messageInputRef, sendMessage];
1017
- }
1018
-
1019
- function useSendFileMessageCallback(_a, _b) {
1020
- var currentGroupChannel = _a.currentGroupChannel, onBeforeSendFileMessage = _a.onBeforeSendFileMessage, imageCompression = _a.imageCompression;
1021
- var logger = _b.logger, pubSub = _b.pubSub, scrollRef = _b.scrollRef, messagesDispatcher = _b.messagesDispatcher;
1022
- var sendMessage = React.useCallback(function (compressedFile, quoteMessage) {
1023
- if (quoteMessage === void 0) { quoteMessage = null; }
1024
- return new Promise(function (resolve, reject) {
1025
- // Create FileMessageParams
1026
- var params = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(compressedFile, quoteMessage);
1027
- if (!params) {
1028
- params = { file: compressedFile };
1029
- if (quoteMessage) {
1030
- params.isReplyToChannel = true;
1031
- params.parentMessageId = quoteMessage.messageId;
1032
- }
1033
- }
1034
- // Send FileMessage
1035
- logger.info('Channel: Uploading file message start!', params);
1036
- currentGroupChannel
1037
- .sendFileMessage(params)
1038
- .onPending(function (pendingMessage) {
1039
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, {
1040
- /* pubSub is used instead of messagesDispatcher
1041
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1042
- message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(compressedFile),
1043
- // pending thumbnail message seems to be failed
1044
- requestState: 'pending' }),
1045
- channel: currentGroupChannel,
1046
- publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
1047
- });
1048
- setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); }, 1000);
1049
- })
1050
- .onFailed(function (err, failedMessage) {
1051
- logger.error('Channel: Sending file message failed!', { failedMessage: failedMessage, err: err });
1052
- // TODO: v4 - remove logic that modifies the original object.
1053
- // It makes the code difficult to track, likely causing unpredictable side effects.
1054
- // @ts-ignore eslint-disable-next-line no-param-reassign
1055
- failedMessage.localUrl = URL.createObjectURL(compressedFile);
1056
- // @ts-ignore eslint-disable-next-line no-param-reassign
1057
- failedMessage.file = compressedFile;
1058
- messagesDispatcher({
1059
- type: actionTypes.SEND_MESSAGE_FAILURE,
1060
- payload: failedMessage,
1061
- });
1062
- reject(err);
1063
- })
1064
- .onSucceeded(function (succeededMessage) {
1065
- logger.info('Channel: Sending file message success!', succeededMessage);
1066
- messagesDispatcher({
1067
- type: actionTypes.SEND_MESSAGE_SUCCESS,
1068
- payload: succeededMessage,
1069
- });
1070
- resolve(succeededMessage);
1071
- });
1072
- });
1073
- }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);
1074
- return [sendMessage];
1075
- }
1076
-
1077
- function useToggleReactionCallback(_a, _b) {
1078
- var currentGroupChannel = _a.currentGroupChannel;
1079
- var logger = _b.logger;
1080
- return React.useCallback(function (message, key, isReacted) {
1081
- if (isReacted) {
1082
- currentGroupChannel
1083
- .deleteReaction(message, key)
1084
- .then(function (res) {
1085
- logger.info('Delete reaction success', res);
1086
- })
1087
- .catch(function (err) {
1088
- logger.warning('Delete reaction failed', err);
1089
- });
1090
- }
1091
- else {
1092
- currentGroupChannel
1093
- .addReaction(message, key)
1094
- .then(function (res) {
1095
- logger.info('Add reaction success', res);
1096
- })
1097
- .catch(function (err) {
1098
- logger.warning('Add reaction failed', err);
1099
- });
1100
- }
1101
- }, [currentGroupChannel]);
1102
- }
1103
-
1104
- // To prevent multiple clicks on the message in the channel while scrolling
1105
- function deactivateClick(scrollRef) {
1106
- var element = scrollRef.current;
1107
- var parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1108
- if (element && parentNode) {
1109
- element.style.pointerEvents = 'none';
1110
- parentNode.style.cursor = 'wait';
1111
- }
1112
- }
1113
- function activateClick(scrollRef) {
1114
- var element = scrollRef.current;
1115
- var parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1116
- if (element && parentNode) {
1117
- element.style.pointerEvents = 'auto';
1118
- parentNode.style.cursor = 'auto';
1119
- }
1120
- }
1121
- function useScrollToMessage(_a, _b) {
1122
- var setInitialTimeStamp = _a.setInitialTimeStamp, setAnimatedMessageId = _a.setAnimatedMessageId, allMessages = _a.allMessages, scrollRef = _a.scrollRef;
1123
- var logger = _b.logger;
1124
- return React.useCallback(function (createdAt, messageId) {
1125
- var isPresent = allMessages.find(function (m) { return (m.messageId === messageId); });
1126
- setAnimatedMessageId(null);
1127
- setTimeout(function () {
1128
- try {
1129
- logger.info('Channel: scroll to message - disabling mouse events');
1130
- deactivateClick(scrollRef);
1131
- if (isPresent) {
1132
- logger.info('Channel: scroll to message - message is present');
1133
- setAnimatedMessageId(messageId);
1134
- utils.scrollToRenderedMessage(scrollRef, createdAt);
1135
- }
1136
- else {
1137
- logger.info('Channel: scroll to message - fetching older messages');
1138
- setInitialTimeStamp(null);
1139
- setInitialTimeStamp(createdAt);
1140
- setAnimatedMessageId(messageId);
1141
- }
1142
- }
1143
- finally {
1144
- logger.info('Channel: scroll to message - enabled mouse events');
1145
- activateClick(scrollRef);
1146
- }
1147
- });
1148
- }, [
1149
- setInitialTimeStamp,
1150
- setAnimatedMessageId,
1151
- allMessages,
1152
- ]);
1153
- }
1154
-
1155
- var useSendVoiceMessageCallback = function (_a, _b) {
1156
- var currentGroupChannel = _a.currentGroupChannel, onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
1157
- var logger = _b.logger, pubSub = _b.pubSub, scrollRef = _b.scrollRef, messagesDispatcher = _b.messagesDispatcher;
1158
- var sendMessage = React.useCallback(function (file, duration, quoteMessage) {
1159
- if (!currentGroupChannel) {
1160
- return;
1161
- }
1162
- var messageParams = (onBeforeSendVoiceMessage
1163
- && typeof onBeforeSendVoiceMessage === 'function')
1164
- ? onBeforeSendVoiceMessage(file, quoteMessage)
1165
- : {
1166
- file: file,
1167
- fileName: consts.VOICE_MESSAGE_FILE_NAME,
1168
- mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
1169
- metaArrays: [
1170
- new message.MessageMetaArray({
1171
- key: consts.META_ARRAY_VOICE_DURATION_KEY,
1172
- value: ["".concat(duration)],
1173
- }),
1174
- new message.MessageMetaArray({
1175
- key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1176
- value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE],
1177
- }),
1178
- ],
1179
- };
1180
- if (quoteMessage) {
1181
- messageParams.isReplyToChannel = true;
1182
- messageParams.parentMessageId = quoteMessage.messageId;
1183
- }
1184
- logger.info('Channel: Start sending voice message', messageParams);
1185
- currentGroupChannel.sendFileMessage(messageParams)
1186
- .onPending(function (pendingMessage) {
1187
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, {
1188
- /* pubSub is used instead of messagesDispatcher
1189
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1190
- message: pendingMessage,
1191
- channel: currentGroupChannel,
1192
- publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
1193
- });
1194
- setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); }, 1000);
1195
- })
1196
- .onFailed(function (err, failedMessage) {
1197
- logger.error('Channel: Sending voice message failed!', { failedMessage: failedMessage, err: err });
1198
- messagesDispatcher({
1199
- type: actionTypes.SEND_MESSAGE_FAILURE,
1200
- payload: failedMessage,
1201
- });
1202
- })
1203
- .onSucceeded(function (succeededMessage) {
1204
- logger.info('Channel: Sending voice message success!', succeededMessage);
1205
- messagesDispatcher({
1206
- type: actionTypes.SEND_MESSAGE_SUCCESS,
1207
- payload: succeededMessage,
1208
- });
1209
- });
1210
- }, [
1211
- currentGroupChannel,
1212
- onBeforeSendVoiceMessage,
1213
- ]);
1214
- return [sendMessage];
1215
- };
1216
-
1217
- var useHandleChannelPubsubEvents = function (_a) {
1218
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, pubSub = _a.pubSub, dispatcher = _a.dispatcher, scrollRef = _a.scrollRef;
1219
- React.useEffect(function () {
1220
- var subscriber = new Map();
1221
- if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
1222
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, function (props) {
1223
- var channel = props.channel, message = props.message;
1224
- utils.scrollIntoLast(0, scrollRef);
1225
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1226
- dispatcher({
1227
- type: actionTypes.SEND_MESSAGE_SUCCESS,
1228
- payload: message,
1229
- });
1230
- }
1231
- }));
1232
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, function (props) {
1233
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
1234
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url) && pubSub_topics.shouldPubSubPublishToChannel(publishingModules)) {
1235
- dispatcher({
1236
- type: actionTypes.SEND_MESSAGE_START,
1237
- payload: message,
1238
- });
1239
- }
1240
- }));
1241
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
1242
- var response = props.response, publishingModules = props.publishingModules;
1243
- if (channelUrl === response.channelUrl && pubSub_topics.shouldPubSubPublishToChannel(publishingModules)) {
1244
- dispatcher({
1245
- type: actionTypes.ON_FILE_INFO_UPLOADED,
1246
- payload: response,
1247
- });
1248
- }
1249
- }));
1250
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, function (props) {
1251
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
1252
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url) && pubSub_topics.shouldPubSubPublishToChannel(publishingModules)) {
1253
- dispatcher({
1254
- type: actionTypes.SEND_MESSAGE_FAILURE,
1255
- payload: message,
1256
- });
1257
- }
1258
- }));
1259
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, function (props) {
1260
- var channel = props.channel, message = props.message;
1261
- utils.scrollIntoLast(0, scrollRef);
1262
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1263
- dispatcher({
1264
- type: actionTypes.SEND_MESSAGE_SUCCESS,
1265
- payload: message,
1266
- });
1267
- }
1268
- }));
1269
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, function (props) {
1270
- var channel = props.channel, message = props.message, fromSelector = props.fromSelector;
1271
- if (fromSelector && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) && channel.isGroupChannel()) {
1272
- dispatcher({
1273
- type: actionTypes.ON_MESSAGE_UPDATED,
1274
- payload: { channel: channel, message: message },
1275
- });
1276
- }
1277
- }));
1278
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, function (props) {
1279
- var channel = props.channel, messageId = props.messageId;
1280
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1281
- dispatcher({
1282
- type: actionTypes.ON_MESSAGE_DELETED,
1283
- payload: messageId,
1284
- });
1285
- }
1286
- }));
1287
- }
1288
- return function () {
1289
- subscriber.forEach(function (s) {
1290
- try {
1291
- s.remove();
1292
- }
1293
- catch (_a) {
1294
- //
1295
- }
1296
- });
1297
- };
1298
- }, [
1299
- channelUrl,
1300
- sdkInit,
1301
- ]);
1302
- };
1303
-
1304
- var ChannelContext = React.createContext(undefined);
1305
- var ChannelProvider = function (props) {
1306
- var _a, _b, _c, _d, _e, _f;
1307
- var channelUrl = props.channelUrl, children = props.children, isReactionEnabled = props.isReactionEnabled, _g = props.isMessageGroupingEnabled, isMessageGroupingEnabled = _g === void 0 ? true : _g, isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled, showSearchIcon = props.showSearchIcon, animatedMessage = props.animatedMessage, highlightedMessage = props.highlightedMessage, startingPoint = props.startingPoint, onBeforeSendUserMessage = props.onBeforeSendUserMessage, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onBeforeUpdateUserMessage = props.onBeforeUpdateUserMessage, onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage, onChatHeaderActionClick = props.onChatHeaderActionClick, onSearchClick = props.onSearchClick, onBackClick = props.onBackClick, channelReplyType = props.replyType, threadReplySelectType = props.threadReplySelectType, queries = props.queries, filterMessageList = props.filterMessageList, _h = props.disableMarkAsRead, disableMarkAsRead = _h === void 0 ? false : _h, onReplyInThread = props.onReplyInThread, onQuoteMessageClick = props.onQuoteMessageClick, onMessageAnimated = props.onMessageAnimated, onMessageHighlighted = props.onMessageHighlighted, _j = props.scrollBehavior, scrollBehavior = _j === void 0 ? 'auto' : _j, _k = props.reconnectOnIdle, reconnectOnIdle = _k === void 0 ? true : _k;
1308
- var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1309
- var config = globalStore.config;
1310
- var replyType = channelReplyType !== null && channelReplyType !== void 0 ? channelReplyType : config.replyType;
1311
- var pubSub = config.pubSub, logger = config.logger, userId = config.userId, isOnline = config.isOnline, imageCompression = config.imageCompression, isMentionEnabled = config.isMentionEnabled, onUserProfileMessage = config.onUserProfileMessage, markAsReadScheduler = config.markAsReadScheduler, groupChannel = config.groupChannel;
1312
- var sdk = (_b = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _a === void 0 ? void 0 : _a.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk;
1313
- var sdkInit = (_d = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _c === void 0 ? void 0 : _c.sdkStore) === null || _d === void 0 ? void 0 : _d.initialized;
1314
- var globalConfigs = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1315
- var _l = React.useState(startingPoint), initialTimeStamp = _l[0], setInitialTimeStamp = _l[1];
1316
- React.useEffect(function () {
1317
- setInitialTimeStamp(startingPoint);
1318
- }, [startingPoint, channelUrl]);
1319
- var _m = React.useState(0), animatedMessageId = _m[0], setAnimatedMessageId = _m[1];
1320
- var _o = React.useState(highlightedMessage), highLightedMessageId = _o[0], setHighLightedMessageId = _o[1];
1321
- React.useEffect(function () {
1322
- setHighLightedMessageId(highlightedMessage);
1323
- }, [highlightedMessage]);
1324
- var userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1325
- var _p = React.useState(null), quoteMessage = _p[0], setQuoteMessage = _p[1];
1326
- var _q = React.useState(false), isScrolled = _q[0], setIsScrolled = _q[1];
1327
- var _r = React.useReducer(channelReducer, initialState), messagesStore = _r[0], messagesDispatcher = _r[1];
1328
- var scrollRef = React.useRef(null);
1329
- var allMessages = messagesStore.allMessages, localMessages = messagesStore.localMessages, loading = messagesStore.loading, initialized = messagesStore.initialized, unreadSince = messagesStore.unreadSince, unreadSinceDate = messagesStore.unreadSinceDate, isInvalid = messagesStore.isInvalid, currentGroupChannel = messagesStore.currentGroupChannel, hasMorePrev = messagesStore.hasMorePrev, oldestMessageTimeStamp = messagesStore.oldestMessageTimeStamp, hasMoreNext = messagesStore.hasMoreNext, latestMessageTimeStamp = messagesStore.latestMessageTimeStamp, emojiContainer = messagesStore.emojiContainer, readStatus = messagesStore.readStatus, typingMembers = messagesStore.typingMembers;
1330
- var isSuper = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isSuper) || false;
1331
- var isBroadcast = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isBroadcast) || false;
1332
- var usingReaction = getIsReactionEnabled({
1333
- isBroadcast: isBroadcast,
1334
- isSuper: isSuper,
1335
- globalLevel: config === null || config === void 0 ? void 0 : config.isReactionEnabled,
1336
- moduleLevel: isReactionEnabled,
1337
- });
1338
- var emojiAllMap = React.useMemo(function () { return (usingReaction
1339
- ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer)
1340
- : new Map()); }, [emojiContainer]);
1341
- var nicknamesMap = React.useMemo(function () { return ((usingReaction && currentGroupChannel)
1342
- ? utils.getNicknamesMapFromMembers(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members)
1343
- : new Map()); }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members]);
1344
- // Animate message
1345
- React.useEffect(function () {
1346
- if (animatedMessage) {
1347
- setAnimatedMessageId(animatedMessage);
1348
- }
1349
- }, [animatedMessage]);
1350
- // Scrollup is default scroll for channel
1351
- var onScrollCallback = useScrollCallback({
1352
- currentGroupChannel: currentGroupChannel,
1353
- oldestMessageTimeStamp: oldestMessageTimeStamp,
1354
- userFilledMessageListQuery: userFilledMessageListQuery,
1355
- replyType: replyType,
1356
- }, {
1357
- hasMorePrev: hasMorePrev,
1358
- logger: logger,
1359
- messagesDispatcher: messagesDispatcher,
1360
- sdk: sdk,
1361
- });
1362
- var scrollToMessage = useScrollToMessage({
1363
- setInitialTimeStamp: setInitialTimeStamp,
1364
- setAnimatedMessageId: setAnimatedMessageId,
1365
- allMessages: allMessages,
1366
- scrollRef: scrollRef,
1367
- }, { logger: logger });
1368
- // onScrollDownCallback is added for navigation to different timestamps on messageSearch
1369
- // hasMorePrev, onScrollCallback -> scroll up(default behavior)
1370
- // hasMoreNext, onScrollDownCallback -> scroll down
1371
- var onScrollDownCallback = useScrollDownCallback({
1372
- currentGroupChannel: currentGroupChannel,
1373
- latestMessageTimeStamp: latestMessageTimeStamp,
1374
- userFilledMessageListQuery: userFilledMessageListQuery,
1375
- hasMoreNext: hasMoreNext,
1376
- replyType: replyType,
1377
- }, {
1378
- logger: logger,
1379
- messagesDispatcher: messagesDispatcher,
1380
- sdk: sdk,
1381
- });
1382
- var toggleReaction = useToggleReactionCallback({ currentGroupChannel: currentGroupChannel }, { logger: logger });
1383
- // to create message-datasource
1384
- // this hook sets currentGroupChannel asynchronously
1385
- useGetChannel({ channelUrl: channelUrl, sdkInit: sdkInit, disableMarkAsRead: disableMarkAsRead }, { messagesDispatcher: messagesDispatcher, sdk: sdk, logger: logger, markAsReadScheduler: markAsReadScheduler });
1386
- // to set quote message as null
1387
- React.useEffect(function () {
1388
- setQuoteMessage(null);
1389
- }, [channelUrl]);
1390
- // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
1391
- useHandleChannelEvents({
1392
- currentGroupChannel: currentGroupChannel,
1393
- sdkInit: sdkInit,
1394
- currentUserId: userId,
1395
- disableMarkAsRead: disableMarkAsRead,
1396
- }, {
1397
- messagesDispatcher: messagesDispatcher,
1398
- sdk: sdk,
1399
- logger: logger,
1400
- scrollRef: scrollRef,
1401
- setQuoteMessage: setQuoteMessage,
1402
- });
1403
- // hook that fetches messages when channel changes
1404
- // to be clear here useGetChannel sets currentGroupChannel
1405
- // and useInitialMessagesFetch executes when currentGroupChannel changes
1406
- // p.s This one executes on initialTimeStamp change too
1407
- Channel_hooks_useInitialMessagesFetch({
1408
- currentGroupChannel: currentGroupChannel,
1409
- userFilledMessageListQuery: userFilledMessageListQuery,
1410
- initialTimeStamp: initialTimeStamp,
1411
- replyType: replyType,
1412
- setIsScrolled: setIsScrolled,
1413
- }, {
1414
- logger: logger,
1415
- scrollRef: scrollRef,
1416
- messagesDispatcher: messagesDispatcher,
1417
- });
1418
- // handles API calls from withSendbird
1419
- useHandleChannelPubsubEvents({
1420
- channelUrl: channelUrl,
1421
- sdkInit: sdkInit,
1422
- pubSub: pubSub,
1423
- dispatcher: messagesDispatcher,
1424
- scrollRef: scrollRef,
1425
- });
1426
- // handling connection breaks
1427
- useHandleReconnect({ isOnline: isOnline, replyType: replyType, disableMarkAsRead: disableMarkAsRead, reconnectOnIdle: reconnectOnIdle }, {
1428
- logger: logger,
1429
- sdk: sdk,
1430
- scrollRef: scrollRef,
1431
- currentGroupChannel: currentGroupChannel,
1432
- messagesDispatcher: messagesDispatcher,
1433
- userFilledMessageListQuery: userFilledMessageListQuery,
1434
- markAsReadScheduler: markAsReadScheduler,
1435
- });
1436
- // callbacks for Message CURD actions
1437
- var deleteMessage = useDeleteMessageCallback({ currentGroupChannel: currentGroupChannel, messagesDispatcher: messagesDispatcher }, { logger: logger });
1438
- var updateMessage = useUpdateMessageCallback({ currentGroupChannel: currentGroupChannel, messagesDispatcher: messagesDispatcher, onBeforeUpdateUserMessage: onBeforeUpdateUserMessage, isMentionEnabled: isMentionEnabled }, { logger: logger, pubSub: pubSub });
1439
- var resendMessage = useResendMessageCallback({ currentGroupChannel: currentGroupChannel, messagesDispatcher: messagesDispatcher }, { logger: logger, pubSub: pubSub });
1440
- var _s = useSendMessageCallback({
1441
- currentGroupChannel: currentGroupChannel,
1442
- isMentionEnabled: isMentionEnabled,
1443
- onBeforeSendUserMessage: onBeforeSendUserMessage,
1444
- }, {
1445
- logger: logger,
1446
- pubSub: pubSub,
1447
- scrollRef: scrollRef,
1448
- messagesDispatcher: messagesDispatcher,
1449
- }), messageInputRef = _s[0], sendMessage = _s[1];
1450
- var sendFileMessage = useSendFileMessageCallback({
1451
- currentGroupChannel: currentGroupChannel,
1452
- imageCompression: imageCompression,
1453
- onBeforeSendFileMessage: onBeforeSendFileMessage,
1454
- }, {
1455
- logger: logger,
1456
- pubSub: pubSub,
1457
- scrollRef: scrollRef,
1458
- messagesDispatcher: messagesDispatcher,
1459
- })[0];
1460
- var sendVoiceMessage = useSendVoiceMessageCallback({
1461
- currentGroupChannel: currentGroupChannel,
1462
- onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
1463
- }, {
1464
- logger: logger,
1465
- pubSub: pubSub,
1466
- scrollRef: scrollRef,
1467
- messagesDispatcher: messagesDispatcher,
1468
- })[0];
1469
- var sendMultipleFilesMessage = useSendMultipleFilesMessage.useSendMultipleFilesMessage({
1470
- currentChannel: currentGroupChannel,
1471
- onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1472
- publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
1473
- }, {
1474
- logger: logger,
1475
- pubSub: pubSub,
1476
- scrollRef: scrollRef,
1477
- })[0];
1478
- return (React.createElement(ChannelContext.Provider, { value: {
1479
- // props
1480
- channelUrl: channelUrl,
1481
- isReactionEnabled: usingReaction,
1482
- isMessageGroupingEnabled: isMessageGroupingEnabled,
1483
- isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
1484
- showSearchIcon: showSearchIcon !== null && showSearchIcon !== void 0 ? showSearchIcon : globalConfigs.showSearchIcon,
1485
- highlightedMessage: highlightedMessage,
1486
- startingPoint: startingPoint,
1487
- onBeforeSendUserMessage: onBeforeSendUserMessage,
1488
- onBeforeSendFileMessage: onBeforeSendFileMessage,
1489
- onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
1490
- onChatHeaderActionClick: onChatHeaderActionClick,
1491
- onSearchClick: onSearchClick,
1492
- onBackClick: onBackClick,
1493
- replyType: replyType,
1494
- threadReplySelectType: (_e = threadReplySelectType !== null && threadReplySelectType !== void 0 ? threadReplySelectType : resolvedReplyType.getCaseResolvedThreadReplySelectType(groupChannel.threadReplySelectType).upperCase) !== null && _e !== void 0 ? _e : _const.ThreadReplySelectType.THREAD,
1495
- queries: queries,
1496
- filterMessageList: filterMessageList,
1497
- disableMarkAsRead: disableMarkAsRead,
1498
- onReplyInThread: onReplyInThread,
1499
- onQuoteMessageClick: onQuoteMessageClick,
1500
- onMessageAnimated: onMessageAnimated,
1501
- onMessageHighlighted: onMessageHighlighted,
1502
- // messagesStore
1503
- allMessages: allMessages,
1504
- localMessages: localMessages,
1505
- loading: loading,
1506
- initialized: initialized,
1507
- unreadSince: unreadSince,
1508
- unreadSinceDate: unreadSinceDate,
1509
- isInvalid: isInvalid,
1510
- currentGroupChannel: currentGroupChannel,
1511
- hasMorePrev: hasMorePrev,
1512
- hasMoreNext: hasMoreNext,
1513
- oldestMessageTimeStamp: oldestMessageTimeStamp,
1514
- latestMessageTimeStamp: latestMessageTimeStamp,
1515
- emojiContainer: emojiContainer,
1516
- readStatus: readStatus,
1517
- typingMembers: typingMembers,
1518
- // utils
1519
- scrollToMessage: scrollToMessage,
1520
- quoteMessage: quoteMessage,
1521
- setQuoteMessage: setQuoteMessage,
1522
- deleteMessage: deleteMessage,
1523
- updateMessage: updateMessage,
1524
- resendMessage: resendMessage,
1525
- messageInputRef: messageInputRef,
1526
- sendMessage: sendMessage,
1527
- sendFileMessage: sendFileMessage,
1528
- sendVoiceMessage: sendVoiceMessage,
1529
- sendMultipleFilesMessage: sendMultipleFilesMessage,
1530
- initialTimeStamp: initialTimeStamp,
1531
- messageActionTypes: actionTypes.channelActions,
1532
- messagesDispatcher: messagesDispatcher,
1533
- setInitialTimeStamp: setInitialTimeStamp,
1534
- setAnimatedMessageId: setAnimatedMessageId,
1535
- setHighLightedMessageId: setHighLightedMessageId,
1536
- animatedMessageId: animatedMessageId,
1537
- highLightedMessageId: highLightedMessageId,
1538
- nicknamesMap: nicknamesMap,
1539
- emojiAllMap: emojiAllMap,
1540
- onScrollCallback: onScrollCallback,
1541
- onScrollDownCallback: onScrollDownCallback,
1542
- scrollRef: scrollRef,
1543
- scrollBehavior: scrollBehavior,
1544
- toggleReaction: toggleReaction,
1545
- isScrolled: isScrolled,
1546
- setIsScrolled: setIsScrolled,
1547
- } },
1548
- React.createElement(UserProfileContext.UserProfileProvider, { disableUserProfile: (_f = props === null || props === void 0 ? void 0 : props.disableUserProfile) !== null && _f !== void 0 ? _f : config === null || config === void 0 ? void 0 : config.disableUserProfile, renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile, onUserProfileMessage: onUserProfileMessage }, children)));
1549
- };
1550
- var useChannelContext = function () { return React.useContext(ChannelContext); };
1551
-
1552
- exports.ChannelProvider = ChannelProvider;
1553
- exports.getIsReactionEnabled = getIsReactionEnabled;
1554
- exports.useChannelContext = useChannelContext;
1555
- //# sourceMappingURL=bundle-Ue5GkT2H.js.map