@sendbird/uikit-react 3.14.3 → 3.14.4

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 (1063) hide show
  1. package/App.js +377 -378
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +23 -0
  4. package/Channel/components/ChannelHeader.js +36 -34
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +74 -74
  7. package/Channel/components/FileViewer.js +37 -33
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +5 -5
  10. package/Channel/components/Message.js +80 -81
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +72 -70
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageInputWrapper.js +45 -43
  15. package/Channel/components/MessageInputWrapper.js.map +1 -1
  16. package/Channel/components/MessageList.js +249 -250
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +38 -33
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +29 -30
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +6 -6
  23. package/Channel/components/UnreadCount.js +7 -7
  24. package/Channel/context.js +1453 -1453
  25. package/Channel/hooks/useHandleUploadFiles.js +125 -120
  26. package/Channel/hooks/useHandleUploadFiles.js.map +1 -1
  27. package/Channel/hooks/useInitialMessagesFetch.js +6 -6
  28. package/Channel/utils/compareMessagesForGrouping.js +50 -51
  29. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  30. package/Channel/utils/getMessagePartsInfo.js +26 -27
  31. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  32. package/Channel.js +71 -71
  33. package/ChannelList/components/AddChannel.js +29 -26
  34. package/ChannelList/components/AddChannel.js.map +1 -1
  35. package/ChannelList/components/ChannelListHeader.js +13 -8
  36. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  37. package/ChannelList/components/ChannelListUI.js +109 -106
  38. package/ChannelList/components/ChannelListUI.js.map +1 -1
  39. package/ChannelList/components/ChannelPreview.js +43 -38
  40. package/ChannelList/components/ChannelPreview.js.map +1 -1
  41. package/ChannelList/components/ChannelPreviewAction.js +16 -12
  42. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  43. package/ChannelList/context.js +9 -10
  44. package/ChannelList/context.js.map +1 -1
  45. package/ChannelList.js +43 -40
  46. package/ChannelList.js.map +1 -1
  47. package/ChannelSettings/components/ChannelProfile.js +57 -47
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  49. package/ChannelSettings/components/ChannelSettingsHeader.js +24 -21
  50. package/ChannelSettings/components/ChannelSettingsHeader.js.map +1 -1
  51. package/ChannelSettings/components/ChannelSettingsUI.js +78 -75
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +90 -80
  54. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  55. package/ChannelSettings/components/LeaveChannel.js +63 -53
  56. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  57. package/ChannelSettings/components/ModerationPanel.js +447 -445
  58. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  59. package/ChannelSettings/components/UserListItem.js +49 -49
  60. package/ChannelSettings/components/UserPanel.js +47 -45
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +105 -105
  63. package/ChannelSettings.js +35 -32
  64. package/ChannelSettings.js.map +1 -1
  65. package/CreateChannel/components/CreateChannelUI.js +33 -29
  66. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  67. package/CreateChannel/components/InviteUsers.js +143 -139
  68. package/CreateChannel/components/InviteUsers.js.map +1 -1
  69. package/CreateChannel/components/SelectChannelType.js +76 -65
  70. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  71. package/CreateChannel/context.js +4 -4
  72. package/CreateChannel.js +27 -23
  73. package/CreateChannel.js.map +1 -1
  74. package/CreateOpenChannel/components/CreateOpenChannelUI.js +63 -52
  75. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  76. package/CreateOpenChannel/context.js +41 -41
  77. package/CreateOpenChannel.js +28 -17
  78. package/CreateOpenChannel.js.map +1 -1
  79. package/EditUserProfile/components/EditUserProfileUI.js +110 -99
  80. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  81. package/EditUserProfile/context.js +12 -12
  82. package/EditUserProfile.js +27 -16
  83. package/EditUserProfile.js.map +1 -1
  84. package/GroupChannel/components/FileViewer.js +62 -58
  85. package/GroupChannel/components/FileViewer.js.map +1 -1
  86. package/GroupChannel/components/FrozenNotification.js +10 -10
  87. package/GroupChannel/components/GroupChannelHeader.js +30 -28
  88. package/GroupChannel/components/GroupChannelHeader.js.map +1 -1
  89. package/GroupChannel/components/GroupChannelUI.js +68 -68
  90. package/GroupChannel/components/Message.js +66 -77
  91. package/GroupChannel/components/Message.js.map +1 -1
  92. package/GroupChannel/components/MessageInputWrapper.js +63 -62
  93. package/GroupChannel/components/MessageInputWrapper.js.map +1 -1
  94. package/GroupChannel/components/MessageList.js +154 -155
  95. package/GroupChannel/components/MessageList.js.map +1 -1
  96. package/GroupChannel/components/RemoveMessageModal.js +32 -27
  97. package/GroupChannel/components/RemoveMessageModal.js.map +1 -1
  98. package/GroupChannel/components/SuggestedMentionList.js +14 -14
  99. package/GroupChannel/components/SuggestedReplies.js +15 -14
  100. package/GroupChannel/components/SuggestedReplies.js.map +1 -1
  101. package/GroupChannel/components/TypingIndicator.js +59 -59
  102. package/GroupChannel/components/UnreadCount.js +26 -26
  103. package/GroupChannel/context.js +568 -568
  104. package/GroupChannel.js +65 -65
  105. package/GroupChannelList/components/AddGroupChannel.js +30 -27
  106. package/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  107. package/GroupChannelList/components/GroupChannelListHeader.js +34 -28
  108. package/GroupChannelList/components/GroupChannelListHeader.js.map +1 -1
  109. package/GroupChannelList/components/GroupChannelListItem.js +39 -35
  110. package/GroupChannelList/components/GroupChannelListItem.js.map +1 -1
  111. package/GroupChannelList/components/GroupChannelListUI.js +86 -83
  112. package/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  113. package/GroupChannelList/components/GroupChannelPreviewAction.js +48 -44
  114. package/GroupChannelList/components/GroupChannelPreviewAction.js.map +1 -1
  115. package/GroupChannelList/context.js +81 -97
  116. package/GroupChannelList/context.js.map +1 -1
  117. package/GroupChannelList.js +43 -40
  118. package/GroupChannelList.js.map +1 -1
  119. package/Message/context.js +21 -21
  120. package/Message/hooks/useDirtyGetMentions.js +52 -52
  121. package/MessageSearch/components/MessageSearchUI.js +71 -72
  122. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  123. package/MessageSearch/context.js +247 -247
  124. package/MessageSearch.js +59 -59
  125. package/OpenChannel/components/FrozenChannelNotification.js +9 -9
  126. package/OpenChannel/components/OpenChannelHeader.js +43 -38
  127. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  128. package/OpenChannel/components/OpenChannelInput.js +47 -45
  129. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  130. package/OpenChannel/components/OpenChannelMessage.js +158 -157
  131. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  132. package/OpenChannel/components/OpenChannelMessageList.js +95 -94
  133. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  134. package/OpenChannel/components/OpenChannelUI.js +71 -70
  135. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  136. package/OpenChannel/context.js +23 -18
  137. package/OpenChannel/context.js.map +1 -1
  138. package/OpenChannel.js +44 -43
  139. package/OpenChannel.js.map +1 -1
  140. package/OpenChannelList/components/OpenChannelListUI.js +102 -92
  141. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  142. package/OpenChannelList/components/OpenChannelPreview.js +20 -20
  143. package/OpenChannelList/context.js +3 -3
  144. package/OpenChannelList.js +34 -24
  145. package/OpenChannelList.js.map +1 -1
  146. package/OpenChannelSettings/components/EditDetailsModal.js +82 -73
  147. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  148. package/OpenChannelSettings/components/OpenChannelProfile.js +47 -38
  149. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  150. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +61 -57
  151. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  152. package/OpenChannelSettings/components/OperatorUI.js +454 -450
  153. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  154. package/OpenChannelSettings/components/ParticipantUI.js +21 -17
  155. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  156. package/OpenChannelSettings/context.js +114 -114
  157. package/OpenChannelSettings.js +29 -25
  158. package/OpenChannelSettings.js.map +1 -1
  159. package/README.md +2 -13
  160. package/SendbirdProvider.js +1139 -1183
  161. package/SendbirdProvider.js.map +1 -1
  162. package/Thread/components/ParentMessageInfo.js +240 -239
  163. package/Thread/components/ParentMessageInfo.js.map +1 -1
  164. package/Thread/components/ParentMessageInfoItem.js +148 -148
  165. package/Thread/components/ThreadHeader.js +23 -26
  166. package/Thread/components/ThreadHeader.js.map +1 -1
  167. package/Thread/components/ThreadList.js +122 -122
  168. package/Thread/components/ThreadListItem.js +341 -340
  169. package/Thread/components/ThreadListItem.js.map +1 -1
  170. package/Thread/components/ThreadMessageInput.js +167 -165
  171. package/Thread/components/ThreadMessageInput.js.map +1 -1
  172. package/Thread/components/ThreadUI.js +207 -207
  173. package/Thread/context/types.js +21 -21
  174. package/Thread/context.js +1283 -1281
  175. package/Thread/context.js.map +1 -1
  176. package/Thread.js +73 -73
  177. package/VoicePlayer/context.js +3 -3
  178. package/VoicePlayer/useVoicePlayer.js +68 -60
  179. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  180. package/VoiceRecorder/context.js +21 -127
  181. package/VoiceRecorder/context.js.map +1 -1
  182. package/VoiceRecorder/useVoiceRecorder.js +105 -96
  183. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  184. package/chunks/{bundle-DiuoVXwl.js → bundle--nVHk3fx.js} +161 -162
  185. package/chunks/{bundle-DiuoVXwl.js.map → bundle--nVHk3fx.js.map} +1 -1
  186. package/chunks/{bundle-CUPPssXo.js → bundle-2uJIsyo2.js} +27 -27
  187. package/chunks/bundle-2uJIsyo2.js.map +1 -0
  188. package/chunks/bundle-3amhHjNa.js +120 -0
  189. package/chunks/bundle-3amhHjNa.js.map +1 -0
  190. package/chunks/{bundle-DZcgZWKq.js → bundle-7oF7KbGv.js} +2 -2
  191. package/chunks/{bundle-DZcgZWKq.js.map → bundle-7oF7KbGv.js.map} +1 -1
  192. package/chunks/{bundle-CXtl77MC.js → bundle-9MhshueU.js} +21 -21
  193. package/chunks/bundle-9MhshueU.js.map +1 -0
  194. package/chunks/{bundle-COLsFI7t.js → bundle-B5N2u5f-.js} +1 -1
  195. package/chunks/bundle-B5N2u5f-.js.map +1 -0
  196. package/chunks/{bundle-DGnpw8up.js → bundle-B7barEsR.js} +19 -19
  197. package/chunks/bundle-B7barEsR.js.map +1 -0
  198. package/chunks/{bundle-mRqHYNyY.js → bundle-B8gKMDtp.js} +28 -28
  199. package/chunks/bundle-B8gKMDtp.js.map +1 -0
  200. package/chunks/{bundle-D8JekjLy.js → bundle-BAvMd_j0.js} +45 -46
  201. package/chunks/bundle-BAvMd_j0.js.map +1 -0
  202. package/chunks/{bundle-DfDCjniq.js → bundle-BHn3F_OF.js} +17 -17
  203. package/chunks/bundle-BHn3F_OF.js.map +1 -0
  204. package/chunks/{bundle-BbeHRXOp.js → bundle-BJ46V6XQ.js} +10 -10
  205. package/chunks/bundle-BJ46V6XQ.js.map +1 -0
  206. package/chunks/{bundle-DQKxIg_X.js → bundle-BKho3Uub.js} +11 -11
  207. package/chunks/bundle-BKho3Uub.js.map +1 -0
  208. package/chunks/{bundle-BTLVyMgj.js → bundle-BOSnopxk.js} +8 -8
  209. package/chunks/bundle-BOSnopxk.js.map +1 -0
  210. package/chunks/{bundle-DbwlpQTj.js → bundle-BTD0sBED.js} +89 -89
  211. package/chunks/{bundle-DbwlpQTj.js.map → bundle-BTD0sBED.js.map} +1 -1
  212. package/chunks/{bundle-CkgVJjMI.js → bundle-BTkRy0wv.js} +94 -94
  213. package/chunks/{bundle-CkgVJjMI.js.map → bundle-BTkRy0wv.js.map} +1 -1
  214. package/chunks/{bundle-DwApARpe.js → bundle-BWCGFXhj.js} +732 -731
  215. package/chunks/bundle-BWCGFXhj.js.map +1 -0
  216. package/chunks/{bundle-BX_IXLSp.js → bundle-BWuyd0AD.js} +37 -37
  217. package/chunks/bundle-BWuyd0AD.js.map +1 -0
  218. package/chunks/{bundle-DOG83iYO.js → bundle-BZd5IHBF.js} +83 -83
  219. package/chunks/{bundle-DOG83iYO.js.map → bundle-BZd5IHBF.js.map} +1 -1
  220. package/chunks/{bundle-BiINvVSK.js → bundle-B__zC9zD.js} +131 -132
  221. package/chunks/{bundle-DBBVxbFA.js.map → bundle-B__zC9zD.js.map} +1 -1
  222. package/chunks/bundle-BbWD2VuS.js +93 -0
  223. package/chunks/bundle-BbWD2VuS.js.map +1 -0
  224. package/chunks/{bundle-CDnCdfIC.js → bundle-Bi8Wfc2I.js} +1326 -1327
  225. package/chunks/{bundle-CDnCdfIC.js.map → bundle-Bi8Wfc2I.js.map} +1 -1
  226. package/chunks/{bundle-BcKA_SAt.js → bundle-BjrRhdgd.js} +258 -258
  227. package/chunks/{bundle-BcKA_SAt.js.map → bundle-BjrRhdgd.js.map} +1 -1
  228. package/chunks/{bundle-CYXIQgUE.js → bundle-BmTGlIgs.js} +920 -923
  229. package/chunks/{bundle-CYXIQgUE.js.map → bundle-BmTGlIgs.js.map} +1 -1
  230. package/chunks/{bundle-BhkcPTQE.js → bundle-BtY8jyVv.js} +26 -26
  231. package/chunks/{bundle-BhkcPTQE.js.map → bundle-BtY8jyVv.js.map} +1 -1
  232. package/chunks/{bundle-C3K7W_E-.js → bundle-BvG71y_P.js} +31 -31
  233. package/chunks/bundle-BvG71y_P.js.map +1 -0
  234. package/chunks/{bundle-DS5ljghe.js → bundle-BvaqGh4L.js} +5 -5
  235. package/chunks/bundle-BvaqGh4L.js.map +1 -0
  236. package/chunks/{bundle-tIPAQa1P.js → bundle-Bx5vhTbU.js} +11 -11
  237. package/chunks/bundle-Bx5vhTbU.js.map +1 -0
  238. package/chunks/{bundle-DkspvEHK.js → bundle-Byig85JJ.js} +185 -185
  239. package/chunks/{bundle-DkspvEHK.js.map → bundle-Byig85JJ.js.map} +1 -1
  240. package/chunks/bundle-BymWz1lX.js +30 -0
  241. package/chunks/bundle-BymWz1lX.js.map +1 -0
  242. package/chunks/{bundle-DZl__KhG.js → bundle-ByvmbZD0.js} +36 -29
  243. package/chunks/bundle-ByvmbZD0.js.map +1 -0
  244. package/chunks/{bundle-DZie-lCF.js → bundle-C040958G.js} +2 -2
  245. package/chunks/{bundle-DZie-lCF.js.map → bundle-C040958G.js.map} +1 -1
  246. package/chunks/{bundle-Danvz0zD.js → bundle-C1ds4cil.js} +1 -1
  247. package/chunks/{bundle-Danvz0zD.js.map → bundle-C1ds4cil.js.map} +1 -1
  248. package/chunks/{bundle-D4x1_hkl.js → bundle-C1hw1sij.js} +26 -26
  249. package/chunks/bundle-C1hw1sij.js.map +1 -0
  250. package/chunks/bundle-C4Z-NWqF.js +279 -0
  251. package/chunks/bundle-C4Z-NWqF.js.map +1 -0
  252. package/chunks/{bundle-BLGMGsvT.js → bundle-C8im5l9B.js} +234 -234
  253. package/chunks/{bundle-BLGMGsvT.js.map → bundle-C8im5l9B.js.map} +1 -1
  254. package/chunks/{bundle-Dc7E6GJc.js → bundle-CD9AzC6s.js} +35 -35
  255. package/chunks/bundle-CD9AzC6s.js.map +1 -0
  256. package/chunks/{bundle-DpCn3P9s.js → bundle-CDwtSJbC.js} +210 -206
  257. package/chunks/{bundle-CwHpV2cp.js.map → bundle-CDwtSJbC.js.map} +1 -1
  258. package/chunks/{bundle-BbusXHy3.js → bundle-CIwVkd-E.js} +234 -234
  259. package/chunks/{bundle-BbusXHy3.js.map → bundle-CIwVkd-E.js.map} +1 -1
  260. package/chunks/{bundle-B9sTU4LX.js → bundle-CJk_QDUV.js} +58 -58
  261. package/chunks/bundle-CJk_QDUV.js.map +1 -0
  262. package/chunks/{bundle-BPvfVEd8.js → bundle-CNJMLyGJ.js} +61 -61
  263. package/chunks/bundle-CNJMLyGJ.js.map +1 -0
  264. package/chunks/{bundle-CUd4X5O2.js → bundle-CT8ZXUi2.js} +12 -12
  265. package/chunks/bundle-CT8ZXUi2.js.map +1 -0
  266. package/chunks/{bundle-Bf6VvPhp.js → bundle-C_Vyt_ii.js} +25 -25
  267. package/chunks/bundle-C_Vyt_ii.js.map +1 -0
  268. package/chunks/{bundle-Bkbg_RQ-.js → bundle-CaaUNO3F.js} +2 -2
  269. package/chunks/{bundle-Bkbg_RQ-.js.map → bundle-CaaUNO3F.js.map} +1 -1
  270. package/chunks/{bundle-DL_Xts3y.js → bundle-Ci146LvO.js} +370 -368
  271. package/chunks/{bundle-DL_Xts3y.js.map → bundle-Ci146LvO.js.map} +1 -1
  272. package/chunks/{bundle-fxTywxQ4.js → bundle-Clhqc2C_.js} +6 -6
  273. package/chunks/bundle-Clhqc2C_.js.map +1 -0
  274. package/chunks/{bundle-B7J4Fm0y.js → bundle-D2i2ti1U.js} +36 -36
  275. package/chunks/bundle-D2i2ti1U.js.map +1 -0
  276. package/chunks/{bundle-CY2Lga-4.js → bundle-DDhhxSv0.js} +64 -65
  277. package/chunks/bundle-DDhhxSv0.js.map +1 -0
  278. package/chunks/{bundle-DWW0XPV9.js → bundle-DDkUg3Os.js} +118 -118
  279. package/chunks/{bundle-DWW0XPV9.js.map → bundle-DDkUg3Os.js.map} +1 -1
  280. package/chunks/{bundle-Otcx8Wxy.js → bundle-DJTSztr0.js} +124 -124
  281. package/chunks/bundle-DJTSztr0.js.map +1 -0
  282. package/chunks/{bundle-WmbZYtqM.js → bundle-DNMURwG9.js} +120 -120
  283. package/chunks/bundle-DNMURwG9.js.map +1 -0
  284. package/chunks/{bundle-B_fxVgAX.js → bundle-DO1vNias.js} +244 -244
  285. package/chunks/{bundle-B_fxVgAX.js.map → bundle-DO1vNias.js.map} +1 -1
  286. package/chunks/{bundle-D5lQwKgM.js → bundle-DQ2q-zNM.js} +1 -1
  287. package/chunks/bundle-DQ2q-zNM.js.map +1 -0
  288. package/chunks/{bundle-5yHWoLVJ.js → bundle-DQFIz2Zf.js} +11 -11
  289. package/chunks/bundle-DQFIz2Zf.js.map +1 -0
  290. package/chunks/{bundle-DpkEqNiD.js → bundle-DSOf9RKe.js} +1 -1
  291. package/chunks/bundle-DSOf9RKe.js.map +1 -0
  292. package/chunks/{bundle-BOUVMTAt.js → bundle-DThbnyZd.js} +25 -25
  293. package/chunks/bundle-DThbnyZd.js.map +1 -0
  294. package/chunks/{bundle-CwHpV2cp.js → bundle-DXCQovsu.js} +213 -213
  295. package/{cjs/chunks/bundle-66eVSkB5.js.map → chunks/bundle-DXCQovsu.js.map} +1 -1
  296. package/chunks/{bundle-BmFbOU4C.js → bundle-D_eJq5Xk.js} +12 -12
  297. package/chunks/bundle-D_eJq5Xk.js.map +1 -0
  298. package/chunks/{bundle-CXxeDfXV.js → bundle-DaAoUDJk.js} +164 -164
  299. package/chunks/{bundle-CXxeDfXV.js.map → bundle-DaAoUDJk.js.map} +1 -1
  300. package/chunks/{bundle-CMZVPZeM.js → bundle-DaoHZIZy.js} +51 -51
  301. package/chunks/bundle-DaoHZIZy.js.map +1 -0
  302. package/chunks/{bundle-BlK-fMQm.js → bundle-Diqj6For.js} +71 -71
  303. package/chunks/bundle-Diqj6For.js.map +1 -0
  304. package/chunks/{bundle-CKf9oBLV.js → bundle-DlfN5GTa.js} +160 -160
  305. package/chunks/{bundle-CKf9oBLV.js.map → bundle-DlfN5GTa.js.map} +1 -1
  306. package/chunks/{bundle-BPj0X5TA.js → bundle-DmYqVYeD.js} +6 -6
  307. package/chunks/bundle-DmYqVYeD.js.map +1 -0
  308. package/chunks/{bundle-DBBVxbFA.js → bundle-DpGWywZ5.js} +138 -138
  309. package/chunks/bundle-DpGWywZ5.js.map +1 -0
  310. package/chunks/{bundle-BPbwxMIx.js → bundle-DzxiMlgV.js} +11 -12
  311. package/chunks/bundle-DzxiMlgV.js.map +1 -0
  312. package/chunks/{bundle-BwJTKHEl.js → bundle-Gx0ryc_f.js} +72 -72
  313. package/chunks/bundle-Gx0ryc_f.js.map +1 -0
  314. package/chunks/{bundle-BMPm6lKq.js → bundle-HoQqraNc.js} +23 -23
  315. package/chunks/bundle-HoQqraNc.js.map +1 -0
  316. package/chunks/{bundle-CllFAkeZ.js → bundle-IGQYX_K1.js} +152 -1079
  317. package/chunks/bundle-IGQYX_K1.js.map +1 -0
  318. package/chunks/{bundle-DfhJ_oFZ.js → bundle-Jir4hfa9.js} +13 -13
  319. package/chunks/bundle-Jir4hfa9.js.map +1 -0
  320. package/chunks/{bundle-Dk211z5R.js → bundle-LYAWKk4n.js} +78 -79
  321. package/chunks/bundle-LYAWKk4n.js.map +1 -0
  322. package/chunks/{bundle-OIgXk-TJ.js → bundle-QxUVt4Ms.js} +15 -15
  323. package/chunks/bundle-QxUVt4Ms.js.map +1 -0
  324. package/chunks/{bundle-C2A3dCIs.js → bundle-ZsYMd8JA.js} +192 -185
  325. package/chunks/{bundle-C2A3dCIs.js.map → bundle-ZsYMd8JA.js.map} +1 -1
  326. package/chunks/{bundle-BKCDSKx6.js → bundle-_-vntp1z.js} +28 -28
  327. package/chunks/bundle-_-vntp1z.js.map +1 -0
  328. package/chunks/{bundle-BzYv4x2T.js → bundle-afCfXO2C.js} +22 -22
  329. package/chunks/bundle-afCfXO2C.js.map +1 -0
  330. package/chunks/{bundle-D4rjbjNv.js → bundle-dC3DwujZ.js} +18 -18
  331. package/chunks/bundle-dC3DwujZ.js.map +1 -0
  332. package/chunks/{bundle-CUDCHaXM.js → bundle-fRP_rTVb.js} +75 -74
  333. package/chunks/bundle-fRP_rTVb.js.map +1 -0
  334. package/chunks/{bundle-Dzm909k5.js → bundle-h3a36twH.js} +48 -48
  335. package/chunks/bundle-h3a36twH.js.map +1 -0
  336. package/chunks/{bundle-XogVJY7Q.js → bundle-k3XccyCm.js} +333 -333
  337. package/chunks/{bundle-XogVJY7Q.js.map → bundle-k3XccyCm.js.map} +1 -1
  338. package/chunks/{bundle-Y3Y435SA.js → bundle-oCSRGy9i.js} +29 -29
  339. package/chunks/bundle-oCSRGy9i.js.map +1 -0
  340. package/chunks/{bundle-BLMDgHS-.js → bundle-uBJzoaNT.js} +82 -82
  341. package/chunks/bundle-uBJzoaNT.js.map +1 -0
  342. package/chunks/{bundle-BKTUnkiE.js → bundle-yZ1rqvSQ.js} +3 -3
  343. package/chunks/{bundle-BKTUnkiE.js.map → bundle-yZ1rqvSQ.js.map} +1 -1
  344. package/cjs/App.js +377 -378
  345. package/cjs/App.js.map +1 -1
  346. package/cjs/Channel/components/ChannelHeader.js +36 -34
  347. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  348. package/cjs/Channel/components/ChannelUI.js +74 -74
  349. package/cjs/Channel/components/FileViewer.js +37 -33
  350. package/cjs/Channel/components/FileViewer.js.map +1 -1
  351. package/cjs/Channel/components/FrozenNotification.js +5 -5
  352. package/cjs/Channel/components/Message.js +80 -81
  353. package/cjs/Channel/components/Message.js.map +1 -1
  354. package/cjs/Channel/components/MessageInput.js +72 -70
  355. package/cjs/Channel/components/MessageInput.js.map +1 -1
  356. package/cjs/Channel/components/MessageInputWrapper.js +45 -43
  357. package/cjs/Channel/components/MessageInputWrapper.js.map +1 -1
  358. package/cjs/Channel/components/MessageList.js +249 -250
  359. package/cjs/Channel/components/MessageList.js.map +1 -1
  360. package/cjs/Channel/components/RemoveMessageModal.js +38 -33
  361. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  362. package/cjs/Channel/components/SuggestedMentionList.js +29 -30
  363. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  364. package/cjs/Channel/components/TypingIndicator.js +6 -6
  365. package/cjs/Channel/components/UnreadCount.js +7 -7
  366. package/cjs/Channel/context.js +1453 -1453
  367. package/cjs/Channel/hooks/useHandleUploadFiles.js +125 -120
  368. package/cjs/Channel/hooks/useHandleUploadFiles.js.map +1 -1
  369. package/cjs/Channel/hooks/useInitialMessagesFetch.js +6 -6
  370. package/cjs/Channel/utils/compareMessagesForGrouping.js +50 -51
  371. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  372. package/cjs/Channel/utils/getMessagePartsInfo.js +26 -27
  373. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  374. package/cjs/Channel.js +71 -71
  375. package/cjs/ChannelList/components/AddChannel.js +29 -26
  376. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  377. package/cjs/ChannelList/components/ChannelListHeader.js +13 -8
  378. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  379. package/cjs/ChannelList/components/ChannelListUI.js +109 -106
  380. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  381. package/cjs/ChannelList/components/ChannelPreview.js +43 -38
  382. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  383. package/cjs/ChannelList/components/ChannelPreviewAction.js +16 -12
  384. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  385. package/cjs/ChannelList/context.js +9 -10
  386. package/cjs/ChannelList/context.js.map +1 -1
  387. package/cjs/ChannelList.js +43 -40
  388. package/cjs/ChannelList.js.map +1 -1
  389. package/cjs/ChannelSettings/components/ChannelProfile.js +57 -47
  390. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  391. package/cjs/ChannelSettings/components/ChannelSettingsHeader.js +23 -20
  392. package/cjs/ChannelSettings/components/ChannelSettingsHeader.js.map +1 -1
  393. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +78 -75
  394. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  395. package/cjs/ChannelSettings/components/EditDetailsModal.js +90 -80
  396. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  397. package/cjs/ChannelSettings/components/LeaveChannel.js +63 -53
  398. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  399. package/cjs/ChannelSettings/components/ModerationPanel.js +447 -445
  400. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  401. package/cjs/ChannelSettings/components/UserListItem.js +49 -49
  402. package/cjs/ChannelSettings/components/UserPanel.js +47 -45
  403. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  404. package/cjs/ChannelSettings/context.js +105 -105
  405. package/cjs/ChannelSettings.js +35 -32
  406. package/cjs/ChannelSettings.js.map +1 -1
  407. package/cjs/CreateChannel/components/CreateChannelUI.js +33 -29
  408. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  409. package/cjs/CreateChannel/components/InviteUsers.js +143 -139
  410. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  411. package/cjs/CreateChannel/components/SelectChannelType.js +76 -65
  412. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  413. package/cjs/CreateChannel/context.js +4 -4
  414. package/cjs/CreateChannel.js +27 -23
  415. package/cjs/CreateChannel.js.map +1 -1
  416. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +63 -52
  417. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  418. package/cjs/CreateOpenChannel/context.js +41 -41
  419. package/cjs/CreateOpenChannel.js +28 -17
  420. package/cjs/CreateOpenChannel.js.map +1 -1
  421. package/cjs/EditUserProfile/components/EditUserProfileUI.js +110 -99
  422. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  423. package/cjs/EditUserProfile/context.js +12 -12
  424. package/cjs/EditUserProfile.js +27 -16
  425. package/cjs/EditUserProfile.js.map +1 -1
  426. package/cjs/GroupChannel/components/FileViewer.js +62 -58
  427. package/cjs/GroupChannel/components/FileViewer.js.map +1 -1
  428. package/cjs/GroupChannel/components/FrozenNotification.js +10 -10
  429. package/cjs/GroupChannel/components/GroupChannelHeader.js +30 -28
  430. package/cjs/GroupChannel/components/GroupChannelHeader.js.map +1 -1
  431. package/cjs/GroupChannel/components/GroupChannelUI.js +68 -68
  432. package/cjs/GroupChannel/components/Message.js +66 -77
  433. package/cjs/GroupChannel/components/Message.js.map +1 -1
  434. package/cjs/GroupChannel/components/MessageInputWrapper.js +62 -61
  435. package/cjs/GroupChannel/components/MessageInputWrapper.js.map +1 -1
  436. package/cjs/GroupChannel/components/MessageList.js +154 -155
  437. package/cjs/GroupChannel/components/MessageList.js.map +1 -1
  438. package/cjs/GroupChannel/components/RemoveMessageModal.js +32 -27
  439. package/cjs/GroupChannel/components/RemoveMessageModal.js.map +1 -1
  440. package/cjs/GroupChannel/components/SuggestedMentionList.js +14 -14
  441. package/cjs/GroupChannel/components/SuggestedReplies.js +15 -14
  442. package/cjs/GroupChannel/components/SuggestedReplies.js.map +1 -1
  443. package/cjs/GroupChannel/components/TypingIndicator.js +59 -59
  444. package/cjs/GroupChannel/components/UnreadCount.js +26 -26
  445. package/cjs/GroupChannel/context.js +568 -568
  446. package/cjs/GroupChannel.js +65 -65
  447. package/cjs/GroupChannelList/components/AddGroupChannel.js +30 -27
  448. package/cjs/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  449. package/cjs/GroupChannelList/components/GroupChannelListHeader.js +34 -28
  450. package/cjs/GroupChannelList/components/GroupChannelListHeader.js.map +1 -1
  451. package/cjs/GroupChannelList/components/GroupChannelListItem.js +39 -35
  452. package/cjs/GroupChannelList/components/GroupChannelListItem.js.map +1 -1
  453. package/cjs/GroupChannelList/components/GroupChannelListUI.js +86 -83
  454. package/cjs/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  455. package/cjs/GroupChannelList/components/GroupChannelPreviewAction.js +48 -44
  456. package/cjs/GroupChannelList/components/GroupChannelPreviewAction.js.map +1 -1
  457. package/cjs/GroupChannelList/context.js +81 -97
  458. package/cjs/GroupChannelList/context.js.map +1 -1
  459. package/cjs/GroupChannelList.js +43 -40
  460. package/cjs/GroupChannelList.js.map +1 -1
  461. package/cjs/Message/context.js +21 -21
  462. package/cjs/Message/hooks/useDirtyGetMentions.js +52 -52
  463. package/cjs/MessageSearch/components/MessageSearchUI.js +71 -72
  464. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  465. package/cjs/MessageSearch/context.js +247 -247
  466. package/cjs/MessageSearch.js +59 -59
  467. package/cjs/OpenChannel/components/FrozenChannelNotification.js +9 -9
  468. package/cjs/OpenChannel/components/OpenChannelHeader.js +43 -38
  469. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  470. package/cjs/OpenChannel/components/OpenChannelInput.js +47 -45
  471. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  472. package/cjs/OpenChannel/components/OpenChannelMessage.js +158 -157
  473. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  474. package/cjs/OpenChannel/components/OpenChannelMessageList.js +95 -94
  475. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  476. package/cjs/OpenChannel/components/OpenChannelUI.js +71 -70
  477. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  478. package/cjs/OpenChannel/context.js +23 -18
  479. package/cjs/OpenChannel/context.js.map +1 -1
  480. package/cjs/OpenChannel.js +44 -43
  481. package/cjs/OpenChannel.js.map +1 -1
  482. package/cjs/OpenChannelList/components/OpenChannelListUI.js +102 -92
  483. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  484. package/cjs/OpenChannelList/components/OpenChannelPreview.js +20 -20
  485. package/cjs/OpenChannelList/context.js +3 -3
  486. package/cjs/OpenChannelList.js +34 -24
  487. package/cjs/OpenChannelList.js.map +1 -1
  488. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +82 -73
  489. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  490. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +47 -38
  491. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  492. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +61 -57
  493. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  494. package/cjs/OpenChannelSettings/components/OperatorUI.js +454 -450
  495. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  496. package/cjs/OpenChannelSettings/components/ParticipantUI.js +21 -17
  497. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  498. package/cjs/OpenChannelSettings/context.js +114 -114
  499. package/cjs/OpenChannelSettings.js +29 -25
  500. package/cjs/OpenChannelSettings.js.map +1 -1
  501. package/cjs/SendbirdProvider.js +1139 -1183
  502. package/cjs/SendbirdProvider.js.map +1 -1
  503. package/cjs/Thread/components/ParentMessageInfo.js +240 -239
  504. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  505. package/cjs/Thread/components/ParentMessageInfoItem.js +148 -148
  506. package/cjs/Thread/components/ThreadHeader.js +22 -25
  507. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  508. package/cjs/Thread/components/ThreadList.js +122 -122
  509. package/cjs/Thread/components/ThreadListItem.js +341 -340
  510. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  511. package/cjs/Thread/components/ThreadMessageInput.js +167 -165
  512. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  513. package/cjs/Thread/components/ThreadUI.js +207 -207
  514. package/cjs/Thread/context/types.js +21 -21
  515. package/cjs/Thread/context.js +1283 -1281
  516. package/cjs/Thread/context.js.map +1 -1
  517. package/cjs/Thread.js +73 -73
  518. package/cjs/VoicePlayer/context.js +3 -3
  519. package/cjs/VoicePlayer/useVoicePlayer.js +68 -60
  520. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  521. package/cjs/VoiceRecorder/context.js +25 -127
  522. package/cjs/VoiceRecorder/context.js.map +1 -1
  523. package/cjs/VoiceRecorder/useVoiceRecorder.js +105 -96
  524. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  525. package/cjs/chunks/{bundle-BRjBigtB.js → bundle-1XtsxT8L.js} +10 -10
  526. package/cjs/chunks/bundle-1XtsxT8L.js.map +1 -0
  527. package/cjs/chunks/{bundle-CVSpiKNJ.js → bundle-4vdy6J5u.js} +17 -17
  528. package/cjs/chunks/bundle-4vdy6J5u.js.map +1 -0
  529. package/cjs/chunks/{bundle-BuYf2Pa8.js → bundle-5_kPn4wU.js} +77 -79
  530. package/cjs/chunks/bundle-5_kPn4wU.js.map +1 -0
  531. package/cjs/chunks/{bundle-ByBh6M0g.js → bundle-7UHC8ujA.js} +94 -94
  532. package/cjs/chunks/bundle-7UHC8ujA.js.map +1 -0
  533. package/cjs/chunks/{bundle-DessEmBr.js → bundle-8VyIP0TE.js} +1 -1
  534. package/cjs/chunks/bundle-8VyIP0TE.js.map +1 -0
  535. package/cjs/chunks/{bundle-C80RIOub.js → bundle-B-olJv7b.js} +1326 -1327
  536. package/cjs/chunks/{bundle-C80RIOub.js.map → bundle-B-olJv7b.js.map} +1 -1
  537. package/cjs/chunks/{bundle-DBdGwyXE.js → bundle-B31bbem0.js} +192 -185
  538. package/cjs/chunks/bundle-B31bbem0.js.map +1 -0
  539. package/cjs/chunks/{bundle-CFWumCsy.js → bundle-BBoPpUMg.js} +22 -22
  540. package/cjs/chunks/bundle-BBoPpUMg.js.map +1 -0
  541. package/cjs/chunks/{bundle-C0LFi1ur.js → bundle-BLc7P6Sp.js} +244 -244
  542. package/cjs/chunks/bundle-BLc7P6Sp.js.map +1 -0
  543. package/cjs/chunks/{bundle-XEpryGfs.js → bundle-BOkZUm8a.js} +27 -27
  544. package/cjs/chunks/bundle-BOkZUm8a.js.map +1 -0
  545. package/cjs/chunks/{bundle-BiXN0Ylc.js → bundle-BSAWCcb_.js} +920 -923
  546. package/cjs/chunks/{bundle-BiXN0Ylc.js.map → bundle-BSAWCcb_.js.map} +1 -1
  547. package/cjs/chunks/bundle-BTU876jx.js +95 -0
  548. package/cjs/chunks/{bundle-BRUrQgUE.js.map → bundle-BTU876jx.js.map} +1 -1
  549. package/cjs/chunks/{bundle-BRUrQgUE.js → bundle-BTod-EOk.js} +83 -83
  550. package/cjs/chunks/bundle-BTod-EOk.js.map +1 -0
  551. package/cjs/chunks/{bundle-BwvM-P29.js → bundle-BWGOXLHb.js} +1 -1
  552. package/cjs/chunks/{bundle-BwvM-P29.js.map → bundle-BWGOXLHb.js.map} +1 -1
  553. package/cjs/chunks/{bundle-DbS-u43Y.js → bundle-BXEGf4g2.js} +164 -164
  554. package/cjs/chunks/bundle-BXEGf4g2.js.map +1 -0
  555. package/cjs/chunks/{bundle-juHuQ6-V.js → bundle-B_51Svr9.js} +3 -3
  556. package/cjs/chunks/{bundle-juHuQ6-V.js.map → bundle-B_51Svr9.js.map} +1 -1
  557. package/cjs/chunks/{bundle-DdSNUhSn.js → bundle-BaAUvjl9.js} +6 -6
  558. package/cjs/chunks/bundle-BaAUvjl9.js.map +1 -0
  559. package/cjs/chunks/{bundle-D3tBia0F.js → bundle-BaM5Ed34.js} +160 -160
  560. package/cjs/chunks/{bundle-D3tBia0F.js.map → bundle-BaM5Ed34.js.map} +1 -1
  561. package/cjs/chunks/{bundle-CZObcUAk.js → bundle-BaQc9oOW.js} +29 -29
  562. package/cjs/chunks/bundle-BaQc9oOW.js.map +1 -0
  563. package/cjs/chunks/{bundle-pZbKLQPU.js → bundle-BhCAlWKP.js} +11 -11
  564. package/cjs/chunks/bundle-BhCAlWKP.js.map +1 -0
  565. package/cjs/chunks/{bundle-B3N7ehMH.js → bundle-Bi-soOXA.js} +258 -258
  566. package/cjs/chunks/bundle-Bi-soOXA.js.map +1 -0
  567. package/cjs/chunks/{bundle-D8-ob9Ia.js → bundle-BjgfoBVC.js} +26 -26
  568. package/cjs/chunks/bundle-BjgfoBVC.js.map +1 -0
  569. package/cjs/chunks/{bundle-BDbnsPGF.js → bundle-BoLhr7Ko.js} +36 -28
  570. package/cjs/chunks/bundle-BoLhr7Ko.js.map +1 -0
  571. package/cjs/chunks/{bundle-D5AiwZE4.js → bundle-BrNoc2XZ.js} +185 -185
  572. package/cjs/chunks/bundle-BrNoc2XZ.js.map +1 -0
  573. package/cjs/chunks/{bundle-BwEcnJDm.js → bundle-BwQ4BJif.js} +71 -71
  574. package/cjs/chunks/bundle-BwQ4BJif.js.map +1 -0
  575. package/cjs/chunks/{bundle-GtlapnzG.js → bundle-ByyccRIt.js} +210 -206
  576. package/cjs/chunks/{bundle-DvWHV-PM.js.map → bundle-ByyccRIt.js.map} +1 -1
  577. package/cjs/chunks/{bundle-Dn17aH6v.js → bundle-C1XVsHlE.js} +51 -51
  578. package/cjs/chunks/bundle-C1XVsHlE.js.map +1 -0
  579. package/cjs/chunks/{bundle-Df0cAbH6.js → bundle-C3DKUT4Q.js} +26 -26
  580. package/cjs/chunks/bundle-C3DKUT4Q.js.map +1 -0
  581. package/cjs/chunks/{bundle-ZuDe6I0q.js → bundle-C3RFfU6_.js} +89 -89
  582. package/cjs/chunks/bundle-C3RFfU6_.js.map +1 -0
  583. package/cjs/chunks/{bundle-C8aAwUsg.js → bundle-C51HeaX4.js} +25 -25
  584. package/cjs/chunks/bundle-C51HeaX4.js.map +1 -0
  585. package/cjs/chunks/{bundle-D9hSjP4_.js → bundle-C6a-umLQ.js} +131 -132
  586. package/{chunks/bundle-BiINvVSK.js.map → cjs/chunks/bundle-C6a-umLQ.js.map} +1 -1
  587. package/cjs/chunks/{bundle-C-zGGOpz.js → bundle-C93-onMF.js} +12 -12
  588. package/cjs/chunks/bundle-C93-onMF.js.map +1 -0
  589. package/cjs/chunks/{bundle-C7_tieEZ.js → bundle-CAUMYdVU.js} +19 -19
  590. package/cjs/chunks/bundle-CAUMYdVU.js.map +1 -0
  591. package/cjs/chunks/{bundle-Djp6Qheo.js → bundle-CDIVI7bT.js} +146 -1073
  592. package/cjs/chunks/bundle-CDIVI7bT.js.map +1 -0
  593. package/cjs/chunks/{bundle-u8pJrzSP.js → bundle-CE6bFQmu.js} +118 -118
  594. package/cjs/chunks/bundle-CE6bFQmu.js.map +1 -0
  595. package/cjs/chunks/{bundle-SdH24Cv9.js → bundle-CLOaQmX9.js} +138 -138
  596. package/cjs/chunks/bundle-CLOaQmX9.js.map +1 -0
  597. package/cjs/chunks/{bundle-7zHCY6TY.js → bundle-CQ34zxiR.js} +36 -36
  598. package/cjs/chunks/bundle-CQ34zxiR.js.map +1 -0
  599. package/cjs/chunks/{bundle-B6uiunjG.js → bundle-CR04Yhbr.js} +8 -8
  600. package/cjs/chunks/bundle-CR04Yhbr.js.map +1 -0
  601. package/cjs/chunks/bundle-CZfcXYaX.js +292 -0
  602. package/cjs/chunks/bundle-CZfcXYaX.js.map +1 -0
  603. package/cjs/chunks/{bundle-66eVSkB5.js → bundle-Cgl5e8xs.js} +213 -213
  604. package/cjs/chunks/bundle-Cgl5e8xs.js.map +1 -0
  605. package/cjs/chunks/{bundle-BoCS4RH3.js → bundle-CmpLg1_S.js} +15 -15
  606. package/cjs/chunks/bundle-CmpLg1_S.js.map +1 -0
  607. package/cjs/chunks/{bundle-DsKL-Ede.js → bundle-Com-Z-XI.js} +82 -82
  608. package/cjs/chunks/bundle-Com-Z-XI.js.map +1 -0
  609. package/cjs/chunks/{bundle-BrD0IuOc.js → bundle-CsJKON_3.js} +120 -120
  610. package/cjs/chunks/bundle-CsJKON_3.js.map +1 -0
  611. package/cjs/chunks/{bundle-B6hKU81Z.js → bundle-D-qAbZhp.js} +48 -48
  612. package/cjs/chunks/bundle-D-qAbZhp.js.map +1 -0
  613. package/cjs/chunks/{bundle-DPoAoYEl.js → bundle-D4aDRH9m.js} +1 -1
  614. package/cjs/chunks/bundle-D4aDRH9m.js.map +1 -0
  615. package/cjs/chunks/{bundle-BF3NYKgh.js → bundle-D6E8Fmnl.js} +333 -333
  616. package/cjs/chunks/{bundle-BF3NYKgh.js.map → bundle-D6E8Fmnl.js.map} +1 -1
  617. package/cjs/chunks/{bundle-q2tBQOdq.js → bundle-D8gia2Hg.js} +11 -12
  618. package/cjs/chunks/bundle-D8gia2Hg.js.map +1 -0
  619. package/cjs/chunks/{bundle-IVTygAtE.js → bundle-DAIf7fWo.js} +28 -28
  620. package/cjs/chunks/bundle-DAIf7fWo.js.map +1 -0
  621. package/cjs/chunks/{bundle-BmEl3iIW.js → bundle-DAj-1QVM.js} +2 -2
  622. package/cjs/chunks/{bundle-BmEl3iIW.js.map → bundle-DAj-1QVM.js.map} +1 -1
  623. package/cjs/chunks/{bundle-DI-qrtXL.js → bundle-DAxedY0T.js} +23 -23
  624. package/cjs/chunks/bundle-DAxedY0T.js.map +1 -0
  625. package/cjs/chunks/{bundle-DR-T3oW9.js → bundle-DMGpM9Ye.js} +370 -368
  626. package/cjs/chunks/{bundle-DR-T3oW9.js.map → bundle-DMGpM9Ye.js.map} +1 -1
  627. package/cjs/chunks/{bundle-BzR58JaC.js → bundle-DQy218lT.js} +31 -31
  628. package/cjs/chunks/bundle-DQy218lT.js.map +1 -0
  629. package/cjs/chunks/{bundle-BJBClQcM.js → bundle-DRp9IuV2.js} +28 -28
  630. package/cjs/chunks/bundle-DRp9IuV2.js.map +1 -0
  631. package/cjs/chunks/{bundle-DbykvtHO.js → bundle-DRy7eNJ0.js} +11 -11
  632. package/cjs/chunks/bundle-DRy7eNJ0.js.map +1 -0
  633. package/cjs/chunks/{bundle-ChIhNCh1.js → bundle-DTCz0BH1.js} +161 -162
  634. package/cjs/chunks/bundle-DTCz0BH1.js.map +1 -0
  635. package/cjs/chunks/{bundle-DDmTdnuT.js → bundle-DcSTnNI0.js} +64 -65
  636. package/cjs/chunks/bundle-DcSTnNI0.js.map +1 -0
  637. package/cjs/chunks/{bundle-DIxulCCm.js → bundle-DdxJqNSP.js} +1 -1
  638. package/cjs/chunks/bundle-DdxJqNSP.js.map +1 -0
  639. package/cjs/chunks/{bundle-t1Tb_Gz2.js → bundle-DeQZn8GZ.js} +75 -74
  640. package/cjs/chunks/bundle-DeQZn8GZ.js.map +1 -0
  641. package/cjs/chunks/{bundle-0W_w8lRK.js → bundle-Dehhi1FZ.js} +37 -37
  642. package/cjs/chunks/bundle-Dehhi1FZ.js.map +1 -0
  643. package/cjs/chunks/{bundle-DnXNmdmw.js → bundle-DfcEln0Z.js} +34 -34
  644. package/cjs/chunks/bundle-DfcEln0Z.js.map +1 -0
  645. package/cjs/chunks/bundle-DmX69_-l.js +32 -0
  646. package/cjs/chunks/bundle-DmX69_-l.js.map +1 -0
  647. package/cjs/chunks/{bundle-DLdV8LNR.js → bundle-Dnq2YP_l.js} +6 -6
  648. package/cjs/chunks/bundle-Dnq2YP_l.js.map +1 -0
  649. package/cjs/chunks/{bundle-C-gA8UhR.js → bundle-Dww6fCVQ.js} +13 -13
  650. package/cjs/chunks/bundle-Dww6fCVQ.js.map +1 -0
  651. package/cjs/chunks/{bundle-oUs61pbv.js → bundle-DxSB9NRz.js} +61 -61
  652. package/cjs/chunks/bundle-DxSB9NRz.js.map +1 -0
  653. package/cjs/chunks/{bundle-CY1bUkfG.js → bundle-HGbi-rCv.js} +1 -1
  654. package/cjs/chunks/bundle-HGbi-rCv.js.map +1 -0
  655. package/cjs/chunks/{bundle-DYZo-ek9.js → bundle-JtgSY0zB.js} +58 -58
  656. package/cjs/chunks/bundle-JtgSY0zB.js.map +1 -0
  657. package/cjs/chunks/{bundle-DlPLp6fm.js → bundle-L3FEqZsK.js} +234 -234
  658. package/cjs/chunks/bundle-L3FEqZsK.js.map +1 -0
  659. package/cjs/chunks/{bundle-DHuWzY0s.js → bundle-N_CwOE5a.js} +124 -124
  660. package/cjs/chunks/bundle-N_CwOE5a.js.map +1 -0
  661. package/cjs/chunks/bundle-Q4icQ1qH.js +122 -0
  662. package/{chunks/bundle-CVu64-xY.js.map → cjs/chunks/bundle-Q4icQ1qH.js.map} +1 -1
  663. package/cjs/chunks/{bundle-C-noHeKZ.js → bundle-T4lp5F85.js} +25 -25
  664. package/cjs/chunks/bundle-T4lp5F85.js.map +1 -0
  665. package/cjs/chunks/{bundle-CBmExSEr.js → bundle-Tjx9wNAv.js} +21 -21
  666. package/cjs/chunks/bundle-Tjx9wNAv.js.map +1 -0
  667. package/cjs/chunks/{bundle-CZz2cvTG.js → bundle-X03vJTEw.js} +45 -46
  668. package/cjs/chunks/bundle-X03vJTEw.js.map +1 -0
  669. package/cjs/chunks/{bundle-jkB4LAcp.js → bundle-_ekaw3iI.js} +18 -18
  670. package/cjs/chunks/bundle-_ekaw3iI.js.map +1 -0
  671. package/cjs/chunks/{bundle-CEueJUxG.js → bundle-bqRlVm3u.js} +12 -12
  672. package/cjs/chunks/bundle-bqRlVm3u.js.map +1 -0
  673. package/cjs/chunks/{bundle-DvWHV-PM.js → bundle-gtkPlUrw.js} +234 -234
  674. package/cjs/chunks/bundle-gtkPlUrw.js.map +1 -0
  675. package/cjs/chunks/{bundle-D4pqJjg-.js → bundle-miB6ue8g.js} +72 -72
  676. package/cjs/chunks/bundle-miB6ue8g.js.map +1 -0
  677. package/cjs/chunks/{bundle-E9H8fQL4.js → bundle-oeWNUdCB.js} +11 -11
  678. package/cjs/chunks/bundle-oeWNUdCB.js.map +1 -0
  679. package/cjs/chunks/{bundle-BufWOg42.js → bundle-qI5gnScC.js} +5 -5
  680. package/cjs/chunks/bundle-qI5gnScC.js.map +1 -0
  681. package/cjs/chunks/{bundle--yYCgVRq.js → bundle-wMKhbE3c.js} +2 -2
  682. package/cjs/chunks/{bundle--yYCgVRq.js.map → bundle-wMKhbE3c.js.map} +1 -1
  683. package/cjs/chunks/{bundle-D3Gxy8S0.js → bundle-wl1uuzU7.js} +733 -730
  684. package/cjs/chunks/bundle-wl1uuzU7.js.map +1 -0
  685. package/cjs/handlers/OpenChannelHandler.js +2 -2
  686. package/cjs/handlers/SessionHandler.js +2 -2
  687. package/cjs/hooks/useModal.js +25 -48
  688. package/cjs/hooks/useModal.js.map +1 -1
  689. package/cjs/index.js +80 -81
  690. package/cjs/index.js.map +1 -1
  691. package/cjs/pubSub/topics.js +1 -1
  692. package/cjs/sendbirdSelectors.js +550 -550
  693. package/cjs/ui/Accordion.js +25 -25
  694. package/cjs/ui/AccordionGroup.js +40 -40
  695. package/cjs/ui/AdminMessage.js +13 -13
  696. package/cjs/ui/Avatar.js +4 -4
  697. package/cjs/ui/Badge.js +18 -18
  698. package/cjs/ui/BottomSheet.js +40 -26
  699. package/cjs/ui/BottomSheet.js.map +1 -1
  700. package/cjs/ui/Button.js +41 -41
  701. package/cjs/ui/ChannelAvatar.js +21 -21
  702. package/cjs/ui/Checkbox.js +15 -15
  703. package/cjs/ui/ConnectionStatus.js +11 -11
  704. package/cjs/ui/ContextMenu.js +180 -267
  705. package/cjs/ui/ContextMenu.js.map +1 -1
  706. package/cjs/ui/DateSeparator.js +13 -13
  707. package/cjs/ui/EmojiReactions.js +167 -164
  708. package/cjs/ui/EmojiReactions.js.map +1 -1
  709. package/cjs/ui/FallbackTemplateMessageItemBody.tsx.js +20 -21
  710. package/cjs/ui/FallbackTemplateMessageItemBody.tsx.js.map +1 -1
  711. package/cjs/ui/FeedbackIconButton.js +14 -14
  712. package/cjs/ui/FileMessageItemBody.js +65 -66
  713. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  714. package/cjs/ui/FileViewer.js +23 -17
  715. package/cjs/ui/FileViewer.js.map +1 -1
  716. package/cjs/ui/Header.js +53 -0
  717. package/cjs/ui/Header.js.map +1 -0
  718. package/cjs/ui/Icon.js +844 -964
  719. package/cjs/ui/Icon.js.map +1 -1
  720. package/cjs/ui/IconButton.js +18 -18
  721. package/cjs/ui/ImageRenderer.js +151 -151
  722. package/cjs/ui/Input.js +15 -15
  723. package/cjs/ui/Label.js +4 -4
  724. package/cjs/ui/LinkLabel.js +21 -21
  725. package/cjs/ui/Loader.js +11 -11
  726. package/cjs/ui/LoadingTemplateMessageItemBody.tsx.js +13 -14
  727. package/cjs/ui/LoadingTemplateMessageItemBody.tsx.js.map +1 -1
  728. package/cjs/ui/MentionLabel.js +50 -50
  729. package/cjs/ui/MentionUserLabel.js +4 -4
  730. package/cjs/ui/MessageContent.js +586 -581
  731. package/cjs/ui/MessageContent.js.map +1 -1
  732. package/cjs/ui/MessageFeedbackFailedModal.js +34 -22
  733. package/cjs/ui/MessageFeedbackFailedModal.js.map +1 -1
  734. package/cjs/ui/MessageFeedbackModal.js +66 -54
  735. package/cjs/ui/MessageFeedbackModal.js.map +1 -1
  736. package/cjs/ui/MessageInput/hooks/usePaste.js +7 -7
  737. package/cjs/ui/MessageInput.js +423 -424
  738. package/cjs/ui/MessageInput.js.map +1 -1
  739. package/cjs/ui/MessageItemMenu.js +134 -134
  740. package/cjs/ui/MessageItemReactionMenu.js +42 -42
  741. package/cjs/ui/MessageSearchFileItem.js +77 -78
  742. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  743. package/cjs/ui/MessageSearchItem.js +50 -50
  744. package/cjs/ui/MessageStatus.js +11 -12
  745. package/cjs/ui/MessageStatus.js.map +1 -1
  746. package/cjs/ui/MessageTemplate.js +1 -2
  747. package/cjs/ui/MessageTemplate.js.map +1 -1
  748. package/cjs/ui/MobileFeedbackMenu.js +36 -25
  749. package/cjs/ui/MobileFeedbackMenu.js.map +1 -1
  750. package/cjs/ui/Modal.js +21 -8
  751. package/cjs/ui/Modal.js.map +1 -1
  752. package/cjs/ui/MutedAvatarOverlay.js +14 -14
  753. package/cjs/ui/OGMessageItemBody.js +76 -76
  754. package/cjs/ui/OpenChannelAdminMessage.js +9 -9
  755. package/cjs/ui/OpenChannelAvatar.js +15 -15
  756. package/cjs/ui/OpenchannelConversationHeader.js +22 -22
  757. package/cjs/ui/OpenchannelFileMessage.js +117 -117
  758. package/cjs/ui/OpenchannelOGMessage.js +146 -146
  759. package/cjs/ui/OpenchannelThumbnailMessage.js +155 -155
  760. package/cjs/ui/OpenchannelUserMessage.js +128 -128
  761. package/cjs/ui/PlaceHolder.js +45 -45
  762. package/cjs/ui/PlaybackTime.js +11 -11
  763. package/cjs/ui/ProgressBar.js +12 -12
  764. package/cjs/ui/QuoteMessage.js +69 -70
  765. package/cjs/ui/QuoteMessage.js.map +1 -1
  766. package/cjs/ui/QuoteMessageInput.js +66 -67
  767. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  768. package/cjs/ui/ReactionBadge.js +20 -20
  769. package/cjs/ui/ReactionButton.js +17 -17
  770. package/cjs/ui/SortByRow.js +23 -23
  771. package/cjs/ui/TemplateMessageItemBody.js +423 -424
  772. package/cjs/ui/TemplateMessageItemBody.js.map +1 -1
  773. package/cjs/ui/TextButton.js +9 -9
  774. package/cjs/ui/TextMessageItemBody.js +44 -44
  775. package/cjs/ui/ThreadReplies.js +34 -34
  776. package/cjs/ui/ThumbnailMessageItemBody.js +36 -37
  777. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  778. package/cjs/ui/Toggle.js +110 -110
  779. package/cjs/ui/Tooltip.js +9 -9
  780. package/cjs/ui/TooltipWrapper.js +13 -13
  781. package/cjs/ui/TypingIndicatorBubble.js +56 -56
  782. package/cjs/ui/UnknownMessageItemBody.js +19 -20
  783. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  784. package/cjs/ui/UserListItem.js +56 -56
  785. package/cjs/ui/UserProfile.js +45 -45
  786. package/cjs/ui/VoiceMessageInput.js +9 -9
  787. package/cjs/ui/VoiceMessageItemBody.js +62 -54
  788. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  789. package/cjs/ui/Word.js +41 -41
  790. package/cjs/useSendbirdStateContext.js +15 -15
  791. package/cjs/utils/message/getOutgoingMessageState.js +32 -32
  792. package/cjs/utils/message/isVoiceMessage.js +2 -3
  793. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  794. package/cjs/withSendbird.js +17 -17
  795. package/dist/index.css +195 -169
  796. package/dist/index.css.map +1 -1
  797. package/handlers/OpenChannelHandler.js +2 -2
  798. package/handlers/SessionHandler.js +2 -2
  799. package/hooks/useModal.js +22 -50
  800. package/hooks/useModal.js.map +1 -1
  801. package/index.js +80 -81
  802. package/index.js.map +1 -1
  803. package/package.json +13 -5
  804. package/pubSub/topics.js +1 -1
  805. package/sendbirdSelectors.js +550 -550
  806. package/types/lib/pubSub/topics.d.ts +2 -2
  807. package/types/lib/types.d.ts +50 -15
  808. package/types/modules/App/index.d.ts +17 -10
  809. package/types/modules/Channel/context/ChannelProvider.d.ts +1 -4
  810. package/types/modules/ChannelList/components/ChannelPreviewAction.d.ts +2 -2
  811. package/types/modules/ChannelSettings/components/ChannelSettingsUI/ChannelSettingsHeader.d.ts +4 -3
  812. package/types/modules/GroupChannel/components/FileViewer/FileViewerView.d.ts +2 -2
  813. package/types/modules/GroupChannel/components/GroupChannelHeader/GroupChannelHeaderView.d.ts +3 -2
  814. package/types/modules/GroupChannel/components/GroupChannelHeader/index.d.ts +3 -2
  815. package/types/modules/GroupChannel/components/MessageInputWrapper/MessageInputWrapperView.d.ts +1 -1
  816. package/types/modules/GroupChannel/components/MessageInputWrapper/VoiceMessageInputWrapper.d.ts +2 -2
  817. package/types/modules/GroupChannel/components/MessageInputWrapper/index.d.ts +1 -1
  818. package/types/modules/GroupChannel/components/SuggestedReplies/index.d.ts +3 -1
  819. package/types/modules/GroupChannelList/components/GroupChannelListHeader/index.d.ts +4 -2
  820. package/types/modules/MessageSearch/context/MessageSearchProvider.d.ts +1 -1
  821. package/types/modules/OpenChannelApp/index.d.ts +3 -3
  822. package/types/modules/Thread/components/ThreadHeader/index.d.ts +2 -2
  823. package/types/ui/Header/index.d.ts +45 -0
  824. package/types/ui/Icon/index.d.ts +2 -3
  825. package/types/ui/Label/index.d.ts +3 -4
  826. package/types/ui/MessageInput/hooks/usePaste/consts.d.ts +1 -1
  827. package/types/ui/Modal/index.d.ts +2 -4
  828. package/types/ui/TextButton/index.d.ts +1 -1
  829. package/types/ui/Toggle/ToggleContainer.d.ts +2 -1
  830. package/types/utils/index.d.ts +0 -1
  831. package/types/utils/utils.d.ts +2 -0
  832. package/ui/Accordion.js +25 -25
  833. package/ui/AccordionGroup.js +40 -40
  834. package/ui/AdminMessage.js +13 -13
  835. package/ui/Avatar.js +4 -4
  836. package/ui/Badge.js +18 -18
  837. package/ui/BottomSheet.js +40 -26
  838. package/ui/BottomSheet.js.map +1 -1
  839. package/ui/Button.js +41 -41
  840. package/ui/ChannelAvatar.js +21 -21
  841. package/ui/Checkbox.js +15 -15
  842. package/ui/ConnectionStatus.js +11 -11
  843. package/ui/ContextMenu.js +180 -267
  844. package/ui/ContextMenu.js.map +1 -1
  845. package/ui/DateSeparator.js +13 -13
  846. package/ui/EmojiReactions.js +167 -164
  847. package/ui/EmojiReactions.js.map +1 -1
  848. package/ui/FallbackTemplateMessageItemBody.tsx.js +20 -21
  849. package/ui/FallbackTemplateMessageItemBody.tsx.js.map +1 -1
  850. package/ui/FeedbackIconButton.js +14 -14
  851. package/ui/FileMessageItemBody.js +65 -66
  852. package/ui/FileMessageItemBody.js.map +1 -1
  853. package/ui/FileViewer.js +23 -17
  854. package/ui/FileViewer.js.map +1 -1
  855. package/ui/Header.js +45 -0
  856. package/ui/Header.js.map +1 -0
  857. package/ui/Icon.js +845 -965
  858. package/ui/Icon.js.map +1 -1
  859. package/ui/IconButton.js +18 -18
  860. package/ui/ImageRenderer.js +151 -151
  861. package/ui/Input.js +15 -15
  862. package/ui/Label.js +3 -3
  863. package/ui/LinkLabel.js +21 -21
  864. package/ui/Loader.js +11 -11
  865. package/ui/LoadingTemplateMessageItemBody.tsx.js +13 -14
  866. package/ui/LoadingTemplateMessageItemBody.tsx.js.map +1 -1
  867. package/ui/MentionLabel.js +50 -50
  868. package/ui/MentionUserLabel.js +4 -4
  869. package/ui/MessageContent.js +586 -581
  870. package/ui/MessageContent.js.map +1 -1
  871. package/ui/MessageFeedbackFailedModal.js +34 -22
  872. package/ui/MessageFeedbackFailedModal.js.map +1 -1
  873. package/ui/MessageFeedbackModal.js +66 -54
  874. package/ui/MessageFeedbackModal.js.map +1 -1
  875. package/ui/MessageInput/hooks/usePaste.js +7 -7
  876. package/ui/MessageInput.js +423 -424
  877. package/ui/MessageInput.js.map +1 -1
  878. package/ui/MessageItemMenu.js +134 -134
  879. package/ui/MessageItemReactionMenu.js +42 -42
  880. package/ui/MessageSearchFileItem.js +77 -78
  881. package/ui/MessageSearchFileItem.js.map +1 -1
  882. package/ui/MessageSearchItem.js +50 -50
  883. package/ui/MessageStatus.js +11 -12
  884. package/ui/MessageStatus.js.map +1 -1
  885. package/ui/MessageTemplate.js +1 -2
  886. package/ui/MessageTemplate.js.map +1 -1
  887. package/ui/MobileFeedbackMenu.js +36 -25
  888. package/ui/MobileFeedbackMenu.js.map +1 -1
  889. package/ui/Modal.js +21 -8
  890. package/ui/Modal.js.map +1 -1
  891. package/ui/MutedAvatarOverlay.js +14 -14
  892. package/ui/OGMessageItemBody.js +76 -76
  893. package/ui/OpenChannelAdminMessage.js +9 -9
  894. package/ui/OpenChannelAvatar.js +15 -15
  895. package/ui/OpenchannelConversationHeader.js +22 -22
  896. package/ui/OpenchannelFileMessage.js +117 -117
  897. package/ui/OpenchannelOGMessage.js +146 -146
  898. package/ui/OpenchannelThumbnailMessage.js +155 -155
  899. package/ui/OpenchannelUserMessage.js +128 -128
  900. package/ui/PlaceHolder.js +45 -45
  901. package/ui/PlaybackTime.js +11 -11
  902. package/ui/ProgressBar.js +12 -12
  903. package/ui/QuoteMessage.js +69 -70
  904. package/ui/QuoteMessage.js.map +1 -1
  905. package/ui/QuoteMessageInput.js +66 -67
  906. package/ui/QuoteMessageInput.js.map +1 -1
  907. package/ui/ReactionBadge.js +20 -20
  908. package/ui/ReactionButton.js +17 -17
  909. package/ui/SortByRow.js +23 -23
  910. package/ui/TemplateMessageItemBody.js +423 -424
  911. package/ui/TemplateMessageItemBody.js.map +1 -1
  912. package/ui/TextButton.js +9 -9
  913. package/ui/TextMessageItemBody.js +44 -44
  914. package/ui/ThreadReplies.js +34 -34
  915. package/ui/ThumbnailMessageItemBody.js +36 -37
  916. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  917. package/ui/Toggle.js +110 -110
  918. package/ui/Tooltip.js +9 -9
  919. package/ui/TooltipWrapper.js +13 -13
  920. package/ui/TypingIndicatorBubble.js +56 -56
  921. package/ui/UnknownMessageItemBody.js +19 -20
  922. package/ui/UnknownMessageItemBody.js.map +1 -1
  923. package/ui/UserListItem.js +56 -56
  924. package/ui/UserProfile.js +45 -45
  925. package/ui/VoiceMessageInput.js +9 -9
  926. package/ui/VoiceMessageItemBody.js +62 -54
  927. package/ui/VoiceMessageItemBody.js.map +1 -1
  928. package/ui/Word.js +41 -41
  929. package/useSendbirdStateContext.js +15 -15
  930. package/utils/message/getOutgoingMessageState.js +32 -32
  931. package/utils/message/isVoiceMessage.js +2 -3
  932. package/utils/message/isVoiceMessage.js.map +1 -1
  933. package/withSendbird.js +17 -17
  934. package/chunks/bundle-5yHWoLVJ.js.map +0 -1
  935. package/chunks/bundle-B7J4Fm0y.js.map +0 -1
  936. package/chunks/bundle-B9rwLbgh.js +0 -36
  937. package/chunks/bundle-B9rwLbgh.js.map +0 -1
  938. package/chunks/bundle-B9sTU4LX.js.map +0 -1
  939. package/chunks/bundle-BKCDSKx6.js.map +0 -1
  940. package/chunks/bundle-BLMDgHS-.js.map +0 -1
  941. package/chunks/bundle-BMPm6lKq.js.map +0 -1
  942. package/chunks/bundle-BOUVMTAt.js.map +0 -1
  943. package/chunks/bundle-BPbwxMIx.js.map +0 -1
  944. package/chunks/bundle-BPj0X5TA.js.map +0 -1
  945. package/chunks/bundle-BPvfVEd8.js.map +0 -1
  946. package/chunks/bundle-BTLVyMgj.js.map +0 -1
  947. package/chunks/bundle-BX_IXLSp.js.map +0 -1
  948. package/chunks/bundle-BbeHRXOp.js.map +0 -1
  949. package/chunks/bundle-Bdw6eUSG.js +0 -4
  950. package/chunks/bundle-Bdw6eUSG.js.map +0 -1
  951. package/chunks/bundle-Bf6VvPhp.js.map +0 -1
  952. package/chunks/bundle-BlK-fMQm.js.map +0 -1
  953. package/chunks/bundle-BmFbOU4C.js.map +0 -1
  954. package/chunks/bundle-BwJTKHEl.js.map +0 -1
  955. package/chunks/bundle-BzYv4x2T.js.map +0 -1
  956. package/chunks/bundle-C3K7W_E-.js.map +0 -1
  957. package/chunks/bundle-CMZVPZeM.js.map +0 -1
  958. package/chunks/bundle-COLsFI7t.js.map +0 -1
  959. package/chunks/bundle-CSOdmQ75.js +0 -65
  960. package/chunks/bundle-CSOdmQ75.js.map +0 -1
  961. package/chunks/bundle-CUDCHaXM.js.map +0 -1
  962. package/chunks/bundle-CUPPssXo.js.map +0 -1
  963. package/chunks/bundle-CUd4X5O2.js.map +0 -1
  964. package/chunks/bundle-CVu64-xY.js +0 -122
  965. package/chunks/bundle-CXtl77MC.js.map +0 -1
  966. package/chunks/bundle-CY2Lga-4.js.map +0 -1
  967. package/chunks/bundle-CllFAkeZ.js.map +0 -1
  968. package/chunks/bundle-D4rjbjNv.js.map +0 -1
  969. package/chunks/bundle-D4x1_hkl.js.map +0 -1
  970. package/chunks/bundle-D5lQwKgM.js.map +0 -1
  971. package/chunks/bundle-D8JekjLy.js.map +0 -1
  972. package/chunks/bundle-DGnpw8up.js.map +0 -1
  973. package/chunks/bundle-DQKxIg_X.js.map +0 -1
  974. package/chunks/bundle-DS5ljghe.js.map +0 -1
  975. package/chunks/bundle-DZl__KhG.js.map +0 -1
  976. package/chunks/bundle-Dc7E6GJc.js.map +0 -1
  977. package/chunks/bundle-DfDCjniq.js.map +0 -1
  978. package/chunks/bundle-DfhJ_oFZ.js.map +0 -1
  979. package/chunks/bundle-Dk211z5R.js.map +0 -1
  980. package/chunks/bundle-DpCn3P9s.js.map +0 -1
  981. package/chunks/bundle-DpkEqNiD.js.map +0 -1
  982. package/chunks/bundle-DwApARpe.js.map +0 -1
  983. package/chunks/bundle-Dzm909k5.js.map +0 -1
  984. package/chunks/bundle-OIgXk-TJ.js.map +0 -1
  985. package/chunks/bundle-Otcx8Wxy.js.map +0 -1
  986. package/chunks/bundle-WmbZYtqM.js.map +0 -1
  987. package/chunks/bundle-Y3Y435SA.js.map +0 -1
  988. package/chunks/bundle-fxTywxQ4.js.map +0 -1
  989. package/chunks/bundle-mRqHYNyY.js.map +0 -1
  990. package/chunks/bundle-tIPAQa1P.js.map +0 -1
  991. package/cjs/chunks/bundle-0W_w8lRK.js.map +0 -1
  992. package/cjs/chunks/bundle-7zHCY6TY.js.map +0 -1
  993. package/cjs/chunks/bundle-B3N7ehMH.js.map +0 -1
  994. package/cjs/chunks/bundle-B6hKU81Z.js.map +0 -1
  995. package/cjs/chunks/bundle-B6uiunjG.js.map +0 -1
  996. package/cjs/chunks/bundle-BDbnsPGF.js.map +0 -1
  997. package/cjs/chunks/bundle-BJBClQcM.js.map +0 -1
  998. package/cjs/chunks/bundle-BRjBigtB.js.map +0 -1
  999. package/cjs/chunks/bundle-Bka-H9ks.js +0 -7
  1000. package/cjs/chunks/bundle-Bka-H9ks.js.map +0 -1
  1001. package/cjs/chunks/bundle-BoCS4RH3.js.map +0 -1
  1002. package/cjs/chunks/bundle-BrD0IuOc.js.map +0 -1
  1003. package/cjs/chunks/bundle-BuYf2Pa8.js.map +0 -1
  1004. package/cjs/chunks/bundle-BufWOg42.js.map +0 -1
  1005. package/cjs/chunks/bundle-BwEcnJDm.js.map +0 -1
  1006. package/cjs/chunks/bundle-ByBh6M0g.js.map +0 -1
  1007. package/cjs/chunks/bundle-BzR58JaC.js.map +0 -1
  1008. package/cjs/chunks/bundle-C-gA8UhR.js.map +0 -1
  1009. package/cjs/chunks/bundle-C-noHeKZ.js.map +0 -1
  1010. package/cjs/chunks/bundle-C-zGGOpz.js.map +0 -1
  1011. package/cjs/chunks/bundle-C0LFi1ur.js.map +0 -1
  1012. package/cjs/chunks/bundle-C7_tieEZ.js.map +0 -1
  1013. package/cjs/chunks/bundle-C8aAwUsg.js.map +0 -1
  1014. package/cjs/chunks/bundle-CBmExSEr.js.map +0 -1
  1015. package/cjs/chunks/bundle-CEueJUxG.js.map +0 -1
  1016. package/cjs/chunks/bundle-CFWumCsy.js.map +0 -1
  1017. package/cjs/chunks/bundle-CVSpiKNJ.js.map +0 -1
  1018. package/cjs/chunks/bundle-CY1bUkfG.js.map +0 -1
  1019. package/cjs/chunks/bundle-CZObcUAk.js.map +0 -1
  1020. package/cjs/chunks/bundle-CZz2cvTG.js.map +0 -1
  1021. package/cjs/chunks/bundle-Cc-KyTf-.js +0 -38
  1022. package/cjs/chunks/bundle-Cc-KyTf-.js.map +0 -1
  1023. package/cjs/chunks/bundle-ChIhNCh1.js.map +0 -1
  1024. package/cjs/chunks/bundle-D3Gxy8S0.js.map +0 -1
  1025. package/cjs/chunks/bundle-D4pqJjg-.js.map +0 -1
  1026. package/cjs/chunks/bundle-D5AiwZE4.js.map +0 -1
  1027. package/cjs/chunks/bundle-D8-ob9Ia.js.map +0 -1
  1028. package/cjs/chunks/bundle-D9hSjP4_.js.map +0 -1
  1029. package/cjs/chunks/bundle-DBdGwyXE.js.map +0 -1
  1030. package/cjs/chunks/bundle-DDmTdnuT.js.map +0 -1
  1031. package/cjs/chunks/bundle-DHuWzY0s.js.map +0 -1
  1032. package/cjs/chunks/bundle-DI-qrtXL.js.map +0 -1
  1033. package/cjs/chunks/bundle-DIxulCCm.js.map +0 -1
  1034. package/cjs/chunks/bundle-DLdV8LNR.js.map +0 -1
  1035. package/cjs/chunks/bundle-DPoAoYEl.js.map +0 -1
  1036. package/cjs/chunks/bundle-DYZo-ek9.js.map +0 -1
  1037. package/cjs/chunks/bundle-DbS-u43Y.js.map +0 -1
  1038. package/cjs/chunks/bundle-DbykvtHO.js.map +0 -1
  1039. package/cjs/chunks/bundle-DdSNUhSn.js.map +0 -1
  1040. package/cjs/chunks/bundle-DessEmBr.js.map +0 -1
  1041. package/cjs/chunks/bundle-Df0cAbH6.js.map +0 -1
  1042. package/cjs/chunks/bundle-Djp6Qheo.js.map +0 -1
  1043. package/cjs/chunks/bundle-DlPLp6fm.js.map +0 -1
  1044. package/cjs/chunks/bundle-Dn17aH6v.js.map +0 -1
  1045. package/cjs/chunks/bundle-DnXNmdmw.js.map +0 -1
  1046. package/cjs/chunks/bundle-DsKL-Ede.js.map +0 -1
  1047. package/cjs/chunks/bundle-E9H8fQL4.js.map +0 -1
  1048. package/cjs/chunks/bundle-GtlapnzG.js.map +0 -1
  1049. package/cjs/chunks/bundle-IVTygAtE.js.map +0 -1
  1050. package/cjs/chunks/bundle-SdH24Cv9.js.map +0 -1
  1051. package/cjs/chunks/bundle-XEpryGfs.js.map +0 -1
  1052. package/cjs/chunks/bundle-ZuDe6I0q.js.map +0 -1
  1053. package/cjs/chunks/bundle-fG1bRzYE.js +0 -72
  1054. package/cjs/chunks/bundle-fG1bRzYE.js.map +0 -1
  1055. package/cjs/chunks/bundle-jkB4LAcp.js.map +0 -1
  1056. package/cjs/chunks/bundle-oUs61pbv.js.map +0 -1
  1057. package/cjs/chunks/bundle-pZbKLQPU.js.map +0 -1
  1058. package/cjs/chunks/bundle-q2tBQOdq.js.map +0 -1
  1059. package/cjs/chunks/bundle-t1Tb_Gz2.js.map +0 -1
  1060. package/cjs/chunks/bundle-ti18J4ii.js +0 -124
  1061. package/cjs/chunks/bundle-ti18J4ii.js.map +0 -1
  1062. package/cjs/chunks/bundle-u8pJrzSP.js.map +0 -1
  1063. package/types/modules/OpenChannelApp/stories/utils.d.ts +0 -6
