@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,1370 +1,1369 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var UserProfileContext = require('./bundle-C7_tieEZ.js');
5
- var _tslib = require('./bundle-CY1bUkfG.js');
6
- var compareIds = require('./bundle-DbykvtHO.js');
7
- var pubSub_topics = require('./bundle-0W_w8lRK.js');
4
+ var UserProfileContext = require('./bundle-CAUMYdVU.js');
5
+ var _tslib = require('./bundle-HGbi-rCv.js');
6
+ var compareIds = require('./bundle-DRy7eNJ0.js');
7
+ var pubSub_topics = require('./bundle-Dehhi1FZ.js');
8
8
  var SendbirdChat = require('@sendbird/chat');
9
9
  var openChannel = require('@sendbird/chat/openChannel');
10
- var uuid = require('./bundle-BRjBigtB.js');
11
- var compressImages = require('./bundle-ti18J4ii.js');
10
+ var uuid = require('./bundle-1XtsxT8L.js');
11
+ var compressImages = require('./bundle-Q4icQ1qH.js');
12
12
  var useSendbirdStateContext = require('../useSendbirdStateContext.js');
13
- var hooks_useModal = require('../hooks/useModal.js');
14
- var LocalizationContext = require('./bundle-E9H8fQL4.js');
15
- var consts = require('./bundle-DnXNmdmw.js');
16
- var ui_Modal = require('./bundle-fG1bRzYE.js');
17
- require('./bundle-BuYf2Pa8.js');
13
+ var ui_Modal = require('./bundle-CZfcXYaX.js');
14
+ var LocalizationContext = require('./bundle-oeWNUdCB.js');
15
+ var consts = require('./bundle-DfcEln0Z.js');
16
+ require('./bundle-5_kPn4wU.js');
18
17
  var ui_Button = require('../ui/Button.js');
19
18
 
