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