@@ -1,1366 +1,1365 @@
1
1
  import React__default, { useEffect, useCallback, useState, useReducer, useRef, useMemo } from 'react';
2
- import { U as UserProfileProvider } from './bundle-DGnpw8up.js';
3
- import { _ as __assign, c as __spreadArray, a as __awaiter, b as __generator } from './bundle-DZcgZWKq.js';
4
- import { c as compareIds } from './bundle-DQKxIg_X.js';
5
- import { p as pubSubTopics } from './bundle-BX_IXLSp.js';
2
+ import { U as UserProfileProvider } from './bundle-B7barEsR.js';
3
+ import { _ as __assign, c as __spreadArray, a as __awaiter, b as __generator } from './bundle-7oF7KbGv.js';
4
+ import { c as compareIds } from './bundle-BKho3Uub.js';
5
+ import { p as pubSubTopics } from './bundle-BWuyd0AD.js';
6
6
  import { ChannelType } from '@sendbird/chat';
7
7
  import { OpenChannelHandler } from '@sendbird/chat/openChannel';
8
- import { u as uuidv4 } from './bundle-BbeHRXOp.js';
9
- import { c as compressImages } from './bundle-CVu64-xY.js';
8
+ import { u as uuidv4 } from './bundle-BJ46V6XQ.js';
9
+ import { c as compressImages } from './bundle-3amhHjNa.js';
10
10
  import { useSendbirdStateContext } from '../useSendbirdStateContext.js';