20
- var shouldFetchMore = function (messageLength, maxMessages) {
21
- if (typeof maxMessages !== 'number') {
22
- return true;
23
- }
24
- if (typeof maxMessages === 'number'
25
- && maxMessages > messageLength) {
26
- return true;
27
- }
28
- return false;
29
- };
30
- /* eslint-disable default-param-last */
31
- var scrollIntoLast = function (initialTry, scrollRef) {
32
- if (initialTry === void 0) { initialTry = 0; }
33
- var MAX_TRIES = 10;
34
- var currentTry = initialTry;
35
- if (currentTry > MAX_TRIES) {
36
- return;
37
- }
38
- try {
39
- var scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-openchannel-conversation-scroll__container__item-container');
40
- // eslint-disable-next-line no-multi-assign
41
- scrollDOM.scrollTop = scrollDOM.scrollHeight;
42
- }
43
- catch (error) {
44
- setTimeout(function () {
45
- scrollIntoLast(currentTry + 1, scrollRef);
46
- }, 500 * currentTry);
47
- }
48
- };
49
- var kFormatter = function (num) {
50
- if (Math.abs(num) > 999999) {
51
- return "".concat((Math.abs(num) / 1000000).toFixed(1), "M");
52
- }
53
- if (Math.abs(num) > 999) {
54
- return "".concat((Math.abs(num) / 1000).toFixed(1), "K");
55
- }
56
- return "".concat(num);
57
- };
58
- var isOperator = function (openChannel, userId) {
59
- var operators = openChannel === null || openChannel === void 0 ? void 0 : openChannel.operators;
60
- if (operators.map(function (operator) { return operator.userId; }).indexOf(userId) < 0) {
61
- return false;
62
- }
63
- return true;
64
- };
65
- var isDisabledBecauseFrozen = function (openChannel, userId) {
66
- var isFrozen = openChannel === null || openChannel === void 0 ? void 0 : openChannel.isFrozen;
67
- return isFrozen && !isOperator(openChannel, userId);
68
- };
69
- var isDisabledBecauseMuted = function (mutedParticipantIds, userId) {
70
- return mutedParticipantIds.indexOf(userId) > -1;
71
- };
72
- var fetchWithListQuery = function (listQuery, logger, eachQueryNextCallback) {
73
- var fetchList = function (query) {
74
- var hasNext = query.hasNext;
75
- if (hasNext) {
76
- query.next().then(function (users) {
77
- eachQueryNextCallback(users);
78
- fetchList(query);
79
- }).catch(function (error) {
80
- logger.warning('OpenChannel | FetchUserList failed', error);
81
- });
82
- }
83
- else {
84
- logger.info('OpenChannel | FetchUserList finished');
85
- }
86
- };
87
- logger.info('OpenChannel | FetchUserList start', listQuery);
88
- fetchList(listQuery);
19
+ var shouldFetchMore = function (messageLength, maxMessages) {
20
+ if (typeof maxMessages !== 'number') {
21
+ return true;
22
+ }
23
+ if (typeof maxMessages === 'number'
24
+ && maxMessages > messageLength) {
25
+ return true;
26
+ }
27
+ return false;
28
+ };
29
+ /* eslint-disable default-param-last */
30
+ var scrollIntoLast = function (initialTry, scrollRef) {
31
+ if (initialTry === void 0) { initialTry = 0; }
32
+ var MAX_TRIES = 10;
33
+ var currentTry = initialTry;
34
+ if (currentTry > MAX_TRIES) {
35
+ return;
36
+ }
37
+ try {
38
+ var scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-openchannel-conversation-scroll__container__item-container');
39
+ // eslint-disable-next-line no-multi-assign
40
+ scrollDOM.scrollTop = scrollDOM.scrollHeight;
41
+ }
42
+ catch (error) {
43
+ setTimeout(function () {
44
+ scrollIntoLast(currentTry + 1, scrollRef);
45
+ }, 500 * currentTry);
46
+ }
47
+ };
48
+ var kFormatter = function (num) {
49
+ if (Math.abs(num) > 999999) {
50
+ return "".concat((Math.abs(num) / 1000000).toFixed(1), "M");
51
+ }
52
+ if (Math.abs(num) > 999) {
53
+ return "".concat((Math.abs(num) / 1000).toFixed(1), "K");
54
+ }
55
+ return "".concat(num);
56
+ };
57
+ var isOperator = function (openChannel, userId) {
58
+ var operators = openChannel === null || openChannel === void 0 ? void 0 : openChannel.operators;
59
+ if (operators.map(function (operator) { return operator.userId; }).indexOf(userId) < 0) {
60
+ return false;
61
+ }
62
+ return true;
63
+ };
64
+ var isDisabledBecauseFrozen = function (openChannel, userId) {
65
+ var isFrozen = openChannel === null || openChannel === void 0 ? void 0 : openChannel.isFrozen;
66
+ return isFrozen && !isOperator(openChannel, userId);
67
+ };
68
+ var isDisabledBecauseMuted = function (mutedParticipantIds, userId) {
69
+ return mutedParticipantIds.indexOf(userId) > -1;
70
+ };
71
+ var fetchWithListQuery = function (listQuery, logger, eachQueryNextCallback) {
72
+ var fetchList = function (query) {
73
+ var hasNext = query.hasNext;
74
+ if (hasNext) {
75
+ query.next().then(function (users) {
76
+ eachQueryNextCallback(users);
77
+ fetchList(query);
78
+ }).catch(function (error) {
79
+ logger.warning('OpenChannel | FetchUserList failed', error);
80
+ });
81
+ }
82
+ else {
83
+ logger.info('OpenChannel | FetchUserList finished');
84
+ }
85
+ };
86
+ logger.info('OpenChannel | FetchUserList start', listQuery);
87
+ fetchList(listQuery);
89
88
  };
90
89
 
91
- var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
92
- var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
93
- var RESET_MESSAGES = 'RESET_MESSAGES';
94
- var EXIT_CURRENT_CHANNEL = 'EXIT_CURRENT_CHANNEL';
95
- var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';
96
- var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';
97
- var GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';
98
- var SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';
99
- var SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';
100
- var SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';
101
- var RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';
102
- var FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';
103
- var FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';
104
- var FETCH_MUTED_USER_LIST = 'FETCH_MUTED_USER_LIST';
105
- var TRIM_MESSAGE_LIST = 'TRIM_MESSAGE_LIST';
106
- // event handlers
107
- var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
108
- var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
109
- var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
110
- var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
111
- var ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';
112
- var ON_USER_ENTERED = 'ON_USER_ENTERED';
113
- var ON_USER_EXITED = 'ON_USER_EXITED';
114
- var ON_USER_MUTED = 'ON_USER_MUTED';
115
- var ON_USER_UNMUTED = 'ON_USER_UNMUTED';
116
- var ON_USER_BANNED = 'ON_USER_BANNED';
117
- var ON_USER_UNBANNED = 'ON_USER_UNBANNED';
118
- var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
119
- var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
120
- var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
121
- var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
122
- var ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';
123
- var ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';
124
- var ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';
125
- var ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';
126
- var ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';
127
- var ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';
90
+ var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
91
+ var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
92
+ var RESET_MESSAGES = 'RESET_MESSAGES';
93
+ var EXIT_CURRENT_CHANNEL = 'EXIT_CURRENT_CHANNEL';
94
+ var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';
95
+ var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';
96
+ var GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';
97
+ var SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';
98
+ var SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';
99
+ var SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';
100
+ var RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';
101
+ var FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';
102
+ var FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';
103
+ var FETCH_MUTED_USER_LIST = 'FETCH_MUTED_USER_LIST';
104
+ var TRIM_MESSAGE_LIST = 'TRIM_MESSAGE_LIST';
105
+ // event handlers
106
+ var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
107
+ var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
108
+ var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
109
+ var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
110
+ var ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';
111
+ var ON_USER_ENTERED = 'ON_USER_ENTERED';
112
+ var ON_USER_EXITED = 'ON_USER_EXITED';
113
+ var ON_USER_MUTED = 'ON_USER_MUTED';
114
+ var ON_USER_UNMUTED = 'ON_USER_UNMUTED';
115
+ var ON_USER_BANNED = 'ON_USER_BANNED';
116
+ var ON_USER_UNBANNED = 'ON_USER_UNBANNED';
117
+ var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
118
+ var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
119
+ var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
120
+ var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
121
+ var ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';
122
+ var ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';
123
+ var ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';
124
+ var ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';
125
+ var ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';
126
+ var ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';
128
127
  var ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';
129
128
 
130
- function reducer(state, action) {
131
- var _a, _b, _c;
132
- switch (action.type) {
133
- case RESET_MESSAGES: {
134
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: [] });
135
- }
136
- case EXIT_CURRENT_CHANNEL: {
137
- if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.url) === ((_b = state.currentOpenChannel) === null || _b === void 0 ? void 0 : _b.url)) {
138
- return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
139
- }
140
- return state;
141
- }
142
- case SET_CURRENT_CHANNEL: {
143
- var gottenChannel = action.payload;
144
- var operators = gottenChannel.operators;
145
- if (!state.isInvalid
146
- && state.currentOpenChannel
147
- && state.currentOpenChannel.url
148
- && (state.currentOpenChannel.url === gottenChannel.url)) {
149
- return state;
150
- }
151
- return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: gottenChannel, isInvalid: false, operators: operators, participants: operators, bannedParticipantIds: [], mutedParticipantIds: [] });
152
- }
153
- case SET_CHANNEL_INVALID: {
154
- return _tslib.__assign(_tslib.__assign({}, state), { isInvalid: true });
155
- }
156
- case GET_PREV_MESSAGES_START: {
157
- return _tslib.__assign(_tslib.__assign({}, state), { loading: true });
158
- }
159
- case GET_PREV_MESSAGES_SUCESS:
160
- case GET_PREV_MESSAGES_FAIL: {
161
- var isFailed = (action.type === GET_PREV_MESSAGES_FAIL);
162
- 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;
163
- var actionChannelUrl = currentOpenChannel.url;
164
- var receivedMessages_1 = isFailed ? [] : messages;
165
- var _hasMore = isFailed ? false : hasMore;
166
- var _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;
167
- var stateChannel = state.currentOpenChannel;
168
- var stateChannelUrl = stateChannel.url;
169
- if (actionChannelUrl !== stateChannelUrl) {
170
- return state;
171
- }
172
- var filteredAllMessages = state.allMessages.filter(function (message) { return (!(receivedMessages_1.find(function (_a) {
173
- var messageId = _a.messageId;
174
- return compareIds.compareIds(messageId, message.messageId);
175
- }))); });
176
- return _tslib.__assign(_tslib.__assign({}, state), { loading: false, initialized: true, hasMore: _hasMore, lastMessageTimestamp: _lastMessageTimestamp, allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], receivedMessages_1, true), filteredAllMessages, true) });
177
- }
178
- case SENDING_MESSAGE_START: {
179
- var _g = action.payload, message_1 = _g.message, channel = _g.channel;
180
- if ((channel === null || channel === void 0 ? void 0 : channel.url) !== state.currentOpenChannel.url
181
- || state.allMessages.some(function (m) { return m.reqId === message_1.reqId; })
182
- // Handing failed first than sending start issue
183
- ) {
184
- return state;
185
- }
186
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages, true), [
187
- message_1,
188
- ], false) });
189
- }
190
- case SENDING_MESSAGE_SUCCEEDED: {
191
- var sentMessage_1 = action.payload;
192
- var newMessages = state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, sentMessage_1.reqId) ? sentMessage_1 : m); });
193
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: newMessages });
194
- }
195
- case SENDING_MESSAGE_FAILED: {
196
- var sentMessage_2 = action.payload;
197
- sentMessage_2.sendingStatus = 'failed';
198
- 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); }))) {
199
- // Handling failed first than sending start issue
200
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages.filter(function (m) { return !compareIds.compareIds(m.reqId, sentMessage_2); }), true), [
201
- sentMessage_2,
202
- ], false) });
203
- }
204
- else {
205
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, sentMessage_2.reqId) ? sentMessage_2 : m); }) });
206
- }
207
- }
208
- case TRIM_MESSAGE_LIST: {
209
- var allMessages = state.allMessages;
210
- var messageLimit = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.messageLimit;
211
- if (messageLimit
212
- && messageLimit > 0
213
- && (allMessages === null || allMessages === void 0 ? void 0 : allMessages.length) > messageLimit) {
214
- var sliceAt = allMessages.length - messageLimit;
215
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: allMessages.slice(sliceAt) });
216
- }
217
- return state;
218
- }
219
- case RESENDING_MESSAGE_START: {
220
- var eventedChannel = action.payload.channel;
221
- var resentMessage_1 = action.payload.message;
222
- if (eventedChannel.url !== state.currentOpenChannel.url) {
223
- return state;
224
- }
225
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, resentMessage_1.reqId) ? resentMessage_1 : m); }) });
226
- }
227
- case FETCH_PARTICIPANT_LIST: {
228
- var eventedChannel = action.payload.channel;
229
- var fetchedParticipantList = action.payload.users;
230
- if (eventedChannel.url !== state.currentOpenChannel.url) {
231
- return state;
232
- }
233
- return _tslib.__assign(_tslib.__assign({}, state), { participants: _tslib.__spreadArray(_tslib.__spreadArray([], state.participants, true), fetchedParticipantList, true) });
234
- }
235
- case FETCH_BANNED_USER_LIST: {
236
- var eventedChannel = action.payload.channel;
237
- var fetchedBannedUserList = action.payload.users;
238
- if ((eventedChannel.url !== state.currentOpenChannel.url)
239
- || !(fetchedBannedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
240
- return state;
241
- }
242
- return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.bannedParticipantIds, true), fetchedBannedUserList.map(function (user) { return user.userId; }), true) });
243
- }
244
- case FETCH_MUTED_USER_LIST: {
245
- var eventedChannel = action.payload.channel;
246
- var fetchedMutedUserList = action.payload.users;
247
- if ((eventedChannel.url !== state.currentOpenChannel.url)
248
- || !(fetchedMutedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
249
- return state;
250
- }
251
- return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.mutedParticipantIds, true), fetchedMutedUserList.map(function (user) { return user.userId; }), true) });
252
- }
253
- // events
254
- case ON_MESSAGE_RECEIVED: {
255
- var eventedChannel = action.payload.channel;
256
- var receivedMessage = action.payload.message;
257
- var currentOpenChannel = state.currentOpenChannel;
258
- if (!compareIds.compareIds(eventedChannel.url, currentOpenChannel.url)
259
- || (!(state.allMessages.map(function (message) { return message.messageId; }).indexOf(receivedMessage.messageId) < 0))) {
260
- return state;
261
- }
262
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages, true), [receivedMessage], false) });
263
- }
264
- case ON_MESSAGE_UPDATED: {
265
- var eventedChannel = action.payload.channel;
266
- var updatedMessage_1 = action.payload.message;
267
- var currentChannel = state.currentOpenChannel;
268
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
269
- return state;
270
- }
271
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (message) { return (message.isIdentical(updatedMessage_1)
272
- ? updatedMessage_1
273
- : message); }) });
274
- }
275
- case ON_MESSAGE_DELETED: {
276
- var eventedChannel = action.payload.channel;
277
- var deletedMessageId_1 = action.payload.messageId;
278
- var currentChannel = state.currentOpenChannel;
279
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
280
- return state;
281
- }
282
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (message) { return (!compareIds.compareIds(message.messageId, deletedMessageId_1)); }) });
283
- }
284
- case ON_MESSAGE_DELETED_BY_REQ_ID: {
285
- return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return (!compareIds.compareIds(m.reqId, action.payload)); }) });
286
- }
287
- case ON_OPERATOR_UPDATED: {
288
- var eventedChannel = action.payload.channel;
289
- var updatedOperators = action.payload.operators;
290
- var currentChannel = state.currentOpenChannel;
291
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
292
- return state;
293
- }
294
- return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: eventedChannel, operators: updatedOperators });
295
- }
296
- case ON_USER_ENTERED: {
297
- var eventedChannel = action.payload.channel;
298
- var enteredUser = action.payload.user;
299
- var currentChannel = state.currentOpenChannel;
300
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
301
- return state;
302
- }
303
- return _tslib.__assign(_tslib.__assign({}, state), { participants: _tslib.__spreadArray(_tslib.__spreadArray([], state.participants, true), [enteredUser], false) });
304
- }
305
- case ON_USER_EXITED: {
306
- var eventedChannel = action.payload.channel;
307
- var exitedUser_1 = action.payload.user;
308
- var currentChannel = state.currentOpenChannel;
309
- if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
310
- return state;
311
- }
312
- return _tslib.__assign(_tslib.__assign({}, state), { participants: state.participants.filter(function (participant) { return (!compareIds.compareIds(participant.userId, exitedUser_1.userId)); }) });
313
- }
314
- case ON_USER_MUTED: {
315
- var eventedChannel = action.payload.channel;
316
- var mutedUser = action.payload.user;
317
- var currentChannel = state.currentOpenChannel;
318
- if (!currentChannel
319
- || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
320
- || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0) {
321
- return state;
322
- }
323
- return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.mutedParticipantIds, true), [mutedUser.userId], false) });
324
- }
325
- case ON_USER_UNMUTED: {
326
- var eventedChannel = action.payload.channel;
327
- var unmutedUser_1 = action.payload.user;
328
- var currentChannel = state.currentOpenChannel;
329
- if (!currentChannel
330
- || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
331
- || state.mutedParticipantIds.indexOf(unmutedUser_1.userId) < 0) {
332
- return state;
333
- }
334
- return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: state.mutedParticipantIds.filter(function (userId) { return userId !== unmutedUser_1.userId; }) });
335
- }
336
- case ON_USER_BANNED: {
337
- var eventedChannel = action.payload.channel;
338
- var bannedUser = action.payload.user;
339
- var currentUser = action.payload.currentUser;
340
- var currentChannel = state.currentOpenChannel;
341
- 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)) {
342
- return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
343
- }
344
- else if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
345
- return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.bannedParticipantIds, true), [bannedUser.userId], false) });
346
- }
347
- return state;
348
- }
349
- case ON_USER_UNBANNED: {
350
- var eventedChannel = action.payload.channel;
351
- var unbannedUser_1 = action.payload.user;
352
- var currentChannel = state.currentOpenChannel;
353
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
354
- return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: state.bannedParticipantIds.filter(function (userId) { return userId !== unbannedUser_1.userId; }) });
355
- }
356
- return state;
357
- }
358
- case ON_CHANNEL_FROZEN: {
359
- var frozenChannel = action.payload;
360
- var currentChannel = state.currentOpenChannel;
361
- if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {
362
- return state;
363
- }
364
- return _tslib.__assign(_tslib.__assign({}, state), { frozen: true });
365
- }
366
- case ON_CHANNEL_UNFROZEN: {
367
- var unfrozenChannel = action.payload;
368
- var currentChannel = state.currentOpenChannel;
369
- if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {
370
- return state;
371
- }
372
- return _tslib.__assign(_tslib.__assign({}, state), { frozen: false });
373
- }
374
- case ON_CHANNEL_CHANGED: {
375
- var changedChannel = action.payload;
376
- var currentChannel = state.currentOpenChannel;
377
- if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {
378
- return state;
379
- }
380
- return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: changedChannel });
381
- }
382
- case ON_CHANNEL_DELETED: {
383
- var deletedChannelUrl = action.payload;
384
- var currentChannel = state === null || state === void 0 ? void 0 : state.currentOpenChannel;
385
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === deletedChannelUrl) {
386
- return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
387
- }
388
- return state;
389
- }
390
- case ON_META_DATA_CREATED: {
391
- // const eventedChannel = action.payload.channel;
392
- // const createdMetaData = action.payload.metaData;
393
- // return {
394
- // ...state
395
- // };
396
- return state;
397
- }
398
- case ON_META_DATA_UPDATED: {
399
- // const eventedChannel = action.payload.channel;
400
- // const updatedMetaData = action.payload.metaData;
401
- // return {
402
- // ...state
403
- // };
404
- return state;
405
- }
406
- case ON_META_DATA_DELETED: {
407
- // const eventedChannel = action.payload.channel;
408
- // const deletedMetaDataKeys = action.payload.metaDataKeys;
409
- // return {
410
- // ...state
411
- // };
412
- return state;
413
- }
414
- case ON_META_COUNTERS_CREATED: {
415
- // const eventedChannel = action.payload.channel;
416
- // const createdMetaCounter = action.payload.metaCounter;
417
- // return {
418
- // ...state
419
- // };
420
- return state;
421
- }
422
- case ON_META_COUNTERS_UPDATED: {
423
- // const eventedChannel = action.payload.channel;
424
- // const updatedMetaCounter = action.payload.metaCounter;
425
- // return {
426
- // ...state
427
- // };
428
- return state;
429
- }
430
- case ON_META_COUNTERS_DELETED: {
431
- // const eventedChannel = action.payload.channel;
432
- // const deletedMetaCounterKeys = action.payload.metaCounterKeys;
433
- // return {
434
- // ...state
435
- // };
436
- return state;
437
- }
438
- case ON_MENTION_RECEIVED: {
439
- // const eventedChannel = action.payload.channel;
440
- // const mentionedMessage = action.payload.message;
441
- // return {
442
- // ...state
443
- // };
444
- return state;
445
- }
446
- default:
447
- return state;
448
- }
129
+ function reducer(state, action) {
130
+ var _a, _b, _c;
131
+ switch (action.type) {
132
+ case RESET_MESSAGES: {
133
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: [] });
134
+ }
135
+ case EXIT_CURRENT_CHANNEL: {
136
+ if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.url) === ((_b = state.currentOpenChannel) === null || _b === void 0 ? void 0 : _b.url)) {
137
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
138
+ }
139
+ return state;
140
+ }
141
+ case SET_CURRENT_CHANNEL: {
142
+ var gottenChannel = action.payload;
143
+ var operators = gottenChannel.operators;
144
+ if (!state.isInvalid
145
+ && state.currentOpenChannel
146
+ && state.currentOpenChannel.url
147
+ && (state.currentOpenChannel.url === gottenChannel.url)) {
148
+ return state;
149
+ }
150
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: gottenChannel, isInvalid: false, operators: operators, participants: operators, bannedParticipantIds: [], mutedParticipantIds: [] });
151
+ }
152
+ case SET_CHANNEL_INVALID: {
153
+ return _tslib.__assign(_tslib.__assign({}, state), { isInvalid: true });
154
+ }
155
+ case GET_PREV_MESSAGES_START: {
156
+ return _tslib.__assign(_tslib.__assign({}, state), { loading: true });
157
+ }
158
+ case GET_PREV_MESSAGES_SUCESS:
159
+ case GET_PREV_MESSAGES_FAIL: {
160
+ var isFailed = (action.type === GET_PREV_MESSAGES_FAIL);
161
+ 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;
162
+ var actionChannelUrl = currentOpenChannel.url;
163
+ var receivedMessages_1 = isFailed ? [] : messages;
164
+ var _hasMore = isFailed ? false : hasMore;
165
+ var _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;
166
+ var stateChannel = state.currentOpenChannel;
167
+ var stateChannelUrl = stateChannel.url;
168
+ if (actionChannelUrl !== stateChannelUrl) {
169
+ return state;
170
+ }
171
+ var filteredAllMessages = state.allMessages.filter(function (message) { return (!(receivedMessages_1.find(function (_a) {
172
+ var messageId = _a.messageId;
173
+ return compareIds.compareIds(messageId, message.messageId);
174
+ }))); });
175
+ return _tslib.__assign(_tslib.__assign({}, state), { loading: false, initialized: true, hasMore: _hasMore, lastMessageTimestamp: _lastMessageTimestamp, allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], receivedMessages_1, true), filteredAllMessages, true) });
176
+ }
177
+ case SENDING_MESSAGE_START: {
178
+ var _g = action.payload, message_1 = _g.message, channel = _g.channel;
179
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) !== state.currentOpenChannel.url
180
+ || state.allMessages.some(function (m) { return m.reqId === message_1.reqId; })
181
+ // Handing failed first than sending start issue
182
+ ) {
183
+ return state;
184
+ }
185
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages, true), [
186
+ message_1,
187
+ ], false) });
188
+ }
189
+ case SENDING_MESSAGE_SUCCEEDED: {
190
+ var sentMessage_1 = action.payload;
191
+ var newMessages = state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, sentMessage_1.reqId) ? sentMessage_1 : m); });
192
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: newMessages });
193
+ }
194
+ case SENDING_MESSAGE_FAILED: {
195
+ var sentMessage_2 = action.payload;
196
+ sentMessage_2.sendingStatus = 'failed';
197
+ 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); }))) {
198
+ // Handling failed first than sending start issue
199
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages.filter(function (m) { return !compareIds.compareIds(m.reqId, sentMessage_2); }), true), [
200
+ sentMessage_2,
201
+ ], false) });
202
+ }
203
+ else {
204
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, sentMessage_2.reqId) ? sentMessage_2 : m); }) });
205
+ }
206
+ }
207
+ case TRIM_MESSAGE_LIST: {
208
+ var allMessages = state.allMessages;
209
+ var messageLimit = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.messageLimit;
210
+ if (messageLimit
211
+ && messageLimit > 0
212
+ && (allMessages === null || allMessages === void 0 ? void 0 : allMessages.length) > messageLimit) {
213
+ var sliceAt = allMessages.length - messageLimit;
214
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: allMessages.slice(sliceAt) });
215
+ }
216
+ return state;
217
+ }
218
+ case RESENDING_MESSAGE_START: {
219
+ var eventedChannel = action.payload.channel;
220
+ var resentMessage_1 = action.payload.message;
221
+ if (eventedChannel.url !== state.currentOpenChannel.url) {
222
+ return state;
223
+ }
224
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, resentMessage_1.reqId) ? resentMessage_1 : m); }) });
225
+ }
226
+ case FETCH_PARTICIPANT_LIST: {
227
+ var eventedChannel = action.payload.channel;
228
+ var fetchedParticipantList = action.payload.users;
229
+ if (eventedChannel.url !== state.currentOpenChannel.url) {
230
+ return state;
231
+ }
232
+ return _tslib.__assign(_tslib.__assign({}, state), { participants: _tslib.__spreadArray(_tslib.__spreadArray([], state.participants, true), fetchedParticipantList, true) });
233
+ }
234
+ case FETCH_BANNED_USER_LIST: {
235
+ var eventedChannel = action.payload.channel;
236
+ var fetchedBannedUserList = action.payload.users;
237
+ if ((eventedChannel.url !== state.currentOpenChannel.url)
238
+ || !(fetchedBannedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
239
+ return state;
240
+ }
241
+ return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.bannedParticipantIds, true), fetchedBannedUserList.map(function (user) { return user.userId; }), true) });
242
+ }
243
+ case FETCH_MUTED_USER_LIST: {
244
+ var eventedChannel = action.payload.channel;
245
+ var fetchedMutedUserList = action.payload.users;
246
+ if ((eventedChannel.url !== state.currentOpenChannel.url)
247
+ || !(fetchedMutedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
248
+ return state;
249
+ }
250
+ return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.mutedParticipantIds, true), fetchedMutedUserList.map(function (user) { return user.userId; }), true) });
251
+ }
252
+ // events
253
+ case ON_MESSAGE_RECEIVED: {
254
+ var eventedChannel = action.payload.channel;
255
+ var receivedMessage = action.payload.message;
256
+ var currentOpenChannel = state.currentOpenChannel;
257
+ if (!compareIds.compareIds(eventedChannel.url, currentOpenChannel.url)
258
+ || (!(state.allMessages.map(function (message) { return message.messageId; }).indexOf(receivedMessage.messageId) < 0))) {
259
+ return state;
260
+ }
261
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages, true), [receivedMessage], false) });
262
+ }
263
+ case ON_MESSAGE_UPDATED: {
264
+ var eventedChannel = action.payload.channel;
265
+ var updatedMessage_1 = action.payload.message;
266
+ var currentChannel = state.currentOpenChannel;
267
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
268
+ return state;
269
+ }
270
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (message) { return (message.isIdentical(updatedMessage_1)
271
+ ? updatedMessage_1
272
+ : message); }) });
273
+ }
274
+ case ON_MESSAGE_DELETED: {
275
+ var eventedChannel = action.payload.channel;
276
+ var deletedMessageId_1 = action.payload.messageId;
277
+ var currentChannel = state.currentOpenChannel;
278
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
279
+ return state;
280
+ }
281
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (message) { return (!compareIds.compareIds(message.messageId, deletedMessageId_1)); }) });
282
+ }
283
+ case ON_MESSAGE_DELETED_BY_REQ_ID: {
284
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return (!compareIds.compareIds(m.reqId, action.payload)); }) });
285
+ }
286
+ case ON_OPERATOR_UPDATED: {
287
+ var eventedChannel = action.payload.channel;
288
+ var updatedOperators = action.payload.operators;
289
+ var currentChannel = state.currentOpenChannel;
290
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
291
+ return state;
292
+ }
293
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: eventedChannel, operators: updatedOperators });
294
+ }
295
+ case ON_USER_ENTERED: {
296
+ var eventedChannel = action.payload.channel;
297
+ var enteredUser = action.payload.user;
298
+ var currentChannel = state.currentOpenChannel;
299
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
300
+ return state;
301
+ }
302
+ return _tslib.__assign(_tslib.__assign({}, state), { participants: _tslib.__spreadArray(_tslib.__spreadArray([], state.participants, true), [enteredUser], false) });
303
+ }
304
+ case ON_USER_EXITED: {
305
+ var eventedChannel = action.payload.channel;
306
+ var exitedUser_1 = action.payload.user;
307
+ var currentChannel = state.currentOpenChannel;
308
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
309
+ return state;
310
+ }
311
+ return _tslib.__assign(_tslib.__assign({}, state), { participants: state.participants.filter(function (participant) { return (!compareIds.compareIds(participant.userId, exitedUser_1.userId)); }) });
312
+ }
313
+ case ON_USER_MUTED: {
314
+ var eventedChannel = action.payload.channel;
315
+ var mutedUser = action.payload.user;
316
+ var currentChannel = state.currentOpenChannel;
317
+ if (!currentChannel
318
+ || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
319
+ || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0) {
320
+ return state;
321
+ }
322
+ return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.mutedParticipantIds, true), [mutedUser.userId], false) });
323
+ }
324
+ case ON_USER_UNMUTED: {
325
+ var eventedChannel = action.payload.channel;
326
+ var unmutedUser_1 = action.payload.user;
327
+ var currentChannel = state.currentOpenChannel;
328
+ if (!currentChannel
329
+ || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
330
+ || state.mutedParticipantIds.indexOf(unmutedUser_1.userId) < 0) {
331
+ return state;
332
+ }
333
+ return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: state.mutedParticipantIds.filter(function (userId) { return userId !== unmutedUser_1.userId; }) });
334
+ }
335
+ case ON_USER_BANNED: {
336
+ var eventedChannel = action.payload.channel;
337
+ var bannedUser = action.payload.user;
338
+ var currentUser = action.payload.currentUser;
339
+ var currentChannel = state.currentOpenChannel;
340
+ 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)) {
341
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
342
+ }
343
+ else if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
344
+ return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.bannedParticipantIds, true), [bannedUser.userId], false) });
345
+ }
346
+ return state;
347
+ }
348
+ case ON_USER_UNBANNED: {
349
+ var eventedChannel = action.payload.channel;
350
+ var unbannedUser_1 = action.payload.user;
351
+ var currentChannel = state.currentOpenChannel;
352
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
353
+ return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: state.bannedParticipantIds.filter(function (userId) { return userId !== unbannedUser_1.userId; }) });
354
+ }
355
+ return state;
356
+ }
357
+ case ON_CHANNEL_FROZEN: {
358
+ var frozenChannel = action.payload;
359
+ var currentChannel = state.currentOpenChannel;
360
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {
361
+ return state;
362
+ }
363
+ return _tslib.__assign(_tslib.__assign({}, state), { frozen: true });
364
+ }
365
+ case ON_CHANNEL_UNFROZEN: {
366
+ var unfrozenChannel = action.payload;
367
+ var currentChannel = state.currentOpenChannel;
368
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {
369
+ return state;
370
+ }
371
+ return _tslib.__assign(_tslib.__assign({}, state), { frozen: false });
372
+ }
373
+ case ON_CHANNEL_CHANGED: {
374
+ var changedChannel = action.payload;
375
+ var currentChannel = state.currentOpenChannel;
376
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {
377
+ return state;
378
+ }
379
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: changedChannel });
380
+ }
381
+ case ON_CHANNEL_DELETED: {
382
+ var deletedChannelUrl = action.payload;
383
+ var currentChannel = state === null || state === void 0 ? void 0 : state.currentOpenChannel;
384
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === deletedChannelUrl) {
385
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
386
+ }
387
+ return state;
388
+ }
389
+ case ON_META_DATA_CREATED: {
390
+ // const eventedChannel = action.payload.channel;
391
+ // const createdMetaData = action.payload.metaData;
392
+ // return {
393
+ // ...state
394
+ // };
395
+ return state;
396
+ }
397
+ case ON_META_DATA_UPDATED: {
398
+ // const eventedChannel = action.payload.channel;
399
+ // const updatedMetaData = action.payload.metaData;
400
+ // return {
401
+ // ...state
402
+ // };
403
+ return state;
404
+ }
405
+ case ON_META_DATA_DELETED: {
406
+ // const eventedChannel = action.payload.channel;
407
+ // const deletedMetaDataKeys = action.payload.metaDataKeys;
408
+ // return {
409
+ // ...state
410
+ // };
411
+ return state;
412
+ }
413
+ case ON_META_COUNTERS_CREATED: {
414
+ // const eventedChannel = action.payload.channel;
415
+ // const createdMetaCounter = action.payload.metaCounter;
416
+ // return {
417
+ // ...state
418
+ // };
419
+ return state;
420
+ }
421
+ case ON_META_COUNTERS_UPDATED: {
422
+ // const eventedChannel = action.payload.channel;
423
+ // const updatedMetaCounter = action.payload.metaCounter;
424
+ // return {
425
+ // ...state
426
+ // };
427
+ return state;
428
+ }
429
+ case ON_META_COUNTERS_DELETED: {
430
+ // const eventedChannel = action.payload.channel;
431
+ // const deletedMetaCounterKeys = action.payload.metaCounterKeys;
432
+ // return {
433
+ // ...state
434
+ // };
435
+ return state;
436
+ }
437
+ case ON_MENTION_RECEIVED: {
438
+ // const eventedChannel = action.payload.channel;
439
+ // const mentionedMessage = action.payload.message;
440
+ // return {
441
+ // ...state
442
+ // };
443
+ return state;
444
+ }
445
+ default:
446
+ return state;
447
+ }
449
448
  }
