@sendbird/uikit-react 3.7.0-rc.1 → 3.8.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 (1485) hide show
  1. package/App.js +287 -555
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +25 -0
  4. package/Channel/components/ChannelHeader.js +50 -96
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +80 -123
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +72 -141
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +10 -15
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +276 -377
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +171 -237
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +225 -312
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +38 -50
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +142 -263
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +73 -79
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +27 -31
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +16 -15
  27. package/Channel/context.js.map +1 -1
  28. package/Channel/hooks/useInitialMessagesFetch.js +109 -0
  29. package/Channel/hooks/useInitialMessagesFetch.js.map +1 -0
  30. package/Channel/utils/compareMessagesForGrouping.js +19 -16
  31. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  32. package/Channel/utils/getMessagePartsInfo.js +26 -37
  33. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  34. package/Channel.js +51 -95
  35. package/Channel.js.map +1 -1
  36. package/ChannelList/components/AddChannel.js +32 -51
  37. package/ChannelList/components/AddChannel.js.map +1 -1
  38. package/ChannelList/components/ChannelListHeader.js +29 -56
  39. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  40. package/ChannelList/components/ChannelListUI.js +101 -158
  41. package/ChannelList/components/ChannelListUI.js.map +1 -1
  42. package/ChannelList/components/ChannelPreview.js +101 -166
  43. package/ChannelList/components/ChannelPreview.js.map +1 -1
  44. package/ChannelList/components/ChannelPreviewAction.js +52 -110
  45. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  46. package/ChannelList/context.js +8 -8
  47. package/ChannelList.js +35 -58
  48. package/ChannelList.js.map +1 -1
  49. package/ChannelSettings/components/ChannelProfile.js +45 -77
  50. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  51. package/ChannelSettings/components/ChannelSettingsUI.js +78 -110
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +79 -133
  54. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  55. package/ChannelSettings/components/LeaveChannel.js +53 -80
  56. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  57. package/ChannelSettings/components/ModerationPanel.js +412 -790
  58. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  59. package/ChannelSettings/components/UserListItem.js +44 -88
  60. package/ChannelSettings/components/UserListItem.js.map +1 -1
  61. package/ChannelSettings/components/UserPanel.js +37 -56
  62. package/ChannelSettings/components/UserPanel.js.map +1 -1
  63. package/ChannelSettings/context.js +62 -84
  64. package/ChannelSettings/context.js.map +1 -1
  65. package/ChannelSettings.js +19 -37
  66. package/ChannelSettings.js.map +1 -1
  67. package/CreateChannel/components/CreateChannelUI.js +22 -32
  68. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  69. package/CreateChannel/components/InviteUsers.js +142 -179
  70. package/CreateChannel/components/InviteUsers.js.map +1 -1
  71. package/CreateChannel/components/SelectChannelType.js +64 -113
  72. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  73. package/CreateChannel/context.js +3 -3
  74. package/CreateChannel.js +17 -32
  75. package/CreateChannel.js.map +1 -1
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js +51 -108
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  78. package/CreateOpenChannel/context.js +42 -51
  79. package/CreateOpenChannel/context.js.map +1 -1
  80. package/CreateOpenChannel.js +15 -31
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +81 -142
  83. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  84. package/EditUserProfile/context.js +13 -20
  85. package/EditUserProfile/context.js.map +1 -1
  86. package/EditUserProfile.js +15 -24
  87. package/EditUserProfile.js.map +1 -1
  88. package/Message/context.js +21 -24
  89. package/Message/context.js.map +1 -1
  90. package/Message/hooks/useDirtyGetMentions.js +52 -63
  91. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  92. package/MessageSearch/components/MessageSearchUI.js +71 -123
  93. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  94. package/MessageSearch/context.js +237 -339
  95. package/MessageSearch/context.js.map +1 -1
  96. package/MessageSearch.js +57 -120
  97. package/MessageSearch.js.map +1 -1
  98. package/OpenChannel/components/FrozenChannelNotification.js +9 -13
  99. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  100. package/OpenChannel/components/OpenChannelHeader.js +31 -72
  101. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  102. package/OpenChannel/components/OpenChannelInput.js +40 -58
  103. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelMessage.js +157 -245
  105. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelMessageList.js +84 -119
  107. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  108. package/OpenChannel/components/OpenChannelUI.js +59 -81
  109. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  110. package/OpenChannel/context.js +7 -7
  111. package/OpenChannel.js +36 -56
  112. package/OpenChannel.js.map +1 -1
  113. package/OpenChannelList/components/OpenChannelListUI.js +91 -164
  114. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  115. package/OpenChannelList/components/OpenChannelPreview.js +19 -58
  116. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  117. package/OpenChannelList/context.js +2 -2
  118. package/OpenChannelList.js +21 -40
  119. package/OpenChannelList.js.map +1 -1
  120. package/OpenChannelSettings/components/EditDetailsModal.js +69 -123
  121. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  122. package/OpenChannelSettings/components/OpenChannelProfile.js +34 -60
  123. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  124. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +52 -84
  125. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  126. package/OpenChannelSettings/components/OperatorUI.js +454 -828
  127. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  128. package/OpenChannelSettings/components/ParticipantUI.js +15 -18
  129. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  130. package/OpenChannelSettings/context.js +115 -125
  131. package/OpenChannelSettings/context.js.map +1 -1
  132. package/OpenChannelSettings.js +20 -33
  133. package/OpenChannelSettings.js.map +1 -1
  134. package/README.md +0 -10
  135. package/SendbirdProvider.js +1000 -1235
  136. package/SendbirdProvider.js.map +1 -1
  137. package/Thread/components/ParentMessageInfo.js +194 -348
  138. package/Thread/components/ParentMessageInfo.js.map +1 -1
  139. package/Thread/components/ParentMessageInfoItem.js +104 -195
  140. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  141. package/Thread/components/ThreadHeader.js +23 -51
  142. package/Thread/components/ThreadHeader.js.map +1 -1
  143. package/Thread/components/ThreadList.js +114 -150
  144. package/Thread/components/ThreadList.js.map +1 -1
  145. package/Thread/components/ThreadListItem.js +268 -528
  146. package/Thread/components/ThreadListItem.js.map +1 -1
  147. package/Thread/components/ThreadMessageInput.js +153 -211
  148. package/Thread/components/ThreadMessageInput.js.map +1 -1
  149. package/Thread/components/ThreadUI.js +192 -268
  150. package/Thread/components/ThreadUI.js.map +1 -1
  151. package/Thread/context/types.js +21 -21
  152. package/Thread/context/types.js.map +1 -1
  153. package/Thread/context.js +1201 -1632
  154. package/Thread/context.js.map +1 -1
  155. package/Thread.js +59 -98
  156. package/Thread.js.map +1 -1
  157. package/VoicePlayer/context.js +3 -3
  158. package/VoicePlayer/useVoicePlayer.js +56 -77
  159. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  160. package/VoiceRecorder/context.js +121 -151
  161. package/VoiceRecorder/context.js.map +1 -1
  162. package/VoiceRecorder/useVoiceRecorder.js +95 -108
  163. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  164. package/{consts-893be876.js → chunks/bundle--F_1NyoU.js} +1 -1
  165. package/chunks/bundle--F_1NyoU.js.map +1 -0
  166. package/chunks/bundle-1P01-roD.js +277 -0
  167. package/chunks/bundle-1P01-roD.js.map +1 -0
  168. package/{index-e2e20fad.js → chunks/bundle-3mdR5HDw.js} +4 -2
  169. package/chunks/bundle-3mdR5HDw.js.map +1 -0
  170. package/chunks/bundle-53PRRrlp.js +230 -0
  171. package/chunks/bundle-53PRRrlp.js.map +1 -0
  172. package/{resolvedReplyType-1880de12.js → chunks/bundle-5iuNyt5M.js} +27 -27
  173. package/chunks/bundle-5iuNyt5M.js.map +1 -0
  174. package/chunks/bundle-5yKxJk_M.js +213 -0
  175. package/chunks/bundle-5yKxJk_M.js.map +1 -0
  176. package/chunks/bundle-7FyFbzI4.js +31 -0
  177. package/chunks/bundle-7FyFbzI4.js.map +1 -0
  178. package/chunks/bundle-8zJE_DCx.js +24 -0
  179. package/chunks/bundle-8zJE_DCx.js.map +1 -0
  180. package/{index-4ff8441f.js → chunks/bundle-9KsbryQI.js} +1 -1
  181. package/chunks/bundle-9KsbryQI.js.map +1 -0
  182. package/{const-818ac95b.js → chunks/bundle-AI8e02c3.js} +10 -10
  183. package/chunks/bundle-AI8e02c3.js.map +1 -0
  184. package/chunks/bundle-ANPmLOz8.js +173 -0
  185. package/chunks/bundle-ANPmLOz8.js.map +1 -0
  186. package/chunks/bundle-Ael7hqI7.js +227 -0
  187. package/chunks/bundle-Ael7hqI7.js.map +1 -0
  188. package/chunks/bundle-EHReigfD.js +657 -0
  189. package/chunks/bundle-EHReigfD.js.map +1 -0
  190. package/{index-de4364e8.js → chunks/bundle-FTgSGiKe.js} +42 -15
  191. package/chunks/bundle-FTgSGiKe.js.map +1 -0
  192. package/chunks/bundle-H2I60B2B.js +12 -0
  193. package/chunks/bundle-H2I60B2B.js.map +1 -0
  194. package/chunks/bundle-LUte5Kb5.js +1594 -0
  195. package/chunks/bundle-LUte5Kb5.js.map +1 -0
  196. package/chunks/bundle-M2ljBW6p.js +69 -0
  197. package/chunks/bundle-M2ljBW6p.js.map +1 -0
  198. package/chunks/bundle-NCqCEOuY.js +355 -0
  199. package/chunks/bundle-NCqCEOuY.js.map +1 -0
  200. package/chunks/bundle-PgBVk3py.js +1455 -0
  201. package/chunks/bundle-PgBVk3py.js.map +1 -0
  202. package/chunks/bundle-Q8dtkDOa.js +8 -0
  203. package/chunks/bundle-Q8dtkDOa.js.map +1 -0
  204. package/chunks/bundle-TZXZa-F1.js +226 -0
  205. package/chunks/bundle-TZXZa-F1.js.map +1 -0
  206. package/{consts-9a7169ff.js → chunks/bundle-WCTKBopn.js} +28 -28
  207. package/chunks/bundle-WCTKBopn.js.map +1 -0
  208. package/chunks/bundle-YEttY5xG.js +26 -0
  209. package/chunks/bundle-YEttY5xG.js.map +1 -0
  210. package/chunks/bundle-Zl1hrCWc.js +36 -0
  211. package/chunks/bundle-Zl1hrCWc.js.map +1 -0
  212. package/chunks/bundle-ZmvX8uZ5.js +163 -0
  213. package/chunks/bundle-ZmvX8uZ5.js.map +1 -0
  214. package/chunks/bundle-_YRJ7d9_.js +827 -0
  215. package/chunks/bundle-_YRJ7d9_.js.map +1 -0
  216. package/chunks/bundle-_qiqf8_l.js +14 -0
  217. package/chunks/bundle-_qiqf8_l.js.map +1 -0
  218. package/chunks/bundle-bJrywUB-.js +233 -0
  219. package/chunks/bundle-bJrywUB-.js.map +1 -0
  220. package/{uuid-a9b18b52.js → chunks/bundle-bofQNMJb.js} +11 -13
  221. package/chunks/bundle-bofQNMJb.js.map +1 -0
  222. package/chunks/bundle-btDN-R-c.js +77 -0
  223. package/chunks/bundle-btDN-R-c.js.map +1 -0
  224. package/chunks/bundle-cviP1IM2.js +132 -0
  225. package/chunks/bundle-cviP1IM2.js.map +1 -0
  226. package/{index-c3d24a1e.js → chunks/bundle-dLuEa16_.js} +12 -3
  227. package/chunks/bundle-dLuEa16_.js.map +1 -0
  228. package/chunks/bundle-ftY5T58h.js +96 -0
  229. package/chunks/bundle-ftY5T58h.js.map +1 -0
  230. package/{index-26bafa8f.js → chunks/bundle-h3JIYRTG.js} +202 -64
  231. package/chunks/bundle-h3JIYRTG.js.map +1 -0
  232. package/{tslib.es6-353b1a8e.js → chunks/bundle-hKtwSqbO.js} +2 -2
  233. package/chunks/bundle-hKtwSqbO.js.map +1 -0
  234. package/chunks/bundle-hjECCUV3.js +25 -0
  235. package/chunks/bundle-hjECCUV3.js.map +1 -0
  236. package/{consts-96ddd57a.js → chunks/bundle-khKXutc3.js} +1 -1
  237. package/chunks/bundle-khKXutc3.js.map +1 -0
  238. package/{consts-99975d63.js → chunks/bundle-kp1MMNMf.js} +1 -1
  239. package/chunks/bundle-kp1MMNMf.js.map +1 -0
  240. package/chunks/bundle-mL_86Tua.js +28 -0
  241. package/chunks/bundle-mL_86Tua.js.map +1 -0
  242. package/{types-afb18a4f.js → chunks/bundle-mpeh7m6z.js} +6 -6
  243. package/chunks/bundle-mpeh7m6z.js.map +1 -0
  244. package/chunks/bundle-prRsVvhT.js +98 -0
  245. package/chunks/bundle-prRsVvhT.js.map +1 -0
  246. package/chunks/bundle-qst5L6aH.js +55 -0
  247. package/chunks/bundle-qst5L6aH.js.map +1 -0
  248. package/chunks/bundle-qunsoajv.js +211 -0
  249. package/chunks/bundle-qunsoajv.js.map +1 -0
  250. package/chunks/bundle-rLxuFUa1.js +62 -0
  251. package/chunks/bundle-rLxuFUa1.js.map +1 -0
  252. package/chunks/bundle-rYAZn3lj.js +125 -0
  253. package/chunks/bundle-rYAZn3lj.js.map +1 -0
  254. package/chunks/bundle-r_VxbiS3.js +36 -0
  255. package/chunks/bundle-r_VxbiS3.js.map +1 -0
  256. package/chunks/bundle-sOjc_nNQ.js +18 -0
  257. package/chunks/bundle-sOjc_nNQ.js.map +1 -0
  258. package/chunks/bundle-ubky9D9H.js +24 -0
  259. package/chunks/bundle-ubky9D9H.js.map +1 -0
  260. package/chunks/bundle-v0OWADVv.js +16 -0
  261. package/chunks/bundle-v0OWADVv.js.map +1 -0
  262. package/chunks/bundle-v9a1_z0P.js +5 -0
  263. package/chunks/bundle-v9a1_z0P.js.map +1 -0
  264. package/chunks/bundle-vnmGzWMt.js +222 -0
  265. package/chunks/bundle-vnmGzWMt.js.map +1 -0
  266. package/chunks/bundle-w2v7oZ9G.js +72 -0
  267. package/chunks/bundle-w2v7oZ9G.js.map +1 -0
  268. package/chunks/bundle-w9T6A0ez.js +176 -0
  269. package/chunks/bundle-w9T6A0ez.js.map +1 -0
  270. package/chunks/bundle-wMgBBDf9.js +78 -0
  271. package/chunks/bundle-wMgBBDf9.js.map +1 -0
  272. package/chunks/bundle-x-4ukZm_.js +76 -0
  273. package/chunks/bundle-x-4ukZm_.js.map +1 -0
  274. package/chunks/bundle-zLBuOeRY.js +131 -0
  275. package/chunks/bundle-zLBuOeRY.js.map +1 -0
  276. package/chunks/bundle-zoxfINxQ.js +16 -0
  277. package/chunks/bundle-zoxfINxQ.js.map +1 -0
  278. package/cjs/App.js +287 -559
  279. package/cjs/App.js.map +1 -1
  280. package/cjs/Channel/components/ChannelHeader.js +50 -100
  281. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  282. package/cjs/Channel/components/ChannelUI.js +80 -127
  283. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  284. package/cjs/Channel/components/FileViewer.js +73 -146
  285. package/cjs/Channel/components/FileViewer.js.map +1 -1
  286. package/cjs/Channel/components/FrozenNotification.js +10 -19
  287. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  288. package/cjs/Channel/components/Message.js +275 -380
  289. package/cjs/Channel/components/Message.js.map +1 -1
  290. package/cjs/Channel/components/MessageInput.js +171 -241
  291. package/cjs/Channel/components/MessageInput.js.map +1 -1
  292. package/cjs/Channel/components/MessageList.js +225 -316
  293. package/cjs/Channel/components/MessageList.js.map +1 -1
  294. package/cjs/Channel/components/RemoveMessageModal.js +38 -54
  295. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  296. package/cjs/Channel/components/SuggestedMentionList.js +142 -267
  297. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  298. package/cjs/Channel/components/TypingIndicator.js +73 -83
  299. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  300. package/cjs/Channel/components/UnreadCount.js +26 -34
  301. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  302. package/cjs/Channel/context.js +16 -17
  303. package/cjs/Channel/context.js.map +1 -1
  304. package/cjs/Channel/hooks/useInitialMessagesFetch.js +111 -0
  305. package/cjs/Channel/hooks/useInitialMessagesFetch.js.map +1 -0
  306. package/cjs/Channel/utils/compareMessagesForGrouping.js +19 -18
  307. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  308. package/cjs/Channel/utils/getMessagePartsInfo.js +26 -39
  309. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  310. package/cjs/Channel.js +51 -99
  311. package/cjs/Channel.js.map +1 -1
  312. package/cjs/ChannelList/components/AddChannel.js +33 -56
  313. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  314. package/cjs/ChannelList/components/ChannelListHeader.js +29 -60
  315. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  316. package/cjs/ChannelList/components/ChannelListUI.js +101 -162
  317. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  318. package/cjs/ChannelList/components/ChannelPreview.js +101 -170
  319. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  320. package/cjs/ChannelList/components/ChannelPreviewAction.js +52 -114
  321. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  322. package/cjs/ChannelList/context.js +8 -10
  323. package/cjs/ChannelList/context.js.map +1 -1
  324. package/cjs/ChannelList.js +35 -62
  325. package/cjs/ChannelList.js.map +1 -1
  326. package/cjs/ChannelSettings/components/ChannelProfile.js +45 -81
  327. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  328. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +78 -114
  329. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  330. package/cjs/ChannelSettings/components/EditDetailsModal.js +79 -137
  331. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  332. package/cjs/ChannelSettings/components/LeaveChannel.js +53 -84
  333. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  334. package/cjs/ChannelSettings/components/ModerationPanel.js +411 -793
  335. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  336. package/cjs/ChannelSettings/components/UserListItem.js +44 -92
  337. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  338. package/cjs/ChannelSettings/components/UserPanel.js +37 -60
  339. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  340. package/cjs/ChannelSettings/context.js +62 -90
  341. package/cjs/ChannelSettings/context.js.map +1 -1
  342. package/cjs/ChannelSettings.js +19 -41
  343. package/cjs/ChannelSettings.js.map +1 -1
  344. package/cjs/CreateChannel/components/CreateChannelUI.js +22 -36
  345. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  346. package/cjs/CreateChannel/components/InviteUsers.js +142 -183
  347. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  348. package/cjs/CreateChannel/components/SelectChannelType.js +64 -117
  349. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  350. package/cjs/CreateChannel/context.js +3 -5
  351. package/cjs/CreateChannel/context.js.map +1 -1
  352. package/cjs/CreateChannel.js +17 -36
  353. package/cjs/CreateChannel.js.map +1 -1
  354. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +51 -112
  355. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  356. package/cjs/CreateOpenChannel/context.js +42 -57
  357. package/cjs/CreateOpenChannel/context.js.map +1 -1
  358. package/cjs/CreateOpenChannel.js +15 -35
  359. package/cjs/CreateOpenChannel.js.map +1 -1
  360. package/cjs/EditUserProfile/components/EditUserProfileUI.js +81 -146
  361. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  362. package/cjs/EditUserProfile/context.js +13 -26
  363. package/cjs/EditUserProfile/context.js.map +1 -1
  364. package/cjs/EditUserProfile.js +15 -28
  365. package/cjs/EditUserProfile.js.map +1 -1
  366. package/cjs/Message/context.js +21 -30
  367. package/cjs/Message/context.js.map +1 -1
  368. package/cjs/Message/hooks/useDirtyGetMentions.js +52 -65
  369. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  370. package/cjs/MessageSearch/components/MessageSearchUI.js +72 -128
  371. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  372. package/cjs/MessageSearch/context.js +237 -345
  373. package/cjs/MessageSearch/context.js.map +1 -1
  374. package/cjs/MessageSearch.js +57 -124
  375. package/cjs/MessageSearch.js.map +1 -1
  376. package/cjs/OpenChannel/components/FrozenChannelNotification.js +9 -17
  377. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  378. package/cjs/OpenChannel/components/OpenChannelHeader.js +31 -76
  379. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  380. package/cjs/OpenChannel/components/OpenChannelInput.js +40 -62
  381. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  382. package/cjs/OpenChannel/components/OpenChannelMessage.js +157 -249
  383. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  384. package/cjs/OpenChannel/components/OpenChannelMessageList.js +84 -123
  385. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  386. package/cjs/OpenChannel/components/OpenChannelUI.js +59 -85
  387. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  388. package/cjs/OpenChannel/context.js +7 -9
  389. package/cjs/OpenChannel/context.js.map +1 -1
  390. package/cjs/OpenChannel.js +36 -60
  391. package/cjs/OpenChannel.js.map +1 -1
  392. package/cjs/OpenChannelList/components/OpenChannelListUI.js +91 -168
  393. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  394. package/cjs/OpenChannelList/components/OpenChannelPreview.js +19 -62
  395. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  396. package/cjs/OpenChannelList/context.js +3 -3
  397. package/cjs/OpenChannelList.js +21 -44
  398. package/cjs/OpenChannelList.js.map +1 -1
  399. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +69 -127
  400. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  401. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +34 -64
  402. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  403. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +52 -88
  404. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  405. package/cjs/OpenChannelSettings/components/OperatorUI.js +454 -832
  406. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  407. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -18
  408. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  409. package/cjs/OpenChannelSettings/context.js +115 -131
  410. package/cjs/OpenChannelSettings/context.js.map +1 -1
  411. package/cjs/OpenChannelSettings.js +20 -37
  412. package/cjs/OpenChannelSettings.js.map +1 -1
  413. package/cjs/SendbirdProvider.js +1001 -1242
  414. package/cjs/SendbirdProvider.js.map +1 -1
  415. package/cjs/Thread/components/ParentMessageInfo.js +194 -352
  416. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  417. package/cjs/Thread/components/ParentMessageInfoItem.js +104 -199
  418. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  419. package/cjs/Thread/components/ThreadHeader.js +23 -55
  420. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  421. package/cjs/Thread/components/ThreadList.js +114 -154
  422. package/cjs/Thread/components/ThreadList.js.map +1 -1
  423. package/cjs/Thread/components/ThreadListItem.js +268 -532
  424. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  425. package/cjs/Thread/components/ThreadMessageInput.js +153 -215
  426. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  427. package/cjs/Thread/components/ThreadUI.js +192 -272
  428. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  429. package/cjs/Thread/context/types.js +21 -23
  430. package/cjs/Thread/context/types.js.map +1 -1
  431. package/cjs/Thread/context.js +1201 -1638
  432. package/cjs/Thread/context.js.map +1 -1
  433. package/cjs/Thread.js +59 -102
  434. package/cjs/Thread.js.map +1 -1
  435. package/cjs/VoicePlayer/context.js +3 -5
  436. package/cjs/VoicePlayer/context.js.map +1 -1
  437. package/cjs/VoicePlayer/useVoicePlayer.js +56 -79
  438. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  439. package/cjs/VoiceRecorder/context.js +121 -155
  440. package/cjs/VoiceRecorder/context.js.map +1 -1
  441. package/cjs/VoiceRecorder/useVoiceRecorder.js +95 -110
  442. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  443. package/cjs/chunks/bundle-11ybpGNN.js +139 -0
  444. package/cjs/chunks/bundle-11ybpGNN.js.map +1 -0
  445. package/cjs/chunks/bundle-1yOirqug.js +8 -0
  446. package/cjs/chunks/bundle-1yOirqug.js.map +1 -0
  447. package/cjs/{index-ab04f4c1.js → chunks/bundle-28p7K0N-.js} +202 -64
  448. package/cjs/chunks/bundle-28p7K0N-.js.map +1 -0
  449. package/cjs/chunks/bundle-41ZfOrRZ.js +224 -0
  450. package/cjs/chunks/bundle-41ZfOrRZ.js.map +1 -0
  451. package/cjs/chunks/bundle-4DATo50q.js +1598 -0
  452. package/cjs/chunks/bundle-4DATo50q.js.map +1 -0
  453. package/cjs/chunks/bundle-4bb_98h6.js +27 -0
  454. package/cjs/chunks/bundle-4bb_98h6.js.map +1 -0
  455. package/cjs/chunks/bundle-4q81wd8X.js +176 -0
  456. package/cjs/chunks/bundle-4q81wd8X.js.map +1 -0
  457. package/cjs/{index-2a618f4d.js → chunks/bundle-4rFcKXQa.js} +4 -2
  458. package/cjs/chunks/bundle-4rFcKXQa.js.map +1 -0
  459. package/cjs/chunks/bundle-6OOGDxxE.js +18 -0
  460. package/cjs/chunks/bundle-6OOGDxxE.js.map +1 -0
  461. package/cjs/chunks/bundle-6o4fw0w0.js +234 -0
  462. package/cjs/chunks/bundle-6o4fw0w0.js.map +1 -0
  463. package/cjs/chunks/bundle-6ziaqiUd.js +84 -0
  464. package/cjs/chunks/bundle-6ziaqiUd.js.map +1 -0
  465. package/cjs/chunks/bundle-B2MaAm21.js +28 -0
  466. package/cjs/chunks/bundle-B2MaAm21.js.map +1 -0
  467. package/cjs/chunks/bundle-BJe68nS0.js +236 -0
  468. package/cjs/chunks/bundle-BJe68nS0.js.map +1 -0
  469. package/cjs/chunks/bundle-BN7IOLFq.js +128 -0
  470. package/cjs/chunks/bundle-BN7IOLFq.js.map +1 -0
  471. package/cjs/{index-e61f36ff.js → chunks/bundle-CUP2x37z.js} +12 -3
  472. package/cjs/chunks/bundle-CUP2x37z.js.map +1 -0
  473. package/cjs/chunks/bundle-DZeKHvMp.js +26 -0
  474. package/cjs/chunks/bundle-DZeKHvMp.js.map +1 -0
  475. package/cjs/chunks/bundle-Dwrq46Xb.js +832 -0
  476. package/cjs/chunks/bundle-Dwrq46Xb.js.map +1 -0
  477. package/cjs/chunks/bundle-ELeM0_1Y.js +10 -0
  478. package/cjs/chunks/bundle-ELeM0_1Y.js.map +1 -0
  479. package/cjs/chunks/bundle-F7GEQVgT.js +1460 -0
  480. package/cjs/chunks/bundle-F7GEQVgT.js.map +1 -0
  481. package/cjs/chunks/bundle-FHx0K-3z.js +707 -0
  482. package/cjs/chunks/bundle-FHx0K-3z.js.map +1 -0
  483. package/cjs/chunks/bundle-FLCJVplO.js +137 -0
  484. package/cjs/chunks/bundle-FLCJVplO.js.map +1 -0
  485. package/cjs/{index-d0d79864.js → chunks/bundle-I_9_5a8a.js} +1 -1
  486. package/cjs/chunks/bundle-I_9_5a8a.js.map +1 -0
  487. package/cjs/chunks/bundle-JggdKsJa.js +181 -0
  488. package/cjs/chunks/bundle-JggdKsJa.js.map +1 -0
  489. package/cjs/{consts-838d8c0a.js → chunks/bundle-L9ushBZQ.js} +27 -27
  490. package/cjs/chunks/bundle-L9ushBZQ.js.map +1 -0
  491. package/cjs/chunks/bundle-P0kNl8GH.js +236 -0
  492. package/cjs/chunks/bundle-P0kNl8GH.js.map +1 -0
  493. package/cjs/{const-ea1110b8.js → chunks/bundle-P_B0eyVT.js} +10 -10
  494. package/cjs/chunks/bundle-P_B0eyVT.js.map +1 -0
  495. package/cjs/chunks/bundle-QfhZ2YNP.js +109 -0
  496. package/cjs/chunks/bundle-QfhZ2YNP.js.map +1 -0
  497. package/cjs/chunks/bundle-QmSa90PC.js +20 -0
  498. package/cjs/chunks/bundle-QmSa90PC.js.map +1 -0
  499. package/cjs/{consts-39b0df2d.js → chunks/bundle-RaQV-Bpr.js} +1 -1
  500. package/cjs/chunks/bundle-RaQV-Bpr.js.map +1 -0
  501. package/cjs/chunks/bundle-RlFjml8m.js +178 -0
  502. package/cjs/chunks/bundle-RlFjml8m.js.map +1 -0
  503. package/cjs/chunks/bundle-TEIqVGqn.js +75 -0
  504. package/cjs/chunks/bundle-TEIqVGqn.js.map +1 -0
  505. package/cjs/chunks/bundle-UooP2IDU.js +69 -0
  506. package/cjs/chunks/bundle-UooP2IDU.js.map +1 -0
  507. package/cjs/chunks/bundle-Y9TkHVI5.js +79 -0
  508. package/cjs/chunks/bundle-Y9TkHVI5.js.map +1 -0
  509. package/cjs/chunks/bundle-YNHu-c84.js +15 -0
  510. package/cjs/chunks/bundle-YNHu-c84.js.map +1 -0
  511. package/cjs/chunks/bundle-_fjTT1-g.js +279 -0
  512. package/cjs/chunks/bundle-_fjTT1-g.js.map +1 -0
  513. package/cjs/chunks/bundle-b4fiCQuI.js +217 -0
  514. package/cjs/chunks/bundle-b4fiCQuI.js.map +1 -0
  515. package/cjs/chunks/bundle-c6O8NjZI.js +81 -0
  516. package/cjs/chunks/bundle-c6O8NjZI.js.map +1 -0
  517. package/cjs/chunks/bundle-cttYM0DR.js +30 -0
  518. package/cjs/chunks/bundle-cttYM0DR.js.map +1 -0
  519. package/cjs/chunks/bundle-dXhGOQQM.js +22 -0
  520. package/cjs/chunks/bundle-dXhGOQQM.js.map +1 -0
  521. package/cjs/chunks/bundle-e-fvbugV.js +35 -0
  522. package/cjs/chunks/bundle-e-fvbugV.js.map +1 -0
  523. package/cjs/chunks/bundle-e0il9C3T.js +230 -0
  524. package/cjs/chunks/bundle-e0il9C3T.js.map +1 -0
  525. package/cjs/{consts-2425b1dc.js → chunks/bundle-g0lpRY8_.js} +1 -1
  526. package/cjs/chunks/bundle-g0lpRY8_.js.map +1 -0
  527. package/cjs/{uuid-121cea7a.js → chunks/bundle-gMxOq93o.js} +11 -13
  528. package/cjs/chunks/bundle-gMxOq93o.js.map +1 -0
  529. package/cjs/{consts-4ddf1e9d.js → chunks/bundle-gS0bojlA.js} +1 -1
  530. package/cjs/chunks/bundle-gS0bojlA.js.map +1 -0
  531. package/cjs/{resolvedReplyType-e4155c81.js → chunks/bundle-g_OXBrgT.js} +26 -26
  532. package/cjs/chunks/bundle-g_OXBrgT.js.map +1 -0
  533. package/cjs/{tslib.es6-b66710d0.js → chunks/bundle-hK4x7nmG.js} +1 -1
  534. package/cjs/chunks/bundle-hK4x7nmG.js.map +1 -0
  535. package/cjs/chunks/bundle-iwsbhMUN.js +38 -0
  536. package/cjs/chunks/bundle-iwsbhMUN.js.map +1 -0
  537. package/cjs/chunks/bundle-kBUglm2K.js +360 -0
  538. package/cjs/chunks/bundle-kBUglm2K.js.map +1 -0
  539. package/cjs/chunks/bundle-kWUEW1ZN.js +39 -0
  540. package/cjs/chunks/bundle-kWUEW1ZN.js.map +1 -0
  541. package/cjs/{types-6edcfd89.js → chunks/bundle-lii4Ueh3.js} +6 -6
  542. package/cjs/chunks/bundle-lii4Ueh3.js.map +1 -0
  543. package/cjs/{index-94db47de.js → chunks/bundle-n1yh-qDb.js} +42 -15
  544. package/cjs/chunks/bundle-n1yh-qDb.js.map +1 -0
  545. package/cjs/chunks/bundle-p1cCW0sH.js +74 -0
  546. package/cjs/chunks/bundle-p1cCW0sH.js.map +1 -0
  547. package/cjs/chunks/bundle-tRBVL0r6.js +99 -0
  548. package/cjs/chunks/bundle-tRBVL0r6.js.map +1 -0
  549. package/cjs/chunks/bundle-tmB_l3Q9.js +16 -0
  550. package/cjs/chunks/bundle-tmB_l3Q9.js.map +1 -0
  551. package/cjs/chunks/bundle-tywVawyg.js +79 -0
  552. package/cjs/chunks/bundle-tywVawyg.js.map +1 -0
  553. package/cjs/chunks/bundle-z-Bvsn0B.js +215 -0
  554. package/cjs/chunks/bundle-z-Bvsn0B.js.map +1 -0
  555. package/cjs/chunks/bundle-zr9ZXBrm.js +27 -0
  556. package/cjs/chunks/bundle-zr9ZXBrm.js.map +1 -0
  557. package/cjs/handlers/OpenChannelHandler.js +2 -2
  558. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  559. package/cjs/handlers/SessionHandler.js +2 -2
  560. package/cjs/handlers/SessionHandler.js.map +1 -1
  561. package/cjs/hooks/useModal.js +47 -72
  562. package/cjs/hooks/useModal.js.map +1 -1
  563. package/cjs/index.js +59 -63
  564. package/cjs/index.js.map +1 -1
  565. package/cjs/lame.all.js +14799 -681
  566. package/cjs/lame.all.js.map +1 -1
  567. package/cjs/package.json +1 -3
  568. package/cjs/pubSub/topics.js +15 -15
  569. package/cjs/pubSub/topics.js.map +1 -1
  570. package/cjs/sendbirdSelectors.js +535 -618
  571. package/cjs/sendbirdSelectors.js.map +1 -1
  572. package/cjs/ui/Accordion.js +40 -57
  573. package/cjs/ui/Accordion.js.map +1 -1
  574. package/cjs/ui/AccordionGroup.js +9 -22
  575. package/cjs/ui/AccordionGroup.js.map +1 -1
  576. package/cjs/ui/AdminMessage.js +13 -23
  577. package/cjs/ui/AdminMessage.js.map +1 -1
  578. package/cjs/ui/Avatar.js +70 -194
  579. package/cjs/ui/Avatar.js.map +1 -1
  580. package/cjs/ui/Badge.js +18 -26
  581. package/cjs/ui/Badge.js.map +1 -1
  582. package/cjs/ui/BottomSheet.js +28 -38
  583. package/cjs/ui/BottomSheet.js.map +1 -1
  584. package/cjs/ui/Button.js +41 -63
  585. package/cjs/ui/Button.js.map +1 -1
  586. package/cjs/ui/ChannelAvatar.js +20 -47
  587. package/cjs/ui/ChannelAvatar.js.map +1 -1
  588. package/cjs/ui/Checkbox.js +15 -28
  589. package/cjs/ui/Checkbox.js.map +1 -1
  590. package/cjs/ui/ConnectionStatus.js +11 -22
  591. package/cjs/ui/ConnectionStatus.js.map +1 -1
  592. package/cjs/ui/ContextMenu.js +196 -285
  593. package/cjs/ui/ContextMenu.js.map +1 -1
  594. package/cjs/ui/DateSeparator.js +13 -28
  595. package/cjs/ui/DateSeparator.js.map +1 -1
  596. package/cjs/ui/EmojiReactions.js +142 -329
  597. package/cjs/ui/EmojiReactions.js.map +1 -1
  598. package/cjs/ui/FileMessageItemBody.js +30 -53
  599. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  600. package/cjs/ui/FileViewer.js +18 -17
  601. package/cjs/ui/FileViewer.js.map +1 -1
  602. package/cjs/ui/Icon.js +558 -729
  603. package/cjs/ui/Icon.js.map +1 -1
  604. package/cjs/ui/IconButton.js +18 -49
  605. package/cjs/ui/IconButton.js.map +1 -1
  606. package/cjs/ui/ImageRenderer.js +103 -154
  607. package/cjs/ui/ImageRenderer.js.map +1 -1
  608. package/cjs/ui/Input.js +16 -42
  609. package/cjs/ui/Input.js.map +1 -1
  610. package/cjs/ui/Label.js +4 -4
  611. package/cjs/ui/LinkLabel.js +22 -51
  612. package/cjs/ui/LinkLabel.js.map +1 -1
  613. package/cjs/ui/Loader.js +11 -25
  614. package/cjs/ui/Loader.js.map +1 -1
  615. package/cjs/ui/MentionLabel.js +47 -81
  616. package/cjs/ui/MentionLabel.js.map +1 -1
  617. package/cjs/ui/MentionUserLabel.js +4 -19
  618. package/cjs/ui/MentionUserLabel.js.map +1 -1
  619. package/cjs/ui/MessageContent.js +191 -402
  620. package/cjs/ui/MessageContent.js.map +1 -1
  621. package/cjs/ui/MessageInput/hooks/usePaste.js +6 -6
  622. package/cjs/ui/MessageInput.js +447 -625
  623. package/cjs/ui/MessageInput.js.map +1 -1
  624. package/cjs/ui/MessageItemMenu.js +110 -166
  625. package/cjs/ui/MessageItemMenu.js.map +1 -1
  626. package/cjs/ui/MessageItemReactionMenu.js +39 -102
  627. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  628. package/cjs/ui/MessageSearchFileItem.js +77 -114
  629. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  630. package/cjs/ui/MessageSearchItem.js +49 -83
  631. package/cjs/ui/MessageSearchItem.js.map +1 -1
  632. package/cjs/ui/MessageStatus.js +13 -13
  633. package/cjs/ui/Modal.js +18 -131
  634. package/cjs/ui/Modal.js.map +1 -1
  635. package/cjs/ui/MutedAvatarOverlay.js +14 -30
  636. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  637. package/cjs/ui/OGMessageItemBody.js +64 -109
  638. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  639. package/cjs/ui/OpenChannelAdminMessage.js +9 -18
  640. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  641. package/cjs/ui/OpenChannelAvatar.js +14 -29
  642. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  643. package/cjs/ui/OpenchannelConversationHeader.js +21 -60
  644. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  645. package/cjs/ui/OpenchannelFileMessage.js +112 -236
  646. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  647. package/cjs/ui/OpenchannelOGMessage.js +155 -330
  648. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  649. package/cjs/ui/OpenchannelThumbnailMessage.js +150 -315
  650. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  651. package/cjs/ui/OpenchannelUserMessage.js +124 -266
  652. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  653. package/cjs/ui/PlaceHolder.js +46 -105
  654. package/cjs/ui/PlaceHolder.js.map +1 -1
  655. package/cjs/ui/PlaybackTime.js +12 -26
  656. package/cjs/ui/PlaybackTime.js.map +1 -1
  657. package/cjs/ui/ProgressBar.js +13 -31
  658. package/cjs/ui/ProgressBar.js.map +1 -1
  659. package/cjs/ui/QuoteMessage.js +70 -146
  660. package/cjs/ui/QuoteMessage.js.map +1 -1
  661. package/cjs/ui/QuoteMessageInput.js +71 -102
  662. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  663. package/cjs/ui/ReactionBadge.js +20 -46
  664. package/cjs/ui/ReactionBadge.js.map +1 -1
  665. package/cjs/ui/ReactionButton.js +17 -39
  666. package/cjs/ui/ReactionButton.js.map +1 -1
  667. package/cjs/ui/SortByRow.js +23 -35
  668. package/cjs/ui/SortByRow.js.map +1 -1
  669. package/cjs/ui/TextButton.js +9 -29
  670. package/cjs/ui/TextButton.js.map +1 -1
  671. package/cjs/ui/TextMessageItemBody.js +41 -57
  672. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  673. package/cjs/ui/ThreadReplies.js +32 -70
  674. package/cjs/ui/ThreadReplies.js.map +1 -1
  675. package/cjs/ui/ThumbnailMessageItemBody.js +34 -74
  676. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  677. package/cjs/ui/Toggle.js +110 -189
  678. package/cjs/ui/Toggle.js.map +1 -1
  679. package/cjs/ui/Tooltip.js +9 -20
  680. package/cjs/ui/Tooltip.js.map +1 -1
  681. package/cjs/ui/TooltipWrapper.js +13 -45
  682. package/cjs/ui/TooltipWrapper.js.map +1 -1
  683. package/cjs/ui/UnknownMessageItemBody.js +20 -34
  684. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  685. package/cjs/ui/UserListItem.js +49 -116
  686. package/cjs/ui/UserListItem.js.map +1 -1
  687. package/cjs/ui/UserProfile.js +43 -72
  688. package/cjs/ui/UserProfile.js.map +1 -1
  689. package/cjs/ui/VoiceMessageItemBody.js +53 -106
  690. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  691. package/cjs/ui/VoiceMessgeInput.js +9 -11
  692. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  693. package/cjs/ui/Word.js +58 -87
  694. package/cjs/ui/Word.js.map +1 -1
  695. package/cjs/useSendbirdStateContext.js +16 -15
  696. package/cjs/useSendbirdStateContext.js.map +1 -1
  697. package/cjs/utils/message/getOutgoingMessageState.js +32 -31
  698. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  699. package/cjs/utils/message/isVoiceMessage.js +3 -5
  700. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  701. package/cjs/withSendbird.js +18 -23
  702. package/cjs/withSendbird.js.map +1 -1
  703. package/dist/index.css +180 -127
  704. package/dist/index.css.map +1 -1
  705. package/handlers/OpenChannelHandler.js +2 -2
  706. package/handlers/OpenChannelHandler.js.map +1 -1
  707. package/handlers/SessionHandler.js +2 -2
  708. package/handlers/SessionHandler.js.map +1 -1
  709. package/hooks/useModal.js +47 -65
  710. package/hooks/useModal.js.map +1 -1
  711. package/index.js +56 -58
  712. package/index.js.map +1 -1
  713. package/lame.all.js +14797 -679
  714. package/lame.all.js.map +1 -1
  715. package/package.json +1454 -79
  716. package/pubSub/topics.js +14 -14
  717. package/pubSub/topics.js.map +1 -1
  718. package/sendbirdSelectors.js +534 -617
  719. package/sendbirdSelectors.js.map +1 -1
  720. package/types/hooks/VoicePlayer/dux/actionTypes.d.ts +14 -0
  721. package/types/hooks/VoicePlayer/dux/initialState.d.ts +30 -0
  722. package/types/hooks/VoicePlayer/dux/reducer.d.ts +25 -0
  723. package/types/hooks/VoicePlayer/index.d.ts +19 -0
  724. package/types/hooks/VoicePlayer/useVoicePlayer.d.ts +16 -0
  725. package/types/hooks/VoicePlayer/utils.d.ts +2 -0
  726. package/types/hooks/VoiceRecorder/WebAudioUtils.d.ts +4 -0
  727. package/types/hooks/VoiceRecorder/index.d.ts +20 -0
  728. package/types/hooks/VoiceRecorder/useVoiceRecorder.d.ts +18 -0
  729. package/types/hooks/useAppendDomNode.d.ts +2 -0
  730. package/types/hooks/useDebounce.d.ts +1 -0
  731. package/types/hooks/useHandleOnScrollCallback/index.d.ts +11 -0
  732. package/types/hooks/useLongPress.d.ts +21 -0
  733. package/types/hooks/useModal/ModalRoot/index.d.ts +4 -0
  734. package/types/hooks/useModal/index.d.ts +15 -0
  735. package/types/hooks/useMouseHover.d.ts +7 -0
  736. package/types/hooks/useOutsideAlerter.d.ts +7 -0
  737. package/types/hooks/useSendbirdStateContext.d.ts +3 -0
  738. package/types/hooks/useUnmount.d.ts +2 -0
  739. package/types/index.d.ts +13 -0
  740. package/types/lib/LocalizationContext.d.ts +19 -0
  741. package/types/lib/Logger/index.d.ts +24 -0
  742. package/types/lib/MediaQueryContext.d.ts +14 -0
  743. package/types/lib/Sendbird.d.ts +65 -0
  744. package/types/lib/SendbirdSdkContext.d.ts +9 -0
  745. package/types/lib/SendbirdState.d.ts +7 -0
  746. package/types/lib/UserProfileContext.d.ts +22 -0
  747. package/types/lib/VoiceMessageProvider.d.ts +7 -0
  748. package/types/lib/dux/sdk/actionTypes.d.ts +16 -0
  749. package/types/lib/dux/sdk/initialState.d.ts +9 -0
  750. package/types/lib/dux/sdk/reducers.d.ts +3 -0
  751. package/types/lib/dux/user/actionTypes.d.ts +14 -0
  752. package/types/lib/dux/user/initialState.d.ts +8 -0
  753. package/types/lib/dux/user/reducers.d.ts +3 -0
  754. package/types/lib/handlers/ConnectionHandler.d.ts +5 -0
  755. package/types/lib/handlers/GroupChannelHandler.d.ts +7 -0
  756. package/types/lib/handlers/OpenChannelHandler.d.ts +5 -0
  757. package/types/lib/handlers/SessionHandler.d.ts +5 -0
  758. package/types/lib/handlers/UserEventHandler.d.ts +5 -0
  759. package/types/lib/hooks/schedulerFactory.d.ts +11 -0
  760. package/types/lib/hooks/useConnect/__test__/data.mocks.d.ts +15 -0
  761. package/types/lib/hooks/useConnect/connect.d.ts +2 -0
  762. package/types/lib/hooks/useConnect/disconnectSdk.d.ts +2 -0
  763. package/types/lib/hooks/useConnect/index.d.ts +2 -0
  764. package/types/lib/hooks/useConnect/setupConnection.d.ts +18 -0
  765. package/types/lib/hooks/useConnect/types.d.ts +42 -0
  766. package/types/lib/hooks/useMarkAsDeliveredScheduler.d.ts +15 -0
  767. package/types/lib/hooks/useMarkAsReadScheduler.d.ts +15 -0
  768. package/types/lib/hooks/useOnlineStatus.d.ts +4 -0
  769. package/types/lib/hooks/useTheme.d.ts +2 -0
  770. package/types/lib/pubSub/index.d.ts +9 -0
  771. package/types/lib/pubSub/topics.d.ts +16 -0
  772. package/types/lib/selectors.d.ts +247 -0
  773. package/types/lib/types.d.ts +165 -0
  774. package/types/lib/utils/resolvedReplyType.d.ts +28 -0
  775. package/types/lib/utils/uikitConfigMapper.d.ts +5 -0
  776. package/types/modules/App/AppLayout.d.ts +3 -0
  777. package/types/modules/App/DesktopLayout.d.ts +3 -0
  778. package/types/modules/App/MobileLayout.d.ts +4 -0
  779. package/types/modules/App/index.d.ts +44 -0
  780. package/types/modules/App/types.d.ts +72 -0
  781. package/types/modules/Channel/components/ChannelHeader/index.d.ts +7 -0
  782. package/types/modules/Channel/components/ChannelHeader/utils.d.ts +4 -0
  783. package/types/modules/Channel/components/ChannelUI/index.d.ts +19 -0
  784. package/types/modules/Channel/components/FileViewer/index.d.ts +21 -0
  785. package/types/modules/Channel/components/FrozenNotification/index.d.ts +7 -0
  786. package/types/modules/Channel/components/Message/index.d.ts +15 -0
  787. package/types/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.d.ts +10 -0
  788. package/types/modules/Channel/components/MessageInput/index.d.ts +11 -0
  789. package/types/modules/Channel/components/MessageInput/useHandleUploadFiles.d.ts +19 -0
  790. package/types/modules/Channel/components/MessageList/getMessagePartsInfo.d.ts +20 -0
  791. package/types/modules/Channel/components/MessageList/hooks/useScrollBehavior.d.ts +1 -0
  792. package/types/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.d.ts +7 -0
  793. package/types/modules/Channel/components/MessageList/index.d.ts +12 -0
  794. package/types/modules/Channel/components/RemoveMessageModal.d.ts +9 -0
  795. package/types/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.d.ts +21 -0
  796. package/types/modules/Channel/components/SuggestedMentionList/index.d.ts +20 -0
  797. package/types/modules/Channel/components/SuggestedReplies/index.d.ts +10 -0
  798. package/types/modules/Channel/components/TypingIndicator.d.ts +8 -0
  799. package/types/modules/Channel/components/UnreadCount/index.d.ts +12 -0
  800. package/types/modules/Channel/context/ChannelProvider.d.ts +129 -0
  801. package/types/modules/Channel/context/compareMessagesForGrouping.d.ts +10 -0
  802. package/types/modules/Channel/context/const.d.ts +9 -0
  803. package/types/modules/Channel/context/dux/actionTypes.d.ts +87 -0
  804. package/types/modules/Channel/context/dux/initialState.d.ts +24 -0
  805. package/types/modules/Channel/context/dux/reducers.d.ts +3 -0
  806. package/types/modules/Channel/context/hooks/useDeleteMessageCallback.d.ts +14 -0
  807. package/types/modules/Channel/context/hooks/useGetChannel.d.ts +18 -0
  808. package/types/modules/Channel/context/hooks/useHandleChannelEvents.d.ts +29 -0
  809. package/types/modules/Channel/context/hooks/useHandleChannelPubsubEvents.d.ts +10 -0
  810. package/types/modules/Channel/context/hooks/useHandleReconnect.d.ts +23 -0
  811. package/types/modules/Channel/context/hooks/useInitialMessagesFetch.d.ts +20 -0
  812. package/types/modules/Channel/context/hooks/useReconnectOnIdle.d.ts +5 -0
  813. package/types/modules/Channel/context/hooks/useResendMessageCallback.d.ts +14 -0
  814. package/types/modules/Channel/context/hooks/useScrollCallback.d.ts +21 -0
  815. package/types/modules/Channel/context/hooks/useScrollDownCallback.d.ts +23 -0
  816. package/types/modules/Channel/context/hooks/useScrollToMessage.d.ts +14 -0
  817. package/types/modules/Channel/context/hooks/useSendFileMessageCallback.d.ts +21 -0
  818. package/types/modules/Channel/context/hooks/useSendMessageCallback.d.ts +27 -0
  819. package/types/modules/Channel/context/hooks/useSendMultipleFilesMessage.d.ts +32 -0
  820. package/types/modules/Channel/context/hooks/useSendVoiceMessageCallback.d.ts +20 -0
  821. package/types/modules/Channel/context/hooks/useStatefulFileInfoList.d.ts +3 -0
  822. package/types/modules/Channel/context/hooks/useThreadMessageKindKeySelector.d.ts +7 -0
  823. package/types/modules/Channel/context/hooks/useToggleReactionCallback.d.ts +11 -0
  824. package/types/modules/Channel/context/hooks/useUpdateMessageCallback.d.ts +26 -0
  825. package/types/modules/Channel/context/utils.d.ts +18 -0
  826. package/types/modules/Channel/index.d.ts +7 -0
  827. package/types/modules/ChannelList/components/AddChannel/index.d.ts +3 -0
  828. package/types/modules/ChannelList/components/ChannelListHeader/index.d.ts +11 -0
  829. package/types/modules/ChannelList/components/ChannelListUI/index.d.ts +23 -0
  830. package/types/modules/ChannelList/components/ChannelPreview/index.d.ts +16 -0
  831. package/types/modules/ChannelList/components/ChannelPreview/utils.d.ts +10 -0
  832. package/types/modules/ChannelList/components/ChannelPreviewAction.d.ts +9 -0
  833. package/types/modules/ChannelList/components/LeaveChannel/index.d.ts +9 -0
  834. package/types/modules/ChannelList/components/Placeholder.d.ts +7 -0
  835. package/types/modules/ChannelList/context/ChannelListProvider.d.ts +75 -0
  836. package/types/modules/ChannelList/context/hooks/useActiveChannelUrl.d.ts +15 -0
  837. package/types/modules/ChannelList/context/hooks/useFetchChannelList.d.ts +17 -0
  838. package/types/modules/ChannelList/dux/actionTypes.d.ts +66 -0
  839. package/types/modules/ChannelList/dux/getNextChannel.d.ts +14 -0
  840. package/types/modules/ChannelList/dux/initialState.d.ts +12 -0
  841. package/types/modules/ChannelList/dux/reducers.d.ts +3 -0
  842. package/types/modules/ChannelList/index.d.ts +7 -0
  843. package/types/modules/ChannelList/utils.d.ts +35 -0
  844. package/types/modules/ChannelSettings/components/ChannelProfile/index.d.ts +4 -0
  845. package/types/modules/ChannelSettings/components/ChannelSettingsUI/index.d.ts +10 -0
  846. package/types/modules/ChannelSettings/components/EditDetailsModal/index.d.ts +7 -0
  847. package/types/modules/ChannelSettings/components/LeaveChannel/index.d.ts +8 -0
  848. package/types/modules/ChannelSettings/components/ModerationPanel/AddOperatorsModal.d.ts +7 -0
  849. package/types/modules/ChannelSettings/components/ModerationPanel/BannedUserList.d.ts +3 -0
  850. package/types/modules/ChannelSettings/components/ModerationPanel/BannedUsersModal.d.ts +6 -0
  851. package/types/modules/ChannelSettings/components/ModerationPanel/InviteUsersModal.d.ts +7 -0
  852. package/types/modules/ChannelSettings/components/ModerationPanel/MemberList.d.ts +3 -0
  853. package/types/modules/ChannelSettings/components/ModerationPanel/MembersModal.d.ts +6 -0
  854. package/types/modules/ChannelSettings/components/ModerationPanel/MutedMemberList.d.ts +3 -0
  855. package/types/modules/ChannelSettings/components/ModerationPanel/MutedMembersModal.d.ts +6 -0
  856. package/types/modules/ChannelSettings/components/ModerationPanel/OperatorList.d.ts +3 -0
  857. package/types/modules/ChannelSettings/components/ModerationPanel/OperatorsModal.d.ts +6 -0
  858. package/types/modules/ChannelSettings/components/ModerationPanel/index.d.ts +3 -0
  859. package/types/modules/ChannelSettings/components/UserListItem/index.d.ts +19 -0
  860. package/types/modules/ChannelSettings/components/UserPanel/index.d.ts +4 -0
  861. package/types/modules/ChannelSettings/context/ChannelSettingsProvider.d.ts +47 -0
  862. package/types/modules/ChannelSettings/index.d.ts +7 -0
  863. package/types/modules/CreateChannel/components/CreateChannelUI/index.d.ts +8 -0
  864. package/types/modules/CreateChannel/components/InviteUsers/index.d.ts +9 -0
  865. package/types/modules/CreateChannel/components/InviteUsers/utils.d.ts +12 -0
  866. package/types/modules/CreateChannel/components/SelectChannelType.d.ts +6 -0
  867. package/types/modules/CreateChannel/context/CreateChannelProvider.d.ts +37 -0
  868. package/types/modules/CreateChannel/index.d.ts +7 -0
  869. package/types/modules/CreateChannel/types.d.ts +5 -0
  870. package/types/modules/CreateChannel/utils.d.ts +3 -0
  871. package/types/modules/CreateOpenChannel/components/CreateOpenChannelUI/index.d.ts +9 -0
  872. package/types/modules/CreateOpenChannel/context/CreateOpenChannelProvider.d.ts +22 -0
  873. package/types/modules/CreateOpenChannel/index.d.ts +7 -0
  874. package/types/modules/EditUserProfile/components/EditUserProfileUI/index.d.ts +3 -0
  875. package/types/modules/EditUserProfile/context/EditUserProfileProvider.d.ts +16 -0
  876. package/types/modules/EditUserProfile/index.d.ts +4 -0
  877. package/types/modules/Message/components/TextFragment/index.d.ts +6 -0
  878. package/types/modules/Message/consts.d.ts +1 -0
  879. package/types/modules/Message/context/MessageProvider.d.ts +11 -0
  880. package/types/modules/Message/hooks/useDirtyGetMentions.d.ts +14 -0
  881. package/types/modules/Message/utils/getMentionNodes.d.ts +1 -0
  882. package/types/modules/Message/utils/tokens/keyGenerator.d.ts +1 -0
  883. package/types/modules/Message/utils/tokens/tokenize.d.ts +18 -0
  884. package/types/modules/Message/utils/tokens/types.d.ts +37 -0
  885. package/types/modules/MessageSearch/components/MessageSearchUI/index.d.ts +15 -0
  886. package/types/modules/MessageSearch/context/MessageSearchProvider.d.ts +41 -0
  887. package/types/modules/MessageSearch/context/dux/actionTypes.d.ts +8 -0
  888. package/types/modules/MessageSearch/context/dux/initialState.d.ts +14 -0
  889. package/types/modules/MessageSearch/context/dux/reducers.d.ts +7 -0
  890. package/types/modules/MessageSearch/context/hooks/useGetSearchedMessages.d.ts +24 -0
  891. package/types/modules/MessageSearch/context/hooks/useScrollCallback.d.ts +20 -0
  892. package/types/modules/MessageSearch/context/hooks/useSearchStringEffect.d.ts +11 -0
  893. package/types/modules/MessageSearch/context/hooks/useSetChannel.d.ts +16 -0
  894. package/types/modules/MessageSearch/index.d.ts +10 -0
  895. package/types/modules/OpenChannel/components/FrozenChannelNotification/index.d.ts +4 -0
  896. package/types/modules/OpenChannel/components/OpenChannelHeader/index.d.ts +3 -0
  897. package/types/modules/OpenChannel/components/OpenChannelInput/index.d.ts +6 -0
  898. package/types/modules/OpenChannel/components/OpenChannelMessage/RemoveMessageModal.d.ts +10 -0
  899. package/types/modules/OpenChannel/components/OpenChannelMessage/index.d.ts +12 -0
  900. package/types/modules/OpenChannel/components/OpenChannelMessage/utils.d.ts +37 -0
  901. package/types/modules/OpenChannel/components/OpenChannelMessageList/index.d.ts +9 -0
  902. package/types/modules/OpenChannel/components/OpenChannelUI/index.d.ts +13 -0
  903. package/types/modules/OpenChannel/context/OpenChannelProvider.d.ts +52 -0
  904. package/types/modules/OpenChannel/context/dux/actionTypes.d.ts +37 -0
  905. package/types/modules/OpenChannel/context/dux/initialState.d.ts +19 -0
  906. package/types/modules/OpenChannel/context/dux/reducers.d.ts +7 -0
  907. package/types/modules/OpenChannel/context/hooks/useCheckScrollBottom.d.ts +10 -0
  908. package/types/modules/OpenChannel/context/hooks/useDeleteMessageCallback.d.ts +17 -0
  909. package/types/modules/OpenChannel/context/hooks/useFileUploadCallback.d.ts +27 -0
  910. package/types/modules/OpenChannel/context/hooks/useHandleChannelEvents.d.ts +20 -0
  911. package/types/modules/OpenChannel/context/hooks/useInitialMessagesFetch.d.ts +14 -0
  912. package/types/modules/OpenChannel/context/hooks/useResendMessageCallback.d.ts +17 -0
  913. package/types/modules/OpenChannel/context/hooks/useScrollCallback.d.ts +18 -0
  914. package/types/modules/OpenChannel/context/hooks/useSendMessageCallback.d.ts +22 -0
  915. package/types/modules/OpenChannel/context/hooks/useSetChannel.d.ts +20 -0
  916. package/types/modules/OpenChannel/context/hooks/useTrimMessageList.d.ts +17 -0
  917. package/types/modules/OpenChannel/context/hooks/useUpdateMessageCallback.d.ts +17 -0
  918. package/types/modules/OpenChannel/context/utils.d.ts +16 -0
  919. package/types/modules/OpenChannel/index.d.ts +7 -0
  920. package/types/modules/OpenChannelApp/Community.d.ts +11 -0
  921. package/types/modules/OpenChannelApp/Streaming.d.ts +11 -0
  922. package/types/modules/OpenChannelApp/assets/Icons.d.ts +7 -0
  923. package/types/modules/OpenChannelApp/components/CommunityChannelList.d.ts +7 -0
  924. package/types/modules/OpenChannelApp/components/DummyStream.d.ts +20 -0
  925. package/types/modules/OpenChannelApp/components/Login.d.ts +12 -0
  926. package/types/modules/OpenChannelApp/components/OpenChannelPreview.d.ts +11 -0
  927. package/types/modules/OpenChannelApp/components/Profile.d.ts +8 -0
  928. package/types/modules/OpenChannelApp/components/StreamingChannelList.d.ts +7 -0
  929. package/types/modules/OpenChannelApp/index.d.ts +16 -0
  930. package/types/modules/OpenChannelApp/stories/utils.d.ts +6 -0
  931. package/types/modules/OpenChannelList/components/OpenChannelListUI/index.d.ts +18 -0
  932. package/types/modules/OpenChannelList/components/OpenChannelPreview/index.d.ts +11 -0
  933. package/types/modules/OpenChannelList/context/OpenChannelListInterfaces.d.ts +42 -0
  934. package/types/modules/OpenChannelList/context/OpenChannelListProvider.d.ts +9 -0
  935. package/types/modules/OpenChannelList/context/dux/actionTypes.d.ts +14 -0
  936. package/types/modules/OpenChannelList/context/dux/initialState.d.ts +10 -0
  937. package/types/modules/OpenChannelList/context/dux/reducer.d.ts +6 -0
  938. package/types/modules/OpenChannelList/context/hooks/createChannelListQuery.d.ts +13 -0
  939. package/types/modules/OpenChannelList/context/hooks/useFetchNextCallback.d.ts +15 -0
  940. package/types/modules/OpenChannelList/context/hooks/useRefreshOpenChannelList.d.ts +14 -0
  941. package/types/modules/OpenChannelList/context/hooks/useSetupOpenChannelList.d.ts +14 -0
  942. package/types/modules/OpenChannelList/index.d.ts +7 -0
  943. package/types/modules/OpenChannelSettings/components/EditDetailsModal.d.ts +6 -0
  944. package/types/modules/OpenChannelSettings/components/InvalidChannel.d.ts +6 -0
  945. package/types/modules/OpenChannelSettings/components/OpenChannelProfile/index.d.ts +3 -0
  946. package/types/modules/OpenChannelSettings/components/OpenChannelSettingsUI/index.d.ts +8 -0
  947. package/types/modules/OpenChannelSettings/components/OperatorUI/AddOperatorsModal.d.ts +7 -0
  948. package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUserList.d.ts +3 -0
  949. package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUsersModal.d.ts +6 -0
  950. package/types/modules/OpenChannelSettings/components/OperatorUI/DeleteOpenChannel.d.ts +2 -0
  951. package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantList.d.ts +3 -0
  952. package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantsModal.d.ts +6 -0
  953. package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorList.d.ts +3 -0
  954. package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorsModal.d.ts +6 -0
  955. package/types/modules/OpenChannelSettings/components/OperatorUI/index.d.ts +7 -0
  956. package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.d.ts +17 -0
  957. package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.d.ts +6 -0
  958. package/types/modules/OpenChannelSettings/components/ParticipantUI/index.d.ts +6 -0
  959. package/types/modules/OpenChannelSettings/context/OpenChannelSettingsProvider.d.ts +27 -0
  960. package/types/modules/OpenChannelSettings/index.d.ts +7 -0
  961. package/types/modules/Thread/components/ParentMessageInfo/ParentMessageInfoItem.d.ts +9 -0
  962. package/types/modules/Thread/components/ParentMessageInfo/index.d.ts +6 -0
  963. package/types/modules/Thread/components/RemoveMessageModal.d.ts +9 -0
  964. package/types/modules/Thread/components/ThreadHeader/index.d.ts +14 -0
  965. package/types/modules/Thread/components/ThreadList/ThreadListItem.d.ts +14 -0
  966. package/types/modules/Thread/components/ThreadList/ThreadListItemContent.d.ts +30 -0
  967. package/types/modules/Thread/components/ThreadList/index.d.ts +18 -0
  968. package/types/modules/Thread/components/ThreadMessageInput/index.d.ts +11 -0
  969. package/types/modules/Thread/components/ThreadUI/index.d.ts +23 -0
  970. package/types/modules/Thread/components/ThreadUI/useMemorizedHeader.d.ts +6 -0
  971. package/types/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.d.ts +11 -0
  972. package/types/modules/Thread/components/ThreadUI/useMemorizedThreadList.d.ts +8 -0
  973. package/types/modules/Thread/consts.d.ts +2 -0
  974. package/types/modules/Thread/context/ThreadProvider.d.ts +43 -0
  975. package/types/modules/Thread/context/dux/actionTypes.d.ts +37 -0
  976. package/types/modules/Thread/context/dux/initialState.d.ts +21 -0
  977. package/types/modules/Thread/context/dux/reducer.d.ts +8 -0
  978. package/types/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +12 -0
  979. package/types/modules/Thread/context/hooks/useGetAllEmoji.d.ts +11 -0
  980. package/types/modules/Thread/context/hooks/useGetChannel.d.ts +18 -0
  981. package/types/modules/Thread/context/hooks/useGetNextThreadsCallback.d.ts +17 -0
  982. package/types/modules/Thread/context/hooks/useGetParentMessage.d.ts +15 -0
  983. package/types/modules/Thread/context/hooks/useGetPrevThreadsCallback.d.ts +17 -0
  984. package/types/modules/Thread/context/hooks/useGetThreadList.d.ts +14 -0
  985. package/types/modules/Thread/context/hooks/useHandleChannelEvents.d.ts +13 -0
  986. package/types/modules/Thread/context/hooks/useHandleThreadPubsubEvents.d.ts +15 -0
  987. package/types/modules/Thread/context/hooks/useResendMessageCallback.d.ts +13 -0
  988. package/types/modules/Thread/context/hooks/useSendFileMessage.d.ts +16 -0
  989. package/types/modules/Thread/context/hooks/useSendMultipleFilesMessage.d.ts +8 -0
  990. package/types/modules/Thread/context/hooks/useSendUserMessageCallback.d.ts +24 -0
  991. package/types/modules/Thread/context/hooks/useSendVoiceMessageCallback.d.ts +16 -0
  992. package/types/modules/Thread/context/hooks/useToggleReactionsCallback.d.ts +10 -0
  993. package/types/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +13 -0
  994. package/types/modules/Thread/context/utils.d.ts +15 -0
  995. package/types/modules/Thread/index.d.ts +8 -0
  996. package/types/modules/Thread/types.d.ts +18 -0
  997. package/types/modules/internalInterfaces.d.ts +4 -0
  998. package/types/types.d.ts +55 -0
  999. package/types/ui/Accordion/AccordionGroup.d.ts +7 -0
  1000. package/types/ui/Accordion/context.d.ts +8 -0
  1001. package/types/ui/Accordion/index.d.ts +13 -0
  1002. package/types/ui/AdminMessage/adminMessageDummyData.mock.d.ts +29 -0
  1003. package/types/ui/AdminMessage/index.d.ts +9 -0
  1004. package/types/ui/Avatar/MutedAvatarOverlay.d.ts +8 -0
  1005. package/types/ui/Avatar/index.d.ts +27 -0
  1006. package/types/ui/Badge/index.d.ts +8 -0
  1007. package/types/ui/BottomSheet/index.d.ts +9 -0
  1008. package/types/ui/Button/index.d.ts +13 -0
  1009. package/types/ui/Button/types.d.ts +10 -0
  1010. package/types/ui/Button/utils.d.ts +3 -0
  1011. package/types/ui/ChannelAvatar/OpenChannelAvatar.d.ts +10 -0
  1012. package/types/ui/ChannelAvatar/index.d.ts +12 -0
  1013. package/types/ui/ChannelAvatar/utils.d.ts +6 -0
  1014. package/types/ui/Checkbox/index.d.ts +9 -0
  1015. package/types/ui/ConnectionStatus/index.d.ts +4 -0
  1016. package/types/ui/ContextMenu/EmojiListItems.d.ts +15 -0
  1017. package/types/ui/ContextMenu/MenuItems.d.ts +29 -0
  1018. package/types/ui/ContextMenu/index.d.ts +24 -0
  1019. package/types/ui/DateSeparator/index.d.ts +10 -0
  1020. package/types/ui/Docs/Introduction.d.ts +2 -0
  1021. package/types/ui/EmojiReactions/AddReactionBadgeItem.d.ts +5 -0
  1022. package/types/ui/EmojiReactions/ReactionItem.d.ts +17 -0
  1023. package/types/ui/EmojiReactions/index.d.ts +21 -0
  1024. package/types/ui/FileMessageItemBody/index.d.ts +13 -0
  1025. package/types/ui/FileViewer/DeleteButton.d.ts +5 -0
  1026. package/types/ui/FileViewer/Slider.d.ts +3 -0
  1027. package/types/ui/FileViewer/data.mock.d.ts +84 -0
  1028. package/types/ui/FileViewer/hooks/useKeyDown.d.ts +8 -0
  1029. package/types/ui/FileViewer/index.d.ts +17 -0
  1030. package/types/ui/FileViewer/types.d.ts +44 -0
  1031. package/types/ui/FileViewer/utils.d.ts +4 -0
  1032. package/types/ui/Icon/colors.d.ts +42 -0
  1033. package/types/ui/Icon/index.d.ts +96 -0
  1034. package/types/ui/Icon/type.d.ts +61 -0
  1035. package/types/ui/Icon/utils.d.ts +4 -0
  1036. package/types/ui/IconButton/index.d.ts +17 -0
  1037. package/types/ui/ImageGrid/index.d.ts +11 -0
  1038. package/types/ui/ImageRenderer/index.d.ts +27 -0
  1039. package/types/ui/ImageRenderer/useDynamicSideLength.d.ts +8 -0
  1040. package/types/ui/ImageRenderer/utils.d.ts +1 -0
  1041. package/types/ui/Input/index.d.ts +15 -0
  1042. package/types/ui/Label/index.d.ts +37 -0
  1043. package/types/ui/Label/stringFormatterUtils.d.ts +2 -0
  1044. package/types/ui/Label/stringSet.d.ts +189 -0
  1045. package/types/ui/Label/types.d.ts +24 -0
  1046. package/types/ui/Label/utils.d.ts +4 -0
  1047. package/types/ui/LegacyEditUserProfile/index.d.ts +20 -0
  1048. package/types/ui/LinkLabel/index.d.ts +37 -0
  1049. package/types/ui/Loader/index.d.ts +9 -0
  1050. package/types/ui/MentionLabel/index.d.ts +10 -0
  1051. package/types/ui/MentionUserLabel/consts.d.ts +1 -0
  1052. package/types/ui/MentionUserLabel/index.d.ts +11 -0
  1053. package/types/ui/MentionUserLabel/renderToString.d.ts +6 -0
  1054. package/types/ui/MessageContent/index.d.ts +39 -0
  1055. package/types/ui/MessageInput/const.d.ts +15 -0
  1056. package/types/ui/MessageInput/hooks/usePaste/consts.d.ts +5 -0
  1057. package/types/ui/MessageInput/hooks/usePaste/index.d.ts +4 -0
  1058. package/types/ui/MessageInput/hooks/usePaste/insertTemplate.d.ts +2 -0
  1059. package/types/ui/MessageInput/hooks/usePaste/types.d.ts +15 -0
  1060. package/types/ui/MessageInput/hooks/usePaste/utils.d.ts +10 -0
  1061. package/types/ui/MessageInput/index.d.ts +47 -0
  1062. package/types/ui/MessageInput/messageInputUtils.d.ts +21 -0
  1063. package/types/ui/MessageInput/utils.d.ts +9 -0
  1064. package/types/ui/MessageItemMenu/index.d.ts +26 -0
  1065. package/types/ui/MessageItemReactionMenu/index.d.ts +16 -0
  1066. package/types/ui/MessageSearchFileItem/index.d.ts +12 -0
  1067. package/types/ui/MessageSearchFileItem/mockFileMessage.d.ts +180 -0
  1068. package/types/ui/MessageSearchFileItem/utils.d.ts +12 -0
  1069. package/types/ui/MessageSearchItem/getCreatedAt.d.ts +8 -0
  1070. package/types/ui/MessageSearchItem/index.d.ts +11 -0
  1071. package/types/ui/MessageSearchItem/messageDummyDate.mock.d.ts +5 -0
  1072. package/types/ui/MessageStatus/index.d.ts +15 -0
  1073. package/types/ui/MessageStatus/messageDummyData.mock.d.ts +7 -0
  1074. package/types/ui/MobileMenu/MobileBottomSheet.d.ts +4 -0
  1075. package/types/ui/MobileMenu/MobileContextMenu.d.ts +4 -0
  1076. package/types/ui/MobileMenu/MobileEmojisBottomSheet.d.ts +11 -0
  1077. package/types/ui/MobileMenu/ReactedMembersBottomSheet.d.ts +14 -0
  1078. package/types/ui/MobileMenu/index.d.ts +5 -0
  1079. package/types/ui/MobileMenu/types.d.ts +32 -0
  1080. package/types/ui/Modal/index.d.ts +40 -0
  1081. package/types/ui/MultipleFilesMessageItemBody/const.d.ts +17 -0
  1082. package/types/ui/MultipleFilesMessageItemBody/index.d.ts +21 -0
  1083. package/types/ui/OGMessageItemBody/consts.d.ts +1 -0
  1084. package/types/ui/OGMessageItemBody/index.d.ts +14 -0
  1085. package/types/ui/OpenChannelAdminMessage/index.d.ts +9 -0
  1086. package/types/ui/OpenChannelMobileMenu/index.d.ts +15 -0
  1087. package/types/ui/OpenchannelConversationHeader/index.d.ts +11 -0
  1088. package/types/ui/OpenchannelFileMessage/index.d.ts +17 -0
  1089. package/types/ui/OpenchannelFileMessage/mockMessages.d.ts +75 -0
  1090. package/types/ui/OpenchannelFileMessage/utils.d.ts +2 -0
  1091. package/types/ui/OpenchannelOGMessage/index.d.ts +18 -0
  1092. package/types/ui/OpenchannelOGMessage/utils.d.ts +4 -0
  1093. package/types/ui/OpenchannelThumbnailMessage/index.d.ts +18 -0
  1094. package/types/ui/OpenchannelThumbnailMessage/utils.d.ts +6 -0
  1095. package/types/ui/OpenchannelUserMessage/index.d.ts +18 -0
  1096. package/types/ui/OpenchannelUserMessage/utils.d.ts +5 -0
  1097. package/types/ui/PlaceHolder/index.d.ts +19 -0
  1098. package/types/ui/PlaybackTime/index.d.ts +11 -0
  1099. package/types/ui/ProgressBar/index.d.ts +16 -0
  1100. package/types/ui/QuoteMessage/index.d.ts +13 -0
  1101. package/types/ui/QuoteMessage/utils.d.ts +7 -0
  1102. package/types/ui/QuoteMessageInput/QuoteMessageThumbnail.d.ts +8 -0
  1103. package/types/ui/QuoteMessageInput/index.d.ts +10 -0
  1104. package/types/ui/QuoteMessageInput/mockMessage.d.ts +362 -0
  1105. package/types/ui/ReactionBadge/index.d.ts +12 -0
  1106. package/types/ui/ReactionButton/index.d.ts +13 -0
  1107. package/types/ui/SortByRow/index.d.ts +10 -0
  1108. package/types/ui/TextButton/index.d.ts +13 -0
  1109. package/types/ui/TextMessageItemBody/consts.d.ts +1 -0
  1110. package/types/ui/TextMessageItemBody/index.d.ts +13 -0
  1111. package/types/ui/ThreadReplies/index.d.ts +9 -0
  1112. package/types/ui/ThumbnailMessageItemBody/index.d.ts +15 -0
  1113. package/types/ui/Toggle/ToggleContainer.d.ts +7 -0
  1114. package/types/ui/Toggle/ToggleContext.d.ts +19 -0
  1115. package/types/ui/Toggle/ToggleUI.d.ts +12 -0
  1116. package/types/ui/Toggle/index.d.ts +11 -0
  1117. package/types/ui/Toggle/utils.d.ts +1 -0
  1118. package/types/ui/Tooltip/index.d.ts +7 -0
  1119. package/types/ui/TooltipWrapper/index.d.ts +8 -0
  1120. package/types/ui/UnknownMessageItemBody/index.d.ts +12 -0
  1121. package/types/ui/UserListItem/index.d.ts +21 -0
  1122. package/types/ui/UserProfile/index.d.ts +17 -0
  1123. package/types/ui/VoiceMessageInput/controlerIcons.d.ts +7 -0
  1124. package/types/ui/VoiceMessageInput/index.d.ts +16 -0
  1125. package/types/ui/VoiceMessageInput/types.d.ts +7 -0
  1126. package/types/ui/VoiceMessageItemBody/index.d.ts +12 -0
  1127. package/types/ui/Word/index.d.ts +17 -0
  1128. package/types/utils/cloneMessage.d.ts +2 -0
  1129. package/types/utils/color.d.ts +12 -0
  1130. package/types/utils/compareIds.d.ts +1 -0
  1131. package/types/utils/consts.d.ts +23 -0
  1132. package/types/utils/createStatefulFileInfoList.d.ts +11 -0
  1133. package/types/utils/exports/getOutgoingMessageState.d.ts +13 -0
  1134. package/types/utils/getIsReactionEnabled.d.ts +11 -0
  1135. package/types/utils/index.d.ts +142 -0
  1136. package/types/utils/isVoiceMessage.d.ts +1 -0
  1137. package/types/utils/numberToPx.d.ts +2 -0
  1138. package/types/utils/openChannelUtils.d.ts +44 -0
  1139. package/types/utils/pxToNumber.d.ts +2 -0
  1140. package/types/utils/testMocks/error.d.ts +9 -0
  1141. package/types/utils/testMocks/message.d.ts +23 -0
  1142. package/types/utils/testMocks/messageRequestHandler.d.ts +15 -0
  1143. package/types/utils/typeHelpers/objectValues.d.ts +16 -0
  1144. package/types/utils/typeHelpers/partialDeep.d.ts +14 -0
  1145. package/types/utils/typeHelpers/reducers/createAction.d.ts +17 -0
  1146. package/types/utils/useDidMountEffect.d.ts +2 -0
  1147. package/types/utils/utils.d.ts +10 -0
  1148. package/types/utils/uuid.d.ts +2 -0
  1149. package/ui/Accordion.js +39 -52
  1150. package/ui/Accordion.js.map +1 -1
  1151. package/ui/AccordionGroup.js +9 -18
  1152. package/ui/AccordionGroup.js.map +1 -1
  1153. package/ui/AdminMessage.js +13 -19
  1154. package/ui/AdminMessage.js.map +1 -1
  1155. package/ui/Avatar.js +69 -189
  1156. package/ui/Avatar.js.map +1 -1
  1157. package/ui/Badge.js +18 -22
  1158. package/ui/Badge.js.map +1 -1
  1159. package/ui/BottomSheet.js +28 -34
  1160. package/ui/BottomSheet.js.map +1 -1
  1161. package/ui/Button.js +42 -53
  1162. package/ui/Button.js.map +1 -1
  1163. package/ui/ChannelAvatar.js +20 -43
  1164. package/ui/ChannelAvatar.js.map +1 -1
  1165. package/ui/Checkbox.js +15 -24
  1166. package/ui/Checkbox.js.map +1 -1
  1167. package/ui/ConnectionStatus.js +11 -18
  1168. package/ui/ConnectionStatus.js.map +1 -1
  1169. package/ui/ContextMenu.js +195 -280
  1170. package/ui/ContextMenu.js.map +1 -1
  1171. package/ui/DateSeparator.js +13 -24
  1172. package/ui/DateSeparator.js.map +1 -1
  1173. package/ui/EmojiReactions.js +142 -325
  1174. package/ui/EmojiReactions.js.map +1 -1
  1175. package/ui/FileMessageItemBody.js +30 -49
  1176. package/ui/FileMessageItemBody.js.map +1 -1
  1177. package/ui/FileViewer.js +17 -16
  1178. package/ui/FileViewer.js.map +1 -1
  1179. package/ui/Icon.js +541 -707
  1180. package/ui/Icon.js.map +1 -1
  1181. package/ui/IconButton.js +18 -45
  1182. package/ui/IconButton.js.map +1 -1
  1183. package/ui/ImageRenderer.js +102 -149
  1184. package/ui/ImageRenderer.js.map +1 -1
  1185. package/ui/Input.js +15 -37
  1186. package/ui/Input.js.map +1 -1
  1187. package/ui/Label.js +3 -3
  1188. package/ui/LinkLabel.js +21 -45
  1189. package/ui/LinkLabel.js.map +1 -1
  1190. package/ui/Loader.js +11 -21
  1191. package/ui/Loader.js.map +1 -1
  1192. package/ui/MentionLabel.js +47 -77
  1193. package/ui/MentionLabel.js.map +1 -1
  1194. package/ui/MentionUserLabel.js +4 -15
  1195. package/ui/MentionUserLabel.js.map +1 -1
  1196. package/ui/MessageContent.js +191 -398
  1197. package/ui/MessageContent.js.map +1 -1
  1198. package/ui/MessageInput/hooks/usePaste.js +5 -5
  1199. package/ui/MessageInput.js +448 -621
  1200. package/ui/MessageInput.js.map +1 -1
  1201. package/ui/MessageItemMenu.js +110 -162
  1202. package/ui/MessageItemMenu.js.map +1 -1
  1203. package/ui/MessageItemReactionMenu.js +39 -98
  1204. package/ui/MessageItemReactionMenu.js.map +1 -1
  1205. package/ui/MessageSearchFileItem.js +77 -110
  1206. package/ui/MessageSearchFileItem.js.map +1 -1
  1207. package/ui/MessageSearchItem.js +49 -79
  1208. package/ui/MessageSearchItem.js.map +1 -1
  1209. package/ui/MessageStatus.js +12 -12
  1210. package/ui/Modal.js +13 -126
  1211. package/ui/Modal.js.map +1 -1
  1212. package/ui/MutedAvatarOverlay.js +14 -26
  1213. package/ui/MutedAvatarOverlay.js.map +1 -1
  1214. package/ui/OGMessageItemBody.js +64 -105
  1215. package/ui/OGMessageItemBody.js.map +1 -1
  1216. package/ui/OpenChannelAdminMessage.js +9 -14
  1217. package/ui/OpenChannelAdminMessage.js.map +1 -1
  1218. package/ui/OpenChannelAvatar.js +14 -25
  1219. package/ui/OpenChannelAvatar.js.map +1 -1
  1220. package/ui/OpenchannelConversationHeader.js +21 -56
  1221. package/ui/OpenchannelConversationHeader.js.map +1 -1
  1222. package/ui/OpenchannelFileMessage.js +112 -232
  1223. package/ui/OpenchannelFileMessage.js.map +1 -1
  1224. package/ui/OpenchannelOGMessage.js +155 -326
  1225. package/ui/OpenchannelOGMessage.js.map +1 -1
  1226. package/ui/OpenchannelThumbnailMessage.js +150 -311
  1227. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  1228. package/ui/OpenchannelUserMessage.js +124 -262
  1229. package/ui/OpenchannelUserMessage.js.map +1 -1
  1230. package/ui/PlaceHolder.js +45 -100
  1231. package/ui/PlaceHolder.js.map +1 -1
  1232. package/ui/PlaybackTime.js +11 -21
  1233. package/ui/PlaybackTime.js.map +1 -1
  1234. package/ui/ProgressBar.js +12 -26
  1235. package/ui/ProgressBar.js.map +1 -1
  1236. package/ui/QuoteMessage.js +70 -142
  1237. package/ui/QuoteMessage.js.map +1 -1
  1238. package/ui/QuoteMessageInput.js +71 -98
  1239. package/ui/QuoteMessageInput.js.map +1 -1
  1240. package/ui/ReactionBadge.js +20 -42
  1241. package/ui/ReactionBadge.js.map +1 -1
  1242. package/ui/ReactionButton.js +17 -35
  1243. package/ui/ReactionButton.js.map +1 -1
  1244. package/ui/SortByRow.js +23 -31
  1245. package/ui/SortByRow.js.map +1 -1
  1246. package/ui/TextButton.js +9 -25
  1247. package/ui/TextButton.js.map +1 -1
  1248. package/ui/TextMessageItemBody.js +41 -53
  1249. package/ui/TextMessageItemBody.js.map +1 -1
  1250. package/ui/ThreadReplies.js +32 -66
  1251. package/ui/ThreadReplies.js.map +1 -1
  1252. package/ui/ThumbnailMessageItemBody.js +34 -70
  1253. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  1254. package/ui/Toggle.js +110 -183
  1255. package/ui/Toggle.js.map +1 -1
  1256. package/ui/Tooltip.js +9 -16
  1257. package/ui/Tooltip.js.map +1 -1
  1258. package/ui/TooltipWrapper.js +13 -41
  1259. package/ui/TooltipWrapper.js.map +1 -1
  1260. package/ui/UnknownMessageItemBody.js +20 -30
  1261. package/ui/UnknownMessageItemBody.js.map +1 -1
  1262. package/ui/UserListItem.js +49 -112
  1263. package/ui/UserListItem.js.map +1 -1
  1264. package/ui/UserProfile.js +44 -69
  1265. package/ui/UserProfile.js.map +1 -1
  1266. package/ui/VoiceMessageItemBody.js +52 -101
  1267. package/ui/VoiceMessageItemBody.js.map +1 -1
  1268. package/ui/VoiceMessgeInput.js +9 -9
  1269. package/ui/Word.js +58 -83
  1270. package/ui/Word.js.map +1 -1
  1271. package/useSendbirdStateContext.js +15 -14
  1272. package/useSendbirdStateContext.js.map +1 -1
  1273. package/utils/message/getOutgoingMessageState.js +32 -29
  1274. package/utils/message/getOutgoingMessageState.js.map +1 -1
  1275. package/utils/message/isVoiceMessage.js +3 -3
  1276. package/utils/message/isVoiceMessage.js.map +1 -1
  1277. package/withSendbird.js +17 -18
  1278. package/withSendbird.js.map +1 -1
  1279. package/ChannelListProvider-63aa89ac.js +0 -1051
  1280. package/ChannelListProvider-63aa89ac.js.map +0 -1
  1281. package/ChannelProvider-08534eaa.js +0 -2079
  1282. package/ChannelProvider-08534eaa.js.map +0 -1
  1283. package/CreateChannelProvider-7aa5bcd3.js +0 -48
  1284. package/CreateChannelProvider-7aa5bcd3.js.map +0 -1
  1285. package/LocalizationContext-3dd8dd71.js +0 -20
  1286. package/LocalizationContext-3dd8dd71.js.map +0 -1
  1287. package/MediaQueryContext-e7425227.js +0 -85
  1288. package/MediaQueryContext-e7425227.js.map +0 -1
  1289. package/MemberList-5f00f0af.js +0 -422
  1290. package/MemberList-5f00f0af.js.map +0 -1
  1291. package/OpenChannelListProvider-d318c26b.js +0 -407
  1292. package/OpenChannelListProvider-d318c26b.js.map +0 -1
  1293. package/OpenChannelProvider-95f0d098.js +0 -1850
  1294. package/OpenChannelProvider-95f0d098.js.map +0 -1
  1295. package/RemoveMessageModal-16417a53.js +0 -33
  1296. package/RemoveMessageModal-16417a53.js.map +0 -1
  1297. package/UserProfileContext-a70aa041.js +0 -34
  1298. package/UserProfileContext-a70aa041.js.map +0 -1
  1299. package/WebAudioUtils-10cc2346.js +0 -126
  1300. package/WebAudioUtils-10cc2346.js.map +0 -1
  1301. package/_rollupPluginBabelHelpers-bb4003a4.js +0 -66
  1302. package/_rollupPluginBabelHelpers-bb4003a4.js.map +0 -1
  1303. package/actionTypes-fd447faf.js +0 -8
  1304. package/actionTypes-fd447faf.js.map +0 -1
  1305. package/cjs/ChannelListProvider-c35c3937.js +0 -1060
  1306. package/cjs/ChannelListProvider-c35c3937.js.map +0 -1
  1307. package/cjs/ChannelProvider-95309057.js +0 -2087
  1308. package/cjs/ChannelProvider-95309057.js.map +0 -1
  1309. package/cjs/CreateChannelProvider-4d70701b.js +0 -55
  1310. package/cjs/CreateChannelProvider-4d70701b.js.map +0 -1
  1311. package/cjs/LocalizationContext-e12e7229.js +0 -28
  1312. package/cjs/LocalizationContext-e12e7229.js.map +0 -1
  1313. package/cjs/MediaQueryContext-77316b55.js +0 -92
  1314. package/cjs/MediaQueryContext-77316b55.js.map +0 -1
  1315. package/cjs/MemberList-5442a043.js +0 -428
  1316. package/cjs/MemberList-5442a043.js.map +0 -1
  1317. package/cjs/OpenChannelListProvider-0eb92240.js +0 -416
  1318. package/cjs/OpenChannelListProvider-0eb92240.js.map +0 -1
  1319. package/cjs/OpenChannelProvider-5e9198f9.js +0 -1859
  1320. package/cjs/OpenChannelProvider-5e9198f9.js.map +0 -1
  1321. package/cjs/RemoveMessageModal-300aff21.js +0 -39
  1322. package/cjs/RemoveMessageModal-300aff21.js.map +0 -1
  1323. package/cjs/UserProfileContext-712f02b1.js +0 -41
  1324. package/cjs/UserProfileContext-712f02b1.js.map +0 -1
  1325. package/cjs/WebAudioUtils-cc296e5f.js +0 -129
  1326. package/cjs/WebAudioUtils-cc296e5f.js.map +0 -1
  1327. package/cjs/_rollupPluginBabelHelpers-b21be8d6.js +0 -69
  1328. package/cjs/_rollupPluginBabelHelpers-b21be8d6.js.map +0 -1
  1329. package/cjs/actionTypes-c1bf54bc.js +0 -10
  1330. package/cjs/actionTypes-c1bf54bc.js.map +0 -1
  1331. package/cjs/color-45578eb6.js +0 -36
  1332. package/cjs/color-45578eb6.js.map +0 -1
  1333. package/cjs/compareIds-6d33d98c.js +0 -18
  1334. package/cjs/compareIds-6d33d98c.js.map +0 -1
  1335. package/cjs/const-9692feaf.js +0 -22
  1336. package/cjs/const-9692feaf.js.map +0 -1
  1337. package/cjs/const-ea1110b8.js.map +0 -1
  1338. package/cjs/consts-2425b1dc.js.map +0 -1
  1339. package/cjs/consts-39b0df2d.js.map +0 -1
  1340. package/cjs/consts-4ddf1e9d.js.map +0 -1
  1341. package/cjs/consts-838d8c0a.js.map +0 -1
  1342. package/cjs/context-b0c281ea.js +0 -19
  1343. package/cjs/context-b0c281ea.js.map +0 -1
  1344. package/cjs/dist/index.css +0 -7702
  1345. package/cjs/dist/index.css.map +0 -1
  1346. package/cjs/index-1c49b970.js +0 -308
  1347. package/cjs/index-1c49b970.js.map +0 -1
  1348. package/cjs/index-23d284a0.js +0 -741
  1349. package/cjs/index-23d284a0.js.map +0 -1
  1350. package/cjs/index-2a618f4d.js.map +0 -1
  1351. package/cjs/index-2c02d236.js +0 -197
  1352. package/cjs/index-2c02d236.js.map +0 -1
  1353. package/cjs/index-35a2f604.js +0 -227
  1354. package/cjs/index-35a2f604.js.map +0 -1
  1355. package/cjs/index-6b215583.js +0 -289
  1356. package/cjs/index-6b215583.js.map +0 -1
  1357. package/cjs/index-6f4ca5cf.js +0 -129
  1358. package/cjs/index-6f4ca5cf.js.map +0 -1
  1359. package/cjs/index-6fdf155b.js +0 -20
  1360. package/cjs/index-6fdf155b.js.map +0 -1
  1361. package/cjs/index-8c79fc87.js +0 -76
  1362. package/cjs/index-8c79fc87.js.map +0 -1
  1363. package/cjs/index-94db47de.js.map +0 -1
  1364. package/cjs/index-ab04f4c1.js.map +0 -1
  1365. package/cjs/index-b1e163b7.js +0 -468
  1366. package/cjs/index-b1e163b7.js.map +0 -1
  1367. package/cjs/index-be4197e2.js +0 -163
  1368. package/cjs/index-be4197e2.js.map +0 -1
  1369. package/cjs/index-c0e391a9.js +0 -173
  1370. package/cjs/index-c0e391a9.js.map +0 -1
  1371. package/cjs/index-cb8e0d3b.js +0 -369
  1372. package/cjs/index-cb8e0d3b.js.map +0 -1
  1373. package/cjs/index-d0d79864.js.map +0 -1
  1374. package/cjs/index-dfe39552.js +0 -59
  1375. package/cjs/index-dfe39552.js.map +0 -1
  1376. package/cjs/index-e61f36ff.js.map +0 -1
  1377. package/cjs/resolvedReplyType-e4155c81.js.map +0 -1
  1378. package/cjs/stringFormatterUtils-db5c0b13.js +0 -16
  1379. package/cjs/stringFormatterUtils-db5c0b13.js.map +0 -1
  1380. package/cjs/stringSet-f086c338.js +0 -212
  1381. package/cjs/stringSet-f086c338.js.map +0 -1
  1382. package/cjs/tokenize-db0fb550.js +0 -159
  1383. package/cjs/tokenize-db0fb550.js.map +0 -1
  1384. package/cjs/tslib.es6-b66710d0.js.map +0 -1
  1385. package/cjs/types-6edcfd89.js.map +0 -1
  1386. package/cjs/types-949e3eb4.js +0 -15
  1387. package/cjs/types-949e3eb4.js.map +0 -1
  1388. package/cjs/useHandleUploadFiles-51f534ef.js +0 -284
  1389. package/cjs/useHandleUploadFiles-51f534ef.js.map +0 -1
  1390. package/cjs/useLongPress-d5d1f4da.js +0 -105
  1391. package/cjs/useLongPress-d5d1f4da.js.map +0 -1
  1392. package/cjs/useSendMultipleFilesMessage-a050e482.js +0 -316
  1393. package/cjs/useSendMultipleFilesMessage-a050e482.js.map +0 -1
  1394. package/cjs/useStatefulFileInfoList-aa28d0cd.js +0 -228
  1395. package/cjs/useStatefulFileInfoList-aa28d0cd.js.map +0 -1
  1396. package/cjs/utils-20fdce6e.js +0 -62
  1397. package/cjs/utils-20fdce6e.js.map +0 -1
  1398. package/cjs/utils-c0bb692b.js +0 -28
  1399. package/cjs/utils-c0bb692b.js.map +0 -1
  1400. package/cjs/utils-cd9f6cd1.js +0 -35
  1401. package/cjs/utils-cd9f6cd1.js.map +0 -1
  1402. package/cjs/utils-de8b30fe.js +0 -10
  1403. package/cjs/utils-de8b30fe.js.map +0 -1
  1404. package/cjs/utils-ef688ff7.js +0 -170
  1405. package/cjs/utils-ef688ff7.js.map +0 -1
  1406. package/cjs/utils-fbdee0b3.js +0 -27
  1407. package/cjs/utils-fbdee0b3.js.map +0 -1
  1408. package/cjs/uuid-121cea7a.js.map +0 -1
  1409. package/color-e1c45ba1.js +0 -34
  1410. package/color-e1c45ba1.js.map +0 -1
  1411. package/compareIds-6a90b7d0.js +0 -16
  1412. package/compareIds-6a90b7d0.js.map +0 -1
  1413. package/const-7e1bef20.js +0 -18
  1414. package/const-7e1bef20.js.map +0 -1
  1415. package/const-818ac95b.js.map +0 -1
  1416. package/consts-893be876.js.map +0 -1
  1417. package/consts-96ddd57a.js.map +0 -1
  1418. package/consts-99975d63.js.map +0 -1
  1419. package/consts-9a7169ff.js.map +0 -1
  1420. package/context-bbbcf8c7.js +0 -12
  1421. package/context-bbbcf8c7.js.map +0 -1
  1422. package/index-02a91ddb.js +0 -53
  1423. package/index-02a91ddb.js.map +0 -1
  1424. package/index-26bafa8f.js.map +0 -1
  1425. package/index-446afac4.js +0 -161
  1426. package/index-446afac4.js.map +0 -1
  1427. package/index-4ff8441f.js.map +0 -1
  1428. package/index-6b269462.js +0 -280
  1429. package/index-6b269462.js.map +0 -1
  1430. package/index-72a8436a.js +0 -118
  1431. package/index-72a8436a.js.map +0 -1
  1432. package/index-7c8bbc47.js +0 -13
  1433. package/index-7c8bbc47.js.map +0 -1
  1434. package/index-8b8c7344.js +0 -182
  1435. package/index-8b8c7344.js.map +0 -1
  1436. package/index-a3b1c2f0.js +0 -298
  1437. package/index-a3b1c2f0.js.map +0 -1
  1438. package/index-a6cfd784.js +0 -692
  1439. package/index-a6cfd784.js.map +0 -1
  1440. package/index-aa3fb70f.js +0 -362
  1441. package/index-aa3fb70f.js.map +0 -1
  1442. package/index-bb6d2c32.js +0 -73
  1443. package/index-bb6d2c32.js.map +0 -1
  1444. package/index-c3d24a1e.js.map +0 -1
  1445. package/index-d6c3b3a4.js +0 -217
  1446. package/index-d6c3b3a4.js.map +0 -1
  1447. package/index-de4364e8.js.map +0 -1
  1448. package/index-e0e44e8a.js +0 -462
  1449. package/index-e0e44e8a.js.map +0 -1
  1450. package/index-e2e20fad.js.map +0 -1
  1451. package/index-f4577c1b.js +0 -156
  1452. package/index-f4577c1b.js.map +0 -1
  1453. package/index.d.ts +0 -2963
  1454. package/resolvedReplyType-1880de12.js.map +0 -1
  1455. package/stringFormatterUtils-c5516210.js +0 -14
  1456. package/stringFormatterUtils-c5516210.js.map +0 -1
  1457. package/stringSet-82c00996.js +0 -210
  1458. package/stringSet-82c00996.js.map +0 -1
  1459. package/tokenize-d54187ef.js +0 -154
  1460. package/tokenize-d54187ef.js.map +0 -1
  1461. package/tslib.es6-353b1a8e.js.map +0 -1
  1462. package/types-9a224810.js +0 -15
  1463. package/types-9a224810.js.map +0 -1
  1464. package/types-afb18a4f.js.map +0 -1
  1465. package/useHandleUploadFiles-cdb22bbb.js +0 -277
  1466. package/useHandleUploadFiles-cdb22bbb.js.map +0 -1
  1467. package/useLongPress-3c3dbc28.js +0 -103
  1468. package/useLongPress-3c3dbc28.js.map +0 -1
  1469. package/useSendMultipleFilesMessage-16db4948.js +0 -283
  1470. package/useSendMultipleFilesMessage-16db4948.js.map +0 -1
  1471. package/useStatefulFileInfoList-1bf95209.js +0 -219
  1472. package/useStatefulFileInfoList-1bf95209.js.map +0 -1
  1473. package/utils-a5eff3c4.js +0 -25
  1474. package/utils-a5eff3c4.js.map +0 -1
  1475. package/utils-d15efa15.js +0 -57
  1476. package/utils-d15efa15.js.map +0 -1
  1477. package/utils-d5f10fce.js +0 -157
  1478. package/utils-d5f10fce.js.map +0 -1
  1479. package/utils-dc677a86.js +0 -7
  1480. package/utils-dc677a86.js.map +0 -1
  1481. package/utils-e3ab3759.js +0 -26
  1482. package/utils-e3ab3759.js.map +0 -1
  1483. package/utils-f00fcb05.js +0 -31
  1484. package/utils-f00fcb05.js.map +0 -1
  1485. package/uuid-a9b18b52.js.map +0 -1