11
- import { useGlobalModalContext } from '../hooks/useModal.js';
12
- import { u as useLocalization } from './bundle-tIPAQa1P.js';
13
- import { O as ONE_MiB } from './bundle-Dc7E6GJc.js';
14
- import { c as ModalFooter } from './bundle-CSOdmQ75.js';
15
- import './bundle-Dk211z5R.js';
11
+ import { b as useGlobalModalContext, c as ModalFooter } from './bundle-C4Z-NWqF.js';
12
+ import { u as useLocalization } from './bundle-Bx5vhTbU.js';
13
+ import { O as ONE_MiB } from './bundle-CD9AzC6s.js';
14
+ import './bundle-LYAWKk4n.js';
16
15
  import { ButtonTypes } from '../ui/Button.js';
17
16
 
18
- var shouldFetchMore = function (messageLength, maxMessages) {
19
- if (typeof maxMessages !== 'number') {
20
- return true;
21
- }
22
- if (typeof maxMessages === 'number'
23
- && maxMessages > messageLength) {
24
- return true;
25
- }
26
- return false;
27
- };
28
- /* eslint-disable default-param-last */
29
- var scrollIntoLast = function (initialTry, scrollRef) {
30
- if (initialTry === void 0) { initialTry = 0; }
31
- var MAX_TRIES = 10;
32
- var currentTry = initialTry;
33
- if (currentTry > MAX_TRIES) {
34
- return;
35
- }
36
- try {
37
- var scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-openchannel-conversation-scroll__container__item-container');
38
- // eslint-disable-next-line no-multi-assign
39
- scrollDOM.scrollTop = scrollDOM.scrollHeight;
40
- }
41
- catch (error) {
42
- setTimeout(function () {
43
- scrollIntoLast(currentTry + 1, scrollRef);
44
- }, 500 * currentTry);
45
- }
46
- };
47
- var kFormatter = function (num) {
48
- if (Math.abs(num) > 999999) {
49
- return "".concat((Math.abs(num) / 1000000).toFixed(1), "M");
50
- }
51
- if (Math.abs(num) > 999) {
52
- return "".concat((Math.abs(num) / 1000).toFixed(1), "K");
53
- }
54
- return "".concat(num);
55
- };
56
- var isOperator = function (openChannel, userId) {
57
- var operators = openChannel === null || openChannel === void 0 ? void 0 : openChannel.operators;
58
- if (operators.map(function (operator) { return operator.userId; }).indexOf(userId) < 0) {
59
- return false;
60
- }
61
- return true;
62
- };
63
- var isDisabledBecauseFrozen = function (openChannel, userId) {
64
- var isFrozen = openChannel === null || openChannel === void 0 ? void 0 : openChannel.isFrozen;
65
- return isFrozen && !isOperator(openChannel, userId);
66
- };
67
- var isDisabledBecauseMuted = function (mutedParticipantIds, userId) {
68
- return mutedParticipantIds.indexOf(userId) > -1;
69
- };
70
- var fetchWithListQuery = function (listQuery, logger, eachQueryNextCallback) {
71
- var fetchList = function (query) {
72
- var hasNext = query.hasNext;
73
- if (hasNext) {
74
- query.next().then(function (users) {
75
- eachQueryNextCallback(users);
76
- fetchList(query);
77
- }).catch(function (error) {
78
- logger.warning('OpenChannel | FetchUserList failed', error);
79
- });
80
- }
81
- else {
82
- logger.info('OpenChannel | FetchUserList finished');
83
- }
84
- };
85
- logger.info('OpenChannel | FetchUserList start', listQuery);
86
- fetchList(listQuery);
17
+ var shouldFetchMore = function (messageLength, maxMessages) {
18
+ if (typeof maxMessages !== 'number') {
19
+ return true;
20
+ }
21
+ if (typeof maxMessages === 'number'
22
+ && maxMessages > messageLength) {
23
+ return true;
24
+ }
25
+ return false;
26
+ };
27
+ /* eslint-disable default-param-last */
28
+ var scrollIntoLast = function (initialTry, scrollRef) {
29
+ if (initialTry === void 0) { initialTry = 0; }
30
+ var MAX_TRIES = 10;
31
+ var currentTry = initialTry;
32
+ if (currentTry > MAX_TRIES) {
33
+ return;
34
+ }
35
+ try {
36
+ var scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-openchannel-conversation-scroll__container__item-container');
37
+ // eslint-disable-next-line no-multi-assign
38
+ scrollDOM.scrollTop = scrollDOM.scrollHeight;
39
+ }
40
+ catch (error) {
41
+ setTimeout(function () {
42
+ scrollIntoLast(currentTry + 1, scrollRef);
43
+ }, 500 * currentTry);
44
+ }
45
+ };
46
+ var kFormatter = function (num) {
47
+ if (Math.abs(num) > 999999) {
48
+ return "".concat((Math.abs(num) / 1000000).toFixed(1), "M");
49
+ }
50
+ if (Math.abs(num) > 999) {
51
+ return "".concat((Math.abs(num) / 1000).toFixed(1), "K");
52
+ }
53
+ return "".concat(num);
54
+ };
55
+ var isOperator = function (openChannel, userId) {
56
+ var operators = openChannel === null || openChannel === void 0 ? void 0 : openChannel.operators;
57
+ if (operators.map(function (operator) { return operator.userId; }).indexOf(userId) < 0) {
58
+ return false;
59
+ }
60
+ return true;
61
+ };
62
+ var isDisabledBecauseFrozen = function (openChannel, userId) {
63
+ var isFrozen = openChannel === null || openChannel === void 0 ? void 0 : openChannel.isFrozen;
64
+ return isFrozen && !isOperator(openChannel, userId);
65
+ };
66
+ var isDisabledBecauseMuted = function (mutedParticipantIds, userId) {
67
+ return mutedParticipantIds.indexOf(userId) > -1;
68
+ };
69
+ var fetchWithListQuery = function (listQuery, logger, eachQueryNextCallback) {
70
+ var fetchList = function (query) {
71
+ var hasNext = query.hasNext;
72
+ if (hasNext) {
73
+ query.next().then(function (users) {
74
+ eachQueryNextCallback(users);
75
+ fetchList(query);
76
+ }).catch(function (error) {
77
+ logger.warning('OpenChannel | FetchUserList failed', error);
78
+ });
79
+ }
80
+ else {
81
+ logger.info('OpenChannel | FetchUserList finished');
82
+ }
83
+ };
84
+ logger.info('OpenChannel | FetchUserList start', listQuery);
85
+ fetchList(listQuery);
87
86
  };
88
87
 
89
- var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
90
- var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
91
- var RESET_MESSAGES = 'RESET_MESSAGES';
92
- var EXIT_CURRENT_CHANNEL = 'EXIT_CURRENT_CHANNEL';
93
- var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';
94
- var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';
95
- var GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';
96
- var SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';
97
- var SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';
98
- var SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';
99
- var RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';
100
- var FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';
101
- var FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';
102
- var FETCH_MUTED_USER_LIST = 'FETCH_MUTED_USER_LIST';
103
- var TRIM_MESSAGE_LIST = 'TRIM_MESSAGE_LIST';
104
- // event handlers
105
- var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
106
- var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
107
- var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
108
- var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
109
- var ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';
110
- var ON_USER_ENTERED = 'ON_USER_ENTERED';
111
- var ON_USER_EXITED = 'ON_USER_EXITED';
112
- var ON_USER_MUTED = 'ON_USER_MUTED';
113
- var ON_USER_UNMUTED = 'ON_USER_UNMUTED';
114
- var ON_USER_BANNED = 'ON_USER_BANNED';
115
- var ON_USER_UNBANNED = 'ON_USER_UNBANNED';
116
- var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
117
- var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
118
- var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
119
- var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
120
- var ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';
121
- var ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';
122
- var ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';
123
- var ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';
124
- var ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';
125
- var ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';
88
+ var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
89
+ var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
90
+ var RESET_MESSAGES = 'RESET_MESSAGES';
91
+ var EXIT_CURRENT_CHANNEL = 'EXIT_CURRENT_CHANNEL';
92
+ var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';
93
+ var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';
94
+ var GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';
95
+ var SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';
96
+ var SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';
97
+ var SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';
98
+ var RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';
99
+ var FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';
100
+ var FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';
101
+ var FETCH_MUTED_USER_LIST = 'FETCH_MUTED_USER_LIST';
102
+ var TRIM_MESSAGE_LIST = 'TRIM_MESSAGE_LIST';
103
+ // event handlers
104
+ var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
105
+ var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
106
+ var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
107
+ var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
108
+ var ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';
109
+ var ON_USER_ENTERED = 'ON_USER_ENTERED';
110
+ var ON_USER_EXITED = 'ON_USER_EXITED';
111
+ var ON_USER_MUTED = 'ON_USER_MUTED';
112
+ var ON_USER_UNMUTED = 'ON_USER_UNMUTED';
113
+ var ON_USER_BANNED = 'ON_USER_BANNED';
114
+ var ON_USER_UNBANNED = 'ON_USER_UNBANNED';
115
+ var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
116
+ var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
117
+ var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
118
+ var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
119
+ var ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';
120
+ var ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';
121
+ var ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';
122
+ var ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';
123
+ var ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';
124
+ var ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';
126
125
  var ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';
127
126
 
128
- function reducer(state, action) {
129
- var _a, _b, _c;
130
- switch (action.type) {
131
- case RESET_MESSAGES: {
132
- return __assign(__assign({}, state), { allMessages: [] });
133
- }
134
- case EXIT_CURRENT_CHANNEL: {
135
- if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.url) === ((_b = state.currentOpenChannel) === null || _b === void 0 ? void 0 : _b.url)) {
136
- return __assign(__assign({}, state), { currentOpenChannel: null });
137
- }
138
- return state;
139
- }
140
- case SET_CURRENT_CHANNEL: {
141
- var gottenChannel = action.payload;
142
- var operators = gottenChannel.operators;
143
- if (!state.isInvalid
144
- && state.currentOpenChannel
145
- && state.currentOpenChannel.url
146
- && (state.currentOpenChannel.url === gottenChannel.url)) {
147
- return state;
148
- }
149
- return __assign(__assign({}, state), { currentOpenChannel: gottenChannel, isInvalid: false, operators: operators, participants: operators, bannedParticipantIds: [], mutedParticipantIds: [] });
150
- }
151
- case SET_CHANNEL_INVALID: {
152
- return __assign(__assign({}, state), { isInvalid: true });
153
- }
154
- case GET_PREV_MESSAGES_START: {
155
- return __assign(__assign({}, state), { loading: true });
156
- }
157
- case GET_PREV_MESSAGES_SUCESS:
158
- case GET_PREV_MESSAGES_FAIL: {
159
- var isFailed = (action.type === GET_PREV_MESSAGES_FAIL);
160
- var _d = action.payload, _e = _d.currentOpenChannel, currentOpenChannel = _e === void 0 ? {} : _e, _f = _d.messages, messages = _f === void 0 ? [] : _f, hasMore = _d.hasMore, lastMessageTimestamp = _d.lastMessageTimestamp;
161
- var actionChannelUrl = currentOpenChannel.url;
162
- var receivedMessages_1 = isFailed ? [] : messages;
163
- var _hasMore = isFailed ? false : hasMore;
164
- var _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;
165
- var stateChannel = state.currentOpenChannel;
166
- var stateChannelUrl = stateChannel.url;
167
- if (actionChannelUrl !== stateChannelUrl) {
168
- return state;
169
- }
170
- var filteredAllMessages = state.allMessages.filter(function (message) { return (!(receivedMessages_1.find(function (_a) {
171
- var messageId = _a.messageId;
172
- return compareIds(messageId, message.messageId);
173
- }))); });
174
- return __assign(__assign({}, state), { loading: false, initialized: true, hasMore: _hasMore, lastMessageTimestamp: _lastMessageTimestamp, allMessages: __spreadArray(__spreadArray([], receivedMessages_1, true), filteredAllMessages, true) });
175
- }
176
- case SENDING_MESSAGE_START: {
177
- var _g = action.payload, message_1 = _g.message, channel = _g.channel;
178
- if ((channel === null || channel === void 0 ? void 0 : channel.url) !== state.currentOpenChannel.url
179
- || state.allMessages.some(function (m) { return m.reqId === message_1.reqId; })
180
- // Handing failed first than sending start issue
181
- ) {
182
- return state;
183
- }
184
- return __assign(__assign({}, state), { allMessages: __spreadArray(__spreadArray([], state.allMessages, true), [
185
- message_1,
186
- ], false) });
187
- }
188
- case SENDING_MESSAGE_SUCCEEDED: {
189
- var sentMessage_1 = action.payload;
190
- var newMessages = state.allMessages.map(function (m) { return (compareIds(m.reqId, sentMessage_1.reqId) ? sentMessage_1 : m); });
191
- return __assign(__assign({}, state), { allMessages: newMessages });
192
- }
193
- case SENDING_MESSAGE_FAILED: {
194
- var sentMessage_2 = action.payload;
195
- sentMessage_2.sendingStatus = 'failed';
196
- if (!(state.allMessages.some(function (m) { return (m === null || m === void 0 ? void 0 : m.reqId) === (sentMessage_2 === null || sentMessage_2 === void 0 ? void 0 : sentMessage_2.reqId); }))) {
197
- // Handling failed first than sending start issue
198
- return __assign(__assign({}, state), { allMessages: __spreadArray(__spreadArray([], state.allMessages.filter(function (m) { return !compareIds(m.reqId, sentMessage_2); }), true), [
199
- sentMessage_2,
200
- ], false) });
201
- }
202
- else {
203
- return __assign(__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds(m.reqId, sentMessage_2.reqId) ? sentMessage_2 : m); }) });
204
- }
205
- }
206
- case TRIM_MESSAGE_LIST: {
207
- var allMessages = state.allMessages;
208
- var messageLimit = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.messageLimit;
209
- if (messageLimit
210
- && messageLimit > 0
211
- && (allMessages === null || allMessages === void 0 ? void 0 : allMessages.length) > messageLimit) {
212
- var sliceAt = allMessages.length - messageLimit;
213
- return __assign(__assign({}, state), { allMessages: allMessages.slice(sliceAt) });
214
- }
215
- return state;
216
- }
217
- case RESENDING_MESSAGE_START: {
218
- var eventedChannel = action.payload.channel;
219
- var resentMessage_1 = action.payload.message;
220
- if (eventedChannel.url !== state.currentOpenChannel.url) {
221
- return state;
222
- }
223
- return __assign(__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds(m.reqId, resentMessage_1.reqId) ? resentMessage_1 : m); }) });
224
- }
225
- case FETCH_PARTICIPANT_LIST: {
226
- var eventedChannel = action.payload.channel;
227
- var fetchedParticipantList = action.payload.users;
228
- if (eventedChannel.url !== state.currentOpenChannel.url) {
229
- return state;
230
- }
231
- return __assign(__assign({}, state), { participants: __spreadArray(__spreadArray([], state.participants, true), fetchedParticipantList, true) });
232
- }
233
- case FETCH_BANNED_USER_LIST: {
234
- var eventedChannel = action.payload.channel;
235
- var fetchedBannedUserList = action.payload.users;
236
- if ((eventedChannel.url !== state.currentOpenChannel.url)
237
- || !(fetchedBannedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
238
- return state;
239
- }
240
- return __assign(__assign({}, state), { bannedParticipantIds: __spreadArray(__spreadArray([], state.bannedParticipantIds, true), fetchedBannedUserList.map(function (user) { return user.userId; }), true) });
241
- }
242
- case FETCH_MUTED_USER_LIST: {
243
- var eventedChannel = action.payload.channel;
244
- var fetchedMutedUserList = action.payload.users;
245
- if ((eventedChannel.url !== state.currentOpenChannel.url)
246
- || !(fetchedMutedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
247
- return state;
248
- }
249
- return __assign(__assign({}, state), { mutedParticipantIds: __spreadArray(__spreadArray([], state.mutedParticipantIds, true), fetchedMutedUserList.map(function (user) { return user.userId; }), true) });
250
- }
251
- // events
252
- case ON_MESSAGE_RECEIVED: {
253
- var eventedChannel = action.payload.channel;
254
- var receivedMessage = action.payload.message;
255
- var currentOpenChannel = state.currentOpenChannel;
256
- if (!compareIds(eventedChannel.url, currentOpenChannel.url)
257
- || (!(state.allMessages.map(function (message) { return message.messageId; }).indexOf(receivedMessage.messageId) < 0))) {
258
- return state;
259
- }
260
- return __assign(__assign({}, state), { allMessages: __spreadArray(__spreadArray([], state.allMessages, true), [receivedMessage], false) });
261
- }
262
- case ON_MESSAGE_UPDATED: {
263
- var eventedChannel = action.payload.channel;
264
- var updatedMessage_1 = action.payload.message;
265
- var currentChannel = state.currentOpenChannel;
266
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
267
- return state;
268
- }
269
- return __assign(__assign({}, state), { allMessages: state.allMessages.map(function (message) { return (message.isIdentical(updatedMessage_1)
270
- ? updatedMessage_1
271
- : message); }) });
272
- }
273
- case ON_MESSAGE_DELETED: {
274
- var eventedChannel = action.payload.channel;
275
- var deletedMessageId_1 = action.payload.messageId;
276
- var currentChannel = state.currentOpenChannel;
277
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
278
- return state;
279
- }
280
- return __assign(__assign({}, state), { allMessages: state.allMessages.filter(function (message) { return (!compareIds(message.messageId, deletedMessageId_1)); }) });
281
- }
282
- case ON_MESSAGE_DELETED_BY_REQ_ID: {
283
- return __assign(__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return (!compareIds(m.reqId, action.payload)); }) });
284
- }
285
- case ON_OPERATOR_UPDATED: {
286
- var eventedChannel = action.payload.channel;
287
- var updatedOperators = action.payload.operators;
288
- var currentChannel = state.currentOpenChannel;
289
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
290
- return state;
291
- }
292
- return __assign(__assign({}, state), { currentOpenChannel: eventedChannel, operators: updatedOperators });
293
- }
294
- case ON_USER_ENTERED: {
295
- var eventedChannel = action.payload.channel;
296
- var enteredUser = action.payload.user;
297
- var currentChannel = state.currentOpenChannel;
298
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
299
- return state;
300
- }
301
- return __assign(__assign({}, state), { participants: __spreadArray(__spreadArray([], state.participants, true), [enteredUser], false) });
302
- }
303
- case ON_USER_EXITED: {
304
- var eventedChannel = action.payload.channel;
305
- var exitedUser_1 = action.payload.user;
306
- var currentChannel = state.currentOpenChannel;
307
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
308
- return state;
309
- }
310
- return __assign(__assign({}, state), { participants: state.participants.filter(function (participant) { return (!compareIds(participant.userId, exitedUser_1.userId)); }) });
311
- }
312
- case ON_USER_MUTED: {
313
- var eventedChannel = action.payload.channel;
314
- var mutedUser = action.payload.user;
315
- var currentChannel = state.currentOpenChannel;
316
- if (!currentChannel
317
- || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
318
- || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0) {
319
- return state;
320
- }
321
- return __assign(__assign({}, state), { mutedParticipantIds: __spreadArray(__spreadArray([], state.mutedParticipantIds, true), [mutedUser.userId], false) });
322
- }
323
- case ON_USER_UNMUTED: {
324
- var eventedChannel = action.payload.channel;
325
- var unmutedUser_1 = action.payload.user;
326
- var currentChannel = state.currentOpenChannel;
327
- if (!currentChannel
328
- || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
329
- || state.mutedParticipantIds.indexOf(unmutedUser_1.userId) < 0) {
330
- return state;
331
- }
332
- return __assign(__assign({}, state), { mutedParticipantIds: state.mutedParticipantIds.filter(function (userId) { return userId !== unmutedUser_1.userId; }) });
333
- }
334
- case ON_USER_BANNED: {
335
- var eventedChannel = action.payload.channel;
336
- var bannedUser = action.payload.user;
337
- var currentUser = action.payload.currentUser;
338
- var currentChannel = state.currentOpenChannel;
339
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url) && (bannedUser === null || bannedUser === void 0 ? void 0 : bannedUser.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId)) {
340
- return __assign(__assign({}, state), { currentOpenChannel: null });
341
- }
342
- else if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
343
- return __assign(__assign({}, state), { bannedParticipantIds: __spreadArray(__spreadArray([], state.bannedParticipantIds, true), [bannedUser.userId], false) });
344
- }
345
- return state;
346
- }
347
- case ON_USER_UNBANNED: {
348
- var eventedChannel = action.payload.channel;
349
- var unbannedUser_1 = action.payload.user;
350
- var currentChannel = state.currentOpenChannel;
351
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
352
- return __assign(__assign({}, state), { bannedParticipantIds: state.bannedParticipantIds.filter(function (userId) { return userId !== unbannedUser_1.userId; }) });
353
- }
354
- return state;
355
- }
356
- case ON_CHANNEL_FROZEN: {
357
- var frozenChannel = action.payload;
358
- var currentChannel = state.currentOpenChannel;
359
- if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {
360
- return state;
361
- }
362
- return __assign(__assign({}, state), { frozen: true });
363
- }
364
- case ON_CHANNEL_UNFROZEN: {
365
- var unfrozenChannel = action.payload;
366
- var currentChannel = state.currentOpenChannel;
367
- if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {
368
- return state;
369
- }
370
- return __assign(__assign({}, state), { frozen: false });
371
- }
372
- case ON_CHANNEL_CHANGED: {
373
- var changedChannel = action.payload;
374
- var currentChannel = state.currentOpenChannel;
375
- if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {
376
- return state;
377
- }
378
- return __assign(__assign({}, state), { currentOpenChannel: changedChannel });
379
- }
380
- case ON_CHANNEL_DELETED: {
381
- var deletedChannelUrl = action.payload;
382
- var currentChannel = state === null || state === void 0 ? void 0 : state.currentOpenChannel;
383
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === deletedChannelUrl) {
384
- return __assign(__assign({}, state), { currentOpenChannel: null });
385
- }
386
- return state;
387
- }
388
- case ON_META_DATA_CREATED: {
389
- // const eventedChannel = action.payload.channel;
390
- // const createdMetaData = action.payload.metaData;
391
- // return {
392
- // ...state
393
- // };
394
- return state;
395
- }
396
- case ON_META_DATA_UPDATED: {
397
- // const eventedChannel = action.payload.channel;
398
- // const updatedMetaData = action.payload.metaData;
399
- // return {
400
- // ...state
401
- // };
402
- return state;
403
- }
404
- case ON_META_DATA_DELETED: {
405
- // const eventedChannel = action.payload.channel;
406
- // const deletedMetaDataKeys = action.payload.metaDataKeys;
407
- // return {
408
- // ...state
409
- // };
410
- return state;
411
- }
412
- case ON_META_COUNTERS_CREATED: {
413
- // const eventedChannel = action.payload.channel;
414
- // const createdMetaCounter = action.payload.metaCounter;
415
- // return {
416
- // ...state
417
- // };
418
- return state;
419
- }
420
- case ON_META_COUNTERS_UPDATED: {
421
- // const eventedChannel = action.payload.channel;
422
- // const updatedMetaCounter = action.payload.metaCounter;
423
- // return {
424
- // ...state
425
- // };
426
- return state;
427
- }
428
- case ON_META_COUNTERS_DELETED: {
429
- // const eventedChannel = action.payload.channel;
430
- // const deletedMetaCounterKeys = action.payload.metaCounterKeys;
431
- // return {
432
- // ...state
433
- // };
434
- return state;
435
- }
436
- case ON_MENTION_RECEIVED: {
437
- // const eventedChannel = action.payload.channel;
438
- // const mentionedMessage = action.payload.message;
439
- // return {
440
- // ...state
441
- // };
442
- return state;
443
- }
444
- default:
445
- return state;
446
- }
127
+ function reducer(state, action) {
128
+ var _a, _b, _c;
129
+ switch (action.type) {
130
+ case RESET_MESSAGES: {
131
+ return __assign(__assign({}, state), { allMessages: [] });
132
+ }
133
+ case EXIT_CURRENT_CHANNEL: {
134
+ if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.url) === ((_b = state.currentOpenChannel) === null || _b === void 0 ? void 0 : _b.url)) {
135
+ return __assign(__assign({}, state), { currentOpenChannel: null });
136
+ }
137
+ return state;
138
+ }
139
+ case SET_CURRENT_CHANNEL: {
140
+ var gottenChannel = action.payload;
141
+ var operators = gottenChannel.operators;
142
+ if (!state.isInvalid
143
+ && state.currentOpenChannel
144
+ && state.currentOpenChannel.url
145
+ && (state.currentOpenChannel.url === gottenChannel.url)) {
146
+ return state;
147
+ }
148
+ return __assign(__assign({}, state), { currentOpenChannel: gottenChannel, isInvalid: false, operators: operators, participants: operators, bannedParticipantIds: [], mutedParticipantIds: [] });
149
+ }
150
+ case SET_CHANNEL_INVALID: {
151
+ return __assign(__assign({}, state), { isInvalid: true });
152
+ }
153
+ case GET_PREV_MESSAGES_START: {
154
+ return __assign(__assign({}, state), { loading: true });
155
+ }
156
+ case GET_PREV_MESSAGES_SUCESS:
157
+ case GET_PREV_MESSAGES_FAIL: {
158
+ var isFailed = (action.type === GET_PREV_MESSAGES_FAIL);
159
+ var _d = action.payload, _e = _d.currentOpenChannel, currentOpenChannel = _e === void 0 ? {} : _e, _f = _d.messages, messages = _f === void 0 ? [] : _f, hasMore = _d.hasMore, lastMessageTimestamp = _d.lastMessageTimestamp;
160
+ var actionChannelUrl = currentOpenChannel.url;
161
+ var receivedMessages_1 = isFailed ? [] : messages;
162
+ var _hasMore = isFailed ? false : hasMore;
163
+ var _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;
164
+ var stateChannel = state.currentOpenChannel;
165
+ var stateChannelUrl = stateChannel.url;
166
+ if (actionChannelUrl !== stateChannelUrl) {
167
+ return state;
168
+ }
169
+ var filteredAllMessages = state.allMessages.filter(function (message) { return (!(receivedMessages_1.find(function (_a) {
170
+ var messageId = _a.messageId;
171
+ return compareIds(messageId, message.messageId);
172
+ }))); });
173
+ return __assign(__assign({}, state), { loading: false, initialized: true, hasMore: _hasMore, lastMessageTimestamp: _lastMessageTimestamp, allMessages: __spreadArray(__spreadArray([], receivedMessages_1, true), filteredAllMessages, true) });
174
+ }
175
+ case SENDING_MESSAGE_START: {
176
+ var _g = action.payload, message_1 = _g.message, channel = _g.channel;
177
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) !== state.currentOpenChannel.url
178
+ || state.allMessages.some(function (m) { return m.reqId === message_1.reqId; })
179
+ // Handing failed first than sending start issue
180
+ ) {
181
+ return state;
182
+ }
183
+ return __assign(__assign({}, state), { allMessages: __spreadArray(__spreadArray([], state.allMessages, true), [
184
+ message_1,
185
+ ], false) });
186
+ }
187
+ case SENDING_MESSAGE_SUCCEEDED: {
188
+ var sentMessage_1 = action.payload;
189
+ var newMessages = state.allMessages.map(function (m) { return (compareIds(m.reqId, sentMessage_1.reqId) ? sentMessage_1 : m); });
190
+ return __assign(__assign({}, state), { allMessages: newMessages });
191
+ }
192
+ case SENDING_MESSAGE_FAILED: {
193
+ var sentMessage_2 = action.payload;
194
+ sentMessage_2.sendingStatus = 'failed';
195
+ if (!(state.allMessages.some(function (m) { return (m === null || m === void 0 ? void 0 : m.reqId) === (sentMessage_2 === null || sentMessage_2 === void 0 ? void 0 : sentMessage_2.reqId); }))) {
196
+ // Handling failed first than sending start issue
197
+ return __assign(__assign({}, state), { allMessages: __spreadArray(__spreadArray([], state.allMessages.filter(function (m) { return !compareIds(m.reqId, sentMessage_2); }), true), [
198
+ sentMessage_2,
199
+ ], false) });
200
+ }
201
+ else {
202
+ return __assign(__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds(m.reqId, sentMessage_2.reqId) ? sentMessage_2 : m); }) });
203
+ }
204
+ }
205
+ case TRIM_MESSAGE_LIST: {
206
+ var allMessages = state.allMessages;
207
+ var messageLimit = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.messageLimit;
208
+ if (messageLimit
209
+ && messageLimit > 0
210
+ && (allMessages === null || allMessages === void 0 ? void 0 : allMessages.length) > messageLimit) {
211
+ var sliceAt = allMessages.length - messageLimit;
212
+ return __assign(__assign({}, state), { allMessages: allMessages.slice(sliceAt) });
213
+ }
214
+ return state;
215
+ }
216
+ case RESENDING_MESSAGE_START: {
217
+ var eventedChannel = action.payload.channel;
218
+ var resentMessage_1 = action.payload.message;
219
+ if (eventedChannel.url !== state.currentOpenChannel.url) {
220
+ return state;
221
+ }
222
+ return __assign(__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds(m.reqId, resentMessage_1.reqId) ? resentMessage_1 : m); }) });
223
+ }
224
+ case FETCH_PARTICIPANT_LIST: {
225
+ var eventedChannel = action.payload.channel;
226
+ var fetchedParticipantList = action.payload.users;
227
+ if (eventedChannel.url !== state.currentOpenChannel.url) {
228
+ return state;
229
+ }
230
+ return __assign(__assign({}, state), { participants: __spreadArray(__spreadArray([], state.participants, true), fetchedParticipantList, true) });
231
+ }
232
+ case FETCH_BANNED_USER_LIST: {
233
+ var eventedChannel = action.payload.channel;
234
+ var fetchedBannedUserList = action.payload.users;
235
+ if ((eventedChannel.url !== state.currentOpenChannel.url)
236
+ || !(fetchedBannedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
237
+ return state;
238
+ }
239
+ return __assign(__assign({}, state), { bannedParticipantIds: __spreadArray(__spreadArray([], state.bannedParticipantIds, true), fetchedBannedUserList.map(function (user) { return user.userId; }), true) });
240
+ }
241
+ case FETCH_MUTED_USER_LIST: {
242
+ var eventedChannel = action.payload.channel;
243
+ var fetchedMutedUserList = action.payload.users;
244
+ if ((eventedChannel.url !== state.currentOpenChannel.url)
245
+ || !(fetchedMutedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
246
+ return state;
247
+ }
248
+ return __assign(__assign({}, state), { mutedParticipantIds: __spreadArray(__spreadArray([], state.mutedParticipantIds, true), fetchedMutedUserList.map(function (user) { return user.userId; }), true) });
249
+ }
250
+ // events
251
+ case ON_MESSAGE_RECEIVED: {
252
+ var eventedChannel = action.payload.channel;
253
+ var receivedMessage = action.payload.message;
254
+ var currentOpenChannel = state.currentOpenChannel;
255
+ if (!compareIds(eventedChannel.url, currentOpenChannel.url)
256
+ || (!(state.allMessages.map(function (message) { return message.messageId; }).indexOf(receivedMessage.messageId) < 0))) {
257
+ return state;
258
+ }
259
+ return __assign(__assign({}, state), { allMessages: __spreadArray(__spreadArray([], state.allMessages, true), [receivedMessage], false) });
260
+ }
261
+ case ON_MESSAGE_UPDATED: {
262
+ var eventedChannel = action.payload.channel;
263
+ var updatedMessage_1 = action.payload.message;
264
+ var currentChannel = state.currentOpenChannel;
265
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
266
+ return state;
267
+ }
268
+ return __assign(__assign({}, state), { allMessages: state.allMessages.map(function (message) { return (message.isIdentical(updatedMessage_1)
269
+ ? updatedMessage_1
270
+ : message); }) });
271
+ }
272
+ case ON_MESSAGE_DELETED: {
273
+ var eventedChannel = action.payload.channel;
274
+ var deletedMessageId_1 = action.payload.messageId;
275
+ var currentChannel = state.currentOpenChannel;
276
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
277
+ return state;
278
+ }
279
+ return __assign(__assign({}, state), { allMessages: state.allMessages.filter(function (message) { return (!compareIds(message.messageId, deletedMessageId_1)); }) });
280
+ }
281
+ case ON_MESSAGE_DELETED_BY_REQ_ID: {
282
+ return __assign(__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return (!compareIds(m.reqId, action.payload)); }) });
283
+ }
284
+ case ON_OPERATOR_UPDATED: {
285
+ var eventedChannel = action.payload.channel;
286
+ var updatedOperators = action.payload.operators;
287
+ var currentChannel = state.currentOpenChannel;
288
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
289
+ return state;
290
+ }
291
+ return __assign(__assign({}, state), { currentOpenChannel: eventedChannel, operators: updatedOperators });
292
+ }
293
+ case ON_USER_ENTERED: {
294
+ var eventedChannel = action.payload.channel;
295
+ var enteredUser = action.payload.user;
296
+ var currentChannel = state.currentOpenChannel;
297
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
298
+ return state;
299
+ }
300
+ return __assign(__assign({}, state), { participants: __spreadArray(__spreadArray([], state.participants, true), [enteredUser], false) });
301
+ }
302
+ case ON_USER_EXITED: {
303
+ var eventedChannel = action.payload.channel;
304
+ var exitedUser_1 = action.payload.user;
305
+ var currentChannel = state.currentOpenChannel;
306
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
307
+ return state;
308
+ }
309
+ return __assign(__assign({}, state), { participants: state.participants.filter(function (participant) { return (!compareIds(participant.userId, exitedUser_1.userId)); }) });
310
+ }
311
+ case ON_USER_MUTED: {
312
+ var eventedChannel = action.payload.channel;
313
+ var mutedUser = action.payload.user;
314
+ var currentChannel = state.currentOpenChannel;
315
+ if (!currentChannel
316
+ || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
317
+ || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0) {
318
+ return state;
319
+ }
320
+ return __assign(__assign({}, state), { mutedParticipantIds: __spreadArray(__spreadArray([], state.mutedParticipantIds, true), [mutedUser.userId], false) });
321
+ }
322
+ case ON_USER_UNMUTED: {
323
+ var eventedChannel = action.payload.channel;
324
+ var unmutedUser_1 = action.payload.user;
325
+ var currentChannel = state.currentOpenChannel;
326
+ if (!currentChannel
327
+ || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
328
+ || state.mutedParticipantIds.indexOf(unmutedUser_1.userId) < 0) {
329
+ return state;
330
+ }
331
+ return __assign(__assign({}, state), { mutedParticipantIds: state.mutedParticipantIds.filter(function (userId) { return userId !== unmutedUser_1.userId; }) });
332
+ }
333
+ case ON_USER_BANNED: {
334
+ var eventedChannel = action.payload.channel;
335
+ var bannedUser = action.payload.user;
336
+ var currentUser = action.payload.currentUser;
337
+ var currentChannel = state.currentOpenChannel;
338
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url) && (bannedUser === null || bannedUser === void 0 ? void 0 : bannedUser.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId)) {
339
+ return __assign(__assign({}, state), { currentOpenChannel: null });
340
+ }
341
+ else if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
342
+ return __assign(__assign({}, state), { bannedParticipantIds: __spreadArray(__spreadArray([], state.bannedParticipantIds, true), [bannedUser.userId], false) });
343
+ }
344
+ return state;
345
+ }
346
+ case ON_USER_UNBANNED: {
347
+ var eventedChannel = action.payload.channel;
348
+ var unbannedUser_1 = action.payload.user;
349
+ var currentChannel = state.currentOpenChannel;
350
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
351
+ return __assign(__assign({}, state), { bannedParticipantIds: state.bannedParticipantIds.filter(function (userId) { return userId !== unbannedUser_1.userId; }) });
352
+ }
353
+ return state;
354
+ }
355
+ case ON_CHANNEL_FROZEN: {
356
+ var frozenChannel = action.payload;
357
+ var currentChannel = state.currentOpenChannel;
358
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {
359
+ return state;
360
+ }
361
+ return __assign(__assign({}, state), { frozen: true });
362
+ }
363
+ case ON_CHANNEL_UNFROZEN: {
364
+ var unfrozenChannel = action.payload;
365
+ var currentChannel = state.currentOpenChannel;
366
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {
367
+ return state;
368
+ }
369
+ return __assign(__assign({}, state), { frozen: false });
370
+ }
371
+ case ON_CHANNEL_CHANGED: {
372
+ var changedChannel = action.payload;
373
+ var currentChannel = state.currentOpenChannel;
374
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {
375
+ return state;
376
+ }
377
+ return __assign(__assign({}, state), { currentOpenChannel: changedChannel });
378
+ }
379
+ case ON_CHANNEL_DELETED: {
380
+ var deletedChannelUrl = action.payload;
381
+ var currentChannel = state === null || state === void 0 ? void 0 : state.currentOpenChannel;
382
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === deletedChannelUrl) {
383
+ return __assign(__assign({}, state), { currentOpenChannel: null });
384
+ }
385
+ return state;
386
+ }
387
+ case ON_META_DATA_CREATED: {
388
+ // const eventedChannel = action.payload.channel;
389
+ // const createdMetaData = action.payload.metaData;
390
+ // return {
391
+ // ...state
392
+ // };
393
+ return state;
394
+ }
395
+ case ON_META_DATA_UPDATED: {
396
+ // const eventedChannel = action.payload.channel;
397
+ // const updatedMetaData = action.payload.metaData;
398
+ // return {
399
+ // ...state
400
+ // };
401
+ return state;
402
+ }
403
+ case ON_META_DATA_DELETED: {
404
+ // const eventedChannel = action.payload.channel;
405
+ // const deletedMetaDataKeys = action.payload.metaDataKeys;
406
+ // return {
407
+ // ...state
408
+ // };
409
+ return state;
410
+ }
411
+ case ON_META_COUNTERS_CREATED: {
412
+ // const eventedChannel = action.payload.channel;
413
+ // const createdMetaCounter = action.payload.metaCounter;
414
+ // return {
415
+ // ...state
416
+ // };
417
+ return state;
418
+ }
419
+ case ON_META_COUNTERS_UPDATED: {
420
+ // const eventedChannel = action.payload.channel;
421
+ // const updatedMetaCounter = action.payload.metaCounter;
422
+ // return {
423
+ // ...state
424
+ // };
425
+ return state;
426
+ }
427
+ case ON_META_COUNTERS_DELETED: {
428
+ // const eventedChannel = action.payload.channel;
429
+ // const deletedMetaCounterKeys = action.payload.metaCounterKeys;
430
+ // return {
431
+ // ...state
432
+ // };
433
+ return state;
434
+ }
435
+ case ON_MENTION_RECEIVED: {
436
+ // const eventedChannel = action.payload.channel;
437
+ // const mentionedMessage = action.payload.message;
438
+ // return {
439
+ // ...state
440
+ // };
441
+ return state;
442
+ }
443
+ default:
444
+ return state;
445
+ }
447
446
  }