450
449
 
451
- var initialState = {
452
- allMessages: [],
453
- loading: false,
454
- initialized: false,
455
- currentOpenChannel: null,
456
- isInvalid: false,
457
- hasMore: false,
458
- lastMessageTimestamp: 0,
459
- frozen: false,
460
- operators: [],
461
- participants: [],
462
- bannedParticipantIds: [],
463
- mutedParticipantIds: [],
450
+ var initialState = {
451
+ allMessages: [],
452
+ loading: false,
453
+ initialized: false,
454
+ currentOpenChannel: null,
455
+ isInvalid: false,
456
+ hasMore: false,
457
+ lastMessageTimestamp: 0,
458
+ frozen: false,
459
+ operators: [],
460
+ participants: [],
461
+ bannedParticipantIds: [],
462
+ mutedParticipantIds: [],
464
463
  };
465
464
 
466
- function useSetChannel(_a, _b) {
467
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, fetchingParticipants = _a.fetchingParticipants, userId = _a.userId, currentOpenChannel = _a.currentOpenChannel;
468
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
469
- React.useEffect(function () {
470
- var _a;
471
- if (channelUrl && sdkInit && (sdk === null || sdk === void 0 ? void 0 : sdk.openChannel)) {
472
- if (currentOpenChannel && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.exit)) {
473
- (_a = currentOpenChannel.exit) === null || _a === void 0 ? void 0 : _a.call(currentOpenChannel).then(function () {
474
- logger.info('OpenChannel | useSetChannel: Exit from the previous open channel', currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url);
475
- messagesDispatcher({
476
- type: EXIT_CURRENT_CHANNEL,
477
- payload: currentOpenChannel,
478
- });
479
- });
480
- }
481
- logger.info('OpenChannel | useSetChannel: Fetching channel', channelUrl);
482
- sdk.openChannel.getChannel(channelUrl).then(function (openChannel) {
483
- logger.info('OpenChannel | useSetChannel: Succeeded to fetch channel', openChannel);
484
- messagesDispatcher({
485
- type: SET_CURRENT_CHANNEL,
486
- payload: openChannel,
487
- });
488
- openChannel.enter().then(function () {
489
- if (openChannel.isOperator(userId)) { // only operator has a permission to fetch these list
490
- var bannedParticipantListQuery = openChannel.createBannedUserListQuery();
491
- var mutedParticipantListQuery = openChannel.createMutedUserListQuery();
492
- fetchWithListQuery(bannedParticipantListQuery, logger, function (users) {
493
- messagesDispatcher({
494
- type: FETCH_BANNED_USER_LIST,
495
- payload: {
496
- channel: openChannel,
497
- users: users,
498
- },
499
- });
500
- });
501
- fetchWithListQuery(mutedParticipantListQuery, logger, function (users) {
502
- messagesDispatcher({
503
- type: FETCH_MUTED_USER_LIST,
504
- payload: {
505
- channel: openChannel,
506
- users: users,
507
- },
508
- });
509
- });
510
- }
511
- else {
512
- openChannel.getMyMutedInfo()
513
- .then(function (mutedInfo) {
514
- if (mutedInfo === null || mutedInfo === void 0 ? void 0 : mutedInfo.isMuted) {
515
- messagesDispatcher({
516
- type: FETCH_MUTED_USER_LIST,
517
- payload: {
518
- channel: openChannel,
519
- users: [sdk === null || sdk === void 0 ? void 0 : sdk.currentUser],
520
- },
521
- });
522
- }
523
- });
524
- }
525
- if (fetchingParticipants) {
526
- // fetch participants list
527
- var participantListQuery = openChannel.createParticipantListQuery({
528
- limit: openChannel.participantCount,
529
- });
530
- fetchWithListQuery(participantListQuery, logger, function (users) {
531
- messagesDispatcher({
532
- type: FETCH_PARTICIPANT_LIST,
533
- payload: {
534
- channel: openChannel,
535
- users: users,
536
- },
537
- });
538
- });
539
- }
540
- }).catch(function (error) {
541
- logger.warning('OpenChannel | useSetChannel: Failed to enter channel', { channelUrl: channelUrl, error: error });
542
- messagesDispatcher({
543
- type: SET_CHANNEL_INVALID,
544
- payload: null,
545
- });
546
- });
547
- }).catch(function (error) {
548
- logger.warning('OpenChannel | useSetChannel: Failed to fetch channel', { channelUrl: channelUrl, error: error });
549
- messagesDispatcher({
550
- type: SET_CHANNEL_INVALID,
551
- payload: null,
552
- });
553
- });
554
- }
555
- }, [channelUrl, sdkInit, fetchingParticipants]);
465
+ function useSetChannel(_a, _b) {
466
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, fetchingParticipants = _a.fetchingParticipants, userId = _a.userId, currentOpenChannel = _a.currentOpenChannel;
467
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
468
+ React.useEffect(function () {
469
+ var _a;
470
+ if (channelUrl && sdkInit && (sdk === null || sdk === void 0 ? void 0 : sdk.openChannel)) {
471
+ if (currentOpenChannel && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.exit)) {
472
+ (_a = currentOpenChannel.exit) === null || _a === void 0 ? void 0 : _a.call(currentOpenChannel).then(function () {
473
+ logger.info('OpenChannel | useSetChannel: Exit from the previous open channel', currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url);
474
+ messagesDispatcher({
475
+ type: EXIT_CURRENT_CHANNEL,
476
+ payload: currentOpenChannel,
477
+ });
478
+ });
479
+ }
480
+ logger.info('OpenChannel | useSetChannel: Fetching channel', channelUrl);
481
+ sdk.openChannel.getChannel(channelUrl).then(function (openChannel) {
482
+ logger.info('OpenChannel | useSetChannel: Succeeded to fetch channel', openChannel);
483
+ messagesDispatcher({
484
+ type: SET_CURRENT_CHANNEL,
485
+ payload: openChannel,
486
+ });
487
+ openChannel.enter().then(function () {
488
+ if (openChannel.isOperator(userId)) { // only operator has a permission to fetch these list
489
+ var bannedParticipantListQuery = openChannel.createBannedUserListQuery();
490
+ var mutedParticipantListQuery = openChannel.createMutedUserListQuery();
491
+ fetchWithListQuery(bannedParticipantListQuery, logger, function (users) {
492
+ messagesDispatcher({
493
+ type: FETCH_BANNED_USER_LIST,
494
+ payload: {
495
+ channel: openChannel,
496
+ users: users,
497
+ },
498
+ });
499
+ });
500
+ fetchWithListQuery(mutedParticipantListQuery, logger, function (users) {
501
+ messagesDispatcher({
502
+ type: FETCH_MUTED_USER_LIST,
503
+ payload: {
504
+ channel: openChannel,
505
+ users: users,
506
+ },
507
+ });
508
+ });
509
+ }
510
+ else {
511
+ openChannel.getMyMutedInfo()
512
+ .then(function (mutedInfo) {
513
+ if (mutedInfo === null || mutedInfo === void 0 ? void 0 : mutedInfo.isMuted) {
514
+ messagesDispatcher({
515
+ type: FETCH_MUTED_USER_LIST,
516
+ payload: {
517
+ channel: openChannel,
518
+ users: [sdk === null || sdk === void 0 ? void 0 : sdk.currentUser],
519
+ },
520
+ });
521
+ }
522
+ });
523
+ }
524
+ if (fetchingParticipants) {
525
+ // fetch participants list
526
+ var participantListQuery = openChannel.createParticipantListQuery({
527
+ limit: openChannel.participantCount,
528
+ });
529
+ fetchWithListQuery(participantListQuery, logger, function (users) {
530
+ messagesDispatcher({
531
+ type: FETCH_PARTICIPANT_LIST,
532
+ payload: {
533
+ channel: openChannel,
534
+ users: users,
535
+ },
536
+ });
537
+ });
538
+ }
539
+ }).catch(function (error) {
540
+ logger.warning('OpenChannel | useSetChannel: Failed to enter channel', { channelUrl: channelUrl, error: error });
541
+ messagesDispatcher({
542
+ type: SET_CHANNEL_INVALID,
543
+ payload: null,
544
+ });
545
+ });
546
+ }).catch(function (error) {
547
+ logger.warning('OpenChannel | useSetChannel: Failed to fetch channel', { channelUrl: channelUrl, error: error });
548
+ messagesDispatcher({
549
+ type: SET_CHANNEL_INVALID,
550
+ payload: null,
551
+ });
552
+ });
553
+ }
554
+ }, [channelUrl, sdkInit, fetchingParticipants]);
556
555
  }
