@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,946 +1,943 @@
1
- import { _ as __assign, c as __spreadArray, a as __awaiter, b as __generator } from './bundle-DZcgZWKq.js';
1
+ import { _ as __assign, c as __spreadArray, a as __awaiter, b as __generator } from './bundle-7oF7KbGv.js';
2
2
  import React__default, { useEffect, useCallback, useReducer, useState, useMemo, useContext } from 'react';
3
3
  import { GroupChannelHandler, GroupChannelListOrder } from '@sendbird/chat/groupChannel';
4
- import { p as pubSubTopics } from './bundle-BX_IXLSp.js';
5
- import { u as uuidv4 } from './bundle-BbeHRXOp.js';
6
- import { n as noop } from './bundle-DZl__KhG.js';
7
- import { D as DELIVERY_RECEIPT$1 } from './bundle-Dc7E6GJc.js';
8
- import { U as UserProfileProvider } from './bundle-DGnpw8up.js';
4
+ import { p as pubSubTopics } from './bundle-BWuyd0AD.js';
5
+ import { u as uuidv4 } from './bundle-BJ46V6XQ.js';
6
+ import { n as noop } from './bundle-ByvmbZD0.js';
7
+ import { D as DELIVERY_RECEIPT$1 } from './bundle-CD9AzC6s.js';
8
+ import { U as UserProfileProvider } from './bundle-B7barEsR.js';
9
9
  import { useSendbirdStateContext } from '../useSendbirdStateContext.js';
10
- import { K, S } from './bundle-Bdw6eUSG.js';
11
- import { _ as filterChannelListParams, $ as getChannelsWithUpsertedChannel } from './bundle-DwApARpe.js';
12
- import { u as useReconnectOnIdle } from './bundle-D4rjbjNv.js';
10
+ import { K, $ as filterChannelListParams, a0 as getChannelsWithUpsertedChannel, a1 as S } from './bundle-BWCGFXhj.js';
11
+ import { u as useReconnectOnIdle } from './bundle-dC3DwujZ.js';
13
12
 
14
- var RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';
15
- var CREATE_CHANNEL = 'CREATE_CHANNEL';
16
- var LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';
17
- var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
18
- var FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';
19
- var FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';
20
- var FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';
21
- var INIT_CHANNELS_START = 'INIT_CHANNELS_START';
22
- var INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';
23
- var REFRESH_CHANNELS_SUCCESS = 'REFRESH_CHANNELS_SUCCESS';
24
- var INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';
25
- var ON_USER_JOINED = 'ON_USER_JOINED';
26
- var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
27
- var ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';
28
- var ON_USER_LEFT = 'ON_USER_LEFT';
29
- var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
30
- var ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';
31
- var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
32
- var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
33
- var ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';
34
- var ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';
13
+ var RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';
14
+ var CREATE_CHANNEL = 'CREATE_CHANNEL';
15
+ var LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';
16
+ var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
17
+ var FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';
18
+ var FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';
19
+ var FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';
20
+ var INIT_CHANNELS_START = 'INIT_CHANNELS_START';
21
+ var INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';
22
+ var REFRESH_CHANNELS_SUCCESS = 'REFRESH_CHANNELS_SUCCESS';
23
+ var INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';
24
+ var ON_USER_JOINED = 'ON_USER_JOINED';
25
+ var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
26
+ var ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';
27
+ var ON_USER_LEFT = 'ON_USER_LEFT';
28
+ var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
29
+ var ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';
30
+ var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
31
+ var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
32
+ var ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';
33
+ var ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';
35
34
  var CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';
36
35
 
