@sendbird/uikit-react 3.5.0-rc.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (936) hide show
  1. package/App.js +312 -235
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +544 -0
  4. package/Channel/components/ChannelHeader.js +46 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +104 -131
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +56 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +240 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +152 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +260 -175
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +34 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +139 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +44 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +12 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +69 -44
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +101 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +72 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +32 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-ade145a7.js → ChannelListProvider-4cf5c0f5.js} +233 -285
  45. package/ChannelListProvider-4cf5c0f5.js.map +1 -0
  46. package/{ChannelProvider-c9db10c0.js → ChannelProvider-6e8e99df.js} +659 -726
  47. package/ChannelProvider-6e8e99df.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-34603fa5.js +44 -0
  76. package/CreateChannelProvider-34603fa5.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-04c0c9dc.js +20 -0
  90. package/{LocalizationContext-60894e38.js.map → LocalizationContext-04c0c9dc.js.map} +1 -1
  91. package/MediaQueryContext-ff9dca2b.js +87 -0
  92. package/MediaQueryContext-ff9dca2b.js.map +1 -0
  93. package/MemberList-9bf26111.js +403 -0
  94. package/MemberList-9bf26111.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +50 -35
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +174 -191
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +36 -30
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-d7372692.js +429 -0
  128. package/OpenChannelListProvider-d7372692.js.map +1 -0
  129. package/OpenChannelProvider-24cd68b9.js +1885 -0
  130. package/OpenChannelProvider-24cd68b9.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-94e2bf9e.js +36 -0
  147. package/RemoveMessageModal-94e2bf9e.js.map +1 -0
  148. package/SendbirdProvider.js +749 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +238 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +112 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +108 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +306 -276
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +146 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +169 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +87 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-203b94f3.js +1695 -0
  170. package/ThreadProvider-203b94f3.js.map +1 -0
  171. package/{UserProfileContext-33a26cc4.js → UserProfileContext-c776d522.js} +1 -4
  172. package/{UserProfileContext-33a26cc4.js.map → UserProfileContext-c776d522.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-77d8f487.js +170 -0
  174. package/VoiceMessageInputWrapper-77d8f487.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +84 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +156 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +121 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-62e6d3a7.js +123 -0
  184. package/WebAudioUtils-62e6d3a7.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-ed44209e.js → _rollupPluginBabelHelpers-fb0e05a4.js} +17 -11
  186. package/_rollupPluginBabelHelpers-fb0e05a4.js.map +1 -0
  187. package/actionTypes-1db5749d.js +8 -0
  188. package/actionTypes-1db5749d.js.map +1 -0
  189. package/cjs/App.js +312 -235
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +46 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +102 -129
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +56 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +243 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +151 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +260 -175
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +34 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +139 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +44 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +69 -44
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +100 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +72 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +32 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-65473831.js → ChannelListProvider-e0ce316a.js} +232 -284
  232. package/cjs/ChannelListProvider-e0ce316a.js.map +1 -0
  233. package/cjs/{ChannelProvider-1e08a7a9.js → ChannelProvider-0df75472.js} +657 -724
  234. package/cjs/ChannelProvider-0df75472.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-c0fca0a5.js +52 -0
  263. package/cjs/CreateChannelProvider-c0fca0a5.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-8780a64e.js → LocalizationContext-0e429c3d.js} +9 -11
  277. package/cjs/{LocalizationContext-8780a64e.js.map → LocalizationContext-0e429c3d.js.map} +1 -1
  278. package/cjs/MediaQueryContext-33fc3b17.js +94 -0
  279. package/cjs/MediaQueryContext-33fc3b17.js.map +1 -0
  280. package/cjs/MemberList-a45a51c4.js +409 -0
  281. package/cjs/MemberList-a45a51c4.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +36 -30
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-fc8b53ee.js +439 -0
  315. package/cjs/OpenChannelListProvider-fc8b53ee.js.map +1 -0
  316. package/cjs/OpenChannelProvider-217a8ac2.js +1894 -0
  317. package/cjs/OpenChannelProvider-217a8ac2.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-0da4f94b.js → RemoveMessageModal-5903f232.js} +19 -14
  333. package/cjs/RemoveMessageModal-5903f232.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +748 -408
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +237 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +108 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +305 -275
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +146 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +170 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +87 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-8ee179c2.js +1704 -0
  356. package/cjs/ThreadProvider-8ee179c2.js.map +1 -0
  357. package/cjs/{UserProfileContext-0808e413.js → UserProfileContext-87580795.js} +1 -4
  358. package/cjs/{UserProfileContext-0808e413.js.map → UserProfileContext-87580795.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +17 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +166 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-e226789c.js +126 -0
  370. package/cjs/WebAudioUtils-e226789c.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-bd6baf0a.js → _rollupPluginBabelHelpers-c89f311a.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-c89f311a.js.map +1 -0
  373. package/cjs/actionTypes-0fa2943d.js +10 -0
  374. package/cjs/actionTypes-0fa2943d.js.map +1 -0
  375. package/cjs/{color-fdbe394d.js → color-bada0fc7.js} +13 -21
  376. package/cjs/color-bada0fc7.js.map +1 -0
  377. package/cjs/{compareIds-d0c02eca.js → compareIds-ccccfe86.js} +5 -6
  378. package/cjs/compareIds-ccccfe86.js.map +1 -0
  379. package/cjs/const-a85f3364.js +20 -0
  380. package/cjs/const-a85f3364.js.map +1 -0
  381. package/cjs/{const-8785e4ad.js → const-d8cece19.js} +4 -4
  382. package/cjs/const-d8cece19.js.map +1 -0
  383. package/cjs/consts-1c3020ad.js +6 -0
  384. package/cjs/consts-1c3020ad.js.map +1 -0
  385. package/cjs/consts-1d94dc61.js +6 -0
  386. package/cjs/consts-1d94dc61.js.map +1 -0
  387. package/cjs/consts-5e0f96b3.js +41 -0
  388. package/cjs/consts-5e0f96b3.js.map +1 -0
  389. package/cjs/consts-740f60b8.js +6 -0
  390. package/cjs/consts-740f60b8.js.map +1 -0
  391. package/cjs/{context-012aecd1.js → context-8e7e8457.js} +6 -5
  392. package/cjs/{context-012aecd1.js.map → context-8e7e8457.js.map} +1 -1
  393. package/cjs/dist/index.css +1682 -1229
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/{index-48d85d8f.js → index-016f7106.js} +1 -1
  398. package/cjs/{index-48d85d8f.js.map → index-016f7106.js.map} +1 -1
  399. package/cjs/{index-e8544e24.js → index-1613ae03.js} +29 -37
  400. package/cjs/index-1613ae03.js.map +1 -0
  401. package/cjs/index-2be14d85.js +57 -0
  402. package/cjs/index-2be14d85.js.map +1 -0
  403. package/cjs/index-3b30939e.js +79 -0
  404. package/cjs/index-3b30939e.js.map +1 -0
  405. package/cjs/index-5231fde8.js +585 -0
  406. package/cjs/index-5231fde8.js.map +1 -0
  407. package/cjs/index-648c06ed.js +330 -0
  408. package/cjs/index-648c06ed.js.map +1 -0
  409. package/cjs/{index-bdd889a2.js → index-6cb0d040.js} +11 -25
  410. package/cjs/index-6cb0d040.js.map +1 -0
  411. package/cjs/{index-ebb542c3.js → index-71fdaa1b.js} +55 -63
  412. package/cjs/index-71fdaa1b.js.map +1 -0
  413. package/cjs/{index-abe135e6.js → index-7d125728.js} +2 -2
  414. package/cjs/{index-abe135e6.js.map → index-7d125728.js.map} +1 -1
  415. package/cjs/{index-e191d245.js → index-7f6bbe0c.js} +42 -51
  416. package/cjs/index-7f6bbe0c.js.map +1 -0
  417. package/cjs/{index-5ea12b7a.js → index-869e9a94.js} +2 -2
  418. package/cjs/{index-5ea12b7a.js.map → index-869e9a94.js.map} +1 -1
  419. package/cjs/index-89d81dad.js +456 -0
  420. package/cjs/index-89d81dad.js.map +1 -0
  421. package/cjs/{index-c13771a7.js → index-8affdde5.js} +57 -3
  422. package/cjs/index-8affdde5.js.map +1 -0
  423. package/cjs/index-99f16473.js +202 -0
  424. package/cjs/index-99f16473.js.map +1 -0
  425. package/cjs/index-c9d348b6.js +367 -0
  426. package/cjs/index-c9d348b6.js.map +1 -0
  427. package/cjs/index-e8c0080f.js +161 -0
  428. package/cjs/index-e8c0080f.js.map +1 -0
  429. package/cjs/{index-08d232f8.js → index-f570d25c.js} +1 -1
  430. package/cjs/index-f570d25c.js.map +1 -0
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-0585715f.js +6 -0
  434. package/cjs/index.module-0585715f.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/resolvedReplyType-67e78c63.js +32 -0
  438. package/cjs/resolvedReplyType-67e78c63.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-60660a99.js → stringSet-106da549.js} +112 -90
  442. package/cjs/stringSet-106da549.js.map +1 -0
  443. package/cjs/tokenize-2aa0f876.js +164 -0
  444. package/cjs/tokenize-2aa0f876.js.map +1 -0
  445. package/cjs/topics-b384e6b3.js +18 -0
  446. package/cjs/topics-b384e6b3.js.map +1 -0
  447. package/cjs/types-e0b77c8c.js +17 -0
  448. package/cjs/types-e0b77c8c.js.map +1 -0
  449. package/cjs/ui/Accordion.js +21 -24
  450. package/cjs/ui/Accordion.js.map +1 -1
  451. package/cjs/ui/AccordionGroup.js +10 -13
  452. package/cjs/ui/AccordionGroup.js.map +1 -1
  453. package/cjs/ui/AdminMessage.js +10 -13
  454. package/cjs/ui/AdminMessage.js.map +1 -1
  455. package/cjs/ui/Avatar.js +57 -79
  456. package/cjs/ui/Avatar.js.map +1 -1
  457. package/cjs/ui/Badge.js +16 -15
  458. package/cjs/ui/Badge.js.map +1 -1
  459. package/cjs/ui/BottomSheet.js +14 -12
  460. package/cjs/ui/BottomSheet.js.map +1 -1
  461. package/cjs/ui/Button.js +20 -35
  462. package/cjs/ui/Button.js.map +1 -1
  463. package/cjs/ui/ChannelAvatar.js +38 -41
  464. package/cjs/ui/ChannelAvatar.js.map +1 -1
  465. package/cjs/ui/Checkbox.js +11 -13
  466. package/cjs/ui/Checkbox.js.map +1 -1
  467. package/cjs/ui/ConnectionStatus.js +7 -5
  468. package/cjs/ui/ConnectionStatus.js.map +1 -1
  469. package/cjs/ui/ContextMenu.js +175 -199
  470. package/cjs/ui/ContextMenu.js.map +1 -1
  471. package/cjs/ui/DateSeparator.js +12 -14
  472. package/cjs/ui/DateSeparator.js.map +1 -1
  473. package/cjs/ui/EmojiReactions.js +299 -107
  474. package/cjs/ui/EmojiReactions.js.map +1 -1
  475. package/cjs/ui/FileMessageItemBody.js +22 -23
  476. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  477. package/cjs/ui/FileViewer.js +36 -36
  478. package/cjs/ui/FileViewer.js.map +1 -1
  479. package/cjs/ui/Icon.js +447 -623
  480. package/cjs/ui/Icon.js.map +1 -1
  481. package/cjs/ui/IconButton.js +20 -31
  482. package/cjs/ui/IconButton.js.map +1 -1
  483. package/cjs/ui/ImageRenderer.js +34 -43
  484. package/cjs/ui/ImageRenderer.js.map +1 -1
  485. package/cjs/ui/Input.js +16 -16
  486. package/cjs/ui/Input.js.map +1 -1
  487. package/cjs/ui/Label.js +2 -2
  488. package/cjs/ui/LinkLabel.js +4 -3
  489. package/cjs/ui/LinkLabel.js.map +1 -1
  490. package/cjs/ui/Loader.js +10 -12
  491. package/cjs/ui/Loader.js.map +1 -1
  492. package/cjs/ui/MentionLabel.js +58 -65
  493. package/cjs/ui/MentionLabel.js.map +1 -1
  494. package/cjs/ui/MentionUserLabel.js +12 -10
  495. package/cjs/ui/MentionUserLabel.js.map +1 -1
  496. package/cjs/ui/MessageContent.js +212 -548
  497. package/cjs/ui/MessageContent.js.map +1 -1
  498. package/cjs/ui/MessageInput.js +392 -119
  499. package/cjs/ui/MessageInput.js.map +1 -1
  500. package/cjs/ui/MessageItemMenu.js +83 -83
  501. package/cjs/ui/MessageItemMenu.js.map +1 -1
  502. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  503. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  504. package/cjs/ui/MessageSearchFileItem.js +56 -51
  505. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  506. package/cjs/ui/MessageSearchItem.js +42 -41
  507. package/cjs/ui/MessageSearchItem.js.map +1 -1
  508. package/cjs/ui/MessageStatus.js +10 -11
  509. package/cjs/ui/MessageStatus.js.map +1 -1
  510. package/cjs/ui/Modal.js +52 -46
  511. package/cjs/ui/Modal.js.map +1 -1
  512. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  513. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/cjs/ui/OGMessageItemBody.js +67 -63
  515. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  516. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  517. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/cjs/ui/OpenChannelAvatar.js +18 -17
  519. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  520. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  521. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  522. package/cjs/ui/OpenchannelFileMessage.js +140 -151
  523. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  525. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
  527. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  528. package/cjs/ui/OpenchannelUserMessage.js +168 -178
  529. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  530. package/cjs/ui/PlaceHolder.js +5 -6
  531. package/cjs/ui/PlaceHolder.js.map +1 -1
  532. package/cjs/ui/PlaybackTime.js +35 -0
  533. package/cjs/ui/PlaybackTime.js.map +1 -0
  534. package/cjs/ui/ProgressBar.js +40 -0
  535. package/cjs/ui/ProgressBar.js.map +1 -0
  536. package/cjs/ui/QuoteMessage.js +50 -44
  537. package/cjs/ui/QuoteMessage.js.map +1 -1
  538. package/cjs/ui/QuoteMessageInput.js +31 -29
  539. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  540. package/cjs/ui/ReactionBadge.js +13 -21
  541. package/cjs/ui/ReactionBadge.js.map +1 -1
  542. package/cjs/ui/ReactionButton.js +30 -27
  543. package/cjs/ui/ReactionButton.js.map +1 -1
  544. package/cjs/ui/SortByRow.js +14 -18
  545. package/cjs/ui/SortByRow.js.map +1 -1
  546. package/cjs/ui/TextButton.js +13 -21
  547. package/cjs/ui/TextButton.js.map +1 -1
  548. package/cjs/ui/TextMessageItemBody.js +41 -48
  549. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  550. package/cjs/ui/ThreadReplies.js +25 -22
  551. package/cjs/ui/ThreadReplies.js.map +1 -1
  552. package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
  553. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  554. package/cjs/ui/Toggle.js +202 -0
  555. package/cjs/ui/Toggle.js.map +1 -0
  556. package/cjs/ui/Tooltip.js +8 -9
  557. package/cjs/ui/Tooltip.js.map +1 -1
  558. package/cjs/ui/TooltipWrapper.js +17 -20
  559. package/cjs/ui/TooltipWrapper.js.map +1 -1
  560. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  561. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  562. package/cjs/ui/UserListItem.js +76 -76
  563. package/cjs/ui/UserListItem.js.map +1 -1
  564. package/cjs/ui/UserProfile.js +31 -29
  565. package/cjs/ui/UserProfile.js.map +1 -1
  566. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  567. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  568. package/cjs/ui/VoiceMessgeInput.js +22 -0
  569. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  570. package/cjs/ui/Word.js +31 -39
  571. package/cjs/ui/Word.js.map +1 -1
  572. package/cjs/useDirtyGetMentions-b8ca5675.js +77 -0
  573. package/cjs/useDirtyGetMentions-b8ca5675.js.map +1 -0
  574. package/cjs/useLongPress-8037894e.js +87 -0
  575. package/cjs/useLongPress-8037894e.js.map +1 -0
  576. package/cjs/useSendbirdStateContext.js +2 -3
  577. package/cjs/useSendbirdStateContext.js.map +1 -1
  578. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  579. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  580. package/cjs/utils/message/isVoiceMessage.js +12 -0
  581. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  582. package/cjs/{utils-ba58eacf.js → utils-01ff5332.js} +3 -7
  583. package/cjs/{utils-ba58eacf.js.map → utils-01ff5332.js.map} +1 -1
  584. package/cjs/utils-2edcddc8.js +35 -0
  585. package/cjs/utils-2edcddc8.js.map +1 -0
  586. package/cjs/utils-5ac3db44.js +31 -0
  587. package/cjs/utils-5ac3db44.js.map +1 -0
  588. package/cjs/{utils-708aa730.js → utils-ad7b5b82.js} +1 -1
  589. package/cjs/{utils-708aa730.js.map → utils-ad7b5b82.js.map} +1 -1
  590. package/cjs/uuid-12b01f73.js +15 -0
  591. package/cjs/{uuid-a9006ea2.js.map → uuid-12b01f73.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-c39702d1.js → color-347926b6.js} +5 -14
  595. package/{color-c39702d1.js.map → color-347926b6.js.map} +1 -1
  596. package/{compareIds-063e5503.js → compareIds-3a43c11b.js} +5 -6
  597. package/compareIds-3a43c11b.js.map +1 -0
  598. package/const-18dba7a4.js +13 -0
  599. package/const-18dba7a4.js.map +1 -0
  600. package/{const-1510a671.js → const-c608f749.js} +4 -4
  601. package/const-c608f749.js.map +1 -0
  602. package/consts-6bca01c7.js +4 -0
  603. package/consts-6bca01c7.js.map +1 -0
  604. package/consts-7a169a0f.js +4 -0
  605. package/consts-7a169a0f.js.map +1 -0
  606. package/consts-c1baf70a.js +27 -0
  607. package/consts-c1baf70a.js.map +1 -0
  608. package/consts-fb4d475a.js +4 -0
  609. package/consts-fb4d475a.js.map +1 -0
  610. package/context-786ef1a2.js +13 -0
  611. package/{context-d5dc28c9.js.map → context-786ef1a2.js.map} +1 -1
  612. package/dist/index.css +1682 -1229
  613. package/dist/index.css.map +1 -1
  614. package/handlers/OpenChannelHandler.js.map +1 -1
  615. package/handlers/SessionHandler.js.map +1 -1
  616. package/{index-7c1f570b.js → index-06b854f7.js} +55 -63
  617. package/index-06b854f7.js.map +1 -0
  618. package/index-2673effb.js +360 -0
  619. package/index-2673effb.js.map +1 -0
  620. package/{index-5e776774.js → index-319984d0.js} +1 -1
  621. package/{index-5e776774.js.map → index-319984d0.js.map} +1 -1
  622. package/{index-eadca08d.js → index-4455855e.js} +2 -2
  623. package/{index-eadca08d.js.map → index-4455855e.js.map} +1 -1
  624. package/index-6663ce18.js +450 -0
  625. package/index-6663ce18.js.map +1 -0
  626. package/{index-b19486f5.js → index-6c252d25.js} +2 -2
  627. package/{index-b19486f5.js.map → index-6c252d25.js.map} +1 -1
  628. package/index-71a20863.js +320 -0
  629. package/index-71a20863.js.map +1 -0
  630. package/index-7d71b26c.js +154 -0
  631. package/index-7d71b26c.js.map +1 -0
  632. package/{index-d81c515b.js → index-9a4e0846.js} +1 -1
  633. package/index-9a4e0846.js.map +1 -0
  634. package/{index-fd15e3b0.js → index-9cd77b08.js} +29 -37
  635. package/index-9cd77b08.js.map +1 -0
  636. package/index-c149ea48.js +187 -0
  637. package/index-c149ea48.js.map +1 -0
  638. package/index-cf3939c6.js +76 -0
  639. package/index-cf3939c6.js.map +1 -0
  640. package/index-cf859f03.js +540 -0
  641. package/index-cf859f03.js.map +1 -0
  642. package/{index-95ac9232.js → index-e33f7f55.js} +11 -25
  643. package/index-e33f7f55.js.map +1 -0
  644. package/{index-b8de16d6.js → index-eabd1e7e.js} +39 -48
  645. package/index-eabd1e7e.js.map +1 -0
  646. package/index-ebb62af1.js +51 -0
  647. package/index-ebb62af1.js.map +1 -0
  648. package/{index-0fd24497.js → index-edf844f0.js} +57 -4
  649. package/index-edf844f0.js.map +1 -0
  650. package/index.d.ts +176 -124
  651. package/index.js +84 -63
  652. package/index.js.map +1 -1
  653. package/index.module-6b7ed635.js +4 -0
  654. package/index.module-6b7ed635.js.map +1 -0
  655. package/lame.all.js +2537 -0
  656. package/lame.all.js.map +1 -0
  657. package/package.json +62 -41
  658. package/resolvedReplyType-8776d777.js +29 -0
  659. package/resolvedReplyType-8776d777.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-7ace5726.js → stringSet-e0ee1265.js} +112 -90
  663. package/stringSet-e0ee1265.js.map +1 -0
  664. package/tokenize-1b053c86.js +159 -0
  665. package/tokenize-1b053c86.js.map +1 -0
  666. package/topics-70f569e9.js +16 -0
  667. package/topics-70f569e9.js.map +1 -0
  668. package/types-77bbdda6.js +15 -0
  669. package/types-77bbdda6.js.map +1 -0
  670. package/ui/Accordion.js +21 -24
  671. package/ui/Accordion.js.map +1 -1
  672. package/ui/AccordionGroup.js +10 -13
  673. package/ui/AccordionGroup.js.map +1 -1
  674. package/ui/AdminMessage.js +10 -13
  675. package/ui/AdminMessage.js.map +1 -1
  676. package/ui/Avatar.js +57 -79
  677. package/ui/Avatar.js.map +1 -1
  678. package/ui/Badge.js +16 -15
  679. package/ui/Badge.js.map +1 -1
  680. package/ui/BottomSheet.js +14 -12
  681. package/ui/BottomSheet.js.map +1 -1
  682. package/ui/Button.js +20 -35
  683. package/ui/Button.js.map +1 -1
  684. package/ui/ChannelAvatar.js +38 -41
  685. package/ui/ChannelAvatar.js.map +1 -1
  686. package/ui/Checkbox.js +11 -13
  687. package/ui/Checkbox.js.map +1 -1
  688. package/ui/ConnectionStatus.js +7 -5
  689. package/ui/ConnectionStatus.js.map +1 -1
  690. package/ui/ContextMenu.js +176 -200
  691. package/ui/ContextMenu.js.map +1 -1
  692. package/ui/DateSeparator.js +12 -14
  693. package/ui/DateSeparator.js.map +1 -1
  694. package/ui/EmojiReactions.js +300 -108
  695. package/ui/EmojiReactions.js.map +1 -1
  696. package/ui/FileMessageItemBody.js +22 -23
  697. package/ui/FileMessageItemBody.js.map +1 -1
  698. package/ui/FileViewer.js +36 -36
  699. package/ui/FileViewer.js.map +1 -1
  700. package/ui/Icon.js +448 -622
  701. package/ui/Icon.js.map +1 -1
  702. package/ui/IconButton.js +20 -31
  703. package/ui/IconButton.js.map +1 -1
  704. package/ui/ImageRenderer.js +34 -43
  705. package/ui/ImageRenderer.js.map +1 -1
  706. package/ui/Input.js +16 -16
  707. package/ui/Input.js.map +1 -1
  708. package/ui/Label.js +2 -2
  709. package/ui/LinkLabel.js +4 -3
  710. package/ui/LinkLabel.js.map +1 -1
  711. package/ui/Loader.js +10 -12
  712. package/ui/Loader.js.map +1 -1
  713. package/ui/MentionLabel.js +58 -65
  714. package/ui/MentionLabel.js.map +1 -1
  715. package/ui/MentionUserLabel.js +12 -10
  716. package/ui/MentionUserLabel.js.map +1 -1
  717. package/ui/MessageContent.js +215 -551
  718. package/ui/MessageContent.js.map +1 -1
  719. package/ui/MessageInput.js +392 -120
  720. package/ui/MessageInput.js.map +1 -1
  721. package/ui/MessageItemMenu.js +83 -83
  722. package/ui/MessageItemMenu.js.map +1 -1
  723. package/ui/MessageItemReactionMenu.js +58 -62
  724. package/ui/MessageItemReactionMenu.js.map +1 -1
  725. package/ui/MessageSearchFileItem.js +55 -50
  726. package/ui/MessageSearchFileItem.js.map +1 -1
  727. package/ui/MessageSearchItem.js +41 -40
  728. package/ui/MessageSearchItem.js.map +1 -1
  729. package/ui/MessageStatus.js +10 -11
  730. package/ui/MessageStatus.js.map +1 -1
  731. package/ui/Modal.js +52 -46
  732. package/ui/Modal.js.map +1 -1
  733. package/ui/MutedAvatarOverlay.js +10 -10
  734. package/ui/MutedAvatarOverlay.js.map +1 -1
  735. package/ui/OGMessageItemBody.js +68 -64
  736. package/ui/OGMessageItemBody.js.map +1 -1
  737. package/ui/OpenChannelAdminMessage.js +8 -7
  738. package/ui/OpenChannelAdminMessage.js.map +1 -1
  739. package/ui/OpenChannelAvatar.js +18 -17
  740. package/ui/OpenChannelAvatar.js.map +1 -1
  741. package/ui/OpenchannelConversationHeader.js +17 -13
  742. package/ui/OpenchannelConversationHeader.js.map +1 -1
  743. package/ui/OpenchannelFileMessage.js +140 -151
  744. package/ui/OpenchannelFileMessage.js.map +1 -1
  745. package/ui/OpenchannelOGMessage.js +204 -233
  746. package/ui/OpenchannelOGMessage.js.map +1 -1
  747. package/ui/OpenchannelThumbnailMessage.js +215 -222
  748. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  749. package/ui/OpenchannelUserMessage.js +168 -178
  750. package/ui/OpenchannelUserMessage.js.map +1 -1
  751. package/ui/PlaceHolder.js +5 -6
  752. package/ui/PlaceHolder.js.map +1 -1
  753. package/ui/PlaybackTime.js +26 -0
  754. package/ui/PlaybackTime.js.map +1 -0
  755. package/ui/ProgressBar.js +30 -0
  756. package/ui/ProgressBar.js.map +1 -0
  757. package/ui/QuoteMessage.js +50 -44
  758. package/ui/QuoteMessage.js.map +1 -1
  759. package/ui/QuoteMessageInput.js +31 -29
  760. package/ui/QuoteMessageInput.js.map +1 -1
  761. package/ui/ReactionBadge.js +13 -21
  762. package/ui/ReactionBadge.js.map +1 -1
  763. package/ui/ReactionButton.js +30 -27
  764. package/ui/ReactionButton.js.map +1 -1
  765. package/ui/SortByRow.js +14 -18
  766. package/ui/SortByRow.js.map +1 -1
  767. package/ui/TextButton.js +13 -21
  768. package/ui/TextButton.js.map +1 -1
  769. package/ui/TextMessageItemBody.js +41 -48
  770. package/ui/TextMessageItemBody.js.map +1 -1
  771. package/ui/ThreadReplies.js +25 -22
  772. package/ui/ThreadReplies.js.map +1 -1
  773. package/ui/ThumbnailMessageItemBody.js +36 -45
  774. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  775. package/ui/Toggle.js +191 -0
  776. package/ui/Toggle.js.map +1 -0
  777. package/ui/Tooltip.js +8 -9
  778. package/ui/Tooltip.js.map +1 -1
  779. package/ui/TooltipWrapper.js +17 -20
  780. package/ui/TooltipWrapper.js.map +1 -1
  781. package/ui/UnknownMessageItemBody.js +21 -22
  782. package/ui/UnknownMessageItemBody.js.map +1 -1
  783. package/ui/UserListItem.js +76 -76
  784. package/ui/UserListItem.js.map +1 -1
  785. package/ui/UserProfile.js +31 -29
  786. package/ui/UserProfile.js.map +1 -1
  787. package/ui/VoiceMessageItemBody.js +110 -0
  788. package/ui/VoiceMessageItemBody.js.map +1 -0
  789. package/ui/VoiceMessgeInput.js +14 -0
  790. package/ui/VoiceMessgeInput.js.map +1 -0
  791. package/ui/Word.js +31 -39
  792. package/ui/Word.js.map +1 -1
  793. package/useDirtyGetMentions-f00f1f94.js +75 -0
  794. package/useDirtyGetMentions-f00f1f94.js.map +1 -0
  795. package/useLongPress-1ab49410.js +85 -0
  796. package/useLongPress-1ab49410.js.map +1 -0
  797. package/useSendbirdStateContext.js +2 -3
  798. package/useSendbirdStateContext.js.map +1 -1
  799. package/utils/message/getOutgoingMessageState.js +9 -15
  800. package/utils/message/getOutgoingMessageState.js.map +1 -1
  801. package/utils/message/isVoiceMessage.js +8 -0
  802. package/utils/message/isVoiceMessage.js.map +1 -0
  803. package/{utils-30c326f7.js → utils-56cb7de5.js} +1 -1
  804. package/{utils-30c326f7.js.map → utils-56cb7de5.js.map} +1 -1
  805. package/utils-77f7e8b2.js +29 -0
  806. package/utils-77f7e8b2.js.map +1 -0
  807. package/{utils-ded73fa5.js → utils-7f3d0d8c.js} +3 -7
  808. package/{utils-ded73fa5.js.map → utils-7f3d0d8c.js.map} +1 -1
  809. package/utils-af9b1c06.js +31 -0
  810. package/utils-af9b1c06.js.map +1 -0
  811. package/uuid-92d22300.js +13 -0
  812. package/{uuid-968941a0.js.map → uuid-92d22300.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-ade145a7.js.map +0 -1
  816. package/ChannelProvider-c9db10c0.js.map +0 -1
  817. package/CreateChannelProvider-be2dfe96.js +0 -55
  818. package/CreateChannelProvider-be2dfe96.js.map +0 -1
  819. package/LocalizationContext-60894e38.js +0 -22
  820. package/MediaQueryContext-bcf72e28.js +0 -90
  821. package/MediaQueryContext-bcf72e28.js.map +0 -1
  822. package/MemberList-ce1fd162.js +0 -435
  823. package/MemberList-ce1fd162.js.map +0 -1
  824. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  825. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  826. package/NotificationChannel/components/NotificationList.js +0 -111
  827. package/NotificationChannel/components/NotificationList.js.map +0 -1
  828. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  829. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  830. package/NotificationChannel/context.js +0 -12
  831. package/NotificationChannel.js +0 -58
  832. package/NotificationChannel.js.map +0 -1
  833. package/NotificationChannelProvider-2cb7ca21.js +0 -535
  834. package/NotificationChannelProvider-2cb7ca21.js.map +0 -1
  835. package/OpenChannelListProvider-0bdafda1.js +0 -434
  836. package/OpenChannelListProvider-0bdafda1.js.map +0 -1
  837. package/OpenChannelProvider-a72c6fb7.js +0 -2000
  838. package/OpenChannelProvider-a72c6fb7.js.map +0 -1
  839. package/RemoveMessageModal-b025d4a7.js +0 -31
  840. package/RemoveMessageModal-b025d4a7.js.map +0 -1
  841. package/ThreadProvider-de5a7889.js +0 -1644
  842. package/ThreadProvider-de5a7889.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-ed44209e.js.map +0 -1
  844. package/actionTypes-aa58fd27.js +0 -6
  845. package/actionTypes-aa58fd27.js.map +0 -1
  846. package/cjs/ChannelListProvider-65473831.js.map +0 -1
  847. package/cjs/ChannelProvider-1e08a7a9.js.map +0 -1
  848. package/cjs/CreateChannelProvider-cbf490c6.js +0 -62
  849. package/cjs/CreateChannelProvider-cbf490c6.js.map +0 -1
  850. package/cjs/MediaQueryContext-e455934a.js +0 -97
  851. package/cjs/MediaQueryContext-e455934a.js.map +0 -1
  852. package/cjs/MemberList-aee91fce.js +0 -441
  853. package/cjs/MemberList-aee91fce.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  855. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  856. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  857. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  858. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  859. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  860. package/cjs/NotificationChannel/context.js +0 -21
  861. package/cjs/NotificationChannel.js +0 -64
  862. package/cjs/NotificationChannel.js.map +0 -1
  863. package/cjs/NotificationChannelProvider-4cc9575f.js +0 -543
  864. package/cjs/NotificationChannelProvider-4cc9575f.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-4aab4391.js +0 -443
  866. package/cjs/OpenChannelListProvider-4aab4391.js.map +0 -1
  867. package/cjs/OpenChannelProvider-a763b71c.js +0 -2009
  868. package/cjs/OpenChannelProvider-a763b71c.js.map +0 -1
  869. package/cjs/RemoveMessageModal-0da4f94b.js.map +0 -1
  870. package/cjs/ThreadProvider-51be09a5.js +0 -1653
  871. package/cjs/ThreadProvider-51be09a5.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-bd6baf0a.js.map +0 -1
  873. package/cjs/actionTypes-561bdde9.js +0 -10
  874. package/cjs/actionTypes-561bdde9.js.map +0 -1
  875. package/cjs/color-fdbe394d.js.map +0 -1
  876. package/cjs/compareIds-d0c02eca.js.map +0 -1
  877. package/cjs/const-8785e4ad.js.map +0 -1
  878. package/cjs/const-beb25e10.js +0 -20
  879. package/cjs/const-beb25e10.js.map +0 -1
  880. package/cjs/index-08d232f8.js.map +0 -1
  881. package/cjs/index-8a4b2f10.js +0 -59
  882. package/cjs/index-8a4b2f10.js.map +0 -1
  883. package/cjs/index-8c350889.js +0 -194
  884. package/cjs/index-8c350889.js.map +0 -1
  885. package/cjs/index-b3371ef2.js +0 -701
  886. package/cjs/index-b3371ef2.js.map +0 -1
  887. package/cjs/index-bdd889a2.js.map +0 -1
  888. package/cjs/index-c13771a7.js.map +0 -1
  889. package/cjs/index-e191d245.js.map +0 -1
  890. package/cjs/index-e8544e24.js.map +0 -1
  891. package/cjs/index-ebb542c3.js.map +0 -1
  892. package/cjs/index-f032bd2c.js +0 -360
  893. package/cjs/index-f032bd2c.js.map +0 -1
  894. package/cjs/stringSet-60660a99.js.map +0 -1
  895. package/cjs/topics-f3f74edc.js +0 -22
  896. package/cjs/topics-f3f74edc.js.map +0 -1
  897. package/cjs/tslib.es6-5a7eb30d.js +0 -110
  898. package/cjs/tslib.es6-5a7eb30d.js.map +0 -1
  899. package/cjs/useLongPress-e7140087.js +0 -118
  900. package/cjs/useLongPress-e7140087.js.map +0 -1
  901. package/cjs/utils-693dd952.js +0 -38
  902. package/cjs/utils-693dd952.js.map +0 -1
  903. package/cjs/utils-b6001dd4.js +0 -32
  904. package/cjs/utils-b6001dd4.js.map +0 -1
  905. package/cjs/uuid-a9006ea2.js +0 -19
  906. package/compareIds-063e5503.js.map +0 -1
  907. package/const-14919575.js +0 -14
  908. package/const-14919575.js.map +0 -1
  909. package/const-1510a671.js.map +0 -1
  910. package/context-d5dc28c9.js +0 -12
  911. package/index-0fd24497.js.map +0 -1
  912. package/index-2561104e.js +0 -179
  913. package/index-2561104e.js.map +0 -1
  914. package/index-54843058.js +0 -57
  915. package/index-54843058.js.map +0 -1
  916. package/index-58e5d82d.js +0 -662
  917. package/index-58e5d82d.js.map +0 -1
  918. package/index-7c1f570b.js.map +0 -1
  919. package/index-95ac9232.js.map +0 -1
  920. package/index-b8de16d6.js.map +0 -1
  921. package/index-d07faed8.js +0 -353
  922. package/index-d07faed8.js.map +0 -1
  923. package/index-d81c515b.js.map +0 -1
  924. package/index-fd15e3b0.js.map +0 -1
  925. package/stringSet-7ace5726.js.map +0 -1
  926. package/topics-d390daf6.js +0 -13
  927. package/topics-d390daf6.js.map +0 -1
  928. package/tslib.es6-d9fa3716.js +0 -104
  929. package/tslib.es6-d9fa3716.js.map +0 -1
  930. package/useLongPress-7d9a5f67.js +0 -116
  931. package/useLongPress-7d9a5f67.js.map +0 -1
  932. package/utils-40ce4da5.js +0 -34
  933. package/utils-40ce4da5.js.map +0 -1
  934. package/utils-d485030c.js +0 -30
  935. package/utils-d485030c.js.map +0 -1
  936. package/uuid-968941a0.js +0 -17
@@ -1,2009 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var index = require('./index-5ea12b7a.js');
5
- var UserProfileContext = require('./UserProfileContext-0808e413.js');
6
- var tslib_es6 = require('./tslib.es6-5a7eb30d.js');
7
- var compareIds = require('./compareIds-d0c02eca.js');
8
- var topics = require('./topics-f3f74edc.js');
9
- var SendbirdChat = require('@sendbird/chat');
10
- var openChannel = require('@sendbird/chat/openChannel');
11
- var uuid = require('./uuid-a9006ea2.js');
12
- var useSendbirdStateContext = require('./useSendbirdStateContext.js');
13
-
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
-
16
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
-
18
- var getMessageCreatedAt = function (message) {
19
- return index.format(message.createdAt, 'p');
20
- };
21
- var shouldFetchMore = function (messageLength, maxMessages) {
22
- if (typeof maxMessages !== 'number') {
23
- return true;
24
- }
25
-
26
- if (typeof maxMessages === 'number' && maxMessages > messageLength) {
27
- return true;
28
- }
29
-
30
- return false;
31
- };
32
- var scrollIntoLast = function (initialTry, scrollRef) {
33
- if (initialTry === void 0) {
34
- initialTry = 0;
35
- }
36
-
37
- var MAX_TRIES = 10;
38
- var currentTry = initialTry;
39
-
40
- if (currentTry > MAX_TRIES) {
41
- return;
42
- }
43
-
44
- try {
45
- var scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-openchannel-conversation-scroll__container__item-container'); // eslint-disable-next-line no-multi-assign
46
-
47
- scrollDOM.scrollTop = scrollDOM.scrollHeight;
48
- } catch (error) {
49
- setTimeout(function () {
50
- scrollIntoLast(currentTry + 1, scrollRef);
51
- }, 500 * currentTry);
52
- }
53
- };
54
- var isSameGroup = function (message, comparingMessage) {
55
- var _a, _b, _c, _d;
56
-
57
- if (!(message && comparingMessage && (message === null || message === void 0 ? void 0 : message.messageType) && message.messageType !== 'admin' && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.messageType) && comparingMessage.messageType !== 'admin' && (message === null || message === void 0 ? void 0 : message.sender) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) && (message === null || message === void 0 ? void 0 : message.createdAt) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.createdAt) && ((_a = message === null || message === void 0 ? void 0 : message.sender) === null || _a === void 0 ? void 0 : _a.userId) && ((_b = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _b === void 0 ? void 0 : _b.userId))) {
58
- return false;
59
- } // to fix typecasting
60
-
61
-
62
- var message_ = message;
63
- var comparingMessage_ = comparingMessage;
64
- return (message_ === null || message_ === void 0 ? void 0 : message_.sendingStatus) === (comparingMessage_ === null || comparingMessage_ === void 0 ? void 0 : comparingMessage_.sendingStatus) && ((_c = message_ === null || message_ === void 0 ? void 0 : message_.sender) === null || _c === void 0 ? void 0 : _c.userId) === ((_d = comparingMessage_ === null || comparingMessage_ === void 0 ? void 0 : comparingMessage_.sender) === null || _d === void 0 ? void 0 : _d.userId) && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage);
65
- };
66
- var compareMessagesForGrouping = function (prevMessage, currMessage, nextMessage) {
67
- return [isSameGroup(prevMessage, currMessage), isSameGroup(currMessage, nextMessage)];
68
- };
69
- var kFormatter = function (num) {
70
- if (Math.abs(num) > 999999) {
71
- return "".concat((Math.abs(num) / 1000000).toFixed(1), "M");
72
- }
73
-
74
- if (Math.abs(num) > 999) {
75
- return "".concat((Math.abs(num) / 1000).toFixed(1), "K");
76
- }
77
-
78
- return "".concat(num);
79
- };
80
- var isOperator = function (openChannel, userId) {
81
- var operators = openChannel === null || openChannel === void 0 ? void 0 : openChannel.operators;
82
-
83
- if (operators.map(function (operator) {
84
- return operator.userId;
85
- }).indexOf(userId) < 0) {
86
- return false;
87
- }
88
-
89
- return true;
90
- };
91
- var isDisabledBecauseFrozen = function (openChannel, userId) {
92
- var isFrozen = openChannel === null || openChannel === void 0 ? void 0 : openChannel.isFrozen;
93
- return isFrozen && !isOperator(openChannel, userId);
94
- };
95
- var isDisabledBecauseMuted = function (mutedParticipantIds, userId) {
96
- return mutedParticipantIds.indexOf(userId) > -1;
97
- };
98
- var fetchWithListQuery = function (listQuery, logger, eachQueryNextCallback) {
99
- var fetchList = function (query) {
100
- var hasNext = query.hasNext;
101
-
102
- if (hasNext) {
103
- query.next().then(function (users) {
104
- eachQueryNextCallback(users);
105
- fetchList(query);
106
- }).catch(function (error) {
107
- logger.warning('OpenChannel | FetchUserList failed', error);
108
- });
109
- } else {
110
- logger.info('OpenChannel | FetchUserList finished');
111
- }
112
- };
113
-
114
- logger.info('OpenChannel | FetchUserList start', listQuery);
115
- fetchList(listQuery);
116
- };
117
- var pxToNumber = function (px) {
118
- if (typeof px === 'number') {
119
- return px;
120
- }
121
-
122
- if (typeof px === 'string') {
123
- var parsed = Number.parseFloat(px);
124
-
125
- if (!Number.isNaN(parsed)) {
126
- return parsed;
127
- }
128
- }
129
-
130
- return null;
131
- };
132
-
133
- var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
134
- var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
135
- var RESET_MESSAGES = 'RESET_MESSAGES';
136
- var EXIT_CURRENT_CHANNEL = 'EXIT_CURRENT_CHANNEL';
137
- var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';
138
- var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';
139
- var GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';
140
- var SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';
141
- var SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';
142
- var SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';
143
- var RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';
144
- var FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';
145
- var FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';
146
- var FETCH_MUTED_USER_LIST = 'FETCH_MUTED_USER_LIST';
147
- var TRIM_MESSAGE_LIST = 'TRIM_MESSAGE_LIST'; // event handlers
148
-
149
- var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
150
- var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
151
- var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
152
- var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
153
- var ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';
154
- var ON_USER_ENTERED = 'ON_USER_ENTERED';
155
- var ON_USER_EXITED = 'ON_USER_EXITED';
156
- var ON_USER_MUTED = 'ON_USER_MUTED';
157
- var ON_USER_UNMUTED = 'ON_USER_UNMUTED';
158
- var ON_USER_BANNED = 'ON_USER_BANNED';
159
- var ON_USER_UNBANNED = 'ON_USER_UNBANNED';
160
- var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
161
- var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
162
- var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
163
- var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
164
- var ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';
165
- var ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';
166
- var ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';
167
- var ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';
168
- var ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';
169
- var ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';
170
- var ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';
171
-
172
- function reducer(state, action) {
173
- var _a, _b, _c;
174
-
175
- switch (action.type) {
176
- case RESET_MESSAGES:
177
- {
178
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
179
- allMessages: []
180
- });
181
- }
182
-
183
- case EXIT_CURRENT_CHANNEL:
184
- {
185
- if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.url) === ((_b = state.currentOpenChannel) === null || _b === void 0 ? void 0 : _b.url)) {
186
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
187
- currentOpenChannel: null
188
- });
189
- }
190
-
191
- return state;
192
- }
193
-
194
- case SET_CURRENT_CHANNEL:
195
- {
196
- var gottenChannel = action.payload;
197
- var operators = gottenChannel.operators;
198
-
199
- if (!state.isInvalid && state.currentOpenChannel && state.currentOpenChannel.url && state.currentOpenChannel.url === gottenChannel.url) {
200
- return state;
201
- }
202
-
203
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
204
- currentOpenChannel: gottenChannel,
205
- isInvalid: false,
206
- operators: operators,
207
- participants: operators,
208
- bannedParticipantIds: [],
209
- mutedParticipantIds: []
210
- });
211
- }
212
-
213
- case SET_CHANNEL_INVALID:
214
- {
215
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
216
- isInvalid: true
217
- });
218
- }
219
-
220
- case GET_PREV_MESSAGES_START:
221
- {
222
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
223
- loading: true
224
- });
225
- }
226
-
227
- case GET_PREV_MESSAGES_SUCESS:
228
- case GET_PREV_MESSAGES_FAIL:
229
- {
230
- var isFailed = action.type === GET_PREV_MESSAGES_FAIL;
231
- var _d = action.payload,
232
- _e = _d.currentOpenChannel,
233
- currentOpenChannel = _e === void 0 ? {} : _e,
234
- _f = _d.messages,
235
- messages = _f === void 0 ? [] : _f,
236
- hasMore = _d.hasMore,
237
- lastMessageTimestamp = _d.lastMessageTimestamp;
238
- var actionChannelUrl = currentOpenChannel.url;
239
- var receivedMessages_1 = isFailed ? [] : messages;
240
-
241
- var _hasMore = isFailed ? false : hasMore;
242
-
243
- var _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;
244
-
245
- var stateChannel = state.currentOpenChannel;
246
- var stateChannelUrl = stateChannel.url;
247
-
248
- if (actionChannelUrl !== stateChannelUrl) {
249
- return state;
250
- }
251
-
252
- var filteredAllMessages = state.allMessages.filter(function (message) {
253
- return !receivedMessages_1.find(function (_a) {
254
- var messageId = _a.messageId;
255
- return compareIds.compareIds(messageId, message.messageId);
256
- });
257
- });
258
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
259
- loading: false,
260
- initialized: true,
261
- hasMore: _hasMore,
262
- lastMessageTimestamp: _lastMessageTimestamp,
263
- allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], receivedMessages_1, true), filteredAllMessages, true)
264
- });
265
- }
266
-
267
- case SENDING_MESSAGE_START:
268
- {
269
- var _g = action.payload,
270
- message_1 = _g.message,
271
- channel = _g.channel;
272
-
273
- if ((channel === null || channel === void 0 ? void 0 : channel.url) !== state.currentOpenChannel.url || state.allMessages.some(function (m) {
274
- return m.reqId === message_1.reqId;
275
- }) // Handing failed first than sending start issue
276
- ) {
277
- return state;
278
- }
279
-
280
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
281
- allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allMessages, true), [message_1], false)
282
- });
283
- }
284
-
285
- case SENDING_MESSAGE_SUCCEEDED:
286
- {
287
- var sentMessage_1 = action.payload;
288
- var newMessages = state.allMessages.map(function (m) {
289
- return compareIds.compareIds(m.reqId, sentMessage_1.reqId) ? sentMessage_1 : m;
290
- });
291
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
292
- allMessages: newMessages
293
- });
294
- }
295
-
296
- case SENDING_MESSAGE_FAILED:
297
- {
298
- var sentMessage_2 = action.payload;
299
- sentMessage_2.sendingStatus = 'failed';
300
-
301
- if (!state.allMessages.some(function (m) {
302
- return (m === null || m === void 0 ? void 0 : m.reqId) === (sentMessage_2 === null || sentMessage_2 === void 0 ? void 0 : sentMessage_2.reqId);
303
- })) {
304
- // Handling failed first than sending start issue
305
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
306
- allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allMessages.filter(function (m) {
307
- return !compareIds.compareIds(m.reqId, sentMessage_2);
308
- }), true), [sentMessage_2], false)
309
- });
310
- } else {
311
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
312
- allMessages: state.allMessages.map(function (m) {
313
- return compareIds.compareIds(m.reqId, sentMessage_2.reqId) ? sentMessage_2 : m;
314
- })
315
- });
316
- }
317
- }
318
-
319
- case TRIM_MESSAGE_LIST:
320
- {
321
- var allMessages = state.allMessages;
322
- var messageLimit = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.messageLimit;
323
-
324
- if (messageLimit && messageLimit > 0 && (allMessages === null || allMessages === void 0 ? void 0 : allMessages.length) > messageLimit) {
325
- var sliceAt = allMessages.length - messageLimit;
326
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
327
- allMessages: allMessages.slice(sliceAt)
328
- });
329
- }
330
-
331
- return state;
332
- }
333
-
334
- case RESENDING_MESSAGE_START:
335
- {
336
- var eventedChannel = action.payload.channel;
337
- var resentMessage_1 = action.payload.message;
338
-
339
- if (eventedChannel.url !== state.currentOpenChannel.url) {
340
- return state;
341
- }
342
-
343
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
344
- allMessages: state.allMessages.map(function (m) {
345
- return compareIds.compareIds(m.reqId, resentMessage_1.reqId) ? resentMessage_1 : m;
346
- })
347
- });
348
- }
349
-
350
- case FETCH_PARTICIPANT_LIST:
351
- {
352
- var eventedChannel = action.payload.channel;
353
- var fetchedParticipantList = action.payload.users;
354
-
355
- if (eventedChannel.url !== state.currentOpenChannel.url) {
356
- return state;
357
- }
358
-
359
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
360
- participants: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.participants, true), fetchedParticipantList, true)
361
- });
362
- }
363
-
364
- case FETCH_BANNED_USER_LIST:
365
- {
366
- var eventedChannel = action.payload.channel;
367
- var fetchedBannedUserList = action.payload.users;
368
-
369
- if (eventedChannel.url !== state.currentOpenChannel.url || !fetchedBannedUserList.every(function (user) {
370
- return typeof user.userId === 'string';
371
- })) {
372
- return state;
373
- }
374
-
375
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
376
- bannedParticipantIds: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.bannedParticipantIds, true), fetchedBannedUserList.map(function (user) {
377
- return user.userId;
378
- }), true)
379
- });
380
- }
381
-
382
- case FETCH_MUTED_USER_LIST:
383
- {
384
- var eventedChannel = action.payload.channel;
385
- var fetchedMutedUserList = action.payload.users;
386
-
387
- if (eventedChannel.url !== state.currentOpenChannel.url || !fetchedMutedUserList.every(function (user) {
388
- return typeof user.userId === 'string';
389
- })) {
390
- return state;
391
- }
392
-
393
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
394
- mutedParticipantIds: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.mutedParticipantIds, true), fetchedMutedUserList.map(function (user) {
395
- return user.userId;
396
- }), true)
397
- });
398
- }
399
- // events
400
-
401
- case ON_MESSAGE_RECEIVED:
402
- {
403
- var eventedChannel = action.payload.channel;
404
- var receivedMessage = action.payload.message;
405
- var currentOpenChannel = state.currentOpenChannel;
406
-
407
- if (!compareIds.compareIds(eventedChannel.url, currentOpenChannel.url) || !(state.allMessages.map(function (message) {
408
- return message.messageId;
409
- }).indexOf(receivedMessage.messageId) < 0)) {
410
- return state;
411
- }
412
-
413
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
414
- allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.allMessages, true), [receivedMessage], false)
415
- });
416
- }
417
-
418
- case ON_MESSAGE_UPDATED:
419
- {
420
- var eventedChannel = action.payload.channel;
421
- var updatedMessage_1 = action.payload.message;
422
- var currentChannel = state.currentOpenChannel;
423
-
424
- if (!currentChannel || currentChannel.url && currentChannel.url !== eventedChannel.url) {
425
- return state;
426
- }
427
-
428
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
429
- allMessages: state.allMessages.map(function (message) {
430
- return message.isIdentical(updatedMessage_1) ? updatedMessage_1 : message;
431
- })
432
- });
433
- }
434
-
435
- case ON_MESSAGE_DELETED:
436
- {
437
- var eventedChannel = action.payload.channel;
438
- var deletedMessageId_1 = action.payload.messageId;
439
- var currentChannel = state.currentOpenChannel;
440
-
441
- if (!currentChannel || currentChannel.url && currentChannel.url !== eventedChannel.url) {
442
- return state;
443
- }
444
-
445
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
446
- allMessages: state.allMessages.filter(function (message) {
447
- return !compareIds.compareIds(message.messageId, deletedMessageId_1);
448
- })
449
- });
450
- }
451
-
452
- case ON_MESSAGE_DELETED_BY_REQ_ID:
453
- {
454
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
455
- allMessages: state.allMessages.filter(function (m) {
456
- return !compareIds.compareIds(m.reqId, action.payload);
457
- })
458
- });
459
- }
460
-
461
- case ON_OPERATOR_UPDATED:
462
- {
463
- var eventedChannel = action.payload.channel;
464
- var updatedOperators = action.payload.operators;
465
- var currentChannel = state.currentOpenChannel;
466
-
467
- if (!currentChannel || currentChannel.url && currentChannel.url !== eventedChannel.url) {
468
- return state;
469
- }
470
-
471
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
472
- currentOpenChannel: eventedChannel,
473
- operators: updatedOperators
474
- });
475
- }
476
-
477
- case ON_USER_ENTERED:
478
- {
479
- var eventedChannel = action.payload.channel;
480
- var enteredUser = action.payload.user;
481
- var currentChannel = state.currentOpenChannel;
482
-
483
- if (!currentChannel || currentChannel.url && currentChannel.url !== eventedChannel.url) {
484
- return state;
485
- }
486
-
487
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
488
- participants: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.participants, true), [enteredUser], false)
489
- });
490
- }
491
-
492
- case ON_USER_EXITED:
493
- {
494
- var eventedChannel = action.payload.channel;
495
- var exitedUser_1 = action.payload.user;
496
- var currentChannel = state.currentOpenChannel;
497
-
498
- if (!currentChannel || currentChannel.url && currentChannel.url !== eventedChannel.url) {
499
- return state;
500
- }
501
-
502
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
503
- participants: state.participants.filter(function (participant) {
504
- return !compareIds.compareIds(participant.userId, exitedUser_1.userId);
505
- })
506
- });
507
- }
508
-
509
- case ON_USER_MUTED:
510
- {
511
- var eventedChannel = action.payload.channel;
512
- var mutedUser = action.payload.user;
513
- var currentChannel = state.currentOpenChannel;
514
-
515
- if (!currentChannel || currentChannel.url && currentChannel.url !== eventedChannel.url || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0) {
516
- return state;
517
- }
518
-
519
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
520
- mutedParticipantIds: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.mutedParticipantIds, true), [mutedUser.userId], false)
521
- });
522
- }
523
-
524
- case ON_USER_UNMUTED:
525
- {
526
- var eventedChannel = action.payload.channel;
527
- var unmutedUser_1 = action.payload.user;
528
- var currentChannel = state.currentOpenChannel;
529
-
530
- if (!currentChannel || currentChannel.url && currentChannel.url !== eventedChannel.url || state.mutedParticipantIds.indexOf(unmutedUser_1.userId) < 0) {
531
- return state;
532
- }
533
-
534
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
535
- mutedParticipantIds: state.mutedParticipantIds.filter(function (userId) {
536
- return userId !== unmutedUser_1.userId;
537
- })
538
- });
539
- }
540
-
541
- case ON_USER_BANNED:
542
- {
543
- var eventedChannel = action.payload.channel;
544
- var bannedUser = action.payload.user;
545
- var currentUser = action.payload.currentUser;
546
- var currentChannel = state.currentOpenChannel;
547
-
548
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url) && (bannedUser === null || bannedUser === void 0 ? void 0 : bannedUser.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId)) {
549
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
550
- currentOpenChannel: null
551
- });
552
- } else if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
553
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
554
- bannedParticipantIds: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.bannedParticipantIds, true), [bannedUser.userId], false)
555
- });
556
- }
557
-
558
- return state;
559
- }
560
-
561
- case ON_USER_UNBANNED:
562
- {
563
- var eventedChannel = action.payload.channel;
564
- var unbannedUser_1 = action.payload.user;
565
- var currentChannel = state.currentOpenChannel;
566
-
567
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
568
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
569
- bannedParticipantIds: state.bannedParticipantIds.filter(function (userId) {
570
- return userId !== unbannedUser_1.userId;
571
- })
572
- });
573
- }
574
-
575
- return state;
576
- }
577
-
578
- case ON_CHANNEL_FROZEN:
579
- {
580
- var frozenChannel = action.payload;
581
- var currentChannel = state.currentOpenChannel;
582
-
583
- if (!currentChannel || currentChannel.url && currentChannel.url !== frozenChannel.url) {
584
- return state;
585
- }
586
-
587
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
588
- frozen: true
589
- });
590
- }
591
-
592
- case ON_CHANNEL_UNFROZEN:
593
- {
594
- var unfrozenChannel = action.payload;
595
- var currentChannel = state.currentOpenChannel;
596
-
597
- if (!currentChannel || currentChannel.url && currentChannel.url !== unfrozenChannel.url) {
598
- return state;
599
- }
600
-
601
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
602
- frozen: false
603
- });
604
- }
605
-
606
- case ON_CHANNEL_CHANGED:
607
- {
608
- var changedChannel = action.payload;
609
- var currentChannel = state.currentOpenChannel;
610
-
611
- if (!currentChannel || currentChannel.url && currentChannel.url !== changedChannel.url) {
612
- return state;
613
- }
614
-
615
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
616
- currentOpenChannel: changedChannel
617
- });
618
- }
619
-
620
- case ON_CHANNEL_DELETED:
621
- {
622
- var deletedChannelUrl = action.payload;
623
- var currentChannel = state === null || state === void 0 ? void 0 : state.currentOpenChannel;
624
-
625
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === deletedChannelUrl) {
626
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
627
- currentOpenChannel: null
628
- });
629
- }
630
-
631
- return state;
632
- }
633
-
634
- case ON_META_DATA_CREATED:
635
- {
636
- // const eventedChannel = action.payload.channel;
637
- // const createdMetaData = action.payload.metaData;
638
- // return {
639
- // ...state
640
- // };
641
- return state;
642
- }
643
-
644
- case ON_META_DATA_UPDATED:
645
- {
646
- // const eventedChannel = action.payload.channel;
647
- // const updatedMetaData = action.payload.metaData;
648
- // return {
649
- // ...state
650
- // };
651
- return state;
652
- }
653
-
654
- case ON_META_DATA_DELETED:
655
- {
656
- // const eventedChannel = action.payload.channel;
657
- // const deletedMetaDataKeys = action.payload.metaDataKeys;
658
- // return {
659
- // ...state
660
- // };
661
- return state;
662
- }
663
-
664
- case ON_META_COUNTERS_CREATED:
665
- {
666
- // const eventedChannel = action.payload.channel;
667
- // const createdMetaCounter = action.payload.metaCounter;
668
- // return {
669
- // ...state
670
- // };
671
- return state;
672
- }
673
-
674
- case ON_META_COUNTERS_UPDATED:
675
- {
676
- // const eventedChannel = action.payload.channel;
677
- // const updatedMetaCounter = action.payload.metaCounter;
678
- // return {
679
- // ...state
680
- // };
681
- return state;
682
- }
683
-
684
- case ON_META_COUNTERS_DELETED:
685
- {
686
- // const eventedChannel = action.payload.channel;
687
- // const deletedMetaCounterKeys = action.payload.metaCounterKeys;
688
- // return {
689
- // ...state
690
- // };
691
- return state;
692
- }
693
-
694
- case ON_MENTION_RECEIVED:
695
- {
696
- // const eventedChannel = action.payload.channel;
697
- // const mentionedMessage = action.payload.message;
698
- // return {
699
- // ...state
700
- // };
701
- return state;
702
- }
703
-
704
- default:
705
- return state;
706
- }
707
- }
708
-
709
- var initialState = {
710
- allMessages: [],
711
- loading: false,
712
- initialized: false,
713
- currentOpenChannel: null,
714
- isInvalid: false,
715
- hasMore: false,
716
- lastMessageTimestamp: 0,
717
- frozen: false,
718
- operators: [],
719
- participants: [],
720
- bannedParticipantIds: [],
721
- mutedParticipantIds: []
722
- };
723
-
724
- function useSetChannel(_a, _b) {
725
- var channelUrl = _a.channelUrl,
726
- sdkInit = _a.sdkInit,
727
- fetchingParticipants = _a.fetchingParticipants,
728
- userId = _a.userId,
729
- currentOpenChannel = _a.currentOpenChannel;
730
- var sdk = _b.sdk,
731
- logger = _b.logger,
732
- messagesDispatcher = _b.messagesDispatcher;
733
- React.useEffect(function () {
734
- var _a;
735
-
736
- if (channelUrl && sdkInit && (sdk === null || sdk === void 0 ? void 0 : sdk.openChannel)) {
737
- if (currentOpenChannel && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.exit)) {
738
- (_a = currentOpenChannel.exit) === null || _a === void 0 ? void 0 : _a.call(currentOpenChannel).then(function () {
739
- logger.info('OpenChannel | useSetChannel: Exit from the previous open channel', currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url);
740
- messagesDispatcher({
741
- type: EXIT_CURRENT_CHANNEL,
742
- payload: currentOpenChannel
743
- });
744
- });
745
- }
746
-
747
- logger.info('OpenChannel | useSetChannel: Fetching channel', channelUrl);
748
- sdk.openChannel.getChannel(channelUrl).then(function (openChannel) {
749
- logger.info('OpenChannel | useSetChannel: Succeeded to fetch channel', openChannel);
750
- messagesDispatcher({
751
- type: SET_CURRENT_CHANNEL,
752
- payload: openChannel
753
- });
754
- openChannel.enter().then(function () {
755
- if (openChannel.isOperator(userId)) {
756
- // only operator has a permission to fetch these list
757
- var bannedParticipantListQuery = openChannel.createBannedUserListQuery();
758
- var mutedParticipantListQuery = openChannel.createMutedUserListQuery();
759
- fetchWithListQuery(bannedParticipantListQuery, logger, function (users) {
760
- messagesDispatcher({
761
- type: FETCH_BANNED_USER_LIST,
762
- payload: {
763
- channel: openChannel,
764
- users: users
765
- }
766
- });
767
- });
768
- fetchWithListQuery(mutedParticipantListQuery, logger, function (users) {
769
- messagesDispatcher({
770
- type: FETCH_MUTED_USER_LIST,
771
- payload: {
772
- channel: openChannel,
773
- users: users
774
- }
775
- });
776
- });
777
- } else {
778
- openChannel.getMyMutedInfo().then(function (mutedInfo) {
779
- if (mutedInfo === null || mutedInfo === void 0 ? void 0 : mutedInfo.isMuted) {
780
- messagesDispatcher({
781
- type: FETCH_MUTED_USER_LIST,
782
- payload: {
783
- channel: openChannel,
784
- users: [sdk === null || sdk === void 0 ? void 0 : sdk.currentUser]
785
- }
786
- });
787
- }
788
- });
789
- }
790
-
791
- if (fetchingParticipants) {
792
- // fetch participants list
793
- var participantListQuery = openChannel.createParticipantListQuery({
794
- limit: openChannel.participantCount
795
- });
796
- fetchWithListQuery(participantListQuery, logger, function (users) {
797
- messagesDispatcher({
798
- type: FETCH_PARTICIPANT_LIST,
799
- payload: {
800
- channel: openChannel,
801
- users: users
802
- }
803
- });
804
- });
805
- }
806
- }).catch(function (error) {
807
- logger.warning('OpenChannel | useSetChannel: Failed to enter channel', {
808
- channelUrl: channelUrl,
809
- error: error
810
- });
811
- messagesDispatcher({
812
- type: SET_CHANNEL_INVALID,
813
- payload: null
814
- });
815
- });
816
- }).catch(function (error) {
817
- logger.warning('OpenChannel | useSetChannel: Failed to fetch channel', {
818
- channelUrl: channelUrl,
819
- error: error
820
- });
821
- messagesDispatcher({
822
- type: SET_CHANNEL_INVALID,
823
- payload: null
824
- });
825
- });
826
- }
827
- }, [channelUrl, sdkInit, fetchingParticipants]);
828
- }
829
-
830
- function useHandleChannelEvents(_a, _b) {
831
- var currentOpenChannel = _a.currentOpenChannel,
832
- checkScrollBottom = _a.checkScrollBottom;
833
- var sdk = _b.sdk,
834
- logger = _b.logger,
835
- messagesDispatcher = _b.messagesDispatcher,
836
- scrollRef = _b.scrollRef;
837
- React.useEffect(function () {
838
- var _a, _b;
839
-
840
- var messageReceiverId = uuid.uuidv4();
841
-
842
- if (currentOpenChannel && currentOpenChannel.url && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
843
- logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);
844
- var channelHandlerParams = {
845
- onMessageReceived: function (channel, message) {
846
- var scrollToEnd = checkScrollBottom();
847
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
848
- logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', {
849
- channelUrl: channelUrl,
850
- message: message
851
- });
852
- messagesDispatcher({
853
- type: ON_MESSAGE_RECEIVED,
854
- payload: {
855
- channel: channel,
856
- message: message
857
- }
858
- });
859
-
860
- if (scrollToEnd) {
861
- try {
862
- setTimeout(function () {
863
- scrollIntoLast(0, scrollRef);
864
- });
865
- } catch (error) {
866
- logger.warning('OpenChannel | onMessageReceived | scroll to end failed');
867
- }
868
- }
869
- },
870
- onMessageUpdated: function (channel, message) {
871
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
872
- logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', {
873
- channelUrl: channelUrl,
874
- message: message
875
- });
876
- messagesDispatcher({
877
- type: ON_MESSAGE_UPDATED,
878
- payload: {
879
- channel: channel,
880
- message: message
881
- }
882
- });
883
- },
884
- onMessageDeleted: function (channel, messageId) {
885
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
886
- logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', {
887
- channelUrl: channelUrl,
888
- messageId: messageId
889
- });
890
- messagesDispatcher({
891
- type: ON_MESSAGE_DELETED,
892
- payload: {
893
- channel: channel,
894
- messageId: messageId
895
- }
896
- });
897
- },
898
- onOperatorUpdated: function (channel, operators) {
899
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
900
- logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', {
901
- channelUrl: channelUrl,
902
- operators: operators
903
- });
904
- messagesDispatcher({
905
- type: ON_OPERATOR_UPDATED,
906
- payload: {
907
- channel: channel,
908
- operators: operators
909
- }
910
- });
911
- },
912
- onUserEntered: function (channel, user) {
913
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
914
- logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', {
915
- channelUrl: channelUrl,
916
- user: user
917
- });
918
- messagesDispatcher({
919
- type: ON_USER_ENTERED,
920
- payload: {
921
- channel: channel,
922
- user: user
923
- }
924
- });
925
- },
926
- onUserExited: function (channel, user) {
927
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
928
- logger.info('OpenChannel | useHandleChannelEvents: onUserExited', {
929
- channelUrl: channelUrl,
930
- user: user
931
- });
932
- messagesDispatcher({
933
- type: ON_USER_EXITED,
934
- payload: {
935
- channel: channel,
936
- user: user
937
- }
938
- });
939
- },
940
- onUserMuted: function (channel, user) {
941
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
942
- logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', {
943
- channelUrl: channelUrl,
944
- user: user
945
- });
946
- messagesDispatcher({
947
- type: ON_USER_MUTED,
948
- payload: {
949
- channel: channel,
950
- user: user
951
- }
952
- });
953
- },
954
- onUserUnmuted: function (channel, user) {
955
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
956
- logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', {
957
- channelUrl: channelUrl,
958
- user: user
959
- });
960
- messagesDispatcher({
961
- type: ON_USER_UNMUTED,
962
- payload: {
963
- channel: channel,
964
- user: user
965
- }
966
- });
967
- },
968
- onUserBanned: function (channel, user) {
969
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
970
- logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', {
971
- channelUrl: channelUrl,
972
- user: user
973
- });
974
- messagesDispatcher({
975
- type: ON_USER_BANNED,
976
- payload: {
977
- channel: channel,
978
- user: user,
979
- currentUser: sdk === null || sdk === void 0 ? void 0 : sdk.currentUser
980
- }
981
- });
982
- },
983
- onUserUnbanned: function (channel, user) {
984
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
985
- logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', {
986
- channelUrl: channelUrl,
987
- user: user
988
- });
989
- messagesDispatcher({
990
- type: ON_USER_UNBANNED,
991
- payload: {
992
- channel: channel,
993
- user: user
994
- }
995
- });
996
- },
997
- onChannelFrozen: function (channel) {
998
- logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);
999
- messagesDispatcher({
1000
- type: ON_CHANNEL_FROZEN,
1001
- payload: channel
1002
- });
1003
- },
1004
- onChannelUnfrozen: function (channel) {
1005
- logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);
1006
- messagesDispatcher({
1007
- type: ON_CHANNEL_UNFROZEN,
1008
- payload: channel
1009
- });
1010
- },
1011
- onChannelChanged: function (channel) {
1012
- logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);
1013
- messagesDispatcher({
1014
- type: ON_CHANNEL_CHANGED,
1015
- payload: channel
1016
- });
1017
- },
1018
- onMetaDataCreated: function (channel, metaData) {
1019
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
1020
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', {
1021
- channelUrl: channelUrl,
1022
- metaData: metaData
1023
- });
1024
- messagesDispatcher({
1025
- type: ON_META_DATA_CREATED,
1026
- payload: {
1027
- channel: channel,
1028
- metaData: metaData
1029
- }
1030
- });
1031
- },
1032
- onMetaDataUpdated: function (channel, metaData) {
1033
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
1034
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', {
1035
- channelUrl: channelUrl,
1036
- metaData: metaData
1037
- });
1038
- messagesDispatcher({
1039
- type: ON_META_DATA_UPDATED,
1040
- payload: {
1041
- channel: channel,
1042
- metaData: metaData
1043
- }
1044
- });
1045
- },
1046
- onMetaDataDeleted: function (channel, metaDataKeys) {
1047
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
1048
- logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', {
1049
- channelUrl: channelUrl,
1050
- metaDataKeys: metaDataKeys
1051
- });
1052
- messagesDispatcher({
1053
- type: ON_META_DATA_DELETED,
1054
- payload: {
1055
- channel: channel,
1056
- metaDataKeys: metaDataKeys
1057
- }
1058
- });
1059
- },
1060
- onMetaCounterCreated: function (channel, metaCounter) {
1061
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
1062
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', {
1063
- channelUrl: channelUrl,
1064
- metaCounter: metaCounter
1065
- });
1066
- messagesDispatcher({
1067
- type: ON_META_COUNTERS_CREATED,
1068
- payload: {
1069
- channel: channel,
1070
- metaCounter: metaCounter
1071
- }
1072
- });
1073
- },
1074
- onMetaCounterUpdated: function (channel, metaCounter) {
1075
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
1076
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', {
1077
- channelUrl: channelUrl,
1078
- metaCounter: metaCounter
1079
- });
1080
- messagesDispatcher({
1081
- type: ON_META_COUNTERS_UPDATED,
1082
- payload: {
1083
- channel: channel,
1084
- metaCounter: metaCounter
1085
- }
1086
- });
1087
- },
1088
- onMetaCounterDeleted: function (channel, metaCounterKeys) {
1089
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
1090
- logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', {
1091
- channelUrl: channelUrl,
1092
- metaCounterKeys: metaCounterKeys
1093
- });
1094
- messagesDispatcher({
1095
- type: ON_META_COUNTERS_DELETED,
1096
- payload: {
1097
- channel: channel,
1098
- metaCounterKeys: metaCounterKeys
1099
- }
1100
- });
1101
- },
1102
- onMentionReceived: function (channel, message) {
1103
- var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
1104
- logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', {
1105
- channelUrl: channelUrl,
1106
- message: message
1107
- });
1108
- messagesDispatcher({
1109
- type: ON_MENTION_RECEIVED,
1110
- payload: {
1111
- channel: channel,
1112
- message: message
1113
- }
1114
- });
1115
- },
1116
- onChannelDeleted: function (channelUrl, channelType) {
1117
- if (channelType === SendbirdChat.ChannelType.OPEN && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url) === channelUrl) {
1118
- messagesDispatcher({
1119
- type: ON_CHANNEL_DELETED,
1120
- payload: channelUrl
1121
- });
1122
- }
1123
- }
1124
- };
1125
- var ChannelHandler = new openChannel.OpenChannelHandler(channelHandlerParams);
1126
- (_b = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _b === void 0 ? void 0 : _b.addOpenChannelHandler(messageReceiverId, ChannelHandler);
1127
- }
1128
-
1129
- return function () {
1130
- var _a;
1131
-
1132
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) {
1133
- logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);
1134
- sdk.openChannel.removeOpenChannelHandler(messageReceiverId);
1135
- }
1136
- };
1137
- }, [currentOpenChannel]);
1138
- }
1139
-
1140
- function useInitialMessagesFetch(_a, _b) {
1141
- var currentOpenChannel = _a.currentOpenChannel,
1142
- userFilledMessageListParams = _a.userFilledMessageListParams;
1143
- var logger = _b.logger,
1144
- messagesDispatcher = _b.messagesDispatcher,
1145
- scrollRef = _b.scrollRef;
1146
- React.useEffect(function () {
1147
- logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);
1148
- messagesDispatcher({
1149
- type: RESET_MESSAGES,
1150
- payload: null
1151
- });
1152
-
1153
- if (currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {
1154
- var messageListParams_1 = {
1155
- nextResultSize: 0,
1156
- prevResultSize: 30,
1157
- isInclusive: true,
1158
- includeReactions: false
1159
- };
1160
-
1161
- if (userFilledMessageListParams) {
1162
- Object.keys(userFilledMessageListParams).forEach(function (key) {
1163
- messageListParams_1[key] = userFilledMessageListParams[key];
1164
- });
1165
- logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');
1166
- }
1167
-
1168
- logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', {
1169
- currentOpenChannel: currentOpenChannel,
1170
- messageListParams: messageListParams_1
1171
- });
1172
- messagesDispatcher({
1173
- type: GET_PREV_MESSAGES_START,
1174
- payload: null
1175
- });
1176
- currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
1177
- logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);
1178
- var hasMore = messages && messages.length > 0;
1179
- var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
1180
- messagesDispatcher({
1181
- type: GET_PREV_MESSAGES_SUCESS,
1182
- payload: {
1183
- currentOpenChannel: currentOpenChannel,
1184
- messages: messages,
1185
- hasMore: hasMore,
1186
- lastMessageTimestamp: lastMessageTimestamp
1187
- }
1188
- });
1189
- setTimeout(function () {
1190
- scrollIntoLast(0, scrollRef);
1191
- });
1192
- }).catch(function (error) {
1193
- logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);
1194
- messagesDispatcher({
1195
- type: GET_PREV_MESSAGES_FAIL,
1196
- payload: {
1197
- currentOpenChannel: currentOpenChannel,
1198
- messages: [],
1199
- hasMore: false,
1200
- lastMessageTimestamp: 0
1201
- }
1202
- });
1203
- });
1204
- }
1205
- }, [currentOpenChannel, userFilledMessageListParams]);
1206
- }
1207
-
1208
- function useScrollCallback(_a, _b) {
1209
- var currentOpenChannel = _a.currentOpenChannel,
1210
- lastMessageTimestamp = _a.lastMessageTimestamp,
1211
- fetchMore = _a.fetchMore;
1212
- var sdk = _b.sdk,
1213
- logger = _b.logger,
1214
- messagesDispatcher = _b.messagesDispatcher,
1215
- hasMore = _b.hasMore,
1216
- userFilledMessageListParams = _b.userFilledMessageListParams;
1217
- return React.useCallback(function (callback) {
1218
- if (fetchMore && hasMore) {
1219
- logger.info('OpenChannel | useScrollCallback: start');
1220
- var messageListParams_1 = {
1221
- prevResultSize: 30,
1222
- includeReactions: false,
1223
- nextResultSize: 0
1224
- };
1225
-
1226
- if (userFilledMessageListParams) {
1227
- Object.keys(userFilledMessageListParams).forEach(function (key) {
1228
- messageListParams_1[key] = userFilledMessageListParams[key];
1229
- });
1230
- logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);
1231
- }
1232
-
1233
- logger.info('OpenChannel | useScrollCallback: Fetching messages', {
1234
- currentOpenChannel: currentOpenChannel,
1235
- messageListParams: messageListParams_1
1236
- });
1237
- currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams_1).then(function (messages) {
1238
- logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);
1239
- var hasMore = messages && messages.length > 0;
1240
- var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
1241
- messagesDispatcher({
1242
- type: GET_PREV_MESSAGES_SUCESS,
1243
- payload: {
1244
- currentOpenChannel: currentOpenChannel,
1245
- messages: messages,
1246
- hasMore: hasMore,
1247
- lastMessageTimestamp: lastMessageTimestamp
1248
- }
1249
- });
1250
- setTimeout(function () {
1251
- callback();
1252
- });
1253
- }).catch(function (error) {
1254
- logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);
1255
- messagesDispatcher({
1256
- type: GET_PREV_MESSAGES_FAIL,
1257
- payload: {
1258
- currentOpenChannel: currentOpenChannel,
1259
- messages: [],
1260
- hasMore: false,
1261
- lastMessageTimestamp: 0
1262
- }
1263
- });
1264
- });
1265
- }
1266
- }, [currentOpenChannel, lastMessageTimestamp, fetchMore, sdk]);
1267
- }
1268
-
1269
- function useCheckScrollBottom(_a, _b) {
1270
- var conversationScrollRef = _a.conversationScrollRef;
1271
- var logger = _b.logger;
1272
- return React.useCallback(function () {
1273
- var isBottom = true;
1274
-
1275
- if (conversationScrollRef && (conversationScrollRef === null || conversationScrollRef === void 0 ? void 0 : conversationScrollRef.current)) {
1276
- try {
1277
- var conversationScroll = conversationScrollRef.current;
1278
- isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;
1279
- } catch (error) {
1280
- logger.error('OpenChannel | useCheckScrollBottom', error);
1281
- }
1282
- }
1283
-
1284
- return isBottom;
1285
- }, [conversationScrollRef]);
1286
- }
1287
-
1288
- function useSendMessageCallback(_a, _b) {
1289
- var currentOpenChannel = _a.currentOpenChannel,
1290
- onBeforeSendUserMessage = _a.onBeforeSendUserMessage,
1291
- checkScrollBottom = _a.checkScrollBottom,
1292
- messageInputRef = _a.messageInputRef;
1293
- var sdk = _b.sdk,
1294
- logger = _b.logger,
1295
- messagesDispatcher = _b.messagesDispatcher,
1296
- scrollRef = _b.scrollRef;
1297
- return React.useCallback(function () {
1298
- if (sdk) {
1299
- var text = messageInputRef.current.innerText;
1300
-
1301
- var createParamsDefault = function (txt) {
1302
- var message = (txt === null || txt === void 0 ? void 0 : txt.trim()) || txt;
1303
- var params = {
1304
- message: message
1305
- };
1306
- return params;
1307
- };
1308
-
1309
- var createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
1310
-
1311
- if (createCustomParams) {
1312
- logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
1313
- }
1314
-
1315
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
1316
- logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);
1317
- var isBottom_1 = checkScrollBottom();
1318
- var pendingMsg_1 = null;
1319
- currentOpenChannel.sendUserMessage(params).onPending(function (pendingMessage) {
1320
- messagesDispatcher({
1321
- type: SENDING_MESSAGE_START,
1322
- payload: {
1323
- message: pendingMessage,
1324
- channel: currentOpenChannel
1325
- }
1326
- });
1327
- pendingMsg_1 = pendingMessage;
1328
- }).onSucceeded(function (message) {
1329
- logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);
1330
- messagesDispatcher({
1331
- type: SENDING_MESSAGE_SUCCEEDED,
1332
- payload: message
1333
- });
1334
-
1335
- if (isBottom_1) {
1336
- setTimeout(function () {
1337
- scrollIntoLast(0, scrollRef);
1338
- });
1339
- }
1340
- }).onFailed(function (error) {
1341
- logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);
1342
- messagesDispatcher({
1343
- type: SENDING_MESSAGE_FAILED,
1344
- payload: pendingMsg_1
1345
- }); // https://sendbird.com/docs/chat/v3/javascript/guides/error-codes#2-server-error-codes
1346
- // TODO: Do we need to handle the error cases?
1347
- // @ts-ignore
1348
-
1349
- if ((error === null || error === void 0 ? void 0 : error.code) === 900041) {
1350
- messagesDispatcher({
1351
- type: ON_USER_MUTED,
1352
- payload: {
1353
- channel: currentOpenChannel,
1354
- user: sdk.currentUser
1355
- }
1356
- });
1357
- }
1358
- });
1359
- }
1360
- }, [currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef]);
1361
- }
1362
-
1363
- function useFileUploadCallback(_a, _b) {
1364
- var currentOpenChannel = _a.currentOpenChannel,
1365
- checkScrollBottom = _a.checkScrollBottom,
1366
- _c = _a.imageCompression,
1367
- imageCompression = _c === void 0 ? {} : _c,
1368
- onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
1369
- var sdk = _b.sdk,
1370
- logger = _b.logger,
1371
- messagesDispatcher = _b.messagesDispatcher,
1372
- scrollRef = _b.scrollRef;
1373
- return React.useCallback(function (file) {
1374
- if (sdk) {
1375
- var compressionRate_1 = imageCompression.compressionRate,
1376
- resizingWidth_1 = imageCompression.resizingWidth,
1377
- resizingHeight_1 = imageCompression.resizingHeight;
1378
- var createCustomParams_1 = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
1379
- var compressibleFileType = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg';
1380
- var compressibleRatio = compressionRate_1 > 0 && compressionRate_1 < 1; // pxToNumber returns null if values are invalid
1381
-
1382
- var compressibleDiamensions_1 = pxToNumber(resizingWidth_1) || pxToNumber(resizingHeight_1);
1383
- var canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions_1);
1384
-
1385
- var createParamsDefault_1 = function (file_) {
1386
- var params = {};
1387
- params.file = file_;
1388
- return params;
1389
- };
1390
-
1391
- if (canCompressImage) {
1392
- // Using image compression
1393
- try {
1394
- var image_1 = document.createElement('img');
1395
- image_1.src = URL.createObjectURL(file);
1396
-
1397
- image_1.onload = function () {
1398
- URL.revokeObjectURL(image_1.src);
1399
- var canvas = document.createElement('canvas');
1400
- var imageWidth = image_1.naturalWidth || image_1.width;
1401
- var imageHeight = image_1.naturalHeight || image_1.height;
1402
- var targetWidth = pxToNumber(resizingWidth_1) || imageWidth;
1403
- var targetHeight = pxToNumber(resizingHeight_1) || imageHeight; // In canvas.toBlob(callback, mimeType, qualityArgument)
1404
- // qualityArgument doesnt work
1405
- // so in case compressibleDiamensions are not present, we use ratio
1406
-
1407
- if (file.type === 'image/png' && !compressibleDiamensions_1) {
1408
- targetWidth *= compressionRate_1;
1409
- targetHeight *= compressionRate_1;
1410
- }
1411
-
1412
- canvas.width = targetWidth;
1413
- canvas.height = targetHeight;
1414
- var context = canvas.getContext('2d');
1415
- context.drawImage(image_1, 0, 0, targetWidth, targetHeight);
1416
- context.canvas.toBlob(function (newImageBlob) {
1417
- var compressedFile = new File([newImageBlob], file.name, {
1418
- type: file.type
1419
- });
1420
-
1421
- if (createCustomParams_1) {
1422
- logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1423
- }
1424
-
1425
- var params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault_1(compressedFile);
1426
- logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
1427
- var isBottom = checkScrollBottom();
1428
- currentOpenChannel.sendFileMessage(params).onPending(function (pendingMessage) {
1429
- messagesDispatcher({
1430
- type: SENDING_MESSAGE_START,
1431
- payload: {
1432
- message: tslib_es6.__assign(tslib_es6.__assign({}, pendingMessage), {
1433
- url: URL.createObjectURL(file),
1434
- // pending thumbnail message seems to be failed
1435
- requestState: 'pending'
1436
- }),
1437
- channel: currentOpenChannel
1438
- }
1439
- });
1440
- }).onSucceeded(function (message) {
1441
- logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1442
- messagesDispatcher({
1443
- type: SENDING_MESSAGE_SUCCEEDED,
1444
- payload: message
1445
- });
1446
-
1447
- if (isBottom) {
1448
- setTimeout(function () {
1449
- scrollIntoLast(0, scrollRef);
1450
- });
1451
- }
1452
- }).onFailed(function (error, message) {
1453
- logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', {
1454
- message: message,
1455
- error: error
1456
- }); // @ts-ignore
1457
-
1458
- message.localUrl = URL.createObjectURL(file); // @ts-ignore
1459
-
1460
- message.file = file;
1461
- messagesDispatcher({
1462
- type: SENDING_MESSAGE_FAILED,
1463
- payload: message
1464
- });
1465
- });
1466
- }, file.type, compressionRate_1);
1467
- };
1468
- } catch (error) {
1469
- logger.warning('OpenChannel | useFileUploadCallback: Sending file message with image compression failed', error);
1470
- }
1471
- } else {
1472
- // Not using image compression
1473
- if (createCustomParams_1) {
1474
- logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1475
- }
1476
-
1477
- var params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file) : createParamsDefault_1(file);
1478
- logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
1479
- var isBottom_1 = checkScrollBottom();
1480
- currentOpenChannel.sendFileMessage(params).onPending(function (pendingMessage) {
1481
- messagesDispatcher({
1482
- type: SENDING_MESSAGE_START,
1483
- payload: {
1484
- message: tslib_es6.__assign(tslib_es6.__assign({}, pendingMessage), {
1485
- url: URL.createObjectURL(file),
1486
- // pending thumbnail message seems to be failed
1487
- requestState: 'pending'
1488
- }),
1489
- channel: currentOpenChannel
1490
- }
1491
- });
1492
- }).onSucceeded(function (message) {
1493
- logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1494
- messagesDispatcher({
1495
- type: SENDING_MESSAGE_SUCCEEDED,
1496
- payload: message
1497
- });
1498
-
1499
- if (isBottom_1) {
1500
- setTimeout(function () {
1501
- scrollIntoLast(0, scrollRef);
1502
- });
1503
- }
1504
- }).onFailed(function (error, message) {
1505
- logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', {
1506
- message: message,
1507
- error: error
1508
- }); // @ts-ignore
1509
-
1510
- message.localUrl = URL.createObjectURL(file); // @ts-ignore
1511
-
1512
- message.file = file;
1513
- messagesDispatcher({
1514
- type: SENDING_MESSAGE_FAILED,
1515
- payload: message
1516
- });
1517
- });
1518
- }
1519
- }
1520
- }, [currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression]);
1521
- }
1522
-
1523
- function useUpdateMessageCallback(_a, _b) {
1524
- var currentOpenChannel = _a.currentOpenChannel,
1525
- onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
1526
- var logger = _b.logger,
1527
- messagesDispatcher = _b.messagesDispatcher;
1528
- return React.useCallback(function (messageId, text, callback) {
1529
- var createParamsDefault = function (txt) {
1530
- var params = {
1531
- message: txt
1532
- };
1533
- return params;
1534
- };
1535
-
1536
- if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {
1537
- logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');
1538
- }
1539
-
1540
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
1541
- currentOpenChannel.updateUserMessage(messageId, params).then(function (message) {
1542
- if (callback) {
1543
- callback();
1544
- }
1545
-
1546
- logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', {
1547
- message: message,
1548
- params: params
1549
- });
1550
- messagesDispatcher({
1551
- type: ON_MESSAGE_UPDATED,
1552
- payload: {
1553
- channel: currentOpenChannel,
1554
- message: message
1555
- }
1556
- });
1557
- });
1558
- }, [currentOpenChannel, onBeforeSendUserMessage]);
1559
- }
1560
-
1561
- function useDeleteMessageCallback(_a, _b) {
1562
- var currentOpenChannel = _a.currentOpenChannel;
1563
- var logger = _b.logger,
1564
- messagesDispatcher = _b.messagesDispatcher;
1565
- return React.useCallback(function (message, callback) {
1566
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);
1567
- var sendingStatus = message.sendingStatus;
1568
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);
1569
-
1570
- if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1571
- logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);
1572
- messagesDispatcher({
1573
- type: ON_MESSAGE_DELETED_BY_REQ_ID,
1574
- payload: message.reqId
1575
- });
1576
-
1577
- if (callback) {
1578
- callback();
1579
- }
1580
- } else {
1581
- if (!(message.messageType === 'file' || message.messageType === 'user')) {
1582
- return;
1583
- }
1584
-
1585
- var messageToDelete = message;
1586
- currentOpenChannel.deleteMessage(messageToDelete).then(function () {
1587
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);
1588
-
1589
- if (callback) {
1590
- callback();
1591
- }
1592
-
1593
- logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
1594
- messagesDispatcher({
1595
- type: ON_MESSAGE_DELETED,
1596
- payload: {
1597
- channel: currentOpenChannel,
1598
- messageId: message.messageId
1599
- }
1600
- });
1601
- }).catch(function (error) {
1602
- logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
1603
- });
1604
- }
1605
- }, [currentOpenChannel]);
1606
- }
1607
-
1608
- function useResendMessageCallback(_a, _b) {
1609
- var currentOpenChannel = _a.currentOpenChannel;
1610
- var logger = _b.logger,
1611
- messagesDispatcher = _b.messagesDispatcher;
1612
- return React.useCallback(function (failedMessage) {
1613
- logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage); // eslint-disable-next-line no-param-reassign
1614
-
1615
- var _a = failedMessage,
1616
- messageType = _a.messageType,
1617
- file = _a.file;
1618
-
1619
- if (failedMessage && typeof failedMessage.isResendable === 'function' && failedMessage.isResendable) {
1620
- // eslint-disable-next-line no-param-reassign
1621
- failedMessage.requestState = 'pending';
1622
- messagesDispatcher({
1623
- type: RESENDING_MESSAGE_START,
1624
- payload: {
1625
- channel: currentOpenChannel,
1626
- message: failedMessage
1627
- }
1628
- }); // userMessage
1629
-
1630
- if (messageType === 'user' && failedMessage.messageType === 'user') {
1631
- currentOpenChannel.resendUserMessage(failedMessage).then(function (message) {
1632
- logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);
1633
- messagesDispatcher({
1634
- type: SENDING_MESSAGE_SUCCEEDED,
1635
- payload: message
1636
- });
1637
- }).catch(function (error) {
1638
- logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error); // eslint-disable-next-line no-param-reassign
1639
-
1640
- failedMessage.requestState = 'failed';
1641
- messagesDispatcher({
1642
- type: SENDING_MESSAGE_FAILED,
1643
- payload: failedMessage
1644
- });
1645
- });
1646
- } // fileMessage
1647
-
1648
-
1649
- if (messageType === 'file' && failedMessage.messageType === 'file') {
1650
- currentOpenChannel.resendFileMessage(failedMessage, file).then(function (message) {
1651
- logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);
1652
- messagesDispatcher({
1653
- type: SENDING_MESSAGE_SUCCEEDED,
1654
- payload: message
1655
- });
1656
- }).catch(function (error) {
1657
- logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error); // eslint-disable-next-line no-param-reassign
1658
-
1659
- failedMessage.requestState = 'failed';
1660
- messagesDispatcher({
1661
- type: SENDING_MESSAGE_FAILED,
1662
- payload: failedMessage
1663
- });
1664
- });
1665
- }
1666
- } else {
1667
- // to alert user on console
1668
- // eslint-disable-next-line no-console
1669
- console.error('OpenChannel | useResendMessageCallback: Message is not resendable');
1670
- logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);
1671
- }
1672
- }, [currentOpenChannel]);
1673
- }
1674
-
1675
- var THROTTLE_TIMER = 5000; // to trim message list so that we wont keep thousands of messages in memory
1676
- // We are throttling here; not debouncing
1677
- // it will be called once very 5 sec if messagesLength, messageLimit changes
1678
- // we check if messagesLength > messageLimit before dispatching action
1679
-
1680
- function useTrimMessageList(_a, _b) {
1681
- var messagesLength = _a.messagesLength,
1682
- messageLimit = _a.messageLimit;
1683
- var messagesDispatcher = _b.messagesDispatcher,
1684
- logger = _b.logger;
1685
-
1686
- var _c = React.useState(false),
1687
- inProgress = _c[0],
1688
- setInProgress = _c[1];
1689
-
1690
- React.useEffect(function () {
1691
- if (inProgress) {
1692
- return;
1693
- }
1694
-
1695
- if (typeof messagesLength === 'number' && messagesLength > messageLimit) {
1696
- logger.info('Trimming MessageList');
1697
- messagesDispatcher({
1698
- type: TRIM_MESSAGE_LIST,
1699
- payload: {
1700
- messageLimit: messageLimit
1701
- }
1702
- });
1703
- }
1704
-
1705
- setInProgress(true);
1706
- setTimeout(function () {
1707
- setInProgress(false);
1708
- }, THROTTLE_TIMER);
1709
- }, [messagesLength, messageLimit]);
1710
- }
1711
-
1712
- var OpenChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
1713
-
1714
- var OpenChannelProvider = function (props) {
1715
- var _a, _b, _c, _d, _e, _f;
1716
-
1717
- var channelUrl = props.channelUrl,
1718
- children = props.children,
1719
- _g = props.isMessageGroupingEnabled,
1720
- isMessageGroupingEnabled = _g === void 0 ? true : _g,
1721
- queries = props.queries,
1722
- onBeforeSendUserMessage = props.onBeforeSendUserMessage,
1723
- messageLimit = props.messageLimit,
1724
- onBeforeSendFileMessage = props.onBeforeSendFileMessage,
1725
- onChatHeaderActionClick = props.onChatHeaderActionClick,
1726
- onBackClick = props.onBackClick; // We didn't decide to support fetching participant list
1727
-
1728
- var fetchingParticipants = false;
1729
- var globalStore = useSendbirdStateContext();
1730
- var sdk = (_b = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _a === void 0 ? void 0 : _a.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk;
1731
- var sdkInit = (_d = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _c === void 0 ? void 0 : _c.sdkStore) === null || _d === void 0 ? void 0 : _d.initialized;
1732
- var user = (_f = (_e = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _e === void 0 ? void 0 : _e.userStore) === null || _f === void 0 ? void 0 : _f.user;
1733
- var config = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1734
- var userId = config.userId,
1735
- isOnline = config.isOnline,
1736
- logger = config.logger,
1737
- pubSub = config.pubSub,
1738
- imageCompression = config.imageCompression; // hook variables
1739
-
1740
- var _h = React.useReducer(reducer, initialState),
1741
- messagesStore = _h[0],
1742
- messagesDispatcher = _h[1];
1743
-
1744
- var allMessages = messagesStore.allMessages,
1745
- loading = messagesStore.loading,
1746
- initialized = messagesStore.initialized,
1747
- currentOpenChannel = messagesStore.currentOpenChannel,
1748
- isInvalid = messagesStore.isInvalid,
1749
- hasMore = messagesStore.hasMore,
1750
- lastMessageTimestamp = messagesStore.lastMessageTimestamp,
1751
- operators = messagesStore.operators,
1752
- bannedParticipantIds = messagesStore.bannedParticipantIds,
1753
- mutedParticipantIds = messagesStore.mutedParticipantIds; // ref
1754
-
1755
- var messageInputRef = React.useRef(null); // useSendMessageCallback
1756
-
1757
- var conversationScrollRef = React.useRef(null); // useScrollAfterSendMessageCallback
1758
- // const
1759
-
1760
- var userFilledMessageListParams = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1761
- var disabled = !initialized || !isOnline || isDisabledBecauseFrozen(currentOpenChannel, userId) || isDisabledBecauseMuted(mutedParticipantIds, userId); // useMemo
1762
-
1763
- var amIBanned = React.useMemo(function () {
1764
- return bannedParticipantIds.indexOf(user.userId) >= 0;
1765
- }, [channelUrl, bannedParticipantIds, user]);
1766
- var amIMuted = React.useMemo(function () {
1767
- return mutedParticipantIds.indexOf(user.userId) >= 0;
1768
- }, [channelUrl, mutedParticipantIds, user]);
1769
- var amIOperator = React.useMemo(function () {
1770
- return operators.map(function (operator) {
1771
- return operator.userId;
1772
- }).indexOf(user.userId) >= 0;
1773
- }, [channelUrl, operators, user]); // use hooks
1774
-
1775
- useSetChannel({
1776
- channelUrl: channelUrl,
1777
- sdkInit: sdkInit,
1778
- fetchingParticipants: fetchingParticipants,
1779
- userId: userId,
1780
- currentOpenChannel: currentOpenChannel
1781
- }, {
1782
- sdk: sdk,
1783
- logger: logger,
1784
- messagesDispatcher: messagesDispatcher
1785
- });
1786
- var checkScrollBottom = useCheckScrollBottom({
1787
- conversationScrollRef: conversationScrollRef
1788
- }, {
1789
- logger: logger
1790
- });
1791
- useHandleChannelEvents({
1792
- currentOpenChannel: currentOpenChannel,
1793
- checkScrollBottom: checkScrollBottom
1794
- }, {
1795
- sdk: sdk,
1796
- logger: logger,
1797
- messagesDispatcher: messagesDispatcher,
1798
- scrollRef: conversationScrollRef
1799
- });
1800
- useInitialMessagesFetch({
1801
- currentOpenChannel: currentOpenChannel,
1802
- userFilledMessageListParams: userFilledMessageListParams
1803
- }, {
1804
- logger: logger,
1805
- messagesDispatcher: messagesDispatcher,
1806
- scrollRef: conversationScrollRef
1807
- });
1808
- var fetchMore = shouldFetchMore(allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit); // donot fetch more for streaming
1809
-
1810
- var onScroll = useScrollCallback({
1811
- currentOpenChannel: currentOpenChannel,
1812
- lastMessageTimestamp: lastMessageTimestamp,
1813
- fetchMore: fetchMore
1814
- }, {
1815
- sdk: sdk,
1816
- logger: logger,
1817
- messagesDispatcher: messagesDispatcher,
1818
- hasMore: hasMore,
1819
- userFilledMessageListParams: userFilledMessageListParams
1820
- });
1821
- var handleSendMessage = useSendMessageCallback({
1822
- currentOpenChannel: currentOpenChannel,
1823
- onBeforeSendUserMessage: onBeforeSendUserMessage,
1824
- checkScrollBottom: checkScrollBottom,
1825
- messageInputRef: messageInputRef
1826
- }, {
1827
- sdk: sdk,
1828
- logger: logger,
1829
- messagesDispatcher: messagesDispatcher,
1830
- scrollRef: conversationScrollRef
1831
- });
1832
- var handleFileUpload = useFileUploadCallback({
1833
- currentOpenChannel: currentOpenChannel,
1834
- onBeforeSendFileMessage: onBeforeSendFileMessage,
1835
- checkScrollBottom: checkScrollBottom,
1836
- imageCompression: imageCompression
1837
- }, {
1838
- sdk: sdk,
1839
- logger: logger,
1840
- messagesDispatcher: messagesDispatcher,
1841
- scrollRef: conversationScrollRef
1842
- });
1843
- var updateMessage = useUpdateMessageCallback({
1844
- currentOpenChannel: currentOpenChannel,
1845
- onBeforeSendUserMessage: onBeforeSendUserMessage
1846
- }, {
1847
- logger: logger,
1848
- messagesDispatcher: messagesDispatcher
1849
- });
1850
- var deleteMessage = useDeleteMessageCallback({
1851
- currentOpenChannel: currentOpenChannel
1852
- }, {
1853
- logger: logger,
1854
- messagesDispatcher: messagesDispatcher
1855
- });
1856
- var resendMessage = useResendMessageCallback({
1857
- currentOpenChannel: currentOpenChannel
1858
- }, {
1859
- logger: logger,
1860
- messagesDispatcher: messagesDispatcher
1861
- });
1862
- useTrimMessageList({
1863
- messagesLength: allMessages === null || allMessages === void 0 ? void 0 : allMessages.length,
1864
- messageLimit: messageLimit
1865
- }, {
1866
- messagesDispatcher: messagesDispatcher,
1867
- logger: logger
1868
- }); // handle API calls from withSendbird
1869
-
1870
- React.useEffect(function () {
1871
- var subscriber = new Map();
1872
-
1873
- if (!pubSub || !pubSub.subscribe) {
1874
- return;
1875
- }
1876
-
1877
- subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, function (msg) {
1878
- var channel = msg.channel,
1879
- message = msg.message;
1880
- scrollIntoLast(0, conversationScrollRef);
1881
-
1882
- if (channel && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1883
- messagesDispatcher({
1884
- type: SENDING_MESSAGE_SUCCEEDED,
1885
- payload: message
1886
- });
1887
- }
1888
- }));
1889
- subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, function (msg) {
1890
- var channel = msg.channel,
1891
- message = msg.message;
1892
-
1893
- if (channel && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1894
- messagesDispatcher({
1895
- type: SENDING_MESSAGE_START,
1896
- payload: {
1897
- message: message,
1898
- channel: channel
1899
- }
1900
- });
1901
- }
1902
- }));
1903
- subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, function (msg) {
1904
- var channel = msg.channel,
1905
- message = msg.message;
1906
- scrollIntoLast(0, conversationScrollRef);
1907
-
1908
- if (channel && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1909
- messagesDispatcher({
1910
- type: SENDING_MESSAGE_SUCCEEDED,
1911
- payload: {
1912
- message: message,
1913
- channel: channel
1914
- }
1915
- });
1916
- }
1917
- }));
1918
- subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, function (msg) {
1919
- var channel = msg.channel,
1920
- message = msg.message,
1921
- fromSelector = msg.fromSelector;
1922
-
1923
- if (fromSelector && channel && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1924
- messagesDispatcher({
1925
- type: ON_MESSAGE_UPDATED,
1926
- payload: {
1927
- channel: channel,
1928
- message: message
1929
- }
1930
- });
1931
- }
1932
- }));
1933
- subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, function (msg) {
1934
- var channel = msg.channel,
1935
- messageId = msg.messageId;
1936
-
1937
- if (channel && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1938
- messagesDispatcher({
1939
- type: ON_MESSAGE_DELETED,
1940
- payload: messageId
1941
- });
1942
- }
1943
- }));
1944
- return function () {
1945
- if (subscriber) {
1946
- subscriber.forEach(function (s) {
1947
- try {
1948
- s.remove();
1949
- } catch (_a) {//
1950
- }
1951
- });
1952
- }
1953
- };
1954
- }, [channelUrl, sdkInit]);
1955
- return /*#__PURE__*/React__default["default"].createElement(OpenChannelContext.Provider, {
1956
- value: {
1957
- // props
1958
- channelUrl: channelUrl,
1959
- children: children,
1960
- isMessageGroupingEnabled: isMessageGroupingEnabled,
1961
- queries: queries,
1962
- onBeforeSendUserMessage: onBeforeSendUserMessage,
1963
- messageLimit: messageLimit,
1964
- onBeforeSendFileMessage: onBeforeSendFileMessage,
1965
- onChatHeaderActionClick: onChatHeaderActionClick,
1966
- onBackClick: onBackClick,
1967
- // store
1968
- allMessages: allMessages,
1969
- loading: loading,
1970
- initialized: initialized,
1971
- currentOpenChannel: currentOpenChannel,
1972
- isInvalid: isInvalid,
1973
- hasMore: hasMore,
1974
- lastMessageTimestamp: lastMessageTimestamp,
1975
- operators: operators,
1976
- bannedParticipantIds: bannedParticipantIds,
1977
- mutedParticipantIds: mutedParticipantIds,
1978
- // derived/utils
1979
- messageInputRef: messageInputRef,
1980
- conversationScrollRef: conversationScrollRef,
1981
- disabled: disabled,
1982
- amIBanned: amIBanned,
1983
- amIMuted: amIMuted,
1984
- amIOperator: amIOperator,
1985
- checkScrollBottom: checkScrollBottom,
1986
- fetchMore: fetchMore,
1987
- onScroll: onScroll,
1988
- handleSendMessage: handleSendMessage,
1989
- handleFileUpload: handleFileUpload,
1990
- updateMessage: updateMessage,
1991
- deleteMessage: deleteMessage,
1992
- resendMessage: resendMessage
1993
- }
1994
- }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
1995
- isOpenChannel: true,
1996
- renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile,
1997
- disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile
1998
- }, children));
1999
- };
2000
-
2001
- var useOpenChannelContext = function () {
2002
- return React__default["default"].useContext(OpenChannelContext);
2003
- };
2004
-
2005
- exports.OpenChannelProvider = OpenChannelProvider;
2006
- exports.compareMessagesForGrouping = compareMessagesForGrouping;
2007
- exports.kFormatter = kFormatter;
2008
- exports.useOpenChannelContext = useOpenChannelContext;
2009
- //# sourceMappingURL=OpenChannelProvider-a763b71c.js.map