557
556
 
558
- function useHandleChannelEvents(_a, _b) {
559
- var currentOpenChannel = _a.currentOpenChannel, checkScrollBottom = _a.checkScrollBottom;
560
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
561
- React.useEffect(function () {
562
- var _a, _b;
563
- var messageReceiverId = uuid.uuidv4();
564
- if (currentOpenChannel && currentOpenChannel.url && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
565
- logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);
566
- var channelHandlerParams = {
567
- onMessageReceived: function (channel, message) {
568
- var scrollToEnd = checkScrollBottom();
569
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
570
- logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl: channelUrl, message: message });
571
- messagesDispatcher({
572
- type: ON_MESSAGE_RECEIVED,
573
- payload: { channel: channel, message: message },
574
- });
575
- if (scrollToEnd) {
576
- try {
577
- setTimeout(function () {
578
- scrollIntoLast(0, scrollRef);
579
- });
580
- }
581
- catch (error) {
582
- logger.warning('OpenChannel | onMessageReceived | scroll to end failed');
583
- }
584
- }
585
- },
586
- onMessageUpdated: function (channel, message) {
587
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
588
- logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl: channelUrl, message: message });
589
- messagesDispatcher({
590
- type: ON_MESSAGE_UPDATED,
591
- payload: { channel: channel, message: message },
592
- });
593
- },
594
- onMessageDeleted: function (channel, messageId) {
595
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
596
- logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl: channelUrl, messageId: messageId });
597
- messagesDispatcher({
598
- type: ON_MESSAGE_DELETED,
599
- payload: { channel: channel, messageId: messageId },
600
- });
601
- },
602
- onOperatorUpdated: function (channel, operators) {
603
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
604
- logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl: channelUrl, operators: operators });
605
- messagesDispatcher({
606
- type: ON_OPERATOR_UPDATED,
607
- payload: { channel: channel, operators: operators },
608
- });
609
- },
610
- onUserEntered: function (channel, user) {
611
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
612
- logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl: channelUrl, user: user });
613
- messagesDispatcher({
614
- type: ON_USER_ENTERED,
615
- payload: { channel: channel, user: user },
616
- });
617
- },
618
- onUserExited: function (channel, user) {
619
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
620
- logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl: channelUrl, user: user });
621
- messagesDispatcher({
622
- type: ON_USER_EXITED,
623
- payload: { channel: channel, user: user },
624
- });
625
- },
626
- onUserMuted: function (channel, user) {
627
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
628
- logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl: channelUrl, user: user });
629
- messagesDispatcher({
630
- type: ON_USER_MUTED,
631
- payload: { channel: channel, user: user },
632
- });
633
- },
634
- onUserUnmuted: function (channel, user) {
635
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
636
- logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl: channelUrl, user: user });
637
- messagesDispatcher({
638
- type: ON_USER_UNMUTED,
639
- payload: { channel: channel, user: user },
640
- });
641
- },
642
- onUserBanned: function (channel, user) {
643
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
644
- logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl: channelUrl, user: user });
645
- messagesDispatcher({
646
- type: ON_USER_BANNED,
647
- payload: { channel: channel, user: user, currentUser: sdk === null || sdk === void 0 ? void 0 : sdk.currentUser },
648
- });
649
- },
650
- onUserUnbanned: function (channel, user) {
651
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
652
- logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl: channelUrl, user: user });
653
- messagesDispatcher({
654
- type: ON_USER_UNBANNED,
655
- payload: { channel: channel, user: user },
656
- });
657
- },
658
- onChannelFrozen: function (channel) {
659
- logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);
660
- messagesDispatcher({
661
- type: ON_CHANNEL_FROZEN,
662
- payload: channel,
663
- });
664
- },
665
- onChannelUnfrozen: function (channel) {
666
- logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);
667
- messagesDispatcher({
668
- type: ON_CHANNEL_UNFROZEN,
669
- payload: channel,
670
- });
671
- },
672
- onChannelChanged: function (channel) {
673
- logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);
674
- messagesDispatcher({
675
- type: ON_CHANNEL_CHANGED,
676
- payload: channel,
677
- });
678
- },
679
- onMetaDataCreated: function (channel, metaData) {
680
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
681
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl: channelUrl, metaData: metaData });
682
- messagesDispatcher({
683
- type: ON_META_DATA_CREATED,
684
- payload: { channel: channel, metaData: metaData },
685
- });
686
- },
687
- onMetaDataUpdated: function (channel, metaData) {
688
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
689
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl: channelUrl, metaData: metaData });
690
- messagesDispatcher({
691
- type: ON_META_DATA_UPDATED,
692
- payload: { channel: channel, metaData: metaData },
693
- });
694
- },
695
- onMetaDataDeleted: function (channel, metaDataKeys) {
696
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
697
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl: channelUrl, metaDataKeys: metaDataKeys });
698
- messagesDispatcher({
699
- type: ON_META_DATA_DELETED,
700
- payload: { channel: channel, metaDataKeys: metaDataKeys },
701
- });
702
- },
703
- onMetaCounterCreated: function (channel, metaCounter) {
704
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
705
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl: channelUrl, metaCounter: metaCounter });
706
- messagesDispatcher({
707
- type: ON_META_COUNTERS_CREATED,
708
- payload: { channel: channel, metaCounter: metaCounter },
709
- });
710
- },
711
- onMetaCounterUpdated: function (channel, metaCounter) {
712
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
713
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl: channelUrl, metaCounter: metaCounter });
714
- messagesDispatcher({
715
- type: ON_META_COUNTERS_UPDATED,
716
- payload: { channel: channel, metaCounter: metaCounter },
717
- });
718
- },
719
- onMetaCounterDeleted: function (channel, metaCounterKeys) {
720
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
721
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl: channelUrl, metaCounterKeys: metaCounterKeys });
722
- messagesDispatcher({
723
- type: ON_META_COUNTERS_DELETED,
724
- payload: { channel: channel, metaCounterKeys: metaCounterKeys },
725
- });
726
- },
727
- onMentionReceived: function (channel, message) {
728
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
729
- logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl: channelUrl, message: message });
730
- messagesDispatcher({
731
- type: ON_MENTION_RECEIVED,
732
- payload: { channel: channel, message: message },
733
- });
734
- },
735
- onChannelDeleted: function (channelUrl, channelType) {
736
- if (channelType === SendbirdChat.ChannelType.OPEN && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url) === channelUrl) {
737
- messagesDispatcher({
738
- type: ON_CHANNEL_DELETED,
739
- payload: channelUrl,
740
- });
741
- }
742
- },
743
- };
744
- var ChannelHandler = new openChannel.OpenChannelHandler(channelHandlerParams);
745
- (_b = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _b === void 0 ? void 0 : _b.addOpenChannelHandler(messageReceiverId, ChannelHandler);
746
- }
747
- return function () {
748
- var _a;
749
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) {
750
- logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);
751
- sdk.openChannel.removeOpenChannelHandler(messageReceiverId);
752
- }
753
- };
754
- }, [currentOpenChannel]);
557
+ function useHandleChannelEvents(_a, _b) {
558
+ var currentOpenChannel = _a.currentOpenChannel, checkScrollBottom = _a.checkScrollBottom;
559
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
560
+ React.useEffect(function () {
561
+ var _a, _b;
562
+ var messageReceiverId = uuid.uuidv4();
563
+ if (currentOpenChannel && currentOpenChannel.url && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
564
+ logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);
565
+ var channelHandlerParams = {
566
+ onMessageReceived: function (channel, message) {
567
+ var scrollToEnd = checkScrollBottom();
568
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
569
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl: channelUrl, message: message });
570
+ messagesDispatcher({
571
+ type: ON_MESSAGE_RECEIVED,
572
+ payload: { channel: channel, message: message },
573
+ });
574
+ if (scrollToEnd) {
575
+ try {
576
+ setTimeout(function () {
577
+ scrollIntoLast(0, scrollRef);
578
+ });
579
+ }
580
+ catch (error) {
581
+ logger.warning('OpenChannel | onMessageReceived | scroll to end failed');
582
+ }
583
+ }
584
+ },
585
+ onMessageUpdated: function (channel, message) {
586
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
587
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl: channelUrl, message: message });
588
+ messagesDispatcher({
589
+ type: ON_MESSAGE_UPDATED,
590
+ payload: { channel: channel, message: message },
591
+ });
592
+ },
593
+ onMessageDeleted: function (channel, messageId) {
594
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
595
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl: channelUrl, messageId: messageId });
596
+ messagesDispatcher({
597
+ type: ON_MESSAGE_DELETED,
598
+ payload: { channel: channel, messageId: messageId },
599
+ });
600
+ },
601
+ onOperatorUpdated: function (channel, operators) {
602
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
603
+ logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl: channelUrl, operators: operators });
604
+ messagesDispatcher({
605
+ type: ON_OPERATOR_UPDATED,
606
+ payload: { channel: channel, operators: operators },
607
+ });
608
+ },
609
+ onUserEntered: function (channel, user) {
610
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
611
+ logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl: channelUrl, user: user });
612
+ messagesDispatcher({
613
+ type: ON_USER_ENTERED,
614
+ payload: { channel: channel, user: user },
615
+ });
616
+ },
617
+ onUserExited: function (channel, user) {
618
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
619
+ logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl: channelUrl, user: user });
620
+ messagesDispatcher({
621
+ type: ON_USER_EXITED,
622
+ payload: { channel: channel, user: user },
623
+ });
624
+ },
625
+ onUserMuted: function (channel, user) {
626
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
627
+ logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl: channelUrl, user: user });
628
+ messagesDispatcher({
629
+ type: ON_USER_MUTED,
630
+ payload: { channel: channel, user: user },
631
+ });
632
+ },
633
+ onUserUnmuted: function (channel, user) {
634
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
635
+ logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl: channelUrl, user: user });
636
+ messagesDispatcher({
637
+ type: ON_USER_UNMUTED,
638
+ payload: { channel: channel, user: user },
639
+ });
640
+ },
641
+ onUserBanned: function (channel, user) {
642
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
643
+ logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl: channelUrl, user: user });
644
+ messagesDispatcher({
645
+ type: ON_USER_BANNED,
646
+ payload: { channel: channel, user: user, currentUser: sdk === null || sdk === void 0 ? void 0 : sdk.currentUser },
647
+ });
648
+ },
649
+ onUserUnbanned: function (channel, user) {
650
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
651
+ logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl: channelUrl, user: user });
652
+ messagesDispatcher({
653
+ type: ON_USER_UNBANNED,
654
+ payload: { channel: channel, user: user },
655
+ });
656
+ },
657
+ onChannelFrozen: function (channel) {
658
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);
659
+ messagesDispatcher({
660
+ type: ON_CHANNEL_FROZEN,
661
+ payload: channel,
662
+ });
663
+ },
664
+ onChannelUnfrozen: function (channel) {
665
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);
666
+ messagesDispatcher({
667
+ type: ON_CHANNEL_UNFROZEN,
668
+ payload: channel,
669
+ });
670
+ },
671
+ onChannelChanged: function (channel) {
672
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);
673
+ messagesDispatcher({
674
+ type: ON_CHANNEL_CHANGED,
675
+ payload: channel,
676
+ });
677
+ },
678
+ onMetaDataCreated: function (channel, metaData) {
679
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
680
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl: channelUrl, metaData: metaData });
681
+ messagesDispatcher({
682
+ type: ON_META_DATA_CREATED,
683
+ payload: { channel: channel, metaData: metaData },
684
+ });
685
+ },
686
+ onMetaDataUpdated: function (channel, metaData) {
687
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
688
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl: channelUrl, metaData: metaData });
689
+ messagesDispatcher({
690
+ type: ON_META_DATA_UPDATED,
691
+ payload: { channel: channel, metaData: metaData },
692
+ });
693
+ },
694
+ onMetaDataDeleted: function (channel, metaDataKeys) {
695
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
696
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl: channelUrl, metaDataKeys: metaDataKeys });
697
+ messagesDispatcher({
698
+ type: ON_META_DATA_DELETED,
699
+ payload: { channel: channel, metaDataKeys: metaDataKeys },
700
+ });
701
+ },
702
+ onMetaCounterCreated: function (channel, metaCounter) {
703
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
704
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl: channelUrl, metaCounter: metaCounter });
705
+ messagesDispatcher({
706
+ type: ON_META_COUNTERS_CREATED,
707
+ payload: { channel: channel, metaCounter: metaCounter },
708
+ });
709
+ },
710
+ onMetaCounterUpdated: function (channel, metaCounter) {
711
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
712
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl: channelUrl, metaCounter: metaCounter });
713
+ messagesDispatcher({
714
+ type: ON_META_COUNTERS_UPDATED,
715
+ payload: { channel: channel, metaCounter: metaCounter },
716
+ });
717
+ },
718
+ onMetaCounterDeleted: function (channel, metaCounterKeys) {
719
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
720
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl: channelUrl, metaCounterKeys: metaCounterKeys });
721
+ messagesDispatcher({
722
+ type: ON_META_COUNTERS_DELETED,
723
+ payload: { channel: channel, metaCounterKeys: metaCounterKeys },
724
+ });
725
+ },
726
+ onMentionReceived: function (channel, message) {
727
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
728
+ logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl: channelUrl, message: message });
729
+ messagesDispatcher({
730
+ type: ON_MENTION_RECEIVED,
731
+ payload: { channel: channel, message: message },
732
+ });
733
+ },
734
+ onChannelDeleted: function (channelUrl, channelType) {
735
+ if (channelType === SendbirdChat.ChannelType.OPEN && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url) === channelUrl) {
736
+ messagesDispatcher({
737
+ type: ON_CHANNEL_DELETED,
738
+ payload: channelUrl,
739
+ });
740
+ }
741
+ },
742
+ };
743
+ var ChannelHandler = new openChannel.OpenChannelHandler(channelHandlerParams);
744
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _b === void 0 ? void 0 : _b.addOpenChannelHandler(messageReceiverId, ChannelHandler);
745
+ }
746
+ return function () {
747
+ var _a;
748
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) {
749
+ logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);
750
+ sdk.openChannel.removeOpenChannelHandler(messageReceiverId);
751
+ }
752
+ };
753
+ }, [currentOpenChannel]);
755
754
  }