37
- var DELIVERY_RECEIPT = 'delivery_receipt';
38
- var createEventHandler = function (_a) {
39
- var sdk = _a.sdk, sdkChannelHandlerId = _a.sdkChannelHandlerId, channelListDispatcher = _a.channelListDispatcher, logger = _a.logger;
40
- var ChannelHandler = new GroupChannelHandler({
41
- onChannelChanged: function (channel) {
42
- if (channel.isGroupChannel()) {
43
- logger.info('ChannelList: onChannelChanged', channel);
44
- channelListDispatcher({
45
- type: ON_CHANNEL_CHANGED,
46
- payload: channel,
47
- });
48
- }
49
- },
50
- onChannelDeleted: function (channelUrl) {
51
- logger.info('ChannelList: onChannelDeleted', channelUrl);
52
- channelListDispatcher({
53
- type: ON_CHANNEL_DELETED,
54
- payload: channelUrl,
55
- });
56
- },
57
- onUserJoined: function (channel) {
58
- logger.info('ChannelList: onUserJoined', channel);
59
- channelListDispatcher({
60
- type: ON_USER_JOINED,
61
- payload: channel,
62
- });
63
- },
64
- onUserBanned: function (channel, user) {
65
- var _a;
66
- if (channel.isGroupChannel()) {
67
- logger.info('Channel: onUserBanned', channel);
68
- var isMe = user.userId === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId);
69
- channelListDispatcher({
70
- type: ON_USER_LEFT,
71
- payload: { channel: channel, isMe: isMe },
72
- });
73
- }
74
- },
75
- onUserLeft: function (channel, user) {
76
- var _a;
77
- logger.info('ChannelList: onUserLeft', channel);
78
- var isMe = user.userId === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId);
79
- channelListDispatcher({
80
- type: ON_USER_LEFT,
81
- payload: { channel: channel, isMe: isMe },
82
- });
83
- },
84
- onUnreadMemberStatusUpdated: function (channel) {
85
- logger.info('ChannelList: onUnreadMemberStatusUpdated', channel);
86
- channelListDispatcher({
87
- type: ON_READ_RECEIPT_UPDATED,
88
- payload: channel,
89
- });
90
- },
91
- onUndeliveredMemberStatusUpdated: function (channel) {
92
- logger.info('ChannelList: onUndeliveredMemberStatusUpdated', channel);
93
- if (channel.lastMessage) {
94
- channelListDispatcher({
95
- type: ON_DELIVERY_RECEIPT_UPDATED,
96
- payload: channel,
97
- });
98
- }
99
- },
100
- onMessageUpdated: function (channel, message) {
101
- if (channel.isGroupChannel() && channel.lastMessage.isEqual(message)) {
102
- logger.info('ChannelList: onMessageUpdated', channel);
103
- channelListDispatcher({
104
- type: ON_LAST_MESSAGE_UPDATED,
105
- payload: channel,
106
- });
107
- }
108
- },
109
- onChannelHidden: function (channel) {
110
- logger.info('ChannelList: onChannelHidden', channel);
111
- channelListDispatcher({
112
- type: ON_CHANNEL_ARCHIVED,
113
- payload: channel,
114
- });
115
- },
116
- onChannelFrozen: function (channel) {
117
- if (channel.isGroupChannel()) {
118
- logger.info('ChannelList: onChannelFrozen', channel);
119
- channelListDispatcher({
120
- type: ON_CHANNEL_FROZEN,
121
- payload: channel,
122
- });
123
- }
124
- },
125
- onChannelUnfrozen: function (channel) {
126
- if (channel.isGroupChannel()) {
127
- logger.info('ChannelList: onChannelUnfrozen', channel);
128
- channelListDispatcher({
129
- type: ON_CHANNEL_UNFROZEN,
130
- payload: channel,
131
- });
132
- }
133
- },
134
- });
135
- logger.info('ChannelList: Added channelHandler');
136
- sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);
137
- };
138
- var createChannelListQuery = function (_a) {
139
- var sdk = _a.sdk, _b = _a.userFilledChannelListQuery, userFilledChannelListQuery = _b === void 0 ? {} : _b;
140
- var params = {
141
- includeEmpty: false,
142
- limit: 20,
143
- order: GroupChannelListOrder.LATEST_LAST_MESSAGE,
144
- };
145
- if (userFilledChannelListQuery) {
146
- Object.keys(userFilledChannelListQuery).forEach(function (key) {
147
- params[key] = userFilledChannelListQuery[key];
148
- });
149
- }
150
- return sdk.groupChannel.createMyGroupChannelListQuery(params);
151
- };
152
- function setupChannelList(_a) {
153
- var _b, _c, _d, _e;
154
- var sdk = _a.sdk, sdkChannelHandlerId = _a.sdkChannelHandlerId, channelListDispatcher = _a.channelListDispatcher, setChannelSource = _a.setChannelSource, onChannelSelect = _a.onChannelSelect, userFilledChannelListQuery = _a.userFilledChannelListQuery, logger = _a.logger, sortChannelList = _a.sortChannelList, disableAutoSelect = _a.disableAutoSelect, markAsDeliveredScheduler = _a.markAsDeliveredScheduler, disableMarkAsDelivered = _a.disableMarkAsDelivered;
155
- if (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) {
156
- createEventHandler({
157
- sdk: sdk,
158
- channelListDispatcher: channelListDispatcher,
159
- sdkChannelHandlerId: sdkChannelHandlerId,
160
- logger: logger,
161
- });
162
- }
163
- else {
164
- logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);
165
- }
166
- logger.info('ChannelList - creating query', { userFilledChannelListQuery: userFilledChannelListQuery });
167
- var channelListQuery = createChannelListQuery({ sdk: sdk, userFilledChannelListQuery: userFilledChannelListQuery });
168
- logger.info('ChannelList - created query', channelListQuery);
169
- setChannelSource(channelListQuery);
170
- channelListDispatcher({
171
- type: INIT_CHANNELS_START,
172
- payload: {
173
- currentUserId: (_c = (_b = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _b === void 0 ? void 0 : _b.userId) !== null && _c !== void 0 ? _c : '',
174
- },
175
- });
176
- if (userFilledChannelListQuery) {
177
- logger.info('ChannelList - setting up channelListQuery', channelListQuery);
178
- channelListDispatcher({
179
- type: CHANNEL_LIST_PARAMS_UPDATED,
180
- payload: {
181
- channelListQuery: channelListQuery,
182
- currentUserId: (_e = (_d = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _d === void 0 ? void 0 : _d.userId) !== null && _e !== void 0 ? _e : '',
183
- },
184
- });
185
- }
186
- logger.info('ChannelList - fetching channels');
187
- if (channelListQuery.hasNext) {
188
- channelListQuery
189
- .next()
190
- .then(function (channelList) {
191
- var _a, _b;
192
- logger.info('ChannelList - fetched channels', channelList);
193
- // select first channel
194
- logger.info('ChannelList - highlight channel', channelList[0]);
195
- var sortedChannelList = channelList;
196
- if (sortChannelList && typeof sortChannelList === 'function') {
197
- sortedChannelList = sortChannelList(channelList);
198
- logger.info('ChannelList - channel list sorted', sortedChannelList);
199
- }
200
- if (!disableAutoSelect) {
201
- onChannelSelect === null || onChannelSelect === void 0 ? void 0 : onChannelSelect(sortedChannelList[0]);
202
- }
203
- channelListDispatcher({
204
- type: INIT_CHANNELS_SUCCESS,
205
- payload: {
206
- channelList: sortedChannelList,
207
- disableAutoSelect: disableAutoSelect,
208
- },
209
- });
210
- var canSetMarkAsDelivered = (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.premiumFeatureList) === null || _b === void 0 ? void 0 : _b.find(function (feature) { return feature === DELIVERY_RECEIPT; });
211
- if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
212
- sortedChannelList.forEach(function (channel) {
213
- markAsDeliveredScheduler.push(channel);
214
- });
215
- }
216
- })
217
- .catch(function (err) {
218
- if (err) {
219
- logger.error('ChannelList - couldnt fetch channels', err);
220
- channelListDispatcher({
221
- type: INIT_CHANNELS_FAILURE,
222
- });
223
- }
224
- });
225
- }
226
- else {
227
- logger.info('ChannelList - there are no more channels');
228
- }
229
- }
230
- var pubSubHandleRemover = function (subscriber) {
231
- subscriber.forEach(function (s) {
232
- try {
233
- s.remove();
234
- }
235
- catch (_a) {
236
- //
237
- }
238
- });
239
- };
240
- var pubSubHandler = function (pubSub, channelListDispatcher) {
241
- var subscriber = new Map();
242
- if (!pubSub)
243
- return subscriber;
244
- subscriber.set(pubSubTopics.CREATE_CHANNEL, pubSub.subscribe(pubSubTopics.CREATE_CHANNEL, function (msg) {
245
- var channel = msg.channel;
246
- channelListDispatcher({
247
- type: CREATE_CHANNEL,
248
- payload: channel,
249
- });
250
- }));
251
- subscriber.set(pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSubTopics.UPDATE_USER_MESSAGE, function (_a) {
252
- var _b;
253
- var channel = _a.channel, message = _a.message;
254
- if (channel.isGroupChannel() && ((_b = channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null || _b === void 0 ? void 0 : _b.messageId) === message.messageId) {
255
- channel.lastMessage = message;
256
- channelListDispatcher({
257
- type: ON_LAST_MESSAGE_UPDATED,
258
- payload: channel,
259
- });
260
- }
261
- }));
262
- subscriber.set(pubSubTopics.LEAVE_CHANNEL, pubSub.subscribe(pubSubTopics.LEAVE_CHANNEL, function (msg) {
263
- var channel = msg.channel;
264
- channelListDispatcher({
265
- type: LEAVE_CHANNEL_SUCCESS,
266
- payload: channel === null || channel === void 0 ? void 0 : channel.url,
267
- });
268
- }));
269
- return subscriber;
36
+ var DELIVERY_RECEIPT = 'delivery_receipt';
37
+ var createEventHandler = function (_a) {
38
+ var sdk = _a.sdk, sdkChannelHandlerId = _a.sdkChannelHandlerId, channelListDispatcher = _a.channelListDispatcher, logger = _a.logger;
39
+ var ChannelHandler = new GroupChannelHandler({
40
+ onChannelChanged: function (channel) {
41
+ if (channel.isGroupChannel()) {
42
+ logger.info('ChannelList: onChannelChanged', channel);
43
+ channelListDispatcher({
44
+ type: ON_CHANNEL_CHANGED,
45
+ payload: channel,
46
+ });
47
+ }
48
+ },
49
+ onChannelDeleted: function (channelUrl) {
50
+ logger.info('ChannelList: onChannelDeleted', channelUrl);
51
+ channelListDispatcher({
52
+ type: ON_CHANNEL_DELETED,
53
+ payload: channelUrl,
54
+ });
55
+ },
56
+ onUserJoined: function (channel) {
57
+ logger.info('ChannelList: onUserJoined', channel);
58
+ channelListDispatcher({
59
+ type: ON_USER_JOINED,
60
+ payload: channel,
61
+ });
62
+ },
63
+ onUserBanned: function (channel, user) {
64
+ var _a;
65
+ if (channel.isGroupChannel()) {
66
+ logger.info('Channel: onUserBanned', channel);
67
+ var isMe = user.userId === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId);
68
+ channelListDispatcher({
69
+ type: ON_USER_LEFT,
70
+ payload: { channel: channel, isMe: isMe },
71
+ });
72
+ }
73
+ },
74
+ onUserLeft: function (channel, user) {
75
+ var _a;
76
+ logger.info('ChannelList: onUserLeft', channel);
77
+ var isMe = user.userId === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId);
78
+ channelListDispatcher({
79
+ type: ON_USER_LEFT,
80
+ payload: { channel: channel, isMe: isMe },
81
+ });
82
+ },
83
+ onUnreadMemberStatusUpdated: function (channel) {
84
+ logger.info('ChannelList: onUnreadMemberStatusUpdated', channel);
85
+ channelListDispatcher({
86
+ type: ON_READ_RECEIPT_UPDATED,
87
+ payload: channel,
88
+ });
89
+ },
90
+ onUndeliveredMemberStatusUpdated: function (channel) {
91
+ logger.info('ChannelList: onUndeliveredMemberStatusUpdated', channel);
92
+ if (channel.lastMessage) {
93
+ channelListDispatcher({
94
+ type: ON_DELIVERY_RECEIPT_UPDATED,
95
+ payload: channel,
96
+ });
97
+ }
98
+ },
99
+ onMessageUpdated: function (channel, message) {
100
+ if (channel.isGroupChannel() && channel.lastMessage.isEqual(message)) {
101
+ logger.info('ChannelList: onMessageUpdated', channel);
102
+ channelListDispatcher({
103
+ type: ON_LAST_MESSAGE_UPDATED,
104
+ payload: channel,
105
+ });
106
+ }
107
+ },
108
+ onChannelHidden: function (channel) {
109
+ logger.info('ChannelList: onChannelHidden', channel);
110
+ channelListDispatcher({
111
+ type: ON_CHANNEL_ARCHIVED,
112
+ payload: channel,
113
+ });
114
+ },
115
+ onChannelFrozen: function (channel) {
116
+ if (channel.isGroupChannel()) {
117
+ logger.info('ChannelList: onChannelFrozen', channel);
118
+ channelListDispatcher({
119
+ type: ON_CHANNEL_FROZEN,
120
+ payload: channel,
121
+ });
122
+ }
123
+ },
124
+ onChannelUnfrozen: function (channel) {
125
+ if (channel.isGroupChannel()) {
126
+ logger.info('ChannelList: onChannelUnfrozen', channel);
127
+ channelListDispatcher({
128
+ type: ON_CHANNEL_UNFROZEN,
129
+ payload: channel,
130
+ });
131
+ }
132
+ },
133
+ });
134
+ logger.info('ChannelList: Added channelHandler');
135
+ sdk.groupChannel.addGroupChannelHandler(sdkChannelHandlerId, ChannelHandler);
136
+ };
137
+ var createChannelListQuery = function (_a) {
138
+ var sdk = _a.sdk, _b = _a.userFilledChannelListQuery, userFilledChannelListQuery = _b === void 0 ? {} : _b;
139
+ var params = {
140
+ includeEmpty: false,
141
+ limit: 20, // The value of pagination limit could be set up to 100.
142
+ order: GroupChannelListOrder.LATEST_LAST_MESSAGE,
143
+ };
144
+ if (userFilledChannelListQuery) {
145
+ Object.keys(userFilledChannelListQuery).forEach(function (key) {
146
+ params[key] = userFilledChannelListQuery[key];
147
+ });
148
+ }
149
+ return sdk.groupChannel.createMyGroupChannelListQuery(params);
150
+ };
151
+ function setupChannelList(_a) {
152
+ var _b, _c, _d, _e;
153
+ var sdk = _a.sdk, sdkChannelHandlerId = _a.sdkChannelHandlerId, channelListDispatcher = _a.channelListDispatcher, setChannelSource = _a.setChannelSource, onChannelSelect = _a.onChannelSelect, userFilledChannelListQuery = _a.userFilledChannelListQuery, logger = _a.logger, sortChannelList = _a.sortChannelList, disableAutoSelect = _a.disableAutoSelect, markAsDeliveredScheduler = _a.markAsDeliveredScheduler, disableMarkAsDelivered = _a.disableMarkAsDelivered;
154
+ if (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) {
155
+ createEventHandler({
156
+ sdk: sdk,
157
+ channelListDispatcher: channelListDispatcher,
158
+ sdkChannelHandlerId: sdkChannelHandlerId,
159
+ logger: logger,
160
+ });
161
+ }
162
+ else {
163
+ logger.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);
164
+ }
165
+ logger.info('ChannelList - creating query', { userFilledChannelListQuery: userFilledChannelListQuery });
166
+ var channelListQuery = createChannelListQuery({ sdk: sdk, userFilledChannelListQuery: userFilledChannelListQuery });
167
+ logger.info('ChannelList - created query', channelListQuery);
168
+ setChannelSource(channelListQuery);
169
+ channelListDispatcher({
170
+ type: INIT_CHANNELS_START,
171
+ payload: {
172
+ currentUserId: (_c = (_b = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _b === void 0 ? void 0 : _b.userId) !== null && _c !== void 0 ? _c : '',
173
+ },
174
+ });
175
+ if (userFilledChannelListQuery) {
176
+ logger.info('ChannelList - setting up channelListQuery', channelListQuery);
177
+ channelListDispatcher({
178
+ type: CHANNEL_LIST_PARAMS_UPDATED,
179
+ payload: {
180
+ channelListQuery: channelListQuery,
181
+ currentUserId: (_e = (_d = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _d === void 0 ? void 0 : _d.userId) !== null && _e !== void 0 ? _e : '',
182
+ },
183
+ });
184
+ }
185
+ logger.info('ChannelList - fetching channels');
186
+ if (channelListQuery.hasNext) {
187
+ channelListQuery
188
+ .next()
189
+ .then(function (channelList) {
190
+ var _a, _b;
191
+ logger.info('ChannelList - fetched channels', channelList);
192
+ // select first channel
193
+ logger.info('ChannelList - highlight channel', channelList[0]);
194
+ var sortedChannelList = channelList;
195
+ if (sortChannelList && typeof sortChannelList === 'function') {
196
+ sortedChannelList = sortChannelList(channelList);
197
+ logger.info('ChannelList - channel list sorted', sortedChannelList);
198
+ }
199
+ if (!disableAutoSelect) {
200
+ onChannelSelect === null || onChannelSelect === void 0 ? void 0 : onChannelSelect(sortedChannelList[0]);
201
+ }
202
+ channelListDispatcher({
203
+ type: INIT_CHANNELS_SUCCESS,
204
+ payload: {
205
+ channelList: sortedChannelList,
206
+ disableAutoSelect: disableAutoSelect,
207
+ },
208
+ });
209
+ var canSetMarkAsDelivered = (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.premiumFeatureList) === null || _b === void 0 ? void 0 : _b.find(function (feature) { return feature === DELIVERY_RECEIPT; });
210
+ if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
211
+ sortedChannelList.forEach(function (channel) {
212
+ markAsDeliveredScheduler.push(channel);
213
+ });
214
+ }
215
+ })
216
+ .catch(function (err) {
217
+ if (err) {
218
+ logger.error('ChannelList - couldnt fetch channels', err);
219
+ channelListDispatcher({
220
+ type: INIT_CHANNELS_FAILURE,
221
+ });
222
+ }
223
+ });
224
+ }
225
+ else {
226
+ logger.info('ChannelList - there are no more channels');
227
+ }
228
+ }
229
+ var pubSubHandleRemover = function (subscriber) {
230
+ subscriber.forEach(function (s) {
231
+ try {
232
+ s.remove();
233
+ }
234
+ catch (_a) {
235
+ //
236
+ }
237
+ });
238
+ };
239
+ var pubSubHandler = function (pubSub, channelListDispatcher) {
240
+ var subscriber = new Map();
241
+ if (!pubSub)
242
+ return subscriber;
243
+ subscriber.set(pubSubTopics.CREATE_CHANNEL, pubSub.subscribe(pubSubTopics.CREATE_CHANNEL, function (msg) {
244
+ var channel = msg.channel;
245
+ channelListDispatcher({
246
+ type: CREATE_CHANNEL,
247
+ payload: channel,
248
+ });
249
+ }));
250
+ subscriber.set(pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSubTopics.UPDATE_USER_MESSAGE, function (_a) {
251
+ var _b;
252
+ var channel = _a.channel, message = _a.message;
253
+ if (channel.isGroupChannel() && ((_b = channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null || _b === void 0 ? void 0 : _b.messageId) === message.messageId) {
254
+ channel.lastMessage = message;
255
+ channelListDispatcher({
256
+ type: ON_LAST_MESSAGE_UPDATED,
257
+ payload: channel,
258
+ });
259
+ }
260
+ }));
261
+ subscriber.set(pubSubTopics.LEAVE_CHANNEL, pubSub.subscribe(pubSubTopics.LEAVE_CHANNEL, function (msg) {
262
+ var channel = msg.channel;
263
+ channelListDispatcher({
264
+ type: LEAVE_CHANNEL_SUCCESS,
265
+ payload: channel === null || channel === void 0 ? void 0 : channel.url,
266
+ });
267
+ }));
268
+ return subscriber;
270
269
  };