@@ -0,0 +1,1460 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var index = require('./bundle-28p7K0N-.js');
5
+ var UserProfileContext = require('./bundle-4bb_98h6.js');
6
+ var _tslib = require('./bundle-hK4x7nmG.js');
7
+ var compareIds = require('./bundle-tmB_l3Q9.js');
8
+ var pubSub_topics = require('../pubSub/topics.js');
9
+ var SendbirdChat = require('@sendbird/chat');
10
+ var openChannel = require('@sendbird/chat/openChannel');
11
+ var uuid = require('./bundle-gMxOq93o.js');
12
+ var useSendbirdStateContext = require('../useSendbirdStateContext.js');
13
+
14
+ var getMessageCreatedAt = function (message) { return index.format(message.createdAt, 'p'); };
15
+ var shouldFetchMore = function (messageLength, maxMessages) {
16
+ if (typeof maxMessages !== 'number') {
17
+ return true;
18
+ }
19
+ if (typeof maxMessages === 'number'
20
+ && maxMessages > messageLength) {
21
+ return true;
22
+ }
23
+ return false;
24
+ };
25
+ /* eslint-disable default-param-last */
26
+ var scrollIntoLast = function (initialTry, scrollRef) {
27
+ if (initialTry === void 0) { initialTry = 0; }
28
+ var MAX_TRIES = 10;
29
+ var currentTry = initialTry;
30
+ if (currentTry > MAX_TRIES) {
31
+ return;
32
+ }
33
+ try {
34
+ var scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-openchannel-conversation-scroll__container__item-container');
35
+ // eslint-disable-next-line no-multi-assign
36
+ scrollDOM.scrollTop = scrollDOM.scrollHeight;
37
+ }
38
+ catch (error) {
39
+ setTimeout(function () {
40
+ scrollIntoLast(currentTry + 1, scrollRef);
41
+ }, 500 * currentTry);
42
+ }
43
+ };
44
+ var isSameGroup = function (message, comparingMessage) {
45
+ var _a, _b, _c, _d;
46
+ if (!(message
47
+ && comparingMessage
48
+ && (message === null || message === void 0 ? void 0 : message.messageType)
49
+ && message.messageType !== 'admin'
50
+ && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.messageType)
51
+ && comparingMessage.messageType !== 'admin'
52
+ && (message === null || message === void 0 ? void 0 : message.sender)
53
+ && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender)
54
+ && (message === null || message === void 0 ? void 0 : message.createdAt)
55
+ && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.createdAt)
56
+ && ((_a = message === null || message === void 0 ? void 0 : message.sender) === null || _a === void 0 ? void 0 : _a.userId)
57
+ && ((_b = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _b === void 0 ? void 0 : _b.userId))) {
58
+ return false;
59
+ }
60
+ // to fix typecasting
61
+ var message_ = message;
62
+ var comparingMessage_ = comparingMessage;
63
+ return ((message_ === null || message_ === void 0 ? void 0 : message_.sendingStatus) === (comparingMessage_ === null || comparingMessage_ === void 0 ? void 0 : comparingMessage_.sendingStatus)
64
+ && ((_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)
65
+ && (getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)));
66
+ };
67
+ var compareMessagesForGrouping = function (prevMessage, currMessage, nextMessage) { return ([
68
+ isSameGroup(prevMessage, currMessage),
69
+ isSameGroup(currMessage, nextMessage),
70
+ ]); };
71
+ var kFormatter = function (num) {
72
+ if (Math.abs(num) > 999999) {
73
+ return "".concat((Math.abs(num) / 1000000).toFixed(1), "M");
74
+ }
75
+ if (Math.abs(num) > 999) {
76
+ return "".concat((Math.abs(num) / 1000).toFixed(1), "K");
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
+ if (operators.map(function (operator) { return operator.userId; }).indexOf(userId) < 0) {
83
+ return false;
84
+ }
85
+ return true;
86
+ };
87
+ var isDisabledBecauseFrozen = function (openChannel, userId) {
88
+ var isFrozen = openChannel === null || openChannel === void 0 ? void 0 : openChannel.isFrozen;
89
+ return isFrozen && !isOperator(openChannel, userId);
90
+ };
91
+ var isDisabledBecauseMuted = function (mutedParticipantIds, userId) {
92
+ return mutedParticipantIds.indexOf(userId) > -1;
93
+ };
94
+ var fetchWithListQuery = function (listQuery, logger, eachQueryNextCallback) {
95
+ var fetchList = function (query) {
96
+ var hasNext = query.hasNext;
97
+ if (hasNext) {
98
+ query.next().then(function (users) {
99
+ eachQueryNextCallback(users);
100
+ fetchList(query);
101
+ }).catch(function (error) {
102
+ logger.warning('OpenChannel | FetchUserList failed', error);
103
+ });
104
+ }
105
+ else {
106
+ logger.info('OpenChannel | FetchUserList finished');
107
+ }
108
+ };
109
+ logger.info('OpenChannel | FetchUserList start', listQuery);
110
+ fetchList(listQuery);
111
+ };
112
+ var pxToNumber = function (px) {
113
+ if (typeof px === 'number') {
114
+ return px;
115
+ }
116
+ if (typeof px === 'string') {
117
+ var parsed = Number.parseFloat(px);
118
+ if (!Number.isNaN(parsed)) {
119
+ return parsed;
120
+ }
121
+ }
122
+ return null;
123
+ };
124
+
125
+ var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
126
+ var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
127
+ var RESET_MESSAGES = 'RESET_MESSAGES';
128
+ var EXIT_CURRENT_CHANNEL = 'EXIT_CURRENT_CHANNEL';
129
+ var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';
130
+ var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';
131
+ var GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';
132
+ var SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';
133
+ var SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';
134
+ var SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';
135
+ var RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';
136
+ var FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';
137
+ var FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';
138
+ var FETCH_MUTED_USER_LIST = 'FETCH_MUTED_USER_LIST';
139
+ var TRIM_MESSAGE_LIST = 'TRIM_MESSAGE_LIST';
140
+ // event handlers
141
+ var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
142
+ var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
143
+ var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
144
+ var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
145
+ var ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';
146
+ var ON_USER_ENTERED = 'ON_USER_ENTERED';
147
+ var ON_USER_EXITED = 'ON_USER_EXITED';
148
+ var ON_USER_MUTED = 'ON_USER_MUTED';
149
+ var ON_USER_UNMUTED = 'ON_USER_UNMUTED';
150
+ var ON_USER_BANNED = 'ON_USER_BANNED';
151
+ var ON_USER_UNBANNED = 'ON_USER_UNBANNED';
152
+ var ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';
153
+ var ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';
154
+ var ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';
155
+ var ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';
156
+ var ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';
157
+ var ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';
158
+ var ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';
159
+ var ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';
160
+ var ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';
161
+ var ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';
162
+ var ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';
163
+
164
+ function reducer(state, action) {
165
+ var _a, _b, _c;
166
+ switch (action.type) {
167
+ case RESET_MESSAGES: {
168
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: [] });
169
+ }
170
+ case EXIT_CURRENT_CHANNEL: {
171
+ if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.url) === ((_b = state.currentOpenChannel) === null || _b === void 0 ? void 0 : _b.url)) {
172
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
173
+ }
174
+ return state;
175
+ }
176
+ case SET_CURRENT_CHANNEL: {
177
+ var gottenChannel = action.payload;
178
+ var operators = gottenChannel.operators;
179
+ if (!state.isInvalid
180
+ && state.currentOpenChannel
181
+ && state.currentOpenChannel.url
182
+ && (state.currentOpenChannel.url === gottenChannel.url)) {
183
+ return state;
184
+ }
185
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: gottenChannel, isInvalid: false, operators: operators, participants: operators, bannedParticipantIds: [], mutedParticipantIds: [] });
186
+ }
187
+ case SET_CHANNEL_INVALID: {
188
+ return _tslib.__assign(_tslib.__assign({}, state), { isInvalid: true });
189
+ }
190
+ case GET_PREV_MESSAGES_START: {
191
+ return _tslib.__assign(_tslib.__assign({}, state), { loading: true });
192
+ }
193
+ case GET_PREV_MESSAGES_SUCESS:
194
+ case GET_PREV_MESSAGES_FAIL: {
195
+ var isFailed = (action.type === GET_PREV_MESSAGES_FAIL);
196
+ var _d = action.payload, _e = _d.currentOpenChannel, currentOpenChannel = _e === void 0 ? {} : _e, _f = _d.messages, messages = _f === void 0 ? [] : _f, hasMore = _d.hasMore, lastMessageTimestamp = _d.lastMessageTimestamp;
197
+ var actionChannelUrl = currentOpenChannel.url;
198
+ var receivedMessages_1 = isFailed ? [] : messages;
199
+ var _hasMore = isFailed ? false : hasMore;
200
+ var _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;
201
+ var stateChannel = state.currentOpenChannel;
202
+ var stateChannelUrl = stateChannel.url;
203
+ if (actionChannelUrl !== stateChannelUrl) {
204
+ return state;
205
+ }
206
+ var filteredAllMessages = state.allMessages.filter(function (message) { return (!(receivedMessages_1.find(function (_a) {
207
+ var messageId = _a.messageId;
208
+ return compareIds.compareIds(messageId, message.messageId);
209
+ }))); });
210
+ return _tslib.__assign(_tslib.__assign({}, state), { loading: false, initialized: true, hasMore: _hasMore, lastMessageTimestamp: _lastMessageTimestamp, allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], receivedMessages_1, true), filteredAllMessages, true) });
211
+ }
212
+ case SENDING_MESSAGE_START: {
213
+ var _g = action.payload, message_1 = _g.message, channel = _g.channel;
214
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) !== state.currentOpenChannel.url
215
+ || state.allMessages.some(function (m) { return m.reqId === message_1.reqId; })
216
+ // Handing failed first than sending start issue
217
+ ) {
218
+ return state;
219
+ }
220
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages, true), [
221
+ message_1,
222
+ ], false) });
223
+ }
224
+ case SENDING_MESSAGE_SUCCEEDED: {
225
+ var sentMessage_1 = action.payload;
226
+ var newMessages = state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, sentMessage_1.reqId) ? sentMessage_1 : m); });
227
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: newMessages });
228
+ }
229
+ case SENDING_MESSAGE_FAILED: {
230
+ var sentMessage_2 = action.payload;
231
+ sentMessage_2.sendingStatus = 'failed';
232
+ if (!(state.allMessages.some(function (m) { return (m === null || m === void 0 ? void 0 : m.reqId) === (sentMessage_2 === null || sentMessage_2 === void 0 ? void 0 : sentMessage_2.reqId); }))) {
233
+ // Handling failed first than sending start issue
234
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages.filter(function (m) { return !compareIds.compareIds(m.reqId, sentMessage_2); }), true), [
235
+ sentMessage_2,
236
+ ], false) });
237
+ }
238
+ else {
239
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, sentMessage_2.reqId) ? sentMessage_2 : m); }) });
240
+ }
241
+ }
242
+ case TRIM_MESSAGE_LIST: {
243
+ var allMessages = state.allMessages;
244
+ var messageLimit = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.messageLimit;
245
+ if (messageLimit
246
+ && messageLimit > 0
247
+ && (allMessages === null || allMessages === void 0 ? void 0 : allMessages.length) > messageLimit) {
248
+ var sliceAt = allMessages.length - messageLimit;
249
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: allMessages.slice(sliceAt) });
250
+ }
251
+ return state;
252
+ }
253
+ case RESENDING_MESSAGE_START: {
254
+ var eventedChannel = action.payload.channel;
255
+ var resentMessage_1 = action.payload.message;
256
+ if (eventedChannel.url !== state.currentOpenChannel.url) {
257
+ return state;
258
+ }
259
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) { return (compareIds.compareIds(m.reqId, resentMessage_1.reqId) ? resentMessage_1 : m); }) });
260
+ }
261
+ case FETCH_PARTICIPANT_LIST: {
262
+ var eventedChannel = action.payload.channel;
263
+ var fetchedParticipantList = action.payload.users;
264
+ if (eventedChannel.url !== state.currentOpenChannel.url) {
265
+ return state;
266
+ }
267
+ return _tslib.__assign(_tslib.__assign({}, state), { participants: _tslib.__spreadArray(_tslib.__spreadArray([], state.participants, true), fetchedParticipantList, true) });
268
+ }
269
+ case FETCH_BANNED_USER_LIST: {
270
+ var eventedChannel = action.payload.channel;
271
+ var fetchedBannedUserList = action.payload.users;
272
+ if ((eventedChannel.url !== state.currentOpenChannel.url)
273
+ || !(fetchedBannedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
274
+ return state;
275
+ }
276
+ return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.bannedParticipantIds, true), fetchedBannedUserList.map(function (user) { return user.userId; }), true) });
277
+ }
278
+ case FETCH_MUTED_USER_LIST: {
279
+ var eventedChannel = action.payload.channel;
280
+ var fetchedMutedUserList = action.payload.users;
281
+ if ((eventedChannel.url !== state.currentOpenChannel.url)
282
+ || !(fetchedMutedUserList.every(function (user) { return typeof user.userId === 'string'; }))) {
283
+ return state;
284
+ }
285
+ return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.mutedParticipantIds, true), fetchedMutedUserList.map(function (user) { return user.userId; }), true) });
286
+ }
287
+ // events
288
+ case ON_MESSAGE_RECEIVED: {
289
+ var eventedChannel = action.payload.channel;
290
+ var receivedMessage = action.payload.message;
291
+ var currentOpenChannel = state.currentOpenChannel;
292
+ if (!compareIds.compareIds(eventedChannel.url, currentOpenChannel.url)
293
+ || (!(state.allMessages.map(function (message) { return message.messageId; }).indexOf(receivedMessage.messageId) < 0))) {
294
+ return state;
295
+ }
296
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allMessages, true), [receivedMessage], false) });
297
+ }
298
+ case ON_MESSAGE_UPDATED: {
299
+ var eventedChannel = action.payload.channel;
300
+ var updatedMessage_1 = action.payload.message;
301
+ var currentChannel = state.currentOpenChannel;
302
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
303
+ return state;
304
+ }
305
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (message) { return (message.isIdentical(updatedMessage_1)
306
+ ? updatedMessage_1
307
+ : message); }) });
308
+ }
309
+ case ON_MESSAGE_DELETED: {
310
+ var eventedChannel = action.payload.channel;
311
+ var deletedMessageId_1 = action.payload.messageId;
312
+ var currentChannel = state.currentOpenChannel;
313
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
314
+ return state;
315
+ }
316
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (message) { return (!compareIds.compareIds(message.messageId, deletedMessageId_1)); }) });
317
+ }
318
+ case ON_MESSAGE_DELETED_BY_REQ_ID: {
319
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return (!compareIds.compareIds(m.reqId, action.payload)); }) });
320
+ }
321
+ case ON_OPERATOR_UPDATED: {
322
+ var eventedChannel = action.payload.channel;
323
+ var updatedOperators = action.payload.operators;
324
+ var currentChannel = state.currentOpenChannel;
325
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
326
+ return state;
327
+ }
328
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: eventedChannel, operators: updatedOperators });
329
+ }
330
+ case ON_USER_ENTERED: {
331
+ var eventedChannel = action.payload.channel;
332
+ var enteredUser = action.payload.user;
333
+ var currentChannel = state.currentOpenChannel;
334
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
335
+ return state;
336
+ }
337
+ return _tslib.__assign(_tslib.__assign({}, state), { participants: _tslib.__spreadArray(_tslib.__spreadArray([], state.participants, true), [enteredUser], false) });
338
+ }
339
+ case ON_USER_EXITED: {
340
+ var eventedChannel = action.payload.channel;
341
+ var exitedUser_1 = action.payload.user;
342
+ var currentChannel = state.currentOpenChannel;
343
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {
344
+ return state;
345
+ }
346
+ return _tslib.__assign(_tslib.__assign({}, state), { participants: state.participants.filter(function (participant) { return (!compareIds.compareIds(participant.userId, exitedUser_1.userId)); }) });
347
+ }
348
+ case ON_USER_MUTED: {
349
+ var eventedChannel = action.payload.channel;
350
+ var mutedUser = action.payload.user;
351
+ var currentChannel = state.currentOpenChannel;
352
+ if (!currentChannel
353
+ || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
354
+ || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0) {
355
+ return state;
356
+ }
357
+ return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.mutedParticipantIds, true), [mutedUser.userId], false) });
358
+ }
359
+ case ON_USER_UNMUTED: {
360
+ var eventedChannel = action.payload.channel;
361
+ var unmutedUser_1 = action.payload.user;
362
+ var currentChannel = state.currentOpenChannel;
363
+ if (!currentChannel
364
+ || (currentChannel.url && (currentChannel.url !== eventedChannel.url))
365
+ || state.mutedParticipantIds.indexOf(unmutedUser_1.userId) < 0) {
366
+ return state;
367
+ }
368
+ return _tslib.__assign(_tslib.__assign({}, state), { mutedParticipantIds: state.mutedParticipantIds.filter(function (userId) { return userId !== unmutedUser_1.userId; }) });
369
+ }
370
+ case ON_USER_BANNED: {
371
+ var eventedChannel = action.payload.channel;
372
+ var bannedUser = action.payload.user;
373
+ var currentUser = action.payload.currentUser;
374
+ var currentChannel = state.currentOpenChannel;
375
+ 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)) {
376
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
377
+ }
378
+ else if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
379
+ return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: _tslib.__spreadArray(_tslib.__spreadArray([], state.bannedParticipantIds, true), [bannedUser.userId], false) });
380
+ }
381
+ return state;
382
+ }
383
+ case ON_USER_UNBANNED: {
384
+ var eventedChannel = action.payload.channel;
385
+ var unbannedUser_1 = action.payload.user;
386
+ var currentChannel = state.currentOpenChannel;
387
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (eventedChannel === null || eventedChannel === void 0 ? void 0 : eventedChannel.url)) {
388
+ return _tslib.__assign(_tslib.__assign({}, state), { bannedParticipantIds: state.bannedParticipantIds.filter(function (userId) { return userId !== unbannedUser_1.userId; }) });
389
+ }
390
+ return state;
391
+ }
392
+ case ON_CHANNEL_FROZEN: {
393
+ var frozenChannel = action.payload;
394
+ var currentChannel = state.currentOpenChannel;
395
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {
396
+ return state;
397
+ }
398
+ return _tslib.__assign(_tslib.__assign({}, state), { frozen: true });
399
+ }
400
+ case ON_CHANNEL_UNFROZEN: {
401
+ var unfrozenChannel = action.payload;
402
+ var currentChannel = state.currentOpenChannel;
403
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {
404
+ return state;
405
+ }
406
+ return _tslib.__assign(_tslib.__assign({}, state), { frozen: false });
407
+ }
408
+ case ON_CHANNEL_CHANGED: {
409
+ var changedChannel = action.payload;
410
+ var currentChannel = state.currentOpenChannel;
411
+ if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {
412
+ return state;
413
+ }
414
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: changedChannel });
415
+ }
416
+ case ON_CHANNEL_DELETED: {
417
+ var deletedChannelUrl = action.payload;
418
+ var currentChannel = state === null || state === void 0 ? void 0 : state.currentOpenChannel;
419
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === deletedChannelUrl) {
420
+ return _tslib.__assign(_tslib.__assign({}, state), { currentOpenChannel: null });
421
+ }
422
+ return state;
423
+ }
424
+ case ON_META_DATA_CREATED: {
425
+ // const eventedChannel = action.payload.channel;
426
+ // const createdMetaData = action.payload.metaData;
427
+ // return {
428
+ // ...state
429
+ // };
430
+ return state;
431
+ }
432
+ case ON_META_DATA_UPDATED: {
433
+ // const eventedChannel = action.payload.channel;
434
+ // const updatedMetaData = action.payload.metaData;
435
+ // return {
436
+ // ...state
437
+ // };
438
+ return state;
439
+ }
440
+ case ON_META_DATA_DELETED: {
441
+ // const eventedChannel = action.payload.channel;
442
+ // const deletedMetaDataKeys = action.payload.metaDataKeys;
443
+ // return {
444
+ // ...state
445
+ // };
446
+ return state;
447
+ }
448
+ case ON_META_COUNTERS_CREATED: {
449
+ // const eventedChannel = action.payload.channel;
450
+ // const createdMetaCounter = action.payload.metaCounter;
451
+ // return {
452
+ // ...state
453
+ // };
454
+ return state;
455
+ }
456
+ case ON_META_COUNTERS_UPDATED: {
457
+ // const eventedChannel = action.payload.channel;
458
+ // const updatedMetaCounter = action.payload.metaCounter;
459
+ // return {
460
+ // ...state
461
+ // };
462
+ return state;
463
+ }
464
+ case ON_META_COUNTERS_DELETED: {
465
+ // const eventedChannel = action.payload.channel;
466
+ // const deletedMetaCounterKeys = action.payload.metaCounterKeys;
467
+ // return {
468
+ // ...state
469
+ // };
470
+ return state;
471
+ }
472
+ case ON_MENTION_RECEIVED: {
473
+ // const eventedChannel = action.payload.channel;
474
+ // const mentionedMessage = action.payload.message;
475
+ // return {
476
+ // ...state
477
+ // };
478
+ return state;
479
+ }
480
+ default:
481
+ return state;
482
+ }
483
+ }
484
+
485
+ var initialState = {
486
+ allMessages: [],
487
+ loading: false,
488
+ initialized: false,
489
+ currentOpenChannel: null,
490
+ isInvalid: false,
491
+ hasMore: false,
492
+ lastMessageTimestamp: 0,
493
+ frozen: false,
494
+ operators: [],
495
+ participants: [],
496
+ bannedParticipantIds: [],
497
+ mutedParticipantIds: [],
498
+ };
499
+
500
+ function useSetChannel(_a, _b) {
501
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, fetchingParticipants = _a.fetchingParticipants, userId = _a.userId, currentOpenChannel = _a.currentOpenChannel;
502
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
503
+ React.useEffect(function () {
504
+ var _a;
505
+ if (channelUrl && sdkInit && (sdk === null || sdk === void 0 ? void 0 : sdk.openChannel)) {
506
+ if (currentOpenChannel && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.exit)) {
507
+ (_a = currentOpenChannel.exit) === null || _a === void 0 ? void 0 : _a.call(currentOpenChannel).then(function () {
508
+ logger.info('OpenChannel | useSetChannel: Exit from the previous open channel', currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url);
509
+ messagesDispatcher({
510
+ type: EXIT_CURRENT_CHANNEL,
511
+ payload: currentOpenChannel,
512
+ });
513
+ });
514
+ }
515
+ logger.info('OpenChannel | useSetChannel: Fetching channel', channelUrl);
516
+ sdk.openChannel.getChannel(channelUrl).then(function (openChannel) {
517
+ logger.info('OpenChannel | useSetChannel: Succeeded to fetch channel', openChannel);
518
+ messagesDispatcher({
519
+ type: SET_CURRENT_CHANNEL,
520
+ payload: openChannel,
521
+ });
522
+ openChannel.enter().then(function () {
523
+ if (openChannel.isOperator(userId)) { // only operator has a permission to fetch these list
524
+ var bannedParticipantListQuery = openChannel.createBannedUserListQuery();
525
+ var mutedParticipantListQuery = openChannel.createMutedUserListQuery();
526
+ fetchWithListQuery(bannedParticipantListQuery, logger, function (users) {
527
+ messagesDispatcher({
528
+ type: FETCH_BANNED_USER_LIST,
529
+ payload: {
530
+ channel: openChannel,
531
+ users: users,
532
+ },
533
+ });
534
+ });
535
+ fetchWithListQuery(mutedParticipantListQuery, logger, function (users) {
536
+ messagesDispatcher({
537
+ type: FETCH_MUTED_USER_LIST,
538
+ payload: {
539
+ channel: openChannel,
540
+ users: users,
541
+ },
542
+ });
543
+ });
544
+ }
545
+ else {
546
+ openChannel.getMyMutedInfo()
547
+ .then(function (mutedInfo) {
548
+ if (mutedInfo === null || mutedInfo === void 0 ? void 0 : mutedInfo.isMuted) {
549
+ messagesDispatcher({
550
+ type: FETCH_MUTED_USER_LIST,
551
+ payload: {
552
+ channel: openChannel,
553
+ users: [sdk === null || sdk === void 0 ? void 0 : sdk.currentUser],
554
+ },
555
+ });
556
+ }
557
+ });
558
+ }
559
+ if (fetchingParticipants) {
560
+ // fetch participants list
561
+ var participantListQuery = openChannel.createParticipantListQuery({
562
+ limit: openChannel.participantCount,
563
+ });
564
+ fetchWithListQuery(participantListQuery, logger, function (users) {
565
+ messagesDispatcher({
566
+ type: FETCH_PARTICIPANT_LIST,
567
+ payload: {
568
+ channel: openChannel,
569
+ users: users,
570
+ },
571
+ });
572
+ });
573
+ }
574
+ }).catch(function (error) {
575
+ logger.warning('OpenChannel | useSetChannel: Failed to enter channel', { channelUrl: channelUrl, error: error });
576
+ messagesDispatcher({
577
+ type: SET_CHANNEL_INVALID,
578
+ payload: null,
579
+ });
580
+ });
581
+ }).catch(function (error) {
582
+ logger.warning('OpenChannel | useSetChannel: Failed to fetch channel', { channelUrl: channelUrl, error: error });
583
+ messagesDispatcher({
584
+ type: SET_CHANNEL_INVALID,
585
+ payload: null,
586
+ });
587
+ });
588
+ }
589
+ }, [channelUrl, sdkInit, fetchingParticipants]);
590
+ }
591
+
592
+ function useHandleChannelEvents(_a, _b) {
593
+ var currentOpenChannel = _a.currentOpenChannel, checkScrollBottom = _a.checkScrollBottom;
594
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
595
+ React.useEffect(function () {
596
+ var _a, _b;
597
+ var messageReceiverId = uuid.uuidv4();
598
+ if (currentOpenChannel && currentOpenChannel.url && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
599
+ logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);
600
+ var channelHandlerParams = {
601
+ onMessageReceived: function (channel, message) {
602
+ var scrollToEnd = checkScrollBottom();
603
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
604
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl: channelUrl, message: message });
605
+ messagesDispatcher({
606
+ type: ON_MESSAGE_RECEIVED,
607
+ payload: { channel: channel, message: message },
608
+ });
609
+ if (scrollToEnd) {
610
+ try {
611
+ setTimeout(function () {
612
+ scrollIntoLast(0, scrollRef);
613
+ });
614
+ }
615
+ catch (error) {
616
+ logger.warning('OpenChannel | onMessageReceived | scroll to end failed');
617
+ }
618
+ }
619
+ },
620
+ onMessageUpdated: function (channel, message) {
621
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
622
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl: channelUrl, message: message });
623
+ messagesDispatcher({
624
+ type: ON_MESSAGE_UPDATED,
625
+ payload: { channel: channel, message: message },
626
+ });
627
+ },
628
+ onMessageDeleted: function (channel, messageId) {
629
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
630
+ logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl: channelUrl, messageId: messageId });
631
+ messagesDispatcher({
632
+ type: ON_MESSAGE_DELETED,
633
+ payload: { channel: channel, messageId: messageId },
634
+ });
635
+ },
636
+ onOperatorUpdated: function (channel, operators) {
637
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
638
+ logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl: channelUrl, operators: operators });
639
+ messagesDispatcher({
640
+ type: ON_OPERATOR_UPDATED,
641
+ payload: { channel: channel, operators: operators },
642
+ });
643
+ },
644
+ onUserEntered: function (channel, user) {
645
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
646
+ logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl: channelUrl, user: user });
647
+ messagesDispatcher({
648
+ type: ON_USER_ENTERED,
649
+ payload: { channel: channel, user: user },
650
+ });
651
+ },
652
+ onUserExited: function (channel, user) {
653
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
654
+ logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl: channelUrl, user: user });
655
+ messagesDispatcher({
656
+ type: ON_USER_EXITED,
657
+ payload: { channel: channel, user: user },
658
+ });
659
+ },
660
+ onUserMuted: function (channel, user) {
661
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
662
+ logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl: channelUrl, user: user });
663
+ messagesDispatcher({
664
+ type: ON_USER_MUTED,
665
+ payload: { channel: channel, user: user },
666
+ });
667
+ },
668
+ onUserUnmuted: function (channel, user) {
669
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
670
+ logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl: channelUrl, user: user });
671
+ messagesDispatcher({
672
+ type: ON_USER_UNMUTED,
673
+ payload: { channel: channel, user: user },
674
+ });
675
+ },
676
+ onUserBanned: function (channel, user) {
677
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
678
+ logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl: channelUrl, user: user });
679
+ messagesDispatcher({
680
+ type: ON_USER_BANNED,
681
+ payload: { channel: channel, user: user, currentUser: sdk === null || sdk === void 0 ? void 0 : sdk.currentUser },
682
+ });
683
+ },
684
+ onUserUnbanned: function (channel, user) {
685
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
686
+ logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl: channelUrl, user: user });
687
+ messagesDispatcher({
688
+ type: ON_USER_UNBANNED,
689
+ payload: { channel: channel, user: user },
690
+ });
691
+ },
692
+ onChannelFrozen: function (channel) {
693
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);
694
+ messagesDispatcher({
695
+ type: ON_CHANNEL_FROZEN,
696
+ payload: channel,
697
+ });
698
+ },
699
+ onChannelUnfrozen: function (channel) {
700
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);
701
+ messagesDispatcher({
702
+ type: ON_CHANNEL_UNFROZEN,
703
+ payload: channel,
704
+ });
705
+ },
706
+ onChannelChanged: function (channel) {
707
+ logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);
708
+ messagesDispatcher({
709
+ type: ON_CHANNEL_CHANGED,
710
+ payload: channel,
711
+ });
712
+ },
713
+ onMetaDataCreated: function (channel, metaData) {
714
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
715
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl: channelUrl, metaData: metaData });
716
+ messagesDispatcher({
717
+ type: ON_META_DATA_CREATED,
718
+ payload: { channel: channel, metaData: metaData },
719
+ });
720
+ },
721
+ onMetaDataUpdated: function (channel, metaData) {
722
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
723
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl: channelUrl, metaData: metaData });
724
+ messagesDispatcher({
725
+ type: ON_META_DATA_UPDATED,
726
+ payload: { channel: channel, metaData: metaData },
727
+ });
728
+ },
729
+ onMetaDataDeleted: function (channel, metaDataKeys) {
730
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
731
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl: channelUrl, metaDataKeys: metaDataKeys });
732
+ messagesDispatcher({
733
+ type: ON_META_DATA_DELETED,
734
+ payload: { channel: channel, metaDataKeys: metaDataKeys },
735
+ });
736
+ },
737
+ onMetaCounterCreated: function (channel, metaCounter) {
738
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
739
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl: channelUrl, metaCounter: metaCounter });
740
+ messagesDispatcher({
741
+ type: ON_META_COUNTERS_CREATED,
742
+ payload: { channel: channel, metaCounter: metaCounter },
743
+ });
744
+ },
745
+ onMetaCounterUpdated: function (channel, metaCounter) {
746
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
747
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl: channelUrl, metaCounter: metaCounter });
748
+ messagesDispatcher({
749
+ type: ON_META_COUNTERS_UPDATED,
750
+ payload: { channel: channel, metaCounter: metaCounter },
751
+ });
752
+ },
753
+ onMetaCounterDeleted: function (channel, metaCounterKeys) {
754
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
755
+ logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl: channelUrl, metaCounterKeys: metaCounterKeys });
756
+ messagesDispatcher({
757
+ type: ON_META_COUNTERS_DELETED,
758
+ payload: { channel: channel, metaCounterKeys: metaCounterKeys },
759
+ });
760
+ },
761
+ onMentionReceived: function (channel, message) {
762
+ var channelUrl = channel === null || channel === void 0 ? void 0 : channel.url;
763
+ logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl: channelUrl, message: message });
764
+ messagesDispatcher({
765
+ type: ON_MENTION_RECEIVED,
766
+ payload: { channel: channel, message: message },
767
+ });
768
+ },
769
+ onChannelDeleted: function (channelUrl, channelType) {
770
+ if (channelType === SendbirdChat.ChannelType.OPEN && (currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url) === channelUrl) {
771
+ messagesDispatcher({
772
+ type: ON_CHANNEL_DELETED,
773
+ payload: channelUrl,
774
+ });
775
+ }
776
+ },
777
+ };
778
+ var ChannelHandler = new openChannel.OpenChannelHandler(channelHandlerParams);
779
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _b === void 0 ? void 0 : _b.addOpenChannelHandler(messageReceiverId, ChannelHandler);
780
+ }
781
+ return function () {
782
+ var _a;
783
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) {
784
+ logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);
785
+ sdk.openChannel.removeOpenChannelHandler(messageReceiverId);
786
+ }
787
+ };
788
+ }, [currentOpenChannel]);
789
+ }
790
+
791
+ function useInitialMessagesFetch(_a, _b) {
792
+ var currentOpenChannel = _a.currentOpenChannel, userFilledMessageListParams = _a.userFilledMessageListParams;
793
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
794
+ React.useEffect(function () {
795
+ logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);
796
+ messagesDispatcher({
797
+ type: RESET_MESSAGES,
798
+ payload: null,
799
+ });
800
+ if (currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {
801
+ var messageListParams_1 = {
802
+ nextResultSize: 0,
803
+ prevResultSize: 30,
804
+ isInclusive: true,
805
+ includeReactions: false,
806
+ };
807
+ if (userFilledMessageListParams) {
808
+ Object.keys(userFilledMessageListParams).forEach(function (key) {
809
+ messageListParams_1[key] = userFilledMessageListParams[key];
810
+ });
811
+ logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');
812
+ }
813
+ logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
814
+ messagesDispatcher({
815
+ type: GET_PREV_MESSAGES_START,
816
+ payload: null,
817
+ });
818
+ currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams_1).then(function (messages) {
819
+ logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);
820
+ var hasMore = (messages && messages.length > 0);
821
+ var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
822
+ messagesDispatcher({
823
+ type: GET_PREV_MESSAGES_SUCESS,
824
+ payload: {
825
+ currentOpenChannel: currentOpenChannel,
826
+ messages: messages,
827
+ hasMore: hasMore,
828
+ lastMessageTimestamp: lastMessageTimestamp,
829
+ },
830
+ });
831
+ setTimeout(function () { scrollIntoLast(0, scrollRef); });
832
+ }).catch(function (error) {
833
+ logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);
834
+ messagesDispatcher({
835
+ type: GET_PREV_MESSAGES_FAIL,
836
+ payload: {
837
+ currentOpenChannel: currentOpenChannel,
838
+ messages: [],
839
+ hasMore: false,
840
+ lastMessageTimestamp: 0,
841
+ },
842
+ });
843
+ });
844
+ }
845
+ }, [currentOpenChannel, userFilledMessageListParams]);
846
+ }
847
+
848
+ function useScrollCallback(_a, _b) {
849
+ var currentOpenChannel = _a.currentOpenChannel, lastMessageTimestamp = _a.lastMessageTimestamp, fetchMore = _a.fetchMore;
850
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, hasMore = _b.hasMore, userFilledMessageListParams = _b.userFilledMessageListParams;
851
+ return React.useCallback(function (callback) {
852
+ if (fetchMore && hasMore) {
853
+ logger.info('OpenChannel | useScrollCallback: start');
854
+ var messageListParams_1 = {
855
+ prevResultSize: 30,
856
+ includeReactions: false,
857
+ nextResultSize: 0,
858
+ };
859
+ if (userFilledMessageListParams) {
860
+ Object.keys(userFilledMessageListParams).forEach(function (key) {
861
+ messageListParams_1[key] = userFilledMessageListParams[key];
862
+ });
863
+ logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);
864
+ }
865
+ logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel: currentOpenChannel, messageListParams: messageListParams_1 });
866
+ currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams_1).then(function (messages) {
867
+ logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);
868
+ var hasMore = (messages && messages.length > 0);
869
+ var lastMessageTimestamp = hasMore ? messages[0].createdAt : null;
870
+ messagesDispatcher({
871
+ type: GET_PREV_MESSAGES_SUCESS,
872
+ payload: {
873
+ currentOpenChannel: currentOpenChannel,
874
+ messages: messages,
875
+ hasMore: hasMore,
876
+ lastMessageTimestamp: lastMessageTimestamp,
877
+ },
878
+ });
879
+ setTimeout(function () {
880
+ callback();
881
+ });
882
+ }).catch(function (error) {
883
+ logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);
884
+ messagesDispatcher({
885
+ type: GET_PREV_MESSAGES_FAIL,
886
+ payload: {
887
+ currentOpenChannel: currentOpenChannel,
888
+ messages: [],
889
+ hasMore: false,
890
+ lastMessageTimestamp: 0,
891
+ },
892
+ });
893
+ });
894
+ }
895
+ }, [currentOpenChannel, lastMessageTimestamp, fetchMore, sdk]);
896
+ }
897
+
898
+ function useCheckScrollBottom(_a, _b) {
899
+ var conversationScrollRef = _a.conversationScrollRef;
900
+ var logger = _b.logger;
901
+ return React.useCallback(function () {
902
+ var isBottom = true;
903
+ if (conversationScrollRef && (conversationScrollRef === null || conversationScrollRef === void 0 ? void 0 : conversationScrollRef.current)) {
904
+ try {
905
+ var conversationScroll = conversationScrollRef.current;
906
+ isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;
907
+ }
908
+ catch (error) {
909
+ logger.error('OpenChannel | useCheckScrollBottom', error);
910
+ }
911
+ }
912
+ return isBottom;
913
+ }, [conversationScrollRef]);
914
+ }
915
+
916
+ function useSendMessageCallback(_a, _b) {
917
+ var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage, checkScrollBottom = _a.checkScrollBottom, messageInputRef = _a.messageInputRef;
918
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
919
+ return React.useCallback(function () {
920
+ if (sdk) {
921
+ var text = messageInputRef.current.innerText;
922
+ var createParamsDefault = function (txt) {
923
+ var message = txt;
924
+ var params = {
925
+ message: message,
926
+ };
927
+ return params;
928
+ };
929
+ var createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
930
+ if (createCustomParams) {
931
+ logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
932
+ }
933
+ var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
934
+ logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);
935
+ var isBottom_1 = checkScrollBottom();
936
+ var pendingMsg_1 = null;
937
+ currentOpenChannel.sendUserMessage(params)
938
+ .onPending(function (pendingMessage) {
939
+ messagesDispatcher({
940
+ type: SENDING_MESSAGE_START,
941
+ payload: {
942
+ message: pendingMessage,
943
+ channel: currentOpenChannel,
944
+ },
945
+ });
946
+ pendingMsg_1 = pendingMessage;
947
+ })
948
+ .onSucceeded(function (message) {
949
+ logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);
950
+ messagesDispatcher({
951
+ type: SENDING_MESSAGE_SUCCEEDED,
952
+ payload: message,
953
+ });
954
+ if (isBottom_1) {
955
+ setTimeout(function () {
956
+ scrollIntoLast(0, scrollRef);
957
+ });
958
+ }
959
+ })
960
+ .onFailed(function (error) {
961
+ logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);
962
+ messagesDispatcher({
963
+ type: SENDING_MESSAGE_FAILED,
964
+ payload: pendingMsg_1,
965
+ });
966
+ // https://sendbird.com/docs/chat/v3/javascript/guides/error-codes#2-server-error-codes
967
+ // TODO: Do we need to handle the error cases?
968
+ // @ts-ignore
969
+ if ((error === null || error === void 0 ? void 0 : error.code) === 900041) {
970
+ messagesDispatcher({
971
+ type: ON_USER_MUTED,
972
+ payload: {
973
+ channel: currentOpenChannel,
974
+ user: sdk.currentUser,
975
+ },
976
+ });
977
+ }
978
+ });
979
+ }
980
+ }, [currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef]);
981
+ }
982
+
983
+ function useFileUploadCallback(_a, _b) {
984
+ var currentOpenChannel = _a.currentOpenChannel, checkScrollBottom = _a.checkScrollBottom, _c = _a.imageCompression, imageCompression = _c === void 0 ? {} : _c, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
985
+ var sdk = _b.sdk, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, scrollRef = _b.scrollRef;
986
+ return React.useCallback(function (files) {
987
+ if (sdk) {
988
+ /**
989
+ * OpenChannel does not currently support file lists.
990
+ * However, this change is made to maintain interface consistency with group channels.
991
+ */
992
+ var file_1 = Array.isArray(files) ? files[0] : files;
993
+ var compressionRate_1 = imageCompression.compressionRate, resizingWidth_1 = imageCompression.resizingWidth, resizingHeight_1 = imageCompression.resizingHeight;
994
+ var createCustomParams_1 = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
995
+ var compressibleFileType = (file_1.type === 'image/jpg' || file_1.type === 'image/png' || file_1.type === 'image/jpeg');
996
+ var compressibleRatio = (compressionRate_1 > 0) && (compressionRate_1 < 1);
997
+ // pxToNumber returns null if values are invalid
998
+ var compressibleDiamensions_1 = pxToNumber(resizingWidth_1)
999
+ || pxToNumber(resizingHeight_1);
1000
+ var canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions_1);
1001
+ var createParamsDefault_1 = function (file_) {
1002
+ var params = {};
1003
+ params.file = file_;
1004
+ return params;
1005
+ };
1006
+ if (canCompressImage) { // Using image compression
1007
+ try {
1008
+ var image_1 = document.createElement('img');
1009
+ image_1.src = URL.createObjectURL(file_1);
1010
+ image_1.onload = function () {
1011
+ URL.revokeObjectURL(image_1.src);
1012
+ var canvas = document.createElement('canvas');
1013
+ var imageWidth = image_1.naturalWidth || image_1.width;
1014
+ var imageHeight = image_1.naturalHeight || image_1.height;
1015
+ var targetWidth = pxToNumber(resizingWidth_1) || imageWidth;
1016
+ var targetHeight = pxToNumber(resizingHeight_1) || imageHeight;
1017
+ // In canvas.toBlob(callback, mimeType, qualityArgument)
1018
+ // qualityArgument doesnt work
1019
+ // so in case compressibleDiamensions are not present, we use ratio
1020
+ if (file_1.type === 'image/png' && !compressibleDiamensions_1) {
1021
+ targetWidth *= compressionRate_1;
1022
+ targetHeight *= compressionRate_1;
1023
+ }
1024
+ canvas.width = targetWidth;
1025
+ canvas.height = targetHeight;
1026
+ var context = canvas.getContext('2d');
1027
+ context.drawImage(image_1, 0, 0, targetWidth, targetHeight);
1028
+ context.canvas.toBlob(function (newImageBlob) {
1029
+ var compressedFile = new File([newImageBlob], file_1.name, { type: file_1.type });
1030
+ if (createCustomParams_1) {
1031
+ logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1032
+ }
1033
+ var params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault_1(compressedFile);
1034
+ logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
1035
+ var isBottom = checkScrollBottom();
1036
+ currentOpenChannel.sendFileMessage(params)
1037
+ .onPending(function (pendingMessage) {
1038
+ messagesDispatcher({
1039
+ type: SENDING_MESSAGE_START,
1040
+ payload: {
1041
+ message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file_1),
1042
+ // pending thumbnail message seems to be failed
1043
+ requestState: 'pending' }),
1044
+ channel: currentOpenChannel,
1045
+ },
1046
+ });
1047
+ })
1048
+ .onSucceeded(function (message) {
1049
+ logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1050
+ messagesDispatcher({
1051
+ type: SENDING_MESSAGE_SUCCEEDED,
1052
+ payload: message,
1053
+ });
1054
+ if (isBottom) {
1055
+ setTimeout(function () {
1056
+ scrollIntoLast(0, scrollRef);
1057
+ });
1058
+ }
1059
+ })
1060
+ .onFailed(function (error, message) {
1061
+ logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message: message, error: error });
1062
+ // @ts-ignore
1063
+ message.localUrl = URL.createObjectURL(file_1);
1064
+ // @ts-ignore
1065
+ message.file = file_1;
1066
+ messagesDispatcher({
1067
+ type: SENDING_MESSAGE_FAILED,
1068
+ payload: message,
1069
+ });
1070
+ });
1071
+ }, file_1.type, compressionRate_1);
1072
+ };
1073
+ }
1074
+ catch (error) {
1075
+ logger.warning('OpenChannel | useFileUploadCallback: Sending file message with image compression failed', error);
1076
+ }
1077
+ }
1078
+ else { // Not using image compression
1079
+ if (createCustomParams_1) {
1080
+ logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1081
+ }
1082
+ var params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file_1) : createParamsDefault_1(file_1);
1083
+ logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
1084
+ var isBottom_1 = checkScrollBottom();
1085
+ currentOpenChannel.sendFileMessage(params)
1086
+ .onPending(function (pendingMessage) {
1087
+ messagesDispatcher({
1088
+ type: SENDING_MESSAGE_START,
1089
+ payload: {
1090
+ message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file_1),
1091
+ // pending thumbnail message seems to be failed
1092
+ requestState: 'pending' }),
1093
+ channel: currentOpenChannel,
1094
+ },
1095
+ });
1096
+ })
1097
+ .onSucceeded(function (message) {
1098
+ logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
1099
+ messagesDispatcher({
1100
+ type: SENDING_MESSAGE_SUCCEEDED,
1101
+ payload: message,
1102
+ });
1103
+ if (isBottom_1) {
1104
+ setTimeout(function () {
1105
+ scrollIntoLast(0, scrollRef);
1106
+ });
1107
+ }
1108
+ })
1109
+ .onFailed(function (error, message) {
1110
+ logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message: message, error: error });
1111
+ // @ts-ignore
1112
+ message.localUrl = URL.createObjectURL(file_1);
1113
+ // @ts-ignore
1114
+ message.file = file_1;
1115
+ messagesDispatcher({
1116
+ type: SENDING_MESSAGE_FAILED,
1117
+ payload: message,
1118
+ });
1119
+ });
1120
+ }
1121
+ }
1122
+ }, [currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression]);
1123
+ }
1124
+
1125
+ function useUpdateMessageCallback(_a, _b) {
1126
+ var currentOpenChannel = _a.currentOpenChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
1127
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1128
+ return React.useCallback(function (messageId, text, callback) {
1129
+ var createParamsDefault = function (txt) {
1130
+ var params = {
1131
+ message: txt,
1132
+ };
1133
+ return params;
1134
+ };
1135
+ if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {
1136
+ logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');
1137
+ }
1138
+ var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
1139
+ currentOpenChannel.updateUserMessage(messageId, params)
1140
+ .then(function (message) {
1141
+ if (callback) {
1142
+ callback();
1143
+ }
1144
+ logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message: message, params: params });
1145
+ messagesDispatcher({
1146
+ type: ON_MESSAGE_UPDATED,
1147
+ payload: {
1148
+ channel: currentOpenChannel,
1149
+ message: message,
1150
+ },
1151
+ });
1152
+ });
1153
+ }, [currentOpenChannel, onBeforeSendUserMessage]);
1154
+ }
1155
+
1156
+ function useDeleteMessageCallback(_a, _b) {
1157
+ var currentOpenChannel = _a.currentOpenChannel;
1158
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1159
+ return React.useCallback(function (message, callback) {
1160
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);
1161
+ var sendingStatus = message.sendingStatus;
1162
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);
1163
+ if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1164
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);
1165
+ messagesDispatcher({
1166
+ type: ON_MESSAGE_DELETED_BY_REQ_ID,
1167
+ payload: message.reqId,
1168
+ });
1169
+ if (callback) {
1170
+ callback();
1171
+ }
1172
+ }
1173
+ else {
1174
+ if (!(message.messageType === 'file' || message.messageType === 'user')) {
1175
+ return;
1176
+ }
1177
+ var messageToDelete = message;
1178
+ currentOpenChannel.deleteMessage(messageToDelete).then(function () {
1179
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);
1180
+ if (callback) {
1181
+ callback();
1182
+ }
1183
+ logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);
1184
+ messagesDispatcher({
1185
+ type: ON_MESSAGE_DELETED,
1186
+ payload: {
1187
+ channel: currentOpenChannel,
1188
+ messageId: message.messageId,
1189
+ },
1190
+ });
1191
+ }).catch(function (error) {
1192
+ logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);
1193
+ });
1194
+ }
1195
+ }, [currentOpenChannel]);
1196
+ }
1197
+
1198
+ function useResendMessageCallback(_a, _b) {
1199
+ var currentOpenChannel = _a.currentOpenChannel;
1200
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher;
1201
+ return React.useCallback(function (failedMessage) {
1202
+ logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);
1203
+ if (typeof (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) === 'boolean'
1204
+ && failedMessage.isResendable) {
1205
+ // userMessage
1206
+ if (failedMessage.isUserMessage()) {
1207
+ currentOpenChannel
1208
+ .resendMessage(failedMessage)
1209
+ .onPending(function (message) {
1210
+ messagesDispatcher({
1211
+ type: RESENDING_MESSAGE_START,
1212
+ payload: {
1213
+ channel: currentOpenChannel,
1214
+ message: message,
1215
+ },
1216
+ });
1217
+ })
1218
+ .onSucceeded(function (message) {
1219
+ logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);
1220
+ messagesDispatcher({
1221
+ type: SENDING_MESSAGE_SUCCEEDED,
1222
+ payload: message,
1223
+ });
1224
+ })
1225
+ .onFailed(function (error, message) {
1226
+ logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);
1227
+ messagesDispatcher({
1228
+ type: SENDING_MESSAGE_FAILED,
1229
+ payload: message,
1230
+ });
1231
+ });
1232
+ }
1233
+ // fileMessage
1234
+ if (failedMessage.isFileMessage()) {
1235
+ currentOpenChannel
1236
+ .resendMessage(failedMessage)
1237
+ .onPending(function (message) {
1238
+ messagesDispatcher({
1239
+ type: RESENDING_MESSAGE_START,
1240
+ payload: {
1241
+ channel: currentOpenChannel,
1242
+ message: message,
1243
+ },
1244
+ });
1245
+ })
1246
+ .onSucceeded(function (message) {
1247
+ logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);
1248
+ messagesDispatcher({
1249
+ type: SENDING_MESSAGE_SUCCEEDED,
1250
+ payload: message,
1251
+ });
1252
+ })
1253
+ .onFailed(function (error, message) {
1254
+ logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);
1255
+ messagesDispatcher({
1256
+ type: SENDING_MESSAGE_FAILED,
1257
+ payload: message,
1258
+ });
1259
+ });
1260
+ }
1261
+ }
1262
+ else {
1263
+ // to alert user on console
1264
+ // eslint-disable-next-line no-console
1265
+ console.error('OpenChannel | useResendMessageCallback: Message is not resendable');
1266
+ logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);
1267
+ }
1268
+ }, [currentOpenChannel]);
1269
+ }
1270
+
1271
+ var THROTTLE_TIMER = 5000;
1272
+ // to trim message list so that we wont keep thousands of messages in memory
1273
+ // We are throttling here; not debouncing
1274
+ // it will be called once very 5 sec if messagesLength, messageLimit changes
1275
+ // we check if messagesLength > messageLimit before dispatching action
1276
+ function useTrimMessageList(_a, _b) {
1277
+ var messagesLength = _a.messagesLength, messageLimit = _a.messageLimit;
1278
+ var messagesDispatcher = _b.messagesDispatcher, logger = _b.logger;
1279
+ var _c = React.useState(false), inProgress = _c[0], setInProgress = _c[1];
1280
+ React.useEffect(function () {
1281
+ if (inProgress) {
1282
+ return;
1283
+ }
1284
+ if (typeof messagesLength === 'number' && messagesLength > messageLimit) {
1285
+ logger.info('Trimming MessageList');
1286
+ messagesDispatcher({
1287
+ type: TRIM_MESSAGE_LIST,
1288
+ payload: { messageLimit: messageLimit },
1289
+ });
1290
+ }
1291
+ setInProgress(true);
1292
+ setTimeout(function () { setInProgress(false); }, THROTTLE_TIMER);
1293
+ }, [messagesLength, messageLimit]);
1294
+ }
1295
+
1296
+ var OpenChannelContext = React.createContext(undefined);
1297
+ var OpenChannelProvider = function (props) {
1298
+ var _a, _b, _c, _d, _e, _f, _g;
1299
+ var channelUrl = props.channelUrl, children = props.children, _h = props.isMessageGroupingEnabled, isMessageGroupingEnabled = _h === void 0 ? true : _h, queries = props.queries, onBeforeSendUserMessage = props.onBeforeSendUserMessage, messageLimit = props.messageLimit, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onChatHeaderActionClick = props.onChatHeaderActionClick, onBackClick = props.onBackClick, disableUserProfile = props.disableUserProfile, renderUserProfile = props.renderUserProfile;
1300
+ // We didn't decide to support fetching participant list
1301
+ var fetchingParticipants = false;
1302
+ var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1303
+ 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;
1304
+ 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;
1305
+ 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;
1306
+ var config = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1307
+ var userId = config.userId, isOnline = config.isOnline, logger = config.logger, pubSub = config.pubSub, imageCompression = config.imageCompression;
1308
+ // hook variables
1309
+ var _j = React.useReducer(reducer, initialState), messagesStore = _j[0], messagesDispatcher = _j[1];
1310
+ var allMessages = messagesStore.allMessages, loading = messagesStore.loading, initialized = messagesStore.initialized, currentOpenChannel = messagesStore.currentOpenChannel, isInvalid = messagesStore.isInvalid, hasMore = messagesStore.hasMore, lastMessageTimestamp = messagesStore.lastMessageTimestamp, operators = messagesStore.operators, bannedParticipantIds = messagesStore.bannedParticipantIds, mutedParticipantIds = messagesStore.mutedParticipantIds;
1311
+ // ref
1312
+ var messageInputRef = React.useRef(null); // useSendMessageCallback
1313
+ var conversationScrollRef = React.useRef(null); // useScrollAfterSendMessageCallback
1314
+ // const
1315
+ var userFilledMessageListParams = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1316
+ var disabled = !initialized
1317
+ || !isOnline
1318
+ || isDisabledBecauseFrozen(currentOpenChannel, userId)
1319
+ || isDisabledBecauseMuted(mutedParticipantIds, userId);
1320
+ // useMemo
1321
+ var amIBanned = React.useMemo(function () {
1322
+ return bannedParticipantIds.indexOf(user.userId) >= 0;
1323
+ }, [channelUrl, bannedParticipantIds, user]);
1324
+ var amIMuted = React.useMemo(function () {
1325
+ return mutedParticipantIds.indexOf(user.userId) >= 0;
1326
+ }, [channelUrl, mutedParticipantIds, user]);
1327
+ var amIOperator = React.useMemo(function () {
1328
+ return operators.map(function (operator) { return operator.userId; }).indexOf(user.userId) >= 0;
1329
+ }, [channelUrl, operators, user]);
1330
+ // use hooks
1331
+ useSetChannel({ channelUrl: channelUrl, sdkInit: sdkInit, fetchingParticipants: fetchingParticipants, userId: userId, currentOpenChannel: currentOpenChannel }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher });
1332
+ var checkScrollBottom = useCheckScrollBottom({ conversationScrollRef: conversationScrollRef }, { logger: logger });
1333
+ useHandleChannelEvents({ currentOpenChannel: currentOpenChannel, checkScrollBottom: checkScrollBottom }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1334
+ useInitialMessagesFetch({ currentOpenChannel: currentOpenChannel, userFilledMessageListParams: userFilledMessageListParams }, { logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1335
+ var fetchMore = shouldFetchMore(allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit);
1336
+ // donot fetch more for streaming
1337
+ var onScroll = useScrollCallback({ currentOpenChannel: currentOpenChannel, lastMessageTimestamp: lastMessageTimestamp, fetchMore: fetchMore }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, hasMore: hasMore, userFilledMessageListParams: userFilledMessageListParams });
1338
+ var handleSendMessage = useSendMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage, checkScrollBottom: checkScrollBottom, messageInputRef: messageInputRef }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1339
+ var handleFileUpload = useFileUploadCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendFileMessage: onBeforeSendFileMessage, checkScrollBottom: checkScrollBottom, imageCompression: imageCompression }, { sdk: sdk, logger: logger, messagesDispatcher: messagesDispatcher, scrollRef: conversationScrollRef });
1340
+ var updateMessage = useUpdateMessageCallback({ currentOpenChannel: currentOpenChannel, onBeforeSendUserMessage: onBeforeSendUserMessage }, { logger: logger, messagesDispatcher: messagesDispatcher });
1341
+ var deleteMessage = useDeleteMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1342
+ var resendMessage = useResendMessageCallback({ currentOpenChannel: currentOpenChannel }, { logger: logger, messagesDispatcher: messagesDispatcher });
1343
+ useTrimMessageList({ messagesLength: allMessages === null || allMessages === void 0 ? void 0 : allMessages.length, messageLimit: messageLimit }, { messagesDispatcher: messagesDispatcher, logger: logger });
1344
+ // handle API calls from withSendbird
1345
+ React.useEffect(function () {
1346
+ var subscriber = new Map();
1347
+ if (!pubSub || !pubSub.subscribe) {
1348
+ return;
1349
+ }
1350
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, function (msg) {
1351
+ var channel = msg.channel, message = msg.message;
1352
+ scrollIntoLast(0, conversationScrollRef);
1353
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1354
+ messagesDispatcher({
1355
+ type: SENDING_MESSAGE_SUCCEEDED,
1356
+ payload: message,
1357
+ });
1358
+ }
1359
+ }));
1360
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, function (msg) {
1361
+ var channel = msg.channel, message = msg.message;
1362
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1363
+ messagesDispatcher({
1364
+ type: SENDING_MESSAGE_START,
1365
+ payload: { message: message, channel: channel },
1366
+ });
1367
+ }
1368
+ }));
1369
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, function (msg) {
1370
+ var channel = msg.channel, message = msg.message;
1371
+ scrollIntoLast(0, conversationScrollRef);
1372
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1373
+ messagesDispatcher({
1374
+ type: SENDING_MESSAGE_SUCCEEDED,
1375
+ payload: { message: message, channel: channel },
1376
+ });
1377
+ }
1378
+ }));
1379
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, function (msg) {
1380
+ var channel = msg.channel, message = msg.message, fromSelector = msg.fromSelector;
1381
+ if (fromSelector && channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1382
+ messagesDispatcher({
1383
+ type: ON_MESSAGE_UPDATED,
1384
+ payload: { channel: channel, message: message },
1385
+ });
1386
+ }
1387
+ }));
1388
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, function (msg) {
1389
+ var channel = msg.channel, messageId = msg.messageId;
1390
+ if (channel && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url))) {
1391
+ messagesDispatcher({
1392
+ type: ON_MESSAGE_DELETED,
1393
+ payload: messageId,
1394
+ });
1395
+ }
1396
+ }));
1397
+ return function () {
1398
+ if (subscriber) {
1399
+ subscriber.forEach(function (s) {
1400
+ try {
1401
+ s.remove();
1402
+ }
1403
+ catch (_a) {
1404
+ //
1405
+ }
1406
+ });
1407
+ }
1408
+ };
1409
+ }, [channelUrl, sdkInit]);
1410
+ return (React.createElement(OpenChannelContext.Provider, { value: {
1411
+ // props
1412
+ channelUrl: channelUrl,
1413
+ children: children,
1414
+ isMessageGroupingEnabled: isMessageGroupingEnabled,
1415
+ queries: queries,
1416
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
1417
+ messageLimit: messageLimit,
1418
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
1419
+ onChatHeaderActionClick: onChatHeaderActionClick,
1420
+ onBackClick: onBackClick,
1421
+ // store
1422
+ allMessages: allMessages,
1423
+ loading: loading,
1424
+ initialized: initialized,
1425
+ currentOpenChannel: currentOpenChannel,
1426
+ isInvalid: isInvalid,
1427
+ hasMore: hasMore,
1428
+ lastMessageTimestamp: lastMessageTimestamp,
1429
+ operators: operators,
1430
+ bannedParticipantIds: bannedParticipantIds,
1431
+ mutedParticipantIds: mutedParticipantIds,
1432
+ // derived/utils
1433
+ messageInputRef: messageInputRef,
1434
+ conversationScrollRef: conversationScrollRef,
1435
+ disabled: disabled,
1436
+ amIBanned: amIBanned,
1437
+ amIMuted: amIMuted,
1438
+ amIOperator: amIOperator,
1439
+ checkScrollBottom: checkScrollBottom,
1440
+ fetchMore: fetchMore,
1441
+ onScroll: onScroll,
1442
+ handleSendMessage: handleSendMessage,
1443
+ handleFileUpload: handleFileUpload,
1444
+ updateMessage: updateMessage,
1445
+ deleteMessage: deleteMessage,
1446
+ resendMessage: resendMessage,
1447
+ frozen: messagesStore.frozen,
1448
+ disableUserProfile: disableUserProfile,
1449
+ renderUserProfile: renderUserProfile,
1450
+ participants: messagesStore.participants,
1451
+ } },
1452
+ React.createElement(UserProfileContext.UserProfileProvider, { isOpenChannel: true, renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile, disableUserProfile: (_g = props === null || props === void 0 ? void 0 : props.disableUserProfile) !== null && _g !== void 0 ? _g : config === null || config === void 0 ? void 0 : config.disableUserProfile }, children)));
1453
+ };
1454
+ var useOpenChannelContext = function () { return React.useContext(OpenChannelContext); };
1455
+
1456
+ exports.OpenChannelProvider = OpenChannelProvider;
1457
+ exports.compareMessagesForGrouping = compareMessagesForGrouping;
1458
+ exports.kFormatter = kFormatter;
1459
+ exports.useOpenChannelContext = useOpenChannelContext;
1460
+ //# sourceMappingURL=bundle-F7GEQVgT.js.map