756
755
 
757
- function useInitialMessagesFetch(_a, _b) {
758
- var currentOpenChannel = _a.currentOpenChannel, userFilledMessageListParams = _a.userFilledMessageListParams;
759
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
760
- React.useEffect(function () {
761
- logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);
762
- messagesDispatcher({
763
- type: RESET_MESSAGES,
764
- payload: null,
765
- });
766
- if (currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {
767
- var messageListParams_1 = {
768
- nextResultSize: 0,
769
- prevResultSize: 30,
770
- isInclusive: true,
771
- includeReactions: false,
772
- };
773
- if (userFilledMessageListParams) {
774
- Object.keys(userFilledMessageListParams).forEach(function (key) {
775
- messageListParams_1[key] = userFilledMessageListParams[key];
776
- });
777
- logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');
778
- }
779
- logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
780
- messagesDispatcher({
781
- type: GET_PREV_MESSAGES_START,
782
- payload: null,
783
- });
784
- currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
785
- logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);
786
- var hasMore = (messages && messages.length > 0);
787
- var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
788
- messagesDispatcher({
789
- type: GET_PREV_MESSAGES_SUCESS,
790
- payload: {
791
- currentOpenChannel: currentOpenChannel,
792
- messages: messages,
793
- hasMore: hasMore,
794
- lastMessageTimestamp: lastMessageTimestamp,
795
- },
796
- });
797
- setTimeout(function () { scrollIntoLast(0, scrollRef); });
798
- }).catch(function (error) {
799
- logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);
800
- messagesDispatcher({
801
- type: GET_PREV_MESSAGES_FAIL,
802
- payload: {
803
- currentOpenChannel: currentOpenChannel,
804
- messages: [],
805
- hasMore: false,
806
- lastMessageTimestamp: 0,
807
- },
808
- });
809
- });
810
- }
811
- }, [currentOpenChannel, userFilledMessageListParams]);
756
+ function useInitialMessagesFetch(_a, _b) {
757
+ var currentOpenChannel = _a.currentOpenChannel, userFilledMessageListParams = _a.userFilledMessageListParams;
758
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
759
+ React.useEffect(function () {
760
+ logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);
761
+ messagesDispatcher({
762
+ type: RESET_MESSAGES,
763
+ payload: null,
764
+ });
765
+ if (currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {
766
+ var messageListParams_1 = {
767
+ nextResultSize: 0,
768
+ prevResultSize: 30,
769
+ isInclusive: true,
770
+ includeReactions: false,
771
+ };
772
+ if (userFilledMessageListParams) {
773
+ Object.keys(userFilledMessageListParams).forEach(function (key) {
774
+ messageListParams_1[key] = userFilledMessageListParams[key];
775
+ });
776
+ logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');
777
+ }
778
+ logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
779
+ messagesDispatcher({
780
+ type: GET_PREV_MESSAGES_START,
781
+ payload: null,
782
+ });
783
+ currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
784
+ logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);
785
+ var hasMore = (messages && messages.length > 0);
786
+ var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
787
+ messagesDispatcher({
788
+ type: GET_PREV_MESSAGES_SUCESS,
789
+ payload: {
790
+ currentOpenChannel: currentOpenChannel,
791
+ messages: messages,
792
+ hasMore: hasMore,
793
+ lastMessageTimestamp: lastMessageTimestamp,
794
+ },
795
+ });
796
+ setTimeout(function () { scrollIntoLast(0, scrollRef); });
797
+ }).catch(function (error) {
798
+ logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);
799
+ messagesDispatcher({
800
+ type: GET_PREV_MESSAGES_FAIL,
801
+ payload: {
802
+ currentOpenChannel: currentOpenChannel,
803
+ messages: [],
804
+ hasMore: false,
805
+ lastMessageTimestamp: 0,
806
+ },
807
+ });
808
+ });
809
+ }
810
+ }, [currentOpenChannel, userFilledMessageListParams]);
812
811
  }
813
812
 
814
- function useScrollCallback(_a, _b) {
815
- var currentOpenChannel = _a.currentOpenChannel, lastMessageTimestamp = _a.lastMessageTimestamp, fetchMore = _a.fetchMore;
816
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, hasMore = _b.hasMore, userFilledMessageListParams = _b.userFilledMessageListParams;
817
- return React.useCallback(function (callback) {
818
- if (fetchMore && hasMore) {
819
- logger.info('OpenChannel | useScrollCallback: start');
820
- var messageListParams_1 = {
821
- prevResultSize: 30,
822
- includeReactions: false,
823
- nextResultSize: 0,
824
- };
825
- if (userFilledMessageListParams) {
826
- Object.keys(userFilledMessageListParams).forEach(function (key) {
827
- messageListParams_1[key] = userFilledMessageListParams[key];
828
- });
829
- logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);
830
- }
831
- logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
832
- currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams_1).then(function (messages) {
833
- logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);
834
- var hasMore = (messages && messages.length > 0);
835
- var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
836
- messagesDispatcher({
837
- type: GET_PREV_MESSAGES_SUCESS,
838
- payload: {
839
- currentOpenChannel: currentOpenChannel,
840
- messages: messages,
841
- hasMore: hasMore,
842
- lastMessageTimestamp: lastMessageTimestamp,
843
- },
844
- });
845
- setTimeout(function () {
846
- callback();
847
- });
848
- }).catch(function (error) {
849
- logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);
850
- messagesDispatcher({
851
- type: GET_PREV_MESSAGES_FAIL,
852
- payload: {
853
- currentOpenChannel: currentOpenChannel,
854
- messages: [],
855
- hasMore: false,
856
- lastMessageTimestamp: 0,
857
- },
858
- });
859
- });
860
- }
861
- }, [currentOpenChannel, lastMessageTimestamp, fetchMore, sdk]);
813
+ function useScrollCallback(_a, _b) {
814
+ var currentOpenChannel = _a.currentOpenChannel, lastMessageTimestamp = _a.lastMessageTimestamp, fetchMore = _a.fetchMore;
815
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, hasMore = _b.hasMore, userFilledMessageListParams = _b.userFilledMessageListParams;
816
+ return React.useCallback(function (callback) {
817
+ if (fetchMore && hasMore) {
818
+ logger.info('OpenChannel | useScrollCallback: start');
819
+ var messageListParams_1 = {
820
+ prevResultSize: 30,
821
+ includeReactions: false,
822
+ nextResultSize: 0,
823
+ };
824
+ if (userFilledMessageListParams) {
825
+ Object.keys(userFilledMessageListParams).forEach(function (key) {
826
+ messageListParams_1[key] = userFilledMessageListParams[key];
827
+ });
828
+ logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);
829
+ }
830
+ logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
831
+ currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams_1).then(function (messages) {
832
+ logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);
833
+ var hasMore = (messages && messages.length > 0);
834
+ var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
835
+ messagesDispatcher({
836
+ type: GET_PREV_MESSAGES_SUCESS,
837
+ payload: {
838
+ currentOpenChannel: currentOpenChannel,
839
+ messages: messages,
840
+ hasMore: hasMore,
841
+ lastMessageTimestamp: lastMessageTimestamp,
842
+ },
843
+ });
844
+ setTimeout(function () {
845
+ callback();
846
+ });
847
+ }).catch(function (error) {
848
+ logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);
849
+ messagesDispatcher({
850
+ type: GET_PREV_MESSAGES_FAIL,
851
+ payload: {
852
+ currentOpenChannel: currentOpenChannel,
853
+ messages: [],
854
+ hasMore: false,
855
+ lastMessageTimestamp: 0,
856
+ },
857
+ });
858
+ });
859
+ }
860
+ }, [currentOpenChannel, lastMessageTimestamp, fetchMore, sdk]);
862
861
  }
863
862
 