271
270
 
272
- /**
273
- * NOTICE: Use this function IF the current channel is removed from allChannels.
274
- * This function will give you the next currentChannel value.
275
- */
276
- var getNextChannel = function (_a) {
277
- var channel = _a.channel, currentChannel = _a.currentChannel, allChannels = _a.allChannels, disableAutoSelect = _a.disableAutoSelect;
278
- var nextChannel = null;
279
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === channel.url) {
280
- if (!disableAutoSelect && allChannels.length > 0) {
281
- var firstChannel = allChannels[0], _b = allChannels[1], secondChannel = _b === void 0 ? null : _b;
282
- nextChannel = firstChannel.url === channel.url ? secondChannel : firstChannel;
283
- }
284
- }
285
- else {
286
- nextChannel = currentChannel;
287
- }
288
- return nextChannel;
271
+ /**
272
+ * NOTICE: Use this function IF the current channel is removed from allChannels.
273
+ * This function will give you the next currentChannel value.
274
+ */
275
+ var getNextChannel = function (_a) {
276
+ var channel = _a.channel, currentChannel = _a.currentChannel, allChannels = _a.allChannels, disableAutoSelect = _a.disableAutoSelect;
277
+ var nextChannel = null;
278
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === channel.url) {
279
+ if (!disableAutoSelect && allChannels.length > 0) {
280
+ var firstChannel = allChannels[0], _b = allChannels[1], secondChannel = _b === void 0 ? null : _b;
281
+ nextChannel = firstChannel.url === channel.url ? secondChannel : firstChannel;
282
+ }
283
+ }
284
+ else {
285
+ nextChannel = currentChannel;
286
+ }
287
+ return nextChannel;
289
288
  };
290
289
 
