@sendbird/uikit-react 3.7.0 → 3.8.1

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 (1500) hide show
  1. package/App.js +295 -563
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +79 -0
  4. package/Channel/components/ChannelHeader.js +51 -97
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +89 -132
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +73 -142
  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 +287 -388
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +172 -238
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +263 -323
  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 +179 -264
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +74 -80
  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 +17 -16
  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 +60 -104
  35. package/Channel.js.map +1 -1
  36. package/ChannelList/components/AddChannel.js +34 -53
  37. package/ChannelList/components/AddChannel.js.map +1 -1
  38. package/ChannelList/components/ChannelListHeader.js +30 -57
  39. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  40. package/ChannelList/components/ChannelListUI.js +103 -160
  41. package/ChannelList/components/ChannelListUI.js.map +1 -1
  42. package/ChannelList/components/ChannelPreview.js +103 -168
  43. package/ChannelList/components/ChannelPreview.js.map +1 -1
  44. package/ChannelList/components/ChannelPreviewAction.js +53 -111
  45. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  46. package/ChannelList/context.js +9 -9
  47. package/ChannelList.js +37 -60
  48. package/ChannelList.js.map +1 -1
  49. package/ChannelSettings/components/ChannelProfile.js +46 -78
  50. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  51. package/ChannelSettings/components/ChannelSettingsUI.js +80 -112
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +80 -134
  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 +414 -792
  58. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  59. package/ChannelSettings/components/UserListItem.js +46 -90
  60. package/ChannelSettings/components/UserListItem.js.map +1 -1
  61. package/ChannelSettings/components/UserPanel.js +39 -58
  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 +21 -39
  66. package/ChannelSettings.js.map +1 -1
  67. package/CreateChannel/components/CreateChannelUI.js +24 -34
  68. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  69. package/CreateChannel/components/InviteUsers.js +144 -181
  70. package/CreateChannel/components/InviteUsers.js.map +1 -1
  71. package/CreateChannel/components/SelectChannelType.js +65 -114
  72. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  73. package/CreateChannel/context.js +4 -4
  74. package/CreateChannel.js +19 -34
  75. package/CreateChannel.js.map +1 -1
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js +52 -109
  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 +16 -32
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +82 -143
  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 +16 -25
  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 +72 -124
  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 +58 -121
  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 +33 -74
  101. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  102. package/OpenChannel/components/OpenChannelInput.js +41 -59
  103. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelMessage.js +159 -247
  105. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelMessageList.js +86 -121
  107. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  108. package/OpenChannel/components/OpenChannelUI.js +61 -83
  109. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  110. package/OpenChannel/context.js +8 -8
  111. package/OpenChannel.js +38 -58
  112. package/OpenChannel.js.map +1 -1
  113. package/OpenChannelList/components/OpenChannelListUI.js +93 -166
  114. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  115. package/OpenChannelList/components/OpenChannelPreview.js +20 -59
  116. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  117. package/OpenChannelList/context.js +3 -3
  118. package/OpenChannelList.js +23 -42
  119. package/OpenChannelList.js.map +1 -1
  120. package/OpenChannelSettings/components/EditDetailsModal.js +71 -125
  121. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  122. package/OpenChannelSettings/components/OpenChannelProfile.js +36 -62
  123. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  124. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +54 -86
  125. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  126. package/OpenChannelSettings/components/OperatorUI.js +456 -830
  127. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  128. package/OpenChannelSettings/components/ParticipantUI.js +17 -20
  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 +22 -35
  133. package/OpenChannelSettings.js.map +1 -1
  134. package/README.md +0 -10
  135. package/SendbirdProvider.js +991 -1235
  136. package/SendbirdProvider.js.map +1 -1
  137. package/Thread/components/ParentMessageInfo.js +196 -350
  138. package/Thread/components/ParentMessageInfo.js.map +1 -1
  139. package/Thread/components/ParentMessageInfoItem.js +107 -197
  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 +116 -152
  144. package/Thread/components/ThreadList.js.map +1 -1
  145. package/Thread/components/ThreadListItem.js +271 -531
  146. package/Thread/components/ThreadListItem.js.map +1 -1
  147. package/Thread/components/ThreadMessageInput.js +155 -213
  148. package/Thread/components/ThreadMessageInput.js.map +1 -1
  149. package/Thread/components/ThreadUI.js +195 -271
  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 +1223 -1634
  154. package/Thread/context.js.map +1 -1
  155. package/Thread.js +61 -100
  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/chunks/bundle--Hrow3p-.js +42 -0
  165. package/chunks/bundle--Hrow3p-.js.map +1 -0
  166. package/chunks/bundle-06CfHADE.js +26 -0
  167. package/chunks/bundle-06CfHADE.js.map +1 -0
  168. package/{index-09847c0f.js → chunks/bundle-0BwB1B7t.js} +1 -1
  169. package/chunks/bundle-0BwB1B7t.js.map +1 -0
  170. package/{consts-57c888b9.js → chunks/bundle-0plqkdfC.js} +1 -1
  171. package/chunks/bundle-0plqkdfC.js.map +1 -0
  172. package/{types-781e0bab.js → chunks/bundle-1uIyPhfL.js} +6 -6
  173. package/chunks/bundle-1uIyPhfL.js.map +1 -0
  174. package/chunks/bundle-2oi09sb6.js +277 -0
  175. package/chunks/bundle-2oi09sb6.js.map +1 -0
  176. package/chunks/bundle-3KS1YB09.js +25 -0
  177. package/chunks/bundle-3KS1YB09.js.map +1 -0
  178. package/chunks/bundle-3oeQjqp5.js +14 -0
  179. package/chunks/bundle-3oeQjqp5.js.map +1 -0
  180. package/chunks/bundle-4zdVdGkr.js +213 -0
  181. package/chunks/bundle-4zdVdGkr.js.map +1 -0
  182. package/chunks/bundle-5Z7nY-qa.js +355 -0
  183. package/chunks/bundle-5Z7nY-qa.js.map +1 -0
  184. package/chunks/bundle-62G-DTVs.js +211 -0
  185. package/chunks/bundle-62G-DTVs.js.map +1 -0
  186. package/chunks/bundle-6G8kMIS1.js +1455 -0
  187. package/chunks/bundle-6G8kMIS1.js.map +1 -0
  188. package/chunks/bundle-7-9WA7QK.js +222 -0
  189. package/chunks/bundle-7-9WA7QK.js.map +1 -0
  190. package/chunks/bundle-7DHTLnV3.js +98 -0
  191. package/chunks/bundle-7DHTLnV3.js.map +1 -0
  192. package/chunks/bundle-9uR-6efo.js +77 -0
  193. package/chunks/bundle-9uR-6efo.js.map +1 -0
  194. package/{tslib.es6-c2fb729e.js → chunks/bundle-AVOWwEQ4.js} +2 -2
  195. package/chunks/bundle-AVOWwEQ4.js.map +1 -0
  196. package/chunks/bundle-DwZzB6nL.js +16 -0
  197. package/chunks/bundle-DwZzB6nL.js.map +1 -0
  198. package/chunks/bundle-EZnDY3Tc.js +131 -0
  199. package/chunks/bundle-EZnDY3Tc.js.map +1 -0
  200. package/chunks/bundle-F63fi8fP.js +24 -0
  201. package/chunks/bundle-F63fi8fP.js.map +1 -0
  202. package/chunks/bundle-FQAabli1.js +5 -0
  203. package/chunks/bundle-FQAabli1.js.map +1 -0
  204. package/chunks/bundle-G3cS-S1W.js +24 -0
  205. package/chunks/bundle-G3cS-S1W.js.map +1 -0
  206. package/chunks/bundle-GqUhOzeC.js +16 -0
  207. package/chunks/bundle-GqUhOzeC.js.map +1 -0
  208. package/chunks/bundle-J7RD0FpU.js +96 -0
  209. package/chunks/bundle-J7RD0FpU.js.map +1 -0
  210. package/{index-f8a9cb51.js → chunks/bundle-J7om32yx.js} +12 -3
  211. package/chunks/bundle-J7om32yx.js.map +1 -0
  212. package/{const-73db0277.js → chunks/bundle-JGFwpJZJ.js} +10 -10
  213. package/chunks/bundle-JGFwpJZJ.js.map +1 -0
  214. package/chunks/bundle-KaSW5xxP.js +176 -0
  215. package/chunks/bundle-KaSW5xxP.js.map +1 -0
  216. package/{index-2d27aeef.js → chunks/bundle-LPkaaUo4.js} +202 -64
  217. package/chunks/bundle-LPkaaUo4.js.map +1 -0
  218. package/chunks/bundle-Lh7-eKPZ.js +125 -0
  219. package/chunks/bundle-Lh7-eKPZ.js.map +1 -0
  220. package/chunks/bundle-NcHt88Fs.js +8 -0
  221. package/chunks/bundle-NcHt88Fs.js.map +1 -0
  222. package/chunks/bundle-OoXqnc0l.js +657 -0
  223. package/chunks/bundle-OoXqnc0l.js.map +1 -0
  224. package/chunks/bundle-PK1dgVwp.js +57 -0
  225. package/chunks/bundle-PK1dgVwp.js.map +1 -0
  226. package/chunks/bundle-QKq7b-WA.js +76 -0
  227. package/chunks/bundle-QKq7b-WA.js.map +1 -0
  228. package/chunks/bundle-QeQV8Aqe.js +28 -0
  229. package/chunks/bundle-QeQV8Aqe.js.map +1 -0
  230. package/chunks/bundle-TWJd6cza.js +826 -0
  231. package/chunks/bundle-TWJd6cza.js.map +1 -0
  232. package/{consts-d9c5f25a.js → chunks/bundle-UjngV2Kp.js} +28 -28
  233. package/chunks/bundle-UjngV2Kp.js.map +1 -0
  234. package/chunks/bundle-VSkY75XQ.js +72 -0
  235. package/chunks/bundle-VSkY75XQ.js.map +1 -0
  236. package/chunks/bundle-YwxAxKwQ.js +1519 -0
  237. package/chunks/bundle-YwxAxKwQ.js.map +1 -0
  238. package/{index-682a192c.js → chunks/bundle-ZZuBYhV1.js} +4 -2
  239. package/chunks/bundle-ZZuBYhV1.js.map +1 -0
  240. package/chunks/bundle-_2iSz8ke.js +353 -0
  241. package/chunks/bundle-_2iSz8ke.js.map +1 -0
  242. package/{consts-be37687e.js → chunks/bundle-_nlJSeuz.js} +1 -1
  243. package/chunks/bundle-_nlJSeuz.js.map +1 -0
  244. package/chunks/bundle-fQ2M7pMu.js +151 -0
  245. package/chunks/bundle-fQ2M7pMu.js.map +1 -0
  246. package/chunks/bundle-fbmUkwMs.js +173 -0
  247. package/chunks/bundle-fbmUkwMs.js.map +1 -0
  248. package/chunks/bundle-gYyMZyCn.js +62 -0
  249. package/chunks/bundle-gYyMZyCn.js.map +1 -0
  250. package/{uuid-c15b8b3b.js → chunks/bundle-iPDlyZXo.js} +11 -13
  251. package/chunks/bundle-iPDlyZXo.js.map +1 -0
  252. package/chunks/bundle-jUubN32Z.js +36 -0
  253. package/chunks/bundle-jUubN32Z.js.map +1 -0
  254. package/chunks/bundle-kBtT3HBi.js +230 -0
  255. package/chunks/bundle-kBtT3HBi.js.map +1 -0
  256. package/chunks/bundle-kPOY92Qs.js +132 -0
  257. package/chunks/bundle-kPOY92Qs.js.map +1 -0
  258. package/{consts-4ec7d640.js → chunks/bundle-kaJaYGwQ.js} +1 -1
  259. package/chunks/bundle-kaJaYGwQ.js.map +1 -0
  260. package/chunks/bundle-lDOyfwhb.js +78 -0
  261. package/chunks/bundle-lDOyfwhb.js.map +1 -0
  262. package/{index-e4277f9c.js → chunks/bundle-ltzZCtkR.js} +42 -15
  263. package/chunks/bundle-ltzZCtkR.js.map +1 -0
  264. package/chunks/bundle-ndy1oWfZ.js +12 -0
  265. package/chunks/bundle-ndy1oWfZ.js.map +1 -0
  266. package/chunks/bundle-r7_GdraW.js +233 -0
  267. package/chunks/bundle-r7_GdraW.js.map +1 -0
  268. package/{resolvedReplyType-fb987595.js → chunks/bundle-rX7vrYxX.js} +27 -27
  269. package/chunks/bundle-rX7vrYxX.js.map +1 -0
  270. package/chunks/bundle-tK1qgIcU.js +18 -0
  271. package/chunks/bundle-tK1qgIcU.js.map +1 -0
  272. package/chunks/bundle-um2Azmnd.js +31 -0
  273. package/chunks/bundle-um2Azmnd.js.map +1 -0
  274. package/chunks/bundle-w-pB0qJ8.js +36 -0
  275. package/chunks/bundle-w-pB0qJ8.js.map +1 -0
  276. package/chunks/bundle-x3udz03j.js +77 -0
  277. package/chunks/bundle-x3udz03j.js.map +1 -0
  278. package/chunks/bundle-zch8NdOh.js +220 -0
  279. package/chunks/bundle-zch8NdOh.js.map +1 -0
  280. package/chunks/bundle-zqQY3xFx.js +69 -0
  281. package/chunks/bundle-zqQY3xFx.js.map +1 -0
  282. package/cjs/App.js +295 -567
  283. package/cjs/App.js.map +1 -1
  284. package/cjs/Channel/components/ChannelHeader.js +51 -101
  285. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  286. package/cjs/Channel/components/ChannelUI.js +89 -136
  287. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  288. package/cjs/Channel/components/FileViewer.js +74 -147
  289. package/cjs/Channel/components/FileViewer.js.map +1 -1
  290. package/cjs/Channel/components/FrozenNotification.js +10 -19
  291. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  292. package/cjs/Channel/components/Message.js +286 -391
  293. package/cjs/Channel/components/Message.js.map +1 -1
  294. package/cjs/Channel/components/MessageInput.js +172 -242
  295. package/cjs/Channel/components/MessageInput.js.map +1 -1
  296. package/cjs/Channel/components/MessageList.js +261 -325
  297. package/cjs/Channel/components/MessageList.js.map +1 -1
  298. package/cjs/Channel/components/RemoveMessageModal.js +38 -54
  299. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  300. package/cjs/Channel/components/SuggestedMentionList.js +178 -267
  301. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  302. package/cjs/Channel/components/TypingIndicator.js +74 -84
  303. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  304. package/cjs/Channel/components/UnreadCount.js +26 -34
  305. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  306. package/cjs/Channel/context.js +17 -18
  307. package/cjs/Channel/context.js.map +1 -1
  308. package/cjs/Channel/hooks/useInitialMessagesFetch.js +111 -0
  309. package/cjs/Channel/hooks/useInitialMessagesFetch.js.map +1 -0
  310. package/cjs/Channel/utils/compareMessagesForGrouping.js +19 -18
  311. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  312. package/cjs/Channel/utils/getMessagePartsInfo.js +26 -39
  313. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  314. package/cjs/Channel.js +60 -108
  315. package/cjs/Channel.js.map +1 -1
  316. package/cjs/ChannelList/components/AddChannel.js +35 -58
  317. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  318. package/cjs/ChannelList/components/ChannelListHeader.js +30 -61
  319. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  320. package/cjs/ChannelList/components/ChannelListUI.js +103 -164
  321. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  322. package/cjs/ChannelList/components/ChannelPreview.js +103 -172
  323. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  324. package/cjs/ChannelList/components/ChannelPreviewAction.js +53 -115
  325. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  326. package/cjs/ChannelList/context.js +9 -11
  327. package/cjs/ChannelList/context.js.map +1 -1
  328. package/cjs/ChannelList.js +37 -64
  329. package/cjs/ChannelList.js.map +1 -1
  330. package/cjs/ChannelSettings/components/ChannelProfile.js +46 -82
  331. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  332. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +80 -116
  333. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  334. package/cjs/ChannelSettings/components/EditDetailsModal.js +80 -138
  335. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  336. package/cjs/ChannelSettings/components/LeaveChannel.js +53 -84
  337. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  338. package/cjs/ChannelSettings/components/ModerationPanel.js +413 -795
  339. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  340. package/cjs/ChannelSettings/components/UserListItem.js +46 -94
  341. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  342. package/cjs/ChannelSettings/components/UserPanel.js +39 -62
  343. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  344. package/cjs/ChannelSettings/context.js +62 -90
  345. package/cjs/ChannelSettings/context.js.map +1 -1
  346. package/cjs/ChannelSettings.js +21 -43
  347. package/cjs/ChannelSettings.js.map +1 -1
  348. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -38
  349. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  350. package/cjs/CreateChannel/components/InviteUsers.js +144 -185
  351. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  352. package/cjs/CreateChannel/components/SelectChannelType.js +65 -118
  353. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  354. package/cjs/CreateChannel/context.js +4 -6
  355. package/cjs/CreateChannel/context.js.map +1 -1
  356. package/cjs/CreateChannel.js +19 -38
  357. package/cjs/CreateChannel.js.map +1 -1
  358. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +52 -113
  359. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  360. package/cjs/CreateOpenChannel/context.js +42 -57
  361. package/cjs/CreateOpenChannel/context.js.map +1 -1
  362. package/cjs/CreateOpenChannel.js +16 -36
  363. package/cjs/CreateOpenChannel.js.map +1 -1
  364. package/cjs/EditUserProfile/components/EditUserProfileUI.js +82 -147
  365. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  366. package/cjs/EditUserProfile/context.js +13 -26
  367. package/cjs/EditUserProfile/context.js.map +1 -1
  368. package/cjs/EditUserProfile.js +16 -29
  369. package/cjs/EditUserProfile.js.map +1 -1
  370. package/cjs/Message/context.js +21 -30
  371. package/cjs/Message/context.js.map +1 -1
  372. package/cjs/Message/hooks/useDirtyGetMentions.js +52 -65
  373. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  374. package/cjs/MessageSearch/components/MessageSearchUI.js +73 -129
  375. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  376. package/cjs/MessageSearch/context.js +237 -345
  377. package/cjs/MessageSearch/context.js.map +1 -1
  378. package/cjs/MessageSearch.js +58 -125
  379. package/cjs/MessageSearch.js.map +1 -1
  380. package/cjs/OpenChannel/components/FrozenChannelNotification.js +9 -17
  381. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  382. package/cjs/OpenChannel/components/OpenChannelHeader.js +33 -78
  383. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  384. package/cjs/OpenChannel/components/OpenChannelInput.js +41 -63
  385. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  386. package/cjs/OpenChannel/components/OpenChannelMessage.js +159 -251
  387. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  388. package/cjs/OpenChannel/components/OpenChannelMessageList.js +86 -125
  389. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  390. package/cjs/OpenChannel/components/OpenChannelUI.js +61 -87
  391. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  392. package/cjs/OpenChannel/context.js +8 -10
  393. package/cjs/OpenChannel/context.js.map +1 -1
  394. package/cjs/OpenChannel.js +38 -62
  395. package/cjs/OpenChannel.js.map +1 -1
  396. package/cjs/OpenChannelList/components/OpenChannelListUI.js +93 -170
  397. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  398. package/cjs/OpenChannelList/components/OpenChannelPreview.js +20 -63
  399. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  400. package/cjs/OpenChannelList/context.js +4 -4
  401. package/cjs/OpenChannelList.js +23 -46
  402. package/cjs/OpenChannelList.js.map +1 -1
  403. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +71 -129
  404. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  405. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +36 -66
  406. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  407. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +54 -90
  408. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  409. package/cjs/OpenChannelSettings/components/OperatorUI.js +456 -834
  410. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  411. package/cjs/OpenChannelSettings/components/ParticipantUI.js +17 -20
  412. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  413. package/cjs/OpenChannelSettings/context.js +115 -131
  414. package/cjs/OpenChannelSettings/context.js.map +1 -1
  415. package/cjs/OpenChannelSettings.js +22 -39
  416. package/cjs/OpenChannelSettings.js.map +1 -1
  417. package/cjs/SendbirdProvider.js +992 -1242
  418. package/cjs/SendbirdProvider.js.map +1 -1
  419. package/cjs/Thread/components/ParentMessageInfo.js +196 -354
  420. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  421. package/cjs/Thread/components/ParentMessageInfoItem.js +107 -201
  422. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  423. package/cjs/Thread/components/ThreadHeader.js +23 -55
  424. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  425. package/cjs/Thread/components/ThreadList.js +116 -156
  426. package/cjs/Thread/components/ThreadList.js.map +1 -1
  427. package/cjs/Thread/components/ThreadListItem.js +271 -535
  428. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  429. package/cjs/Thread/components/ThreadMessageInput.js +155 -217
  430. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  431. package/cjs/Thread/components/ThreadUI.js +195 -275
  432. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  433. package/cjs/Thread/context/types.js +21 -23
  434. package/cjs/Thread/context/types.js.map +1 -1
  435. package/cjs/Thread/context.js +1223 -1640
  436. package/cjs/Thread/context.js.map +1 -1
  437. package/cjs/Thread.js +61 -104
  438. package/cjs/Thread.js.map +1 -1
  439. package/cjs/VoicePlayer/context.js +3 -5
  440. package/cjs/VoicePlayer/context.js.map +1 -1
  441. package/cjs/VoicePlayer/useVoicePlayer.js +56 -79
  442. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  443. package/cjs/VoiceRecorder/context.js +121 -155
  444. package/cjs/VoiceRecorder/context.js.map +1 -1
  445. package/cjs/VoiceRecorder/useVoiceRecorder.js +95 -110
  446. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  447. package/cjs/chunks/bundle-2KPLdyEL.js +128 -0
  448. package/cjs/chunks/bundle-2KPLdyEL.js.map +1 -0
  449. package/cjs/chunks/bundle-3qeMVUne.js +38 -0
  450. package/cjs/chunks/bundle-3qeMVUne.js.map +1 -0
  451. package/cjs/{consts-f54b15c2.js → chunks/bundle-4iro9CUN.js} +27 -27
  452. package/cjs/chunks/bundle-4iro9CUN.js.map +1 -0
  453. package/cjs/chunks/bundle-5l7POen0.js +215 -0
  454. package/cjs/chunks/bundle-5l7POen0.js.map +1 -0
  455. package/cjs/chunks/bundle-6fWeHUzf.js +46 -0
  456. package/cjs/chunks/bundle-6fWeHUzf.js.map +1 -0
  457. package/cjs/chunks/bundle-80bw1Z-w.js +20 -0
  458. package/cjs/chunks/bundle-80bw1Z-w.js.map +1 -0
  459. package/cjs/chunks/bundle-8lUFYwiz.js +163 -0
  460. package/cjs/chunks/bundle-8lUFYwiz.js.map +1 -0
  461. package/cjs/chunks/bundle-A9-xoiFy.js +18 -0
  462. package/cjs/chunks/bundle-A9-xoiFy.js.map +1 -0
  463. package/cjs/chunks/bundle-ACXel153.js +27 -0
  464. package/cjs/chunks/bundle-ACXel153.js.map +1 -0
  465. package/cjs/chunks/bundle-BUF_nc4Q.js +707 -0
  466. package/cjs/chunks/bundle-BUF_nc4Q.js.map +1 -0
  467. package/cjs/chunks/bundle-Bekm94S6.js +137 -0
  468. package/cjs/chunks/bundle-Bekm94S6.js.map +1 -0
  469. package/cjs/chunks/bundle-Ch6xNfpK.js +1460 -0
  470. package/cjs/chunks/bundle-Ch6xNfpK.js.map +1 -0
  471. package/cjs/chunks/bundle-Co06yFqb.js +178 -0
  472. package/cjs/chunks/bundle-Co06yFqb.js.map +1 -0
  473. package/cjs/{consts-b711321c.js → chunks/bundle-DRPbz-J2.js} +1 -1
  474. package/cjs/chunks/bundle-DRPbz-J2.js.map +1 -0
  475. package/cjs/chunks/bundle-DTSMqW5p.js +39 -0
  476. package/cjs/chunks/bundle-DTSMqW5p.js.map +1 -0
  477. package/cjs/{index-e8928da6.js → chunks/bundle-EVv3xRW8.js} +42 -15
  478. package/cjs/chunks/bundle-EVv3xRW8.js.map +1 -0
  479. package/cjs/chunks/bundle-FCrfVx0P.js +79 -0
  480. package/cjs/chunks/bundle-FCrfVx0P.js.map +1 -0
  481. package/cjs/chunks/bundle-FI-ZNmbG.js +30 -0
  482. package/cjs/chunks/bundle-FI-ZNmbG.js.map +1 -0
  483. package/cjs/chunks/bundle-LoNtsKOJ.js +217 -0
  484. package/cjs/chunks/bundle-LoNtsKOJ.js.map +1 -0
  485. package/cjs/{types-feda9656.js → chunks/bundle-M6v8bdc6.js} +6 -6
  486. package/cjs/chunks/bundle-M6v8bdc6.js.map +1 -0
  487. package/cjs/{consts-61d83828.js → chunks/bundle-MB8QdyyQ.js} +1 -1
  488. package/cjs/chunks/bundle-MB8QdyyQ.js.map +1 -0
  489. package/cjs/chunks/bundle-MwYMtlCB.js +109 -0
  490. package/cjs/chunks/bundle-MwYMtlCB.js.map +1 -0
  491. package/cjs/chunks/bundle-NOQysszZ.js +10 -0
  492. package/cjs/chunks/bundle-NOQysszZ.js.map +1 -0
  493. package/cjs/chunks/bundle-OfmF0BBb.js +99 -0
  494. package/cjs/chunks/bundle-OfmF0BBb.js.map +1 -0
  495. package/cjs/{consts-b3c4f548.js → chunks/bundle-PoR4V_kd.js} +1 -1
  496. package/cjs/chunks/bundle-PoR4V_kd.js.map +1 -0
  497. package/cjs/{index-54279ec2.js → chunks/bundle-RG3ZDmvE.js} +1 -1
  498. package/cjs/chunks/bundle-RG3ZDmvE.js.map +1 -0
  499. package/cjs/chunks/bundle-RV4B0RCM.js +27 -0
  500. package/cjs/chunks/bundle-RV4B0RCM.js.map +1 -0
  501. package/cjs/chunks/bundle-TCdgqawd.js +75 -0
  502. package/cjs/chunks/bundle-TCdgqawd.js.map +1 -0
  503. package/cjs/{const-c9e7a340.js → chunks/bundle-VHUezYnn.js} +10 -10
  504. package/cjs/chunks/bundle-VHUezYnn.js.map +1 -0
  505. package/cjs/chunks/bundle-Y0ibVW_O.js +139 -0
  506. package/cjs/chunks/bundle-Y0ibVW_O.js.map +1 -0
  507. package/cjs/chunks/bundle-YRW87MiX.js +22 -0
  508. package/cjs/chunks/bundle-YRW87MiX.js.map +1 -0
  509. package/cjs/{uuid-9a117e16.js → chunks/bundle-Z8uBiYyS.js} +11 -13
  510. package/cjs/chunks/bundle-Z8uBiYyS.js.map +1 -0
  511. package/cjs/chunks/bundle-ZYvG_yE0.js +26 -0
  512. package/cjs/chunks/bundle-ZYvG_yE0.js.map +1 -0
  513. package/cjs/chunks/bundle-_R3HdLLP.js +831 -0
  514. package/cjs/chunks/bundle-_R3HdLLP.js.map +1 -0
  515. package/cjs/chunks/bundle-_yIYQoui.js +1523 -0
  516. package/cjs/chunks/bundle-_yIYQoui.js.map +1 -0
  517. package/cjs/chunks/bundle-a_NGo240.js +16 -0
  518. package/cjs/chunks/bundle-a_NGo240.js.map +1 -0
  519. package/cjs/chunks/bundle-bQffWPr0.js +84 -0
  520. package/cjs/chunks/bundle-bQffWPr0.js.map +1 -0
  521. package/cjs/{index-7627b546.js → chunks/bundle-cKt6NzI1.js} +12 -3
  522. package/cjs/chunks/bundle-cKt6NzI1.js.map +1 -0
  523. package/cjs/chunks/bundle-fTDV9UxX.js +84 -0
  524. package/cjs/chunks/bundle-fTDV9UxX.js.map +1 -0
  525. package/cjs/chunks/bundle-h48X_8mu.js +224 -0
  526. package/cjs/chunks/bundle-h48X_8mu.js.map +1 -0
  527. package/cjs/chunks/bundle-kkxTVcGD.js +79 -0
  528. package/cjs/chunks/bundle-kkxTVcGD.js.map +1 -0
  529. package/cjs/chunks/bundle-leALuaxJ.js +228 -0
  530. package/cjs/chunks/bundle-leALuaxJ.js.map +1 -0
  531. package/cjs/chunks/bundle-lj7KorhP.js +81 -0
  532. package/cjs/chunks/bundle-lj7KorhP.js.map +1 -0
  533. package/cjs/chunks/bundle-lkluBCYi.js +74 -0
  534. package/cjs/chunks/bundle-lkluBCYi.js.map +1 -0
  535. package/cjs/{tslib.es6-c74b513f.js → chunks/bundle-mc8PQfi_.js} +1 -1
  536. package/cjs/chunks/bundle-mc8PQfi_.js.map +1 -0
  537. package/cjs/chunks/bundle-n6O0NYfY.js +279 -0
  538. package/cjs/chunks/bundle-n6O0NYfY.js.map +1 -0
  539. package/cjs/chunks/bundle-o5pJIgS7.js +35 -0
  540. package/cjs/chunks/bundle-o5pJIgS7.js.map +1 -0
  541. package/cjs/chunks/bundle-o66lc7qg.js +69 -0
  542. package/cjs/chunks/bundle-o66lc7qg.js.map +1 -0
  543. package/cjs/chunks/bundle-oISd80pA.js +28 -0
  544. package/cjs/chunks/bundle-oISd80pA.js.map +1 -0
  545. package/cjs/chunks/bundle-oiMScSG6.js +236 -0
  546. package/cjs/chunks/bundle-oiMScSG6.js.map +1 -0
  547. package/cjs/{index-3448df64.js → chunks/bundle-pLajF9mf.js} +202 -64
  548. package/cjs/chunks/bundle-pLajF9mf.js.map +1 -0
  549. package/cjs/chunks/bundle-t70SIG3R.js +181 -0
  550. package/cjs/chunks/bundle-t70SIG3R.js.map +1 -0
  551. package/cjs/chunks/bundle-tooLK5gn.js +360 -0
  552. package/cjs/chunks/bundle-tooLK5gn.js.map +1 -0
  553. package/cjs/chunks/bundle-u4ZfKyD_.js +15 -0
  554. package/cjs/chunks/bundle-u4ZfKyD_.js.map +1 -0
  555. package/cjs/{index-134e9852.js → chunks/bundle-uE1K1eGs.js} +4 -2
  556. package/cjs/chunks/bundle-uE1K1eGs.js.map +1 -0
  557. package/cjs/chunks/bundle-vWOLHFBL.js +356 -0
  558. package/cjs/chunks/bundle-vWOLHFBL.js.map +1 -0
  559. package/cjs/chunks/bundle-viTxhrPr.js +8 -0
  560. package/cjs/chunks/bundle-viTxhrPr.js.map +1 -0
  561. package/cjs/{resolvedReplyType-c4564ebe.js → chunks/bundle-wPu8WyIh.js} +26 -26
  562. package/cjs/chunks/bundle-wPu8WyIh.js.map +1 -0
  563. package/cjs/chunks/bundle-xy995kna.js +236 -0
  564. package/cjs/chunks/bundle-xy995kna.js.map +1 -0
  565. package/cjs/handlers/OpenChannelHandler.js +2 -2
  566. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  567. package/cjs/handlers/SessionHandler.js +2 -2
  568. package/cjs/handlers/SessionHandler.js.map +1 -1
  569. package/cjs/hooks/useModal.js +47 -72
  570. package/cjs/hooks/useModal.js.map +1 -1
  571. package/cjs/index.js +61 -65
  572. package/cjs/index.js.map +1 -1
  573. package/cjs/lame.all.js +14799 -681
  574. package/cjs/lame.all.js.map +1 -1
  575. package/cjs/package.json +1 -3
  576. package/cjs/pubSub/topics.js +12 -17
  577. package/cjs/pubSub/topics.js.map +1 -1
  578. package/cjs/sendbirdSelectors.js +551 -619
  579. package/cjs/sendbirdSelectors.js.map +1 -1
  580. package/cjs/ui/Accordion.js +40 -57
  581. package/cjs/ui/Accordion.js.map +1 -1
  582. package/cjs/ui/AccordionGroup.js +9 -22
  583. package/cjs/ui/AccordionGroup.js.map +1 -1
  584. package/cjs/ui/AdminMessage.js +13 -23
  585. package/cjs/ui/AdminMessage.js.map +1 -1
  586. package/cjs/ui/Avatar.js +9 -199
  587. package/cjs/ui/Avatar.js.map +1 -1
  588. package/cjs/ui/Badge.js +18 -26
  589. package/cjs/ui/Badge.js.map +1 -1
  590. package/cjs/ui/BottomSheet.js +28 -38
  591. package/cjs/ui/BottomSheet.js.map +1 -1
  592. package/cjs/ui/Button.js +41 -63
  593. package/cjs/ui/Button.js.map +1 -1
  594. package/cjs/ui/ChannelAvatar.js +21 -48
  595. package/cjs/ui/ChannelAvatar.js.map +1 -1
  596. package/cjs/ui/Checkbox.js +15 -28
  597. package/cjs/ui/Checkbox.js.map +1 -1
  598. package/cjs/ui/ConnectionStatus.js +11 -22
  599. package/cjs/ui/ConnectionStatus.js.map +1 -1
  600. package/cjs/ui/ContextMenu.js +196 -285
  601. package/cjs/ui/ContextMenu.js.map +1 -1
  602. package/cjs/ui/DateSeparator.js +13 -28
  603. package/cjs/ui/DateSeparator.js.map +1 -1
  604. package/cjs/ui/EmojiReactions.js +144 -331
  605. package/cjs/ui/EmojiReactions.js.map +1 -1
  606. package/cjs/ui/FileMessageItemBody.js +30 -53
  607. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  608. package/cjs/ui/FileViewer.js +18 -17
  609. package/cjs/ui/FileViewer.js.map +1 -1
  610. package/cjs/ui/Icon.js +558 -729
  611. package/cjs/ui/Icon.js.map +1 -1
  612. package/cjs/ui/IconButton.js +18 -49
  613. package/cjs/ui/IconButton.js.map +1 -1
  614. package/cjs/ui/ImageRenderer.js +103 -154
  615. package/cjs/ui/ImageRenderer.js.map +1 -1
  616. package/cjs/ui/Input.js +16 -42
  617. package/cjs/ui/Input.js.map +1 -1
  618. package/cjs/ui/Label.js +4 -4
  619. package/cjs/ui/LinkLabel.js +22 -51
  620. package/cjs/ui/LinkLabel.js.map +1 -1
  621. package/cjs/ui/Loader.js +11 -25
  622. package/cjs/ui/Loader.js.map +1 -1
  623. package/cjs/ui/MentionLabel.js +49 -83
  624. package/cjs/ui/MentionLabel.js.map +1 -1
  625. package/cjs/ui/MentionUserLabel.js +4 -19
  626. package/cjs/ui/MentionUserLabel.js.map +1 -1
  627. package/cjs/ui/MessageContent.js +245 -414
  628. package/cjs/ui/MessageContent.js.map +1 -1
  629. package/cjs/ui/MessageInput/hooks/usePaste.js +6 -6
  630. package/cjs/ui/MessageInput.js +447 -625
  631. package/cjs/ui/MessageInput.js.map +1 -1
  632. package/cjs/ui/MessageItemMenu.js +110 -166
  633. package/cjs/ui/MessageItemMenu.js.map +1 -1
  634. package/cjs/ui/MessageItemReactionMenu.js +39 -102
  635. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  636. package/cjs/ui/MessageSearchFileItem.js +78 -115
  637. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  638. package/cjs/ui/MessageSearchItem.js +50 -84
  639. package/cjs/ui/MessageSearchItem.js.map +1 -1
  640. package/cjs/ui/MessageStatus.js +13 -13
  641. package/cjs/ui/Modal.js +18 -131
  642. package/cjs/ui/Modal.js.map +1 -1
  643. package/cjs/ui/MutedAvatarOverlay.js +14 -30
  644. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  645. package/cjs/ui/OGMessageItemBody.js +66 -111
  646. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  647. package/cjs/ui/OpenChannelAdminMessage.js +9 -18
  648. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  649. package/cjs/ui/OpenChannelAvatar.js +15 -30
  650. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  651. package/cjs/ui/OpenchannelConversationHeader.js +22 -61
  652. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  653. package/cjs/ui/OpenchannelFileMessage.js +114 -238
  654. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  655. package/cjs/ui/OpenchannelOGMessage.js +157 -332
  656. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  657. package/cjs/ui/OpenchannelThumbnailMessage.js +152 -317
  658. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  659. package/cjs/ui/OpenchannelUserMessage.js +126 -268
  660. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  661. package/cjs/ui/PlaceHolder.js +46 -105
  662. package/cjs/ui/PlaceHolder.js.map +1 -1
  663. package/cjs/ui/PlaybackTime.js +12 -26
  664. package/cjs/ui/PlaybackTime.js.map +1 -1
  665. package/cjs/ui/ProgressBar.js +13 -31
  666. package/cjs/ui/ProgressBar.js.map +1 -1
  667. package/cjs/ui/QuoteMessage.js +70 -146
  668. package/cjs/ui/QuoteMessage.js.map +1 -1
  669. package/cjs/ui/QuoteMessageInput.js +71 -102
  670. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  671. package/cjs/ui/ReactionBadge.js +20 -46
  672. package/cjs/ui/ReactionBadge.js.map +1 -1
  673. package/cjs/ui/ReactionButton.js +17 -39
  674. package/cjs/ui/ReactionButton.js.map +1 -1
  675. package/cjs/ui/SortByRow.js +23 -35
  676. package/cjs/ui/SortByRow.js.map +1 -1
  677. package/cjs/ui/TextButton.js +9 -29
  678. package/cjs/ui/TextButton.js.map +1 -1
  679. package/cjs/ui/TextMessageItemBody.js +43 -59
  680. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  681. package/cjs/ui/ThreadReplies.js +33 -71
  682. package/cjs/ui/ThreadReplies.js.map +1 -1
  683. package/cjs/ui/ThumbnailMessageItemBody.js +34 -74
  684. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  685. package/cjs/ui/Toggle.js +110 -189
  686. package/cjs/ui/Toggle.js.map +1 -1
  687. package/cjs/ui/Tooltip.js +9 -20
  688. package/cjs/ui/Tooltip.js.map +1 -1
  689. package/cjs/ui/TooltipWrapper.js +13 -45
  690. package/cjs/ui/TooltipWrapper.js.map +1 -1
  691. package/cjs/ui/UnknownMessageItemBody.js +20 -34
  692. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  693. package/cjs/ui/UserListItem.js +51 -118
  694. package/cjs/ui/UserListItem.js.map +1 -1
  695. package/cjs/ui/UserProfile.js +45 -74
  696. package/cjs/ui/UserProfile.js.map +1 -1
  697. package/cjs/ui/VoiceMessageItemBody.js +53 -106
  698. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  699. package/cjs/ui/VoiceMessgeInput.js +9 -11
  700. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  701. package/cjs/ui/Word.js +60 -89
  702. package/cjs/ui/Word.js.map +1 -1
  703. package/cjs/useSendbirdStateContext.js +16 -15
  704. package/cjs/useSendbirdStateContext.js.map +1 -1
  705. package/cjs/utils/message/getOutgoingMessageState.js +32 -31
  706. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  707. package/cjs/utils/message/isVoiceMessage.js +3 -5
  708. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  709. package/cjs/withSendbird.js +18 -23
  710. package/cjs/withSendbird.js.map +1 -1
  711. package/dist/index.css +1014 -903
  712. package/dist/index.css.map +1 -1
  713. package/handlers/OpenChannelHandler.js +2 -2
  714. package/handlers/OpenChannelHandler.js.map +1 -1
  715. package/handlers/SessionHandler.js +2 -2
  716. package/handlers/SessionHandler.js.map +1 -1
  717. package/hooks/useModal.js +47 -65
  718. package/hooks/useModal.js.map +1 -1
  719. package/index.js +58 -60
  720. package/index.js.map +1 -1
  721. package/lame.all.js +14797 -679
  722. package/lame.all.js.map +1 -1
  723. package/package.json +1454 -79
  724. package/pubSub/topics.js +1 -17
  725. package/pubSub/topics.js.map +1 -1
  726. package/sendbirdSelectors.js +550 -618
  727. package/sendbirdSelectors.js.map +1 -1
  728. package/types/hooks/VoicePlayer/dux/actionTypes.d.ts +14 -0
  729. package/types/hooks/VoicePlayer/dux/initialState.d.ts +30 -0
  730. package/types/hooks/VoicePlayer/dux/reducer.d.ts +25 -0
  731. package/types/hooks/VoicePlayer/index.d.ts +19 -0
  732. package/types/hooks/VoicePlayer/useVoicePlayer.d.ts +16 -0
  733. package/types/hooks/VoicePlayer/utils.d.ts +2 -0
  734. package/types/hooks/VoiceRecorder/WebAudioUtils.d.ts +4 -0
  735. package/types/hooks/VoiceRecorder/index.d.ts +20 -0
  736. package/types/hooks/VoiceRecorder/useVoiceRecorder.d.ts +18 -0
  737. package/types/hooks/useAppendDomNode.d.ts +2 -0
  738. package/types/hooks/useDebounce.d.ts +1 -0
  739. package/types/hooks/useHandleOnScrollCallback/index.d.ts +11 -0
  740. package/types/hooks/useLongPress.d.ts +21 -0
  741. package/types/hooks/useModal/ModalRoot/index.d.ts +4 -0
  742. package/types/hooks/useModal/index.d.ts +15 -0
  743. package/types/hooks/useMouseHover.d.ts +7 -0
  744. package/types/hooks/useOutsideAlerter.d.ts +7 -0
  745. package/types/hooks/useSendbirdStateContext.d.ts +3 -0
  746. package/types/hooks/useUnmount.d.ts +2 -0
  747. package/types/index.d.ts +13 -0
  748. package/types/lib/LocalizationContext.d.ts +19 -0
  749. package/types/lib/Logger/index.d.ts +24 -0
  750. package/types/lib/MediaQueryContext.d.ts +14 -0
  751. package/types/lib/Sendbird.d.ts +65 -0
  752. package/types/lib/SendbirdSdkContext.d.ts +9 -0
  753. package/types/lib/SendbirdState.d.ts +7 -0
  754. package/types/lib/UserProfileContext.d.ts +22 -0
  755. package/types/lib/VoiceMessageProvider.d.ts +7 -0
  756. package/types/lib/dux/sdk/actionTypes.d.ts +16 -0
  757. package/types/lib/dux/sdk/initialState.d.ts +9 -0
  758. package/types/lib/dux/sdk/reducers.d.ts +3 -0
  759. package/types/lib/dux/user/actionTypes.d.ts +14 -0
  760. package/types/lib/dux/user/initialState.d.ts +8 -0
  761. package/types/lib/dux/user/reducers.d.ts +3 -0
  762. package/types/lib/handlers/ConnectionHandler.d.ts +5 -0
  763. package/types/lib/handlers/GroupChannelHandler.d.ts +7 -0
  764. package/types/lib/handlers/OpenChannelHandler.d.ts +5 -0
  765. package/types/lib/handlers/SessionHandler.d.ts +5 -0
  766. package/types/lib/handlers/UserEventHandler.d.ts +5 -0
  767. package/types/lib/hooks/schedulerFactory.d.ts +11 -0
  768. package/types/lib/hooks/useConnect/__test__/data.mocks.d.ts +15 -0
  769. package/types/lib/hooks/useConnect/connect.d.ts +2 -0
  770. package/types/lib/hooks/useConnect/disconnectSdk.d.ts +2 -0
  771. package/types/lib/hooks/useConnect/index.d.ts +2 -0
  772. package/types/lib/hooks/useConnect/setupConnection.d.ts +18 -0
  773. package/types/lib/hooks/useConnect/types.d.ts +42 -0
  774. package/types/lib/hooks/useMarkAsDeliveredScheduler.d.ts +15 -0
  775. package/types/lib/hooks/useMarkAsReadScheduler.d.ts +15 -0
  776. package/types/lib/hooks/useOnlineStatus.d.ts +4 -0
  777. package/types/lib/hooks/useTheme.d.ts +2 -0
  778. package/types/lib/pubSub/index.d.ts +19 -0
  779. package/types/lib/pubSub/topics.d.ts +86 -0
  780. package/types/lib/selectors.d.ts +248 -0
  781. package/types/lib/types.d.ts +166 -0
  782. package/types/lib/utils/resolvedReplyType.d.ts +28 -0
  783. package/types/lib/utils/uikitConfigMapper.d.ts +5 -0
  784. package/types/modules/App/AppLayout.d.ts +3 -0
  785. package/types/modules/App/DesktopLayout.d.ts +3 -0
  786. package/types/modules/App/MobileLayout.d.ts +4 -0
  787. package/types/modules/App/index.d.ts +44 -0
  788. package/types/modules/App/types.d.ts +72 -0
  789. package/types/modules/Channel/components/ChannelHeader/index.d.ts +7 -0
  790. package/types/modules/Channel/components/ChannelHeader/utils.d.ts +4 -0
  791. package/types/modules/Channel/components/ChannelUI/index.d.ts +19 -0
  792. package/types/modules/Channel/components/FileViewer/index.d.ts +21 -0
  793. package/types/modules/Channel/components/FrozenNotification/index.d.ts +7 -0
  794. package/types/modules/Channel/components/Message/index.d.ts +15 -0
  795. package/types/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.d.ts +10 -0
  796. package/types/modules/Channel/components/MessageInput/index.d.ts +11 -0
  797. package/types/modules/Channel/components/MessageInput/useHandleUploadFiles.d.ts +19 -0
  798. package/types/modules/Channel/components/MessageList/getMessagePartsInfo.d.ts +20 -0
  799. package/types/modules/Channel/components/MessageList/hooks/useScrollBehavior.d.ts +1 -0
  800. package/types/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.d.ts +7 -0
  801. package/types/modules/Channel/components/MessageList/index.d.ts +12 -0
  802. package/types/modules/Channel/components/RemoveMessageModal.d.ts +9 -0
  803. package/types/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.d.ts +21 -0
  804. package/types/modules/Channel/components/SuggestedMentionList/index.d.ts +20 -0
  805. package/types/modules/Channel/components/SuggestedMentionList/utils.d.ts +3 -0
  806. package/types/modules/Channel/components/SuggestedReplies/index.d.ts +10 -0
  807. package/types/modules/Channel/components/TypingIndicator.d.ts +8 -0
  808. package/types/modules/Channel/components/UnreadCount/index.d.ts +12 -0
  809. package/types/modules/Channel/context/ChannelProvider.d.ts +131 -0
  810. package/types/modules/Channel/context/compareMessagesForGrouping.d.ts +10 -0
  811. package/types/modules/Channel/context/const.d.ts +9 -0
  812. package/types/modules/Channel/context/dux/actionTypes.d.ts +93 -0
  813. package/types/modules/Channel/context/dux/initialState.d.ts +25 -0
  814. package/types/modules/Channel/context/dux/reducers.d.ts +3 -0
  815. package/types/modules/Channel/context/hooks/useDeleteMessageCallback.d.ts +14 -0
  816. package/types/modules/Channel/context/hooks/useGetChannel.d.ts +18 -0
  817. package/types/modules/Channel/context/hooks/useHandleChannelEvents.d.ts +29 -0
  818. package/types/modules/Channel/context/hooks/useHandleChannelPubsubEvents.d.ts +11 -0
  819. package/types/modules/Channel/context/hooks/useHandleReconnect.d.ts +23 -0
  820. package/types/modules/Channel/context/hooks/useInitialMessagesFetch.d.ts +20 -0
  821. package/types/modules/Channel/context/hooks/useReconnectOnIdle.d.ts +5 -0
  822. package/types/modules/Channel/context/hooks/useResendMessageCallback.d.ts +14 -0
  823. package/types/modules/Channel/context/hooks/useScrollCallback.d.ts +21 -0
  824. package/types/modules/Channel/context/hooks/useScrollDownCallback.d.ts +23 -0
  825. package/types/modules/Channel/context/hooks/useScrollToMessage.d.ts +14 -0
  826. package/types/modules/Channel/context/hooks/useSendFileMessageCallback.d.ts +21 -0
  827. package/types/modules/Channel/context/hooks/useSendMessageCallback.d.ts +27 -0
  828. package/types/modules/Channel/context/hooks/useSendMultipleFilesMessage.d.ts +32 -0
  829. package/types/modules/Channel/context/hooks/useSendVoiceMessageCallback.d.ts +21 -0
  830. package/types/modules/Channel/context/hooks/useStatefulFileInfoList.d.ts +3 -0
  831. package/types/modules/Channel/context/hooks/useThreadMessageKindKeySelector.d.ts +7 -0
  832. package/types/modules/Channel/context/hooks/useToggleReactionCallback.d.ts +11 -0
  833. package/types/modules/Channel/context/hooks/useUpdateMessageCallback.d.ts +26 -0
  834. package/types/modules/Channel/context/utils.d.ts +18 -0
  835. package/types/modules/Channel/index.d.ts +7 -0
  836. package/types/modules/ChannelList/components/AddChannel/index.d.ts +3 -0
  837. package/types/modules/ChannelList/components/ChannelListHeader/index.d.ts +11 -0
  838. package/types/modules/ChannelList/components/ChannelListUI/index.d.ts +23 -0
  839. package/types/modules/ChannelList/components/ChannelPreview/index.d.ts +16 -0
  840. package/types/modules/ChannelList/components/ChannelPreview/utils.d.ts +10 -0
  841. package/types/modules/ChannelList/components/ChannelPreviewAction.d.ts +9 -0
  842. package/types/modules/ChannelList/components/LeaveChannel/index.d.ts +9 -0
  843. package/types/modules/ChannelList/components/Placeholder.d.ts +7 -0
  844. package/types/modules/ChannelList/context/ChannelListProvider.d.ts +75 -0
  845. package/types/modules/ChannelList/context/hooks/useActiveChannelUrl.d.ts +15 -0
  846. package/types/modules/ChannelList/context/hooks/useFetchChannelList.d.ts +17 -0
  847. package/types/modules/ChannelList/dux/actionTypes.d.ts +66 -0
  848. package/types/modules/ChannelList/dux/getNextChannel.d.ts +14 -0
  849. package/types/modules/ChannelList/dux/initialState.d.ts +12 -0
  850. package/types/modules/ChannelList/dux/reducers.d.ts +3 -0
  851. package/types/modules/ChannelList/index.d.ts +7 -0
  852. package/types/modules/ChannelList/utils.d.ts +35 -0
  853. package/types/modules/ChannelSettings/components/ChannelProfile/index.d.ts +4 -0
  854. package/types/modules/ChannelSettings/components/ChannelSettingsUI/index.d.ts +10 -0
  855. package/types/modules/ChannelSettings/components/EditDetailsModal/index.d.ts +7 -0
  856. package/types/modules/ChannelSettings/components/LeaveChannel/index.d.ts +8 -0
  857. package/types/modules/ChannelSettings/components/ModerationPanel/AddOperatorsModal.d.ts +7 -0
  858. package/types/modules/ChannelSettings/components/ModerationPanel/BannedUserList.d.ts +3 -0
  859. package/types/modules/ChannelSettings/components/ModerationPanel/BannedUsersModal.d.ts +6 -0
  860. package/types/modules/ChannelSettings/components/ModerationPanel/InviteUsersModal.d.ts +7 -0
  861. package/types/modules/ChannelSettings/components/ModerationPanel/MemberList.d.ts +3 -0
  862. package/types/modules/ChannelSettings/components/ModerationPanel/MembersModal.d.ts +6 -0
  863. package/types/modules/ChannelSettings/components/ModerationPanel/MutedMemberList.d.ts +3 -0
  864. package/types/modules/ChannelSettings/components/ModerationPanel/MutedMembersModal.d.ts +6 -0
  865. package/types/modules/ChannelSettings/components/ModerationPanel/OperatorList.d.ts +3 -0
  866. package/types/modules/ChannelSettings/components/ModerationPanel/OperatorsModal.d.ts +6 -0
  867. package/types/modules/ChannelSettings/components/ModerationPanel/index.d.ts +3 -0
  868. package/types/modules/ChannelSettings/components/UserListItem/index.d.ts +19 -0
  869. package/types/modules/ChannelSettings/components/UserPanel/index.d.ts +4 -0
  870. package/types/modules/ChannelSettings/context/ChannelSettingsProvider.d.ts +47 -0
  871. package/types/modules/ChannelSettings/index.d.ts +7 -0
  872. package/types/modules/CreateChannel/components/CreateChannelUI/index.d.ts +8 -0
  873. package/types/modules/CreateChannel/components/InviteUsers/index.d.ts +9 -0
  874. package/types/modules/CreateChannel/components/InviteUsers/utils.d.ts +12 -0
  875. package/types/modules/CreateChannel/components/SelectChannelType.d.ts +6 -0
  876. package/types/modules/CreateChannel/context/CreateChannelProvider.d.ts +37 -0
  877. package/types/modules/CreateChannel/index.d.ts +7 -0
  878. package/types/modules/CreateChannel/types.d.ts +5 -0
  879. package/types/modules/CreateChannel/utils.d.ts +3 -0
  880. package/types/modules/CreateOpenChannel/components/CreateOpenChannelUI/index.d.ts +9 -0
  881. package/types/modules/CreateOpenChannel/context/CreateOpenChannelProvider.d.ts +22 -0
  882. package/types/modules/CreateOpenChannel/index.d.ts +7 -0
  883. package/types/modules/EditUserProfile/components/EditUserProfileUI/index.d.ts +3 -0
  884. package/types/modules/EditUserProfile/context/EditUserProfileProvider.d.ts +16 -0
  885. package/types/modules/EditUserProfile/index.d.ts +4 -0
  886. package/types/modules/Message/components/TextFragment/index.d.ts +6 -0
  887. package/types/modules/Message/consts.d.ts +1 -0
  888. package/types/modules/Message/context/MessageProvider.d.ts +11 -0
  889. package/types/modules/Message/hooks/useDirtyGetMentions.d.ts +14 -0
  890. package/types/modules/Message/utils/getMentionNodes.d.ts +1 -0
  891. package/types/modules/Message/utils/tokens/keyGenerator.d.ts +1 -0
  892. package/types/modules/Message/utils/tokens/tokenize.d.ts +18 -0
  893. package/types/modules/Message/utils/tokens/types.d.ts +37 -0
  894. package/types/modules/MessageSearch/components/MessageSearchUI/index.d.ts +15 -0
  895. package/types/modules/MessageSearch/context/MessageSearchProvider.d.ts +41 -0
  896. package/types/modules/MessageSearch/context/dux/actionTypes.d.ts +8 -0
  897. package/types/modules/MessageSearch/context/dux/initialState.d.ts +14 -0
  898. package/types/modules/MessageSearch/context/dux/reducers.d.ts +7 -0
  899. package/types/modules/MessageSearch/context/hooks/useGetSearchedMessages.d.ts +24 -0
  900. package/types/modules/MessageSearch/context/hooks/useScrollCallback.d.ts +20 -0
  901. package/types/modules/MessageSearch/context/hooks/useSearchStringEffect.d.ts +11 -0
  902. package/types/modules/MessageSearch/context/hooks/useSetChannel.d.ts +16 -0
  903. package/types/modules/MessageSearch/index.d.ts +10 -0
  904. package/types/modules/OpenChannel/components/FrozenChannelNotification/index.d.ts +4 -0
  905. package/types/modules/OpenChannel/components/OpenChannelHeader/index.d.ts +3 -0
  906. package/types/modules/OpenChannel/components/OpenChannelInput/index.d.ts +6 -0
  907. package/types/modules/OpenChannel/components/OpenChannelMessage/RemoveMessageModal.d.ts +10 -0
  908. package/types/modules/OpenChannel/components/OpenChannelMessage/index.d.ts +12 -0
  909. package/types/modules/OpenChannel/components/OpenChannelMessage/utils.d.ts +37 -0
  910. package/types/modules/OpenChannel/components/OpenChannelMessageList/index.d.ts +9 -0
  911. package/types/modules/OpenChannel/components/OpenChannelUI/index.d.ts +13 -0
  912. package/types/modules/OpenChannel/context/OpenChannelProvider.d.ts +52 -0
  913. package/types/modules/OpenChannel/context/dux/actionTypes.d.ts +37 -0
  914. package/types/modules/OpenChannel/context/dux/initialState.d.ts +19 -0
  915. package/types/modules/OpenChannel/context/dux/reducers.d.ts +7 -0
  916. package/types/modules/OpenChannel/context/hooks/useCheckScrollBottom.d.ts +10 -0
  917. package/types/modules/OpenChannel/context/hooks/useDeleteMessageCallback.d.ts +17 -0
  918. package/types/modules/OpenChannel/context/hooks/useFileUploadCallback.d.ts +27 -0
  919. package/types/modules/OpenChannel/context/hooks/useHandleChannelEvents.d.ts +20 -0
  920. package/types/modules/OpenChannel/context/hooks/useInitialMessagesFetch.d.ts +14 -0
  921. package/types/modules/OpenChannel/context/hooks/useResendMessageCallback.d.ts +17 -0
  922. package/types/modules/OpenChannel/context/hooks/useScrollCallback.d.ts +18 -0
  923. package/types/modules/OpenChannel/context/hooks/useSendMessageCallback.d.ts +22 -0
  924. package/types/modules/OpenChannel/context/hooks/useSetChannel.d.ts +20 -0
  925. package/types/modules/OpenChannel/context/hooks/useTrimMessageList.d.ts +17 -0
  926. package/types/modules/OpenChannel/context/hooks/useUpdateMessageCallback.d.ts +17 -0
  927. package/types/modules/OpenChannel/context/utils.d.ts +16 -0
  928. package/types/modules/OpenChannel/index.d.ts +7 -0
  929. package/types/modules/OpenChannelApp/Community.d.ts +11 -0
  930. package/types/modules/OpenChannelApp/Streaming.d.ts +11 -0
  931. package/types/modules/OpenChannelApp/assets/Icons.d.ts +7 -0
  932. package/types/modules/OpenChannelApp/components/CommunityChannelList.d.ts +7 -0
  933. package/types/modules/OpenChannelApp/components/DummyStream.d.ts +20 -0
  934. package/types/modules/OpenChannelApp/components/Login.d.ts +12 -0
  935. package/types/modules/OpenChannelApp/components/OpenChannelPreview.d.ts +11 -0
  936. package/types/modules/OpenChannelApp/components/Profile.d.ts +8 -0
  937. package/types/modules/OpenChannelApp/components/StreamingChannelList.d.ts +7 -0
  938. package/types/modules/OpenChannelApp/index.d.ts +16 -0
  939. package/types/modules/OpenChannelApp/stories/utils.d.ts +6 -0
  940. package/types/modules/OpenChannelList/components/OpenChannelListUI/index.d.ts +18 -0
  941. package/types/modules/OpenChannelList/components/OpenChannelPreview/index.d.ts +11 -0
  942. package/types/modules/OpenChannelList/context/OpenChannelListInterfaces.d.ts +42 -0
  943. package/types/modules/OpenChannelList/context/OpenChannelListProvider.d.ts +9 -0
  944. package/types/modules/OpenChannelList/context/dux/actionTypes.d.ts +14 -0
  945. package/types/modules/OpenChannelList/context/dux/initialState.d.ts +10 -0
  946. package/types/modules/OpenChannelList/context/dux/reducer.d.ts +6 -0
  947. package/types/modules/OpenChannelList/context/hooks/createChannelListQuery.d.ts +13 -0
  948. package/types/modules/OpenChannelList/context/hooks/useFetchNextCallback.d.ts +15 -0
  949. package/types/modules/OpenChannelList/context/hooks/useRefreshOpenChannelList.d.ts +14 -0
  950. package/types/modules/OpenChannelList/context/hooks/useSetupOpenChannelList.d.ts +14 -0
  951. package/types/modules/OpenChannelList/index.d.ts +7 -0
  952. package/types/modules/OpenChannelSettings/components/EditDetailsModal.d.ts +6 -0
  953. package/types/modules/OpenChannelSettings/components/InvalidChannel.d.ts +6 -0
  954. package/types/modules/OpenChannelSettings/components/OpenChannelProfile/index.d.ts +3 -0
  955. package/types/modules/OpenChannelSettings/components/OpenChannelSettingsUI/index.d.ts +8 -0
  956. package/types/modules/OpenChannelSettings/components/OperatorUI/AddOperatorsModal.d.ts +7 -0
  957. package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUserList.d.ts +3 -0
  958. package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUsersModal.d.ts +6 -0
  959. package/types/modules/OpenChannelSettings/components/OperatorUI/DeleteOpenChannel.d.ts +2 -0
  960. package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantList.d.ts +3 -0
  961. package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantsModal.d.ts +6 -0
  962. package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorList.d.ts +3 -0
  963. package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorsModal.d.ts +6 -0
  964. package/types/modules/OpenChannelSettings/components/OperatorUI/index.d.ts +7 -0
  965. package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.d.ts +17 -0
  966. package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.d.ts +6 -0
  967. package/types/modules/OpenChannelSettings/components/ParticipantUI/index.d.ts +6 -0
  968. package/types/modules/OpenChannelSettings/context/OpenChannelSettingsProvider.d.ts +27 -0
  969. package/types/modules/OpenChannelSettings/index.d.ts +7 -0
  970. package/types/modules/Thread/components/ParentMessageInfo/ParentMessageInfoItem.d.ts +9 -0
  971. package/types/modules/Thread/components/ParentMessageInfo/index.d.ts +6 -0
  972. package/types/modules/Thread/components/RemoveMessageModal.d.ts +9 -0
  973. package/types/modules/Thread/components/ThreadHeader/index.d.ts +14 -0
  974. package/types/modules/Thread/components/ThreadList/ThreadListItem.d.ts +14 -0
  975. package/types/modules/Thread/components/ThreadList/ThreadListItemContent.d.ts +30 -0
  976. package/types/modules/Thread/components/ThreadList/index.d.ts +18 -0
  977. package/types/modules/Thread/components/ThreadMessageInput/index.d.ts +11 -0
  978. package/types/modules/Thread/components/ThreadUI/index.d.ts +23 -0
  979. package/types/modules/Thread/components/ThreadUI/useMemorizedHeader.d.ts +6 -0
  980. package/types/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.d.ts +11 -0
  981. package/types/modules/Thread/components/ThreadUI/useMemorizedThreadList.d.ts +8 -0
  982. package/types/modules/Thread/consts.d.ts +2 -0
  983. package/types/modules/Thread/context/ThreadProvider.d.ts +43 -0
  984. package/types/modules/Thread/context/dux/actionTypes.d.ts +38 -0
  985. package/types/modules/Thread/context/dux/initialState.d.ts +22 -0
  986. package/types/modules/Thread/context/dux/reducer.d.ts +8 -0
  987. package/types/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +12 -0
  988. package/types/modules/Thread/context/hooks/useGetAllEmoji.d.ts +11 -0
  989. package/types/modules/Thread/context/hooks/useGetChannel.d.ts +18 -0
  990. package/types/modules/Thread/context/hooks/useGetNextThreadsCallback.d.ts +17 -0
  991. package/types/modules/Thread/context/hooks/useGetParentMessage.d.ts +15 -0
  992. package/types/modules/Thread/context/hooks/useGetPrevThreadsCallback.d.ts +17 -0
  993. package/types/modules/Thread/context/hooks/useGetThreadList.d.ts +14 -0
  994. package/types/modules/Thread/context/hooks/useHandleChannelEvents.d.ts +13 -0
  995. package/types/modules/Thread/context/hooks/useHandleThreadPubsubEvents.d.ts +16 -0
  996. package/types/modules/Thread/context/hooks/useResendMessageCallback.d.ts +14 -0
  997. package/types/modules/Thread/context/hooks/useSendFileMessage.d.ts +17 -0
  998. package/types/modules/Thread/context/hooks/useSendMultipleFilesMessage.d.ts +8 -0
  999. package/types/modules/Thread/context/hooks/useSendUserMessageCallback.d.ts +25 -0
  1000. package/types/modules/Thread/context/hooks/useSendVoiceMessageCallback.d.ts +17 -0
  1001. package/types/modules/Thread/context/hooks/useToggleReactionsCallback.d.ts +10 -0
  1002. package/types/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +14 -0
  1003. package/types/modules/Thread/context/utils.d.ts +15 -0
  1004. package/types/modules/Thread/index.d.ts +8 -0
  1005. package/types/modules/Thread/types.d.ts +18 -0
  1006. package/types/modules/internalInterfaces.d.ts +6 -0
  1007. package/types/types.d.ts +55 -0
  1008. package/types/ui/Accordion/AccordionGroup.d.ts +7 -0
  1009. package/types/ui/Accordion/context.d.ts +8 -0
  1010. package/types/ui/Accordion/index.d.ts +13 -0
  1011. package/types/ui/AdminMessage/adminMessageDummyData.mock.d.ts +29 -0
  1012. package/types/ui/AdminMessage/index.d.ts +9 -0
  1013. package/types/ui/Avatar/MutedAvatarOverlay.d.ts +8 -0
  1014. package/types/ui/Avatar/index.d.ts +27 -0
  1015. package/types/ui/Badge/index.d.ts +8 -0
  1016. package/types/ui/BottomSheet/index.d.ts +9 -0
  1017. package/types/ui/Button/index.d.ts +13 -0
  1018. package/types/ui/Button/types.d.ts +10 -0
  1019. package/types/ui/Button/utils.d.ts +3 -0
  1020. package/types/ui/ChannelAvatar/OpenChannelAvatar.d.ts +10 -0
  1021. package/types/ui/ChannelAvatar/index.d.ts +12 -0
  1022. package/types/ui/ChannelAvatar/utils.d.ts +6 -0
  1023. package/types/ui/Checkbox/index.d.ts +9 -0
  1024. package/types/ui/ConnectionStatus/index.d.ts +4 -0
  1025. package/types/ui/ContextMenu/EmojiListItems.d.ts +15 -0
  1026. package/types/ui/ContextMenu/MenuItems.d.ts +29 -0
  1027. package/types/ui/ContextMenu/index.d.ts +24 -0
  1028. package/types/ui/DateSeparator/index.d.ts +10 -0
  1029. package/types/ui/Docs/Introduction.d.ts +2 -0
  1030. package/types/ui/EmojiReactions/AddReactionBadgeItem.d.ts +5 -0
  1031. package/types/ui/EmojiReactions/ReactionItem.d.ts +17 -0
  1032. package/types/ui/EmojiReactions/index.d.ts +21 -0
  1033. package/types/ui/FileMessageItemBody/index.d.ts +13 -0
  1034. package/types/ui/FileViewer/DeleteButton.d.ts +5 -0
  1035. package/types/ui/FileViewer/Slider.d.ts +3 -0
  1036. package/types/ui/FileViewer/data.mock.d.ts +84 -0
  1037. package/types/ui/FileViewer/hooks/useKeyDown.d.ts +8 -0
  1038. package/types/ui/FileViewer/index.d.ts +17 -0
  1039. package/types/ui/FileViewer/types.d.ts +44 -0
  1040. package/types/ui/FileViewer/utils.d.ts +4 -0
  1041. package/types/ui/Icon/colors.d.ts +42 -0
  1042. package/types/ui/Icon/index.d.ts +96 -0
  1043. package/types/ui/Icon/type.d.ts +61 -0
  1044. package/types/ui/Icon/utils.d.ts +4 -0
  1045. package/types/ui/IconButton/index.d.ts +17 -0
  1046. package/types/ui/ImageGrid/index.d.ts +11 -0
  1047. package/types/ui/ImageRenderer/index.d.ts +27 -0
  1048. package/types/ui/ImageRenderer/useDynamicSideLength.d.ts +8 -0
  1049. package/types/ui/ImageRenderer/utils.d.ts +1 -0
  1050. package/types/ui/Input/index.d.ts +15 -0
  1051. package/types/ui/Label/index.d.ts +37 -0
  1052. package/types/ui/Label/stringFormatterUtils.d.ts +2 -0
  1053. package/types/ui/Label/stringSet.d.ts +189 -0
  1054. package/types/ui/Label/types.d.ts +24 -0
  1055. package/types/ui/Label/utils.d.ts +4 -0
  1056. package/types/ui/LegacyEditUserProfile/index.d.ts +20 -0
  1057. package/types/ui/LinkLabel/index.d.ts +37 -0
  1058. package/types/ui/Loader/index.d.ts +9 -0
  1059. package/types/ui/MentionLabel/index.d.ts +10 -0
  1060. package/types/ui/MentionUserLabel/consts.d.ts +1 -0
  1061. package/types/ui/MentionUserLabel/index.d.ts +11 -0
  1062. package/types/ui/MentionUserLabel/renderToString.d.ts +6 -0
  1063. package/types/ui/MessageContent/MessageBody/index.d.ts +18 -0
  1064. package/types/ui/MessageContent/MessageHeader/index.d.ts +10 -0
  1065. package/types/ui/MessageContent/MessageProfile/index.d.ts +15 -0
  1066. package/types/ui/MessageContent/index.d.ts +44 -0
  1067. package/types/ui/MessageInput/const.d.ts +15 -0
  1068. package/types/ui/MessageInput/hooks/usePaste/consts.d.ts +5 -0
  1069. package/types/ui/MessageInput/hooks/usePaste/index.d.ts +4 -0
  1070. package/types/ui/MessageInput/hooks/usePaste/insertTemplate.d.ts +2 -0
  1071. package/types/ui/MessageInput/hooks/usePaste/types.d.ts +15 -0
  1072. package/types/ui/MessageInput/hooks/usePaste/utils.d.ts +10 -0
  1073. package/types/ui/MessageInput/index.d.ts +47 -0
  1074. package/types/ui/MessageInput/messageInputUtils.d.ts +21 -0
  1075. package/types/ui/MessageInput/utils.d.ts +9 -0
  1076. package/types/ui/MessageItemMenu/index.d.ts +26 -0
  1077. package/types/ui/MessageItemReactionMenu/index.d.ts +16 -0
  1078. package/types/ui/MessageSearchFileItem/index.d.ts +12 -0
  1079. package/types/ui/MessageSearchFileItem/mockFileMessage.d.ts +180 -0
  1080. package/types/ui/MessageSearchFileItem/utils.d.ts +12 -0
  1081. package/types/ui/MessageSearchItem/getCreatedAt.d.ts +8 -0
  1082. package/types/ui/MessageSearchItem/index.d.ts +11 -0
  1083. package/types/ui/MessageSearchItem/messageDummyDate.mock.d.ts +5 -0
  1084. package/types/ui/MessageStatus/index.d.ts +15 -0
  1085. package/types/ui/MessageStatus/messageDummyData.mock.d.ts +7 -0
  1086. package/types/ui/MobileMenu/MobileBottomSheet.d.ts +4 -0
  1087. package/types/ui/MobileMenu/MobileContextMenu.d.ts +4 -0
  1088. package/types/ui/MobileMenu/MobileEmojisBottomSheet.d.ts +11 -0
  1089. package/types/ui/MobileMenu/ReactedMembersBottomSheet.d.ts +14 -0
  1090. package/types/ui/MobileMenu/index.d.ts +5 -0
  1091. package/types/ui/MobileMenu/types.d.ts +32 -0
  1092. package/types/ui/Modal/index.d.ts +40 -0
  1093. package/types/ui/MultipleFilesMessageItemBody/const.d.ts +17 -0
  1094. package/types/ui/MultipleFilesMessageItemBody/index.d.ts +21 -0
  1095. package/types/ui/OGMessageItemBody/consts.d.ts +1 -0
  1096. package/types/ui/OGMessageItemBody/index.d.ts +14 -0
  1097. package/types/ui/OpenChannelAdminMessage/index.d.ts +9 -0
  1098. package/types/ui/OpenChannelMobileMenu/index.d.ts +15 -0
  1099. package/types/ui/OpenchannelConversationHeader/index.d.ts +11 -0
  1100. package/types/ui/OpenchannelFileMessage/index.d.ts +17 -0
  1101. package/types/ui/OpenchannelFileMessage/mockMessages.d.ts +75 -0
  1102. package/types/ui/OpenchannelFileMessage/utils.d.ts +2 -0
  1103. package/types/ui/OpenchannelOGMessage/index.d.ts +18 -0
  1104. package/types/ui/OpenchannelOGMessage/utils.d.ts +4 -0
  1105. package/types/ui/OpenchannelThumbnailMessage/index.d.ts +18 -0
  1106. package/types/ui/OpenchannelThumbnailMessage/utils.d.ts +6 -0
  1107. package/types/ui/OpenchannelUserMessage/index.d.ts +18 -0
  1108. package/types/ui/OpenchannelUserMessage/utils.d.ts +5 -0
  1109. package/types/ui/PlaceHolder/index.d.ts +19 -0
  1110. package/types/ui/PlaybackTime/index.d.ts +11 -0
  1111. package/types/ui/ProgressBar/index.d.ts +16 -0
  1112. package/types/ui/QuoteMessage/index.d.ts +13 -0
  1113. package/types/ui/QuoteMessage/utils.d.ts +7 -0
  1114. package/types/ui/QuoteMessageInput/QuoteMessageThumbnail.d.ts +8 -0
  1115. package/types/ui/QuoteMessageInput/index.d.ts +10 -0
  1116. package/types/ui/QuoteMessageInput/mockMessage.d.ts +362 -0
  1117. package/types/ui/ReactionBadge/index.d.ts +12 -0
  1118. package/types/ui/ReactionButton/index.d.ts +13 -0
  1119. package/types/ui/SortByRow/index.d.ts +10 -0
  1120. package/types/ui/TextButton/index.d.ts +13 -0
  1121. package/types/ui/TextMessageItemBody/consts.d.ts +1 -0
  1122. package/types/ui/TextMessageItemBody/index.d.ts +13 -0
  1123. package/types/ui/ThreadReplies/index.d.ts +9 -0
  1124. package/types/ui/ThumbnailMessageItemBody/index.d.ts +15 -0
  1125. package/types/ui/Toggle/ToggleContainer.d.ts +7 -0
  1126. package/types/ui/Toggle/ToggleContext.d.ts +19 -0
  1127. package/types/ui/Toggle/ToggleUI.d.ts +12 -0
  1128. package/types/ui/Toggle/index.d.ts +11 -0
  1129. package/types/ui/Toggle/utils.d.ts +1 -0
  1130. package/types/ui/Tooltip/index.d.ts +7 -0
  1131. package/types/ui/TooltipWrapper/index.d.ts +8 -0
  1132. package/types/ui/TypingIndicatorMessage/TypingDots.d.ts +4 -0
  1133. package/types/ui/TypingIndicatorMessage/index.d.ts +6 -0
  1134. package/types/ui/UnknownMessageItemBody/index.d.ts +12 -0
  1135. package/types/ui/UserListItem/index.d.ts +21 -0
  1136. package/types/ui/UserProfile/index.d.ts +17 -0
  1137. package/types/ui/VoiceMessageInput/controlerIcons.d.ts +7 -0
  1138. package/types/ui/VoiceMessageInput/index.d.ts +16 -0
  1139. package/types/ui/VoiceMessageInput/types.d.ts +7 -0
  1140. package/types/ui/VoiceMessageItemBody/index.d.ts +12 -0
  1141. package/types/ui/Word/index.d.ts +17 -0
  1142. package/types/utils/cloneMessage.d.ts +2 -0
  1143. package/types/utils/color.d.ts +12 -0
  1144. package/types/utils/compareIds.d.ts +1 -0
  1145. package/types/utils/compressImages.d.ts +11 -0
  1146. package/types/utils/consts.d.ts +23 -0
  1147. package/types/utils/createStatefulFileInfoList.d.ts +11 -0
  1148. package/types/utils/exports/getOutgoingMessageState.d.ts +13 -0
  1149. package/types/utils/getIsReactionEnabled.d.ts +11 -0
  1150. package/types/utils/index.d.ts +142 -0
  1151. package/types/utils/isVoiceMessage.d.ts +1 -0
  1152. package/types/utils/numberToPx.d.ts +2 -0
  1153. package/types/utils/openChannelUtils.d.ts +44 -0
  1154. package/types/utils/pxToNumber.d.ts +2 -0
  1155. package/types/utils/testMocks/error.d.ts +9 -0
  1156. package/types/utils/testMocks/message.d.ts +23 -0
  1157. package/types/utils/testMocks/messageRequestHandler.d.ts +15 -0
  1158. package/types/utils/typeHelpers/objectValues.d.ts +16 -0
  1159. package/types/utils/typeHelpers/partialDeep.d.ts +14 -0
  1160. package/types/utils/typeHelpers/reducers/createAction.d.ts +17 -0
  1161. package/types/utils/useDidMountEffect.d.ts +2 -0
  1162. package/types/utils/utils.d.ts +10 -0
  1163. package/types/utils/uuid.d.ts +2 -0
  1164. package/ui/Accordion.js +39 -52
  1165. package/ui/Accordion.js.map +1 -1
  1166. package/ui/AccordionGroup.js +9 -18
  1167. package/ui/AccordionGroup.js.map +1 -1
  1168. package/ui/AdminMessage.js +13 -19
  1169. package/ui/AdminMessage.js.map +1 -1
  1170. package/ui/Avatar.js +7 -197
  1171. package/ui/Avatar.js.map +1 -1
  1172. package/ui/Badge.js +18 -22
  1173. package/ui/Badge.js.map +1 -1
  1174. package/ui/BottomSheet.js +28 -34
  1175. package/ui/BottomSheet.js.map +1 -1
  1176. package/ui/Button.js +42 -53
  1177. package/ui/Button.js.map +1 -1
  1178. package/ui/ChannelAvatar.js +21 -44
  1179. package/ui/ChannelAvatar.js.map +1 -1
  1180. package/ui/Checkbox.js +15 -24
  1181. package/ui/Checkbox.js.map +1 -1
  1182. package/ui/ConnectionStatus.js +11 -18
  1183. package/ui/ConnectionStatus.js.map +1 -1
  1184. package/ui/ContextMenu.js +195 -280
  1185. package/ui/ContextMenu.js.map +1 -1
  1186. package/ui/DateSeparator.js +13 -24
  1187. package/ui/DateSeparator.js.map +1 -1
  1188. package/ui/EmojiReactions.js +144 -327
  1189. package/ui/EmojiReactions.js.map +1 -1
  1190. package/ui/FileMessageItemBody.js +30 -49
  1191. package/ui/FileMessageItemBody.js.map +1 -1
  1192. package/ui/FileViewer.js +17 -16
  1193. package/ui/FileViewer.js.map +1 -1
  1194. package/ui/Icon.js +541 -707
  1195. package/ui/Icon.js.map +1 -1
  1196. package/ui/IconButton.js +18 -45
  1197. package/ui/IconButton.js.map +1 -1
  1198. package/ui/ImageRenderer.js +102 -149
  1199. package/ui/ImageRenderer.js.map +1 -1
  1200. package/ui/Input.js +15 -37
  1201. package/ui/Input.js.map +1 -1
  1202. package/ui/Label.js +3 -3
  1203. package/ui/LinkLabel.js +21 -45
  1204. package/ui/LinkLabel.js.map +1 -1
  1205. package/ui/Loader.js +11 -21
  1206. package/ui/Loader.js.map +1 -1
  1207. package/ui/MentionLabel.js +49 -79
  1208. package/ui/MentionLabel.js.map +1 -1
  1209. package/ui/MentionUserLabel.js +4 -15
  1210. package/ui/MentionUserLabel.js.map +1 -1
  1211. package/ui/MessageContent.js +248 -413
  1212. package/ui/MessageContent.js.map +1 -1
  1213. package/ui/MessageInput/hooks/usePaste.js +5 -5
  1214. package/ui/MessageInput.js +448 -621
  1215. package/ui/MessageInput.js.map +1 -1
  1216. package/ui/MessageItemMenu.js +110 -162
  1217. package/ui/MessageItemMenu.js.map +1 -1
  1218. package/ui/MessageItemReactionMenu.js +39 -98
  1219. package/ui/MessageItemReactionMenu.js.map +1 -1
  1220. package/ui/MessageSearchFileItem.js +78 -111
  1221. package/ui/MessageSearchFileItem.js.map +1 -1
  1222. package/ui/MessageSearchItem.js +50 -80
  1223. package/ui/MessageSearchItem.js.map +1 -1
  1224. package/ui/MessageStatus.js +12 -12
  1225. package/ui/Modal.js +13 -126
  1226. package/ui/Modal.js.map +1 -1
  1227. package/ui/MutedAvatarOverlay.js +14 -26
  1228. package/ui/MutedAvatarOverlay.js.map +1 -1
  1229. package/ui/OGMessageItemBody.js +66 -107
  1230. package/ui/OGMessageItemBody.js.map +1 -1
  1231. package/ui/OpenChannelAdminMessage.js +9 -14
  1232. package/ui/OpenChannelAdminMessage.js.map +1 -1
  1233. package/ui/OpenChannelAvatar.js +15 -26
  1234. package/ui/OpenChannelAvatar.js.map +1 -1
  1235. package/ui/OpenchannelConversationHeader.js +22 -57
  1236. package/ui/OpenchannelConversationHeader.js.map +1 -1
  1237. package/ui/OpenchannelFileMessage.js +114 -234
  1238. package/ui/OpenchannelFileMessage.js.map +1 -1
  1239. package/ui/OpenchannelOGMessage.js +157 -328
  1240. package/ui/OpenchannelOGMessage.js.map +1 -1
  1241. package/ui/OpenchannelThumbnailMessage.js +152 -313
  1242. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  1243. package/ui/OpenchannelUserMessage.js +126 -264
  1244. package/ui/OpenchannelUserMessage.js.map +1 -1
  1245. package/ui/PlaceHolder.js +45 -100
  1246. package/ui/PlaceHolder.js.map +1 -1
  1247. package/ui/PlaybackTime.js +11 -21
  1248. package/ui/PlaybackTime.js.map +1 -1
  1249. package/ui/ProgressBar.js +12 -26
  1250. package/ui/ProgressBar.js.map +1 -1
  1251. package/ui/QuoteMessage.js +70 -142
  1252. package/ui/QuoteMessage.js.map +1 -1
  1253. package/ui/QuoteMessageInput.js +71 -98
  1254. package/ui/QuoteMessageInput.js.map +1 -1
  1255. package/ui/ReactionBadge.js +20 -42
  1256. package/ui/ReactionBadge.js.map +1 -1
  1257. package/ui/ReactionButton.js +17 -35
  1258. package/ui/ReactionButton.js.map +1 -1
  1259. package/ui/SortByRow.js +23 -31
  1260. package/ui/SortByRow.js.map +1 -1
  1261. package/ui/TextButton.js +9 -25
  1262. package/ui/TextButton.js.map +1 -1
  1263. package/ui/TextMessageItemBody.js +43 -55
  1264. package/ui/TextMessageItemBody.js.map +1 -1
  1265. package/ui/ThreadReplies.js +33 -67
  1266. package/ui/ThreadReplies.js.map +1 -1
  1267. package/ui/ThumbnailMessageItemBody.js +34 -70
  1268. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  1269. package/ui/Toggle.js +110 -183
  1270. package/ui/Toggle.js.map +1 -1
  1271. package/ui/Tooltip.js +9 -16
  1272. package/ui/Tooltip.js.map +1 -1
  1273. package/ui/TooltipWrapper.js +13 -41
  1274. package/ui/TooltipWrapper.js.map +1 -1
  1275. package/ui/UnknownMessageItemBody.js +20 -30
  1276. package/ui/UnknownMessageItemBody.js.map +1 -1
  1277. package/ui/UserListItem.js +51 -114
  1278. package/ui/UserListItem.js.map +1 -1
  1279. package/ui/UserProfile.js +46 -71
  1280. package/ui/UserProfile.js.map +1 -1
  1281. package/ui/VoiceMessageItemBody.js +52 -101
  1282. package/ui/VoiceMessageItemBody.js.map +1 -1
  1283. package/ui/VoiceMessgeInput.js +9 -9
  1284. package/ui/Word.js +60 -85
  1285. package/ui/Word.js.map +1 -1
  1286. package/useSendbirdStateContext.js +15 -14
  1287. package/useSendbirdStateContext.js.map +1 -1
  1288. package/utils/message/getOutgoingMessageState.js +32 -29
  1289. package/utils/message/getOutgoingMessageState.js.map +1 -1
  1290. package/utils/message/isVoiceMessage.js +3 -3
  1291. package/utils/message/isVoiceMessage.js.map +1 -1
  1292. package/withSendbird.js +17 -18
  1293. package/withSendbird.js.map +1 -1
  1294. package/ChannelListProvider-eccd99c6.js +0 -1051
  1295. package/ChannelListProvider-eccd99c6.js.map +0 -1
  1296. package/ChannelProvider-9ba5893a.js +0 -2079
  1297. package/ChannelProvider-9ba5893a.js.map +0 -1
  1298. package/CreateChannelProvider-a2885972.js +0 -48
  1299. package/CreateChannelProvider-a2885972.js.map +0 -1
  1300. package/LocalizationContext-287ee149.js +0 -20
  1301. package/LocalizationContext-287ee149.js.map +0 -1
  1302. package/MediaQueryContext-114ca049.js +0 -85
  1303. package/MediaQueryContext-114ca049.js.map +0 -1
  1304. package/MemberList-4e71a841.js +0 -422
  1305. package/MemberList-4e71a841.js.map +0 -1
  1306. package/OpenChannelListProvider-45d4ab54.js +0 -407
  1307. package/OpenChannelListProvider-45d4ab54.js.map +0 -1
  1308. package/OpenChannelProvider-9818f9ed.js +0 -1850
  1309. package/OpenChannelProvider-9818f9ed.js.map +0 -1
  1310. package/RemoveMessageModal-007c2f04.js +0 -33
  1311. package/RemoveMessageModal-007c2f04.js.map +0 -1
  1312. package/UserProfileContext-2001a468.js +0 -34
  1313. package/UserProfileContext-2001a468.js.map +0 -1
  1314. package/WebAudioUtils-31f7c8eb.js +0 -126
  1315. package/WebAudioUtils-31f7c8eb.js.map +0 -1
  1316. package/_rollupPluginBabelHelpers-e92eb032.js +0 -66
  1317. package/_rollupPluginBabelHelpers-e92eb032.js.map +0 -1
  1318. package/actionTypes-324495ed.js +0 -8
  1319. package/actionTypes-324495ed.js.map +0 -1
  1320. package/cjs/ChannelListProvider-d0ad5a84.js +0 -1060
  1321. package/cjs/ChannelListProvider-d0ad5a84.js.map +0 -1
  1322. package/cjs/ChannelProvider-fc111e5f.js +0 -2087
  1323. package/cjs/ChannelProvider-fc111e5f.js.map +0 -1
  1324. package/cjs/CreateChannelProvider-c3c843e4.js +0 -55
  1325. package/cjs/CreateChannelProvider-c3c843e4.js.map +0 -1
  1326. package/cjs/LocalizationContext-58b6ed7c.js +0 -28
  1327. package/cjs/LocalizationContext-58b6ed7c.js.map +0 -1
  1328. package/cjs/MediaQueryContext-6141d955.js +0 -92
  1329. package/cjs/MediaQueryContext-6141d955.js.map +0 -1
  1330. package/cjs/MemberList-2bd3db33.js +0 -428
  1331. package/cjs/MemberList-2bd3db33.js.map +0 -1
  1332. package/cjs/OpenChannelListProvider-a8560978.js +0 -416
  1333. package/cjs/OpenChannelListProvider-a8560978.js.map +0 -1
  1334. package/cjs/OpenChannelProvider-39f13647.js +0 -1859
  1335. package/cjs/OpenChannelProvider-39f13647.js.map +0 -1
  1336. package/cjs/RemoveMessageModal-afc3e268.js +0 -39
  1337. package/cjs/RemoveMessageModal-afc3e268.js.map +0 -1
  1338. package/cjs/UserProfileContext-c6d7abb7.js +0 -41
  1339. package/cjs/UserProfileContext-c6d7abb7.js.map +0 -1
  1340. package/cjs/WebAudioUtils-36803ab2.js +0 -129
  1341. package/cjs/WebAudioUtils-36803ab2.js.map +0 -1
  1342. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js +0 -69
  1343. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +0 -1
  1344. package/cjs/actionTypes-327123b5.js +0 -10
  1345. package/cjs/actionTypes-327123b5.js.map +0 -1
  1346. package/cjs/color-5bf5a8f5.js +0 -36
  1347. package/cjs/color-5bf5a8f5.js.map +0 -1
  1348. package/cjs/compareIds-28c6af62.js +0 -18
  1349. package/cjs/compareIds-28c6af62.js.map +0 -1
  1350. package/cjs/const-876980e8.js +0 -22
  1351. package/cjs/const-876980e8.js.map +0 -1
  1352. package/cjs/const-c9e7a340.js.map +0 -1
  1353. package/cjs/consts-61d83828.js.map +0 -1
  1354. package/cjs/consts-b3c4f548.js.map +0 -1
  1355. package/cjs/consts-b711321c.js.map +0 -1
  1356. package/cjs/consts-f54b15c2.js.map +0 -1
  1357. package/cjs/context-6684538e.js +0 -19
  1358. package/cjs/context-6684538e.js.map +0 -1
  1359. package/cjs/dist/index.css +0 -7702
  1360. package/cjs/dist/index.css.map +0 -1
  1361. package/cjs/index-134e9852.js.map +0 -1
  1362. package/cjs/index-3448df64.js.map +0 -1
  1363. package/cjs/index-45933be9.js +0 -197
  1364. package/cjs/index-45933be9.js.map +0 -1
  1365. package/cjs/index-4c378655.js +0 -163
  1366. package/cjs/index-4c378655.js.map +0 -1
  1367. package/cjs/index-4e939c26.js +0 -369
  1368. package/cjs/index-4e939c26.js.map +0 -1
  1369. package/cjs/index-520e12b8.js +0 -173
  1370. package/cjs/index-520e12b8.js.map +0 -1
  1371. package/cjs/index-54279ec2.js.map +0 -1
  1372. package/cjs/index-692ea6aa.js +0 -76
  1373. package/cjs/index-692ea6aa.js.map +0 -1
  1374. package/cjs/index-7627b546.js.map +0 -1
  1375. package/cjs/index-a95c4ab4.js +0 -308
  1376. package/cjs/index-a95c4ab4.js.map +0 -1
  1377. package/cjs/index-b5a9b4b7.js +0 -129
  1378. package/cjs/index-b5a9b4b7.js.map +0 -1
  1379. package/cjs/index-b8ba4548.js +0 -20
  1380. package/cjs/index-b8ba4548.js.map +0 -1
  1381. package/cjs/index-bc6623d7.js +0 -289
  1382. package/cjs/index-bc6623d7.js.map +0 -1
  1383. package/cjs/index-cc2e05a4.js +0 -227
  1384. package/cjs/index-cc2e05a4.js.map +0 -1
  1385. package/cjs/index-ce07a2a3.js +0 -59
  1386. package/cjs/index-ce07a2a3.js.map +0 -1
  1387. package/cjs/index-dbe8dd84.js +0 -741
  1388. package/cjs/index-dbe8dd84.js.map +0 -1
  1389. package/cjs/index-e5e6d9b0.js +0 -468
  1390. package/cjs/index-e5e6d9b0.js.map +0 -1
  1391. package/cjs/index-e8928da6.js.map +0 -1
  1392. package/cjs/resolvedReplyType-c4564ebe.js.map +0 -1
  1393. package/cjs/stringFormatterUtils-92dbef3c.js +0 -16
  1394. package/cjs/stringFormatterUtils-92dbef3c.js.map +0 -1
  1395. package/cjs/stringSet-1539ac47.js +0 -212
  1396. package/cjs/stringSet-1539ac47.js.map +0 -1
  1397. package/cjs/tokenize-d5286fa8.js +0 -159
  1398. package/cjs/tokenize-d5286fa8.js.map +0 -1
  1399. package/cjs/tslib.es6-c74b513f.js.map +0 -1
  1400. package/cjs/types-d0d770c3.js +0 -15
  1401. package/cjs/types-d0d770c3.js.map +0 -1
  1402. package/cjs/types-feda9656.js.map +0 -1
  1403. package/cjs/useHandleUploadFiles-39e8d107.js +0 -284
  1404. package/cjs/useHandleUploadFiles-39e8d107.js.map +0 -1
  1405. package/cjs/useLongPress-18b7af79.js +0 -105
  1406. package/cjs/useLongPress-18b7af79.js.map +0 -1
  1407. package/cjs/useSendMultipleFilesMessage-d6a3d5cf.js +0 -316
  1408. package/cjs/useSendMultipleFilesMessage-d6a3d5cf.js.map +0 -1
  1409. package/cjs/useStatefulFileInfoList-c510792f.js +0 -228
  1410. package/cjs/useStatefulFileInfoList-c510792f.js.map +0 -1
  1411. package/cjs/utils-1d0f1e0c.js +0 -28
  1412. package/cjs/utils-1d0f1e0c.js.map +0 -1
  1413. package/cjs/utils-9193a195.js +0 -170
  1414. package/cjs/utils-9193a195.js.map +0 -1
  1415. package/cjs/utils-93ca9d57.js +0 -62
  1416. package/cjs/utils-93ca9d57.js.map +0 -1
  1417. package/cjs/utils-98441ba6.js +0 -35
  1418. package/cjs/utils-98441ba6.js.map +0 -1
  1419. package/cjs/utils-e6c4b2b0.js +0 -27
  1420. package/cjs/utils-e6c4b2b0.js.map +0 -1
  1421. package/cjs/utils-eb6d90e0.js +0 -10
  1422. package/cjs/utils-eb6d90e0.js.map +0 -1
  1423. package/cjs/uuid-9a117e16.js.map +0 -1
  1424. package/color-57373b4c.js +0 -34
  1425. package/color-57373b4c.js.map +0 -1
  1426. package/compareIds-7e517404.js +0 -16
  1427. package/compareIds-7e517404.js.map +0 -1
  1428. package/const-73db0277.js.map +0 -1
  1429. package/const-93731a4c.js +0 -18
  1430. package/const-93731a4c.js.map +0 -1
  1431. package/consts-4ec7d640.js.map +0 -1
  1432. package/consts-57c888b9.js.map +0 -1
  1433. package/consts-be37687e.js.map +0 -1
  1434. package/consts-d9c5f25a.js.map +0 -1
  1435. package/context-729493c4.js +0 -12
  1436. package/context-729493c4.js.map +0 -1
  1437. package/index-04bd1a59.js +0 -13
  1438. package/index-04bd1a59.js.map +0 -1
  1439. package/index-09847c0f.js.map +0 -1
  1440. package/index-0f017704.js +0 -280
  1441. package/index-0f017704.js.map +0 -1
  1442. package/index-2d27aeef.js.map +0 -1
  1443. package/index-493689bd.js +0 -156
  1444. package/index-493689bd.js.map +0 -1
  1445. package/index-494f9e79.js +0 -73
  1446. package/index-494f9e79.js.map +0 -1
  1447. package/index-4b4e9682.js +0 -161
  1448. package/index-4b4e9682.js.map +0 -1
  1449. package/index-62d5f020.js +0 -362
  1450. package/index-62d5f020.js.map +0 -1
  1451. package/index-682a192c.js.map +0 -1
  1452. package/index-686a551d.js +0 -182
  1453. package/index-686a551d.js.map +0 -1
  1454. package/index-6b3b1eca.js +0 -217
  1455. package/index-6b3b1eca.js.map +0 -1
  1456. package/index-776554c0.js +0 -692
  1457. package/index-776554c0.js.map +0 -1
  1458. package/index-92741c7e.js +0 -118
  1459. package/index-92741c7e.js.map +0 -1
  1460. package/index-a0638563.js +0 -53
  1461. package/index-a0638563.js.map +0 -1
  1462. package/index-c22e4772.js +0 -462
  1463. package/index-c22e4772.js.map +0 -1
  1464. package/index-e04159fe.js +0 -298
  1465. package/index-e04159fe.js.map +0 -1
  1466. package/index-e4277f9c.js.map +0 -1
  1467. package/index-f8a9cb51.js.map +0 -1
  1468. package/index.d.ts +0 -2963
  1469. package/resolvedReplyType-fb987595.js.map +0 -1
  1470. package/stringFormatterUtils-abbe70ba.js +0 -14
  1471. package/stringFormatterUtils-abbe70ba.js.map +0 -1
  1472. package/stringSet-6422c6b9.js +0 -210
  1473. package/stringSet-6422c6b9.js.map +0 -1
  1474. package/tokenize-eae44765.js +0 -154
  1475. package/tokenize-eae44765.js.map +0 -1
  1476. package/tslib.es6-c2fb729e.js.map +0 -1
  1477. package/types-781e0bab.js.map +0 -1
  1478. package/types-9d43ac6e.js +0 -15
  1479. package/types-9d43ac6e.js.map +0 -1
  1480. package/useHandleUploadFiles-5ede1bfe.js +0 -277
  1481. package/useHandleUploadFiles-5ede1bfe.js.map +0 -1
  1482. package/useLongPress-f8655a14.js +0 -103
  1483. package/useLongPress-f8655a14.js.map +0 -1
  1484. package/useSendMultipleFilesMessage-b8256698.js +0 -283
  1485. package/useSendMultipleFilesMessage-b8256698.js.map +0 -1
  1486. package/useStatefulFileInfoList-5e68b93f.js +0 -219
  1487. package/useStatefulFileInfoList-5e68b93f.js.map +0 -1
  1488. package/utils-2c1f072b.js +0 -31
  1489. package/utils-2c1f072b.js.map +0 -1
  1490. package/utils-6c50a6d1.js +0 -7
  1491. package/utils-6c50a6d1.js.map +0 -1
  1492. package/utils-aa4086dc.js +0 -157
  1493. package/utils-aa4086dc.js.map +0 -1
  1494. package/utils-bfc0ab3b.js +0 -57
  1495. package/utils-bfc0ab3b.js.map +0 -1
  1496. package/utils-fa321757.js +0 -26
  1497. package/utils-fa321757.js.map +0 -1
  1498. package/utils-fc1f5aa0.js +0 -25
  1499. package/utils-fc1f5aa0.js.map +0 -1
  1500. package/uuid-c15b8b3b.js.map +0 -1