448
447
 
449
- var initialState = {
450
- allMessages: [],
451
- loading: false,
452
- initialized: false,
453
- currentOpenChannel: null,
454
- isInvalid: false,
455
- hasMore: false,
456
- lastMessageTimestamp: 0,
457
- frozen: false,
458
- operators: [],
459
- participants: [],
460
- bannedParticipantIds: [],
461
- mutedParticipantIds: [],
448
+ var initialState = {
449
+ allMessages: [],
450
+ loading: false,
451
+ initialized: false,
452
+ currentOpenChannel: null,
453
+ isInvalid: false,
454
+ hasMore: false,
455
+ lastMessageTimestamp: 0,
456
+ frozen: false,
457
+ operators: [],
458
+ participants: [],
459
+ bannedParticipantIds: [],
460
+ mutedParticipantIds: [],
462
461
  };
463
462
 
464
- function useSetChannel(_a, _b) {
465
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, fetchingParticipants = _a.fetchingParticipants, userId = _a.userId, currentOpenChannel = _a.currentOpenChannel;
466
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
467
- useEffect(function () {
468
- var _a;
469
- if (channelUrl && sdkInit && (sdk === null || sdk === void 0 ? void 0 : sdk.openChannel)) {
470
- if (currentOpenChannel && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.exit)) {
471
- (_a = currentOpenChannel.exit) === null || _a === void 0 ? void 0 : _a.call(currentOpenChannel).then(function () {
472
- logger.info('OpenChannel | useSetChannel: Exit from the previous open channel', currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url);
473
- messagesDispatcher({
474
- type: EXIT_CURRENT_CHANNEL,
475
- payload: currentOpenChannel,
476
- });
477
- });
478
- }
479
- logger.info('OpenChannel | useSetChannel: Fetching channel', channelUrl);
480
- sdk.openChannel.getChannel(channelUrl).then(function (openChannel) {
481
- logger.info('OpenChannel | useSetChannel: Succeeded to fetch channel', openChannel);
482
- messagesDispatcher({
483
- type: SET_CURRENT_CHANNEL,
484
- payload: openChannel,
485
- });
486
- openChannel.enter().then(function () {
487
- if (openChannel.isOperator(userId)) { // only operator has a permission to fetch these list
488
- var bannedParticipantListQuery = openChannel.createBannedUserListQuery();
489
- var mutedParticipantListQuery = openChannel.createMutedUserListQuery();
490
- fetchWithListQuery(bannedParticipantListQuery, logger, function (users) {
491
- messagesDispatcher({
492
- type: FETCH_BANNED_USER_LIST,
493
- payload: {
494
- channel: openChannel,
495
- users: users,
496
- },
497
- });
498
- });
499
- fetchWithListQuery(mutedParticipantListQuery, logger, function (users) {
500
- messagesDispatcher({
501
- type: FETCH_MUTED_USER_LIST,
502
- payload: {
503
- channel: openChannel,
504
- users: users,
505
- },
506
- });
507
- });
508
- }
509
- else {
510
- openChannel.getMyMutedInfo()
511
- .then(function (mutedInfo) {
512
- if (mutedInfo === null || mutedInfo === void 0 ? void 0 : mutedInfo.isMuted) {
513
- messagesDispatcher({
514
- type: FETCH_MUTED_USER_LIST,
515
- payload: {
516
- channel: openChannel,
517
- users: [sdk === null || sdk === void 0 ? void 0 : sdk.currentUser],
518
- },
519
- });
520
- }
521
- });
522
- }
523
- if (fetchingParticipants) {
524
- // fetch participants list
525
- var participantListQuery = openChannel.createParticipantListQuery({
526
- limit: openChannel.participantCount,
527
- });
528
- fetchWithListQuery(participantListQuery, logger, function (users) {
529
- messagesDispatcher({
530
- type: FETCH_PARTICIPANT_LIST,
531
- payload: {
532
- channel: openChannel,
533
- users: users,
534
- },
535
- });
536
- });
537
- }
538
- }).catch(function (error) {
539
- logger.warning('OpenChannel | useSetChannel: Failed to enter channel', { channelUrl: channelUrl, error: error });
540
- messagesDispatcher({
541
- type: SET_CHANNEL_INVALID,
542
- payload: null,
543
- });
544
- });
545
- }).catch(function (error) {
546
- logger.warning('OpenChannel | useSetChannel: Failed to fetch channel', { channelUrl: channelUrl, error: error });
547
- messagesDispatcher({
548
- type: SET_CHANNEL_INVALID,
549
- payload: null,
550
- });
551
- });
552
- }
553
- }, [channelUrl, sdkInit, fetchingParticipants]);
463
+ function useSetChannel(_a, _b) {
464
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, fetchingParticipants = _a.fetchingParticipants, userId = _a.userId, currentOpenChannel = _a.currentOpenChannel;
465
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
466
+ useEffect(function () {
467
+ var _a;
468
+ if (channelUrl && sdkInit && (sdk === null || sdk === void 0 ? void 0 : sdk.openChannel)) {
469
+ if (currentOpenChannel && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.exit)) {
470
+ (_a = currentOpenChannel.exit) === null || _a === void 0 ? void 0 : _a.call(currentOpenChannel).then(function () {
471
+ logger.info('OpenChannel | useSetChannel: Exit from the previous open channel', currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url);
472
+ messagesDispatcher({
473
+ type: EXIT_CURRENT_CHANNEL,
474
+ payload: currentOpenChannel,
475
+ });
476
+ });
477
+ }
478
+ logger.info('OpenChannel | useSetChannel: Fetching channel', channelUrl);
479
+ sdk.openChannel.getChannel(channelUrl).then(function (openChannel) {
480
+ logger.info('OpenChannel | useSetChannel: Succeeded to fetch channel', openChannel);
481
+ messagesDispatcher({
482
+ type: SET_CURRENT_CHANNEL,
483
+ payload: openChannel,
484
+ });
485
+ openChannel.enter().then(function () {
486
+ if (openChannel.isOperator(userId)) { // only operator has a permission to fetch these list
487
+ var bannedParticipantListQuery = openChannel.createBannedUserListQuery();
488
+ var mutedParticipantListQuery = openChannel.createMutedUserListQuery();
489
+ fetchWithListQuery(bannedParticipantListQuery, logger, function (users) {
490
+ messagesDispatcher({
491
+ type: FETCH_BANNED_USER_LIST,
492
+ payload: {
493
+ channel: openChannel,
494
+ users: users,
495
+ },
496
+ });
497
+ });
498
+ fetchWithListQuery(mutedParticipantListQuery, logger, function (users) {
499
+ messagesDispatcher({
500
+ type: FETCH_MUTED_USER_LIST,
501
+ payload: {
502
+ channel: openChannel,
503
+ users: users,
504
+ },
505
+ });
506
+ });
507
+ }
508
+ else {
509
+ openChannel.getMyMutedInfo()
510
+ .then(function (mutedInfo) {
511
+ if (mutedInfo === null || mutedInfo === void 0 ? void 0 : mutedInfo.isMuted) {
512
+ messagesDispatcher({
513
+ type: FETCH_MUTED_USER_LIST,
514
+ payload: {
515
+ channel: openChannel,
516
+ users: [sdk === null || sdk === void 0 ? void 0 : sdk.currentUser],
517
+ },
518
+ });
519
+ }
520
+ });
521
+ }
522
+ if (fetchingParticipants) {
523
+ // fetch participants list
524
+ var participantListQuery = openChannel.createParticipantListQuery({
525
+ limit: openChannel.participantCount,
526
+ });
527
+ fetchWithListQuery(participantListQuery, logger, function (users) {
528
+ messagesDispatcher({
529
+ type: FETCH_PARTICIPANT_LIST,
530
+ payload: {
531
+ channel: openChannel,
532
+ users: users,
533
+ },
534
+ });
535
+ });
536
+ }
537
+ }).catch(function (error) {
538
+ logger.warning('OpenChannel | useSetChannel: Failed to enter channel', { channelUrl: channelUrl, error: error });
539
+ messagesDispatcher({
540
+ type: SET_CHANNEL_INVALID,
541
+ payload: null,
542
+ });
543
+ });
544
+ }).catch(function (error) {
545
+ logger.warning('OpenChannel | useSetChannel: Failed to fetch channel', { channelUrl: channelUrl, error: error });
546
+ messagesDispatcher({
547
+ type: SET_CHANNEL_INVALID,
548
+ payload: null,
549
+ });
550
+ });
551
+ }
552
+ }, [channelUrl, sdkInit, fetchingParticipants]);
554
553
  }