291
- var initialState = {
292
- // we might not need this initialized state -> should remove
293
- initialized: false,
294
- loading: true,
295
- allChannels: [],
296
- currentChannel: null,
297
- channelListQuery: null,
298
- currentUserId: '',
299
- disableAutoSelect: false,
290
+ var initialState = {
291
+ // we might not need this initialized state -> should remove
292
+ initialized: false,
293
+ loading: true,
294
+ allChannels: [],
295
+ currentChannel: null,
296
+ channelListQuery: null,
297
+ currentUserId: '',
298
+ disableAutoSelect: false,
300
299
  };
301
300
 
302
- function channelListReducer(state, action) {
303
- return (K(action)
304
- .with({ type: INIT_CHANNELS_START }, function (_a) {
305
- var payload = _a.payload;
306
- return (__assign(__assign({}, state), { loading: true, currentUserId: payload.currentUserId }));
307
- })
308
- .with({ type: RESET_CHANNEL_LIST }, function () {
309
- return initialState;
310
- })
311
- .with({ type: INIT_CHANNELS_SUCCESS }, function (action) {
312
- var _a = action.payload, channelList = _a.channelList, disableAutoSelect = _a.disableAutoSelect;
313
- return __assign(__assign({}, state), { initialized: true, loading: false, allChannels: channelList, disableAutoSelect: disableAutoSelect, currentChannel: !disableAutoSelect && channelList && channelList.length && channelList.length > 0 ? channelList[0] : state.currentChannel });
314
- })
315
- .with({ type: REFRESH_CHANNELS_SUCCESS }, function (action) {
316
- var _a = action.payload, channelList = _a.channelList, currentChannel = _a.currentChannel;
317
- return __assign(__assign({}, state), { loading: false, allChannels: channelList, currentChannel: currentChannel });
318
- })
319
- .with({ type: FETCH_CHANNELS_SUCCESS }, function (action) {
320
- var currentChannels = state.allChannels.map(function (c) { return c.url; });
321
- var filteredChannels = action.payload.filter(function (_a) {
322
- var url = _a.url;
323
- return !currentChannels.find(function (c) { return c === url; });
324
- });
325
- return __assign(__assign({}, state), { allChannels: __spreadArray(__spreadArray([], state.allChannels, true), filteredChannels, true) });
326
- })
327
- .with({ type: CREATE_CHANNEL }, function (action) {
328
- var _a;
329
- var channel = action.payload;
330
- var allChannels = state.allChannels, currentUserId = state.currentUserId, channelListQuery = state.channelListQuery;
331
- if (channelListQuery) {
332
- if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
333
- // Good to add to the ChannelList
334
- return __assign(__assign({}, state), { currentChannel: channel, allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
335
- }
336
- // Do not add to the ChannelList
337
- return __assign(__assign({}, state), { currentChannel: channel });
338
- }
339
- // No channelListQuery
340
- // Add to the top of the ChannelList
341
- return __assign(__assign({}, state), { currentChannel: channel, allChannels: __spreadArray([channel], allChannels.filter(function (ch) { return ch.url !== (channel === null || channel === void 0 ? void 0 : channel.url); }), true) });
342
- })
343
- // A hidden channel will be unhidden when getting new message
344
- .with({ type: ON_CHANNEL_ARCHIVED }, function (action) {
345
- var _a;
346
- var channel = action.payload;
347
- var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
348
- if (channelListQuery) {
349
- if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
350
- // Good to [add to/keep in] the ChannelList
351
- return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
352
- }
353
- // * Remove the channel from the ChannelList: because the channel is filtered
354
- }
355
- // No channelListQuery
356
- // * Remove the channel from the ChannelList: because the channel is hidden
357
- // Replace the currentChannel if it's filtered or hidden
358
- var nextChannel = getNextChannel({
359
- channel: channel,
360
- currentChannel: currentChannel,
361
- allChannels: allChannels,
362
- disableAutoSelect: disableAutoSelect,
363
- });
364
- return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
365
- var url = _a.url;
366
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
367
- }) });
368
- })
369
- .with({ type: S.union(LEAVE_CHANNEL_SUCCESS, ON_CHANNEL_DELETED) }, function (action) {
370
- var _a;
371
- var channelUrl = action.payload;
372
- var allChannels = state.allChannels.filter(function (_a) {
373
- var url = _a.url;
374
- return url !== channelUrl;
375
- });
376
- return __assign(__assign({}, state), { currentChannel: channelUrl === ((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) ? allChannels[0] : state.currentChannel, allChannels: allChannels });
377
- })
378
- .with({ type: ON_USER_LEFT }, function (action) {
379
- var _a;
380
- var _b = action.payload, channel = _b.channel, isMe = _b.isMe;
381
- var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
382
- var nextChannels = __spreadArray([], allChannels, true);
383
- var nextChannel = channel;
384
- /**
385
- * 1. If I left channel:
386
- * - Remove the channel from channel list
387
- * - Replace currentChannel with the next ordered channel
388
- * 2. If other member left channel:
389
- * 2-1. If query is given:
390
- * 2-1-1. If channel no longer matches the query
391
- * - Same as step 1
392
- * 2-1-2. If channel matches the query:
393
- * - Upsert channel list with the channel
394
- * - Replace currentChannel IFF url is same
395
- * 2-2. If query is not given,
396
- * - Same as step 2-1-2
397
- */
398
- /* `1` and `2-1-1` */
399
- if (isMe || (channelListQuery && !filterChannelListParams(channelListQuery, channel, currentUserId))) {
400
- var channelAt = allChannels.findIndex(function (ch) { return ch.url === channel.url; });
401
- if (channelAt > -1) {
402
- nextChannels.splice(channelAt, 1);
403
- nextChannel = getNextChannel({
404
- channel: channel,
405
- currentChannel: currentChannel,
406
- allChannels: allChannels,
407
- disableAutoSelect: disableAutoSelect,
408
- });
409
- }
410
- }
411
- else {
412
- /* `2-1-2` and `2-2` */
413
- nextChannels = getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order);
414
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === channel.url) {
415
- nextChannel = channel;
416
- }
417
- }
418
- return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: nextChannels });
419
- })
420
- .with({
421
- type: S.union(ON_USER_JOINED, ON_CHANNEL_CHANGED, ON_READ_RECEIPT_UPDATED, ON_DELIVERY_RECEIPT_UPDATED),
422
- }, function (action) {
423
- var _a, _b, _c;
424
- var channel = action.payload;
425
- var _d = state.allChannels, allChannels = _d === void 0 ? [] : _d, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
426
- var unreadMessageCount = channel.unreadMessageCount;
427
- if (channelListQuery) {
428
- if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
429
- // Good to [add to/keep in] the ChannelList
430
- return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
431
- }
432
- // Filter the channel from the ChannelList
433
- // Replace the currentChannel if it's filtered channel
434
- var nextChannel = getNextChannel({
435
- channel: channel,
436
- currentChannel: currentChannel,
437
- allChannels: allChannels,
438
- disableAutoSelect: disableAutoSelect,
439
- });
440
- return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
441
- var url = _a.url;
442
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
443
- }) });
444
- }
445
- if (
446
- // When marking as read the channel
447
- unreadMessageCount === 0
448
- // @ts-ignore - When sending a message by the current peer
449
- && ((_c = (_b = channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null || _b === void 0 ? void 0 : _b.sender) === null || _c === void 0 ? void 0 : _c.userId) !== currentUserId) {
450
- // Don't move to the top
451
- return __assign(__assign({}, state), { allChannels: allChannels.map(function (ch) { return (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url) ? channel : ch); }) });
452
- }
453
- // Move to the top
454
- return __assign(__assign({}, state), { allChannels: __spreadArray([channel], allChannels.filter(function (_a) {
455
- var url = _a.url;
456
- return url !== channel.url;
457
- }), true) });
458
- })
459
- .with({ type: SET_CURRENT_CHANNEL }, function (action) {
460
- return __assign(__assign({}, state), { currentChannel: action.payload });
461
- })
462
- .with({ type: ON_LAST_MESSAGE_UPDATED }, function (action) {
463
- return __assign(__assign({}, state), { allChannels: state.allChannels.map(function (channel) { return (channel === null || channel === void 0 ? void 0 : channel.url) === action.payload.url ? action.payload : channel; }) });
464
- })
465
- .with({ type: ON_CHANNEL_FROZEN }, function (action) {
466
- var _a;
467
- var channel = action.payload;
468
- var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
469
- if (channelListQuery) {
470
- if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
471
- // Good to [add to/keep in] the ChannelList
472
- return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
473
- }
474
- // Filter the channel from the ChannelList
475
- // Replace the currentChannel if it's filtered channel
476
- var nextChannel = getNextChannel({
477
- channel: channel,
478
- currentChannel: currentChannel,
479
- allChannels: allChannels,
480
- disableAutoSelect: disableAutoSelect,
481
- });
482
- return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
483
- var url = _a.url;
484
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
485
- }) });
486
- }
487
- return __assign(__assign({}, state), { allChannels: allChannels.map(function (ch) {
488
- if (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url)) {
489
- // eslint-disable-next-line no-param-reassign
490
- ch.isFrozen = true;
491
- return ch;
492
- }
493
- return ch;
494
- }) });
495
- })
496
- .with({ type: ON_CHANNEL_UNFROZEN }, function (action) {
497
- var _a;
498
- var channel = action.payload;
499
- var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
500
- if (channelListQuery) {
501
- if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
502
- // Good to [add to/keep in] the ChannelList
503
- return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
504
- }
505
- // Filter the channel from the ChannelList
506
- // Replace the currentChannel if it's filtered channel
507
- var nextChannel = getNextChannel({
508
- channel: channel,
509
- currentChannel: currentChannel,
510
- allChannels: allChannels,
511
- disableAutoSelect: disableAutoSelect,
512
- });
513
- return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
514
- var url = _a.url;
515
- return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
516
- }) });
517
- }
518
- // No channelListQuery
519
- return __assign(__assign({}, state), { allChannels: allChannels.map(function (ch) {
520
- if (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url)) {
521
- // eslint-disable-next-line no-param-reassign
522
- ch.isFrozen = false;
523
- return ch;
524
- }
525
- return ch;
526
- }) });
527
- })
528
- .with({ type: CHANNEL_LIST_PARAMS_UPDATED }, function (action) { return (__assign(__assign({}, state), { channelListQuery: action.payload.channelListQuery, currentUserId: action.payload.currentUserId })); })
529
- .otherwise(function () { return state; }));
301
+ function channelListReducer(state, action) {
302
+ return (K(action)
303
+ .with({ type: INIT_CHANNELS_START }, function (_a) {
304
+ var payload = _a.payload;
305
+ return (__assign(__assign({}, state), { loading: true, currentUserId: payload.currentUserId }));
306
+ })
307
+ .with({ type: RESET_CHANNEL_LIST }, function () {
308
+ return initialState;
309
+ })
310
+ .with({ type: INIT_CHANNELS_SUCCESS }, function (action) {
311
+ var _a = action.payload, channelList = _a.channelList, disableAutoSelect = _a.disableAutoSelect;
312
+ return __assign(__assign({}, state), { initialized: true, loading: false, allChannels: channelList, disableAutoSelect: disableAutoSelect, currentChannel: !disableAutoSelect && channelList && channelList.length && channelList.length > 0 ? channelList[0] : state.currentChannel });
313
+ })
314
+ .with({ type: REFRESH_CHANNELS_SUCCESS }, function (action) {
315
+ var _a = action.payload, channelList = _a.channelList, currentChannel = _a.currentChannel;
316
+ return __assign(__assign({}, state), { loading: false, allChannels: channelList, currentChannel: currentChannel });
317
+ })
318
+ .with({ type: FETCH_CHANNELS_SUCCESS }, function (action) {
319
+ var currentChannels = state.allChannels.map(function (c) { return c.url; });
320
+ var filteredChannels = action.payload.filter(function (_a) {
321
+ var url = _a.url;
322
+ return !currentChannels.find(function (c) { return c === url; });
323
+ });
324
+ return __assign(__assign({}, state), { allChannels: __spreadArray(__spreadArray([], state.allChannels, true), filteredChannels, true) });
325
+ })
326
+ .with({ type: CREATE_CHANNEL }, function (action) {
327
+ var _a;
328
+ var channel = action.payload;
329
+ var allChannels = state.allChannels, currentUserId = state.currentUserId, channelListQuery = state.channelListQuery;
330
+ if (channelListQuery) {
331
+ if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
332
+ // Good to add to the ChannelList
333
+ return __assign(__assign({}, state), { currentChannel: channel, allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
334
+ }
335
+ // Do not add to the ChannelList
336
+ return __assign(__assign({}, state), { currentChannel: channel });
337
+ }
338
+ // No channelListQuery
339
+ // Add to the top of the ChannelList
340
+ return __assign(__assign({}, state), { currentChannel: channel, allChannels: __spreadArray([channel], allChannels.filter(function (ch) { return ch.url !== (channel === null || channel === void 0 ? void 0 : channel.url); }), true) });
341
+ })
342
+ // A hidden channel will be unhidden when getting new message
343
+ .with({ type: ON_CHANNEL_ARCHIVED }, function (action) {
344
+ var _a;
345
+ var channel = action.payload;
346
+ var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
347
+ if (channelListQuery) {
348
+ if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
349
+ // Good to [add to/keep in] the ChannelList
350
+ return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
351
+ }
352
+ // * Remove the channel from the ChannelList: because the channel is filtered
353
+ }
354
+ // No channelListQuery
355
+ // * Remove the channel from the ChannelList: because the channel is hidden
356
+ // Replace the currentChannel if it's filtered or hidden
357
+ var nextChannel = getNextChannel({
358
+ channel: channel,
359
+ currentChannel: currentChannel,
360
+ allChannels: allChannels,
361
+ disableAutoSelect: disableAutoSelect,
362
+ });
363
+ return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
364
+ var url = _a.url;
365
+ return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
366
+ }) });
367
+ })
368
+ .with({ type: S.union(LEAVE_CHANNEL_SUCCESS, ON_CHANNEL_DELETED) }, function (action) {
369
+ var _a;
370
+ var channelUrl = action.payload;
371
+ var allChannels = state.allChannels.filter(function (_a) {
372
+ var url = _a.url;
373
+ return url !== channelUrl;
374
+ });
375
+ return __assign(__assign({}, state), { currentChannel: channelUrl === ((_a = state.currentChannel) === null || _a === void 0 ? void 0 : _a.url) ? allChannels[0] : state.currentChannel, allChannels: allChannels });
376
+ })
377
+ .with({ type: ON_USER_LEFT }, function (action) {
378
+ var _a;
379
+ var _b = action.payload, channel = _b.channel, isMe = _b.isMe;
380
+ var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
381
+ var nextChannels = __spreadArray([], allChannels, true);
382
+ var nextChannel = channel;
383
+ /**
384
+ * 1. If I left channel:
385
+ * - Remove the channel from channel list
386
+ * - Replace currentChannel with the next ordered channel
387
+ * 2. If other member left channel:
388
+ * 2-1. If query is given:
389
+ * 2-1-1. If channel no longer matches the query
390
+ * - Same as step 1
391
+ * 2-1-2. If channel matches the query:
392
+ * - Upsert channel list with the channel
393
+ * - Replace currentChannel IFF url is same
394
+ * 2-2. If query is not given,
395
+ * - Same as step 2-1-2
396
+ */
397
+ /* `1` and `2-1-1` */
398
+ if (isMe || (channelListQuery && !filterChannelListParams(channelListQuery, channel, currentUserId))) {
399
+ var channelAt = allChannels.findIndex(function (ch) { return ch.url === channel.url; });
400
+ if (channelAt > -1) {
401
+ nextChannels.splice(channelAt, 1);
402
+ nextChannel = getNextChannel({
403
+ channel: channel,
404
+ currentChannel: currentChannel,
405
+ allChannels: allChannels,
406
+ disableAutoSelect: disableAutoSelect,
407
+ });
408
+ }
409
+ }
410
+ else {
411
+ /* `2-1-2` and `2-2` */
412
+ nextChannels = getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order);
413
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === channel.url) {
414
+ nextChannel = channel;
415
+ }
416
+ }
417
+ return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: nextChannels });
418
+ })
419
+ .with({
420
+ type: S.union(ON_USER_JOINED, ON_CHANNEL_CHANGED, ON_READ_RECEIPT_UPDATED, ON_DELIVERY_RECEIPT_UPDATED),
421
+ }, function (action) {
422
+ var _a, _b, _c;
423
+ var channel = action.payload;
424
+ var _d = state.allChannels, allChannels = _d === void 0 ? [] : _d, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
425
+ var unreadMessageCount = channel.unreadMessageCount;
426
+ if (channelListQuery) {
427
+ if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
428
+ // Good to [add to/keep in] the ChannelList
429
+ return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
430
+ }
431
+ // Filter the channel from the ChannelList
432
+ // Replace the currentChannel if it's filtered channel
433
+ var nextChannel = getNextChannel({
434
+ channel: channel,
435
+ currentChannel: currentChannel,
436
+ allChannels: allChannels,
437
+ disableAutoSelect: disableAutoSelect,
438
+ });
439
+ return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
440
+ var url = _a.url;
441
+ return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
442
+ }) });
443
+ }
444
+ if (
445
+ // When marking as read the channel
446
+ unreadMessageCount === 0
447
+ // @ts-ignore - When sending a message by the current peer
448
+ && ((_c = (_b = channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null || _b === void 0 ? void 0 : _b.sender) === null || _c === void 0 ? void 0 : _c.userId) !== currentUserId) {
449
+ // Don't move to the top
450
+ return __assign(__assign({}, state), { allChannels: allChannels.map(function (ch) { return (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url) ? channel : ch); }) });
451
+ }
452
+ // Move to the top
453
+ return __assign(__assign({}, state), { allChannels: __spreadArray([channel], allChannels.filter(function (_a) {
454
+ var url = _a.url;
455
+ return url !== channel.url;
456
+ }), true) });
457
+ })
458
+ .with({ type: SET_CURRENT_CHANNEL }, function (action) {
459
+ return __assign(__assign({}, state), { currentChannel: action.payload });
460
+ })
461
+ .with({ type: ON_LAST_MESSAGE_UPDATED }, function (action) {
462
+ return __assign(__assign({}, state), { allChannels: state.allChannels.map(function (channel) { return (channel === null || channel === void 0 ? void 0 : channel.url) === action.payload.url ? action.payload : channel; }) });
463
+ })
464
+ .with({ type: ON_CHANNEL_FROZEN }, function (action) {
465
+ var _a;
466
+ var channel = action.payload;
467
+ var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
468
+ if (channelListQuery) {
469
+ if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
470
+ // Good to [add to/keep in] the ChannelList
471
+ return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
472
+ }
473
+ // Filter the channel from the ChannelList
474
+ // Replace the currentChannel if it's filtered channel
475
+ var nextChannel = getNextChannel({
476
+ channel: channel,
477
+ currentChannel: currentChannel,
478
+ allChannels: allChannels,
479
+ disableAutoSelect: disableAutoSelect,
480
+ });
481
+ return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
482
+ var url = _a.url;
483
+ return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
484
+ }) });
485
+ }
486
+ return __assign(__assign({}, state), { allChannels: allChannels.map(function (ch) {
487
+ if (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url)) {
488
+ // eslint-disable-next-line no-param-reassign
489
+ ch.isFrozen = true;
490
+ return ch;
491
+ }
492
+ return ch;
493
+ }) });
494
+ })
495
+ .with({ type: ON_CHANNEL_UNFROZEN }, function (action) {
496
+ var _a;
497
+ var channel = action.payload;
498
+ var allChannels = state.allChannels, currentUserId = state.currentUserId, currentChannel = state.currentChannel, channelListQuery = state.channelListQuery, disableAutoSelect = state.disableAutoSelect;
499
+ if (channelListQuery) {
500
+ if (filterChannelListParams(channelListQuery, channel, currentUserId)) {
501
+ // Good to [add to/keep in] the ChannelList
502
+ return __assign(__assign({}, state), { allChannels: getChannelsWithUpsertedChannel(allChannels, channel, (_a = state.channelListQuery) === null || _a === void 0 ? void 0 : _a.order) });
503
+ }
504
+ // Filter the channel from the ChannelList
505
+ // Replace the currentChannel if it's filtered channel
506
+ var nextChannel = getNextChannel({
507
+ channel: channel,
508
+ currentChannel: currentChannel,
509
+ allChannels: allChannels,
510
+ disableAutoSelect: disableAutoSelect,
511
+ });
512
+ return __assign(__assign({}, state), { currentChannel: nextChannel, allChannels: allChannels.filter(function (_a) {
513
+ var url = _a.url;
514
+ return url !== (channel === null || channel === void 0 ? void 0 : channel.url);
515
+ }) });
516
+ }
517
+ // No channelListQuery
518
+ return __assign(__assign({}, state), { allChannels: allChannels.map(function (ch) {
519
+ if (ch.url === (channel === null || channel === void 0 ? void 0 : channel.url)) {
520
+ // eslint-disable-next-line no-param-reassign
521
+ ch.isFrozen = false;
522
+ return ch;
523
+ }
524
+ return ch;
525
+ }) });
526
+ })
527
+ .with({ type: CHANNEL_LIST_PARAMS_UPDATED }, function (action) { return (__assign(__assign({}, state), { channelListQuery: action.payload.channelListQuery, currentUserId: action.payload.currentUserId })); })
528
+ .otherwise(function () { return state; }));
530
529
  }