@@ -0,0 +1,1523 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var UserProfileContext = require('./bundle-ACXel153.js');
5
+ var useSendbirdStateContext = require('../useSendbirdStateContext.js');
6
+ var _const = require('./bundle-VHUezYnn.js');
7
+ var utils = require('./bundle-8lUFYwiz.js');
8
+ var _tslib = require('./bundle-mc8PQfi_.js');
9
+ var index$1 = require('./bundle-pLajF9mf.js');
10
+ var message = require('@sendbird/chat/message');
11
+ var index_module = require('./bundle-RG3ZDmvE.js');
12
+ var actionTypes = require('./bundle-bQffWPr0.js');
13
+ var compareIds = require('./bundle-a_NGo240.js');
14
+ var index = require('./bundle-BUF_nc4Q.js');
15
+ var groupChannel = require('@sendbird/chat/groupChannel');
16
+ var uuid = require('./bundle-Z8uBiYyS.js');
17
+ var Channel_hooks_useInitialMessagesFetch = require('../Channel/hooks/useInitialMessagesFetch.js');
18
+ var pubSub_topics = require('./bundle-6fWeHUzf.js');
19
+ var consts = require('./bundle-4iro9CUN.js');
20
+ var resolvedReplyType = require('./bundle-wPu8WyIh.js');
21
+ var useSendMultipleFilesMessage = require('./bundle-leALuaxJ.js');
22
+
23
+ /**
24
+ * This function helps consider the every condition
25
+ * related to enabling emoji reaction feature.
26
+ */
27
+ function getIsReactionEnabled(_a) {
28
+ var _b = _a.isBroadcast, isBroadcast = _b === void 0 ? false : _b, _c = _a.isSuper, isSuper = _c === void 0 ? false : _c, _d = _a.globalLevel, globalLevel = _d === void 0 ? true : _d, moduleLevel = _a.moduleLevel;
29
+ return !(isBroadcast || isSuper) && (moduleLevel !== null && moduleLevel !== void 0 ? moduleLevel : globalLevel);
30
+ }
31
+
32
+ var initialState = {
33
+ initialized: false,
34
+ loading: true,
35
+ allMessages: [],
36
+ /**
37
+ * localMessages: pending & failed messages
38
+ */
39
+ localMessages: [],
40
+ currentGroupChannel: null,
41
+ // for scrollup
42
+ hasMorePrev: false,
43
+ oldestMessageTimeStamp: 0,
44
+ // for scroll down
45
+ // onScrollDownCallback is added for navigation to different timestamps on messageSearch
46
+ // hasMorePrev, onScrollCallback -> scroll up(default behavior)
47
+ // hasMoreNext, onScrollDownCallback -> scroll down
48
+ hasMoreNext: false,
49
+ latestMessageTimeStamp: 0,
50
+ emojiContainer: { emojiCategories: [], emojiHash: '' },
51
+ /** @deprecated Please use `unreadSinceDate` instead. * */
52
+ unreadSince: null,
53
+ /**
54
+ * unreadSinceDate is a date information about message unread.
55
+ * It's used only for the {unreadSinceDate && <UnreadCount unreadSinceDate={unreadSinceDate} />}
56
+ */
57
+ unreadSinceDate: null,
58
+ isInvalid: false,
59
+ readStatus: null,
60
+ messageListParams: null,
61
+ typingMembers: [],
62
+ };
63
+
64
+ var getOldestMessageTimeStamp = function (messages) {
65
+ if (messages === void 0) { messages = []; }
66
+ var oldestMessage = messages[0];
67
+ return (oldestMessage && oldestMessage.createdAt) || null;
68
+ };
69
+ var getLatestMessageTimeStamp = function (messages) {
70
+ if (messages === void 0) { messages = []; }
71
+ var latestMessage = messages[messages.length - 1];
72
+ return (latestMessage && latestMessage.createdAt) || null;
73
+ };
74
+ function hasReqId(message) {
75
+ return 'reqId' in message;
76
+ }
77
+ function channelReducer(state, action) {
78
+ return index_module.K(action)
79
+ .with({ type: actionTypes.RESET_MESSAGES }, function () {
80
+ return _tslib.__assign(_tslib.__assign({}, state), {
81
+ // when user switches channel, if the previous channel `hasMorePrev`
82
+ // the onScroll gets called twice, setting hasMorePrev false prevents this
83
+ hasMorePrev: false, hasMoreNext: false, allMessages: [] });
84
+ })
85
+ .with({ type: actionTypes.FETCH_INITIAL_MESSAGES_START }, function () {
86
+ return _tslib.__assign(_tslib.__assign({}, state), { loading: true, allMessages: state.allMessages.filter(function (m) { return index.isSendableMessage(m)
87
+ ? m.sendingStatus !== message.SendingStatus.SUCCEEDED
88
+ : true; }) });
89
+ })
90
+ .with({ type: actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS }, function (action) {
91
+ var _a;
92
+ var _b = action.payload, currentGroupChannel = _b.currentGroupChannel, messages = _b.messages;
93
+ if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
94
+ return state;
95
+ }
96
+ var oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
97
+ var latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
98
+ return _tslib.__assign(_tslib.__assign({}, state), { loading: false, initialized: true, hasMorePrev: true, hasMoreNext: true, oldestMessageTimeStamp: oldestMessageTimeStamp, latestMessageTimeStamp: latestMessageTimeStamp, allMessages: _tslib.__spreadArray([], messages, true) });
99
+ })
100
+ .with({ type: actionTypes.FETCH_PREV_MESSAGES_SUCCESS }, function (action) {
101
+ var _a, _b, _c, _d;
102
+ var _e = action.payload, currentGroupChannel = _e.currentGroupChannel, messages = _e.messages;
103
+ if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
104
+ return state;
105
+ }
106
+ var hasMorePrev = ((_b = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _b !== void 0 ? _b : 0)
107
+ >= ((_d = (_c = state === null || state === void 0 ? void 0 : state.messageListParams) === null || _c === void 0 ? void 0 : _c.prevResultSize) !== null && _d !== void 0 ? _d : _const.PREV_RESULT_SIZE) + 1;
108
+ var oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
109
+ // Remove duplicated messages
110
+ var duplicatedMessageIds = [];
111
+ var updatedOldMessages = state.allMessages.map(function (msg) {
112
+ var duplicatedMessage = messages.find(function (_a) {
113
+ var messageId = _a.messageId;
114
+ return compareIds.compareIds(messageId, msg.messageId);
115
+ });
116
+ if (!duplicatedMessage) {
117
+ return msg;
118
+ }
119
+ duplicatedMessageIds.push(duplicatedMessage.messageId);
120
+ return duplicatedMessage.updatedAt > msg.updatedAt
121
+ ? duplicatedMessage
122
+ : msg;
123
+ });
124
+ var filteredNewMessages = duplicatedMessageIds.length > 0
125
+ ? messages.filter(function (msg) { return !duplicatedMessageIds.find(function (messageId) { return compareIds.compareIds(messageId, msg.messageId); }); })
126
+ : messages;
127
+ return _tslib.__assign(_tslib.__assign({}, state), { hasMorePrev: hasMorePrev, oldestMessageTimeStamp: oldestMessageTimeStamp, allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], filteredNewMessages, true), updatedOldMessages, true) });
128
+ })
129
+ .with({ type: actionTypes.FETCH_NEXT_MESSAGES_SUCCESS }, function (action) {
130
+ var _a, _b, _c, _d;
131
+ var _e = action.payload, currentGroupChannel = _e.currentGroupChannel, messages = _e.messages;
132
+ if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
133
+ return state;
134
+ }
135
+ var hasMoreNext = ((_b = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _b !== void 0 ? _b : 0)
136
+ === ((_d = (_c = state === null || state === void 0 ? void 0 : state.messageListParams) === null || _c === void 0 ? void 0 : _c.nextResultSize) !== null && _d !== void 0 ? _d : _const.NEXT_RESULT_SIZE) + 1;
137
+ var latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
138
+ // sort ~
139
+ var sortedMessages = utils.mergeAndSortMessages(state.allMessages, messages);
140
+ return _tslib.__assign(_tslib.__assign({}, state), { hasMoreNext: hasMoreNext, latestMessageTimeStamp: latestMessageTimeStamp, allMessages: sortedMessages });
141
+ })
142
+ .with({
143
+ type: index_module.S.union(actionTypes.FETCH_INITIAL_MESSAGES_FAILURE, actionTypes.FETCH_PREV_MESSAGES_FAILURE, actionTypes.FETCH_NEXT_MESSAGES_FAILURE),
144
+ }, function (action) {
145
+ var _a;
146
+ var currentGroupChannel = action.payload.currentGroupChannel;
147
+ if ((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) !== ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url)) {
148
+ return state;
149
+ }
150
+ return _tslib.__assign(_tslib.__assign({}, state), { loading: false, initialized: false, allMessages: [], hasMorePrev: false, hasMoreNext: false, oldestMessageTimeStamp: null, latestMessageTimeStamp: null });
151
+ })
152
+ .with({ type: actionTypes.SEND_MESSAGE_START }, function (action) {
153
+ // Message should not be spread here
154
+ // it will loose some methods like `isUserMessage`
155
+ return _tslib.__assign(_tslib.__assign({}, state), { localMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.localMessages, true), [action.payload], false) });
156
+ })
157
+ .with({ type: actionTypes.SEND_MESSAGE_SUCCESS }, function (action) {
158
+ var message = action.payload;
159
+ var filteredMessages = state.allMessages.filter(function (m) { return hasReqId(m) && (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId); });
160
+ // [Policy] Pending messages and failed messages
161
+ // must always be at the end of the message list
162
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: _tslib.__spreadArray(_tslib.__spreadArray([], filteredMessages, true), [message], false), localMessages: state.localMessages.filter(function (m) { return hasReqId(m) && (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId); }) });
163
+ })
164
+ .with({ type: actionTypes.SEND_MESSAGE_FAILURE }, function (action) {
165
+ // @ts-ignore
166
+ action.payload.failed = true;
167
+ return _tslib.__assign(_tslib.__assign({}, state), { localMessages: state.localMessages.map(function (m) { return compareIds.compareIds(hasReqId(m) && m.reqId, action.payload.reqId)
168
+ ? action.payload
169
+ : m; }) });
170
+ })
171
+ .with({ type: actionTypes.SET_CURRENT_CHANNEL }, function (action) {
172
+ return _tslib.__assign(_tslib.__assign({}, state), { currentGroupChannel: action.payload, isInvalid: false });
173
+ })
174
+ .with({ type: actionTypes.SET_CHANNEL_INVALID }, function () {
175
+ return _tslib.__assign(_tslib.__assign({}, state), { currentGroupChannel: null, isInvalid: true });
176
+ })
177
+ .with({ type: actionTypes.ON_MESSAGE_RECEIVED }, function (action) {
178
+ var _a, _b;
179
+ var _c = action.payload, channel = _c.channel, message = _c.message;
180
+ var members = channel.members;
181
+ var sender = message.sender;
182
+ var currentGroupChannel = state.currentGroupChannel;
183
+ var currentGroupChannelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
184
+ if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
185
+ return state;
186
+ }
187
+ // Excluded overlapping messages
188
+ if (state.allMessages.some(function (msg) { return msg.messageId === message.messageId; })) {
189
+ return state;
190
+ }
191
+ // Filter by userFilledQuery
192
+ if (state.messageListParams
193
+ && !index.filterMessageListParams(state.messageListParams, message)) {
194
+ return state;
195
+ }
196
+ if (message.isAdminMessage && message.isAdminMessage()) {
197
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: utils.passUnsuccessfullMessages(state.allMessages, message) });
198
+ }
199
+ // Update members when sender profileUrl, nickname, friendName has been changed
200
+ var senderMember = members === null || members === void 0 ? void 0 : members.find(function (m) { return (m === null || m === void 0 ? void 0 : m.userId) === (sender === null || sender === void 0 ? void 0 : sender.userId); });
201
+ if ((senderMember === null || senderMember === void 0 ? void 0 : senderMember.profileUrl) !== (sender === null || sender === void 0 ? void 0 : sender.profileUrl)
202
+ || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.friendName) !== (sender === null || sender === void 0 ? void 0 : sender.friendName)
203
+ || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.nickname) !== (sender === null || sender === void 0 ? void 0 : sender.nickname)) {
204
+ // @ts-ignore
205
+ channel.members = members.map(function (member) {
206
+ if (member.userId === sender.userId) {
207
+ return sender;
208
+ }
209
+ return member;
210
+ });
211
+ }
212
+ return _tslib.__assign(_tslib.__assign({}, state), { currentGroupChannel: channel, unreadSince: (_a = state.unreadSince) !== null && _a !== void 0 ? _a : index$1.format(new Date(), 'p MMM dd'), unreadSinceDate: (_b = state.unreadSinceDate) !== null && _b !== void 0 ? _b : new Date(), allMessages: utils.passUnsuccessfullMessages(state.allMessages, message) });
213
+ })
214
+ .with({ type: actionTypes.ON_MESSAGE_UPDATED }, function (action) {
215
+ var _a;
216
+ var _b = action.payload, channel = _b.channel, message = _b.message;
217
+ var currentGroupChannelUrl = ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) || '';
218
+ if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
219
+ return state; // Ignore event when it is not for the current channel
220
+ }
221
+ if (state.messageListParams
222
+ && !index.filterMessageListParams(state.messageListParams, message)) {
223
+ // Delete the message if it doesn't match to the params anymore
224
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return !compareIds.compareIds(m.messageId, message === null || message === void 0 ? void 0 : message.messageId); }) });
225
+ }
226
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) {
227
+ if (compareIds.compareIds(m.messageId, message.messageId)) {
228
+ return message;
229
+ }
230
+ if (compareIds.compareIds(m.parentMessageId, message.messageId)) {
231
+ m.parentMessage = message; // eslint-disable-line no-param-reassign
232
+ }
233
+ return m;
234
+ }) });
235
+ })
236
+ .with({ type: actionTypes.ON_MESSAGE_THREAD_INFO_UPDATED }, function (action) {
237
+ var _a;
238
+ var _b = action.payload, channel = _b.channel, event = _b.event;
239
+ var channelUrl = event.channelUrl, threadInfo = event.threadInfo, targetMessageId = event.targetMessageId;
240
+ var currentGroupChannelUrl = ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) || '';
241
+ if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)
242
+ || !compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
243
+ return state; // Ignore event when it is not for the current channel
244
+ }
245
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) {
246
+ if (compareIds.compareIds(m.messageId, targetMessageId)) {
247
+ // eslint-disable-next-line no-param-reassign
248
+ m.threadInfo = threadInfo; // Upsert threadInfo to the target message
249
+ }
250
+ return m;
251
+ }) });
252
+ })
253
+ .with({ type: actionTypes.RESEND_MESSAGE_START }, function (action) {
254
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) { return compareIds.compareIds(hasReqId(m) && m.reqId, action.payload.reqId)
255
+ ? action.payload
256
+ : m; }) });
257
+ })
258
+ .with({ type: actionTypes.MARK_AS_READ }, function (action) {
259
+ var _a, _b, _c;
260
+ if (((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) !== ((_c = (_b = action.payload) === null || _b === void 0 ? void 0 : _b.channel) === null || _c === void 0 ? void 0 : _c.url)) {
261
+ return state;
262
+ }
263
+ return _tslib.__assign(_tslib.__assign({}, state), { unreadSince: null, unreadSinceDate: null });
264
+ })
265
+ .with({ type: actionTypes.ON_MESSAGE_DELETED }, function (action) {
266
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.filter(function (m) { return !compareIds.compareIds(m.messageId, action.payload); }) });
267
+ })
268
+ .with({ type: actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID }, function (action) {
269
+ return _tslib.__assign(_tslib.__assign({}, state), { localMessages: state.localMessages.filter(function (m) { return !compareIds.compareIds(hasReqId(m) && m.reqId, action.payload); }) });
270
+ })
271
+ .with({ type: actionTypes.SET_EMOJI_CONTAINER }, function (action) {
272
+ return _tslib.__assign(_tslib.__assign({}, state), { emojiContainer: action.payload });
273
+ })
274
+ .with({ type: actionTypes.ON_REACTION_UPDATED }, function (action) {
275
+ return _tslib.__assign(_tslib.__assign({}, state), { allMessages: state.allMessages.map(function (m) {
276
+ if (compareIds.compareIds(m.messageId, action.payload.messageId)) {
277
+ if (m.applyReactionEvent
278
+ && typeof m.applyReactionEvent === 'function') {
279
+ m.applyReactionEvent(action.payload);
280
+ }
281
+ return m;
282
+ }
283
+ return m;
284
+ }) });
285
+ })
286
+ .with({ type: actionTypes.MESSAGE_LIST_PARAMS_CHANGED }, function (action) {
287
+ return _tslib.__assign(_tslib.__assign({}, state), { messageListParams: action.payload });
288
+ })
289
+ .with({ type: actionTypes.ON_FILE_INFO_UPLOADED }, function (action) {
290
+ var _a, _b;
291
+ var _c = action.payload, channelUrl = _c.channelUrl, requestId = _c.requestId, index = _c.index, uploadableFileInfo = _c.uploadableFileInfo, error = _c.error;
292
+ if (!compareIds.compareIds(channelUrl, (_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url)) {
293
+ return state;
294
+ }
295
+ /**
296
+ * We don't have to do anything here because
297
+ * onFailed() will be called so handle error there instead.
298
+ */
299
+ if (error)
300
+ return state;
301
+ var localMessages = state.localMessages;
302
+ var messageToUpdate = localMessages.find(function (message) { return compareIds.compareIds(hasReqId(message) && message.reqId, requestId); });
303
+ var fileInfoList = (_b = messageToUpdate
304
+ .messageParams) === null || _b === void 0 ? void 0 : _b.fileInfoList;
305
+ if (Array.isArray(fileInfoList)) {
306
+ fileInfoList[index] = uploadableFileInfo;
307
+ }
308
+ return _tslib.__assign(_tslib.__assign({}, state), { localMessages: localMessages });
309
+ })
310
+ .with({ type: actionTypes.ON_TYPING_STATUS_UPDATED }, function (action) {
311
+ var _a;
312
+ var _b = action.payload, channel = _b.channel, typingMembers = _b.typingMembers;
313
+ if (!compareIds.compareIds(channel.url, (_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url)) {
314
+ return state;
315
+ }
316
+ return _tslib.__assign(_tslib.__assign({}, state), { typingMembers: typingMembers });
317
+ })
318
+ .otherwise(function () { return state; });
319
+ }
320
+
321
+ var DELIVERY_RECEIPT = 'delivery_receipt';
322
+ function useHandleChannelEvents(_a, _b) {
323
+ var _c, _d, _e;
324
+ var sdkInit = _a.sdkInit, currentUserId = _a.currentUserId, currentGroupChannel = _a.currentGroupChannel, disableMarkAsRead = _a.disableMarkAsRead;
325
+ var sdk = _b.sdk, logger = _b.logger, scrollRef = _b.scrollRef, setQuoteMessage = _b.setQuoteMessage, messagesDispatcher = _b.messagesDispatcher;
326
+ var store = useSendbirdStateContext.useSendbirdStateContext();
327
+ var _f = store.config, markAsReadScheduler = _f.markAsReadScheduler, markAsDeliveredScheduler = _f.markAsDeliveredScheduler, disableMarkAsDelivered = _f.disableMarkAsDelivered;
328
+ var canSetMarkAsDelivered = (_e = (_d = (_c = store.stores.sdkStore.sdk) === null || _c === void 0 ? void 0 : _c.appInfo) === null || _d === void 0 ? void 0 : _d.premiumFeatureList) === null || _e === void 0 ? void 0 : _e.find(function (feature) { return (feature === DELIVERY_RECEIPT); });
329
+ React.useEffect(function () {
330
+ var _a;
331
+ var channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
332
+ var channelHandlerId = uuid.uuidv4();
333
+ if (channelUrl && sdkInit) {
334
+ var channelHandler = {
335
+ onMessageReceived: function (channel, message) {
336
+ var _a, _b;
337
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
338
+ var scrollToEnd = false;
339
+ try {
340
+ var current = scrollRef.current;
341
+ scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;
342
+ // 10 is a buffer
343
+ }
344
+ catch (error) {
345
+ //
346
+ }
347
+ logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
348
+ messagesDispatcher({
349
+ type: actionTypes.ON_MESSAGE_RECEIVED,
350
+ payload: { channel: channel, message: message },
351
+ });
352
+ if (scrollToEnd
353
+ && ((_a = document.getElementById('sendbird-dropdown-portal')) === null || _a === void 0 ? void 0 : _a.childElementCount) === 0
354
+ && ((_b = document.getElementById('sendbird-emoji-list-portal')) === null || _b === void 0 ? void 0 : _b.childElementCount) === 0) {
355
+ // and !openContextMenu
356
+ try {
357
+ setTimeout(function () {
358
+ utils.scrollIntoLast(0, scrollRef);
359
+ });
360
+ if (!disableMarkAsRead) {
361
+ markAsReadScheduler.push(currentGroupChannel);
362
+ }
363
+ if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
364
+ markAsDeliveredScheduler.push(currentGroupChannel);
365
+ }
366
+ }
367
+ catch (error) {
368
+ logger.warning('Channel | onMessageReceived | scroll to end failed');
369
+ }
370
+ }
371
+ }
372
+ },
373
+ onUnreadMemberStatusUpdated: function (channel) {
374
+ logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);
375
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
376
+ messagesDispatcher({
377
+ type: actionTypes.SET_CURRENT_CHANNEL,
378
+ payload: channel,
379
+ });
380
+ }
381
+ },
382
+ // before(onDeliveryReceiptUpdated)
383
+ onUndeliveredMemberStatusUpdated: function (channel) {
384
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
385
+ logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
386
+ messagesDispatcher({
387
+ type: actionTypes.SET_CURRENT_CHANNEL,
388
+ payload: channel,
389
+ });
390
+ }
391
+ },
392
+ onMessageUpdated: function (channel, message) {
393
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
394
+ logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
395
+ messagesDispatcher({
396
+ type: actionTypes.ON_MESSAGE_UPDATED,
397
+ payload: { channel: channel, message: message },
398
+ });
399
+ }
400
+ },
401
+ onThreadInfoUpdated: function (channel, threadInfoUpdateEvent) {
402
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
403
+ logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', { channel: channel, threadInfoUpdateEvent: threadInfoUpdateEvent });
404
+ messagesDispatcher({
405
+ type: actionTypes.ON_MESSAGE_THREAD_INFO_UPDATED,
406
+ payload: { channel: channel, event: threadInfoUpdateEvent },
407
+ });
408
+ }
409
+ },
410
+ onMessageDeleted: function (channel, messageId) {
411
+ logger.info('Channel | useHandleChannelEvents: onMessageDeleted', { channel: channel, messageId: messageId });
412
+ setQuoteMessage(null);
413
+ messagesDispatcher({
414
+ type: actionTypes.ON_MESSAGE_DELETED,
415
+ payload: messageId,
416
+ });
417
+ },
418
+ onReactionUpdated: function (channel, reactionEvent) {
419
+ logger.info('Channel | useHandleChannelEvents: onReactionUpdated', { channel: channel, reactionEvent: reactionEvent });
420
+ messagesDispatcher({
421
+ type: actionTypes.ON_REACTION_UPDATED,
422
+ payload: reactionEvent,
423
+ });
424
+ },
425
+ onChannelChanged: function (channel) {
426
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
427
+ logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);
428
+ messagesDispatcher({
429
+ type: actionTypes.SET_CURRENT_CHANNEL,
430
+ payload: channel,
431
+ });
432
+ }
433
+ },
434
+ onChannelFrozen: function (channel) {
435
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
436
+ logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);
437
+ messagesDispatcher({
438
+ type: actionTypes.SET_CURRENT_CHANNEL,
439
+ payload: channel,
440
+ });
441
+ }
442
+ },
443
+ onChannelUnfrozen: function (channel) {
444
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
445
+ logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);
446
+ messagesDispatcher({
447
+ type: actionTypes.SET_CURRENT_CHANNEL,
448
+ payload: channel,
449
+ });
450
+ }
451
+ },
452
+ onUserMuted: function (channel, user) {
453
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
454
+ logger.info('Channel | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
455
+ messagesDispatcher({
456
+ type: actionTypes.SET_CURRENT_CHANNEL,
457
+ payload: channel,
458
+ });
459
+ }
460
+ },
461
+ onUserUnmuted: function (channel, user) {
462
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
463
+ logger.info('Channel | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
464
+ messagesDispatcher({
465
+ type: actionTypes.SET_CURRENT_CHANNEL,
466
+ payload: channel,
467
+ });
468
+ }
469
+ },
470
+ onUserBanned: function (channel, user) {
471
+ var _a;
472
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl) && (user === null || user === void 0 ? void 0 : user.userId) === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId)) {
473
+ logger.info('Channel | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
474
+ messagesDispatcher({
475
+ type: actionTypes.SET_CURRENT_CHANNEL,
476
+ payload: null,
477
+ });
478
+ }
479
+ },
480
+ onOperatorUpdated: function (channel, users) {
481
+ if (channel.isGroupChannel() && compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
482
+ logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
483
+ messagesDispatcher({
484
+ type: actionTypes.SET_CURRENT_CHANNEL,
485
+ payload: channel,
486
+ });
487
+ }
488
+ },
489
+ onUserLeft: function (channel, user) {
490
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
491
+ logger.info('Channel | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
492
+ if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
493
+ messagesDispatcher({
494
+ type: actionTypes.SET_CURRENT_CHANNEL,
495
+ payload: null,
496
+ });
497
+ }
498
+ }
499
+ },
500
+ onTypingStatusUpdated: function (channel) {
501
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
502
+ logger.info('Channel | onTypingStatusUpdated', { channel: channel });
503
+ var typingMembers = channel.getTypingUsers();
504
+ messagesDispatcher({
505
+ type: actionTypes.ON_TYPING_STATUS_UPDATED,
506
+ payload: {
507
+ channel: channel,
508
+ typingMembers: typingMembers,
509
+ },
510
+ });
511
+ }
512
+ },
513
+ };
514
+ logger.info('Channel | useHandleChannelEvents: Setup event handler', { channelHandlerId: channelHandlerId, channelHandler: channelHandler });
515
+ // Add this group channel handler to the Sendbird chat instance
516
+ (_a = sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
517
+ }
518
+ return function () {
519
+ var _a;
520
+ if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
521
+ logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
522
+ sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
523
+ }
524
+ else if (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) {
525
+ logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
526
+ }
527
+ };
528
+ }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, sdkInit]);
529
+ }
530
+
531
+ function useGetChannel(_a, _b) {
532
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, disableMarkAsRead = _a.disableMarkAsRead;
533
+ var messagesDispatcher = _b.messagesDispatcher, sdk = _b.sdk, logger = _b.logger, markAsReadScheduler = _b.markAsReadScheduler;
534
+ React.useEffect(function () {
535
+ if (channelUrl && sdkInit && sdk && sdk.groupChannel) {
536
+ logger.info('Channel | useSetChannel fetching channel', channelUrl);
537
+ sdk.groupChannel
538
+ .getChannel(channelUrl)
539
+ .then(function (groupChannel) {
540
+ logger.info('Channel | useSetChannel fetched channel', groupChannel);
541
+ messagesDispatcher({
542
+ type: actionTypes.SET_CURRENT_CHANNEL,
543
+ payload: groupChannel,
544
+ });
545
+ logger.info('Channel: Mark as read', groupChannel);
546
+ if (!disableMarkAsRead) {
547
+ markAsReadScheduler.push(groupChannel);
548
+ }
549
+ })
550
+ .catch(function (e) {
551
+ logger.warning('Channel | useSetChannel fetch channel failed', { channelUrl: channelUrl, e: e });
552
+ messagesDispatcher({
553
+ type: actionTypes.SET_CHANNEL_INVALID,
554
+ });
555
+ });
556
+ sdk
557
+ .getAllEmoji()
558
+ .then(function (emojiContainer_) {
559
+ logger.info('Channel: Getting emojis success', emojiContainer_);
560
+ messagesDispatcher({
561
+ type: actionTypes.SET_EMOJI_CONTAINER,
562
+ payload: emojiContainer_,
563
+ });
564
+ })
565
+ .catch(function (err) {
566
+ logger.error('Channel: Getting emojis failed', err);
567
+ });
568
+ }
569
+ }, [channelUrl, sdkInit]);
570
+ }
571
+
572
+ function useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle) {
573
+ if (reconnectOnIdle === void 0) { reconnectOnIdle = true; }
574
+ var _a = React.useState(false), isTabHidden = _a[0], setIsTabHidden = _a[1];
575
+ var wasOffline = !isOnline;
576
+ React.useEffect(function () {
577
+ var handleVisibilityChange = function () {
578
+ if (reconnectOnIdle) {
579
+ setIsTabHidden(document.hidden);
580
+ }
581
+ };
582
+ document.addEventListener('visibilitychange', handleVisibilityChange);
583
+ return function () {
584
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
585
+ };
586
+ }, [reconnectOnIdle, document.hidden]);
587
+ var shouldReconnect = wasOffline && (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) != null && !isTabHidden;
588
+ return { shouldReconnect: shouldReconnect };
589
+ }
590
+
591
+ function useHandleReconnect(_a, _b) {
592
+ var isOnline = _a.isOnline, replyType = _a.replyType, disableMarkAsRead = _a.disableMarkAsRead, reconnectOnIdle = _a.reconnectOnIdle;
593
+ var logger = _b.logger, sdk = _b.sdk, scrollRef = _b.scrollRef, currentGroupChannel = _b.currentGroupChannel, messagesDispatcher = _b.messagesDispatcher, markAsReadScheduler = _b.markAsReadScheduler, userFilledMessageListQuery = _b.userFilledMessageListQuery;
594
+ var shouldReconnect = useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle).shouldReconnect;
595
+ React.useEffect(function () {
596
+ return function () {
597
+ var _a, _b;
598
+ // state changed from offline to online AND tab is visible
599
+ if (shouldReconnect) {
600
+ logger.info('Refreshing conversation state');
601
+ var isReactionEnabled = ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.useReaction) || false;
602
+ var messageListParams_1 = {
603
+ prevResultSize: _const.PREV_RESULT_SIZE,
604
+ isInclusive: true,
605
+ includeReactions: isReactionEnabled,
606
+ nextResultSize: _const.NEXT_RESULT_SIZE,
607
+ };
608
+ if (replyType && replyType === 'QUOTE_REPLY') {
609
+ messageListParams_1.includeThreadInfo = true;
610
+ messageListParams_1.includeParentMessageInfo = true;
611
+ messageListParams_1.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
612
+ }
613
+ if (userFilledMessageListQuery) {
614
+ Object.keys(userFilledMessageListQuery).forEach(function (key) {
615
+ messageListParams_1[key] = userFilledMessageListQuery[key];
616
+ });
617
+ }
618
+ logger.info('Channel: Fetching messages', { currentGroupChannel: currentGroupChannel, userFilledMessageListQuery: userFilledMessageListQuery });
619
+ messagesDispatcher({
620
+ type: actionTypes.FETCH_INITIAL_MESSAGES_START,
621
+ payload: null,
622
+ });
623
+ (_b = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _b === void 0 ? void 0 : _b.getChannel(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url).then(function (groupChannel) {
624
+ var lastMessageTime = new Date().getTime();
625
+ groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams_1)
626
+ .then(function (messages) {
627
+ messagesDispatcher({
628
+ type: actionTypes.FETCH_INITIAL_MESSAGES_SUCCESS,
629
+ payload: {
630
+ currentGroupChannel: currentGroupChannel,
631
+ messages: messages,
632
+ },
633
+ });
634
+ setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); });
635
+ })
636
+ .catch(function (error) {
637
+ logger.error('Channel: Fetching messages failed', error);
638
+ messagesDispatcher({
639
+ type: actionTypes.FETCH_INITIAL_MESSAGES_FAILURE,
640
+ payload: { currentGroupChannel: currentGroupChannel },
641
+ });
642
+ });
643
+ if (!disableMarkAsRead) {
644
+ markAsReadScheduler.push(currentGroupChannel);
645
+ }
646
+ });
647
+ }
648
+ };
649
+ }, [shouldReconnect, replyType]);
650
+ }
651
+
652
+ function useScrollCallback(_a, _b) {
653
+ var currentGroupChannel = _a.currentGroupChannel, oldestMessageTimeStamp = _a.oldestMessageTimeStamp, userFilledMessageListQuery = _a.userFilledMessageListQuery, replyType = _a.replyType;
654
+ var hasMorePrev = _b.hasMorePrev, logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, sdk = _b.sdk;
655
+ return React.useCallback(function () {
656
+ var _a, _b;
657
+ if (!hasMorePrev) {
658
+ return;
659
+ }
660
+ var messageListParams = {
661
+ prevResultSize: _const.PREV_RESULT_SIZE,
662
+ isInclusive: true,
663
+ includeMetaArray: true,
664
+ includeReactions: (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.useReaction) !== null && _b !== void 0 ? _b : false,
665
+ };
666
+ if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
667
+ messageListParams.includeThreadInfo = true;
668
+ messageListParams.includeParentMessageInfo = true;
669
+ messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
670
+ }
671
+ if (userFilledMessageListQuery) {
672
+ Object.keys(userFilledMessageListQuery).forEach(function (key) {
673
+ messageListParams[key] = userFilledMessageListQuery[key];
674
+ });
675
+ }
676
+ logger.info('Channel: Fetching messages', {
677
+ currentGroupChannel: currentGroupChannel,
678
+ userFilledMessageListQuery: userFilledMessageListQuery,
679
+ });
680
+ currentGroupChannel
681
+ .getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams)
682
+ .then(function (messages) {
683
+ messagesDispatcher({
684
+ type: actionTypes.FETCH_PREV_MESSAGES_SUCCESS,
685
+ payload: { currentGroupChannel: currentGroupChannel, messages: messages },
686
+ });
687
+ })
688
+ .catch(function () {
689
+ messagesDispatcher({
690
+ type: actionTypes.FETCH_PREV_MESSAGES_FAILURE,
691
+ payload: { currentGroupChannel: currentGroupChannel },
692
+ });
693
+ });
694
+ }, [currentGroupChannel, oldestMessageTimeStamp, replyType]);
695
+ }
696
+
697
+ function useScrollDownCallback(_a, _b) {
698
+ var currentGroupChannel = _a.currentGroupChannel, latestMessageTimeStamp = _a.latestMessageTimeStamp, userFilledMessageListQuery = _a.userFilledMessageListQuery, hasMoreNext = _a.hasMoreNext, replyType = _a.replyType;
699
+ var logger = _b.logger, messagesDispatcher = _b.messagesDispatcher, sdk = _b.sdk;
700
+ return React.useCallback(function (cb) {
701
+ var _a, _b;
702
+ if (!hasMoreNext) {
703
+ return;
704
+ }
705
+ var isReactionEnabled = (_b = (_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.useReaction) !== null && _b !== void 0 ? _b : false;
706
+ var messageListParams = {
707
+ nextResultSize: _const.NEXT_RESULT_SIZE,
708
+ isInclusive: true,
709
+ includeReactions: isReactionEnabled,
710
+ includeMetaArray: true,
711
+ };
712
+ if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
713
+ messageListParams.includeThreadInfo = true;
714
+ messageListParams.includeParentMessageInfo = true;
715
+ messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
716
+ }
717
+ if (userFilledMessageListQuery) {
718
+ Object.keys(userFilledMessageListQuery).forEach(function (key) {
719
+ messageListParams[key] = userFilledMessageListQuery[key];
720
+ });
721
+ }
722
+ logger.info('Channel: Fetching later messages', { currentGroupChannel: currentGroupChannel, userFilledMessageListQuery: userFilledMessageListQuery });
723
+ currentGroupChannel
724
+ .getMessagesByTimestamp(latestMessageTimeStamp || new Date().getTime(), messageListParams)
725
+ .then(function (messages) {
726
+ messagesDispatcher({
727
+ type: actionTypes.FETCH_NEXT_MESSAGES_SUCCESS,
728
+ payload: { currentGroupChannel: currentGroupChannel, messages: messages },
729
+ });
730
+ cb([messages, null]);
731
+ })
732
+ .catch(function (error) {
733
+ logger.error('Channel: Fetching later messages failed', error);
734
+ messagesDispatcher({
735
+ type: actionTypes.FETCH_NEXT_MESSAGES_FAILURE,
736
+ payload: { currentGroupChannel: currentGroupChannel },
737
+ });
738
+ cb([null, error]);
739
+ });
740
+ }, [currentGroupChannel, latestMessageTimeStamp, hasMoreNext, replyType]);
741
+ }
742
+
743
+ function useDeleteMessageCallback(_a, _b) {
744
+ var currentGroupChannel = _a.currentGroupChannel, messagesDispatcher = _a.messagesDispatcher;
745
+ var logger = _b.logger;
746
+ return React.useCallback(function (message$1) {
747
+ logger.info('Channel | useDeleteMessageCallback: Deleting message', message$1);
748
+ var sendingStatus = index.isSendableMessage(message$1) ? message$1.sendingStatus : undefined;
749
+ return new Promise(function (resolve, reject) {
750
+ logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
751
+ // Message is only on local
752
+ if ((sendingStatus === message.SendingStatus.FAILED || sendingStatus === message.SendingStatus.PENDING) && 'reqId' in message$1) {
753
+ logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message$1);
754
+ messagesDispatcher({
755
+ type: actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
756
+ payload: message$1.reqId,
757
+ });
758
+ resolve(message$1);
759
+ }
760
+ else {
761
+ logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
762
+ currentGroupChannel
763
+ .deleteMessage(message$1)
764
+ .then(function () {
765
+ logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message$1);
766
+ messagesDispatcher({
767
+ type: actionTypes.ON_MESSAGE_DELETED,
768
+ payload: message$1.messageId,
769
+ });
770
+ resolve(message$1);
771
+ })
772
+ .catch(function (err) {
773
+ logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);
774
+ reject(err);
775
+ });
776
+ }
777
+ });
778
+ }, [currentGroupChannel, messagesDispatcher]);
779
+ }
780
+
781
+ function useUpdateMessageCallback(_a, _b) {
782
+ var currentGroupChannel = _a.currentGroupChannel, messagesDispatcher = _a.messagesDispatcher, onBeforeUpdateUserMessage = _a.onBeforeUpdateUserMessage, isMentionEnabled = _a.isMentionEnabled;
783
+ var logger = _b.logger, pubSub = _b.pubSub;
784
+ return React.useCallback(function (props, callback) {
785
+ var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionTemplate = props.mentionTemplate;
786
+ var createParamsDefault = function (message) {
787
+ var params = {
788
+ message: message,
789
+ };
790
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
791
+ params.mentionedUsers = mentionedUsers;
792
+ }
793
+ if (isMentionEnabled && mentionTemplate) {
794
+ params.mentionedMessageTemplate = mentionTemplate;
795
+ }
796
+ else {
797
+ params.mentionedMessageTemplate = message;
798
+ }
799
+ return params;
800
+ };
801
+ var shouldCreateCustomParams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
802
+ if (shouldCreateCustomParams) {
803
+ logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
804
+ }
805
+ var params = shouldCreateCustomParams ? onBeforeUpdateUserMessage(message) : createParamsDefault(message);
806
+ logger.info('Channel: Updating message!', params);
807
+ currentGroupChannel
808
+ .updateUserMessage(messageId, params)
809
+ .then(function (msg) {
810
+ if (callback) {
811
+ callback(null, msg);
812
+ }
813
+ logger.info('Channel: Updating message success!', msg);
814
+ messagesDispatcher({
815
+ type: actionTypes.ON_MESSAGE_UPDATED,
816
+ payload: {
817
+ channel: currentGroupChannel,
818
+ message: msg,
819
+ },
820
+ });
821
+ pubSub.publish(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, {
822
+ message: msg,
823
+ channel: currentGroupChannel,
824
+ publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
825
+ });
826
+ })
827
+ .catch(function (err) {
828
+ if (callback) {
829
+ callback(err, null);
830
+ }
831
+ });
832
+ }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);
833
+ }
834
+
835
+ function useResendMessageCallback(_a, _b) {
836
+ var currentGroupChannel = _a.currentGroupChannel, messagesDispatcher = _a.messagesDispatcher;
837
+ var logger = _b.logger;
838
+ return React.useCallback(function (failedMessage) {
839
+ logger.info('Channel: Resending message has started', failedMessage);
840
+ if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
841
+ // userMessage
842
+ if (failedMessage.isUserMessage()) {
843
+ currentGroupChannel
844
+ .resendMessage(failedMessage)
845
+ .onPending(function (message) {
846
+ logger.info('Channel: Resending message start!', message);
847
+ messagesDispatcher({
848
+ type: actionTypes.RESEND_MESSAGE_START,
849
+ payload: message,
850
+ });
851
+ })
852
+ .onSucceeded(function (message) {
853
+ logger.info('Channel: Resending message success!', message);
854
+ messagesDispatcher({
855
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
856
+ payload: message,
857
+ });
858
+ })
859
+ .onFailed(function (e, message) {
860
+ logger.warning('Channel: Resending message failed!', e);
861
+ messagesDispatcher({
862
+ type: actionTypes.SEND_MESSAGE_FAILURE,
863
+ payload: message,
864
+ });
865
+ });
866
+ }
867
+ else if (failedMessage.isFileMessage()) {
868
+ currentGroupChannel
869
+ .resendMessage(failedMessage)
870
+ .onPending(function (message) {
871
+ logger.info('Channel: Resending file message start!', message);
872
+ messagesDispatcher({
873
+ type: actionTypes.RESEND_MESSAGE_START,
874
+ payload: message,
875
+ });
876
+ })
877
+ .onSucceeded(function (message) {
878
+ logger.info('Channel: Resending file message success!', message);
879
+ messagesDispatcher({
880
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
881
+ payload: message,
882
+ });
883
+ })
884
+ .onFailed(function (e, message) {
885
+ logger.warning('Channel: Resending file message failed!', e);
886
+ messagesDispatcher({
887
+ type: actionTypes.SEND_MESSAGE_FAILURE,
888
+ payload: message,
889
+ });
890
+ });
891
+ }
892
+ else if (failedMessage.isMultipleFilesMessage()) {
893
+ currentGroupChannel
894
+ .resendMessage(failedMessage)
895
+ .onPending(function (message) {
896
+ messagesDispatcher({
897
+ type: actionTypes.RESEND_MESSAGE_START,
898
+ payload: message,
899
+ });
900
+ })
901
+ // TODO: Handle on file info upload event.
902
+ .onSucceeded(function (message) {
903
+ logger.info('Channel: Resending multiple files message success!', message);
904
+ messagesDispatcher({
905
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
906
+ payload: message,
907
+ });
908
+ })
909
+ .onFailed(function (e, message) {
910
+ logger.warning('Channel: Resending multiple files message failed!', e);
911
+ messagesDispatcher({
912
+ type: actionTypes.SEND_MESSAGE_FAILURE,
913
+ payload: message,
914
+ });
915
+ });
916
+ }
917
+ }
918
+ else {
919
+ logger.error('Message is not resendable', failedMessage);
920
+ }
921
+ }, [currentGroupChannel, messagesDispatcher]);
922
+ }
923
+
924
+ function useSendMessageCallback(_a, _b) {
925
+ var isMentionEnabled = _a.isMentionEnabled, currentGroupChannel = _a.currentGroupChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
926
+ var logger = _b.logger, pubSub = _b.pubSub, scrollRef = _b.scrollRef, messagesDispatcher = _b.messagesDispatcher;
927
+ var messageInputRef = React.useRef(null);
928
+ var sendMessage = React.useCallback(function (_a) {
929
+ var quoteMessage = _a.quoteMessage, message = _a.message, mentionTemplate = _a.mentionTemplate,
930
+ // mentionedUserIds,
931
+ mentionedUsers = _a.mentionedUsers;
932
+ var createParamsDefault = function () {
933
+ var params = {
934
+ message: message,
935
+ };
936
+ // if (isMentionEnabled && mentionedUserIds?.length > 0) {
937
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
938
+ // params.mentionedUserIds = mentionedUserIds;
939
+ params.mentionedUsers = mentionedUsers;
940
+ }
941
+ // if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
942
+ if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
943
+ params.mentionedMessageTemplate = mentionTemplate;
944
+ }
945
+ if (quoteMessage) {
946
+ params.isReplyToChannel = true;
947
+ params.parentMessageId = quoteMessage.messageId;
948
+ }
949
+ return params;
950
+ };
951
+ var shouldCreateCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
952
+ if (shouldCreateCustomParams) {
953
+ logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
954
+ }
955
+ var params = shouldCreateCustomParams ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
956
+ logger.info('Channel: Sending message has started', params);
957
+ currentGroupChannel
958
+ .sendUserMessage(params)
959
+ .onPending(function (pendingMsg) {
960
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, {
961
+ /* pubSub is used instead of messagesDispatcher
962
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
963
+ message: pendingMsg,
964
+ channel: currentGroupChannel,
965
+ publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
966
+ });
967
+ setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); });
968
+ })
969
+ .onFailed(function (err, msg) {
970
+ logger.warning('Channel: Sending message failed!', { message: msg, error: err });
971
+ messagesDispatcher({
972
+ type: actionTypes.SEND_MESSAGE_FAILURE,
973
+ payload: msg,
974
+ });
975
+ })
976
+ .onSucceeded(function (msg) {
977
+ logger.info('Channel: Sending message success!', msg);
978
+ messagesDispatcher({
979
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
980
+ payload: msg,
981
+ });
982
+ });
983
+ }, [currentGroupChannel, onBeforeSendUserMessage]);
984
+ return [messageInputRef, sendMessage];
985
+ }
986
+
987
+ function useSendFileMessageCallback(_a, _b) {
988
+ var currentGroupChannel = _a.currentGroupChannel, onBeforeSendFileMessage = _a.onBeforeSendFileMessage, imageCompression = _a.imageCompression;
989
+ var logger = _b.logger, pubSub = _b.pubSub, scrollRef = _b.scrollRef, messagesDispatcher = _b.messagesDispatcher;
990
+ var sendMessage = React.useCallback(function (compressedFile, quoteMessage) {
991
+ if (quoteMessage === void 0) { quoteMessage = null; }
992
+ return new Promise(function (resolve, reject) {
993
+ // Create FileMessageParams
994
+ var params = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(compressedFile, quoteMessage);
995
+ if (!params) {
996
+ params = { file: compressedFile };
997
+ if (quoteMessage) {
998
+ params.isReplyToChannel = true;
999
+ params.parentMessageId = quoteMessage.messageId;
1000
+ }
1001
+ }
1002
+ // Send FileMessage
1003
+ logger.info('Channel: Uploading file message start!', params);
1004
+ currentGroupChannel
1005
+ .sendFileMessage(params)
1006
+ .onPending(function (pendingMessage) {
1007
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, {
1008
+ /* pubSub is used instead of messagesDispatcher
1009
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1010
+ message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(compressedFile),
1011
+ // pending thumbnail message seems to be failed
1012
+ requestState: 'pending' }),
1013
+ channel: currentGroupChannel,
1014
+ publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
1015
+ });
1016
+ setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); }, 1000);
1017
+ })
1018
+ .onFailed(function (err, failedMessage) {
1019
+ logger.error('Channel: Sending file message failed!', { failedMessage: failedMessage, err: err });
1020
+ // TODO: v4 - remove logic that modifies the original object.
1021
+ // It makes the code difficult to track, likely causing unpredictable side effects.
1022
+ // @ts-ignore eslint-disable-next-line no-param-reassign
1023
+ failedMessage.localUrl = URL.createObjectURL(compressedFile);
1024
+ // @ts-ignore eslint-disable-next-line no-param-reassign
1025
+ failedMessage.file = compressedFile;
1026
+ messagesDispatcher({
1027
+ type: actionTypes.SEND_MESSAGE_FAILURE,
1028
+ payload: failedMessage,
1029
+ });
1030
+ reject(err);
1031
+ })
1032
+ .onSucceeded(function (succeededMessage) {
1033
+ logger.info('Channel: Sending file message success!', succeededMessage);
1034
+ messagesDispatcher({
1035
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
1036
+ payload: succeededMessage,
1037
+ });
1038
+ resolve(succeededMessage);
1039
+ });
1040
+ });
1041
+ }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);
1042
+ return [sendMessage];
1043
+ }
1044
+
1045
+ function useToggleReactionCallback(_a, _b) {
1046
+ var currentGroupChannel = _a.currentGroupChannel;
1047
+ var logger = _b.logger;
1048
+ return React.useCallback(function (message, key, isReacted) {
1049
+ if (isReacted) {
1050
+ currentGroupChannel
1051
+ .deleteReaction(message, key)
1052
+ .then(function (res) {
1053
+ logger.info('Delete reaction success', res);
1054
+ })
1055
+ .catch(function (err) {
1056
+ logger.warning('Delete reaction failed', err);
1057
+ });
1058
+ }
1059
+ else {
1060
+ currentGroupChannel
1061
+ .addReaction(message, key)
1062
+ .then(function (res) {
1063
+ logger.info('Add reaction success', res);
1064
+ })
1065
+ .catch(function (err) {
1066
+ logger.warning('Add reaction failed', err);
1067
+ });
1068
+ }
1069
+ }, [currentGroupChannel]);
1070
+ }
1071
+
1072
+ // To prevent multiple clicks on the message in the channel while scrolling
1073
+ function deactivateClick(scrollRef) {
1074
+ var element = scrollRef.current;
1075
+ var parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1076
+ if (element && parentNode) {
1077
+ element.style.pointerEvents = 'none';
1078
+ parentNode.style.cursor = 'wait';
1079
+ }
1080
+ }
1081
+ function activateClick(scrollRef) {
1082
+ var element = scrollRef.current;
1083
+ var parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1084
+ if (element && parentNode) {
1085
+ element.style.pointerEvents = 'auto';
1086
+ parentNode.style.cursor = 'auto';
1087
+ }
1088
+ }
1089
+ function useScrollToMessage(_a, _b) {
1090
+ var setInitialTimeStamp = _a.setInitialTimeStamp, setAnimatedMessageId = _a.setAnimatedMessageId, allMessages = _a.allMessages, scrollRef = _a.scrollRef;
1091
+ var logger = _b.logger;
1092
+ return React.useCallback(function (createdAt, messageId) {
1093
+ var isPresent = allMessages.find(function (m) { return (m.messageId === messageId); });
1094
+ setAnimatedMessageId(null);
1095
+ setTimeout(function () {
1096
+ try {
1097
+ logger.info('Channel: scroll to message - disabling mouse events');
1098
+ deactivateClick(scrollRef);
1099
+ if (isPresent) {
1100
+ logger.info('Channel: scroll to message - message is present');
1101
+ setAnimatedMessageId(messageId);
1102
+ utils.scrollToRenderedMessage(scrollRef, createdAt);
1103
+ }
1104
+ else {
1105
+ logger.info('Channel: scroll to message - fetching older messages');
1106
+ setInitialTimeStamp(null);
1107
+ setInitialTimeStamp(createdAt);
1108
+ setAnimatedMessageId(messageId);
1109
+ }
1110
+ }
1111
+ finally {
1112
+ logger.info('Channel: scroll to message - enabled mouse events');
1113
+ activateClick(scrollRef);
1114
+ }
1115
+ });
1116
+ }, [
1117
+ setInitialTimeStamp,
1118
+ setAnimatedMessageId,
1119
+ allMessages,
1120
+ ]);
1121
+ }
1122
+
1123
+ var useSendVoiceMessageCallback = function (_a, _b) {
1124
+ var currentGroupChannel = _a.currentGroupChannel, onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
1125
+ var logger = _b.logger, pubSub = _b.pubSub, scrollRef = _b.scrollRef, messagesDispatcher = _b.messagesDispatcher;
1126
+ var sendMessage = React.useCallback(function (file, duration, quoteMessage) {
1127
+ if (!currentGroupChannel) {
1128
+ return;
1129
+ }
1130
+ var messageParams = (onBeforeSendVoiceMessage
1131
+ && typeof onBeforeSendVoiceMessage === 'function')
1132
+ ? onBeforeSendVoiceMessage(file, quoteMessage)
1133
+ : {
1134
+ file: file,
1135
+ fileName: consts.VOICE_MESSAGE_FILE_NAME,
1136
+ mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
1137
+ metaArrays: [
1138
+ new message.MessageMetaArray({
1139
+ key: consts.META_ARRAY_VOICE_DURATION_KEY,
1140
+ value: ["".concat(duration)],
1141
+ }),
1142
+ new message.MessageMetaArray({
1143
+ key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1144
+ value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE],
1145
+ }),
1146
+ ],
1147
+ };
1148
+ if (quoteMessage) {
1149
+ messageParams.isReplyToChannel = true;
1150
+ messageParams.parentMessageId = quoteMessage.messageId;
1151
+ }
1152
+ logger.info('Channel: Start sending voice message', messageParams);
1153
+ currentGroupChannel.sendFileMessage(messageParams)
1154
+ .onPending(function (pendingMessage) {
1155
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, {
1156
+ /* pubSub is used instead of messagesDispatcher
1157
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1158
+ message: pendingMessage,
1159
+ channel: currentGroupChannel,
1160
+ publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
1161
+ });
1162
+ setTimeout(function () { return utils.scrollIntoLast(0, scrollRef); }, 1000);
1163
+ })
1164
+ .onFailed(function (err, failedMessage) {
1165
+ logger.error('Channel: Sending voice message failed!', { failedMessage: failedMessage, err: err });
1166
+ messagesDispatcher({
1167
+ type: actionTypes.SEND_MESSAGE_FAILURE,
1168
+ payload: failedMessage,
1169
+ });
1170
+ })
1171
+ .onSucceeded(function (succeededMessage) {
1172
+ logger.info('Channel: Sending voice message success!', succeededMessage);
1173
+ messagesDispatcher({
1174
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
1175
+ payload: succeededMessage,
1176
+ });
1177
+ });
1178
+ }, [
1179
+ currentGroupChannel,
1180
+ onBeforeSendVoiceMessage,
1181
+ ]);
1182
+ return [sendMessage];
1183
+ };
1184
+
1185
+ var useHandleChannelPubsubEvents = function (_a) {
1186
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, pubSub = _a.pubSub, dispatcher = _a.dispatcher, scrollRef = _a.scrollRef;
1187
+ React.useEffect(function () {
1188
+ var subscriber = new Map();
1189
+ if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
1190
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, function (props) {
1191
+ var channel = props.channel, message = props.message;
1192
+ utils.scrollIntoLast(0, scrollRef);
1193
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1194
+ dispatcher({
1195
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
1196
+ payload: message,
1197
+ });
1198
+ }
1199
+ }));
1200
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, function (props) {
1201
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
1202
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url) && pubSub_topics.shouldPubSubPublishToChannel(publishingModules)) {
1203
+ dispatcher({
1204
+ type: actionTypes.SEND_MESSAGE_START,
1205
+ payload: message,
1206
+ });
1207
+ }
1208
+ }));
1209
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
1210
+ var response = props.response, publishingModules = props.publishingModules;
1211
+ if (channelUrl === response.channelUrl && pubSub_topics.shouldPubSubPublishToChannel(publishingModules)) {
1212
+ dispatcher({
1213
+ type: actionTypes.ON_FILE_INFO_UPLOADED,
1214
+ payload: response,
1215
+ });
1216
+ }
1217
+ }));
1218
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, function (props) {
1219
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
1220
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url) && pubSub_topics.shouldPubSubPublishToChannel(publishingModules)) {
1221
+ dispatcher({
1222
+ type: actionTypes.SEND_MESSAGE_FAILURE,
1223
+ payload: message,
1224
+ });
1225
+ }
1226
+ }));
1227
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, function (props) {
1228
+ var channel = props.channel, message = props.message;
1229
+ utils.scrollIntoLast(0, scrollRef);
1230
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1231
+ dispatcher({
1232
+ type: actionTypes.SEND_MESSAGE_SUCCESS,
1233
+ payload: message,
1234
+ });
1235
+ }
1236
+ }));
1237
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, function (props) {
1238
+ var channel = props.channel, message = props.message, fromSelector = props.fromSelector;
1239
+ if (fromSelector && (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) && channel.isGroupChannel()) {
1240
+ dispatcher({
1241
+ type: actionTypes.ON_MESSAGE_UPDATED,
1242
+ payload: { channel: channel, message: message },
1243
+ });
1244
+ }
1245
+ }));
1246
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, function (props) {
1247
+ var channel = props.channel, messageId = props.messageId;
1248
+ if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1249
+ dispatcher({
1250
+ type: actionTypes.ON_MESSAGE_DELETED,
1251
+ payload: messageId,
1252
+ });
1253
+ }
1254
+ }));
1255
+ }
1256
+ return function () {
1257
+ subscriber.forEach(function (s) {
1258
+ try {
1259
+ s.remove();
1260
+ }
1261
+ catch (_a) {
1262
+ //
1263
+ }
1264
+ });
1265
+ };
1266
+ }, [
1267
+ channelUrl,
1268
+ sdkInit,
1269
+ ]);
1270
+ };
1271
+
1272
+ var ChannelContext = React.createContext(undefined);
1273
+ var ChannelProvider = function (props) {
1274
+ var _a, _b, _c, _d, _e, _f;
1275
+ var channelUrl = props.channelUrl, children = props.children, isReactionEnabled = props.isReactionEnabled, _g = props.isMessageGroupingEnabled, isMessageGroupingEnabled = _g === void 0 ? true : _g, isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled, showSearchIcon = props.showSearchIcon, animatedMessage = props.animatedMessage, highlightedMessage = props.highlightedMessage, startingPoint = props.startingPoint, onBeforeSendUserMessage = props.onBeforeSendUserMessage, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onBeforeUpdateUserMessage = props.onBeforeUpdateUserMessage, onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage, onChatHeaderActionClick = props.onChatHeaderActionClick, onSearchClick = props.onSearchClick, onBackClick = props.onBackClick, channelReplyType = props.replyType, threadReplySelectType = props.threadReplySelectType, queries = props.queries, filterMessageList = props.filterMessageList, _h = props.disableMarkAsRead, disableMarkAsRead = _h === void 0 ? false : _h, onReplyInThread = props.onReplyInThread, onQuoteMessageClick = props.onQuoteMessageClick, onMessageAnimated = props.onMessageAnimated, onMessageHighlighted = props.onMessageHighlighted, _j = props.scrollBehavior, scrollBehavior = _j === void 0 ? 'auto' : _j, _k = props.reconnectOnIdle, reconnectOnIdle = _k === void 0 ? true : _k;
1276
+ var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1277
+ var config = globalStore.config;
1278
+ var replyType = channelReplyType !== null && channelReplyType !== void 0 ? channelReplyType : config.replyType;
1279
+ var pubSub = config.pubSub, logger = config.logger, userId = config.userId, isOnline = config.isOnline, imageCompression = config.imageCompression, isMentionEnabled = config.isMentionEnabled, onUserProfileMessage = config.onUserProfileMessage, markAsReadScheduler = config.markAsReadScheduler, groupChannel = config.groupChannel;
1280
+ 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;
1281
+ 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;
1282
+ var globalConfigs = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1283
+ var _l = React.useState(startingPoint), initialTimeStamp = _l[0], setInitialTimeStamp = _l[1];
1284
+ React.useEffect(function () {
1285
+ setInitialTimeStamp(startingPoint);
1286
+ }, [startingPoint, channelUrl]);
1287
+ var _m = React.useState(0), animatedMessageId = _m[0], setAnimatedMessageId = _m[1];
1288
+ var _o = React.useState(highlightedMessage), highLightedMessageId = _o[0], setHighLightedMessageId = _o[1];
1289
+ React.useEffect(function () {
1290
+ setHighLightedMessageId(highlightedMessage);
1291
+ }, [highlightedMessage]);
1292
+ var userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1293
+ var _p = React.useState(null), quoteMessage = _p[0], setQuoteMessage = _p[1];
1294
+ var _q = React.useState(false), isScrolled = _q[0], setIsScrolled = _q[1];
1295
+ var _r = React.useReducer(channelReducer, initialState), messagesStore = _r[0], messagesDispatcher = _r[1];
1296
+ var scrollRef = React.useRef(null);
1297
+ var allMessages = messagesStore.allMessages, localMessages = messagesStore.localMessages, loading = messagesStore.loading, initialized = messagesStore.initialized, unreadSince = messagesStore.unreadSince, unreadSinceDate = messagesStore.unreadSinceDate, isInvalid = messagesStore.isInvalid, currentGroupChannel = messagesStore.currentGroupChannel, hasMorePrev = messagesStore.hasMorePrev, oldestMessageTimeStamp = messagesStore.oldestMessageTimeStamp, hasMoreNext = messagesStore.hasMoreNext, latestMessageTimeStamp = messagesStore.latestMessageTimeStamp, emojiContainer = messagesStore.emojiContainer, readStatus = messagesStore.readStatus, typingMembers = messagesStore.typingMembers;
1298
+ var isSuper = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isSuper) || false;
1299
+ var isBroadcast = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isBroadcast) || false;
1300
+ var usingReaction = getIsReactionEnabled({
1301
+ isBroadcast: isBroadcast,
1302
+ isSuper: isSuper,
1303
+ globalLevel: config === null || config === void 0 ? void 0 : config.isReactionEnabled,
1304
+ moduleLevel: isReactionEnabled,
1305
+ });
1306
+ var emojiAllMap = React.useMemo(function () { return (usingReaction
1307
+ ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer)
1308
+ : new Map()); }, [emojiContainer]);
1309
+ var nicknamesMap = React.useMemo(function () { return ((usingReaction && currentGroupChannel)
1310
+ ? utils.getNicknamesMapFromMembers(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members)
1311
+ : new Map()); }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members]);
1312
+ // Animate message
1313
+ React.useEffect(function () {
1314
+ if (animatedMessage) {
1315
+ setAnimatedMessageId(animatedMessage);
1316
+ }
1317
+ }, [animatedMessage]);
1318
+ // Scrollup is default scroll for channel
1319
+ var onScrollCallback = useScrollCallback({
1320
+ currentGroupChannel: currentGroupChannel,
1321
+ oldestMessageTimeStamp: oldestMessageTimeStamp,
1322
+ userFilledMessageListQuery: userFilledMessageListQuery,
1323
+ replyType: replyType,
1324
+ }, {
1325
+ hasMorePrev: hasMorePrev,
1326
+ logger: logger,
1327
+ messagesDispatcher: messagesDispatcher,
1328
+ sdk: sdk,
1329
+ });
1330
+ var scrollToMessage = useScrollToMessage({
1331
+ setInitialTimeStamp: setInitialTimeStamp,
1332
+ setAnimatedMessageId: setAnimatedMessageId,
1333
+ allMessages: allMessages,
1334
+ scrollRef: scrollRef,
1335
+ }, { logger: logger });
1336
+ // onScrollDownCallback is added for navigation to different timestamps on messageSearch
1337
+ // hasMorePrev, onScrollCallback -> scroll up(default behavior)
1338
+ // hasMoreNext, onScrollDownCallback -> scroll down
1339
+ var onScrollDownCallback = useScrollDownCallback({
1340
+ currentGroupChannel: currentGroupChannel,
1341
+ latestMessageTimeStamp: latestMessageTimeStamp,
1342
+ userFilledMessageListQuery: userFilledMessageListQuery,
1343
+ hasMoreNext: hasMoreNext,
1344
+ replyType: replyType,
1345
+ }, {
1346
+ logger: logger,
1347
+ messagesDispatcher: messagesDispatcher,
1348
+ sdk: sdk,
1349
+ });
1350
+ var toggleReaction = useToggleReactionCallback({ currentGroupChannel: currentGroupChannel }, { logger: logger });
1351
+ // to create message-datasource
1352
+ // this hook sets currentGroupChannel asynchronously
1353
+ useGetChannel({ channelUrl: channelUrl, sdkInit: sdkInit, disableMarkAsRead: disableMarkAsRead }, { messagesDispatcher: messagesDispatcher, sdk: sdk, logger: logger, markAsReadScheduler: markAsReadScheduler });
1354
+ // to set quote message as null
1355
+ React.useEffect(function () {
1356
+ setQuoteMessage(null);
1357
+ }, [channelUrl]);
1358
+ // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
1359
+ useHandleChannelEvents({
1360
+ currentGroupChannel: currentGroupChannel,
1361
+ sdkInit: sdkInit,
1362
+ currentUserId: userId,
1363
+ disableMarkAsRead: disableMarkAsRead,
1364
+ }, {
1365
+ messagesDispatcher: messagesDispatcher,
1366
+ sdk: sdk,
1367
+ logger: logger,
1368
+ scrollRef: scrollRef,
1369
+ setQuoteMessage: setQuoteMessage,
1370
+ });
1371
+ // hook that fetches messages when channel changes
1372
+ // to be clear here useGetChannel sets currentGroupChannel
1373
+ // and useInitialMessagesFetch executes when currentGroupChannel changes
1374
+ // p.s This one executes on initialTimeStamp change too
1375
+ Channel_hooks_useInitialMessagesFetch({
1376
+ currentGroupChannel: currentGroupChannel,
1377
+ userFilledMessageListQuery: userFilledMessageListQuery,
1378
+ initialTimeStamp: initialTimeStamp,
1379
+ replyType: replyType,
1380
+ setIsScrolled: setIsScrolled,
1381
+ }, {
1382
+ logger: logger,
1383
+ scrollRef: scrollRef,
1384
+ messagesDispatcher: messagesDispatcher,
1385
+ });
1386
+ // handles API calls from withSendbird
1387
+ useHandleChannelPubsubEvents({
1388
+ channelUrl: channelUrl,
1389
+ sdkInit: sdkInit,
1390
+ pubSub: pubSub,
1391
+ dispatcher: messagesDispatcher,
1392
+ scrollRef: scrollRef,
1393
+ });
1394
+ // handling connection breaks
1395
+ useHandleReconnect({ isOnline: isOnline, replyType: replyType, disableMarkAsRead: disableMarkAsRead, reconnectOnIdle: reconnectOnIdle }, {
1396
+ logger: logger,
1397
+ sdk: sdk,
1398
+ scrollRef: scrollRef,
1399
+ currentGroupChannel: currentGroupChannel,
1400
+ messagesDispatcher: messagesDispatcher,
1401
+ userFilledMessageListQuery: userFilledMessageListQuery,
1402
+ markAsReadScheduler: markAsReadScheduler,
1403
+ });
1404
+ // callbacks for Message CURD actions
1405
+ var deleteMessage = useDeleteMessageCallback({ currentGroupChannel: currentGroupChannel, messagesDispatcher: messagesDispatcher }, { logger: logger });
1406
+ var updateMessage = useUpdateMessageCallback({ currentGroupChannel: currentGroupChannel, messagesDispatcher: messagesDispatcher, onBeforeUpdateUserMessage: onBeforeUpdateUserMessage, isMentionEnabled: isMentionEnabled }, { logger: logger, pubSub: pubSub });
1407
+ var resendMessage = useResendMessageCallback({ currentGroupChannel: currentGroupChannel, messagesDispatcher: messagesDispatcher }, { logger: logger });
1408
+ var _s = useSendMessageCallback({
1409
+ currentGroupChannel: currentGroupChannel,
1410
+ isMentionEnabled: isMentionEnabled,
1411
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
1412
+ }, {
1413
+ logger: logger,
1414
+ pubSub: pubSub,
1415
+ scrollRef: scrollRef,
1416
+ messagesDispatcher: messagesDispatcher,
1417
+ }), messageInputRef = _s[0], sendMessage = _s[1];
1418
+ var sendFileMessage = useSendFileMessageCallback({
1419
+ currentGroupChannel: currentGroupChannel,
1420
+ imageCompression: imageCompression,
1421
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
1422
+ }, {
1423
+ logger: logger,
1424
+ pubSub: pubSub,
1425
+ scrollRef: scrollRef,
1426
+ messagesDispatcher: messagesDispatcher,
1427
+ })[0];
1428
+ var sendVoiceMessage = useSendVoiceMessageCallback({
1429
+ currentGroupChannel: currentGroupChannel,
1430
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
1431
+ }, {
1432
+ logger: logger,
1433
+ pubSub: pubSub,
1434
+ scrollRef: scrollRef,
1435
+ messagesDispatcher: messagesDispatcher,
1436
+ })[0];
1437
+ var sendMultipleFilesMessage = useSendMultipleFilesMessage.useSendMultipleFilesMessage({
1438
+ currentChannel: currentGroupChannel,
1439
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1440
+ publishingModules: [pubSub_topics.PublishingModuleType.CHANNEL],
1441
+ }, {
1442
+ logger: logger,
1443
+ pubSub: pubSub,
1444
+ scrollRef: scrollRef,
1445
+ })[0];
1446
+ return (React.createElement(ChannelContext.Provider, { value: {
1447
+ // props
1448
+ channelUrl: channelUrl,
1449
+ isReactionEnabled: usingReaction,
1450
+ isMessageGroupingEnabled: isMessageGroupingEnabled,
1451
+ isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
1452
+ showSearchIcon: showSearchIcon !== null && showSearchIcon !== void 0 ? showSearchIcon : globalConfigs.showSearchIcon,
1453
+ highlightedMessage: highlightedMessage,
1454
+ startingPoint: startingPoint,
1455
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
1456
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
1457
+ onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
1458
+ onChatHeaderActionClick: onChatHeaderActionClick,
1459
+ onSearchClick: onSearchClick,
1460
+ onBackClick: onBackClick,
1461
+ replyType: replyType,
1462
+ threadReplySelectType: (_e = threadReplySelectType !== null && threadReplySelectType !== void 0 ? threadReplySelectType : resolvedReplyType.getCaseResolvedThreadReplySelectType(groupChannel.threadReplySelectType).upperCase) !== null && _e !== void 0 ? _e : _const.ThreadReplySelectType.THREAD,
1463
+ queries: queries,
1464
+ filterMessageList: filterMessageList,
1465
+ disableMarkAsRead: disableMarkAsRead,
1466
+ onReplyInThread: onReplyInThread,
1467
+ onQuoteMessageClick: onQuoteMessageClick,
1468
+ onMessageAnimated: onMessageAnimated,
1469
+ onMessageHighlighted: onMessageHighlighted,
1470
+ // messagesStore
1471
+ allMessages: allMessages,
1472
+ localMessages: localMessages,
1473
+ loading: loading,
1474
+ initialized: initialized,
1475
+ unreadSince: unreadSince,
1476
+ unreadSinceDate: unreadSinceDate,
1477
+ isInvalid: isInvalid,
1478
+ currentGroupChannel: currentGroupChannel,
1479
+ hasMorePrev: hasMorePrev,
1480
+ hasMoreNext: hasMoreNext,
1481
+ oldestMessageTimeStamp: oldestMessageTimeStamp,
1482
+ latestMessageTimeStamp: latestMessageTimeStamp,
1483
+ emojiContainer: emojiContainer,
1484
+ readStatus: readStatus,
1485
+ typingMembers: typingMembers,
1486
+ // utils
1487
+ scrollToMessage: scrollToMessage,
1488
+ quoteMessage: quoteMessage,
1489
+ setQuoteMessage: setQuoteMessage,
1490
+ deleteMessage: deleteMessage,
1491
+ updateMessage: updateMessage,
1492
+ resendMessage: resendMessage,
1493
+ messageInputRef: messageInputRef,
1494
+ sendMessage: sendMessage,
1495
+ sendFileMessage: sendFileMessage,
1496
+ sendVoiceMessage: sendVoiceMessage,
1497
+ sendMultipleFilesMessage: sendMultipleFilesMessage,
1498
+ initialTimeStamp: initialTimeStamp,
1499
+ messageActionTypes: actionTypes.channelActions,
1500
+ messagesDispatcher: messagesDispatcher,
1501
+ setInitialTimeStamp: setInitialTimeStamp,
1502
+ setAnimatedMessageId: setAnimatedMessageId,
1503
+ setHighLightedMessageId: setHighLightedMessageId,
1504
+ animatedMessageId: animatedMessageId,
1505
+ highLightedMessageId: highLightedMessageId,
1506
+ nicknamesMap: nicknamesMap,
1507
+ emojiAllMap: emojiAllMap,
1508
+ onScrollCallback: onScrollCallback,
1509
+ onScrollDownCallback: onScrollDownCallback,
1510
+ scrollRef: scrollRef,
1511
+ scrollBehavior: scrollBehavior,
1512
+ toggleReaction: toggleReaction,
1513
+ isScrolled: isScrolled,
1514
+ setIsScrolled: setIsScrolled,
1515
+ } },
1516
+ React.createElement(UserProfileContext.UserProfileProvider, { disableUserProfile: (_f = props === null || props === void 0 ? void 0 : props.disableUserProfile) !== null && _f !== void 0 ? _f : config === null || config === void 0 ? void 0 : config.disableUserProfile, renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile, onUserProfileMessage: onUserProfileMessage }, children)));
1517
+ };
1518
+ var useChannelContext = function () { return React.useContext(ChannelContext); };
1519
+
1520
+ exports.ChannelProvider = ChannelProvider;
1521
+ exports.getIsReactionEnabled = getIsReactionEnabled;
1522
+ exports.useChannelContext = useChannelContext;
1523
+ //# sourceMappingURL=bundle-_yIYQoui.js.map