864
- function useCheckScrollBottom(_a, _b) {
865
- var conversationScrollRef = _a.conversationScrollRef;
866
- var logger = _b.logger;
867
- return React.useCallback(function () {
868
- var isBottom = true;
869
- if (conversationScrollRef && (conversationScrollRef === null || conversationScrollRef === void 0 ? void 0 : conversationScrollRef.current)) {
870
- try {
871
- var conversationScroll = conversationScrollRef.current;
872
- isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;
873
- }
874
- catch (error) {
875
- logger.error('OpenChannel | useCheckScrollBottom', error);
876
- }
877
- }
878
- return isBottom;
879
- }, [conversationScrollRef]);
863
+ function useCheckScrollBottom(_a, _b) {
864
+ var conversationScrollRef = _a.conversationScrollRef;
865
+ var logger = _b.logger;
866
+ return React.useCallback(function () {
867
+ var isBottom = true;
868
+ if (conversationScrollRef && (conversationScrollRef === null || conversationScrollRef === void 0 ? void 0 : conversationScrollRef.current)) {
869
+ try {
870
+ var conversationScroll = conversationScrollRef.current;
871
+ isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;
872
+ }
873
+ catch (error) {
874
+ logger.error('OpenChannel | useCheckScrollBottom', error);
875
+ }
876
+ }
877
+ return isBottom;
878
+ }, [conversationScrollRef]);
880
879
  }
881
880
 
882
- function useSendMessageCallback(_a, _b) {
883
- var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage, messageInputRef = _a.messageInputRef;
884
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
885
- return React.useCallback(function () {
886
- if (sdk) {
887
- var text = messageInputRef.current.innerText;
888
- var createParamsDefault = function (txt) {
889
- var message = txt;
890
- var params = {
891
- message: message,
892
- };
893
- return params;
894
- };
895
- var createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
896
- if (createCustomParams) {
897
- logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
898
- }
899
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
900
- logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);
901
- var pendingMsg_1 = null;
902
- currentOpenChannel.sendUserMessage(params)
903
- .onPending(function (pendingMessage) {
904
- messagesDispatcher({
905
- type: SENDING_MESSAGE_START,
906
- payload: {
907
- message: pendingMessage,
908
- channel: currentOpenChannel,
909
- },
910
- });
911
- pendingMsg_1 = pendingMessage;
912
- setTimeout(function () { return scrollIntoLast(0, scrollRef); });
913
- })
914
- .onSucceeded(function (message) {
915
- logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);
916
- messagesDispatcher({
917
- type: SENDING_MESSAGE_SUCCEEDED,
918
- payload: message,
919
- });
920
- })
921
- .onFailed(function (error) {
922
- logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);
923
- messagesDispatcher({
924
- type: SENDING_MESSAGE_FAILED,
925
- payload: pendingMsg_1,
926
- });
927
- // https://sendbird.com/docs/chat/v3/javascript/guides/error-codes#2-server-error-codes
928
- // TODO: Do we need to handle the error cases?
929
- // @ts-ignore
930
- if ((error === null || error === void 0 ? void 0 : error.code) === 900041) {
931
- messagesDispatcher({
932
- type: ON_USER_MUTED,
933
- payload: {
934
- channel: currentOpenChannel,
935
- user: sdk.currentUser,
936
- },
937
- });
938
- }
939
- });
940
- }
941
- }, [currentOpenChannel, onBeforeSendUserMessage, messageInputRef]);
881
+ function useSendMessageCallback(_a, _b) {
882
+ var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage, messageInputRef = _a.messageInputRef;
883
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
884
+ return React.useCallback(function () {
885
+ if (sdk) {
886
+ var text = messageInputRef.current.innerText;
887
+ var createParamsDefault = function (txt) {
888
+ var message = txt;
889
+ var params = {
890
+ message: message,
891
+ };
892
+ return params;
893
+ };
894
+ var createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
895
+ if (createCustomParams) {
896
+ logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
897
+ }
898
+ var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
899
+ logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);
900
+ var pendingMsg_1 = null;
901
+ currentOpenChannel.sendUserMessage(params)
902
+ .onPending(function (pendingMessage) {
903
+ messagesDispatcher({
904
+ type: SENDING_MESSAGE_START,
905
+ payload: {
906
+ message: pendingMessage,
907
+ channel: currentOpenChannel,
908
+ },
909
+ });
910
+ pendingMsg_1 = pendingMessage;
911
+ setTimeout(function () { return scrollIntoLast(0, scrollRef); });
912
+ })
913
+ .onSucceeded(function (message) {
914
+ logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);
915
+ messagesDispatcher({
916
+ type: SENDING_MESSAGE_SUCCEEDED,
917
+ payload: message,
918
+ });
919
+ })
920
+ .onFailed(function (error) {
921
+ logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);
922
+ messagesDispatcher({
923
+ type: SENDING_MESSAGE_FAILED,
924
+ payload: pendingMsg_1,
925
+ });
926
+ // https://sendbird.com/docs/chat/v3/javascript/guides/error-codes#2-server-error-codes
927
+ // TODO: Do we need to handle the error cases?
928
+ // @ts-ignore
929
+ if ((error === null || error === void 0 ? void 0 : error.code) === 900041) {
930
+ messagesDispatcher({
931
+ type: ON_USER_MUTED,
932
+ payload: {
933
+ channel: currentOpenChannel,
934
+ user: sdk.currentUser,
935
+ },
936
+ });
937
+ }
938
+ });
939
+ }
940
+ }, [currentOpenChannel, onBeforeSendUserMessage, messageInputRef]);
942
941
  }
943
942
 
944
- function useFileUploadCallback(_a, _b) {
945
- var _this = this;
946
- var currentOpenChannel = _a.currentOpenChannel, _c = _a.imageCompression, imageCompression = _c === void 0 ? {} : _c, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
947
- var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
948
- var stringSet = LocalizationContext.useLocalization().stringSet;
949
- var openModal = hooks_useModal.useGlobalModalContext().openModal;
950
- var config = useSendbirdStateContext.useSendbirdStateContext().config;
951
- var uikitUploadSizeLimit = config.uikitUploadSizeLimit;
952
- return React.useCallback(function (files) { return _tslib.__awaiter(_this, void 0, void 0, function () {
953
- var file_1, createCustomParams, createParamsDefault, compressedFiles, compressedFile, params;
954
- return _tslib.__generator(this, function (_a) {
955
- switch (_a.label) {
956
- case 0:
957
- if (!sdk) return [3 /*break*/, 2];
958
- file_1 = Array.isArray(files) ? files[0] : files;
959
- createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
960
- createParamsDefault = function (file_) {
961
- var params = {};
962
- params.file = file_;
963
- return params;
964
- };
965
- /**
966
- * Validate file sizes
967
- * The default value of uikitUploadSizeLimit is 25MiB
968
- */
969
- if (file_1.size > uikitUploadSizeLimit) {
970
- logger.info("OpenChannel | useFileUploadCallback: Cannot upload file size exceeding ".concat(uikitUploadSizeLimit));
971
- openModal({
972
- modalProps: {
973
- titleText: stringSet.FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT.replace('%d', "".concat(Math.floor(uikitUploadSizeLimit / consts.ONE_MiB))),
974
- hideFooter: true,
975
- },
976
- childElement: function (_a) {
977
- var closeModal = _a.closeModal;
978
- return (React.createElement(ui_Modal.ModalFooter, { type: ui_Button.ButtonTypes.PRIMARY, submitText: stringSet.BUTTON__OK, hideCancelButton: true, onCancel: closeModal, onSubmit: closeModal }));
979
- },
980
- });
981
- return [2 /*return*/];
982
- }
983
- return [4 /*yield*/, compressImages.compressImages({
984
- files: [file_1],
985
- imageCompression: imageCompression,
986
- logger: logger,
987
- })];
988
- case 1:
989
- compressedFiles = (_a.sent()).compressedFiles;
990
- compressedFile = compressedFiles[0];
991
- // Send FileMessage
992
- if (createCustomParams) {
993
- logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
994
- }
995
- params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);
996
- logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
997
- currentOpenChannel.sendFileMessage(params)
998
- .onPending(function (pendingMessage) {
999
- messagesDispatcher({
1000
- type: SENDING_MESSAGE_START,
1001
- payload: {
1002
- // TODO: remove data pollution
1003
- message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file_1),
1004
- // pending thumbnail message seems to be failed
1005
- requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1006
- channel: currentOpenChannel,
1007
- },
1008
- });
1009
- setTimeout(function () { return scrollIntoLast(0, scrollRef); });
1010
- })
1011
- .onSucceeded(function (message) {
1012
- logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1013
- messagesDispatcher({
1014
- type: SENDING_MESSAGE_SUCCEEDED,
1015
- payload: message,
1016
- });
1017
- })
1018
- .onFailed(function (error, message) {
1019
- logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message: message, error: error });
1020
- // @ts-ignore
1021
- message.localUrl = URL.createObjectURL(file_1);
1022
- // @ts-ignore
1023
- message.file = file_1;
1024
- messagesDispatcher({
1025
- type: SENDING_MESSAGE_FAILED,
1026
- payload: message,
1027
- });
1028
- });
1029
- _a.label = 2;
1030
- case 2: return [2 /*return*/];
1031
- }
1032
- });
1033
- }); }, [currentOpenChannel, onBeforeSendFileMessage, imageCompression]);
943
+ function useFileUploadCallback(_a, _b) {
944
+ var _this = this;
945
+ var currentOpenChannel = _a.currentOpenChannel, _c = _a.imageCompression, imageCompression = _c === void 0 ? {} : _c, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
946
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
947
+ var stringSet = LocalizationContext.useLocalization().stringSet;
948
+ var openModal = ui_Modal.useGlobalModalContext().openModal;
949
+ var config = useSendbirdStateContext.useSendbirdStateContext().config;
950
+ var uikitUploadSizeLimit = config.uikitUploadSizeLimit;
951
+ return React.useCallback(function (files) { return _tslib.__awaiter(_this, void 0, void 0, function () {
952
+ var file_1, createCustomParams, createParamsDefault, compressedFiles, compressedFile, params;
953
+ return _tslib.__generator(this, function (_a) {
954
+ switch (_a.label) {
955
+ case 0:
956
+ if (!sdk) return [3 /*break*/, 2];
957
+ file_1 = Array.isArray(files) ? files[0] : files;
958
+ createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
959
+ createParamsDefault = function (file_) {
960
+ var params = {};
961
+ params.file = file_;
962
+ return params;
963
+ };
964
+ /**
965
+ * Validate file sizes
966
+ * The default value of uikitUploadSizeLimit is 25MiB
967
+ */
968
+ if (file_1.size > uikitUploadSizeLimit) {
969
+ logger.info("OpenChannel | useFileUploadCallback: Cannot upload file size exceeding ".concat(uikitUploadSizeLimit));
970
+ openModal({
971
+ modalProps: {
972
+ titleText: stringSet.FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT.replace('%d', "".concat(Math.floor(uikitUploadSizeLimit / consts.ONE_MiB))),
973
+ hideFooter: true,
974
+ },
975
+ childElement: function (_a) {
976
+ var closeModal = _a.closeModal;
977
+ return (React.createElement(ui_Modal.ModalFooter, { type: ui_Button.ButtonTypes.PRIMARY, submitText: stringSet.BUTTON__OK, hideCancelButton: true, onCancel: closeModal, onSubmit: closeModal }));
978
+ },
979
+ });
980
+ return [2 /*return*/];
981
+ }
982
+ return [4 /*yield*/, compressImages.compressImages({
983
+ files: [file_1],
984
+ imageCompression: imageCompression,
985
+ logger: logger,
986
+ })];
987
+ case 1:
988
+ compressedFiles = (_a.sent()).compressedFiles;
989
+ compressedFile = compressedFiles[0];
990
+ // Send FileMessage
991
+ if (createCustomParams) {
992
+ logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
993
+ }
994
+ params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);
995
+ logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
996
+ currentOpenChannel.sendFileMessage(params)
997
+ .onPending(function (pendingMessage) {
998
+ messagesDispatcher({
999
+ type: SENDING_MESSAGE_START,
1000
+ payload: {
1001
+ // TODO: remove data pollution
1002
+ message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file_1),
1003
+ // pending thumbnail message seems to be failed
1004
+ requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1005
+ channel: currentOpenChannel,
1006
+ },
1007
+ });
1008
+ setTimeout(function () { return scrollIntoLast(0, scrollRef); });
1009
+ })
1010
+ .onSucceeded(function (message) {
1011
+ logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1012
+ messagesDispatcher({
1013
+ type: SENDING_MESSAGE_SUCCEEDED,
1014
+ payload: message,
1015
+ });
1016
+ })
1017
+ .onFailed(function (error, message) {
1018
+ logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message: message, error: error });
1019
+ // @ts-ignore
1020
+ message.localUrl = URL.createObjectURL(file_1);
1021
+ // @ts-ignore
1022
+ message.file = file_1;
1023
+ messagesDispatcher({
1024
+ type: SENDING_MESSAGE_FAILED,
1025
+ payload: message,
1026
+ });
1027
+ });
1028
+ _a.label = 2;
1029
+ case 2: return [2 /*return*/];
1030
+ }
1031
+ });
1032
+ }); }, [currentOpenChannel, onBeforeSendFileMessage, imageCompression]);
1034
1033
  }
1035
1034
 