531
530
 
532
- function useActiveChannelUrl(_a, _b) {
533
- var activeChannelUrl = _a.activeChannelUrl, channels = _a.channels, sdk = _a.sdk;
534
- var logger = _b.logger, channelListDispatcher = _b.channelListDispatcher;
535
- return useEffect(function () {
536
- var _a;
537
- if (activeChannelUrl) {
538
- logger.info('ChannelListProvider: looking for active channel', { activeChannelUrl: activeChannelUrl });
539
- var activeChannel = channels === null || channels === void 0 ? void 0 : channels.find(function (channel) { return channel.url === activeChannelUrl; });
540
- if (activeChannel) {
541
- channelListDispatcher({
542
- type: SET_CURRENT_CHANNEL,
543
- payload: activeChannel,
544
- });
545
- }
546
- else {
547
- logger.info('ChannelListProvider: searching backend for active channel', { activeChannelUrl: activeChannelUrl });
548
- (_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.getChannel(activeChannelUrl).then(function (channel) {
549
- channelListDispatcher({
550
- type: FETCH_CHANNELS_SUCCESS,
551
- payload: [channel],
552
- });
553
- channelListDispatcher({
554
- type: SET_CURRENT_CHANNEL,
555
- payload: channel,
556
- });
557
- }).catch(function () {
558
- logger.warning('ChannelListProvider: Active channel not found');
559
- });
560
- }
561
- }
562
- }, [activeChannelUrl]);
531
+ function useActiveChannelUrl(_a, _b) {
532
+ var activeChannelUrl = _a.activeChannelUrl, channels = _a.channels, sdk = _a.sdk;
533
+ var logger = _b.logger, channelListDispatcher = _b.channelListDispatcher;
534
+ return useEffect(function () {
535
+ var _a;
536
+ if (activeChannelUrl) {
537
+ logger.info('ChannelListProvider: looking for active channel', { activeChannelUrl: activeChannelUrl });
538
+ var activeChannel = channels === null || channels === void 0 ? void 0 : channels.find(function (channel) { return channel.url === activeChannelUrl; });
539
+ if (activeChannel) {
540
+ channelListDispatcher({
541
+ type: SET_CURRENT_CHANNEL,
542
+ payload: activeChannel,
543
+ });
544
+ }
545
+ else {
546
+ logger.info('ChannelListProvider: searching backend for active channel', { activeChannelUrl: activeChannelUrl });
547
+ (_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.getChannel(activeChannelUrl).then(function (channel) {
548
+ channelListDispatcher({
549
+ type: FETCH_CHANNELS_SUCCESS,
550
+ payload: [channel],
551
+ });
552
+ channelListDispatcher({
553
+ type: SET_CURRENT_CHANNEL,
554
+ payload: channel,
555
+ });
556
+ }).catch(function () {
557
+ logger.warning('ChannelListProvider: Active channel not found');
558
+ });
559
+ }
560
+ }
561
+ }, [activeChannelUrl]);
563
562
  }
564
563
 
565
- var useFetchChannelList = function (_a, _b) {
566
- var channelSource = _a.channelSource, disableMarkAsDelivered = _a.disableMarkAsDelivered;
567
- var channelListDispatcher = _b.channelListDispatcher, logger = _b.logger, markAsDeliveredScheduler = _b.markAsDeliveredScheduler;
568
- return useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
569
- var channelList, error_1;
570
- return __generator(this, function (_a) {
571
- switch (_a.label) {
572
- case 0:
573
- if (!(channelSource === null || channelSource === void 0 ? void 0 : channelSource.hasNext)) {
574
- logger.info('ChannelList: not able to fetch');
575
- return [2 /*return*/];
576
- }
577
- logger.info('ChannelList: starting fetch');
578
- channelListDispatcher({
579
- type: FETCH_CHANNELS_START,
580
- payload: null,
581
- });
582
- _a.label = 1;
583
- case 1:
584
- _a.trys.push([1, 3, , 4]);
585
- return [4 /*yield*/, channelSource.next()];
586
- case 2:
587
- channelList = _a.sent();
588
- logger.info('ChannelList: succeeded fetch', { channelList: channelList });
589
- channelListDispatcher({
590
- type: FETCH_CHANNELS_SUCCESS,
591
- payload: channelList,
592
- });
593
- if (!disableMarkAsDelivered) {
594
- logger.info('ChannelList: mark as delivered to fetched channels');
595
- // eslint-disable-next-line no-unused-expressions
596
- channelList === null || channelList === void 0 ? void 0 : channelList.forEach(function (channel) {
597
- if ((channel === null || channel === void 0 ? void 0 : channel.unreadMessageCount) > 0) {
598
- markAsDeliveredScheduler.push(channel);
599
- }
600
- });
601
- }
602
- return [3 /*break*/, 4];
603
- case 3:
604
- error_1 = _a.sent();
605
- logger.error('ChannelList: failed fetch', { error: error_1 });
606
- channelListDispatcher({
607
- type: FETCH_CHANNELS_FAILURE,
608
- payload: error_1,
609
- });
610
- return [3 /*break*/, 4];
611
- case 4: return [2 /*return*/];
612
- }
613
- });
614
- }); }, [
615
- channelSource,
616
- disableMarkAsDelivered,
617
- ]);
564
+ var useFetchChannelList = function (_a, _b) {
565
+ var channelSource = _a.channelSource, disableMarkAsDelivered = _a.disableMarkAsDelivered;
566
+ var channelListDispatcher = _b.channelListDispatcher, logger = _b.logger, markAsDeliveredScheduler = _b.markAsDeliveredScheduler;
567
+ return useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
568
+ var channelList, error_1;
569
+ return __generator(this, function (_a) {
570
+ switch (_a.label) {
571
+ case 0:
572
+ if (!(channelSource === null || channelSource === void 0 ? void 0 : channelSource.hasNext)) {
573
+ logger.info('ChannelList: not able to fetch');
574
+ return [2 /*return*/];
575
+ }
576
+ logger.info('ChannelList: starting fetch');
577
+ channelListDispatcher({
578
+ type: FETCH_CHANNELS_START,
579
+ payload: null,
580
+ });
581
+ _a.label = 1;
582
+ case 1:
583
+ _a.trys.push([1, 3, , 4]);
584
+ return [4 /*yield*/, channelSource.next()];
585
+ case 2:
586
+ channelList = _a.sent();
587
+ logger.info('ChannelList: succeeded fetch', { channelList: channelList });
588
+ channelListDispatcher({
589
+ type: FETCH_CHANNELS_SUCCESS,
590
+ payload: channelList,
591
+ });
592
+ if (!disableMarkAsDelivered) {
593
+ logger.info('ChannelList: mark as delivered to fetched channels');
594
+ // eslint-disable-next-line no-unused-expressions
595
+ channelList === null || channelList === void 0 ? void 0 : channelList.forEach(function (channel) {
596
+ if ((channel === null || channel === void 0 ? void 0 : channel.unreadMessageCount) > 0) {
597
+ markAsDeliveredScheduler.push(channel);
598
+ }
599
+ });
600
+ }
601
+ return [3 /*break*/, 4];
602
+ case 3:
603
+ error_1 = _a.sent();
604
+ logger.error('ChannelList: failed fetch', { error: error_1 });
605
+ channelListDispatcher({
606
+ type: FETCH_CHANNELS_FAILURE,
607
+ payload: error_1,
608
+ });
609
+ return [3 /*break*/, 4];
610
+ case 4: return [2 /*return*/];
611
+ }
612
+ });
613
+ }); }, [
614
+ channelSource,
615
+ disableMarkAsDelivered,
616
+ ]);
618
617
  };
619
618
 