555
554
 
556
- function useHandleChannelEvents(_a, _b) {
557
- var currentOpenChannel = _a.currentOpenChannel, checkScrollBottom = _a.checkScrollBottom;
558
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
559
- useEffect(function () {
560
- var _a, _b;
561
- var messageReceiverId = uuidv4();
562
- if (currentOpenChannel && currentOpenChannel.url && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
563
- logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);
564
- var channelHandlerParams = {
565
- onMessageReceived: function (channel, message) {
566
- var scrollToEnd = checkScrollBottom();
567
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
568
- logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl: channelUrl, message: message });
569
- messagesDispatcher({
570
- type: ON_MESSAGE_RECEIVED,
571
- payload: { channel: channel, message: message },
572
- });
573
- if (scrollToEnd) {
574
- try {
575
- setTimeout(function () {
576
- scrollIntoLast(0, scrollRef);
577
- });
578
- }
579
- catch (error) {
580
- logger.warning('OpenChannel | onMessageReceived | scroll to end failed');
581
- }
582
- }
583
- },
584
- onMessageUpdated: function (channel, message) {
585
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
586
- logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl: channelUrl, message: message });
587
- messagesDispatcher({
588
- type: ON_MESSAGE_UPDATED,
589
- payload: { channel: channel, message: message },
590
- });
591
- },
592
- onMessageDeleted: function (channel, messageId) {
593
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
594
- logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl: channelUrl, messageId: messageId });
595
- messagesDispatcher({
596
- type: ON_MESSAGE_DELETED,
597
- payload: { channel: channel, messageId: messageId },
598
- });
599
- },
600
- onOperatorUpdated: function (channel, operators) {
601
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
602
- logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl: channelUrl, operators: operators });
603
- messagesDispatcher({
604
- type: ON_OPERATOR_UPDATED,
605
- payload: { channel: channel, operators: operators },
606
- });
607
- },
608
- onUserEntered: function (channel, user) {
609
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
610
- logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl: channelUrl, user: user });
611
- messagesDispatcher({
612
- type: ON_USER_ENTERED,
613
- payload: { channel: channel, user: user },
614
- });
615
- },
616
- onUserExited: function (channel, user) {
617
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
618
- logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl: channelUrl, user: user });
619
- messagesDispatcher({
620
- type: ON_USER_EXITED,
621
- payload: { channel: channel, user: user },
622
- });
623
- },
624
- onUserMuted: function (channel, user) {
625
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
626
- logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl: channelUrl, user: user });
627
- messagesDispatcher({
628
- type: ON_USER_MUTED,
629
- payload: { channel: channel, user: user },
630
- });
631
- },
632
- onUserUnmuted: function (channel, user) {
633
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
634
- logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl: channelUrl, user: user });
635
- messagesDispatcher({
636
- type: ON_USER_UNMUTED,
637
- payload: { channel: channel, user: user },
638
- });
639
- },
640
- onUserBanned: function (channel, user) {
641
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
642
- logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl: channelUrl, user: user });
643
- messagesDispatcher({
644
- type: ON_USER_BANNED,
645
- payload: { channel: channel, user: user, currentUser: sdk === null || sdk === void 0 ? void 0 : sdk.currentUser },
646
- });
647
- },
648
- onUserUnbanned: function (channel, user) {
649
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
650
- logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl: channelUrl, user: user });
651
- messagesDispatcher({
652
- type: ON_USER_UNBANNED,
653
- payload: { channel: channel, user: user },
654
- });
655
- },
656
- onChannelFrozen: function (channel) {
657
- logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);
658
- messagesDispatcher({
659
- type: ON_CHANNEL_FROZEN,
660
- payload: channel,
661
- });
662
- },
663
- onChannelUnfrozen: function (channel) {
664
- logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);
665
- messagesDispatcher({
666
- type: ON_CHANNEL_UNFROZEN,
667
- payload: channel,
668
- });
669
- },
670
- onChannelChanged: function (channel) {
671
- logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);
672
- messagesDispatcher({
673
- type: ON_CHANNEL_CHANGED,
674
- payload: channel,
675
- });
676
- },
677
- onMetaDataCreated: function (channel, metaData) {
678
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
679
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl: channelUrl, metaData: metaData });
680
- messagesDispatcher({
681
- type: ON_META_DATA_CREATED,
682
- payload: { channel: channel, metaData: metaData },
683
- });
684
- },
685
- onMetaDataUpdated: function (channel, metaData) {
686
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
687
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl: channelUrl, metaData: metaData });
688
- messagesDispatcher({
689
- type: ON_META_DATA_UPDATED,
690
- payload: { channel: channel, metaData: metaData },
691
- });
692
- },
693
- onMetaDataDeleted: function (channel, metaDataKeys) {
694
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
695
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl: channelUrl, metaDataKeys: metaDataKeys });
696
- messagesDispatcher({
697
- type: ON_META_DATA_DELETED,
698
- payload: { channel: channel, metaDataKeys: metaDataKeys },
699
- });
700
- },
701
- onMetaCounterCreated: function (channel, metaCounter) {
702
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
703
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl: channelUrl, metaCounter: metaCounter });
704
- messagesDispatcher({
705
- type: ON_META_COUNTERS_CREATED,
706
- payload: { channel: channel, metaCounter: metaCounter },
707
- });
708
- },
709
- onMetaCounterUpdated: function (channel, metaCounter) {
710
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
711
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl: channelUrl, metaCounter: metaCounter });
712
- messagesDispatcher({
713
- type: ON_META_COUNTERS_UPDATED,
714
- payload: { channel: channel, metaCounter: metaCounter },
715
- });
716
- },
717
- onMetaCounterDeleted: function (channel, metaCounterKeys) {
718
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
719
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl: channelUrl, metaCounterKeys: metaCounterKeys });
720
- messagesDispatcher({
721
- type: ON_META_COUNTERS_DELETED,
722
- payload: { channel: channel, metaCounterKeys: metaCounterKeys },
723
- });
724
- },
725
- onMentionReceived: function (channel, message) {
726
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
727
- logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl: channelUrl, message: message });
728
- messagesDispatcher({
729
- type: ON_MENTION_RECEIVED,
730
- payload: { channel: channel, message: message },
731
- });
732
- },
733
- onChannelDeleted: function (channelUrl, channelType) {
734
- if (channelType === ChannelType.OPEN && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url) === channelUrl) {
735
- messagesDispatcher({
736
- type: ON_CHANNEL_DELETED,
737
- payload: channelUrl,
738
- });
739
- }
740
- },
741
- };
742
- var ChannelHandler = new OpenChannelHandler(channelHandlerParams);
743
- (_b = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _b === void 0 ? void 0 : _b.addOpenChannelHandler(messageReceiverId, ChannelHandler);
744
- }
745
- return function () {
746
- var _a;
747
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) {
748
- logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);
749
- sdk.openChannel.removeOpenChannelHandler(messageReceiverId);
750
- }
751
- };
752
- }, [currentOpenChannel]);
555
+ function useHandleChannelEvents(_a, _b) {
556
+ var currentOpenChannel = _a.currentOpenChannel, checkScrollBottom = _a.checkScrollBottom;
557
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
558
+ useEffect(function () {
559
+ var _a, _b;
560
+ var messageReceiverId = uuidv4();
561
+ if (currentOpenChannel && currentOpenChannel.url && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
562
+ logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);
563
+ var channelHandlerParams = {
564
+ onMessageReceived: function (channel, message) {
565
+ var scrollToEnd = checkScrollBottom();
566
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
567
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl: channelUrl, message: message });
568
+ messagesDispatcher({
569
+ type: ON_MESSAGE_RECEIVED,
570
+ payload: { channel: channel, message: message },
571
+ });
572
+ if (scrollToEnd) {
573
+ try {
574
+ setTimeout(function () {
575
+ scrollIntoLast(0, scrollRef);
576
+ });
577
+ }
578
+ catch (error) {
579
+ logger.warning('OpenChannel | onMessageReceived | scroll to end failed');
580
+ }
581
+ }
582
+ },
583
+ onMessageUpdated: function (channel, message) {
584
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
585
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl: channelUrl, message: message });
586
+ messagesDispatcher({
587
+ type: ON_MESSAGE_UPDATED,
588
+ payload: { channel: channel, message: message },
589
+ });
590
+ },
591
+ onMessageDeleted: function (channel, messageId) {
592
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
593
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl: channelUrl, messageId: messageId });
594
+ messagesDispatcher({
595
+ type: ON_MESSAGE_DELETED,
596
+ payload: { channel: channel, messageId: messageId },
597
+ });
598
+ },
599
+ onOperatorUpdated: function (channel, operators) {
600
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
601
+ logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl: channelUrl, operators: operators });
602
+ messagesDispatcher({
603
+ type: ON_OPERATOR_UPDATED,
604
+ payload: { channel: channel, operators: operators },
605
+ });
606
+ },
607
+ onUserEntered: function (channel, user) {
608
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
609
+ logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl: channelUrl, user: user });
610
+ messagesDispatcher({
611
+ type: ON_USER_ENTERED,
612
+ payload: { channel: channel, user: user },
613
+ });
614
+ },
615
+ onUserExited: function (channel, user) {
616
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
617
+ logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl: channelUrl, user: user });
618
+ messagesDispatcher({
619
+ type: ON_USER_EXITED,
620
+ payload: { channel: channel, user: user },
621
+ });
622
+ },
623
+ onUserMuted: function (channel, user) {
624
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
625
+ logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl: channelUrl, user: user });
626
+ messagesDispatcher({
627
+ type: ON_USER_MUTED,
628
+ payload: { channel: channel, user: user },
629
+ });
630
+ },
631
+ onUserUnmuted: function (channel, user) {
632
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
633
+ logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl: channelUrl, user: user });
634
+ messagesDispatcher({
635
+ type: ON_USER_UNMUTED,
636
+ payload: { channel: channel, user: user },
637
+ });
638
+ },
639
+ onUserBanned: function (channel, user) {
640
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
641
+ logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl: channelUrl, user: user });
642
+ messagesDispatcher({
643
+ type: ON_USER_BANNED,
644
+ payload: { channel: channel, user: user, currentUser: sdk === null || sdk === void 0 ? void 0 : sdk.currentUser },
645
+ });
646
+ },
647
+ onUserUnbanned: function (channel, user) {
648
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
649
+ logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl: channelUrl, user: user });
650
+ messagesDispatcher({
651
+ type: ON_USER_UNBANNED,
652
+ payload: { channel: channel, user: user },
653
+ });
654
+ },
655
+ onChannelFrozen: function (channel) {
656
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);
657
+ messagesDispatcher({
658
+ type: ON_CHANNEL_FROZEN,
659
+ payload: channel,
660
+ });
661
+ },
662
+ onChannelUnfrozen: function (channel) {
663
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);
664
+ messagesDispatcher({
665
+ type: ON_CHANNEL_UNFROZEN,
666
+ payload: channel,
667
+ });
668
+ },
669
+ onChannelChanged: function (channel) {
670
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);
671
+ messagesDispatcher({
672
+ type: ON_CHANNEL_CHANGED,
673
+ payload: channel,
674
+ });
675
+ },
676
+ onMetaDataCreated: function (channel, metaData) {
677
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
678
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl: channelUrl, metaData: metaData });
679
+ messagesDispatcher({
680
+ type: ON_META_DATA_CREATED,
681
+ payload: { channel: channel, metaData: metaData },
682
+ });
683
+ },
684
+ onMetaDataUpdated: function (channel, metaData) {
685
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
686
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl: channelUrl, metaData: metaData });
687
+ messagesDispatcher({
688
+ type: ON_META_DATA_UPDATED,
689
+ payload: { channel: channel, metaData: metaData },
690
+ });
691
+ },
692
+ onMetaDataDeleted: function (channel, metaDataKeys) {
693
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
694
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl: channelUrl, metaDataKeys: metaDataKeys });
695
+ messagesDispatcher({
696
+ type: ON_META_DATA_DELETED,
697
+ payload: { channel: channel, metaDataKeys: metaDataKeys },
698
+ });
699
+ },
700
+ onMetaCounterCreated: function (channel, metaCounter) {
701
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
702
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl: channelUrl, metaCounter: metaCounter });
703
+ messagesDispatcher({
704
+ type: ON_META_COUNTERS_CREATED,
705
+ payload: { channel: channel, metaCounter: metaCounter },
706
+ });
707
+ },
708
+ onMetaCounterUpdated: function (channel, metaCounter) {
709
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
710
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl: channelUrl, metaCounter: metaCounter });
711
+ messagesDispatcher({
712
+ type: ON_META_COUNTERS_UPDATED,
713
+ payload: { channel: channel, metaCounter: metaCounter },
714
+ });
715
+ },
716
+ onMetaCounterDeleted: function (channel, metaCounterKeys) {
717
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
718
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl: channelUrl, metaCounterKeys: metaCounterKeys });
719
+ messagesDispatcher({
720
+ type: ON_META_COUNTERS_DELETED,
721
+ payload: { channel: channel, metaCounterKeys: metaCounterKeys },
722
+ });
723
+ },
724
+ onMentionReceived: function (channel, message) {
725
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
726
+ logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl: channelUrl, message: message });
727
+ messagesDispatcher({
728
+ type: ON_MENTION_RECEIVED,
729
+ payload: { channel: channel, message: message },
730
+ });
731
+ },
732
+ onChannelDeleted: function (channelUrl, channelType) {
733
+ if (channelType === ChannelType.OPEN && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url) === channelUrl) {
734
+ messagesDispatcher({
735
+ type: ON_CHANNEL_DELETED,
736
+ payload: channelUrl,
737
+ });
738
+ }
739
+ },
740
+ };
741
+ var ChannelHandler = new OpenChannelHandler(channelHandlerParams);
742
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _b === void 0 ? void 0 : _b.addOpenChannelHandler(messageReceiverId, ChannelHandler);
743
+ }
744
+ return function () {
745
+ var _a;
746
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) {
747
+ logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);
748
+ sdk.openChannel.removeOpenChannelHandler(messageReceiverId);
749
+ }
750
+ };
751
+ }, [currentOpenChannel]);
753
752
  }