1036
- function useUpdateMessageCallback(_a, _b) {
1037
- var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
1038
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1039
- return React.useCallback(function (messageId, text, callback) {
1040
- var createParamsDefault = function (txt) {
1041
- var params = {
1042
- message: txt,
1043
- };
1044
- return params;
1045
- };
1046
- if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {
1047
- logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');
1048
- }
1049
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
1050
- currentOpenChannel.updateUserMessage(messageId, params)
1051
- .then(function (message) {
1052
- if (callback) {
1053
- callback();
1054
- }
1055
- logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message: message, params: params });
1056
- messagesDispatcher({
1057
- type: ON_MESSAGE_UPDATED,
1058
- payload: {
1059
- channel: currentOpenChannel,
1060
- message: message,
1061
- },
1062
- });
1063
- });
1064
- }, [currentOpenChannel, onBeforeSendUserMessage]);
1035
+ function useUpdateMessageCallback(_a, _b) {
1036
+ var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
1037
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1038
+ return React.useCallback(function (messageId, text, callback) {
1039
+ var createParamsDefault = function (txt) {
1040
+ var params = {
1041
+ message: txt,
1042
+ };
1043
+ return params;
1044
+ };
1045
+ if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {
1046
+ logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');
1047
+ }
1048
+ var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
1049
+ currentOpenChannel.updateUserMessage(messageId, params)
1050
+ .then(function (message) {
1051
+ if (callback) {
1052
+ callback();
1053
+ }
1054
+ logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message: message, params: params });
1055
+ messagesDispatcher({
1056
+ type: ON_MESSAGE_UPDATED,
1057
+ payload: {
1058
+ channel: currentOpenChannel,
1059
+ message: message,
1060
+ },
1061
+ });
1062
+ });
1063
+ }, [currentOpenChannel, onBeforeSendUserMessage]);
1065
1064
  }
1066
1065
 
1067
- function useDeleteMessageCallback(_a, _b) {
1068
- var currentOpenChannel = _a.currentOpenChannel;
1069
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1070
- return React.useCallback(function (message, callback) {
1071
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);
1072
- var sendingStatus = message.sendingStatus;
1073
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);
1074
- if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1075
- logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);
1076
- messagesDispatcher({
1077
- type: ON_MESSAGE_DELETED_BY_REQ_ID,
1078
- payload: message.reqId,
1079
- });
1080
- if (callback) {
1081
- callback();
1082
- }
1083
- }
1084
- else {
1085
- if (!(message.messageType === 'file' || message.messageType === 'user')) {
1086
- return;
1087
- }
1088
- var messageToDelete = message;
1089
- currentOpenChannel.deleteMessage(messageToDelete).then(function () {
1090
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);
1091
- if (callback) {
1092
- callback();
1093
- }
1094
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
1095
- messagesDispatcher({
1096
- type: ON_MESSAGE_DELETED,
1097
- payload: {
1098
- channel: currentOpenChannel,
1099
- messageId: message.messageId,
1100
- },
1101
- });
1102
- }).catch(function (error) {
1103
- logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
1104
- });
1105
- }
1106
- }, [currentOpenChannel]);
1066
+ function useDeleteMessageCallback(_a, _b) {
1067
+ var currentOpenChannel = _a.currentOpenChannel;
1068
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1069
+ return React.useCallback(function (message, callback) {
1070
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);
1071
+ var sendingStatus = message.sendingStatus;
1072
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);
1073
+ if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1074
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);
1075
+ messagesDispatcher({
1076
+ type: ON_MESSAGE_DELETED_BY_REQ_ID,
1077
+ payload: message.reqId,
1078
+ });
1079
+ if (callback) {
1080
+ callback();
1081
+ }
1082
+ }
1083
+ else {
1084
+ if (!(message.messageType === 'file' || message.messageType === 'user')) {
1085
+ return;
1086
+ }
1087
+ var messageToDelete = message;
1088
+ currentOpenChannel.deleteMessage(messageToDelete).then(function () {
1089
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);
1090
+ if (callback) {
1091
+ callback();
1092
+ }
1093
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
1094
+ messagesDispatcher({
1095
+ type: ON_MESSAGE_DELETED,
1096
+ payload: {
1097
+ channel: currentOpenChannel,
1098
+ messageId: message.messageId,
1099
+ },
1100
+ });
1101
+ }).catch(function (error) {
1102
+ logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
1103
+ });
1104
+ }
1105
+ }, [currentOpenChannel]);
1107
1106
  }
1108
1107
 
1109
- function useResendMessageCallback(_a, _b) {
1110
- var currentOpenChannel = _a.currentOpenChannel;
1111
- var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1112
- return React.useCallback(function (failedMessage) {
1113
- logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);
1114
- if (typeof (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) === 'boolean'
1115
- && failedMessage.isResendable) {
1116
- // userMessage
1117
- if (failedMessage.isUserMessage()) {
1118
- currentOpenChannel
1119
- .resendMessage(failedMessage)
1120
- .onPending(function (message) {
1121
- messagesDispatcher({
1122
- type: RESENDING_MESSAGE_START,
1123
- payload: {
1124
- channel: currentOpenChannel,
1125
- message: message,
1126
- },
1127
- });
1128
- })
1129
- .onSucceeded(function (message) {
1130
- logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);
1131
- messagesDispatcher({
1132
- type: SENDING_MESSAGE_SUCCEEDED,
1133
- payload: message,
1134
- });
1135
- })
1136
- .onFailed(function (error, message) {
1137
- logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);
1138
- messagesDispatcher({
1139
- type: SENDING_MESSAGE_FAILED,
1140
- payload: message,
1141
- });
1142
- });
1143
- }
1144
- // fileMessage
1145
- if (failedMessage.isFileMessage()) {
1146
- currentOpenChannel
1147
- .resendMessage(failedMessage)
1148
- .onPending(function (message) {
1149
- messagesDispatcher({
1150
- type: RESENDING_MESSAGE_START,
1151
- payload: {
1152
- channel: currentOpenChannel,
1153
- message: message,
1154
- },
1155
- });
1156
- })
1157
- .onSucceeded(function (message) {
1158
- logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);
1159
- messagesDispatcher({
1160
- type: SENDING_MESSAGE_SUCCEEDED,
1161
- payload: message,
1162
- });
1163
- })
1164
- .onFailed(function (error, message) {
1165
- logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);
1166
- messagesDispatcher({
1167
- type: SENDING_MESSAGE_FAILED,
1168
- payload: message,
1169
- });
1170
- });
1171
- }
1172
- }
1173
- else {
1174
- // to alert user on console
1175
- // eslint-disable-next-line no-console
1176
- console.error('OpenChannel | useResendMessageCallback: Message is not resendable');
1177
- logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);
1178
- }
1179
- }, [currentOpenChannel]);
1108
+ function useResendMessageCallback(_a, _b) {
1109
+ var currentOpenChannel = _a.currentOpenChannel;
1110
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1111
+ return React.useCallback(function (failedMessage) {
1112
+ logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);
1113
+ if (typeof (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) === 'boolean'
1114
+ && failedMessage.isResendable) {
1115
+ // userMessage
1116
+ if (failedMessage.isUserMessage()) {
1117
+ currentOpenChannel
1118
+ .resendMessage(failedMessage)
1119
+ .onPending(function (message) {
1120
+ messagesDispatcher({
1121
+ type: RESENDING_MESSAGE_START,
1122
+ payload: {
1123
+ channel: currentOpenChannel,
1124
+ message: message,
1125
+ },
1126
+ });
1127
+ })
1128
+ .onSucceeded(function (message) {
1129
+ logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);
1130
+ messagesDispatcher({
1131
+ type: SENDING_MESSAGE_SUCCEEDED,
1132
+ payload: message,
1133
+ });
1134
+ })
1135
+ .onFailed(function (error, message) {
1136
+ logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);
1137
+ messagesDispatcher({
1138
+ type: SENDING_MESSAGE_FAILED,
1139
+ payload: message,
1140
+ });
1141
+ });
1142
+ }
1143
+ // fileMessage
1144
+ if (failedMessage.isFileMessage()) {
1145
+ currentOpenChannel
1146
+ .resendMessage(failedMessage)
1147
+ .onPending(function (message) {
1148
+ messagesDispatcher({
1149
+ type: RESENDING_MESSAGE_START,
1150
+ payload: {
1151
+ channel: currentOpenChannel,
1152
+ message: message,
1153
+ },
1154
+ });
1155
+ })
1156
+ .onSucceeded(function (message) {
1157
+ logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);
1158
+ messagesDispatcher({
1159
+ type: SENDING_MESSAGE_SUCCEEDED,
1160
+ payload: message,
1161
+ });
1162
+ })
1163
+ .onFailed(function (error, message) {
1164
+ logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);
1165
+ messagesDispatcher({
1166
+ type: SENDING_MESSAGE_FAILED,
1167
+ payload: message,
1168
+ });
1169
+ });
1170
+ }
1171
+ }
1172
+ else {
1173
+ // to alert user on console
1174
+ // eslint-disable-next-line no-console
1175
+ console.error('OpenChannel | useResendMessageCallback: Message is not resendable');
1176
+ logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);
1177
+ }
1178
+ }, [currentOpenChannel]);
1180
1179
  }
1181
1180
 