620
- function useHandleReconnectForChannelList(_a) {
621
- var isOnline = _a.isOnline, reconnectOnIdle = _a.reconnectOnIdle, logger = _a.logger, sdk = _a.sdk, currentGroupChannel = _a.currentGroupChannel, channelListDispatcher = _a.channelListDispatcher, setChannelSource = _a.setChannelSource, userFilledChannelListQuery = _a.userFilledChannelListQuery, sortChannelList = _a.sortChannelList, disableAutoSelect = _a.disableAutoSelect, markAsDeliveredScheduler = _a.markAsDeliveredScheduler, disableMarkAsDelivered = _a.disableMarkAsDelivered;
622
- var shouldReconnect = useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle).shouldReconnect;
623
- useEffect(function () {
624
- return function () {
625
- var _a, _b, _c, _d;
626
- // state changed from offline to online AND tab is visible
627
- if (shouldReconnect) {
628
- logger.info('ChannelList refresh - creating query', { userFilledChannelListQuery: userFilledChannelListQuery });
629
- var channelListQuery = createChannelListQuery({ sdk: sdk, userFilledChannelListQuery: userFilledChannelListQuery });
630
- logger.info('ChannelList refresh - created query', channelListQuery);
631
- setChannelSource(channelListQuery);
632
- channelListDispatcher({
633
- type: INIT_CHANNELS_START,
634
- payload: {
635
- currentUserId: (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId) !== null && _b !== void 0 ? _b : '',
636
- },
637
- });
638
- if (userFilledChannelListQuery) {
639
- logger.info('ChannelList refresh - setting up channelListQuery', channelListQuery);
640
- channelListDispatcher({
641
- type: CHANNEL_LIST_PARAMS_UPDATED,
642
- payload: {
643
- channelListQuery: channelListQuery,
644
- currentUserId: (_d = (_c = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _c === void 0 ? void 0 : _c.userId) !== null && _d !== void 0 ? _d : '',
645
- },
646
- });
647
- }
648
- logger.info('ChannelList refresh - fetching channels');
649
- if (channelListQuery.hasNext) {
650
- channelListQuery
651
- .next()
652
- .then(function (channelList) {
653
- var _a, _b;
654
- logger.info('ChannelList refresh - fetched channels', channelList);
655
- var sortedChannelList = channelList;
656
- if (sortChannelList && typeof sortChannelList === 'function') {
657
- sortedChannelList = sortChannelList(channelList);
658
- logger.info('ChannelList refresh - channel list sorted', sortedChannelList);
659
- }
660
- // select first channel
661
- var newCurrentChannel = !disableAutoSelect ? sortedChannelList[0] : null;
662
- if (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) {
663
- var foundChannel = sortedChannelList.find(function (channel) { return (channel.url === currentGroupChannel.url); });
664
- if (foundChannel) {
665
- newCurrentChannel = foundChannel;
666
- }
667
- }
668
- logger.info('ChannelList refresh - highlight channel', newCurrentChannel);
669
- channelListDispatcher({
670
- type: REFRESH_CHANNELS_SUCCESS,
671
- payload: {
672
- channelList: sortedChannelList,
673
- currentChannel: newCurrentChannel,
674
- },
675
- });
676
- var canSetMarkAsDelivered = (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.premiumFeatureList) === null || _b === void 0 ? void 0 : _b.find(function (feature) { return feature === DELIVERY_RECEIPT$1; });
677
- if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
678
- sortedChannelList.forEach(function (channel) {
679
- markAsDeliveredScheduler.push(channel);
680
- });
681
- }
682
- })
683
- .catch(function (err) {
684
- if (err) {
685
- logger.error('ChannelList refresh - could not fetch channels', err);
686
- channelListDispatcher({
687
- type: INIT_CHANNELS_FAILURE,
688
- });
689
- }
690
- });
691
- }
692
- else {
693
- logger.info('ChannelList refresh - there are no more channels');
694
- }
695
- }
696
- };
697
- }, [shouldReconnect]);
619
+ function useHandleReconnectForChannelList(_a) {
620
+ var isOnline = _a.isOnline, reconnectOnIdle = _a.reconnectOnIdle, logger = _a.logger, sdk = _a.sdk, currentGroupChannel = _a.currentGroupChannel, channelListDispatcher = _a.channelListDispatcher, setChannelSource = _a.setChannelSource, userFilledChannelListQuery = _a.userFilledChannelListQuery, sortChannelList = _a.sortChannelList, disableAutoSelect = _a.disableAutoSelect, markAsDeliveredScheduler = _a.markAsDeliveredScheduler, disableMarkAsDelivered = _a.disableMarkAsDelivered;
621
+ var shouldReconnect = useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle).shouldReconnect;
622
+ useEffect(function () {
623
+ return function () {
624
+ var _a, _b, _c, _d;
625
+ // state changed from offline to online AND tab is visible
626
+ if (shouldReconnect) {
627
+ logger.info('ChannelList refresh - creating query', { userFilledChannelListQuery: userFilledChannelListQuery });
628
+ var channelListQuery = createChannelListQuery({ sdk: sdk, userFilledChannelListQuery: userFilledChannelListQuery });
629
+ logger.info('ChannelList refresh - created query', channelListQuery);
630
+ setChannelSource(channelListQuery);
631
+ channelListDispatcher({
632
+ type: INIT_CHANNELS_START,
633
+ payload: {
634
+ currentUserId: (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId) !== null && _b !== void 0 ? _b : '',
635
+ },
636
+ });
637
+ if (userFilledChannelListQuery) {
638
+ logger.info('ChannelList refresh - setting up channelListQuery', channelListQuery);
639
+ channelListDispatcher({
640
+ type: CHANNEL_LIST_PARAMS_UPDATED,
641
+ payload: {
642
+ channelListQuery: channelListQuery,
643
+ currentUserId: (_d = (_c = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _c === void 0 ? void 0 : _c.userId) !== null && _d !== void 0 ? _d : '',
644
+ },
645
+ });
646
+ }
647
+ logger.info('ChannelList refresh - fetching channels');
648
+ if (channelListQuery.hasNext) {
649
+ channelListQuery
650
+ .next()
651
+ .then(function (channelList) {
652
+ var _a, _b;
653
+ logger.info('ChannelList refresh - fetched channels', channelList);
654
+ var sortedChannelList = channelList;
655
+ if (sortChannelList && typeof sortChannelList === 'function') {
656
+ sortedChannelList = sortChannelList(channelList);
657
+ logger.info('ChannelList refresh - channel list sorted', sortedChannelList);
658
+ }
659
+ // select first channel
660
+ var newCurrentChannel = !disableAutoSelect ? sortedChannelList[0] : null;
661
+ if (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) {
662
+ var foundChannel = sortedChannelList.find(function (channel) { return (channel.url === currentGroupChannel.url); });
663
+ if (foundChannel) {
664
+ newCurrentChannel = foundChannel;
665
+ }
666
+ }
667
+ logger.info('ChannelList refresh - highlight channel', newCurrentChannel);
668
+ channelListDispatcher({
669
+ type: REFRESH_CHANNELS_SUCCESS,
670
+ payload: {
671
+ channelList: sortedChannelList,
672
+ currentChannel: newCurrentChannel,
673
+ },
674
+ });
675
+ var canSetMarkAsDelivered = (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.premiumFeatureList) === null || _b === void 0 ? void 0 : _b.find(function (feature) { return feature === DELIVERY_RECEIPT$1; });
676
+ if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
677
+ sortedChannelList.forEach(function (channel) {
678
+ markAsDeliveredScheduler.push(channel);
679
+ });
680
+ }
681
+ })
682
+ .catch(function (err) {
683
+ if (err) {
684
+ logger.error('ChannelList refresh - could not fetch channels', err);
685
+ channelListDispatcher({
686
+ type: INIT_CHANNELS_FAILURE,
687
+ });
688
+ }
689
+ });
690
+ }
691
+ else {
692
+ logger.info('ChannelList refresh - there are no more channels');
693
+ }
694
+ }
695
+ };
696
+ }, [shouldReconnect]);
698
697
  }
699
698
 