754
753
 
755
- function useInitialMessagesFetch(_a, _b) {
756
- var currentOpenChannel = _a.currentOpenChannel, userFilledMessageListParams = _a.userFilledMessageListParams;
757
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
758
- useEffect(function () {
759
- logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);
760
- messagesDispatcher({
761
- type: RESET_MESSAGES,
762
- payload: null,
763
- });
764
- if (currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {
765
- var messageListParams_1 = {
766
- nextResultSize: 0,
767
- prevResultSize: 30,
768
- isInclusive: true,
769
- includeReactions: false,
770
- };
771
- if (userFilledMessageListParams) {
772
- Object.keys(userFilledMessageListParams).forEach(function (key) {
773
- messageListParams_1[key] = userFilledMessageListParams[key];
774
- });
775
- logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');
776
- }
777
- logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
778
- messagesDispatcher({
779
- type: GET_PREV_MESSAGES_START,
780
- payload: null,
781
- });
782
- currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
783
- logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);
784
- var hasMore = (messages && messages.length > 0);
785
- var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
786
- messagesDispatcher({
787
- type: GET_PREV_MESSAGES_SUCESS,
788
- payload: {
789
- currentOpenChannel: currentOpenChannel,
790
- messages: messages,
791
- hasMore: hasMore,
792
- lastMessageTimestamp: lastMessageTimestamp,
793
- },
794
- });
795
- setTimeout(function () { scrollIntoLast(0, scrollRef); });
796
- }).catch(function (error) {
797
- logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);
798
- messagesDispatcher({
799
- type: GET_PREV_MESSAGES_FAIL,
800
- payload: {
801
- currentOpenChannel: currentOpenChannel,
802
- messages: [],
803
- hasMore: false,
804
- lastMessageTimestamp: 0,
805
- },
806
- });
807
- });
808
- }
809
- }, [currentOpenChannel, userFilledMessageListParams]);
754
+ function useInitialMessagesFetch(_a, _b) {
755
+ var currentOpenChannel = _a.currentOpenChannel, userFilledMessageListParams = _a.userFilledMessageListParams;
756
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
757
+ useEffect(function () {
758
+ logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);
759
+ messagesDispatcher({
760
+ type: RESET_MESSAGES,
761
+ payload: null,
762
+ });
763
+ if (currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {
764
+ var messageListParams_1 = {
765
+ nextResultSize: 0,
766
+ prevResultSize: 30,
767
+ isInclusive: true,
768
+ includeReactions: false,
769
+ };
770
+ if (userFilledMessageListParams) {
771
+ Object.keys(userFilledMessageListParams).forEach(function (key) {
772
+ messageListParams_1[key] = userFilledMessageListParams[key];
773
+ });
774
+ logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');
775
+ }
776
+ logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
777
+ messagesDispatcher({
778
+ type: GET_PREV_MESSAGES_START,
779
+ payload: null,
780
+ });
781
+ currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
782
+ logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);
783
+ var hasMore = (messages && messages.length > 0);
784
+ var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
785
+ messagesDispatcher({
786
+ type: GET_PREV_MESSAGES_SUCESS,
787
+ payload: {
788
+ currentOpenChannel: currentOpenChannel,
789
+ messages: messages,
790
+ hasMore: hasMore,
791
+ lastMessageTimestamp: lastMessageTimestamp,
792
+ },
793
+ });
794
+ setTimeout(function () { scrollIntoLast(0, scrollRef); });
795
+ }).catch(function (error) {
796
+ logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);
797
+ messagesDispatcher({
798
+ type: GET_PREV_MESSAGES_FAIL,
799
+ payload: {
800
+ currentOpenChannel: currentOpenChannel,
801
+ messages: [],
802
+ hasMore: false,
803
+ lastMessageTimestamp: 0,
804
+ },
805
+ });
806
+ });
807
+ }
808
+ }, [currentOpenChannel, userFilledMessageListParams]);
810
809
  }