1182
- var THROTTLE_TIMER = 5000;
1183
- // to trim message list so that we wont keep thousands of messages in memory
1184
- // We are throttling here; not debouncing
1185
- // it will be called once very 5 sec if messagesLength, messageLimit changes
1186
- // we check if messagesLength > messageLimit before dispatching action
1187
- function useTrimMessageList(_a, _b) {
1188
- var messagesLength = _a.messagesLength, messageLimit = _a.messageLimit;
1189
- var messagesDispatcher = _b.messagesDispatcher, logger = _b.logger;
1190
- var _c = React.useState(false), inProgress = _c[0], setInProgress = _c[1];
1191
- React.useEffect(function () {
1192
- if (inProgress) {
1193
- return;
1194
- }
1195
- if (typeof messagesLength === 'number' && messagesLength > messageLimit) {
1196
- logger.info('Trimming MessageList');
1197
- messagesDispatcher({
1198
- type: TRIM_MESSAGE_LIST,
1199
- payload: { messageLimit: messageLimit },
1200
- });
1201
- }
1202
- setInProgress(true);
1203
- setTimeout(function () { setInProgress(false); }, THROTTLE_TIMER);
1204
- }, [messagesLength, messageLimit]);
1181
+ var THROTTLE_TIMER = 5000;
1182
+ // to trim message list so that we wont keep thousands of messages in memory
1183
+ // We are throttling here; not debouncing
1184
+ // it will be called once very 5 sec if messagesLength, messageLimit changes
1185
+ // we check if messagesLength > messageLimit before dispatching action
1186
+ function useTrimMessageList(_a, _b) {
1187
+ var messagesLength = _a.messagesLength, messageLimit = _a.messageLimit;
1188
+ var messagesDispatcher = _b.messagesDispatcher, logger = _b.logger;
1189
+ var _c = React.useState(false), inProgress = _c[0], setInProgress = _c[1];
1190
+ React.useEffect(function () {
1191
+ if (inProgress) {
1192
+ return;
1193
+ }
1194
+ if (typeof messagesLength === 'number' && messagesLength > messageLimit) {
1195
+ logger.info('Trimming MessageList');
1196
+ messagesDispatcher({
1197
+ type: TRIM_MESSAGE_LIST,
1198
+ payload: { messageLimit: messageLimit },
1199
+ });
1200
+ }
1201
+ setInProgress(true);
1202
+ setTimeout(function () { setInProgress(false); }, THROTTLE_TIMER);
1203
+ }, [messagesLength, messageLimit]);
1205
1204
  }
1206
1205
 
1207
- var OpenChannelContext = React.createContext(undefined);
1208
- var OpenChannelProvider = function (props) {
1209
- var _a, _b, _c, _d, _e, _f, _g;
1210
- 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;
1211
- // We didn't decide to support fetching participant list
1212
- var fetchingParticipants = false;
1213
- var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1214
- 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;
1215
- 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;
1216
- 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;
1217
- var config = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1218
- var userId = config.userId, isOnline = config.isOnline, logger = config.logger, pubSub = config.pubSub, imageCompression = config.imageCompression;
1219
- // hook variables
1220
- var _j = React.useReducer(reducer, initialState), messagesStore = _j[0], messagesDispatcher = _j[1];
1221
- 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;
1222
- // ref
1223
- var messageInputRef = React.useRef(null); // useSendMessageCallback
1224
- var conversationScrollRef = React.useRef(null); // useScrollAfterSendMessageCallback
1225
- // const
1226
- var userFilledMessageListParams = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1227
- var disabled = !initialized
1228
- || !isOnline
1229
- || isDisabledBecauseFrozen(currentOpenChannel, userId)
1230
- || isDisabledBecauseMuted(mutedParticipantIds, userId);
1231
- // useMemo
1232
- var amIBanned = React.useMemo(function () {
1233
- return bannedParticipantIds.indexOf(user.userId) >= 0;
1234
- }, [channelUrl, bannedParticipantIds, user]);
1235
- var amIMuted = React.useMemo(function () {
1236
- return mutedParticipantIds.indexOf(user.userId) >= 0;
1237
- }, [channelUrl, mutedParticipantIds, user]);
1238
- var amIOperator = React.useMemo(function () {
1239
- return operators.map(function (operator) { return operator.userId; }).indexOf(user.userId) >= 0;
1240
- }, [channelUrl, operators, user]);
1241
- // use hooks
1242
- useSetChannel({ channelUrl: channelUrl, sdkInit: sdkInit, fetchingParticipants: fetchingParticipants, userId: userId, currentOpenChannel: currentOpenChannel }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher });
1243
- var checkScrollBottom = useCheckScrollBottom({ conversationScrollRef: conversationScrollRef }, { logger: logger });
1244
- useHandleChannelEvents({ currentOpenChannel: currentOpenChannel, checkScrollBottom: checkScrollBottom }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1245
- useInitialMessagesFetch({ currentOpenChannel: currentOpenChannel, userFilledMessageListParams: userFilledMessageListParams }, { logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1246
- var fetchMore = shouldFetchMore(allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit);
1247
- // donot fetch more for streaming
1248
- var onScroll = useScrollCallback({ currentOpenChannel: currentOpenChannel, lastMessageTimestamp: lastMessageTimestamp, fetchMore: fetchMore }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, hasMore: hasMore, userFilledMessageListParams: userFilledMessageListParams });
1249
- var handleSendMessage = useSendMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage, checkScrollBottom: checkScrollBottom, messageInputRef: messageInputRef }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1250
- var handleFileUpload = useFileUploadCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendFileMessage: onBeforeSendFileMessage, checkScrollBottom: checkScrollBottom, imageCompression: imageCompression }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1251
- var updateMessage = useUpdateMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage }, { logger: logger, messagesDispatcher: messagesDispatcher });
1252
- var deleteMessage = useDeleteMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1253
- var resendMessage = useResendMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1254
- useTrimMessageList({ messagesLength: allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit: messageLimit }, { messagesDispatcher: messagesDispatcher, logger: logger });
1255
- // handle API calls from withSendbird
1256
- React.useEffect(function () {
1257
- var subscriber = new Map();
1258
- if (!pubSub || !pubSub.subscribe) {
1259
- return;
1260
- }
1261
- subscriber.set(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, function (msg) {
1262
- var channel = msg.channel, message = msg.message;
1263
- scrollIntoLast(0, conversationScrollRef);
1264
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1265
- messagesDispatcher({
1266
- type: SENDING_MESSAGE_SUCCEEDED,
1267
- payload: message,
1268
- });
1269
- }
1270
- }));
1271
- subscriber.set(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, function (msg) {
1272
- var channel = msg.channel, message = msg.message;
1273
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1274
- messagesDispatcher({
1275
- type: SENDING_MESSAGE_START,
1276
- payload: { message: message, channel: channel },
1277
- });
1278
- }
1279
- }));
1280
- subscriber.set(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, function (msg) {
1281
- var channel = msg.channel, message = msg.message;
1282
- scrollIntoLast(0, conversationScrollRef);
1283
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1284
- messagesDispatcher({
1285
- type: SENDING_MESSAGE_SUCCEEDED,
1286
- payload: { message: message, channel: channel },
1287
- });
1288
- }
1289
- }));
1290
- subscriber.set(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, function (msg) {
1291
- var channel = msg.channel, message = msg.message, fromSelector = msg.fromSelector;
1292
- if (fromSelector && channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1293
- messagesDispatcher({
1294
- type: ON_MESSAGE_UPDATED,
1295
- payload: { channel: channel, message: message },
1296
- });
1297
- }
1298
- }));
1299
- subscriber.set(pubSub_topics.pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.DELETE_MESSAGE, function (msg) {
1300
- var channel = msg.channel, messageId = msg.messageId;
1301
- if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1302
- messagesDispatcher({
1303
- type: ON_MESSAGE_DELETED,
1304
- payload: messageId,
1305
- });
1306
- }
1307
- }));
1308
- return function () {
1309
- if (subscriber) {
1310
- subscriber.forEach(function (s) {
1311
- try {
1312
- s.remove();
1313
- }
1314
- catch (_a) {
1315
- //
1316
- }
1317
- });
1318
- }
1319
- };
1320
- }, [channelUrl, sdkInit]);
1321
- return (React.createElement(OpenChannelContext.Provider, { value: {
1322
- // props
1323
- channelUrl: channelUrl,
1324
- children: children,
1325
- isMessageGroupingEnabled: isMessageGroupingEnabled,
1326
- queries: queries,
1327
- onBeforeSendUserMessage: onBeforeSendUserMessage,
1328
- messageLimit: messageLimit,
1329
- onBeforeSendFileMessage: onBeforeSendFileMessage,
1330
- onChatHeaderActionClick: onChatHeaderActionClick,
1331
- onBackClick: onBackClick,
1332
- // store
1333
- allMessages: allMessages,
1334
- loading: loading,
1335
- initialized: initialized,
1336
- currentOpenChannel: currentOpenChannel,
1337
- isInvalid: isInvalid,
1338
- hasMore: hasMore,
1339
- lastMessageTimestamp: lastMessageTimestamp,
1340
- operators: operators,
1341
- bannedParticipantIds: bannedParticipantIds,
1342
- mutedParticipantIds: mutedParticipantIds,
1343
- // derived/utils
1344
- messageInputRef: messageInputRef,
1345
- conversationScrollRef: conversationScrollRef,
1346
- disabled: disabled,
1347
- amIBanned: amIBanned,
1348
- amIMuted: amIMuted,
1349
- amIOperator: amIOperator,
1350
- checkScrollBottom: checkScrollBottom,
1351
- fetchMore: fetchMore,
1352
- onScroll: onScroll,
1353
- handleSendMessage: handleSendMessage,
1354
- handleFileUpload: handleFileUpload,
1355
- updateMessage: updateMessage,
1356
- deleteMessage: deleteMessage,
1357
- resendMessage: resendMessage,
1358
- frozen: messagesStore.frozen,
1359
- disableUserProfile: disableUserProfile,
1360
- renderUserProfile: renderUserProfile,
1361
- participants: messagesStore.participants,
1362
- } },
1363
- React.createElement(UserProfileContext.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)));
1364
- };
1206
+ var OpenChannelContext = React.createContext(undefined);
1207
+ var OpenChannelProvider = function (props) {
1208
+ var _a, _b, _c, _d, _e, _f, _g;
1209
+ 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;
1210
+ // We didn't decide to support fetching participant list
1211
+ var fetchingParticipants = false;
1212
+ var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1213
+ 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;
1214
+ 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;
1215
+ 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;
1216
+ var config = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1217
+ var userId = config.userId, isOnline = config.isOnline, logger = config.logger, pubSub = config.pubSub, imageCompression = config.imageCompression;
1218
+ // hook variables
1219
+ var _j = React.useReducer(reducer, initialState), messagesStore = _j[0], messagesDispatcher = _j[1];
1220
+ 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;
1221
+ // ref
1222
+ var messageInputRef = React.useRef(null); // useSendMessageCallback
1223
+ var conversationScrollRef = React.useRef(null); // useScrollAfterSendMessageCallback
1224
+ // const
1225
+ var userFilledMessageListParams = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1226
+ var disabled = !initialized
1227
+ || !isOnline
1228
+ || isDisabledBecauseFrozen(currentOpenChannel, userId)
1229
+ || isDisabledBecauseMuted(mutedParticipantIds, userId);
1230
+ // useMemo
1231
+ var amIBanned = React.useMemo(function () {
1232
+ return bannedParticipantIds.indexOf(user.userId) >= 0;
1233
+ }, [channelUrl, bannedParticipantIds, user]);
1234
+ var amIMuted = React.useMemo(function () {
1235
+ return mutedParticipantIds.indexOf(user.userId) >= 0;
1236
+ }, [channelUrl, mutedParticipantIds, user]);
1237
+ var amIOperator = React.useMemo(function () {
1238
+ return operators.map(function (operator) { return operator.userId; }).indexOf(user.userId) >= 0;
1239
+ }, [channelUrl, operators, user]);
1240
+ // use hooks
1241
+ useSetChannel({ channelUrl: channelUrl, sdkInit: sdkInit, fetchingParticipants: fetchingParticipants, userId: userId, currentOpenChannel: currentOpenChannel }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher });
1242
+ var checkScrollBottom = useCheckScrollBottom({ conversationScrollRef: conversationScrollRef }, { logger: logger });
1243
+ useHandleChannelEvents({ currentOpenChannel: currentOpenChannel, checkScrollBottom: checkScrollBottom }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1244
+ useInitialMessagesFetch({ currentOpenChannel: currentOpenChannel, userFilledMessageListParams: userFilledMessageListParams }, { logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1245
+ var fetchMore = shouldFetchMore(allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit);
1246
+ // donot fetch more for streaming
1247
+ var onScroll = useScrollCallback({ currentOpenChannel: currentOpenChannel, lastMessageTimestamp: lastMessageTimestamp, fetchMore: fetchMore }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, hasMore: hasMore, userFilledMessageListParams: userFilledMessageListParams });
1248
+ var handleSendMessage = useSendMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage, checkScrollBottom: checkScrollBottom, messageInputRef: messageInputRef }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1249
+ var handleFileUpload = useFileUploadCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendFileMessage: onBeforeSendFileMessage, checkScrollBottom: checkScrollBottom, imageCompression: imageCompression }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1250
+ var updateMessage = useUpdateMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage }, { logger: logger, messagesDispatcher: messagesDispatcher });
1251
+ var deleteMessage = useDeleteMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1252
+ var resendMessage = useResendMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1253
+ useTrimMessageList({ messagesLength: allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit: messageLimit }, { messagesDispatcher: messagesDispatcher, logger: logger });
1254
+ // handle API calls from withSendbird
1255
+ React.useEffect(function () {
1256
+ var subscriber = new Map();
1257
+ if (!pubSub || !pubSub.subscribe) {
1258
+ return;
1259
+ }
1260
+ subscriber.set(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, function (msg) {
1261
+ var channel = msg.channel, message = msg.message;
1262
+ scrollIntoLast(0, conversationScrollRef);
1263
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1264
+ messagesDispatcher({
1265
+ type: SENDING_MESSAGE_SUCCEEDED,
1266
+ payload: message,
1267
+ });
1268
+ }
1269
+ }));
1270
+ subscriber.set(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, function (msg) {
1271
+ var channel = msg.channel, message = msg.message;
1272
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1273
+ messagesDispatcher({
1274
+ type: SENDING_MESSAGE_START,
1275
+ payload: { message: message, channel: channel },
1276
+ });
1277
+ }
1278
+ }));
1279
+ subscriber.set(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, function (msg) {
1280
+ var channel = msg.channel, message = msg.message;
1281
+ scrollIntoLast(0, conversationScrollRef);
1282
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1283
+ messagesDispatcher({
1284
+ type: SENDING_MESSAGE_SUCCEEDED,
1285
+ payload: { message: message, channel: channel },
1286
+ });
1287
+ }
1288
+ }));
1289
+ subscriber.set(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, function (msg) {
1290
+ var channel = msg.channel, message = msg.message, fromSelector = msg.fromSelector;
1291
+ if (fromSelector && channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1292
+ messagesDispatcher({
1293
+ type: ON_MESSAGE_UPDATED,
1294
+ payload: { channel: channel, message: message },
1295
+ });
1296
+ }
1297
+ }));
1298
+ subscriber.set(pubSub_topics.pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.DELETE_MESSAGE, function (msg) {
1299
+ var channel = msg.channel, messageId = msg.messageId;
1300
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1301
+ messagesDispatcher({
1302
+ type: ON_MESSAGE_DELETED,
1303
+ payload: messageId,
1304
+ });
1305
+ }
1306
+ }));
1307
+ return function () {
1308
+ if (subscriber) {
1309
+ subscriber.forEach(function (s) {
1310
+ try {
1311
+ s.remove();
1312
+ }
1313
+ catch (_a) {
1314
+ //
1315
+ }
1316
+ });
1317
+ }
1318
+ };
1319
+ }, [channelUrl, sdkInit]);
1320
+ return (React.createElement(OpenChannelContext.Provider, { value: {
1321
+ // props
1322
+ channelUrl: channelUrl,
1323
+ children: children,
1324
+ isMessageGroupingEnabled: isMessageGroupingEnabled,
1325
+ queries: queries,
1326
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
1327
+ messageLimit: messageLimit,
1328
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
1329
+ onChatHeaderActionClick: onChatHeaderActionClick,
1330
+ onBackClick: onBackClick,
1331
+ // store
1332
+ allMessages: allMessages,
1333
+ loading: loading,
1334
+ initialized: initialized,
1335
+ currentOpenChannel: currentOpenChannel,
1336
+ isInvalid: isInvalid,
1337
+ hasMore: hasMore,
1338
+ lastMessageTimestamp: lastMessageTimestamp,
1339
+ operators: operators,
1340
+ bannedParticipantIds: bannedParticipantIds,
1341
+ mutedParticipantIds: mutedParticipantIds,
1342
+ // derived/utils
1343
+ messageInputRef: messageInputRef,
1344
+ conversationScrollRef: conversationScrollRef,
1345
+ disabled: disabled,
1346
+ amIBanned: amIBanned,
1347
+ amIMuted: amIMuted,
1348
+ amIOperator: amIOperator,
1349
+ checkScrollBottom: checkScrollBottom,
1350
+ fetchMore: fetchMore,
1351
+ onScroll: onScroll,
1352
+ handleSendMessage: handleSendMessage,
1353
+ handleFileUpload: handleFileUpload,
1354
+ updateMessage: updateMessage,
1355
+ deleteMessage: deleteMessage,
1356
+ resendMessage: resendMessage,
1357
+ frozen: messagesStore.frozen,
1358
+ disableUserProfile: disableUserProfile,
1359
+ renderUserProfile: renderUserProfile,
1360
+ participants: messagesStore.participants,
1361
+ } },
1362
+ React.createElement(UserProfileContext.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)));
1363
+ };
1365
1364
  var useOpenChannelContext = function () { return React.useContext(OpenChannelContext); };
1366
1365
 
1367
1366
  exports.OpenChannelProvider = OpenChannelProvider;
1368
1367
  exports.kFormatter = kFormatter;
1369
1368
  exports.useOpenChannelContext = useOpenChannelContext;
1370
- //# sourceMappingURL=bundle-C80RIOub.js.map
1369
+ //# sourceMappingURL=bundle-B-olJv7b.js.map