700
- var ChannelListContext = React__default.createContext({
701
- disableUserProfile: true,
702
- allowProfileEdit: true,
703
- onBeforeCreateChannel: null,
704
- onThemeChange: null,
705
- onProfileEditSuccess: null,
706
- onChannelSelect: null,
707
- queries: {},
708
- className: null,
709
- initialized: false,
710
- loading: false,
711
- allChannels: [],
712
- currentChannel: null,
713
- channelListQuery: {},
714
- currentUserId: null,
715
- channelListDispatcher: null,
716
- channelSource: null,
717
- typingChannels: [],
718
- fetchChannelList: noop,
719
- reconnectOnIdle: true,
720
- });
721
- var ChannelListProvider = function (props) {
722
- var _a, _b;
723
- // destruct props
724
- var children = props.children, className = props.className, disableUserProfile = props.disableUserProfile, allowProfileEdit = props.allowProfileEdit, queries = props.queries, onProfileEditSuccess = props.onProfileEditSuccess, onThemeChange = props.onThemeChange, onBeforeCreateChannel = props.onBeforeCreateChannel, sortChannelList = props.sortChannelList, overrideInviteUser = props.overrideInviteUser, activeChannelUrl = props.activeChannelUrl, _c = props.isTypingIndicatorEnabled, isTypingIndicatorEnabled = _c === void 0 ? null : _c, _d = props.isMessageReceiptStatusEnabled, isMessageReceiptStatusEnabled = _d === void 0 ? null : _d, reconnectOnIdle = props.reconnectOnIdle;
725
- // disable autoselect, if activeChannelUrl is provided
726
- // useActiveChannelUrl should be executed when activeChannelUrl is present
727
- var disableAutoSelect = (props === null || props === void 0 ? void 0 : props.disableAutoSelect) || !!activeChannelUrl;
728
- var onChannelSelect = (props === null || props === void 0 ? void 0 : props.onChannelSelect) || noop;
729
- // fetch store from <SendbirdProvider />
730
- var globalStore = useSendbirdStateContext();
731
- var config = globalStore.config, stores = globalStore.stores;
732
- var sdkStore = stores.sdkStore;
733
- var pubSub = config.pubSub, logger = config.logger, onUserProfileMessage = config.onUserProfileMessage;
734
- var markAsDeliveredScheduler = config.markAsDeliveredScheduler, _e = config.disableMarkAsDelivered, disableMarkAsDelivered = _e === void 0 ? false : _e, _f = config.isTypingIndicatorEnabledOnChannelList, isTypingIndicatorEnabledOnChannelList = _f === void 0 ? false : _f, _g = config.isMessageReceiptStatusEnabledOnChannelList, isMessageReceiptStatusEnabledOnChannelList = _g === void 0 ? false : _g, isOnline = config.isOnline;
735
- var sdk = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.sdk;
736
- var _h = ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) !== null && _a !== void 0 ? _a : {}).premiumFeatureList, premiumFeatureList = _h === void 0 ? [] : _h;
737
- // derive some variables
738
- // enable if it is true atleast once(both are flase by default)
739
- var userDefinedDisableUserProfile = disableUserProfile || (config === null || config === void 0 ? void 0 : config.disableUserProfile);
740
- var userDefinedRenderProfile = config === null || config === void 0 ? void 0 : config.renderUserProfile;
741
- var enableEditProfile = allowProfileEdit || (config === null || config === void 0 ? void 0 : config.allowProfileEdit);
742
- var userFilledChannelListQuery = queries === null || queries === void 0 ? void 0 : queries.channelListQuery;
743
- var userFilledApplicationUserListQuery = queries === null || queries === void 0 ? void 0 : queries.applicationUserListQuery;
744
- var sdkIntialized = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
745
- var _j = useReducer(channelListReducer, initialState), channelListStore = _j[0], channelListDispatcher = _j[1];
746
- var currentChannel = channelListStore.currentChannel;
747
- var _k = useState(null), channelSource = _k[0], setChannelSource = _k[1];
748
- var _l = useState([]), typingChannels = _l[0], setTypingChannels = _l[1];
749
- useEffect(function () {
750
- var subscriber = pubSubHandler(pubSub, channelListDispatcher);
751
- return function () {
752
- pubSubHandleRemover(subscriber);
753
- };
754
- }, [sdkIntialized]);
755
- useEffect(function () {
756
- var _a;
757
- var sdkChannelHandlerId = uuidv4();
758
- if (sdkIntialized) {
759
- logger.info('ChannelList: Setup channelHandlers');
760
- setupChannelList({
761
- sdk: sdk,
762
- sdkChannelHandlerId: sdkChannelHandlerId,
763
- channelListDispatcher: channelListDispatcher,
764
- setChannelSource: setChannelSource,
765
- onChannelSelect: onChannelSelect,
766
- userFilledChannelListQuery: userFilledChannelListQuery,
767
- logger: logger,
768
- sortChannelList: sortChannelList,
769
- disableAutoSelect: disableAutoSelect,
770
- markAsDeliveredScheduler: markAsDeliveredScheduler,
771
- disableMarkAsDelivered: disableMarkAsDelivered,
772
- });
773
- }
774
- else {
775
- logger.info('ChannelList: Removing channelHandlers');
776
- // remove previous channelHandlers
777
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
778
- sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);
779
- }
780
- // remove channelSource
781
- setChannelSource(null);
782
- // cleanup
783
- channelListDispatcher({
784
- type: RESET_CHANNEL_LIST,
785
- payload: null,
786
- });
787
- }
788
- return function () {
789
- var _a, _b;
790
- logger.info('ChannelList: Removing channelHandlers');
791
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
792
- (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.removeGroupChannelHandler(sdkChannelHandlerId);
793
- }
794
- };
795
- }, [
796
- sdkIntialized,
797
- sortChannelList,
798
- Object.entries(userFilledChannelListQuery !== null && userFilledChannelListQuery !== void 0 ? userFilledChannelListQuery : {}).map(function (_a) {
799
- var key = _a[0], value = _a[1];
800
- return key + value;
801
- }).join(),
802
- ]);
803
- useEffect(function () {
804
- var _a, _b;
805
- var typingHandlerId = '';
806
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler) {
807
- typingHandlerId = uuidv4();
808
- var handler = new GroupChannelHandler({
809
- onTypingStatusUpdated: function (channel) {
810
- var _a;
811
- var typingMemberCount = (_a = channel === null || channel === void 0 ? void 0 : channel.getTypingUsers()) === null || _a === void 0 ? void 0 : _a.length;
812
- var channelList = typingChannels.filter(function (ch) { return ch.url !== channel.url; });
813
- if (typingMemberCount > 0) {
814
- setTypingChannels(__spreadArray(__spreadArray([], channelList, true), [channel], false));
815
- }
816
- else {
817
- setTypingChannels(channelList);
818
- }
819
- },
820
- onUnreadMemberStatusUpdated: function (channel) {
821
- channelListDispatcher({
822
- type: ON_LAST_MESSAGE_UPDATED,
823
- payload: channel,
824
- });
825
- },
826
- onUndeliveredMemberStatusUpdated: function (channel) {
827
- channelListDispatcher({
828
- type: ON_LAST_MESSAGE_UPDATED,
829
- payload: channel,
830
- });
831
- },
832
- onMessageUpdated: function (channel) {
833
- if (channel.isGroupChannel()) {
834
- channelListDispatcher({
835
- type: ON_LAST_MESSAGE_UPDATED,
836
- payload: channel,
837
- });
838
- sdk.groupChannel.getChannelWithoutCache(channel.url).then(function (ch) {
839
- channelListDispatcher({
840
- type: ON_LAST_MESSAGE_UPDATED,
841
- payload: ch,
842
- });
843
- });
844
- }
845
- },
846
- onMentionReceived: function (channel) {
847
- if (channel.isGroupChannel()) {
848
- channelListDispatcher({
849
- type: ON_LAST_MESSAGE_UPDATED,
850
- payload: channel,
851
- });
852
- sdk.groupChannel.getChannelWithoutCache(channel.url).then(function (ch) {
853
- channelListDispatcher({
854
- type: ON_LAST_MESSAGE_UPDATED,
855
- payload: ch,
856
- });
857
- });
858
- }
859
- },
860
- });
861
- (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.addGroupChannelHandler(typingHandlerId, handler);
862
- }
863
- return function () {
864
- var _a;
865
- if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) && typingHandlerId !== '') {
866
- sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);
867
- }
868
- };
869
- }, [(_b = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _b === void 0 ? void 0 : _b.userId]);
870
- var queries_ = useMemo(function () {
871
- return {
872
- applicationUserListQuery: userFilledApplicationUserListQuery,
873
- channelListQuery: userFilledChannelListQuery,
874
- };
875
- }, [userFilledApplicationUserListQuery, userFilledChannelListQuery]);
876
- var allChannels = channelListStore.allChannels;
877
- var sortedChannels = sortChannelList && typeof sortChannelList === 'function' ? sortChannelList(allChannels) : allChannels;
878
- if (sortedChannels.length !== allChannels.length) {
879
- var warning = "ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems";
880
- // eslint-disable-next-line no-console
881
- console.warn(warning, { before: allChannels, after: sortedChannels });
882
- logger.warning(warning, { before: allChannels, after: sortedChannels });
883
- }
884
- // Set current channel (by on_channel_selected event)
885
- useEffect(function () {
886
- if (!sdk || !sdk.groupChannel) {
887
- return;
888
- }
889
- // When leaving a channel, tell consumers that the prior channel is no longer selected
890
- if (!(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
891
- onChannelSelect(null);
892
- return;
893
- }
894
- sdk.groupChannel.getChannel(currentChannel.url).then(function (groupChannel) {
895
- if (groupChannel) {
896
- onChannelSelect(groupChannel);
897
- }
898
- else {
899
- onChannelSelect(null);
900
- }
901
- });
902
- }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
903
- // Set active channel (by url)
904
- useActiveChannelUrl({
905
- activeChannelUrl: activeChannelUrl,
906
- channels: sortedChannels,
907
- sdk: sdk,
908
- }, {
909
- logger: logger,
910
- channelListDispatcher: channelListDispatcher,
911
- });
912
- useHandleReconnectForChannelList({
913
- isOnline: isOnline,
914
- reconnectOnIdle: reconnectOnIdle,
915
- logger: logger,
916
- sdk: sdk,
917
- currentGroupChannel: currentChannel,
918
- channelListDispatcher: channelListDispatcher,
919
- setChannelSource: setChannelSource,
920
- userFilledChannelListQuery: userFilledChannelListQuery,
921
- sortChannelList: sortChannelList,
922
- disableAutoSelect: disableAutoSelect,
923
- markAsDeliveredScheduler: markAsDeliveredScheduler,
924
- disableMarkAsDelivered: disableMarkAsDelivered,
925
- });
926
- var fetchChannelList = useFetchChannelList({
927
- channelSource: channelSource,
928
- disableMarkAsDelivered: disableMarkAsDelivered || !premiumFeatureList.some(function (feature) { return feature === DELIVERY_RECEIPT$1; }),
929
- }, {
930
- channelListDispatcher: channelListDispatcher,
931
- logger: logger,
932
- markAsDeliveredScheduler: markAsDeliveredScheduler,
933
- });
934
- return (React__default.createElement(ChannelListContext.Provider, { value: __assign(__assign({ className: className, disableUserProfile: disableUserProfile, queries: queries_, onProfileEditSuccess: onProfileEditSuccess, onThemeChange: onThemeChange, onBeforeCreateChannel: onBeforeCreateChannel, overrideInviteUser: overrideInviteUser, onChannelSelect: onChannelSelect, sortChannelList: sortChannelList, allowProfileEdit: enableEditProfile, channelListDispatcher: channelListDispatcher, channelSource: channelSource }, channelListStore), { allChannels: sortedChannels, typingChannels: typingChannels, isTypingIndicatorEnabled: isTypingIndicatorEnabled !== null ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList, isMessageReceiptStatusEnabled: isMessageReceiptStatusEnabled !== null
935
- ? isMessageReceiptStatusEnabled
936
- : isMessageReceiptStatusEnabledOnChannelList, fetchChannelList: fetchChannelList }) },
937
- React__default.createElement(UserProfileProvider, { disableUserProfile: userDefinedDisableUserProfile !== null && userDefinedDisableUserProfile !== void 0 ? userDefinedDisableUserProfile : config === null || config === void 0 ? void 0 : config.disableUserProfile, renderUserProfile: userDefinedRenderProfile, onUserProfileMessage: onUserProfileMessage },
938
- React__default.createElement("div", { className: "sendbird-channel-list ".concat(className) }, children))));
939
- };
940
- function useChannelListContext() {
941
- var context = useContext(ChannelListContext);
942
- return context;
699
+ var ChannelListContext = React__default.createContext({
700
+ disableUserProfile: true,
701
+ allowProfileEdit: true,
702
+ onBeforeCreateChannel: null,
703
+ onThemeChange: null,
704
+ onProfileEditSuccess: null,
705
+ onChannelSelect: null,
706
+ queries: {},
707
+ className: null,
708
+ initialized: false,
709
+ loading: false,
710
+ allChannels: [],
711
+ currentChannel: null,
712
+ channelListQuery: {},
713
+ currentUserId: null,
714
+ channelListDispatcher: null,
715
+ channelSource: null,
716
+ typingChannels: [],
717
+ fetchChannelList: noop,
718
+ reconnectOnIdle: true,
719
+ });
720
+ var ChannelListProvider = function (props) {
721
+ var _a, _b;
722
+ // destruct props
723
+ var children = props.children, className = props.className, disableUserProfile = props.disableUserProfile, allowProfileEdit = props.allowProfileEdit, queries = props.queries, onProfileEditSuccess = props.onProfileEditSuccess, onThemeChange = props.onThemeChange, onBeforeCreateChannel = props.onBeforeCreateChannel, sortChannelList = props.sortChannelList, overrideInviteUser = props.overrideInviteUser, activeChannelUrl = props.activeChannelUrl, _c = props.isTypingIndicatorEnabled, isTypingIndicatorEnabled = _c === void 0 ? null : _c, _d = props.isMessageReceiptStatusEnabled, isMessageReceiptStatusEnabled = _d === void 0 ? null : _d, reconnectOnIdle = props.reconnectOnIdle;
724
+ // disable autoselect, if activeChannelUrl is provided
725
+ // useActiveChannelUrl should be executed when activeChannelUrl is present
726
+ var disableAutoSelect = (props === null || props === void 0 ? void 0 : props.disableAutoSelect) || !!activeChannelUrl;
727
+ var onChannelSelect = (props === null || props === void 0 ? void 0 : props.onChannelSelect) || noop;
728
+ // fetch store from <SendbirdProvider />
729
+ var globalStore = useSendbirdStateContext();
730
+ var config = globalStore.config, stores = globalStore.stores;
731
+ var sdkStore = stores.sdkStore;
732
+ var pubSub = config.pubSub, logger = config.logger, onUserProfileMessage = config.onUserProfileMessage;
733
+ var markAsDeliveredScheduler = config.markAsDeliveredScheduler, _e = config.disableMarkAsDelivered, disableMarkAsDelivered = _e === void 0 ? false : _e, isOnline = config.isOnline;
734
+ var sdk = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.sdk;
735
+ var _f = ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) !== null && _a !== void 0 ? _a : {}).premiumFeatureList, premiumFeatureList = _f === void 0 ? [] : _f;
736
+ // derive some variables
737
+ // enable if it is true at least once(both are false by default)
738
+ var userDefinedDisableUserProfile = disableUserProfile !== null && disableUserProfile !== void 0 ? disableUserProfile : !config.common.enableUsingDefaultUserProfile;
739
+ var userDefinedRenderProfile = config === null || config === void 0 ? void 0 : config.renderUserProfile;
740
+ var enableEditProfile = allowProfileEdit || (config === null || config === void 0 ? void 0 : config.allowProfileEdit);
741
+ var userFilledChannelListQuery = queries === null || queries === void 0 ? void 0 : queries.channelListQuery;
742
+ var userFilledApplicationUserListQuery = queries === null || queries === void 0 ? void 0 : queries.applicationUserListQuery;
743
+ var sdkIntialized = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
744
+ var _g = useReducer(channelListReducer, initialState), channelListStore = _g[0], channelListDispatcher = _g[1];
745
+ var currentChannel = channelListStore.currentChannel;
746
+ var _h = useState(null), channelSource = _h[0], setChannelSource = _h[1];
747
+ var _j = useState([]), typingChannels = _j[0], setTypingChannels = _j[1];
748
+ useEffect(function () {
749
+ var subscriber = pubSubHandler(pubSub, channelListDispatcher);
750
+ return function () {
751
+ pubSubHandleRemover(subscriber);
752
+ };
753
+ }, [sdkIntialized]);
754
+ useEffect(function () {
755
+ var _a;
756
+ var sdkChannelHandlerId = uuidv4();
757
+ if (sdkIntialized) {
758
+ logger.info('ChannelList: Setup channelHandlers');
759
+ setupChannelList({
760
+ sdk: sdk,
761
+ sdkChannelHandlerId: sdkChannelHandlerId,
762
+ channelListDispatcher: channelListDispatcher,
763
+ setChannelSource: setChannelSource,
764
+ onChannelSelect: onChannelSelect,
765
+ userFilledChannelListQuery: userFilledChannelListQuery,
766
+ logger: logger,
767
+ sortChannelList: sortChannelList,
768
+ disableAutoSelect: disableAutoSelect,
769
+ markAsDeliveredScheduler: markAsDeliveredScheduler,
770
+ disableMarkAsDelivered: disableMarkAsDelivered,
771
+ });
772
+ }
773
+ else {
774
+ logger.info('ChannelList: Removing channelHandlers');
775
+ // remove previous channelHandlers
776
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
777
+ sdk.groupChannel.removeGroupChannelHandler(sdkChannelHandlerId);
778
+ }
779
+ // remove channelSource
780
+ setChannelSource(null);
781
+ // cleanup
782
+ channelListDispatcher({
783
+ type: RESET_CHANNEL_LIST,
784
+ payload: null,
785
+ });
786
+ }
787
+ return function () {
788
+ var _a, _b;
789
+ logger.info('ChannelList: Removing channelHandlers');
790
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
791
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.removeGroupChannelHandler(sdkChannelHandlerId);
792
+ }
793
+ };
794
+ }, [
795
+ sdkIntialized,
796
+ sortChannelList,
797
+ Object.entries(userFilledChannelListQuery !== null && userFilledChannelListQuery !== void 0 ? userFilledChannelListQuery : {}).map(function (_a) {
798
+ var key = _a[0], value = _a[1];
799
+ return key + value;
800
+ }).join(),
801
+ ]);
802
+ useEffect(function () {
803
+ var _a, _b;
804
+ var typingHandlerId = '';
805
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler) {
806
+ typingHandlerId = uuidv4();
807
+ var handler = new GroupChannelHandler({
808
+ onTypingStatusUpdated: function (channel) {
809
+ var _a;
810
+ var typingMemberCount = (_a = channel === null || channel === void 0 ? void 0 : channel.getTypingUsers()) === null || _a === void 0 ? void 0 : _a.length;
811
+ var channelList = typingChannels.filter(function (ch) { return ch.url !== channel.url; });
812
+ if (typingMemberCount > 0) {
813
+ setTypingChannels(__spreadArray(__spreadArray([], channelList, true), [channel], false));
814
+ }
815
+ else {
816
+ setTypingChannels(channelList);
817
+ }
818
+ },
819
+ onUnreadMemberStatusUpdated: function (channel) {
820
+ channelListDispatcher({
821
+ type: ON_LAST_MESSAGE_UPDATED,
822
+ payload: channel,
823
+ });
824
+ },
825
+ onUndeliveredMemberStatusUpdated: function (channel) {
826
+ channelListDispatcher({
827
+ type: ON_LAST_MESSAGE_UPDATED,
828
+ payload: channel,
829
+ });
830
+ },
831
+ onMessageUpdated: function (channel) {
832
+ if (channel.isGroupChannel()) {
833
+ channelListDispatcher({
834
+ type: ON_LAST_MESSAGE_UPDATED,
835
+ payload: channel,
836
+ });
837
+ sdk.groupChannel.getChannelWithoutCache(channel.url).then(function (ch) {
838
+ channelListDispatcher({
839
+ type: ON_LAST_MESSAGE_UPDATED,
840
+ payload: ch,
841
+ });
842
+ });
843
+ }
844
+ },
845
+ onMentionReceived: function (channel) {
846
+ if (channel.isGroupChannel()) {
847
+ channelListDispatcher({
848
+ type: ON_LAST_MESSAGE_UPDATED,
849
+ payload: channel,
850
+ });
851
+ sdk.groupChannel.getChannelWithoutCache(channel.url).then(function (ch) {
852
+ channelListDispatcher({
853
+ type: ON_LAST_MESSAGE_UPDATED,
854
+ payload: ch,
855
+ });
856
+ });
857
+ }
858
+ },
859
+ });
860
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.addGroupChannelHandler(typingHandlerId, handler);
861
+ }
862
+ return function () {
863
+ var _a;
864
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) && typingHandlerId !== '') {
865
+ sdk.groupChannel.removeGroupChannelHandler(typingHandlerId);
866
+ }
867
+ };
868
+ }, [(_b = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _b === void 0 ? void 0 : _b.userId]);
869
+ var queries_ = useMemo(function () {
870
+ return {
871
+ applicationUserListQuery: userFilledApplicationUserListQuery,
872
+ channelListQuery: userFilledChannelListQuery,
873
+ };
874
+ }, [userFilledApplicationUserListQuery, userFilledChannelListQuery]);
875
+ var allChannels = channelListStore.allChannels;
876
+ var sortedChannels = sortChannelList && typeof sortChannelList === 'function' ? sortChannelList(allChannels) : allChannels;
877
+ if (sortedChannels.length !== allChannels.length) {
878
+ var warning = "ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems";
879
+ // eslint-disable-next-line no-console
880
+ console.warn(warning, { before: allChannels, after: sortedChannels });
881
+ logger.warning(warning, { before: allChannels, after: sortedChannels });
882
+ }
883
+ // Set current channel (by on_channel_selected event)
884
+ useEffect(function () {
885
+ if (!sdk || !sdk.groupChannel) {
886
+ return;
887
+ }
888
+ // When leaving a channel, tell consumers that the prior channel is no longer selected
889
+ if (!(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
890
+ onChannelSelect(null);
891
+ return;
892
+ }
893
+ sdk.groupChannel.getChannel(currentChannel.url).then(function (groupChannel) {
894
+ if (groupChannel) {
895
+ onChannelSelect(groupChannel);
896
+ }
897
+ else {
898
+ onChannelSelect(null);
899
+ }
900
+ });
901
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
902
+ // Set active channel (by url)
903
+ useActiveChannelUrl({
904
+ activeChannelUrl: activeChannelUrl,
905
+ channels: sortedChannels,
906
+ sdk: sdk,
907
+ }, {
908
+ logger: logger,
909
+ channelListDispatcher: channelListDispatcher,
910
+ });
911
+ useHandleReconnectForChannelList({
912
+ isOnline: isOnline,
913
+ reconnectOnIdle: reconnectOnIdle,
914
+ logger: logger,
915
+ sdk: sdk,
916
+ currentGroupChannel: currentChannel,
917
+ channelListDispatcher: channelListDispatcher,
918
+ setChannelSource: setChannelSource,
919
+ userFilledChannelListQuery: userFilledChannelListQuery,
920
+ sortChannelList: sortChannelList,
921
+ disableAutoSelect: disableAutoSelect,
922
+ markAsDeliveredScheduler: markAsDeliveredScheduler,
923
+ disableMarkAsDelivered: disableMarkAsDelivered,
924
+ });
925
+ var fetchChannelList = useFetchChannelList({
926
+ channelSource: channelSource,
927
+ disableMarkAsDelivered: disableMarkAsDelivered || !premiumFeatureList.some(function (feature) { return feature === DELIVERY_RECEIPT$1; }),
928
+ }, {
929
+ channelListDispatcher: channelListDispatcher,
930
+ logger: logger,
931
+ markAsDeliveredScheduler: markAsDeliveredScheduler,
932
+ });
933
+ return (React__default.createElement(ChannelListContext.Provider, { value: __assign(__assign({ className: className, disableUserProfile: disableUserProfile, queries: queries_, onProfileEditSuccess: onProfileEditSuccess, onThemeChange: onThemeChange, onBeforeCreateChannel: onBeforeCreateChannel, overrideInviteUser: overrideInviteUser, onChannelSelect: onChannelSelect, sortChannelList: sortChannelList, allowProfileEdit: enableEditProfile, channelListDispatcher: channelListDispatcher, channelSource: channelSource }, channelListStore), { allChannels: sortedChannels, typingChannels: typingChannels, isTypingIndicatorEnabled: isTypingIndicatorEnabled !== null && isTypingIndicatorEnabled !== void 0 ? isTypingIndicatorEnabled : config.groupChannelList.enableTypingIndicator, isMessageReceiptStatusEnabled: isMessageReceiptStatusEnabled !== null && isMessageReceiptStatusEnabled !== void 0 ? isMessageReceiptStatusEnabled : config.groupChannelList.enableMessageReceiptStatus, fetchChannelList: fetchChannelList }) },
934
+ React__default.createElement(UserProfileProvider, { disableUserProfile: userDefinedDisableUserProfile !== null && userDefinedDisableUserProfile !== void 0 ? userDefinedDisableUserProfile : !config.common.enableUsingDefaultUserProfile, renderUserProfile: userDefinedRenderProfile, onUserProfileMessage: onUserProfileMessage },
935
+ React__default.createElement("div", { className: "sendbird-channel-list ".concat(className) }, children))));
936
+ };
937
+ function useChannelListContext() {
938
+ var context = useContext(ChannelListContext);
939
+ return context;
943
940
  }
944
941
 
945
942
  export { ChannelListProvider as C, LEAVE_CHANNEL_SUCCESS as L, SET_CURRENT_CHANNEL as S, useChannelListContext as u };
946
- //# sourceMappingURL=bundle-CYXIQgUE.js.map
943
+ //# sourceMappingURL=bundle-BmTGlIgs.js.map