811
810
 
812
- function useScrollCallback(_a, _b) {
813
- var currentOpenChannel = _a.currentOpenChannel, lastMessageTimestamp = _a.lastMessageTimestamp, fetchMore = _a.fetchMore;
814
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, hasMore = _b.hasMore, userFilledMessageListParams = _b.userFilledMessageListParams;
815
- return useCallback(function (callback) {
816
- if (fetchMore && hasMore) {
817
- logger.info('OpenChannel | useScrollCallback: start');
818
- var messageListParams_1 = {
819
- prevResultSize: 30,
820
- includeReactions: false,
821
- nextResultSize: 0,
822
- };
823
- if (userFilledMessageListParams) {
824
- Object.keys(userFilledMessageListParams).forEach(function (key) {
825
- messageListParams_1[key] = userFilledMessageListParams[key];
826
- });
827
- logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);
828
- }
829
- logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
830
- currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams_1).then(function (messages) {
831
- logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);
832
- var hasMore = (messages && messages.length > 0);
833
- var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
834
- messagesDispatcher({
835
- type: GET_PREV_MESSAGES_SUCESS,
836
- payload: {
837
- currentOpenChannel: currentOpenChannel,
838
- messages: messages,
839
- hasMore: hasMore,
840
- lastMessageTimestamp: lastMessageTimestamp,
841
- },
842
- });
843
- setTimeout(function () {
844
- callback();
845
- });
846
- }).catch(function (error) {
847
- logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);
848
- messagesDispatcher({
849
- type: GET_PREV_MESSAGES_FAIL,
850
- payload: {
851
- currentOpenChannel: currentOpenChannel,
852
- messages: [],
853
- hasMore: false,
854
- lastMessageTimestamp: 0,
855
- },
856
- });
857
- });
858
- }
859
- }, [currentOpenChannel, lastMessageTimestamp, fetchMore, sdk]);
811
+ function useScrollCallback(_a, _b) {
812
+ var currentOpenChannel = _a.currentOpenChannel, lastMessageTimestamp = _a.lastMessageTimestamp, fetchMore = _a.fetchMore;
813
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, hasMore = _b.hasMore, userFilledMessageListParams = _b.userFilledMessageListParams;
814
+ return useCallback(function (callback) {
815
+ if (fetchMore && hasMore) {
816
+ logger.info('OpenChannel | useScrollCallback: start');
817
+ var messageListParams_1 = {
818
+ prevResultSize: 30,
819
+ includeReactions: false,
820
+ nextResultSize: 0,
821
+ };
822
+ if (userFilledMessageListParams) {
823
+ Object.keys(userFilledMessageListParams).forEach(function (key) {
824
+ messageListParams_1[key] = userFilledMessageListParams[key];
825
+ });
826
+ logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);
827
+ }
828
+ logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
829
+ currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams_1).then(function (messages) {
830
+ logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);
831
+ var hasMore = (messages && messages.length > 0);
832
+ var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
833
+ messagesDispatcher({
834
+ type: GET_PREV_MESSAGES_SUCESS,
835
+ payload: {
836
+ currentOpenChannel: currentOpenChannel,
837
+ messages: messages,
838
+ hasMore: hasMore,
839
+ lastMessageTimestamp: lastMessageTimestamp,
840
+ },
841
+ });
842
+ setTimeout(function () {
843
+ callback();
844
+ });
845
+ }).catch(function (error) {
846
+ logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);
847
+ messagesDispatcher({
848
+ type: GET_PREV_MESSAGES_FAIL,
849
+ payload: {
850
+ currentOpenChannel: currentOpenChannel,
851
+ messages: [],
852
+ hasMore: false,
853
+ lastMessageTimestamp: 0,
854
+ },
855
+ });
856
+ });
857
+ }
858
+ }, [currentOpenChannel, lastMessageTimestamp, fetchMore, sdk]);
860
859
  }
861
860
 
862
- function useCheckScrollBottom(_a, _b) {
863
- var conversationScrollRef = _a.conversationScrollRef;
864
- var logger = _b.logger;
865
- return useCallback(function () {
866
- var isBottom = true;
867
- if (conversationScrollRef && (conversationScrollRef === null || conversationScrollRef === void 0 ? void 0 : conversationScrollRef.current)) {
868
- try {
869
- var conversationScroll = conversationScrollRef.current;
870
- isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;
871
- }
872
- catch (error) {
873
- logger.error('OpenChannel | useCheckScrollBottom', error);
874
- }
875
- }
876
- return isBottom;
877
- }, [conversationScrollRef]);
861
+ function useCheckScrollBottom(_a, _b) {
862
+ var conversationScrollRef = _a.conversationScrollRef;
863
+ var logger = _b.logger;
864
+ return useCallback(function () {
865
+ var isBottom = true;
866
+ if (conversationScrollRef && (conversationScrollRef === null || conversationScrollRef === void 0 ? void 0 : conversationScrollRef.current)) {
867
+ try {
868
+ var conversationScroll = conversationScrollRef.current;
869
+ isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;
870
+ }
871
+ catch (error) {
872
+ logger.error('OpenChannel | useCheckScrollBottom', error);
873
+ }
874
+ }
875
+ return isBottom;
876
+ }, [conversationScrollRef]);
878
877
  }
879
878
 
880
- function useSendMessageCallback(_a, _b) {
881
- var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage, messageInputRef = _a.messageInputRef;
882
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
883
- return useCallback(function () {
884
- if (sdk) {
885
- var text = messageInputRef.current.innerText;
886
- var createParamsDefault = function (txt) {
887
- var message = txt;
888
- var params = {
889
- message: message,
890
- };
891
- return params;
892
- };
893
- var createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
894
- if (createCustomParams) {
895
- logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
896
- }
897
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
898
- logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);
899
- var pendingMsg_1 = null;
900
- currentOpenChannel.sendUserMessage(params)
901
- .onPending(function (pendingMessage) {
902
- messagesDispatcher({
903
- type: SENDING_MESSAGE_START,
904
- payload: {
905
- message: pendingMessage,
906
- channel: currentOpenChannel,
907
- },
908
- });
909
- pendingMsg_1 = pendingMessage;
910
- setTimeout(function () { return scrollIntoLast(0, scrollRef); });
911
- })
912
- .onSucceeded(function (message) {
913
- logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);
914
- messagesDispatcher({
915
- type: SENDING_MESSAGE_SUCCEEDED,
916
- payload: message,
917
- });
918
- })
919
- .onFailed(function (error) {
920
- logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);
921
- messagesDispatcher({
922
- type: SENDING_MESSAGE_FAILED,
923
- payload: pendingMsg_1,
924
- });
925
- // https://sendbird.com/docs/chat/v3/javascript/guides/error-codes#2-server-error-codes
926
- // TODO: Do we need to handle the error cases?
927
- // @ts-ignore
928
- if ((error === null || error === void 0 ? void 0 : error.code) === 900041) {
929
- messagesDispatcher({
930
- type: ON_USER_MUTED,
931
- payload: {
932
- channel: currentOpenChannel,
933
- user: sdk.currentUser,
934
- },
935
- });
936
- }
937
- });
938
- }
939
- }, [currentOpenChannel, onBeforeSendUserMessage, messageInputRef]);
879
+ function useSendMessageCallback(_a, _b) {
880
+ var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage, messageInputRef = _a.messageInputRef;
881
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
882
+ return useCallback(function () {
883
+ if (sdk) {
884
+ var text = messageInputRef.current.innerText;
885
+ var createParamsDefault = function (txt) {
886
+ var message = txt;
887
+ var params = {
888
+ message: message,
889
+ };
890
+ return params;
891
+ };
892
+ var createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
893
+ if (createCustomParams) {
894
+ logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
895
+ }
896
+ var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
897
+ logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);
898
+ var pendingMsg_1 = null;
899
+ currentOpenChannel.sendUserMessage(params)
900
+ .onPending(function (pendingMessage) {
901
+ messagesDispatcher({
902
+ type: SENDING_MESSAGE_START,
903
+ payload: {
904
+ message: pendingMessage,
905
+ channel: currentOpenChannel,
906
+ },
907
+ });
908
+ pendingMsg_1 = pendingMessage;
909
+ setTimeout(function () { return scrollIntoLast(0, scrollRef); });
910
+ })
911
+ .onSucceeded(function (message) {
912
+ logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);
913
+ messagesDispatcher({
914
+ type: SENDING_MESSAGE_SUCCEEDED,
915
+ payload: message,
916
+ });
917
+ })
918
+ .onFailed(function (error) {
919
+ logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);
920
+ messagesDispatcher({
921
+ type: SENDING_MESSAGE_FAILED,
922
+ payload: pendingMsg_1,
923
+ });
924
+ // https://sendbird.com/docs/chat/v3/javascript/guides/error-codes#2-server-error-codes
925
+ // TODO: Do we need to handle the error cases?
926
+ // @ts-ignore
927
+ if ((error === null || error === void 0 ? void 0 : error.code) === 900041) {
928
+ messagesDispatcher({
929
+ type: ON_USER_MUTED,
930
+ payload: {
931
+ channel: currentOpenChannel,
932
+ user: sdk.currentUser,
933
+ },
934
+ });
935
+ }
936
+ });
937
+ }
938
+ }, [currentOpenChannel, onBeforeSendUserMessage, messageInputRef]);
940
939
  }
941
940
 
942
- function useFileUploadCallback(_a, _b) {
943
- var _this = this;
944
- var currentOpenChannel = _a.currentOpenChannel, _c = _a.imageCompression, imageCompression = _c === void 0 ? {} : _c, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
945
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
946
- var stringSet = useLocalization().stringSet;
947
- var openModal = useGlobalModalContext().openModal;
948
- var config = useSendbirdStateContext().config;
949
- var uikitUploadSizeLimit = config.uikitUploadSizeLimit;
950
- return useCallback(function (files) { return __awaiter(_this, void 0, void 0, function () {
951
- var file_1, createCustomParams, createParamsDefault, compressedFiles, compressedFile, params;
952
- return __generator(this, function (_a) {
953
- switch (_a.label) {
954
- case 0:
955
- if (!sdk) return [3 /*break*/, 2];
956
- file_1 = Array.isArray(files) ? files[0] : files;
957
- createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
958
- createParamsDefault = function (file_) {
959
- var params = {};
960
- params.file = file_;
961
- return params;
962
- };
963
- /**
964
- * Validate file sizes
965
- * The default value of uikitUploadSizeLimit is 25MiB
966
- */
967
- if (file_1.size > uikitUploadSizeLimit) {
968
- logger.info("OpenChannel | useFileUploadCallback: Cannot upload file size exceeding ".concat(uikitUploadSizeLimit));
969
- openModal({
970
- modalProps: {
971
- titleText: stringSet.FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT.replace('%d', "".concat(Math.floor(uikitUploadSizeLimit / ONE_MiB))),
972
- hideFooter: true,
973
- },
974
- childElement: function (_a) {
975
- var closeModal = _a.closeModal;
976
- return (React__default.createElement(ModalFooter, { type: ButtonTypes.PRIMARY, submitText: stringSet.BUTTON__OK, hideCancelButton: true, onCancel: closeModal, onSubmit: closeModal }));
977
- },
978
- });
979
- return [2 /*return*/];
980
- }
981
- return [4 /*yield*/, compressImages({
982
- files: [file_1],
983
- imageCompression: imageCompression,
984
- logger: logger,
985
- })];
986
- case 1:
987
- compressedFiles = (_a.sent()).compressedFiles;
988
- compressedFile = compressedFiles[0];
989
- // Send FileMessage
990
- if (createCustomParams) {
991
- logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
992
- }
993
- params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);
994
- logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
995
- currentOpenChannel.sendFileMessage(params)
996
- .onPending(function (pendingMessage) {
997
- messagesDispatcher({
998
- type: SENDING_MESSAGE_START,
999
- payload: {
1000
- // TODO: remove data pollution
1001
- message: __assign(__assign({}, pendingMessage), { url: URL.createObjectURL(file_1),
1002
- // pending thumbnail message seems to be failed
1003
- requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1004
- channel: currentOpenChannel,
1005
- },
1006
- });
1007
- setTimeout(function () { return scrollIntoLast(0, scrollRef); });
1008
- })
1009
- .onSucceeded(function (message) {
1010
- logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1011
- messagesDispatcher({
1012
- type: SENDING_MESSAGE_SUCCEEDED,
1013
- payload: message,
1014
- });
1015
- })
1016
- .onFailed(function (error, message) {
1017
- logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message: message, error: error });
1018
- // @ts-ignore
1019
- message.localUrl = URL.createObjectURL(file_1);
1020
- // @ts-ignore
1021
- message.file = file_1;
1022
- messagesDispatcher({
1023
- type: SENDING_MESSAGE_FAILED,
1024
- payload: message,
1025
- });
1026
- });
1027
- _a.label = 2;
1028
- case 2: return [2 /*return*/];
1029
- }
1030
- });
1031
- }); }, [currentOpenChannel, onBeforeSendFileMessage, imageCompression]);
941
+ function useFileUploadCallback(_a, _b) {
942
+ var _this = this;
943
+ var currentOpenChannel = _a.currentOpenChannel, _c = _a.imageCompression, imageCompression = _c === void 0 ? {} : _c, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
944
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
945
+ var stringSet = useLocalization().stringSet;
946
+ var openModal = useGlobalModalContext().openModal;
947
+ var config = useSendbirdStateContext().config;
948
+ var uikitUploadSizeLimit = config.uikitUploadSizeLimit;
949
+ return useCallback(function (files) { return __awaiter(_this, void 0, void 0, function () {
950
+ var file_1, createCustomParams, createParamsDefault, compressedFiles, compressedFile, params;
951
+ return __generator(this, function (_a) {
952
+ switch (_a.label) {
953
+ case 0:
954
+ if (!sdk) return [3 /*break*/, 2];
955
+ file_1 = Array.isArray(files) ? files[0] : files;
956
+ createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
957
+ createParamsDefault = function (file_) {
958
+ var params = {};
959
+ params.file = file_;
960
+ return params;
961
+ };
962
+ /**
963
+ * Validate file sizes
964
+ * The default value of uikitUploadSizeLimit is 25MiB
965
+ */
966
+ if (file_1.size > uikitUploadSizeLimit) {
967
+ logger.info("OpenChannel | useFileUploadCallback: Cannot upload file size exceeding ".concat(uikitUploadSizeLimit));
968
+ openModal({
969
+ modalProps: {
970
+ titleText: stringSet.FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT.replace('%d', "".concat(Math.floor(uikitUploadSizeLimit / ONE_MiB))),
971
+ hideFooter: true,
972
+ },
973
+ childElement: function (_a) {
974
+ var closeModal = _a.closeModal;
975
+ return (React__default.createElement(ModalFooter, { type: ButtonTypes.PRIMARY, submitText: stringSet.BUTTON__OK, hideCancelButton: true, onCancel: closeModal, onSubmit: closeModal }));
976
+ },
977
+ });
978
+ return [2 /*return*/];
979
+ }
980
+ return [4 /*yield*/, compressImages({
981
+ files: [file_1],
982
+ imageCompression: imageCompression,
983
+ logger: logger,
984
+ })];
985
+ case 1:
986
+ compressedFiles = (_a.sent()).compressedFiles;
987
+ compressedFile = compressedFiles[0];
988
+ // Send FileMessage
989
+ if (createCustomParams) {
990
+ logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
991
+ }
992
+ params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);
993
+ logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
994
+ currentOpenChannel.sendFileMessage(params)
995
+ .onPending(function (pendingMessage) {
996
+ messagesDispatcher({
997
+ type: SENDING_MESSAGE_START,
998
+ payload: {
999
+ // TODO: remove data pollution
1000
+ message: __assign(__assign({}, pendingMessage), { url: URL.createObjectURL(file_1),
1001
+ // pending thumbnail message seems to be failed
1002
+ requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1003
+ channel: currentOpenChannel,
1004
+ },
1005
+ });
1006
+ setTimeout(function () { return scrollIntoLast(0, scrollRef); });
1007
+ })
1008
+ .onSucceeded(function (message) {
1009
+ logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1010
+ messagesDispatcher({
1011
+ type: SENDING_MESSAGE_SUCCEEDED,
1012
+ payload: message,
1013
+ });
1014
+ })
1015
+ .onFailed(function (error, message) {
1016
+ logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message: message, error: error });
1017
+ // @ts-ignore
1018
+ message.localUrl = URL.createObjectURL(file_1);
1019
+ // @ts-ignore
1020
+ message.file = file_1;
1021
+ messagesDispatcher({
1022
+ type: SENDING_MESSAGE_FAILED,
1023
+ payload: message,
1024
+ });
1025
+ });
1026
+ _a.label = 2;
1027
+ case 2: return [2 /*return*/];
1028
+ }
1029
+ });
1030
+ }); }, [currentOpenChannel, onBeforeSendFileMessage, imageCompression]);
1032
1031
  }
1033
1032
 
1034
- function useUpdateMessageCallback(_a, _b) {
1035
- var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
1036
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1037
- return useCallback(function (messageId, text, callback) {
1038
- var createParamsDefault = function (txt) {
1039
- var params = {
1040
- message: txt,
1041
- };
1042
- return params;
1043
- };
1044
- if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {
1045
- logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');
1046
- }
1047
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
1048
- currentOpenChannel.updateUserMessage(messageId, params)
1049
- .then(function (message) {
1050
- if (callback) {
1051
- callback();
1052
- }
1053
- logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message: message, params: params });
1054
- messagesDispatcher({
1055
- type: ON_MESSAGE_UPDATED,
1056
- payload: {
1057
- channel: currentOpenChannel,
1058
- message: message,
1059
- },
1060
- });
1061
- });
1062
- }, [currentOpenChannel, onBeforeSendUserMessage]);
1033
+ function useUpdateMessageCallback(_a, _b) {
1034
+ var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
1035
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1036
+ return useCallback(function (messageId, text, callback) {
1037
+ var createParamsDefault = function (txt) {
1038
+ var params = {
1039
+ message: txt,
1040
+ };
1041
+ return params;
1042
+ };
1043
+ if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {
1044
+ logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');
1045
+ }
1046
+ var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
1047
+ currentOpenChannel.updateUserMessage(messageId, params)
1048
+ .then(function (message) {
1049
+ if (callback) {
1050
+ callback();
1051
+ }
1052
+ logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message: message, params: params });
1053
+ messagesDispatcher({
1054
+ type: ON_MESSAGE_UPDATED,
1055
+ payload: {
1056
+ channel: currentOpenChannel,
1057
+ message: message,
1058
+ },
1059
+ });
1060
+ });
1061
+ }, [currentOpenChannel, onBeforeSendUserMessage]);
1063
1062
  }
1064
1063
 
1065
- function useDeleteMessageCallback(_a, _b) {
1066
- var currentOpenChannel = _a.currentOpenChannel;
1067
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1068
- return useCallback(function (message, callback) {
1069
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);
1070
- var sendingStatus = message.sendingStatus;
1071
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);
1072
- if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1073
- logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);
1074
- messagesDispatcher({
1075
- type: ON_MESSAGE_DELETED_BY_REQ_ID,
1076
- payload: message.reqId,
1077
- });
1078
- if (callback) {
1079
- callback();
1080
- }
1081
- }
1082
- else {
1083
- if (!(message.messageType === 'file' || message.messageType === 'user')) {
1084
- return;
1085
- }
1086
- var messageToDelete = message;
1087
- currentOpenChannel.deleteMessage(messageToDelete).then(function () {
1088
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);
1089
- if (callback) {
1090
- callback();
1091
- }
1092
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
1093
- messagesDispatcher({
1094
- type: ON_MESSAGE_DELETED,
1095
- payload: {
1096
- channel: currentOpenChannel,
1097
- messageId: message.messageId,
1098
- },
1099
- });
1100
- }).catch(function (error) {
1101
- logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
1102
- });
1103
- }
1104
- }, [currentOpenChannel]);
1064
+ function useDeleteMessageCallback(_a, _b) {
1065
+ var currentOpenChannel = _a.currentOpenChannel;
1066
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1067
+ return useCallback(function (message, callback) {
1068
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);
1069
+ var sendingStatus = message.sendingStatus;
1070
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);
1071
+ if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1072
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);
1073
+ messagesDispatcher({
1074
+ type: ON_MESSAGE_DELETED_BY_REQ_ID,
1075
+ payload: message.reqId,
1076
+ });
1077
+ if (callback) {
1078
+ callback();
1079
+ }
1080
+ }
1081
+ else {
1082
+ if (!(message.messageType === 'file' || message.messageType === 'user')) {
1083
+ return;
1084
+ }
1085
+ var messageToDelete = message;
1086
+ currentOpenChannel.deleteMessage(messageToDelete).then(function () {
1087
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);
1088
+ if (callback) {
1089
+ callback();
1090
+ }
1091
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
1092
+ messagesDispatcher({
1093
+ type: ON_MESSAGE_DELETED,
1094
+ payload: {
1095
+ channel: currentOpenChannel,
1096
+ messageId: message.messageId,
1097
+ },
1098
+ });
1099
+ }).catch(function (error) {
1100
+ logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
1101
+ });
1102
+ }
1103
+ }, [currentOpenChannel]);
1105
1104
  }
1106
1105
 
1107
- function useResendMessageCallback(_a, _b) {
1108
- var currentOpenChannel = _a.currentOpenChannel;
1109
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1110
- return useCallback(function (failedMessage) {
1111
- logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);
1112
- if (typeof (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) === 'boolean'
1113
- && failedMessage.isResendable) {
1114
- // userMessage
1115
- if (failedMessage.isUserMessage()) {
1116
- currentOpenChannel
1117
- .resendMessage(failedMessage)
1118
- .onPending(function (message) {
1119
- messagesDispatcher({
1120
- type: RESENDING_MESSAGE_START,
1121
- payload: {
1122
- channel: currentOpenChannel,
1123
- message: message,
1124
- },
1125
- });
1126
- })
1127
- .onSucceeded(function (message) {
1128
- logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);
1129
- messagesDispatcher({
1130
- type: SENDING_MESSAGE_SUCCEEDED,
1131
- payload: message,
1132
- });
1133
- })
1134
- .onFailed(function (error, message) {
1135
- logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);
1136
- messagesDispatcher({
1137
- type: SENDING_MESSAGE_FAILED,
1138
- payload: message,
1139
- });
1140
- });
1141
- }
1142
- // fileMessage
1143
- if (failedMessage.isFileMessage()) {
1144
- currentOpenChannel
1145
- .resendMessage(failedMessage)
1146
- .onPending(function (message) {
1147
- messagesDispatcher({
1148
- type: RESENDING_MESSAGE_START,
1149
- payload: {
1150
- channel: currentOpenChannel,
1151
- message: message,
1152
- },
1153
- });
1154
- })
1155
- .onSucceeded(function (message) {
1156
- logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);
1157
- messagesDispatcher({
1158
- type: SENDING_MESSAGE_SUCCEEDED,
1159
- payload: message,
1160
- });
1161
- })
1162
- .onFailed(function (error, message) {
1163
- logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);
1164
- messagesDispatcher({
1165
- type: SENDING_MESSAGE_FAILED,
1166
- payload: message,
1167
- });
1168
- });
1169
- }
1170
- }
1171
- else {
1172
- // to alert user on console
1173
- // eslint-disable-next-line no-console
1174
- console.error('OpenChannel | useResendMessageCallback: Message is not resendable');
1175
- logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);
1176
- }
1177
- }, [currentOpenChannel]);
1106
+ function useResendMessageCallback(_a, _b) {
1107
+ var currentOpenChannel = _a.currentOpenChannel;
1108
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1109
+ return useCallback(function (failedMessage) {
1110
+ logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);
1111
+ if (typeof (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) === 'boolean'
1112
+ && failedMessage.isResendable) {
1113
+ // userMessage
1114
+ if (failedMessage.isUserMessage()) {
1115
+ currentOpenChannel
1116
+ .resendMessage(failedMessage)
1117
+ .onPending(function (message) {
1118
+ messagesDispatcher({
1119
+ type: RESENDING_MESSAGE_START,
1120
+ payload: {
1121
+ channel: currentOpenChannel,
1122
+ message: message,
1123
+ },
1124
+ });
1125
+ })
1126
+ .onSucceeded(function (message) {
1127
+ logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);
1128
+ messagesDispatcher({
1129
+ type: SENDING_MESSAGE_SUCCEEDED,
1130
+ payload: message,
1131
+ });
1132
+ })
1133
+ .onFailed(function (error, message) {
1134
+ logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);
1135
+ messagesDispatcher({
1136
+ type: SENDING_MESSAGE_FAILED,
1137
+ payload: message,
1138
+ });
1139
+ });
1140
+ }
1141
+ // fileMessage
1142
+ if (failedMessage.isFileMessage()) {
1143
+ currentOpenChannel
1144
+ .resendMessage(failedMessage)
1145
+ .onPending(function (message) {
1146
+ messagesDispatcher({
1147
+ type: RESENDING_MESSAGE_START,
1148
+ payload: {
1149
+ channel: currentOpenChannel,
1150
+ message: message,
1151
+ },
1152
+ });
1153
+ })
1154
+ .onSucceeded(function (message) {
1155
+ logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);
1156
+ messagesDispatcher({
1157
+ type: SENDING_MESSAGE_SUCCEEDED,
1158
+ payload: message,
1159
+ });
1160
+ })
1161
+ .onFailed(function (error, message) {
1162
+ logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);
1163
+ messagesDispatcher({
1164
+ type: SENDING_MESSAGE_FAILED,
1165
+ payload: message,
1166
+ });
1167
+ });
1168
+ }
1169
+ }
1170
+ else {
1171
+ // to alert user on console
1172
+ // eslint-disable-next-line no-console
1173
+ console.error('OpenChannel | useResendMessageCallback: Message is not resendable');
1174
+ logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);
1175
+ }
1176
+ }, [currentOpenChannel]);
1178
1177
  }
1179
1178
 
1180
- var THROTTLE_TIMER = 5000;
1181
- // to trim message list so that we wont keep thousands of messages in memory
1182
- // We are throttling here; not debouncing
1183
- // it will be called once very 5 sec if messagesLength, messageLimit changes
1184
- // we check if messagesLength > messageLimit before dispatching action
1185
- function useTrimMessageList(_a, _b) {
1186
- var messagesLength = _a.messagesLength, messageLimit = _a.messageLimit;
1187
- var messagesDispatcher = _b.messagesDispatcher, logger = _b.logger;
1188
- var _c = useState(false), inProgress = _c[0], setInProgress = _c[1];
1189
- useEffect(function () {
1190
- if (inProgress) {
1191
- return;
1192
- }
1193
- if (typeof messagesLength === 'number' && messagesLength > messageLimit) {
1194
- logger.info('Trimming MessageList');
1195
- messagesDispatcher({
1196
- type: TRIM_MESSAGE_LIST,
1197
- payload: { messageLimit: messageLimit },
1198
- });
1199
- }
1200
- setInProgress(true);
1201
- setTimeout(function () { setInProgress(false); }, THROTTLE_TIMER);
1202
- }, [messagesLength, messageLimit]);
1179
+ var THROTTLE_TIMER = 5000;
1180
+ // to trim message list so that we wont keep thousands of messages in memory
1181
+ // We are throttling here; not debouncing
1182
+ // it will be called once very 5 sec if messagesLength, messageLimit changes
1183
+ // we check if messagesLength > messageLimit before dispatching action
1184
+ function useTrimMessageList(_a, _b) {
1185
+ var messagesLength = _a.messagesLength, messageLimit = _a.messageLimit;
1186
+ var messagesDispatcher = _b.messagesDispatcher, logger = _b.logger;
1187
+ var _c = useState(false), inProgress = _c[0], setInProgress = _c[1];
1188
+ useEffect(function () {
1189
+ if (inProgress) {
1190
+ return;
1191
+ }
1192
+ if (typeof messagesLength === 'number' && messagesLength > messageLimit) {
1193
+ logger.info('Trimming MessageList');
1194
+ messagesDispatcher({
1195
+ type: TRIM_MESSAGE_LIST,
1196
+ payload: { messageLimit: messageLimit },
1197
+ });
1198
+ }
1199
+ setInProgress(true);
1200
+ setTimeout(function () { setInProgress(false); }, THROTTLE_TIMER);
1201
+ }, [messagesLength, messageLimit]);
1203
1202
  }
1204
1203
 
1205
- var OpenChannelContext = React__default.createContext(undefined);
1206
- var OpenChannelProvider = function (props) {
1207
- var _a, _b, _c, _d, _e, _f, _g;
1208
- var channelUrl = props.channelUrl, children = props.children, _h = props.isMessageGroupingEnabled, isMessageGroupingEnabled = _h === void 0 ? true : _h, queries = props.queries, onBeforeSendUserMessage = props.onBeforeSendUserMessage, messageLimit = props.messageLimit, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onChatHeaderActionClick = props.onChatHeaderActionClick, onBackClick = props.onBackClick, disableUserProfile = props.disableUserProfile, renderUserProfile = props.renderUserProfile;
1209
- // We didn't decide to support fetching participant list
1210
- var fetchingParticipants = false;
1211
- var globalStore = useSendbirdStateContext();
1212
- 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;
1213
- 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;
1214
- var user = (_f = (_e = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _e === void 0 ? void 0 : _e.userStore) === null || _f === void 0 ? void 0 : _f.user;
1215
- var config = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1216
- var userId = config.userId, isOnline = config.isOnline, logger = config.logger, pubSub = config.pubSub, imageCompression = config.imageCompression;
1217
- // hook variables
1218
- var _j = useReducer(reducer, initialState), messagesStore = _j[0], messagesDispatcher = _j[1];
1219
- var allMessages = messagesStore.allMessages, loading = messagesStore.loading, initialized = messagesStore.initialized, currentOpenChannel = messagesStore.currentOpenChannel, isInvalid = messagesStore.isInvalid, hasMore = messagesStore.hasMore, lastMessageTimestamp = messagesStore.lastMessageTimestamp, operators = messagesStore.operators, bannedParticipantIds = messagesStore.bannedParticipantIds, mutedParticipantIds = messagesStore.mutedParticipantIds;
1220
- // ref
1221
- var messageInputRef = useRef(null); // useSendMessageCallback
1222
- var conversationScrollRef = useRef(null); // useScrollAfterSendMessageCallback
1223
- // const
1224
- var userFilledMessageListParams = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1225
- var disabled = !initialized
1226
- || !isOnline
1227
- || isDisabledBecauseFrozen(currentOpenChannel, userId)
1228
- || isDisabledBecauseMuted(mutedParticipantIds, userId);
1229
- // useMemo
1230
- var amIBanned = useMemo(function () {
1231
- return bannedParticipantIds.indexOf(user.userId) >= 0;
1232
- }, [channelUrl, bannedParticipantIds, user]);
1233
- var amIMuted = useMemo(function () {
1234
- return mutedParticipantIds.indexOf(user.userId) >= 0;
1235
- }, [channelUrl, mutedParticipantIds, user]);
1236
- var amIOperator = useMemo(function () {
1237
- return operators.map(function (operator) { return operator.userId; }).indexOf(user.userId) >= 0;
1238
- }, [channelUrl, operators, user]);
1239
- // use hooks
1240
- useSetChannel({ channelUrl: channelUrl, sdkInit: sdkInit, fetchingParticipants: fetchingParticipants, userId: userId, currentOpenChannel: currentOpenChannel }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher });
1241
- var checkScrollBottom = useCheckScrollBottom({ conversationScrollRef: conversationScrollRef }, { logger: logger });
1242
- useHandleChannelEvents({ currentOpenChannel: currentOpenChannel, checkScrollBottom: checkScrollBottom }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1243
- useInitialMessagesFetch({ currentOpenChannel: currentOpenChannel, userFilledMessageListParams: userFilledMessageListParams }, { logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1244
- var fetchMore = shouldFetchMore(allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit);
1245
- // donot fetch more for streaming
1246
- var onScroll = useScrollCallback({ currentOpenChannel: currentOpenChannel, lastMessageTimestamp: lastMessageTimestamp, fetchMore: fetchMore }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, hasMore: hasMore, userFilledMessageListParams: userFilledMessageListParams });
1247
- var handleSendMessage = useSendMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage, checkScrollBottom: checkScrollBottom, messageInputRef: messageInputRef }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1248
- var handleFileUpload = useFileUploadCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendFileMessage: onBeforeSendFileMessage, checkScrollBottom: checkScrollBottom, imageCompression: imageCompression }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1249
- var updateMessage = useUpdateMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage }, { logger: logger, messagesDispatcher: messagesDispatcher });
1250
- var deleteMessage = useDeleteMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1251
- var resendMessage = useResendMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1252
- useTrimMessageList({ messagesLength: allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit: messageLimit }, { messagesDispatcher: messagesDispatcher, logger: logger });
1253
- // handle API calls from withSendbird
1254
- useEffect(function () {
1255
- var subscriber = new Map();
1256
- if (!pubSub || !pubSub.subscribe) {
1257
- return;
1258
- }
1259
- subscriber.set(pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_USER_MESSAGE, function (msg) {
1260
- var channel = msg.channel, message = msg.message;
1261
- scrollIntoLast(0, conversationScrollRef);
1262
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1263
- messagesDispatcher({
1264
- type: SENDING_MESSAGE_SUCCEEDED,
1265
- payload: message,
1266
- });
1267
- }
1268
- }));
1269
- subscriber.set(pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSubTopics.SEND_MESSAGE_START, function (msg) {
1270
- var channel = msg.channel, message = msg.message;
1271
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1272
- messagesDispatcher({
1273
- type: SENDING_MESSAGE_START,
1274
- payload: { message: message, channel: channel },
1275
- });
1276
- }
1277
- }));
1278
- subscriber.set(pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_FILE_MESSAGE, function (msg) {
1279
- var channel = msg.channel, message = msg.message;
1280
- scrollIntoLast(0, conversationScrollRef);
1281
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1282
- messagesDispatcher({
1283
- type: SENDING_MESSAGE_SUCCEEDED,
1284
- payload: { message: message, channel: channel },
1285
- });
1286
- }
1287
- }));
1288
- subscriber.set(pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSubTopics.UPDATE_USER_MESSAGE, function (msg) {
1289
- var channel = msg.channel, message = msg.message, fromSelector = msg.fromSelector;
1290
- if (fromSelector && channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1291
- messagesDispatcher({
1292
- type: ON_MESSAGE_UPDATED,
1293
- payload: { channel: channel, message: message },
1294
- });
1295
- }
1296
- }));
1297
- subscriber.set(pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSubTopics.DELETE_MESSAGE, function (msg) {
1298
- var channel = msg.channel, messageId = msg.messageId;
1299
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1300
- messagesDispatcher({
1301
- type: ON_MESSAGE_DELETED,
1302
- payload: messageId,
1303
- });
1304
- }
1305
- }));
1306
- return function () {
1307
- if (subscriber) {
1308
- subscriber.forEach(function (s) {
1309
- try {
1310
- s.remove();
1311
- }
1312
- catch (_a) {
1313
- //
1314
- }
1315
- });
1316
- }
1317
- };
1318
- }, [channelUrl, sdkInit]);
1319
- return (React__default.createElement(OpenChannelContext.Provider, { value: {
1320
- // props
1321
- channelUrl: channelUrl,
1322
- children: children,
1323
- isMessageGroupingEnabled: isMessageGroupingEnabled,
1324
- queries: queries,
1325
- onBeforeSendUserMessage: onBeforeSendUserMessage,
1326
- messageLimit: messageLimit,
1327
- onBeforeSendFileMessage: onBeforeSendFileMessage,
1328
- onChatHeaderActionClick: onChatHeaderActionClick,
1329
- onBackClick: onBackClick,
1330
- // store
1331
- allMessages: allMessages,
1332
- loading: loading,
1333
- initialized: initialized,
1334
- currentOpenChannel: currentOpenChannel,
1335
- isInvalid: isInvalid,
1336
- hasMore: hasMore,
1337
- lastMessageTimestamp: lastMessageTimestamp,
1338
- operators: operators,
1339
- bannedParticipantIds: bannedParticipantIds,
1340
- mutedParticipantIds: mutedParticipantIds,
1341
- // derived/utils
1342
- messageInputRef: messageInputRef,
1343
- conversationScrollRef: conversationScrollRef,
1344
- disabled: disabled,
1345
- amIBanned: amIBanned,
1346
- amIMuted: amIMuted,
1347
- amIOperator: amIOperator,
1348
- checkScrollBottom: checkScrollBottom,
1349
- fetchMore: fetchMore,
1350
- onScroll: onScroll,
1351
- handleSendMessage: handleSendMessage,
1352
- handleFileUpload: handleFileUpload,
1353
- updateMessage: updateMessage,
1354
- deleteMessage: deleteMessage,
1355
- resendMessage: resendMessage,
1356
- frozen: messagesStore.frozen,
1357
- disableUserProfile: disableUserProfile,
1358
- renderUserProfile: renderUserProfile,
1359
- participants: messagesStore.participants,
1360
- } },
1361
- React__default.createElement(UserProfileProvider, { isOpenChannel: true, renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile, disableUserProfile: (_g = props === null || props === void 0 ? void 0 : props.disableUserProfile) !== null && _g !== void 0 ? _g : config === null || config === void 0 ? void 0 : config.disableUserProfile }, children)));
1362
- };
1204
+ var OpenChannelContext = React__default.createContext(undefined);
1205
+ var OpenChannelProvider = function (props) {
1206
+ var _a, _b, _c, _d, _e, _f, _g;
1207
+ var channelUrl = props.channelUrl, children = props.children, _h = props.isMessageGroupingEnabled, isMessageGroupingEnabled = _h === void 0 ? true : _h, queries = props.queries, onBeforeSendUserMessage = props.onBeforeSendUserMessage, messageLimit = props.messageLimit, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onChatHeaderActionClick = props.onChatHeaderActionClick, onBackClick = props.onBackClick, disableUserProfile = props.disableUserProfile, renderUserProfile = props.renderUserProfile;
1208
+ // We didn't decide to support fetching participant list
1209
+ var fetchingParticipants = false;
1210
+ var globalStore = useSendbirdStateContext();
1211
+ 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;
1212
+ 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;
1213
+ var user = (_f = (_e = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _e === void 0 ? void 0 : _e.userStore) === null || _f === void 0 ? void 0 : _f.user;
1214
+ var config = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1215
+ var userId = config.userId, isOnline = config.isOnline, logger = config.logger, pubSub = config.pubSub, imageCompression = config.imageCompression;
1216
+ // hook variables
1217
+ var _j = useReducer(reducer, initialState), messagesStore = _j[0], messagesDispatcher = _j[1];
1218
+ var allMessages = messagesStore.allMessages, loading = messagesStore.loading, initialized = messagesStore.initialized, currentOpenChannel = messagesStore.currentOpenChannel, isInvalid = messagesStore.isInvalid, hasMore = messagesStore.hasMore, lastMessageTimestamp = messagesStore.lastMessageTimestamp, operators = messagesStore.operators, bannedParticipantIds = messagesStore.bannedParticipantIds, mutedParticipantIds = messagesStore.mutedParticipantIds;
1219
+ // ref
1220
+ var messageInputRef = useRef(null); // useSendMessageCallback
1221
+ var conversationScrollRef = useRef(null); // useScrollAfterSendMessageCallback
1222
+ // const
1223
+ var userFilledMessageListParams = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1224
+ var disabled = !initialized
1225
+ || !isOnline
1226
+ || isDisabledBecauseFrozen(currentOpenChannel, userId)
1227
+ || isDisabledBecauseMuted(mutedParticipantIds, userId);
1228
+ // useMemo
1229
+ var amIBanned = useMemo(function () {
1230
+ return bannedParticipantIds.indexOf(user.userId) >= 0;
1231
+ }, [channelUrl, bannedParticipantIds, user]);
1232
+ var amIMuted = useMemo(function () {
1233
+ return mutedParticipantIds.indexOf(user.userId) >= 0;
1234
+ }, [channelUrl, mutedParticipantIds, user]);
1235
+ var amIOperator = useMemo(function () {
1236
+ return operators.map(function (operator) { return operator.userId; }).indexOf(user.userId) >= 0;
1237
+ }, [channelUrl, operators, user]);
1238
+ // use hooks
1239
+ useSetChannel({ channelUrl: channelUrl, sdkInit: sdkInit, fetchingParticipants: fetchingParticipants, userId: userId, currentOpenChannel: currentOpenChannel }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher });
1240
+ var checkScrollBottom = useCheckScrollBottom({ conversationScrollRef: conversationScrollRef }, { logger: logger });
1241
+ useHandleChannelEvents({ currentOpenChannel: currentOpenChannel, checkScrollBottom: checkScrollBottom }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1242
+ useInitialMessagesFetch({ currentOpenChannel: currentOpenChannel, userFilledMessageListParams: userFilledMessageListParams }, { logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1243
+ var fetchMore = shouldFetchMore(allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit);
1244
+ // donot fetch more for streaming
1245
+ var onScroll = useScrollCallback({ currentOpenChannel: currentOpenChannel, lastMessageTimestamp: lastMessageTimestamp, fetchMore: fetchMore }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, hasMore: hasMore, userFilledMessageListParams: userFilledMessageListParams });
1246
+ var handleSendMessage = useSendMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage, checkScrollBottom: checkScrollBottom, messageInputRef: messageInputRef }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1247
+ var handleFileUpload = useFileUploadCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendFileMessage: onBeforeSendFileMessage, checkScrollBottom: checkScrollBottom, imageCompression: imageCompression }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1248
+ var updateMessage = useUpdateMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage }, { logger: logger, messagesDispatcher: messagesDispatcher });
1249
+ var deleteMessage = useDeleteMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1250
+ var resendMessage = useResendMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1251
+ useTrimMessageList({ messagesLength: allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit: messageLimit }, { messagesDispatcher: messagesDispatcher, logger: logger });
1252
+ // handle API calls from withSendbird
1253
+ useEffect(function () {
1254
+ var subscriber = new Map();
1255
+ if (!pubSub || !pubSub.subscribe) {
1256
+ return;
1257
+ }
1258
+ subscriber.set(pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_USER_MESSAGE, function (msg) {
1259
+ var channel = msg.channel, message = msg.message;
1260
+ scrollIntoLast(0, conversationScrollRef);
1261
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1262
+ messagesDispatcher({
1263
+ type: SENDING_MESSAGE_SUCCEEDED,
1264
+ payload: message,
1265
+ });
1266
+ }
1267
+ }));
1268
+ subscriber.set(pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSubTopics.SEND_MESSAGE_START, function (msg) {
1269
+ var channel = msg.channel, message = msg.message;
1270
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1271
+ messagesDispatcher({
1272
+ type: SENDING_MESSAGE_START,
1273
+ payload: { message: message, channel: channel },
1274
+ });
1275
+ }
1276
+ }));
1277
+ subscriber.set(pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_FILE_MESSAGE, function (msg) {
1278
+ var channel = msg.channel, message = msg.message;
1279
+ scrollIntoLast(0, conversationScrollRef);
1280
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1281
+ messagesDispatcher({
1282
+ type: SENDING_MESSAGE_SUCCEEDED,
1283
+ payload: { message: message, channel: channel },
1284
+ });
1285
+ }
1286
+ }));
1287
+ subscriber.set(pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSubTopics.UPDATE_USER_MESSAGE, function (msg) {
1288
+ var channel = msg.channel, message = msg.message, fromSelector = msg.fromSelector;
1289
+ if (fromSelector && channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1290
+ messagesDispatcher({
1291
+ type: ON_MESSAGE_UPDATED,
1292
+ payload: { channel: channel, message: message },
1293
+ });
1294
+ }
1295
+ }));
1296
+ subscriber.set(pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSubTopics.DELETE_MESSAGE, function (msg) {
1297
+ var channel = msg.channel, messageId = msg.messageId;
1298
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1299
+ messagesDispatcher({
1300
+ type: ON_MESSAGE_DELETED,
1301
+ payload: messageId,
1302
+ });
1303
+ }
1304
+ }));
1305
+ return function () {
1306
+ if (subscriber) {
1307
+ subscriber.forEach(function (s) {
1308
+ try {
1309
+ s.remove();
1310
+ }
1311
+ catch (_a) {
1312
+ //
1313
+ }
1314
+ });
1315
+ }
1316
+ };
1317
+ }, [channelUrl, sdkInit]);
1318
+ return (React__default.createElement(OpenChannelContext.Provider, { value: {
1319
+ // props
1320
+ channelUrl: channelUrl,
1321
+ children: children,
1322
+ isMessageGroupingEnabled: isMessageGroupingEnabled,
1323
+ queries: queries,
1324
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
1325
+ messageLimit: messageLimit,
1326
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
1327
+ onChatHeaderActionClick: onChatHeaderActionClick,
1328
+ onBackClick: onBackClick,
1329
+ // store
1330
+ allMessages: allMessages,
1331
+ loading: loading,
1332
+ initialized: initialized,
1333
+ currentOpenChannel: currentOpenChannel,
1334
+ isInvalid: isInvalid,
1335
+ hasMore: hasMore,
1336
+ lastMessageTimestamp: lastMessageTimestamp,
1337
+ operators: operators,
1338
+ bannedParticipantIds: bannedParticipantIds,
1339
+ mutedParticipantIds: mutedParticipantIds,
1340
+ // derived/utils
1341
+ messageInputRef: messageInputRef,
1342
+ conversationScrollRef: conversationScrollRef,
1343
+ disabled: disabled,
1344
+ amIBanned: amIBanned,
1345
+ amIMuted: amIMuted,
1346
+ amIOperator: amIOperator,
1347
+ checkScrollBottom: checkScrollBottom,
1348
+ fetchMore: fetchMore,
1349
+ onScroll: onScroll,
1350
+ handleSendMessage: handleSendMessage,
1351
+ handleFileUpload: handleFileUpload,
1352
+ updateMessage: updateMessage,
1353
+ deleteMessage: deleteMessage,
1354
+ resendMessage: resendMessage,
1355
+ frozen: messagesStore.frozen,
1356
+ disableUserProfile: disableUserProfile,
1357
+ renderUserProfile: renderUserProfile,
1358
+ participants: messagesStore.participants,
1359
+ } },
1360
+ React__default.createElement(UserProfileProvider, { isOpenChannel: true, renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile, disableUserProfile: (_g = props === null || props === void 0 ? void 0 : props.disableUserProfile) !== null && _g !== void 0 ? _g : config === null || config === void 0 ? void 0 : config.disableUserProfile }, children)));
1361
+ };
1363
1362
  var useOpenChannelContext = function () { return React__default.useContext(OpenChannelContext); };
1364
1363
 
1365
1364
  export { OpenChannelProvider as O, kFormatter as k, useOpenChannelContext as u };
1366
- //# sourceMappingURL=bundle-CDnCdfIC.js.map
1365
+ //# sourceMappingURL=bundle-Bi8Wfc2I.js.map