@sendbird/uikit-react 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1485) hide show
  1. package/App.js +287 -555
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +25 -0
  4. package/Channel/components/ChannelHeader.js +50 -96
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +80 -123
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +72 -141
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +10 -15
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +276 -377
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +171 -237
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +225 -312
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +38 -50
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +142 -263
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +73 -79
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +27 -31
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +16 -15
  27. package/Channel/context.js.map +1 -1
  28. package/Channel/hooks/useInitialMessagesFetch.js +109 -0
  29. package/Channel/hooks/useInitialMessagesFetch.js.map +1 -0
  30. package/Channel/utils/compareMessagesForGrouping.js +19 -16
  31. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  32. package/Channel/utils/getMessagePartsInfo.js +26 -37
  33. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  34. package/Channel.js +51 -95
  35. package/Channel.js.map +1 -1
  36. package/ChannelList/components/AddChannel.js +32 -51
  37. package/ChannelList/components/AddChannel.js.map +1 -1
  38. package/ChannelList/components/ChannelListHeader.js +29 -56
  39. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  40. package/ChannelList/components/ChannelListUI.js +101 -158
  41. package/ChannelList/components/ChannelListUI.js.map +1 -1
  42. package/ChannelList/components/ChannelPreview.js +101 -166
  43. package/ChannelList/components/ChannelPreview.js.map +1 -1
  44. package/ChannelList/components/ChannelPreviewAction.js +52 -110
  45. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  46. package/ChannelList/context.js +8 -8
  47. package/ChannelList.js +35 -58
  48. package/ChannelList.js.map +1 -1
  49. package/ChannelSettings/components/ChannelProfile.js +45 -77
  50. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  51. package/ChannelSettings/components/ChannelSettingsUI.js +78 -110
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +79 -133
  54. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  55. package/ChannelSettings/components/LeaveChannel.js +53 -80
  56. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  57. package/ChannelSettings/components/ModerationPanel.js +412 -790
  58. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  59. package/ChannelSettings/components/UserListItem.js +44 -88
  60. package/ChannelSettings/components/UserListItem.js.map +1 -1
  61. package/ChannelSettings/components/UserPanel.js +37 -56
  62. package/ChannelSettings/components/UserPanel.js.map +1 -1
  63. package/ChannelSettings/context.js +62 -84
  64. package/ChannelSettings/context.js.map +1 -1
  65. package/ChannelSettings.js +19 -37
  66. package/ChannelSettings.js.map +1 -1
  67. package/CreateChannel/components/CreateChannelUI.js +22 -32
  68. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  69. package/CreateChannel/components/InviteUsers.js +142 -179
  70. package/CreateChannel/components/InviteUsers.js.map +1 -1
  71. package/CreateChannel/components/SelectChannelType.js +64 -113
  72. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  73. package/CreateChannel/context.js +3 -3
  74. package/CreateChannel.js +17 -32
  75. package/CreateChannel.js.map +1 -1
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js +51 -108
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  78. package/CreateOpenChannel/context.js +42 -51
  79. package/CreateOpenChannel/context.js.map +1 -1
  80. package/CreateOpenChannel.js +15 -31
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +81 -142
  83. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  84. package/EditUserProfile/context.js +13 -20
  85. package/EditUserProfile/context.js.map +1 -1
  86. package/EditUserProfile.js +15 -24
  87. package/EditUserProfile.js.map +1 -1
  88. package/Message/context.js +21 -24
  89. package/Message/context.js.map +1 -1
  90. package/Message/hooks/useDirtyGetMentions.js +52 -63
  91. package/Message/hooks/useDirtyGetMentions.js.map +1 -1
  92. package/MessageSearch/components/MessageSearchUI.js +71 -123
  93. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  94. package/MessageSearch/context.js +237 -339
  95. package/MessageSearch/context.js.map +1 -1
  96. package/MessageSearch.js +57 -120
  97. package/MessageSearch.js.map +1 -1
  98. package/OpenChannel/components/FrozenChannelNotification.js +9 -13
  99. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  100. package/OpenChannel/components/OpenChannelHeader.js +31 -72
  101. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  102. package/OpenChannel/components/OpenChannelInput.js +40 -58
  103. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  104. package/OpenChannel/components/OpenChannelMessage.js +157 -245
  105. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  106. package/OpenChannel/components/OpenChannelMessageList.js +84 -119
  107. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  108. package/OpenChannel/components/OpenChannelUI.js +59 -81
  109. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  110. package/OpenChannel/context.js +7 -7
  111. package/OpenChannel.js +36 -56
  112. package/OpenChannel.js.map +1 -1
  113. package/OpenChannelList/components/OpenChannelListUI.js +91 -164
  114. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  115. package/OpenChannelList/components/OpenChannelPreview.js +19 -58
  116. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  117. package/OpenChannelList/context.js +2 -2
  118. package/OpenChannelList.js +21 -40
  119. package/OpenChannelList.js.map +1 -1
  120. package/OpenChannelSettings/components/EditDetailsModal.js +69 -123
  121. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  122. package/OpenChannelSettings/components/OpenChannelProfile.js +34 -60
  123. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  124. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +52 -84
  125. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  126. package/OpenChannelSettings/components/OperatorUI.js +454 -828
  127. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  128. package/OpenChannelSettings/components/ParticipantUI.js +15 -18
  129. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  130. package/OpenChannelSettings/context.js +115 -125
  131. package/OpenChannelSettings/context.js.map +1 -1
  132. package/OpenChannelSettings.js +20 -33
  133. package/OpenChannelSettings.js.map +1 -1
  134. package/README.md +0 -10
  135. package/SendbirdProvider.js +1000 -1235
  136. package/SendbirdProvider.js.map +1 -1
  137. package/Thread/components/ParentMessageInfo.js +194 -348
  138. package/Thread/components/ParentMessageInfo.js.map +1 -1
  139. package/Thread/components/ParentMessageInfoItem.js +104 -195
  140. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  141. package/Thread/components/ThreadHeader.js +23 -51
  142. package/Thread/components/ThreadHeader.js.map +1 -1
  143. package/Thread/components/ThreadList.js +114 -150
  144. package/Thread/components/ThreadList.js.map +1 -1
  145. package/Thread/components/ThreadListItem.js +268 -528
  146. package/Thread/components/ThreadListItem.js.map +1 -1
  147. package/Thread/components/ThreadMessageInput.js +153 -211
  148. package/Thread/components/ThreadMessageInput.js.map +1 -1
  149. package/Thread/components/ThreadUI.js +192 -268
  150. package/Thread/components/ThreadUI.js.map +1 -1
  151. package/Thread/context/types.js +21 -21
  152. package/Thread/context/types.js.map +1 -1
  153. package/Thread/context.js +1201 -1632
  154. package/Thread/context.js.map +1 -1
  155. package/Thread.js +59 -98
  156. package/Thread.js.map +1 -1
  157. package/VoicePlayer/context.js +3 -3
  158. package/VoicePlayer/useVoicePlayer.js +56 -77
  159. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  160. package/VoiceRecorder/context.js +121 -151
  161. package/VoiceRecorder/context.js.map +1 -1
  162. package/VoiceRecorder/useVoiceRecorder.js +95 -108
  163. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  164. package/{consts-57c888b9.js → chunks/bundle--F_1NyoU.js} +1 -1
  165. package/chunks/bundle--F_1NyoU.js.map +1 -0
  166. package/chunks/bundle-1P01-roD.js +277 -0
  167. package/chunks/bundle-1P01-roD.js.map +1 -0
  168. package/{index-682a192c.js → chunks/bundle-3mdR5HDw.js} +4 -2
  169. package/chunks/bundle-3mdR5HDw.js.map +1 -0
  170. package/chunks/bundle-53PRRrlp.js +230 -0
  171. package/chunks/bundle-53PRRrlp.js.map +1 -0
  172. package/{resolvedReplyType-fb987595.js → chunks/bundle-5iuNyt5M.js} +27 -27
  173. package/chunks/bundle-5iuNyt5M.js.map +1 -0
  174. package/chunks/bundle-5yKxJk_M.js +213 -0
  175. package/chunks/bundle-5yKxJk_M.js.map +1 -0
  176. package/chunks/bundle-7FyFbzI4.js +31 -0
  177. package/chunks/bundle-7FyFbzI4.js.map +1 -0
  178. package/chunks/bundle-8zJE_DCx.js +24 -0
  179. package/chunks/bundle-8zJE_DCx.js.map +1 -0
  180. package/{index-09847c0f.js → chunks/bundle-9KsbryQI.js} +1 -1
  181. package/chunks/bundle-9KsbryQI.js.map +1 -0
  182. package/{const-73db0277.js → chunks/bundle-AI8e02c3.js} +10 -10
  183. package/chunks/bundle-AI8e02c3.js.map +1 -0
  184. package/chunks/bundle-ANPmLOz8.js +173 -0
  185. package/chunks/bundle-ANPmLOz8.js.map +1 -0
  186. package/chunks/bundle-Ael7hqI7.js +227 -0
  187. package/chunks/bundle-Ael7hqI7.js.map +1 -0
  188. package/chunks/bundle-EHReigfD.js +657 -0
  189. package/chunks/bundle-EHReigfD.js.map +1 -0
  190. package/{index-e4277f9c.js → chunks/bundle-FTgSGiKe.js} +42 -15
  191. package/chunks/bundle-FTgSGiKe.js.map +1 -0
  192. package/chunks/bundle-H2I60B2B.js +12 -0
  193. package/chunks/bundle-H2I60B2B.js.map +1 -0
  194. package/chunks/bundle-LUte5Kb5.js +1594 -0
  195. package/chunks/bundle-LUte5Kb5.js.map +1 -0
  196. package/chunks/bundle-M2ljBW6p.js +69 -0
  197. package/chunks/bundle-M2ljBW6p.js.map +1 -0
  198. package/chunks/bundle-NCqCEOuY.js +355 -0
  199. package/chunks/bundle-NCqCEOuY.js.map +1 -0
  200. package/chunks/bundle-PgBVk3py.js +1455 -0
  201. package/chunks/bundle-PgBVk3py.js.map +1 -0
  202. package/chunks/bundle-Q8dtkDOa.js +8 -0
  203. package/chunks/bundle-Q8dtkDOa.js.map +1 -0
  204. package/chunks/bundle-TZXZa-F1.js +226 -0
  205. package/chunks/bundle-TZXZa-F1.js.map +1 -0
  206. package/{consts-d9c5f25a.js → chunks/bundle-WCTKBopn.js} +28 -28
  207. package/chunks/bundle-WCTKBopn.js.map +1 -0
  208. package/chunks/bundle-YEttY5xG.js +26 -0
  209. package/chunks/bundle-YEttY5xG.js.map +1 -0
  210. package/chunks/bundle-Zl1hrCWc.js +36 -0
  211. package/chunks/bundle-Zl1hrCWc.js.map +1 -0
  212. package/chunks/bundle-ZmvX8uZ5.js +163 -0
  213. package/chunks/bundle-ZmvX8uZ5.js.map +1 -0
  214. package/chunks/bundle-_YRJ7d9_.js +827 -0
  215. package/chunks/bundle-_YRJ7d9_.js.map +1 -0
  216. package/chunks/bundle-_qiqf8_l.js +14 -0
  217. package/chunks/bundle-_qiqf8_l.js.map +1 -0
  218. package/chunks/bundle-bJrywUB-.js +233 -0
  219. package/chunks/bundle-bJrywUB-.js.map +1 -0
  220. package/{uuid-c15b8b3b.js → chunks/bundle-bofQNMJb.js} +11 -13
  221. package/chunks/bundle-bofQNMJb.js.map +1 -0
  222. package/chunks/bundle-btDN-R-c.js +77 -0
  223. package/chunks/bundle-btDN-R-c.js.map +1 -0
  224. package/chunks/bundle-cviP1IM2.js +132 -0
  225. package/chunks/bundle-cviP1IM2.js.map +1 -0
  226. package/{index-f8a9cb51.js → chunks/bundle-dLuEa16_.js} +12 -3
  227. package/chunks/bundle-dLuEa16_.js.map +1 -0
  228. package/chunks/bundle-ftY5T58h.js +96 -0
  229. package/chunks/bundle-ftY5T58h.js.map +1 -0
  230. package/{index-2d27aeef.js → chunks/bundle-h3JIYRTG.js} +202 -64
  231. package/chunks/bundle-h3JIYRTG.js.map +1 -0
  232. package/{tslib.es6-c2fb729e.js → chunks/bundle-hKtwSqbO.js} +2 -2
  233. package/chunks/bundle-hKtwSqbO.js.map +1 -0
  234. package/chunks/bundle-hjECCUV3.js +25 -0
  235. package/chunks/bundle-hjECCUV3.js.map +1 -0
  236. package/{consts-be37687e.js → chunks/bundle-khKXutc3.js} +1 -1
  237. package/chunks/bundle-khKXutc3.js.map +1 -0
  238. package/{consts-4ec7d640.js → chunks/bundle-kp1MMNMf.js} +1 -1
  239. package/chunks/bundle-kp1MMNMf.js.map +1 -0
  240. package/chunks/bundle-mL_86Tua.js +28 -0
  241. package/chunks/bundle-mL_86Tua.js.map +1 -0
  242. package/{types-781e0bab.js → chunks/bundle-mpeh7m6z.js} +6 -6
  243. package/chunks/bundle-mpeh7m6z.js.map +1 -0
  244. package/chunks/bundle-prRsVvhT.js +98 -0
  245. package/chunks/bundle-prRsVvhT.js.map +1 -0
  246. package/chunks/bundle-qst5L6aH.js +55 -0
  247. package/chunks/bundle-qst5L6aH.js.map +1 -0
  248. package/chunks/bundle-qunsoajv.js +211 -0
  249. package/chunks/bundle-qunsoajv.js.map +1 -0
  250. package/chunks/bundle-rLxuFUa1.js +62 -0
  251. package/chunks/bundle-rLxuFUa1.js.map +1 -0
  252. package/chunks/bundle-rYAZn3lj.js +125 -0
  253. package/chunks/bundle-rYAZn3lj.js.map +1 -0
  254. package/chunks/bundle-r_VxbiS3.js +36 -0
  255. package/chunks/bundle-r_VxbiS3.js.map +1 -0
  256. package/chunks/bundle-sOjc_nNQ.js +18 -0
  257. package/chunks/bundle-sOjc_nNQ.js.map +1 -0
  258. package/chunks/bundle-ubky9D9H.js +24 -0
  259. package/chunks/bundle-ubky9D9H.js.map +1 -0
  260. package/chunks/bundle-v0OWADVv.js +16 -0
  261. package/chunks/bundle-v0OWADVv.js.map +1 -0
  262. package/chunks/bundle-v9a1_z0P.js +5 -0
  263. package/chunks/bundle-v9a1_z0P.js.map +1 -0
  264. package/chunks/bundle-vnmGzWMt.js +222 -0
  265. package/chunks/bundle-vnmGzWMt.js.map +1 -0
  266. package/chunks/bundle-w2v7oZ9G.js +72 -0
  267. package/chunks/bundle-w2v7oZ9G.js.map +1 -0
  268. package/chunks/bundle-w9T6A0ez.js +176 -0
  269. package/chunks/bundle-w9T6A0ez.js.map +1 -0
  270. package/chunks/bundle-wMgBBDf9.js +78 -0
  271. package/chunks/bundle-wMgBBDf9.js.map +1 -0
  272. package/chunks/bundle-x-4ukZm_.js +76 -0
  273. package/chunks/bundle-x-4ukZm_.js.map +1 -0
  274. package/chunks/bundle-zLBuOeRY.js +131 -0
  275. package/chunks/bundle-zLBuOeRY.js.map +1 -0
  276. package/chunks/bundle-zoxfINxQ.js +16 -0
  277. package/chunks/bundle-zoxfINxQ.js.map +1 -0
  278. package/cjs/App.js +287 -559
  279. package/cjs/App.js.map +1 -1
  280. package/cjs/Channel/components/ChannelHeader.js +50 -100
  281. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  282. package/cjs/Channel/components/ChannelUI.js +80 -127
  283. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  284. package/cjs/Channel/components/FileViewer.js +73 -146
  285. package/cjs/Channel/components/FileViewer.js.map +1 -1
  286. package/cjs/Channel/components/FrozenNotification.js +10 -19
  287. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  288. package/cjs/Channel/components/Message.js +275 -380
  289. package/cjs/Channel/components/Message.js.map +1 -1
  290. package/cjs/Channel/components/MessageInput.js +171 -241
  291. package/cjs/Channel/components/MessageInput.js.map +1 -1
  292. package/cjs/Channel/components/MessageList.js +225 -316
  293. package/cjs/Channel/components/MessageList.js.map +1 -1
  294. package/cjs/Channel/components/RemoveMessageModal.js +38 -54
  295. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  296. package/cjs/Channel/components/SuggestedMentionList.js +142 -267
  297. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  298. package/cjs/Channel/components/TypingIndicator.js +73 -83
  299. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  300. package/cjs/Channel/components/UnreadCount.js +26 -34
  301. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  302. package/cjs/Channel/context.js +16 -17
  303. package/cjs/Channel/context.js.map +1 -1
  304. package/cjs/Channel/hooks/useInitialMessagesFetch.js +111 -0
  305. package/cjs/Channel/hooks/useInitialMessagesFetch.js.map +1 -0
  306. package/cjs/Channel/utils/compareMessagesForGrouping.js +19 -18
  307. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  308. package/cjs/Channel/utils/getMessagePartsInfo.js +26 -39
  309. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  310. package/cjs/Channel.js +51 -99
  311. package/cjs/Channel.js.map +1 -1
  312. package/cjs/ChannelList/components/AddChannel.js +33 -56
  313. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  314. package/cjs/ChannelList/components/ChannelListHeader.js +29 -60
  315. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  316. package/cjs/ChannelList/components/ChannelListUI.js +101 -162
  317. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  318. package/cjs/ChannelList/components/ChannelPreview.js +101 -170
  319. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  320. package/cjs/ChannelList/components/ChannelPreviewAction.js +52 -114
  321. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  322. package/cjs/ChannelList/context.js +8 -10
  323. package/cjs/ChannelList/context.js.map +1 -1
  324. package/cjs/ChannelList.js +35 -62
  325. package/cjs/ChannelList.js.map +1 -1
  326. package/cjs/ChannelSettings/components/ChannelProfile.js +45 -81
  327. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  328. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +78 -114
  329. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  330. package/cjs/ChannelSettings/components/EditDetailsModal.js +79 -137
  331. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  332. package/cjs/ChannelSettings/components/LeaveChannel.js +53 -84
  333. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  334. package/cjs/ChannelSettings/components/ModerationPanel.js +411 -793
  335. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  336. package/cjs/ChannelSettings/components/UserListItem.js +44 -92
  337. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  338. package/cjs/ChannelSettings/components/UserPanel.js +37 -60
  339. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  340. package/cjs/ChannelSettings/context.js +62 -90
  341. package/cjs/ChannelSettings/context.js.map +1 -1
  342. package/cjs/ChannelSettings.js +19 -41
  343. package/cjs/ChannelSettings.js.map +1 -1
  344. package/cjs/CreateChannel/components/CreateChannelUI.js +22 -36
  345. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  346. package/cjs/CreateChannel/components/InviteUsers.js +142 -183
  347. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  348. package/cjs/CreateChannel/components/SelectChannelType.js +64 -117
  349. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  350. package/cjs/CreateChannel/context.js +3 -5
  351. package/cjs/CreateChannel/context.js.map +1 -1
  352. package/cjs/CreateChannel.js +17 -36
  353. package/cjs/CreateChannel.js.map +1 -1
  354. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +51 -112
  355. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  356. package/cjs/CreateOpenChannel/context.js +42 -57
  357. package/cjs/CreateOpenChannel/context.js.map +1 -1
  358. package/cjs/CreateOpenChannel.js +15 -35
  359. package/cjs/CreateOpenChannel.js.map +1 -1
  360. package/cjs/EditUserProfile/components/EditUserProfileUI.js +81 -146
  361. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  362. package/cjs/EditUserProfile/context.js +13 -26
  363. package/cjs/EditUserProfile/context.js.map +1 -1
  364. package/cjs/EditUserProfile.js +15 -28
  365. package/cjs/EditUserProfile.js.map +1 -1
  366. package/cjs/Message/context.js +21 -30
  367. package/cjs/Message/context.js.map +1 -1
  368. package/cjs/Message/hooks/useDirtyGetMentions.js +52 -65
  369. package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
  370. package/cjs/MessageSearch/components/MessageSearchUI.js +72 -128
  371. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  372. package/cjs/MessageSearch/context.js +237 -345
  373. package/cjs/MessageSearch/context.js.map +1 -1
  374. package/cjs/MessageSearch.js +57 -124
  375. package/cjs/MessageSearch.js.map +1 -1
  376. package/cjs/OpenChannel/components/FrozenChannelNotification.js +9 -17
  377. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  378. package/cjs/OpenChannel/components/OpenChannelHeader.js +31 -76
  379. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  380. package/cjs/OpenChannel/components/OpenChannelInput.js +40 -62
  381. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  382. package/cjs/OpenChannel/components/OpenChannelMessage.js +157 -249
  383. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  384. package/cjs/OpenChannel/components/OpenChannelMessageList.js +84 -123
  385. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  386. package/cjs/OpenChannel/components/OpenChannelUI.js +59 -85
  387. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  388. package/cjs/OpenChannel/context.js +7 -9
  389. package/cjs/OpenChannel/context.js.map +1 -1
  390. package/cjs/OpenChannel.js +36 -60
  391. package/cjs/OpenChannel.js.map +1 -1
  392. package/cjs/OpenChannelList/components/OpenChannelListUI.js +91 -168
  393. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  394. package/cjs/OpenChannelList/components/OpenChannelPreview.js +19 -62
  395. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  396. package/cjs/OpenChannelList/context.js +3 -3
  397. package/cjs/OpenChannelList.js +21 -44
  398. package/cjs/OpenChannelList.js.map +1 -1
  399. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +69 -127
  400. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  401. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +34 -64
  402. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  403. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +52 -88
  404. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  405. package/cjs/OpenChannelSettings/components/OperatorUI.js +454 -832
  406. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  407. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -18
  408. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  409. package/cjs/OpenChannelSettings/context.js +115 -131
  410. package/cjs/OpenChannelSettings/context.js.map +1 -1
  411. package/cjs/OpenChannelSettings.js +20 -37
  412. package/cjs/OpenChannelSettings.js.map +1 -1
  413. package/cjs/SendbirdProvider.js +1001 -1242
  414. package/cjs/SendbirdProvider.js.map +1 -1
  415. package/cjs/Thread/components/ParentMessageInfo.js +194 -352
  416. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  417. package/cjs/Thread/components/ParentMessageInfoItem.js +104 -199
  418. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  419. package/cjs/Thread/components/ThreadHeader.js +23 -55
  420. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  421. package/cjs/Thread/components/ThreadList.js +114 -154
  422. package/cjs/Thread/components/ThreadList.js.map +1 -1
  423. package/cjs/Thread/components/ThreadListItem.js +268 -532
  424. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  425. package/cjs/Thread/components/ThreadMessageInput.js +153 -215
  426. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  427. package/cjs/Thread/components/ThreadUI.js +192 -272
  428. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  429. package/cjs/Thread/context/types.js +21 -23
  430. package/cjs/Thread/context/types.js.map +1 -1
  431. package/cjs/Thread/context.js +1201 -1638
  432. package/cjs/Thread/context.js.map +1 -1
  433. package/cjs/Thread.js +59 -102
  434. package/cjs/Thread.js.map +1 -1
  435. package/cjs/VoicePlayer/context.js +3 -5
  436. package/cjs/VoicePlayer/context.js.map +1 -1
  437. package/cjs/VoicePlayer/useVoicePlayer.js +56 -79
  438. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  439. package/cjs/VoiceRecorder/context.js +121 -155
  440. package/cjs/VoiceRecorder/context.js.map +1 -1
  441. package/cjs/VoiceRecorder/useVoiceRecorder.js +95 -110
  442. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  443. package/cjs/chunks/bundle-11ybpGNN.js +139 -0
  444. package/cjs/chunks/bundle-11ybpGNN.js.map +1 -0
  445. package/cjs/chunks/bundle-1yOirqug.js +8 -0
  446. package/cjs/chunks/bundle-1yOirqug.js.map +1 -0
  447. package/cjs/{index-3448df64.js → chunks/bundle-28p7K0N-.js} +202 -64
  448. package/cjs/chunks/bundle-28p7K0N-.js.map +1 -0
  449. package/cjs/chunks/bundle-41ZfOrRZ.js +224 -0
  450. package/cjs/chunks/bundle-41ZfOrRZ.js.map +1 -0
  451. package/cjs/chunks/bundle-4DATo50q.js +1598 -0
  452. package/cjs/chunks/bundle-4DATo50q.js.map +1 -0
  453. package/cjs/chunks/bundle-4bb_98h6.js +27 -0
  454. package/cjs/chunks/bundle-4bb_98h6.js.map +1 -0
  455. package/cjs/chunks/bundle-4q81wd8X.js +176 -0
  456. package/cjs/chunks/bundle-4q81wd8X.js.map +1 -0
  457. package/cjs/{index-134e9852.js → chunks/bundle-4rFcKXQa.js} +4 -2
  458. package/cjs/chunks/bundle-4rFcKXQa.js.map +1 -0
  459. package/cjs/chunks/bundle-6OOGDxxE.js +18 -0
  460. package/cjs/chunks/bundle-6OOGDxxE.js.map +1 -0
  461. package/cjs/chunks/bundle-6o4fw0w0.js +234 -0
  462. package/cjs/chunks/bundle-6o4fw0w0.js.map +1 -0
  463. package/cjs/chunks/bundle-6ziaqiUd.js +84 -0
  464. package/cjs/chunks/bundle-6ziaqiUd.js.map +1 -0
  465. package/cjs/chunks/bundle-B2MaAm21.js +28 -0
  466. package/cjs/chunks/bundle-B2MaAm21.js.map +1 -0
  467. package/cjs/chunks/bundle-BJe68nS0.js +236 -0
  468. package/cjs/chunks/bundle-BJe68nS0.js.map +1 -0
  469. package/cjs/chunks/bundle-BN7IOLFq.js +128 -0
  470. package/cjs/chunks/bundle-BN7IOLFq.js.map +1 -0
  471. package/cjs/{index-7627b546.js → chunks/bundle-CUP2x37z.js} +12 -3
  472. package/cjs/chunks/bundle-CUP2x37z.js.map +1 -0
  473. package/cjs/chunks/bundle-DZeKHvMp.js +26 -0
  474. package/cjs/chunks/bundle-DZeKHvMp.js.map +1 -0
  475. package/cjs/chunks/bundle-Dwrq46Xb.js +832 -0
  476. package/cjs/chunks/bundle-Dwrq46Xb.js.map +1 -0
  477. package/cjs/chunks/bundle-ELeM0_1Y.js +10 -0
  478. package/cjs/chunks/bundle-ELeM0_1Y.js.map +1 -0
  479. package/cjs/chunks/bundle-F7GEQVgT.js +1460 -0
  480. package/cjs/chunks/bundle-F7GEQVgT.js.map +1 -0
  481. package/cjs/chunks/bundle-FHx0K-3z.js +707 -0
  482. package/cjs/chunks/bundle-FHx0K-3z.js.map +1 -0
  483. package/cjs/chunks/bundle-FLCJVplO.js +137 -0
  484. package/cjs/chunks/bundle-FLCJVplO.js.map +1 -0
  485. package/cjs/{index-54279ec2.js → chunks/bundle-I_9_5a8a.js} +1 -1
  486. package/cjs/chunks/bundle-I_9_5a8a.js.map +1 -0
  487. package/cjs/chunks/bundle-JggdKsJa.js +181 -0
  488. package/cjs/chunks/bundle-JggdKsJa.js.map +1 -0
  489. package/cjs/{consts-f54b15c2.js → chunks/bundle-L9ushBZQ.js} +27 -27
  490. package/cjs/chunks/bundle-L9ushBZQ.js.map +1 -0
  491. package/cjs/chunks/bundle-P0kNl8GH.js +236 -0
  492. package/cjs/chunks/bundle-P0kNl8GH.js.map +1 -0
  493. package/cjs/{const-c9e7a340.js → chunks/bundle-P_B0eyVT.js} +10 -10
  494. package/cjs/chunks/bundle-P_B0eyVT.js.map +1 -0
  495. package/cjs/chunks/bundle-QfhZ2YNP.js +109 -0
  496. package/cjs/chunks/bundle-QfhZ2YNP.js.map +1 -0
  497. package/cjs/chunks/bundle-QmSa90PC.js +20 -0
  498. package/cjs/chunks/bundle-QmSa90PC.js.map +1 -0
  499. package/cjs/{consts-b711321c.js → chunks/bundle-RaQV-Bpr.js} +1 -1
  500. package/cjs/chunks/bundle-RaQV-Bpr.js.map +1 -0
  501. package/cjs/chunks/bundle-RlFjml8m.js +178 -0
  502. package/cjs/chunks/bundle-RlFjml8m.js.map +1 -0
  503. package/cjs/chunks/bundle-TEIqVGqn.js +75 -0
  504. package/cjs/chunks/bundle-TEIqVGqn.js.map +1 -0
  505. package/cjs/chunks/bundle-UooP2IDU.js +69 -0
  506. package/cjs/chunks/bundle-UooP2IDU.js.map +1 -0
  507. package/cjs/chunks/bundle-Y9TkHVI5.js +79 -0
  508. package/cjs/chunks/bundle-Y9TkHVI5.js.map +1 -0
  509. package/cjs/chunks/bundle-YNHu-c84.js +15 -0
  510. package/cjs/chunks/bundle-YNHu-c84.js.map +1 -0
  511. package/cjs/chunks/bundle-_fjTT1-g.js +279 -0
  512. package/cjs/chunks/bundle-_fjTT1-g.js.map +1 -0
  513. package/cjs/chunks/bundle-b4fiCQuI.js +217 -0
  514. package/cjs/chunks/bundle-b4fiCQuI.js.map +1 -0
  515. package/cjs/chunks/bundle-c6O8NjZI.js +81 -0
  516. package/cjs/chunks/bundle-c6O8NjZI.js.map +1 -0
  517. package/cjs/chunks/bundle-cttYM0DR.js +30 -0
  518. package/cjs/chunks/bundle-cttYM0DR.js.map +1 -0
  519. package/cjs/chunks/bundle-dXhGOQQM.js +22 -0
  520. package/cjs/chunks/bundle-dXhGOQQM.js.map +1 -0
  521. package/cjs/chunks/bundle-e-fvbugV.js +35 -0
  522. package/cjs/chunks/bundle-e-fvbugV.js.map +1 -0
  523. package/cjs/chunks/bundle-e0il9C3T.js +230 -0
  524. package/cjs/chunks/bundle-e0il9C3T.js.map +1 -0
  525. package/cjs/{consts-61d83828.js → chunks/bundle-g0lpRY8_.js} +1 -1
  526. package/cjs/chunks/bundle-g0lpRY8_.js.map +1 -0
  527. package/cjs/{uuid-9a117e16.js → chunks/bundle-gMxOq93o.js} +11 -13
  528. package/cjs/chunks/bundle-gMxOq93o.js.map +1 -0
  529. package/cjs/{consts-b3c4f548.js → chunks/bundle-gS0bojlA.js} +1 -1
  530. package/cjs/chunks/bundle-gS0bojlA.js.map +1 -0
  531. package/cjs/{resolvedReplyType-c4564ebe.js → chunks/bundle-g_OXBrgT.js} +26 -26
  532. package/cjs/chunks/bundle-g_OXBrgT.js.map +1 -0
  533. package/cjs/{tslib.es6-c74b513f.js → chunks/bundle-hK4x7nmG.js} +1 -1
  534. package/cjs/chunks/bundle-hK4x7nmG.js.map +1 -0
  535. package/cjs/chunks/bundle-iwsbhMUN.js +38 -0
  536. package/cjs/chunks/bundle-iwsbhMUN.js.map +1 -0
  537. package/cjs/chunks/bundle-kBUglm2K.js +360 -0
  538. package/cjs/chunks/bundle-kBUglm2K.js.map +1 -0
  539. package/cjs/chunks/bundle-kWUEW1ZN.js +39 -0
  540. package/cjs/chunks/bundle-kWUEW1ZN.js.map +1 -0
  541. package/cjs/{types-feda9656.js → chunks/bundle-lii4Ueh3.js} +6 -6
  542. package/cjs/chunks/bundle-lii4Ueh3.js.map +1 -0
  543. package/cjs/{index-e8928da6.js → chunks/bundle-n1yh-qDb.js} +42 -15
  544. package/cjs/chunks/bundle-n1yh-qDb.js.map +1 -0
  545. package/cjs/chunks/bundle-p1cCW0sH.js +74 -0
  546. package/cjs/chunks/bundle-p1cCW0sH.js.map +1 -0
  547. package/cjs/chunks/bundle-tRBVL0r6.js +99 -0
  548. package/cjs/chunks/bundle-tRBVL0r6.js.map +1 -0
  549. package/cjs/chunks/bundle-tmB_l3Q9.js +16 -0
  550. package/cjs/chunks/bundle-tmB_l3Q9.js.map +1 -0
  551. package/cjs/chunks/bundle-tywVawyg.js +79 -0
  552. package/cjs/chunks/bundle-tywVawyg.js.map +1 -0
  553. package/cjs/chunks/bundle-z-Bvsn0B.js +215 -0
  554. package/cjs/chunks/bundle-z-Bvsn0B.js.map +1 -0
  555. package/cjs/chunks/bundle-zr9ZXBrm.js +27 -0
  556. package/cjs/chunks/bundle-zr9ZXBrm.js.map +1 -0
  557. package/cjs/handlers/OpenChannelHandler.js +2 -2
  558. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  559. package/cjs/handlers/SessionHandler.js +2 -2
  560. package/cjs/handlers/SessionHandler.js.map +1 -1
  561. package/cjs/hooks/useModal.js +47 -72
  562. package/cjs/hooks/useModal.js.map +1 -1
  563. package/cjs/index.js +59 -63
  564. package/cjs/index.js.map +1 -1
  565. package/cjs/lame.all.js +14799 -681
  566. package/cjs/lame.all.js.map +1 -1
  567. package/cjs/package.json +1 -3
  568. package/cjs/pubSub/topics.js +15 -15
  569. package/cjs/pubSub/topics.js.map +1 -1
  570. package/cjs/sendbirdSelectors.js +535 -618
  571. package/cjs/sendbirdSelectors.js.map +1 -1
  572. package/cjs/ui/Accordion.js +40 -57
  573. package/cjs/ui/Accordion.js.map +1 -1
  574. package/cjs/ui/AccordionGroup.js +9 -22
  575. package/cjs/ui/AccordionGroup.js.map +1 -1
  576. package/cjs/ui/AdminMessage.js +13 -23
  577. package/cjs/ui/AdminMessage.js.map +1 -1
  578. package/cjs/ui/Avatar.js +70 -194
  579. package/cjs/ui/Avatar.js.map +1 -1
  580. package/cjs/ui/Badge.js +18 -26
  581. package/cjs/ui/Badge.js.map +1 -1
  582. package/cjs/ui/BottomSheet.js +28 -38
  583. package/cjs/ui/BottomSheet.js.map +1 -1
  584. package/cjs/ui/Button.js +41 -63
  585. package/cjs/ui/Button.js.map +1 -1
  586. package/cjs/ui/ChannelAvatar.js +20 -47
  587. package/cjs/ui/ChannelAvatar.js.map +1 -1
  588. package/cjs/ui/Checkbox.js +15 -28
  589. package/cjs/ui/Checkbox.js.map +1 -1
  590. package/cjs/ui/ConnectionStatus.js +11 -22
  591. package/cjs/ui/ConnectionStatus.js.map +1 -1
  592. package/cjs/ui/ContextMenu.js +196 -285
  593. package/cjs/ui/ContextMenu.js.map +1 -1
  594. package/cjs/ui/DateSeparator.js +13 -28
  595. package/cjs/ui/DateSeparator.js.map +1 -1
  596. package/cjs/ui/EmojiReactions.js +142 -329
  597. package/cjs/ui/EmojiReactions.js.map +1 -1
  598. package/cjs/ui/FileMessageItemBody.js +30 -53
  599. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  600. package/cjs/ui/FileViewer.js +18 -17
  601. package/cjs/ui/FileViewer.js.map +1 -1
  602. package/cjs/ui/Icon.js +558 -729
  603. package/cjs/ui/Icon.js.map +1 -1
  604. package/cjs/ui/IconButton.js +18 -49
  605. package/cjs/ui/IconButton.js.map +1 -1
  606. package/cjs/ui/ImageRenderer.js +103 -154
  607. package/cjs/ui/ImageRenderer.js.map +1 -1
  608. package/cjs/ui/Input.js +16 -42
  609. package/cjs/ui/Input.js.map +1 -1
  610. package/cjs/ui/Label.js +4 -4
  611. package/cjs/ui/LinkLabel.js +22 -51
  612. package/cjs/ui/LinkLabel.js.map +1 -1
  613. package/cjs/ui/Loader.js +11 -25
  614. package/cjs/ui/Loader.js.map +1 -1
  615. package/cjs/ui/MentionLabel.js +47 -81
  616. package/cjs/ui/MentionLabel.js.map +1 -1
  617. package/cjs/ui/MentionUserLabel.js +4 -19
  618. package/cjs/ui/MentionUserLabel.js.map +1 -1
  619. package/cjs/ui/MessageContent.js +191 -402
  620. package/cjs/ui/MessageContent.js.map +1 -1
  621. package/cjs/ui/MessageInput/hooks/usePaste.js +6 -6
  622. package/cjs/ui/MessageInput.js +447 -625
  623. package/cjs/ui/MessageInput.js.map +1 -1
  624. package/cjs/ui/MessageItemMenu.js +110 -166
  625. package/cjs/ui/MessageItemMenu.js.map +1 -1
  626. package/cjs/ui/MessageItemReactionMenu.js +39 -102
  627. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  628. package/cjs/ui/MessageSearchFileItem.js +77 -114
  629. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  630. package/cjs/ui/MessageSearchItem.js +49 -83
  631. package/cjs/ui/MessageSearchItem.js.map +1 -1
  632. package/cjs/ui/MessageStatus.js +13 -13
  633. package/cjs/ui/Modal.js +18 -131
  634. package/cjs/ui/Modal.js.map +1 -1
  635. package/cjs/ui/MutedAvatarOverlay.js +14 -30
  636. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  637. package/cjs/ui/OGMessageItemBody.js +64 -109
  638. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  639. package/cjs/ui/OpenChannelAdminMessage.js +9 -18
  640. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  641. package/cjs/ui/OpenChannelAvatar.js +14 -29
  642. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  643. package/cjs/ui/OpenchannelConversationHeader.js +21 -60
  644. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  645. package/cjs/ui/OpenchannelFileMessage.js +112 -236
  646. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  647. package/cjs/ui/OpenchannelOGMessage.js +155 -330
  648. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  649. package/cjs/ui/OpenchannelThumbnailMessage.js +150 -315
  650. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  651. package/cjs/ui/OpenchannelUserMessage.js +124 -266
  652. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  653. package/cjs/ui/PlaceHolder.js +46 -105
  654. package/cjs/ui/PlaceHolder.js.map +1 -1
  655. package/cjs/ui/PlaybackTime.js +12 -26
  656. package/cjs/ui/PlaybackTime.js.map +1 -1
  657. package/cjs/ui/ProgressBar.js +13 -31
  658. package/cjs/ui/ProgressBar.js.map +1 -1
  659. package/cjs/ui/QuoteMessage.js +70 -146
  660. package/cjs/ui/QuoteMessage.js.map +1 -1
  661. package/cjs/ui/QuoteMessageInput.js +71 -102
  662. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  663. package/cjs/ui/ReactionBadge.js +20 -46
  664. package/cjs/ui/ReactionBadge.js.map +1 -1
  665. package/cjs/ui/ReactionButton.js +17 -39
  666. package/cjs/ui/ReactionButton.js.map +1 -1
  667. package/cjs/ui/SortByRow.js +23 -35
  668. package/cjs/ui/SortByRow.js.map +1 -1
  669. package/cjs/ui/TextButton.js +9 -29
  670. package/cjs/ui/TextButton.js.map +1 -1
  671. package/cjs/ui/TextMessageItemBody.js +41 -57
  672. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  673. package/cjs/ui/ThreadReplies.js +32 -70
  674. package/cjs/ui/ThreadReplies.js.map +1 -1
  675. package/cjs/ui/ThumbnailMessageItemBody.js +34 -74
  676. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  677. package/cjs/ui/Toggle.js +110 -189
  678. package/cjs/ui/Toggle.js.map +1 -1
  679. package/cjs/ui/Tooltip.js +9 -20
  680. package/cjs/ui/Tooltip.js.map +1 -1
  681. package/cjs/ui/TooltipWrapper.js +13 -45
  682. package/cjs/ui/TooltipWrapper.js.map +1 -1
  683. package/cjs/ui/UnknownMessageItemBody.js +20 -34
  684. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  685. package/cjs/ui/UserListItem.js +49 -116
  686. package/cjs/ui/UserListItem.js.map +1 -1
  687. package/cjs/ui/UserProfile.js +43 -72
  688. package/cjs/ui/UserProfile.js.map +1 -1
  689. package/cjs/ui/VoiceMessageItemBody.js +53 -106
  690. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  691. package/cjs/ui/VoiceMessgeInput.js +9 -11
  692. package/cjs/ui/VoiceMessgeInput.js.map +1 -1
  693. package/cjs/ui/Word.js +58 -87
  694. package/cjs/ui/Word.js.map +1 -1
  695. package/cjs/useSendbirdStateContext.js +16 -15
  696. package/cjs/useSendbirdStateContext.js.map +1 -1
  697. package/cjs/utils/message/getOutgoingMessageState.js +32 -31
  698. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  699. package/cjs/utils/message/isVoiceMessage.js +3 -5
  700. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  701. package/cjs/withSendbird.js +18 -23
  702. package/cjs/withSendbird.js.map +1 -1
  703. package/dist/index.css +202 -149
  704. package/dist/index.css.map +1 -1
  705. package/handlers/OpenChannelHandler.js +2 -2
  706. package/handlers/OpenChannelHandler.js.map +1 -1
  707. package/handlers/SessionHandler.js +2 -2
  708. package/handlers/SessionHandler.js.map +1 -1
  709. package/hooks/useModal.js +47 -65
  710. package/hooks/useModal.js.map +1 -1
  711. package/index.js +56 -58
  712. package/index.js.map +1 -1
  713. package/lame.all.js +14797 -679
  714. package/lame.all.js.map +1 -1
  715. package/package.json +1454 -79
  716. package/pubSub/topics.js +14 -14
  717. package/pubSub/topics.js.map +1 -1
  718. package/sendbirdSelectors.js +534 -617
  719. package/sendbirdSelectors.js.map +1 -1
  720. package/types/hooks/VoicePlayer/dux/actionTypes.d.ts +14 -0
  721. package/types/hooks/VoicePlayer/dux/initialState.d.ts +30 -0
  722. package/types/hooks/VoicePlayer/dux/reducer.d.ts +25 -0
  723. package/types/hooks/VoicePlayer/index.d.ts +19 -0
  724. package/types/hooks/VoicePlayer/useVoicePlayer.d.ts +16 -0
  725. package/types/hooks/VoicePlayer/utils.d.ts +2 -0
  726. package/types/hooks/VoiceRecorder/WebAudioUtils.d.ts +4 -0
  727. package/types/hooks/VoiceRecorder/index.d.ts +20 -0
  728. package/types/hooks/VoiceRecorder/useVoiceRecorder.d.ts +18 -0
  729. package/types/hooks/useAppendDomNode.d.ts +2 -0
  730. package/types/hooks/useDebounce.d.ts +1 -0
  731. package/types/hooks/useHandleOnScrollCallback/index.d.ts +11 -0
  732. package/types/hooks/useLongPress.d.ts +21 -0
  733. package/types/hooks/useModal/ModalRoot/index.d.ts +4 -0
  734. package/types/hooks/useModal/index.d.ts +15 -0
  735. package/types/hooks/useMouseHover.d.ts +7 -0
  736. package/types/hooks/useOutsideAlerter.d.ts +7 -0
  737. package/types/hooks/useSendbirdStateContext.d.ts +3 -0
  738. package/types/hooks/useUnmount.d.ts +2 -0
  739. package/types/index.d.ts +13 -0
  740. package/types/lib/LocalizationContext.d.ts +19 -0
  741. package/types/lib/Logger/index.d.ts +24 -0
  742. package/types/lib/MediaQueryContext.d.ts +14 -0
  743. package/types/lib/Sendbird.d.ts +65 -0
  744. package/types/lib/SendbirdSdkContext.d.ts +9 -0
  745. package/types/lib/SendbirdState.d.ts +7 -0
  746. package/types/lib/UserProfileContext.d.ts +22 -0
  747. package/types/lib/VoiceMessageProvider.d.ts +7 -0
  748. package/types/lib/dux/sdk/actionTypes.d.ts +16 -0
  749. package/types/lib/dux/sdk/initialState.d.ts +9 -0
  750. package/types/lib/dux/sdk/reducers.d.ts +3 -0
  751. package/types/lib/dux/user/actionTypes.d.ts +14 -0
  752. package/types/lib/dux/user/initialState.d.ts +8 -0
  753. package/types/lib/dux/user/reducers.d.ts +3 -0
  754. package/types/lib/handlers/ConnectionHandler.d.ts +5 -0
  755. package/types/lib/handlers/GroupChannelHandler.d.ts +7 -0
  756. package/types/lib/handlers/OpenChannelHandler.d.ts +5 -0
  757. package/types/lib/handlers/SessionHandler.d.ts +5 -0
  758. package/types/lib/handlers/UserEventHandler.d.ts +5 -0
  759. package/types/lib/hooks/schedulerFactory.d.ts +11 -0
  760. package/types/lib/hooks/useConnect/__test__/data.mocks.d.ts +15 -0
  761. package/types/lib/hooks/useConnect/connect.d.ts +2 -0
  762. package/types/lib/hooks/useConnect/disconnectSdk.d.ts +2 -0
  763. package/types/lib/hooks/useConnect/index.d.ts +2 -0
  764. package/types/lib/hooks/useConnect/setupConnection.d.ts +18 -0
  765. package/types/lib/hooks/useConnect/types.d.ts +42 -0
  766. package/types/lib/hooks/useMarkAsDeliveredScheduler.d.ts +15 -0
  767. package/types/lib/hooks/useMarkAsReadScheduler.d.ts +15 -0
  768. package/types/lib/hooks/useOnlineStatus.d.ts +4 -0
  769. package/types/lib/hooks/useTheme.d.ts +2 -0
  770. package/types/lib/pubSub/index.d.ts +9 -0
  771. package/types/lib/pubSub/topics.d.ts +16 -0
  772. package/types/lib/selectors.d.ts +247 -0
  773. package/types/lib/types.d.ts +165 -0
  774. package/types/lib/utils/resolvedReplyType.d.ts +28 -0
  775. package/types/lib/utils/uikitConfigMapper.d.ts +5 -0
  776. package/types/modules/App/AppLayout.d.ts +3 -0
  777. package/types/modules/App/DesktopLayout.d.ts +3 -0
  778. package/types/modules/App/MobileLayout.d.ts +4 -0
  779. package/types/modules/App/index.d.ts +44 -0
  780. package/types/modules/App/types.d.ts +72 -0
  781. package/types/modules/Channel/components/ChannelHeader/index.d.ts +7 -0
  782. package/types/modules/Channel/components/ChannelHeader/utils.d.ts +4 -0
  783. package/types/modules/Channel/components/ChannelUI/index.d.ts +19 -0
  784. package/types/modules/Channel/components/FileViewer/index.d.ts +21 -0
  785. package/types/modules/Channel/components/FrozenNotification/index.d.ts +7 -0
  786. package/types/modules/Channel/components/Message/index.d.ts +15 -0
  787. package/types/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.d.ts +10 -0
  788. package/types/modules/Channel/components/MessageInput/index.d.ts +11 -0
  789. package/types/modules/Channel/components/MessageInput/useHandleUploadFiles.d.ts +19 -0
  790. package/types/modules/Channel/components/MessageList/getMessagePartsInfo.d.ts +20 -0
  791. package/types/modules/Channel/components/MessageList/hooks/useScrollBehavior.d.ts +1 -0
  792. package/types/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.d.ts +7 -0
  793. package/types/modules/Channel/components/MessageList/index.d.ts +12 -0
  794. package/types/modules/Channel/components/RemoveMessageModal.d.ts +9 -0
  795. package/types/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.d.ts +21 -0
  796. package/types/modules/Channel/components/SuggestedMentionList/index.d.ts +20 -0
  797. package/types/modules/Channel/components/SuggestedReplies/index.d.ts +10 -0
  798. package/types/modules/Channel/components/TypingIndicator.d.ts +8 -0
  799. package/types/modules/Channel/components/UnreadCount/index.d.ts +12 -0
  800. package/types/modules/Channel/context/ChannelProvider.d.ts +129 -0
  801. package/types/modules/Channel/context/compareMessagesForGrouping.d.ts +10 -0
  802. package/types/modules/Channel/context/const.d.ts +9 -0
  803. package/types/modules/Channel/context/dux/actionTypes.d.ts +87 -0
  804. package/types/modules/Channel/context/dux/initialState.d.ts +24 -0
  805. package/types/modules/Channel/context/dux/reducers.d.ts +3 -0
  806. package/types/modules/Channel/context/hooks/useDeleteMessageCallback.d.ts +14 -0
  807. package/types/modules/Channel/context/hooks/useGetChannel.d.ts +18 -0
  808. package/types/modules/Channel/context/hooks/useHandleChannelEvents.d.ts +29 -0
  809. package/types/modules/Channel/context/hooks/useHandleChannelPubsubEvents.d.ts +10 -0
  810. package/types/modules/Channel/context/hooks/useHandleReconnect.d.ts +23 -0
  811. package/types/modules/Channel/context/hooks/useInitialMessagesFetch.d.ts +20 -0
  812. package/types/modules/Channel/context/hooks/useReconnectOnIdle.d.ts +5 -0
  813. package/types/modules/Channel/context/hooks/useResendMessageCallback.d.ts +14 -0
  814. package/types/modules/Channel/context/hooks/useScrollCallback.d.ts +21 -0
  815. package/types/modules/Channel/context/hooks/useScrollDownCallback.d.ts +23 -0
  816. package/types/modules/Channel/context/hooks/useScrollToMessage.d.ts +14 -0
  817. package/types/modules/Channel/context/hooks/useSendFileMessageCallback.d.ts +21 -0
  818. package/types/modules/Channel/context/hooks/useSendMessageCallback.d.ts +27 -0
  819. package/types/modules/Channel/context/hooks/useSendMultipleFilesMessage.d.ts +32 -0
  820. package/types/modules/Channel/context/hooks/useSendVoiceMessageCallback.d.ts +20 -0
  821. package/types/modules/Channel/context/hooks/useStatefulFileInfoList.d.ts +3 -0
  822. package/types/modules/Channel/context/hooks/useThreadMessageKindKeySelector.d.ts +7 -0
  823. package/types/modules/Channel/context/hooks/useToggleReactionCallback.d.ts +11 -0
  824. package/types/modules/Channel/context/hooks/useUpdateMessageCallback.d.ts +26 -0
  825. package/types/modules/Channel/context/utils.d.ts +18 -0
  826. package/types/modules/Channel/index.d.ts +7 -0
  827. package/types/modules/ChannelList/components/AddChannel/index.d.ts +3 -0
  828. package/types/modules/ChannelList/components/ChannelListHeader/index.d.ts +11 -0
  829. package/types/modules/ChannelList/components/ChannelListUI/index.d.ts +23 -0
  830. package/types/modules/ChannelList/components/ChannelPreview/index.d.ts +16 -0
  831. package/types/modules/ChannelList/components/ChannelPreview/utils.d.ts +10 -0
  832. package/types/modules/ChannelList/components/ChannelPreviewAction.d.ts +9 -0
  833. package/types/modules/ChannelList/components/LeaveChannel/index.d.ts +9 -0
  834. package/types/modules/ChannelList/components/Placeholder.d.ts +7 -0
  835. package/types/modules/ChannelList/context/ChannelListProvider.d.ts +75 -0
  836. package/types/modules/ChannelList/context/hooks/useActiveChannelUrl.d.ts +15 -0
  837. package/types/modules/ChannelList/context/hooks/useFetchChannelList.d.ts +17 -0
  838. package/types/modules/ChannelList/dux/actionTypes.d.ts +66 -0
  839. package/types/modules/ChannelList/dux/getNextChannel.d.ts +14 -0
  840. package/types/modules/ChannelList/dux/initialState.d.ts +12 -0
  841. package/types/modules/ChannelList/dux/reducers.d.ts +3 -0
  842. package/types/modules/ChannelList/index.d.ts +7 -0
  843. package/types/modules/ChannelList/utils.d.ts +35 -0
  844. package/types/modules/ChannelSettings/components/ChannelProfile/index.d.ts +4 -0
  845. package/types/modules/ChannelSettings/components/ChannelSettingsUI/index.d.ts +10 -0
  846. package/types/modules/ChannelSettings/components/EditDetailsModal/index.d.ts +7 -0
  847. package/types/modules/ChannelSettings/components/LeaveChannel/index.d.ts +8 -0
  848. package/types/modules/ChannelSettings/components/ModerationPanel/AddOperatorsModal.d.ts +7 -0
  849. package/types/modules/ChannelSettings/components/ModerationPanel/BannedUserList.d.ts +3 -0
  850. package/types/modules/ChannelSettings/components/ModerationPanel/BannedUsersModal.d.ts +6 -0
  851. package/types/modules/ChannelSettings/components/ModerationPanel/InviteUsersModal.d.ts +7 -0
  852. package/types/modules/ChannelSettings/components/ModerationPanel/MemberList.d.ts +3 -0
  853. package/types/modules/ChannelSettings/components/ModerationPanel/MembersModal.d.ts +6 -0
  854. package/types/modules/ChannelSettings/components/ModerationPanel/MutedMemberList.d.ts +3 -0
  855. package/types/modules/ChannelSettings/components/ModerationPanel/MutedMembersModal.d.ts +6 -0
  856. package/types/modules/ChannelSettings/components/ModerationPanel/OperatorList.d.ts +3 -0
  857. package/types/modules/ChannelSettings/components/ModerationPanel/OperatorsModal.d.ts +6 -0
  858. package/types/modules/ChannelSettings/components/ModerationPanel/index.d.ts +3 -0
  859. package/types/modules/ChannelSettings/components/UserListItem/index.d.ts +19 -0
  860. package/types/modules/ChannelSettings/components/UserPanel/index.d.ts +4 -0
  861. package/types/modules/ChannelSettings/context/ChannelSettingsProvider.d.ts +47 -0
  862. package/types/modules/ChannelSettings/index.d.ts +7 -0
  863. package/types/modules/CreateChannel/components/CreateChannelUI/index.d.ts +8 -0
  864. package/types/modules/CreateChannel/components/InviteUsers/index.d.ts +9 -0
  865. package/types/modules/CreateChannel/components/InviteUsers/utils.d.ts +12 -0
  866. package/types/modules/CreateChannel/components/SelectChannelType.d.ts +6 -0
  867. package/types/modules/CreateChannel/context/CreateChannelProvider.d.ts +37 -0
  868. package/types/modules/CreateChannel/index.d.ts +7 -0
  869. package/types/modules/CreateChannel/types.d.ts +5 -0
  870. package/types/modules/CreateChannel/utils.d.ts +3 -0
  871. package/types/modules/CreateOpenChannel/components/CreateOpenChannelUI/index.d.ts +9 -0
  872. package/types/modules/CreateOpenChannel/context/CreateOpenChannelProvider.d.ts +22 -0
  873. package/types/modules/CreateOpenChannel/index.d.ts +7 -0
  874. package/types/modules/EditUserProfile/components/EditUserProfileUI/index.d.ts +3 -0
  875. package/types/modules/EditUserProfile/context/EditUserProfileProvider.d.ts +16 -0
  876. package/types/modules/EditUserProfile/index.d.ts +4 -0
  877. package/types/modules/Message/components/TextFragment/index.d.ts +6 -0
  878. package/types/modules/Message/consts.d.ts +1 -0
  879. package/types/modules/Message/context/MessageProvider.d.ts +11 -0
  880. package/types/modules/Message/hooks/useDirtyGetMentions.d.ts +14 -0
  881. package/types/modules/Message/utils/getMentionNodes.d.ts +1 -0
  882. package/types/modules/Message/utils/tokens/keyGenerator.d.ts +1 -0
  883. package/types/modules/Message/utils/tokens/tokenize.d.ts +18 -0
  884. package/types/modules/Message/utils/tokens/types.d.ts +37 -0
  885. package/types/modules/MessageSearch/components/MessageSearchUI/index.d.ts +15 -0
  886. package/types/modules/MessageSearch/context/MessageSearchProvider.d.ts +41 -0
  887. package/types/modules/MessageSearch/context/dux/actionTypes.d.ts +8 -0
  888. package/types/modules/MessageSearch/context/dux/initialState.d.ts +14 -0
  889. package/types/modules/MessageSearch/context/dux/reducers.d.ts +7 -0
  890. package/types/modules/MessageSearch/context/hooks/useGetSearchedMessages.d.ts +24 -0
  891. package/types/modules/MessageSearch/context/hooks/useScrollCallback.d.ts +20 -0
  892. package/types/modules/MessageSearch/context/hooks/useSearchStringEffect.d.ts +11 -0
  893. package/types/modules/MessageSearch/context/hooks/useSetChannel.d.ts +16 -0
  894. package/types/modules/MessageSearch/index.d.ts +10 -0
  895. package/types/modules/OpenChannel/components/FrozenChannelNotification/index.d.ts +4 -0
  896. package/types/modules/OpenChannel/components/OpenChannelHeader/index.d.ts +3 -0
  897. package/types/modules/OpenChannel/components/OpenChannelInput/index.d.ts +6 -0
  898. package/types/modules/OpenChannel/components/OpenChannelMessage/RemoveMessageModal.d.ts +10 -0
  899. package/types/modules/OpenChannel/components/OpenChannelMessage/index.d.ts +12 -0
  900. package/types/modules/OpenChannel/components/OpenChannelMessage/utils.d.ts +37 -0
  901. package/types/modules/OpenChannel/components/OpenChannelMessageList/index.d.ts +9 -0
  902. package/types/modules/OpenChannel/components/OpenChannelUI/index.d.ts +13 -0
  903. package/types/modules/OpenChannel/context/OpenChannelProvider.d.ts +52 -0
  904. package/types/modules/OpenChannel/context/dux/actionTypes.d.ts +37 -0
  905. package/types/modules/OpenChannel/context/dux/initialState.d.ts +19 -0
  906. package/types/modules/OpenChannel/context/dux/reducers.d.ts +7 -0
  907. package/types/modules/OpenChannel/context/hooks/useCheckScrollBottom.d.ts +10 -0
  908. package/types/modules/OpenChannel/context/hooks/useDeleteMessageCallback.d.ts +17 -0
  909. package/types/modules/OpenChannel/context/hooks/useFileUploadCallback.d.ts +27 -0
  910. package/types/modules/OpenChannel/context/hooks/useHandleChannelEvents.d.ts +20 -0
  911. package/types/modules/OpenChannel/context/hooks/useInitialMessagesFetch.d.ts +14 -0
  912. package/types/modules/OpenChannel/context/hooks/useResendMessageCallback.d.ts +17 -0
  913. package/types/modules/OpenChannel/context/hooks/useScrollCallback.d.ts +18 -0
  914. package/types/modules/OpenChannel/context/hooks/useSendMessageCallback.d.ts +22 -0
  915. package/types/modules/OpenChannel/context/hooks/useSetChannel.d.ts +20 -0
  916. package/types/modules/OpenChannel/context/hooks/useTrimMessageList.d.ts +17 -0
  917. package/types/modules/OpenChannel/context/hooks/useUpdateMessageCallback.d.ts +17 -0
  918. package/types/modules/OpenChannel/context/utils.d.ts +16 -0
  919. package/types/modules/OpenChannel/index.d.ts +7 -0
  920. package/types/modules/OpenChannelApp/Community.d.ts +11 -0
  921. package/types/modules/OpenChannelApp/Streaming.d.ts +11 -0
  922. package/types/modules/OpenChannelApp/assets/Icons.d.ts +7 -0
  923. package/types/modules/OpenChannelApp/components/CommunityChannelList.d.ts +7 -0
  924. package/types/modules/OpenChannelApp/components/DummyStream.d.ts +20 -0
  925. package/types/modules/OpenChannelApp/components/Login.d.ts +12 -0
  926. package/types/modules/OpenChannelApp/components/OpenChannelPreview.d.ts +11 -0
  927. package/types/modules/OpenChannelApp/components/Profile.d.ts +8 -0
  928. package/types/modules/OpenChannelApp/components/StreamingChannelList.d.ts +7 -0
  929. package/types/modules/OpenChannelApp/index.d.ts +16 -0
  930. package/types/modules/OpenChannelApp/stories/utils.d.ts +6 -0
  931. package/types/modules/OpenChannelList/components/OpenChannelListUI/index.d.ts +18 -0
  932. package/types/modules/OpenChannelList/components/OpenChannelPreview/index.d.ts +11 -0
  933. package/types/modules/OpenChannelList/context/OpenChannelListInterfaces.d.ts +42 -0
  934. package/types/modules/OpenChannelList/context/OpenChannelListProvider.d.ts +9 -0
  935. package/types/modules/OpenChannelList/context/dux/actionTypes.d.ts +14 -0
  936. package/types/modules/OpenChannelList/context/dux/initialState.d.ts +10 -0
  937. package/types/modules/OpenChannelList/context/dux/reducer.d.ts +6 -0
  938. package/types/modules/OpenChannelList/context/hooks/createChannelListQuery.d.ts +13 -0
  939. package/types/modules/OpenChannelList/context/hooks/useFetchNextCallback.d.ts +15 -0
  940. package/types/modules/OpenChannelList/context/hooks/useRefreshOpenChannelList.d.ts +14 -0
  941. package/types/modules/OpenChannelList/context/hooks/useSetupOpenChannelList.d.ts +14 -0
  942. package/types/modules/OpenChannelList/index.d.ts +7 -0
  943. package/types/modules/OpenChannelSettings/components/EditDetailsModal.d.ts +6 -0
  944. package/types/modules/OpenChannelSettings/components/InvalidChannel.d.ts +6 -0
  945. package/types/modules/OpenChannelSettings/components/OpenChannelProfile/index.d.ts +3 -0
  946. package/types/modules/OpenChannelSettings/components/OpenChannelSettingsUI/index.d.ts +8 -0
  947. package/types/modules/OpenChannelSettings/components/OperatorUI/AddOperatorsModal.d.ts +7 -0
  948. package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUserList.d.ts +3 -0
  949. package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUsersModal.d.ts +6 -0
  950. package/types/modules/OpenChannelSettings/components/OperatorUI/DeleteOpenChannel.d.ts +2 -0
  951. package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantList.d.ts +3 -0
  952. package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantsModal.d.ts +6 -0
  953. package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorList.d.ts +3 -0
  954. package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorsModal.d.ts +6 -0
  955. package/types/modules/OpenChannelSettings/components/OperatorUI/index.d.ts +7 -0
  956. package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.d.ts +17 -0
  957. package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.d.ts +6 -0
  958. package/types/modules/OpenChannelSettings/components/ParticipantUI/index.d.ts +6 -0
  959. package/types/modules/OpenChannelSettings/context/OpenChannelSettingsProvider.d.ts +27 -0
  960. package/types/modules/OpenChannelSettings/index.d.ts +7 -0
  961. package/types/modules/Thread/components/ParentMessageInfo/ParentMessageInfoItem.d.ts +9 -0
  962. package/types/modules/Thread/components/ParentMessageInfo/index.d.ts +6 -0
  963. package/types/modules/Thread/components/RemoveMessageModal.d.ts +9 -0
  964. package/types/modules/Thread/components/ThreadHeader/index.d.ts +14 -0
  965. package/types/modules/Thread/components/ThreadList/ThreadListItem.d.ts +14 -0
  966. package/types/modules/Thread/components/ThreadList/ThreadListItemContent.d.ts +30 -0
  967. package/types/modules/Thread/components/ThreadList/index.d.ts +18 -0
  968. package/types/modules/Thread/components/ThreadMessageInput/index.d.ts +11 -0
  969. package/types/modules/Thread/components/ThreadUI/index.d.ts +23 -0
  970. package/types/modules/Thread/components/ThreadUI/useMemorizedHeader.d.ts +6 -0
  971. package/types/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.d.ts +11 -0
  972. package/types/modules/Thread/components/ThreadUI/useMemorizedThreadList.d.ts +8 -0
  973. package/types/modules/Thread/consts.d.ts +2 -0
  974. package/types/modules/Thread/context/ThreadProvider.d.ts +43 -0
  975. package/types/modules/Thread/context/dux/actionTypes.d.ts +37 -0
  976. package/types/modules/Thread/context/dux/initialState.d.ts +21 -0
  977. package/types/modules/Thread/context/dux/reducer.d.ts +8 -0
  978. package/types/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +12 -0
  979. package/types/modules/Thread/context/hooks/useGetAllEmoji.d.ts +11 -0
  980. package/types/modules/Thread/context/hooks/useGetChannel.d.ts +18 -0
  981. package/types/modules/Thread/context/hooks/useGetNextThreadsCallback.d.ts +17 -0
  982. package/types/modules/Thread/context/hooks/useGetParentMessage.d.ts +15 -0
  983. package/types/modules/Thread/context/hooks/useGetPrevThreadsCallback.d.ts +17 -0
  984. package/types/modules/Thread/context/hooks/useGetThreadList.d.ts +14 -0
  985. package/types/modules/Thread/context/hooks/useHandleChannelEvents.d.ts +13 -0
  986. package/types/modules/Thread/context/hooks/useHandleThreadPubsubEvents.d.ts +15 -0
  987. package/types/modules/Thread/context/hooks/useResendMessageCallback.d.ts +13 -0
  988. package/types/modules/Thread/context/hooks/useSendFileMessage.d.ts +16 -0
  989. package/types/modules/Thread/context/hooks/useSendMultipleFilesMessage.d.ts +8 -0
  990. package/types/modules/Thread/context/hooks/useSendUserMessageCallback.d.ts +24 -0
  991. package/types/modules/Thread/context/hooks/useSendVoiceMessageCallback.d.ts +16 -0
  992. package/types/modules/Thread/context/hooks/useToggleReactionsCallback.d.ts +10 -0
  993. package/types/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +13 -0
  994. package/types/modules/Thread/context/utils.d.ts +15 -0
  995. package/types/modules/Thread/index.d.ts +8 -0
  996. package/types/modules/Thread/types.d.ts +18 -0
  997. package/types/modules/internalInterfaces.d.ts +4 -0
  998. package/types/types.d.ts +55 -0
  999. package/types/ui/Accordion/AccordionGroup.d.ts +7 -0
  1000. package/types/ui/Accordion/context.d.ts +8 -0
  1001. package/types/ui/Accordion/index.d.ts +13 -0
  1002. package/types/ui/AdminMessage/adminMessageDummyData.mock.d.ts +29 -0
  1003. package/types/ui/AdminMessage/index.d.ts +9 -0
  1004. package/types/ui/Avatar/MutedAvatarOverlay.d.ts +8 -0
  1005. package/types/ui/Avatar/index.d.ts +27 -0
  1006. package/types/ui/Badge/index.d.ts +8 -0
  1007. package/types/ui/BottomSheet/index.d.ts +9 -0
  1008. package/types/ui/Button/index.d.ts +13 -0
  1009. package/types/ui/Button/types.d.ts +10 -0
  1010. package/types/ui/Button/utils.d.ts +3 -0
  1011. package/types/ui/ChannelAvatar/OpenChannelAvatar.d.ts +10 -0
  1012. package/types/ui/ChannelAvatar/index.d.ts +12 -0
  1013. package/types/ui/ChannelAvatar/utils.d.ts +6 -0
  1014. package/types/ui/Checkbox/index.d.ts +9 -0
  1015. package/types/ui/ConnectionStatus/index.d.ts +4 -0
  1016. package/types/ui/ContextMenu/EmojiListItems.d.ts +15 -0
  1017. package/types/ui/ContextMenu/MenuItems.d.ts +29 -0
  1018. package/types/ui/ContextMenu/index.d.ts +24 -0
  1019. package/types/ui/DateSeparator/index.d.ts +10 -0
  1020. package/types/ui/Docs/Introduction.d.ts +2 -0
  1021. package/types/ui/EmojiReactions/AddReactionBadgeItem.d.ts +5 -0
  1022. package/types/ui/EmojiReactions/ReactionItem.d.ts +17 -0
  1023. package/types/ui/EmojiReactions/index.d.ts +21 -0
  1024. package/types/ui/FileMessageItemBody/index.d.ts +13 -0
  1025. package/types/ui/FileViewer/DeleteButton.d.ts +5 -0
  1026. package/types/ui/FileViewer/Slider.d.ts +3 -0
  1027. package/types/ui/FileViewer/data.mock.d.ts +84 -0
  1028. package/types/ui/FileViewer/hooks/useKeyDown.d.ts +8 -0
  1029. package/types/ui/FileViewer/index.d.ts +17 -0
  1030. package/types/ui/FileViewer/types.d.ts +44 -0
  1031. package/types/ui/FileViewer/utils.d.ts +4 -0
  1032. package/types/ui/Icon/colors.d.ts +42 -0
  1033. package/types/ui/Icon/index.d.ts +96 -0
  1034. package/types/ui/Icon/type.d.ts +61 -0
  1035. package/types/ui/Icon/utils.d.ts +4 -0
  1036. package/types/ui/IconButton/index.d.ts +17 -0
  1037. package/types/ui/ImageGrid/index.d.ts +11 -0
  1038. package/types/ui/ImageRenderer/index.d.ts +27 -0
  1039. package/types/ui/ImageRenderer/useDynamicSideLength.d.ts +8 -0
  1040. package/types/ui/ImageRenderer/utils.d.ts +1 -0
  1041. package/types/ui/Input/index.d.ts +15 -0
  1042. package/types/ui/Label/index.d.ts +37 -0
  1043. package/types/ui/Label/stringFormatterUtils.d.ts +2 -0
  1044. package/types/ui/Label/stringSet.d.ts +189 -0
  1045. package/types/ui/Label/types.d.ts +24 -0
  1046. package/types/ui/Label/utils.d.ts +4 -0
  1047. package/types/ui/LegacyEditUserProfile/index.d.ts +20 -0
  1048. package/types/ui/LinkLabel/index.d.ts +37 -0
  1049. package/types/ui/Loader/index.d.ts +9 -0
  1050. package/types/ui/MentionLabel/index.d.ts +10 -0
  1051. package/types/ui/MentionUserLabel/consts.d.ts +1 -0
  1052. package/types/ui/MentionUserLabel/index.d.ts +11 -0
  1053. package/types/ui/MentionUserLabel/renderToString.d.ts +6 -0
  1054. package/types/ui/MessageContent/index.d.ts +39 -0
  1055. package/types/ui/MessageInput/const.d.ts +15 -0
  1056. package/types/ui/MessageInput/hooks/usePaste/consts.d.ts +5 -0
  1057. package/types/ui/MessageInput/hooks/usePaste/index.d.ts +4 -0
  1058. package/types/ui/MessageInput/hooks/usePaste/insertTemplate.d.ts +2 -0
  1059. package/types/ui/MessageInput/hooks/usePaste/types.d.ts +15 -0
  1060. package/types/ui/MessageInput/hooks/usePaste/utils.d.ts +10 -0
  1061. package/types/ui/MessageInput/index.d.ts +47 -0
  1062. package/types/ui/MessageInput/messageInputUtils.d.ts +21 -0
  1063. package/types/ui/MessageInput/utils.d.ts +9 -0
  1064. package/types/ui/MessageItemMenu/index.d.ts +26 -0
  1065. package/types/ui/MessageItemReactionMenu/index.d.ts +16 -0
  1066. package/types/ui/MessageSearchFileItem/index.d.ts +12 -0
  1067. package/types/ui/MessageSearchFileItem/mockFileMessage.d.ts +180 -0
  1068. package/types/ui/MessageSearchFileItem/utils.d.ts +12 -0
  1069. package/types/ui/MessageSearchItem/getCreatedAt.d.ts +8 -0
  1070. package/types/ui/MessageSearchItem/index.d.ts +11 -0
  1071. package/types/ui/MessageSearchItem/messageDummyDate.mock.d.ts +5 -0
  1072. package/types/ui/MessageStatus/index.d.ts +15 -0
  1073. package/types/ui/MessageStatus/messageDummyData.mock.d.ts +7 -0
  1074. package/types/ui/MobileMenu/MobileBottomSheet.d.ts +4 -0
  1075. package/types/ui/MobileMenu/MobileContextMenu.d.ts +4 -0
  1076. package/types/ui/MobileMenu/MobileEmojisBottomSheet.d.ts +11 -0
  1077. package/types/ui/MobileMenu/ReactedMembersBottomSheet.d.ts +14 -0
  1078. package/types/ui/MobileMenu/index.d.ts +5 -0
  1079. package/types/ui/MobileMenu/types.d.ts +32 -0
  1080. package/types/ui/Modal/index.d.ts +40 -0
  1081. package/types/ui/MultipleFilesMessageItemBody/const.d.ts +17 -0
  1082. package/types/ui/MultipleFilesMessageItemBody/index.d.ts +21 -0
  1083. package/types/ui/OGMessageItemBody/consts.d.ts +1 -0
  1084. package/types/ui/OGMessageItemBody/index.d.ts +14 -0
  1085. package/types/ui/OpenChannelAdminMessage/index.d.ts +9 -0
  1086. package/types/ui/OpenChannelMobileMenu/index.d.ts +15 -0
  1087. package/types/ui/OpenchannelConversationHeader/index.d.ts +11 -0
  1088. package/types/ui/OpenchannelFileMessage/index.d.ts +17 -0
  1089. package/types/ui/OpenchannelFileMessage/mockMessages.d.ts +75 -0
  1090. package/types/ui/OpenchannelFileMessage/utils.d.ts +2 -0
  1091. package/types/ui/OpenchannelOGMessage/index.d.ts +18 -0
  1092. package/types/ui/OpenchannelOGMessage/utils.d.ts +4 -0
  1093. package/types/ui/OpenchannelThumbnailMessage/index.d.ts +18 -0
  1094. package/types/ui/OpenchannelThumbnailMessage/utils.d.ts +6 -0
  1095. package/types/ui/OpenchannelUserMessage/index.d.ts +18 -0
  1096. package/types/ui/OpenchannelUserMessage/utils.d.ts +5 -0
  1097. package/types/ui/PlaceHolder/index.d.ts +19 -0
  1098. package/types/ui/PlaybackTime/index.d.ts +11 -0
  1099. package/types/ui/ProgressBar/index.d.ts +16 -0
  1100. package/types/ui/QuoteMessage/index.d.ts +13 -0
  1101. package/types/ui/QuoteMessage/utils.d.ts +7 -0
  1102. package/types/ui/QuoteMessageInput/QuoteMessageThumbnail.d.ts +8 -0
  1103. package/types/ui/QuoteMessageInput/index.d.ts +10 -0
  1104. package/types/ui/QuoteMessageInput/mockMessage.d.ts +362 -0
  1105. package/types/ui/ReactionBadge/index.d.ts +12 -0
  1106. package/types/ui/ReactionButton/index.d.ts +13 -0
  1107. package/types/ui/SortByRow/index.d.ts +10 -0
  1108. package/types/ui/TextButton/index.d.ts +13 -0
  1109. package/types/ui/TextMessageItemBody/consts.d.ts +1 -0
  1110. package/types/ui/TextMessageItemBody/index.d.ts +13 -0
  1111. package/types/ui/ThreadReplies/index.d.ts +9 -0
  1112. package/types/ui/ThumbnailMessageItemBody/index.d.ts +15 -0
  1113. package/types/ui/Toggle/ToggleContainer.d.ts +7 -0
  1114. package/types/ui/Toggle/ToggleContext.d.ts +19 -0
  1115. package/types/ui/Toggle/ToggleUI.d.ts +12 -0
  1116. package/types/ui/Toggle/index.d.ts +11 -0
  1117. package/types/ui/Toggle/utils.d.ts +1 -0
  1118. package/types/ui/Tooltip/index.d.ts +7 -0
  1119. package/types/ui/TooltipWrapper/index.d.ts +8 -0
  1120. package/types/ui/UnknownMessageItemBody/index.d.ts +12 -0
  1121. package/types/ui/UserListItem/index.d.ts +21 -0
  1122. package/types/ui/UserProfile/index.d.ts +17 -0
  1123. package/types/ui/VoiceMessageInput/controlerIcons.d.ts +7 -0
  1124. package/types/ui/VoiceMessageInput/index.d.ts +16 -0
  1125. package/types/ui/VoiceMessageInput/types.d.ts +7 -0
  1126. package/types/ui/VoiceMessageItemBody/index.d.ts +12 -0
  1127. package/types/ui/Word/index.d.ts +17 -0
  1128. package/types/utils/cloneMessage.d.ts +2 -0
  1129. package/types/utils/color.d.ts +12 -0
  1130. package/types/utils/compareIds.d.ts +1 -0
  1131. package/types/utils/consts.d.ts +23 -0
  1132. package/types/utils/createStatefulFileInfoList.d.ts +11 -0
  1133. package/types/utils/exports/getOutgoingMessageState.d.ts +13 -0
  1134. package/types/utils/getIsReactionEnabled.d.ts +11 -0
  1135. package/types/utils/index.d.ts +142 -0
  1136. package/types/utils/isVoiceMessage.d.ts +1 -0
  1137. package/types/utils/numberToPx.d.ts +2 -0
  1138. package/types/utils/openChannelUtils.d.ts +44 -0
  1139. package/types/utils/pxToNumber.d.ts +2 -0
  1140. package/types/utils/testMocks/error.d.ts +9 -0
  1141. package/types/utils/testMocks/message.d.ts +23 -0
  1142. package/types/utils/testMocks/messageRequestHandler.d.ts +15 -0
  1143. package/types/utils/typeHelpers/objectValues.d.ts +16 -0
  1144. package/types/utils/typeHelpers/partialDeep.d.ts +14 -0
  1145. package/types/utils/typeHelpers/reducers/createAction.d.ts +17 -0
  1146. package/types/utils/useDidMountEffect.d.ts +2 -0
  1147. package/types/utils/utils.d.ts +10 -0
  1148. package/types/utils/uuid.d.ts +2 -0
  1149. package/ui/Accordion.js +39 -52
  1150. package/ui/Accordion.js.map +1 -1
  1151. package/ui/AccordionGroup.js +9 -18
  1152. package/ui/AccordionGroup.js.map +1 -1
  1153. package/ui/AdminMessage.js +13 -19
  1154. package/ui/AdminMessage.js.map +1 -1
  1155. package/ui/Avatar.js +69 -189
  1156. package/ui/Avatar.js.map +1 -1
  1157. package/ui/Badge.js +18 -22
  1158. package/ui/Badge.js.map +1 -1
  1159. package/ui/BottomSheet.js +28 -34
  1160. package/ui/BottomSheet.js.map +1 -1
  1161. package/ui/Button.js +42 -53
  1162. package/ui/Button.js.map +1 -1
  1163. package/ui/ChannelAvatar.js +20 -43
  1164. package/ui/ChannelAvatar.js.map +1 -1
  1165. package/ui/Checkbox.js +15 -24
  1166. package/ui/Checkbox.js.map +1 -1
  1167. package/ui/ConnectionStatus.js +11 -18
  1168. package/ui/ConnectionStatus.js.map +1 -1
  1169. package/ui/ContextMenu.js +195 -280
  1170. package/ui/ContextMenu.js.map +1 -1
  1171. package/ui/DateSeparator.js +13 -24
  1172. package/ui/DateSeparator.js.map +1 -1
  1173. package/ui/EmojiReactions.js +142 -325
  1174. package/ui/EmojiReactions.js.map +1 -1
  1175. package/ui/FileMessageItemBody.js +30 -49
  1176. package/ui/FileMessageItemBody.js.map +1 -1
  1177. package/ui/FileViewer.js +17 -16
  1178. package/ui/FileViewer.js.map +1 -1
  1179. package/ui/Icon.js +541 -707
  1180. package/ui/Icon.js.map +1 -1
  1181. package/ui/IconButton.js +18 -45
  1182. package/ui/IconButton.js.map +1 -1
  1183. package/ui/ImageRenderer.js +102 -149
  1184. package/ui/ImageRenderer.js.map +1 -1
  1185. package/ui/Input.js +15 -37
  1186. package/ui/Input.js.map +1 -1
  1187. package/ui/Label.js +3 -3
  1188. package/ui/LinkLabel.js +21 -45
  1189. package/ui/LinkLabel.js.map +1 -1
  1190. package/ui/Loader.js +11 -21
  1191. package/ui/Loader.js.map +1 -1
  1192. package/ui/MentionLabel.js +47 -77
  1193. package/ui/MentionLabel.js.map +1 -1
  1194. package/ui/MentionUserLabel.js +4 -15
  1195. package/ui/MentionUserLabel.js.map +1 -1
  1196. package/ui/MessageContent.js +191 -398
  1197. package/ui/MessageContent.js.map +1 -1
  1198. package/ui/MessageInput/hooks/usePaste.js +5 -5
  1199. package/ui/MessageInput.js +448 -621
  1200. package/ui/MessageInput.js.map +1 -1
  1201. package/ui/MessageItemMenu.js +110 -162
  1202. package/ui/MessageItemMenu.js.map +1 -1
  1203. package/ui/MessageItemReactionMenu.js +39 -98
  1204. package/ui/MessageItemReactionMenu.js.map +1 -1
  1205. package/ui/MessageSearchFileItem.js +77 -110
  1206. package/ui/MessageSearchFileItem.js.map +1 -1
  1207. package/ui/MessageSearchItem.js +49 -79
  1208. package/ui/MessageSearchItem.js.map +1 -1
  1209. package/ui/MessageStatus.js +12 -12
  1210. package/ui/Modal.js +13 -126
  1211. package/ui/Modal.js.map +1 -1
  1212. package/ui/MutedAvatarOverlay.js +14 -26
  1213. package/ui/MutedAvatarOverlay.js.map +1 -1
  1214. package/ui/OGMessageItemBody.js +64 -105
  1215. package/ui/OGMessageItemBody.js.map +1 -1
  1216. package/ui/OpenChannelAdminMessage.js +9 -14
  1217. package/ui/OpenChannelAdminMessage.js.map +1 -1
  1218. package/ui/OpenChannelAvatar.js +14 -25
  1219. package/ui/OpenChannelAvatar.js.map +1 -1
  1220. package/ui/OpenchannelConversationHeader.js +21 -56
  1221. package/ui/OpenchannelConversationHeader.js.map +1 -1
  1222. package/ui/OpenchannelFileMessage.js +112 -232
  1223. package/ui/OpenchannelFileMessage.js.map +1 -1
  1224. package/ui/OpenchannelOGMessage.js +155 -326
  1225. package/ui/OpenchannelOGMessage.js.map +1 -1
  1226. package/ui/OpenchannelThumbnailMessage.js +150 -311
  1227. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  1228. package/ui/OpenchannelUserMessage.js +124 -262
  1229. package/ui/OpenchannelUserMessage.js.map +1 -1
  1230. package/ui/PlaceHolder.js +45 -100
  1231. package/ui/PlaceHolder.js.map +1 -1
  1232. package/ui/PlaybackTime.js +11 -21
  1233. package/ui/PlaybackTime.js.map +1 -1
  1234. package/ui/ProgressBar.js +12 -26
  1235. package/ui/ProgressBar.js.map +1 -1
  1236. package/ui/QuoteMessage.js +70 -142
  1237. package/ui/QuoteMessage.js.map +1 -1
  1238. package/ui/QuoteMessageInput.js +71 -98
  1239. package/ui/QuoteMessageInput.js.map +1 -1
  1240. package/ui/ReactionBadge.js +20 -42
  1241. package/ui/ReactionBadge.js.map +1 -1
  1242. package/ui/ReactionButton.js +17 -35
  1243. package/ui/ReactionButton.js.map +1 -1
  1244. package/ui/SortByRow.js +23 -31
  1245. package/ui/SortByRow.js.map +1 -1
  1246. package/ui/TextButton.js +9 -25
  1247. package/ui/TextButton.js.map +1 -1
  1248. package/ui/TextMessageItemBody.js +41 -53
  1249. package/ui/TextMessageItemBody.js.map +1 -1
  1250. package/ui/ThreadReplies.js +32 -66
  1251. package/ui/ThreadReplies.js.map +1 -1
  1252. package/ui/ThumbnailMessageItemBody.js +34 -70
  1253. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  1254. package/ui/Toggle.js +110 -183
  1255. package/ui/Toggle.js.map +1 -1
  1256. package/ui/Tooltip.js +9 -16
  1257. package/ui/Tooltip.js.map +1 -1
  1258. package/ui/TooltipWrapper.js +13 -41
  1259. package/ui/TooltipWrapper.js.map +1 -1
  1260. package/ui/UnknownMessageItemBody.js +20 -30
  1261. package/ui/UnknownMessageItemBody.js.map +1 -1
  1262. package/ui/UserListItem.js +49 -112
  1263. package/ui/UserListItem.js.map +1 -1
  1264. package/ui/UserProfile.js +44 -69
  1265. package/ui/UserProfile.js.map +1 -1
  1266. package/ui/VoiceMessageItemBody.js +52 -101
  1267. package/ui/VoiceMessageItemBody.js.map +1 -1
  1268. package/ui/VoiceMessgeInput.js +9 -9
  1269. package/ui/Word.js +58 -83
  1270. package/ui/Word.js.map +1 -1
  1271. package/useSendbirdStateContext.js +15 -14
  1272. package/useSendbirdStateContext.js.map +1 -1
  1273. package/utils/message/getOutgoingMessageState.js +32 -29
  1274. package/utils/message/getOutgoingMessageState.js.map +1 -1
  1275. package/utils/message/isVoiceMessage.js +3 -3
  1276. package/utils/message/isVoiceMessage.js.map +1 -1
  1277. package/withSendbird.js +17 -18
  1278. package/withSendbird.js.map +1 -1
  1279. package/ChannelListProvider-eccd99c6.js +0 -1051
  1280. package/ChannelListProvider-eccd99c6.js.map +0 -1
  1281. package/ChannelProvider-9ba5893a.js +0 -2079
  1282. package/ChannelProvider-9ba5893a.js.map +0 -1
  1283. package/CreateChannelProvider-a2885972.js +0 -48
  1284. package/CreateChannelProvider-a2885972.js.map +0 -1
  1285. package/LocalizationContext-287ee149.js +0 -20
  1286. package/LocalizationContext-287ee149.js.map +0 -1
  1287. package/MediaQueryContext-114ca049.js +0 -85
  1288. package/MediaQueryContext-114ca049.js.map +0 -1
  1289. package/MemberList-4e71a841.js +0 -422
  1290. package/MemberList-4e71a841.js.map +0 -1
  1291. package/OpenChannelListProvider-45d4ab54.js +0 -407
  1292. package/OpenChannelListProvider-45d4ab54.js.map +0 -1
  1293. package/OpenChannelProvider-9818f9ed.js +0 -1850
  1294. package/OpenChannelProvider-9818f9ed.js.map +0 -1
  1295. package/RemoveMessageModal-007c2f04.js +0 -33
  1296. package/RemoveMessageModal-007c2f04.js.map +0 -1
  1297. package/UserProfileContext-2001a468.js +0 -34
  1298. package/UserProfileContext-2001a468.js.map +0 -1
  1299. package/WebAudioUtils-31f7c8eb.js +0 -126
  1300. package/WebAudioUtils-31f7c8eb.js.map +0 -1
  1301. package/_rollupPluginBabelHelpers-e92eb032.js +0 -66
  1302. package/_rollupPluginBabelHelpers-e92eb032.js.map +0 -1
  1303. package/actionTypes-324495ed.js +0 -8
  1304. package/actionTypes-324495ed.js.map +0 -1
  1305. package/cjs/ChannelListProvider-d0ad5a84.js +0 -1060
  1306. package/cjs/ChannelListProvider-d0ad5a84.js.map +0 -1
  1307. package/cjs/ChannelProvider-fc111e5f.js +0 -2087
  1308. package/cjs/ChannelProvider-fc111e5f.js.map +0 -1
  1309. package/cjs/CreateChannelProvider-c3c843e4.js +0 -55
  1310. package/cjs/CreateChannelProvider-c3c843e4.js.map +0 -1
  1311. package/cjs/LocalizationContext-58b6ed7c.js +0 -28
  1312. package/cjs/LocalizationContext-58b6ed7c.js.map +0 -1
  1313. package/cjs/MediaQueryContext-6141d955.js +0 -92
  1314. package/cjs/MediaQueryContext-6141d955.js.map +0 -1
  1315. package/cjs/MemberList-2bd3db33.js +0 -428
  1316. package/cjs/MemberList-2bd3db33.js.map +0 -1
  1317. package/cjs/OpenChannelListProvider-a8560978.js +0 -416
  1318. package/cjs/OpenChannelListProvider-a8560978.js.map +0 -1
  1319. package/cjs/OpenChannelProvider-39f13647.js +0 -1859
  1320. package/cjs/OpenChannelProvider-39f13647.js.map +0 -1
  1321. package/cjs/RemoveMessageModal-afc3e268.js +0 -39
  1322. package/cjs/RemoveMessageModal-afc3e268.js.map +0 -1
  1323. package/cjs/UserProfileContext-c6d7abb7.js +0 -41
  1324. package/cjs/UserProfileContext-c6d7abb7.js.map +0 -1
  1325. package/cjs/WebAudioUtils-36803ab2.js +0 -129
  1326. package/cjs/WebAudioUtils-36803ab2.js.map +0 -1
  1327. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js +0 -69
  1328. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +0 -1
  1329. package/cjs/actionTypes-327123b5.js +0 -10
  1330. package/cjs/actionTypes-327123b5.js.map +0 -1
  1331. package/cjs/color-5bf5a8f5.js +0 -36
  1332. package/cjs/color-5bf5a8f5.js.map +0 -1
  1333. package/cjs/compareIds-28c6af62.js +0 -18
  1334. package/cjs/compareIds-28c6af62.js.map +0 -1
  1335. package/cjs/const-876980e8.js +0 -22
  1336. package/cjs/const-876980e8.js.map +0 -1
  1337. package/cjs/const-c9e7a340.js.map +0 -1
  1338. package/cjs/consts-61d83828.js.map +0 -1
  1339. package/cjs/consts-b3c4f548.js.map +0 -1
  1340. package/cjs/consts-b711321c.js.map +0 -1
  1341. package/cjs/consts-f54b15c2.js.map +0 -1
  1342. package/cjs/context-6684538e.js +0 -19
  1343. package/cjs/context-6684538e.js.map +0 -1
  1344. package/cjs/dist/index.css +0 -7702
  1345. package/cjs/dist/index.css.map +0 -1
  1346. package/cjs/index-134e9852.js.map +0 -1
  1347. package/cjs/index-3448df64.js.map +0 -1
  1348. package/cjs/index-45933be9.js +0 -197
  1349. package/cjs/index-45933be9.js.map +0 -1
  1350. package/cjs/index-4c378655.js +0 -163
  1351. package/cjs/index-4c378655.js.map +0 -1
  1352. package/cjs/index-4e939c26.js +0 -369
  1353. package/cjs/index-4e939c26.js.map +0 -1
  1354. package/cjs/index-520e12b8.js +0 -173
  1355. package/cjs/index-520e12b8.js.map +0 -1
  1356. package/cjs/index-54279ec2.js.map +0 -1
  1357. package/cjs/index-692ea6aa.js +0 -76
  1358. package/cjs/index-692ea6aa.js.map +0 -1
  1359. package/cjs/index-7627b546.js.map +0 -1
  1360. package/cjs/index-a95c4ab4.js +0 -308
  1361. package/cjs/index-a95c4ab4.js.map +0 -1
  1362. package/cjs/index-b5a9b4b7.js +0 -129
  1363. package/cjs/index-b5a9b4b7.js.map +0 -1
  1364. package/cjs/index-b8ba4548.js +0 -20
  1365. package/cjs/index-b8ba4548.js.map +0 -1
  1366. package/cjs/index-bc6623d7.js +0 -289
  1367. package/cjs/index-bc6623d7.js.map +0 -1
  1368. package/cjs/index-cc2e05a4.js +0 -227
  1369. package/cjs/index-cc2e05a4.js.map +0 -1
  1370. package/cjs/index-ce07a2a3.js +0 -59
  1371. package/cjs/index-ce07a2a3.js.map +0 -1
  1372. package/cjs/index-dbe8dd84.js +0 -741
  1373. package/cjs/index-dbe8dd84.js.map +0 -1
  1374. package/cjs/index-e5e6d9b0.js +0 -468
  1375. package/cjs/index-e5e6d9b0.js.map +0 -1
  1376. package/cjs/index-e8928da6.js.map +0 -1
  1377. package/cjs/resolvedReplyType-c4564ebe.js.map +0 -1
  1378. package/cjs/stringFormatterUtils-92dbef3c.js +0 -16
  1379. package/cjs/stringFormatterUtils-92dbef3c.js.map +0 -1
  1380. package/cjs/stringSet-1539ac47.js +0 -212
  1381. package/cjs/stringSet-1539ac47.js.map +0 -1
  1382. package/cjs/tokenize-d5286fa8.js +0 -159
  1383. package/cjs/tokenize-d5286fa8.js.map +0 -1
  1384. package/cjs/tslib.es6-c74b513f.js.map +0 -1
  1385. package/cjs/types-d0d770c3.js +0 -15
  1386. package/cjs/types-d0d770c3.js.map +0 -1
  1387. package/cjs/types-feda9656.js.map +0 -1
  1388. package/cjs/useHandleUploadFiles-39e8d107.js +0 -284
  1389. package/cjs/useHandleUploadFiles-39e8d107.js.map +0 -1
  1390. package/cjs/useLongPress-18b7af79.js +0 -105
  1391. package/cjs/useLongPress-18b7af79.js.map +0 -1
  1392. package/cjs/useSendMultipleFilesMessage-d6a3d5cf.js +0 -316
  1393. package/cjs/useSendMultipleFilesMessage-d6a3d5cf.js.map +0 -1
  1394. package/cjs/useStatefulFileInfoList-c510792f.js +0 -228
  1395. package/cjs/useStatefulFileInfoList-c510792f.js.map +0 -1
  1396. package/cjs/utils-1d0f1e0c.js +0 -28
  1397. package/cjs/utils-1d0f1e0c.js.map +0 -1
  1398. package/cjs/utils-9193a195.js +0 -170
  1399. package/cjs/utils-9193a195.js.map +0 -1
  1400. package/cjs/utils-93ca9d57.js +0 -62
  1401. package/cjs/utils-93ca9d57.js.map +0 -1
  1402. package/cjs/utils-98441ba6.js +0 -35
  1403. package/cjs/utils-98441ba6.js.map +0 -1
  1404. package/cjs/utils-e6c4b2b0.js +0 -27
  1405. package/cjs/utils-e6c4b2b0.js.map +0 -1
  1406. package/cjs/utils-eb6d90e0.js +0 -10
  1407. package/cjs/utils-eb6d90e0.js.map +0 -1
  1408. package/cjs/uuid-9a117e16.js.map +0 -1
  1409. package/color-57373b4c.js +0 -34
  1410. package/color-57373b4c.js.map +0 -1
  1411. package/compareIds-7e517404.js +0 -16
  1412. package/compareIds-7e517404.js.map +0 -1
  1413. package/const-73db0277.js.map +0 -1
  1414. package/const-93731a4c.js +0 -18
  1415. package/const-93731a4c.js.map +0 -1
  1416. package/consts-4ec7d640.js.map +0 -1
  1417. package/consts-57c888b9.js.map +0 -1
  1418. package/consts-be37687e.js.map +0 -1
  1419. package/consts-d9c5f25a.js.map +0 -1
  1420. package/context-729493c4.js +0 -12
  1421. package/context-729493c4.js.map +0 -1
  1422. package/index-04bd1a59.js +0 -13
  1423. package/index-04bd1a59.js.map +0 -1
  1424. package/index-09847c0f.js.map +0 -1
  1425. package/index-0f017704.js +0 -280
  1426. package/index-0f017704.js.map +0 -1
  1427. package/index-2d27aeef.js.map +0 -1
  1428. package/index-493689bd.js +0 -156
  1429. package/index-493689bd.js.map +0 -1
  1430. package/index-494f9e79.js +0 -73
  1431. package/index-494f9e79.js.map +0 -1
  1432. package/index-4b4e9682.js +0 -161
  1433. package/index-4b4e9682.js.map +0 -1
  1434. package/index-62d5f020.js +0 -362
  1435. package/index-62d5f020.js.map +0 -1
  1436. package/index-682a192c.js.map +0 -1
  1437. package/index-686a551d.js +0 -182
  1438. package/index-686a551d.js.map +0 -1
  1439. package/index-6b3b1eca.js +0 -217
  1440. package/index-6b3b1eca.js.map +0 -1
  1441. package/index-776554c0.js +0 -692
  1442. package/index-776554c0.js.map +0 -1
  1443. package/index-92741c7e.js +0 -118
  1444. package/index-92741c7e.js.map +0 -1
  1445. package/index-a0638563.js +0 -53
  1446. package/index-a0638563.js.map +0 -1
  1447. package/index-c22e4772.js +0 -462
  1448. package/index-c22e4772.js.map +0 -1
  1449. package/index-e04159fe.js +0 -298
  1450. package/index-e04159fe.js.map +0 -1
  1451. package/index-e4277f9c.js.map +0 -1
  1452. package/index-f8a9cb51.js.map +0 -1
  1453. package/index.d.ts +0 -2963
  1454. package/resolvedReplyType-fb987595.js.map +0 -1
  1455. package/stringFormatterUtils-abbe70ba.js +0 -14
  1456. package/stringFormatterUtils-abbe70ba.js.map +0 -1
  1457. package/stringSet-6422c6b9.js +0 -210
  1458. package/stringSet-6422c6b9.js.map +0 -1
  1459. package/tokenize-eae44765.js +0 -154
  1460. package/tokenize-eae44765.js.map +0 -1
  1461. package/tslib.es6-c2fb729e.js.map +0 -1
  1462. package/types-781e0bab.js.map +0 -1
  1463. package/types-9d43ac6e.js +0 -15
  1464. package/types-9d43ac6e.js.map +0 -1
  1465. package/useHandleUploadFiles-5ede1bfe.js +0 -277
  1466. package/useHandleUploadFiles-5ede1bfe.js.map +0 -1
  1467. package/useLongPress-f8655a14.js +0 -103
  1468. package/useLongPress-f8655a14.js.map +0 -1
  1469. package/useSendMultipleFilesMessage-b8256698.js +0 -283
  1470. package/useSendMultipleFilesMessage-b8256698.js.map +0 -1
  1471. package/useStatefulFileInfoList-5e68b93f.js +0 -219
  1472. package/useStatefulFileInfoList-5e68b93f.js.map +0 -1
  1473. package/utils-2c1f072b.js +0 -31
  1474. package/utils-2c1f072b.js.map +0 -1
  1475. package/utils-6c50a6d1.js +0 -7
  1476. package/utils-6c50a6d1.js.map +0 -1
  1477. package/utils-aa4086dc.js +0 -157
  1478. package/utils-aa4086dc.js.map +0 -1
  1479. package/utils-bfc0ab3b.js +0 -57
  1480. package/utils-bfc0ab3b.js.map +0 -1
  1481. package/utils-fa321757.js +0 -26
  1482. package/utils-fa321757.js.map +0 -1
  1483. package/utils-fc1f5aa0.js +0 -25
  1484. package/utils-fc1f5aa0.js.map +0 -1
  1485. package/uuid-c15b8b3b.js.map +0 -1
@@ -1,2087 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var UserProfileContext = require('./UserProfileContext-c6d7abb7.js');
5
- var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
- var _const = require('./const-c9e7a340.js');
7
- var utils = require('./utils-9193a195.js');
8
- var tslib_es6 = require('./tslib.es6-c74b513f.js');
9
- var index$2 = require('./index-3448df64.js');
10
- var message = require('@sendbird/chat/message');
11
- var index = require('./index-54279ec2.js');
12
- var useSendMultipleFilesMessage = require('./useSendMultipleFilesMessage-d6a3d5cf.js');
13
- var compareIds = require('./compareIds-28c6af62.js');
14
- var index$1 = require('./index-dbe8dd84.js');
15
- var groupChannel = require('@sendbird/chat/groupChannel');
16
- var uuid = require('./uuid-9a117e16.js');
17
- var pubSub_topics = require('./pubSub/topics.js');
18
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f5b0dfb9.js');
19
- var consts = require('./consts-f54b15c2.js');
20
- var resolvedReplyType = require('./resolvedReplyType-c4564ebe.js');
21
-
22
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
-
24
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
-
26
- /**
27
- * This function helps consider the every condition
28
- * related to enabling emoji reaction feature.
29
- */
30
- function getIsReactionEnabled(_a) {
31
- var _b = _a.isBroadcast,
32
- isBroadcast = _b === void 0 ? false : _b,
33
- _c = _a.isSuper,
34
- isSuper = _c === void 0 ? false : _c,
35
- _d = _a.globalLevel,
36
- globalLevel = _d === void 0 ? true : _d,
37
- moduleLevel = _a.moduleLevel;
38
- return !(isBroadcast || isSuper) && (moduleLevel !== null && moduleLevel !== void 0 ? moduleLevel : globalLevel);
39
- }
40
-
41
- var initialState = {
42
- initialized: false,
43
- loading: true,
44
- allMessages: [],
45
- /**
46
- * localMessages: pending & failed messages
47
- */
48
- localMessages: [],
49
- currentGroupChannel: null,
50
- // for scrollup
51
- hasMorePrev: false,
52
- oldestMessageTimeStamp: 0,
53
- // for scroll down
54
- // onScrollDownCallback is added for navigation to different timestamps on messageSearch
55
- // hasMorePrev, onScrollCallback -> scroll up(default behavior)
56
- // hasMoreNext, onScrollDownCallback -> scroll down
57
- hasMoreNext: false,
58
- latestMessageTimeStamp: 0,
59
- emojiContainer: {
60
- emojiCategories: [],
61
- emojiHash: ''
62
- },
63
- unreadSince: null,
64
- /**
65
- * unreadSince is a formatted date information string
66
- * It's used only for the {unreadSince && <UnreadCount time={unreadSince} />}
67
- */
68
- isInvalid: false,
69
- readStatus: null,
70
- messageListParams: null
71
- };
72
-
73
- var getOldestMessageTimeStamp = function (messages) {
74
- if (messages === void 0) {
75
- messages = [];
76
- }
77
- var oldestMessage = messages[0];
78
- return oldestMessage && oldestMessage.createdAt || null;
79
- };
80
- var getLatestMessageTimeStamp = function (messages) {
81
- if (messages === void 0) {
82
- messages = [];
83
- }
84
- var latestMessage = messages[messages.length - 1];
85
- return latestMessage && latestMessage.createdAt || null;
86
- };
87
- function hasReqId(message) {
88
- return 'reqId' in message;
89
- }
90
- function channelReducer(state, action) {
91
- return index.K(action).with({
92
- type: useSendMultipleFilesMessage.RESET_MESSAGES
93
- }, function () {
94
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
95
- // when user switches channel, if the previous channel `hasMorePrev`
96
- // the onScroll gets called twice, setting hasMorePrev false prevents this
97
- hasMorePrev: false,
98
- hasMoreNext: false,
99
- allMessages: []
100
- });
101
- }).with({
102
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_START
103
- }, function () {
104
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
105
- loading: true,
106
- allMessages: state.allMessages.filter(function (m) {
107
- return index$1.isSendableMessage(m) ? m.sendingStatus !== message.SendingStatus.SUCCEEDED : true;
108
- })
109
- });
110
- }).with({
111
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_SUCCESS
112
- }, function (action) {
113
- var _a;
114
- var _b = action.payload,
115
- currentGroupChannel = _b.currentGroupChannel,
116
- messages = _b.messages;
117
- if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
118
- return state;
119
- }
120
- var oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
121
- var latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
122
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
123
- loading: false,
124
- initialized: true,
125
- hasMorePrev: true,
126
- hasMoreNext: true,
127
- oldestMessageTimeStamp: oldestMessageTimeStamp,
128
- latestMessageTimeStamp: latestMessageTimeStamp,
129
- allMessages: tslib_es6.__spreadArray([], messages, true)
130
- });
131
- }).with({
132
- type: useSendMultipleFilesMessage.FETCH_PREV_MESSAGES_SUCCESS
133
- }, function (action) {
134
- var _a, _b, _c, _d;
135
- var _e = action.payload,
136
- currentGroupChannel = _e.currentGroupChannel,
137
- messages = _e.messages;
138
- if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
139
- return state;
140
- }
141
- var hasMorePrev = ((_b = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _b !== void 0 ? _b : 0) >= ((_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;
142
- var oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
143
- // Remove duplicated messages
144
- var duplicatedMessageIds = [];
145
- var updatedOldMessages = state.allMessages.map(function (msg) {
146
- var duplicatedMessage = messages.find(function (_a) {
147
- var messageId = _a.messageId;
148
- return compareIds.compareIds(messageId, msg.messageId);
149
- });
150
- if (!duplicatedMessage) {
151
- return msg;
152
- }
153
- duplicatedMessageIds.push(duplicatedMessage.messageId);
154
- return duplicatedMessage.updatedAt > msg.updatedAt ? duplicatedMessage : msg;
155
- });
156
- var filteredNewMessages = duplicatedMessageIds.length > 0 ? messages.filter(function (msg) {
157
- return !duplicatedMessageIds.find(function (messageId) {
158
- return compareIds.compareIds(messageId, msg.messageId);
159
- });
160
- }) : messages;
161
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
162
- hasMorePrev: hasMorePrev,
163
- oldestMessageTimeStamp: oldestMessageTimeStamp,
164
- allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], filteredNewMessages, true), updatedOldMessages, true)
165
- });
166
- }).with({
167
- type: useSendMultipleFilesMessage.FETCH_NEXT_MESSAGES_SUCCESS
168
- }, function (action) {
169
- var _a, _b, _c, _d;
170
- var _e = action.payload,
171
- currentGroupChannel = _e.currentGroupChannel,
172
- messages = _e.messages;
173
- if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_a = state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url))) {
174
- return state;
175
- }
176
- var hasMoreNext = ((_b = messages === null || messages === void 0 ? void 0 : messages.length) !== null && _b !== void 0 ? _b : 0) === ((_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;
177
- var latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
178
- // sort ~
179
- var sortedMessages = utils.mergeAndSortMessages(state.allMessages, messages);
180
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
181
- hasMoreNext: hasMoreNext,
182
- latestMessageTimeStamp: latestMessageTimeStamp,
183
- allMessages: sortedMessages
184
- });
185
- }).with({
186
- type: index.S.union(useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_FAILURE, useSendMultipleFilesMessage.FETCH_PREV_MESSAGES_FAILURE, useSendMultipleFilesMessage.FETCH_NEXT_MESSAGES_FAILURE)
187
- }, function (action) {
188
- var _a;
189
- var currentGroupChannel = action.payload.currentGroupChannel;
190
- 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)) {
191
- return state;
192
- }
193
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
194
- loading: false,
195
- initialized: false,
196
- allMessages: [],
197
- hasMorePrev: false,
198
- hasMoreNext: false,
199
- oldestMessageTimeStamp: null,
200
- latestMessageTimeStamp: null
201
- });
202
- }).with({
203
- type: useSendMultipleFilesMessage.SEND_MESSAGE_START
204
- }, function (action) {
205
- // Message should not be spread here
206
- // it will loose some methods like `isUserMessage`
207
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
208
- localMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], state.localMessages, true), [action.payload], false)
209
- });
210
- }).with({
211
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS
212
- }, function (action) {
213
- var message = action.payload;
214
- var filteredMessages = state.allMessages.filter(function (m) {
215
- return hasReqId(m) && (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId);
216
- });
217
- // [Policy] Pending messages and failed messages
218
- // must always be at the end of the message list
219
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
220
- allMessages: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], filteredMessages, true), [message], false),
221
- localMessages: state.localMessages.filter(function (m) {
222
- return hasReqId(m) && (m === null || m === void 0 ? void 0 : m.reqId) !== (message === null || message === void 0 ? void 0 : message.reqId);
223
- })
224
- });
225
- }).with({
226
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE
227
- }, function (action) {
228
- // @ts-ignore
229
- action.payload.failed = true;
230
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
231
- localMessages: state.localMessages.map(function (m) {
232
- return compareIds.compareIds(hasReqId(m) && m.reqId, action.payload.reqId) ? action.payload : m;
233
- })
234
- });
235
- }).with({
236
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL
237
- }, function (action) {
238
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
239
- currentGroupChannel: action.payload,
240
- isInvalid: false
241
- });
242
- }).with({
243
- type: useSendMultipleFilesMessage.SET_CHANNEL_INVALID
244
- }, function () {
245
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
246
- currentGroupChannel: null,
247
- isInvalid: true
248
- });
249
- }).with({
250
- type: useSendMultipleFilesMessage.ON_MESSAGE_RECEIVED
251
- }, function (action) {
252
- var _a = action.payload,
253
- channel = _a.channel,
254
- message = _a.message;
255
- var members = channel.members;
256
- var sender = message.sender;
257
- var currentGroupChannel = state.currentGroupChannel,
258
- unreadSince = state.unreadSince;
259
- var currentGroupChannelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
260
- if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
261
- return state;
262
- }
263
- // Excluded overlapping messages
264
- if (state.allMessages.some(function (msg) {
265
- return msg.messageId === message.messageId;
266
- })) {
267
- return state;
268
- }
269
- // Filter by userFilledQuery
270
- if (state.messageListParams && !index$1.filterMessageListParams(state.messageListParams, message)) {
271
- return state;
272
- }
273
- if (message.isAdminMessage && message.isAdminMessage()) {
274
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
275
- allMessages: utils.passUnsuccessfullMessages(state.allMessages, message)
276
- });
277
- }
278
- // Update members when sender profileUrl, nickname, friendName has been changed
279
- var senderMember = members === null || members === void 0 ? void 0 : members.find(function (m) {
280
- return (m === null || m === void 0 ? void 0 : m.userId) === (sender === null || sender === void 0 ? void 0 : sender.userId);
281
- });
282
- if ((senderMember === null || senderMember === void 0 ? void 0 : senderMember.profileUrl) !== (sender === null || sender === void 0 ? void 0 : sender.profileUrl) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.friendName) !== (sender === null || sender === void 0 ? void 0 : sender.friendName) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.nickname) !== (sender === null || sender === void 0 ? void 0 : sender.nickname)) {
283
- // @ts-ignore
284
- channel.members = members.map(function (member) {
285
- if (member.userId === sender.userId) {
286
- return sender;
287
- }
288
- return member;
289
- });
290
- }
291
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
292
- currentGroupChannel: channel,
293
- unreadSince: (state === null || state === void 0 ? void 0 : state.unreadSince) ? unreadSince : index$2.format(new Date(), 'p MMM dd'),
294
- allMessages: utils.passUnsuccessfullMessages(state.allMessages, message)
295
- });
296
- }).with({
297
- type: useSendMultipleFilesMessage.ON_MESSAGE_UPDATED
298
- }, function (action) {
299
- var _a;
300
- var _b = action.payload,
301
- channel = _b.channel,
302
- message = _b.message;
303
- var currentGroupChannelUrl = ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) || '';
304
- if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
305
- return state; // Ignore event when it is not for the current channel
306
- }
307
-
308
- if (state.messageListParams && !index$1.filterMessageListParams(state.messageListParams, message)) {
309
- // Delete the message if it doesn't match to the params anymore
310
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
311
- allMessages: state.allMessages.filter(function (m) {
312
- return !compareIds.compareIds(m.messageId, message === null || message === void 0 ? void 0 : message.messageId);
313
- })
314
- });
315
- }
316
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
317
- allMessages: state.allMessages.map(function (m) {
318
- if (compareIds.compareIds(m.messageId, message.messageId)) {
319
- return message;
320
- }
321
- if (compareIds.compareIds(m.parentMessageId, message.messageId)) {
322
- m.parentMessage = message; // eslint-disable-line no-param-reassign
323
- }
324
-
325
- return m;
326
- })
327
- });
328
- }).with({
329
- type: useSendMultipleFilesMessage.ON_MESSAGE_THREAD_INFO_UPDATED
330
- }, function (action) {
331
- var _a;
332
- var _b = action.payload,
333
- channel = _b.channel,
334
- event = _b.event;
335
- var channelUrl = event.channelUrl,
336
- threadInfo = event.threadInfo,
337
- targetMessageId = event.targetMessageId;
338
- var currentGroupChannelUrl = ((_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url) || '';
339
- if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl) || !compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
340
- return state; // Ignore event when it is not for the current channel
341
- }
342
-
343
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
344
- allMessages: state.allMessages.map(function (m) {
345
- if (compareIds.compareIds(m.messageId, targetMessageId)) {
346
- // eslint-disable-next-line no-param-reassign
347
- m.threadInfo = threadInfo; // Upsert threadInfo to the target message
348
- }
349
-
350
- return m;
351
- })
352
- });
353
- }).with({
354
- type: useSendMultipleFilesMessage.RESEND_MESSAGE_START
355
- }, function (action) {
356
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
357
- allMessages: state.allMessages.map(function (m) {
358
- return compareIds.compareIds(hasReqId(m) && m.reqId, action.payload.reqId) ? action.payload : m;
359
- })
360
- });
361
- }).with({
362
- type: useSendMultipleFilesMessage.MARK_AS_READ
363
- }, function (action) {
364
- var _a, _b, _c;
365
- 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)) {
366
- return state;
367
- }
368
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
369
- unreadSince: null
370
- });
371
- }).with({
372
- type: useSendMultipleFilesMessage.ON_MESSAGE_DELETED
373
- }, function (action) {
374
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
375
- allMessages: state.allMessages.filter(function (m) {
376
- return !compareIds.compareIds(m.messageId, action.payload);
377
- })
378
- });
379
- }).with({
380
- type: useSendMultipleFilesMessage.ON_MESSAGE_DELETED_BY_REQ_ID
381
- }, function (action) {
382
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
383
- localMessages: state.localMessages.filter(function (m) {
384
- return !compareIds.compareIds(hasReqId(m) && m.reqId, action.payload);
385
- })
386
- });
387
- }).with({
388
- type: useSendMultipleFilesMessage.SET_EMOJI_CONTAINER
389
- }, function (action) {
390
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
391
- emojiContainer: action.payload
392
- });
393
- }).with({
394
- type: useSendMultipleFilesMessage.ON_REACTION_UPDATED
395
- }, function (action) {
396
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
397
- allMessages: state.allMessages.map(function (m) {
398
- if (compareIds.compareIds(m.messageId, action.payload.messageId)) {
399
- if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {
400
- m.applyReactionEvent(action.payload);
401
- }
402
- return m;
403
- }
404
- return m;
405
- })
406
- });
407
- }).with({
408
- type: useSendMultipleFilesMessage.MESSAGE_LIST_PARAMS_CHANGED
409
- }, function (action) {
410
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
411
- messageListParams: action.payload
412
- });
413
- }).with({
414
- type: useSendMultipleFilesMessage.ON_FILE_INFO_UPLOADED
415
- }, function (action) {
416
- var _a, _b;
417
- var _c = action.payload,
418
- channelUrl = _c.channelUrl,
419
- requestId = _c.requestId,
420
- index = _c.index,
421
- uploadableFileInfo = _c.uploadableFileInfo,
422
- error = _c.error;
423
- if (!compareIds.compareIds(channelUrl, (_a = state === null || state === void 0 ? void 0 : state.currentGroupChannel) === null || _a === void 0 ? void 0 : _a.url)) {
424
- return state;
425
- }
426
- /**
427
- * We don't have to do anything here because
428
- * onFailed() will be called so handle error there instead.
429
- */
430
- if (error) return state;
431
- var localMessages = state.localMessages;
432
- var messageToUpdate = localMessages.find(function (message) {
433
- return compareIds.compareIds(hasReqId(message) && message.reqId, requestId);
434
- });
435
- var fileInfoList = (_b = messageToUpdate.messageParams) === null || _b === void 0 ? void 0 : _b.fileInfoList;
436
- if (Array.isArray(fileInfoList)) {
437
- fileInfoList[index] = uploadableFileInfo;
438
- }
439
- return tslib_es6.__assign(tslib_es6.__assign({}, state), {
440
- localMessages: localMessages
441
- });
442
- }).otherwise(function () {
443
- return state;
444
- });
445
- }
446
-
447
- var DELIVERY_RECIPT = 'delivery_receipt';
448
- function useHandleChannelEvents(_a, _b) {
449
- var _c, _d, _e;
450
- var sdkInit = _a.sdkInit,
451
- currentUserId = _a.currentUserId,
452
- currentGroupChannel = _a.currentGroupChannel,
453
- disableMarkAsRead = _a.disableMarkAsRead;
454
- var sdk = _b.sdk,
455
- logger = _b.logger,
456
- scrollRef = _b.scrollRef,
457
- setQuoteMessage = _b.setQuoteMessage,
458
- messagesDispatcher = _b.messagesDispatcher;
459
- var store = useSendbirdStateContext.useSendbirdStateContext();
460
- var _f = store.config,
461
- markAsReadScheduler = _f.markAsReadScheduler,
462
- markAsDeliveredScheduler = _f.markAsDeliveredScheduler,
463
- disableMarkAsDelivered = _f.disableMarkAsDelivered;
464
- 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) {
465
- return feature === DELIVERY_RECIPT;
466
- });
467
- React.useEffect(function () {
468
- var _a;
469
- var channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
470
- var channelHandlerId = uuid.uuidv4();
471
- if (channelUrl && sdkInit) {
472
- var channelHandler = {
473
- onMessageReceived: function (channel, message) {
474
- var _a, _b;
475
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
476
- var scrollToEnd = false;
477
- try {
478
- var current = scrollRef.current;
479
- scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;
480
- // 10 is a buffer
481
- } catch (error) {
482
- //
483
- }
484
- logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
485
- messagesDispatcher({
486
- type: useSendMultipleFilesMessage.ON_MESSAGE_RECEIVED,
487
- payload: {
488
- channel: channel,
489
- message: message
490
- }
491
- });
492
- if (scrollToEnd && ((_a = document.getElementById('sendbird-dropdown-portal')) === null || _a === void 0 ? void 0 : _a.childElementCount) === 0 && ((_b = document.getElementById('sendbird-emoji-list-portal')) === null || _b === void 0 ? void 0 : _b.childElementCount) === 0) {
493
- // and !openContextMenu
494
- try {
495
- setTimeout(function () {
496
- utils.scrollIntoLast(0, scrollRef);
497
- });
498
- if (!disableMarkAsRead) {
499
- markAsReadScheduler.push(currentGroupChannel);
500
- }
501
- if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
502
- markAsDeliveredScheduler.push(currentGroupChannel);
503
- }
504
- } catch (error) {
505
- logger.warning('Channel | onMessageReceived | scroll to end failed');
506
- }
507
- }
508
- }
509
- },
510
- onUnreadMemberStatusUpdated: function (channel) {
511
- logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);
512
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
513
- messagesDispatcher({
514
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
515
- payload: channel
516
- });
517
- }
518
- },
519
- // before(onDeliveryReceiptUpdated)
520
- onUndeliveredMemberStatusUpdated: function (channel) {
521
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
522
- logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
523
- messagesDispatcher({
524
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
525
- payload: channel
526
- });
527
- }
528
- },
529
- onMessageUpdated: function (channel, message) {
530
- logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
531
- messagesDispatcher({
532
- type: useSendMultipleFilesMessage.ON_MESSAGE_UPDATED,
533
- payload: {
534
- channel: channel,
535
- message: message
536
- }
537
- });
538
- },
539
- onThreadInfoUpdated: function (channel, threadInfoUpdateEvent) {
540
- logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', {
541
- channel: channel,
542
- threadInfoUpdateEvent: threadInfoUpdateEvent
543
- });
544
- messagesDispatcher({
545
- type: useSendMultipleFilesMessage.ON_MESSAGE_THREAD_INFO_UPDATED,
546
- payload: {
547
- channel: channel,
548
- event: threadInfoUpdateEvent
549
- }
550
- });
551
- },
552
- onMessageDeleted: function (channel, messageId) {
553
- logger.info('Channel | useHandleChannelEvents: onMessageDeleted', {
554
- channel: channel,
555
- messageId: messageId
556
- });
557
- setQuoteMessage(null);
558
- messagesDispatcher({
559
- type: useSendMultipleFilesMessage.ON_MESSAGE_DELETED,
560
- payload: messageId
561
- });
562
- },
563
- onReactionUpdated: function (channel, reactionEvent) {
564
- logger.info('Channel | useHandleChannelEvents: onReactionUpdated', {
565
- channel: channel,
566
- reactionEvent: reactionEvent
567
- });
568
- messagesDispatcher({
569
- type: useSendMultipleFilesMessage.ON_REACTION_UPDATED,
570
- payload: reactionEvent
571
- });
572
- },
573
- onChannelChanged: function (channel) {
574
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
575
- logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);
576
- messagesDispatcher({
577
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
578
- payload: channel
579
- });
580
- }
581
- },
582
- onChannelFrozen: function (channel) {
583
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
584
- logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);
585
- messagesDispatcher({
586
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
587
- payload: channel
588
- });
589
- }
590
- },
591
- onChannelUnfrozen: function (channel) {
592
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
593
- logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);
594
- messagesDispatcher({
595
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
596
- payload: channel
597
- });
598
- }
599
- },
600
- onUserMuted: function (channel, user) {
601
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
602
- logger.info('Channel | useHandleChannelEvents: onUserMuted', {
603
- channel: channel,
604
- user: user
605
- });
606
- messagesDispatcher({
607
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
608
- payload: channel
609
- });
610
- }
611
- },
612
- onUserUnmuted: function (channel, user) {
613
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
614
- logger.info('Channel | useHandleChannelEvents: onUserUnmuted', {
615
- channel: channel,
616
- user: user
617
- });
618
- messagesDispatcher({
619
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
620
- payload: channel
621
- });
622
- }
623
- },
624
- onUserBanned: function (channel, user) {
625
- var _a;
626
- 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)) {
627
- logger.info('Channel | useHandleChannelEvents: onUserBanned', {
628
- channel: channel,
629
- user: user
630
- });
631
- messagesDispatcher({
632
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
633
- payload: null
634
- });
635
- }
636
- },
637
- onOperatorUpdated: function (channel, users) {
638
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
639
- logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', {
640
- channel: channel,
641
- users: users
642
- });
643
- messagesDispatcher({
644
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
645
- payload: channel
646
- });
647
- }
648
- },
649
- onUserLeft: function (channel, user) {
650
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
651
- logger.info('Channel | useHandleChannelEvents: onUserLeft', {
652
- channel: channel,
653
- user: user
654
- });
655
- if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
656
- messagesDispatcher({
657
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
658
- payload: null
659
- });
660
- }
661
- }
662
- }
663
- };
664
- logger.info('Channel | useHandleChannelEvents: Setup event handler', {
665
- channelHandlerId: channelHandlerId,
666
- channelHandler: channelHandler
667
- });
668
- // Add this group channel handler to the Sendbird chat instance
669
- (_a = sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
670
- }
671
- return function () {
672
- var _a;
673
- if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
674
- logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
675
- sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
676
- } else if (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) {
677
- logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
678
- }
679
- };
680
- }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, sdkInit]);
681
- }
682
-
683
- function useSetChannel(_ref, _ref2) {
684
- let {
685
- channelUrl,
686
- sdkInit,
687
- disableMarkAsRead
688
- } = _ref;
689
- let {
690
- messagesDispatcher,
691
- sdk,
692
- logger,
693
- markAsReadScheduler
694
- } = _ref2;
695
- React.useEffect(() => {
696
- if (channelUrl && sdkInit && sdk && sdk.groupChannel) {
697
- logger.info('Channel | useSetChannel fetching channel', channelUrl);
698
- sdk.groupChannel.getChannel(channelUrl).then(groupChannel => {
699
- logger.info('Channel | useSetChannel fetched channel', groupChannel);
700
- messagesDispatcher({
701
- type: useSendMultipleFilesMessage.SET_CURRENT_CHANNEL,
702
- payload: groupChannel
703
- });
704
- logger.info('Channel: Mark as read', groupChannel);
705
- if (!disableMarkAsRead) {
706
- markAsReadScheduler.push(groupChannel);
707
- }
708
- }).catch(e => {
709
- logger.warning('Channel | useSetChannel fetch channel failed', {
710
- channelUrl,
711
- e
712
- });
713
- messagesDispatcher({
714
- type: useSendMultipleFilesMessage.SET_CHANNEL_INVALID
715
- });
716
- });
717
- sdk.getAllEmoji().then(emojiContainer_ => {
718
- logger.info('Channel: Getting emojis success', emojiContainer_);
719
- messagesDispatcher({
720
- type: useSendMultipleFilesMessage.SET_EMOJI_CONTAINER,
721
- payload: emojiContainer_
722
- });
723
- }).catch(err => {
724
- logger.error('Channel: Getting emojis failed', err);
725
- });
726
- }
727
- }, [channelUrl, sdkInit]);
728
- }
729
-
730
- function useInitialMessagesFetch(_a, _b) {
731
- var currentGroupChannel = _a.currentGroupChannel,
732
- initialTimeStamp = _a.initialTimeStamp,
733
- userFilledMessageListQuery = _a.userFilledMessageListQuery,
734
- replyType = _a.replyType,
735
- setIsScrolled = _a.setIsScrolled;
736
- var logger = _b.logger,
737
- scrollRef = _b.scrollRef,
738
- messagesDispatcher = _b.messagesDispatcher;
739
- var channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
740
- React.useEffect(function () {
741
- logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);
742
- setIsScrolled(false);
743
- messagesDispatcher({
744
- type: useSendMultipleFilesMessage.RESET_MESSAGES,
745
- payload: null
746
- });
747
- if (currentGroupChannel && (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.getMessagesByTimestamp)) {
748
- var messageListParams_1 = {
749
- prevResultSize: _const.PREV_RESULT_SIZE,
750
- isInclusive: true,
751
- includeReactions: true,
752
- includeMetaArray: true
753
- };
754
- if (initialTimeStamp) {
755
- messageListParams_1.nextResultSize = _const.NEXT_RESULT_SIZE;
756
- }
757
- if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
758
- messageListParams_1.includeThreadInfo = true;
759
- messageListParams_1.includeParentMessageInfo = true;
760
- messageListParams_1.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
761
- }
762
- if (userFilledMessageListQuery) {
763
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
764
- messageListParams_1[key] = userFilledMessageListQuery[key];
765
- });
766
- }
767
- if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') || userFilledMessageListQuery) {
768
- logger.info('Channel useInitialMessagesFetch: Setup messageListParams', messageListParams_1);
769
- messagesDispatcher({
770
- type: useSendMultipleFilesMessage.MESSAGE_LIST_PARAMS_CHANGED,
771
- payload: messageListParams_1
772
- });
773
- }
774
- logger.info('Channel: Fetching messages', {
775
- currentGroupChannel: currentGroupChannel,
776
- userFilledMessageListQuery: userFilledMessageListQuery
777
- });
778
- messagesDispatcher({
779
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_START,
780
- payload: null
781
- });
782
- var multipleFilesMessageCount_1 = 0;
783
- currentGroupChannel.getMessagesByTimestamp(initialTimeStamp || new Date().getTime(), messageListParams_1).then(function (messages) {
784
- messagesDispatcher({
785
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_SUCCESS,
786
- payload: {
787
- currentGroupChannel: currentGroupChannel,
788
- messages: messages
789
- }
790
- });
791
- multipleFilesMessageCount_1 = messages.filter(function (message) {
792
- return index$1.isMultipleFilesMessage(message);
793
- }).length;
794
- }).catch(function (error) {
795
- logger.error('Channel: Fetching messages failed', error);
796
- messagesDispatcher({
797
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_FAILURE,
798
- payload: {
799
- currentGroupChannel: currentGroupChannel
800
- }
801
- });
802
- }).finally(function () {
803
- if (!initialTimeStamp) {
804
- setTimeout(function () {
805
- return utils.scrollIntoLast(0, scrollRef, setIsScrolled);
806
- },
807
- /**
808
- * Rendering MFM takes long time so we need this.
809
- * But later we should find better solution.
810
- */
811
- Math.min(multipleFilesMessageCount_1 * 100, 1000));
812
- } else {
813
- setTimeout(function () {
814
- utils.scrollToRenderedMessage(scrollRef, initialTimeStamp, setIsScrolled);
815
- }, 500);
816
- }
817
- });
818
- }
819
- }, [channelUrl, userFilledMessageListQuery, initialTimeStamp]);
820
- /**
821
- * Note - useEffect(() => {}, [currentGroupChannel])
822
- * was buggy, that is why we did
823
- * const channelUrl = currentGroupChannel && currentGroupChannel.url;
824
- * useEffect(() => {}, [channelUrl])
825
- * Again, this hook is supposed to execute when currentGroupChannel changes
826
- * The 'channelUrl' here is not the same memory reference from Conversation.props
827
- */
828
- }
829
-
830
- function useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle) {
831
- if (reconnectOnIdle === void 0) {
832
- reconnectOnIdle = true;
833
- }
834
- var _a = React.useState(false),
835
- isTabHidden = _a[0],
836
- setIsTabHidden = _a[1];
837
- var wasOffline = !isOnline;
838
- React.useEffect(function () {
839
- var handleVisibilityChange = function () {
840
- if (reconnectOnIdle) {
841
- setIsTabHidden(document.hidden);
842
- }
843
- };
844
- document.addEventListener('visibilitychange', handleVisibilityChange);
845
- return function () {
846
- document.removeEventListener('visibilitychange', handleVisibilityChange);
847
- };
848
- }, [reconnectOnIdle, document.hidden]);
849
- var shouldReconnect = wasOffline && (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) != null && !isTabHidden;
850
- return {
851
- shouldReconnect: shouldReconnect
852
- };
853
- }
854
-
855
- function useHandleReconnect(_a, _b) {
856
- var isOnline = _a.isOnline,
857
- replyType = _a.replyType,
858
- disableMarkAsRead = _a.disableMarkAsRead,
859
- reconnectOnIdle = _a.reconnectOnIdle;
860
- var logger = _b.logger,
861
- sdk = _b.sdk,
862
- scrollRef = _b.scrollRef,
863
- currentGroupChannel = _b.currentGroupChannel,
864
- messagesDispatcher = _b.messagesDispatcher,
865
- markAsReadScheduler = _b.markAsReadScheduler,
866
- userFilledMessageListQuery = _b.userFilledMessageListQuery;
867
- var shouldReconnect = useReconnectOnIdle(isOnline, currentGroupChannel, reconnectOnIdle).shouldReconnect;
868
- React.useEffect(function () {
869
- return function () {
870
- var _a, _b;
871
- // state changed from offline to online AND tab is visible
872
- if (shouldReconnect) {
873
- logger.info('Refreshing conversation state');
874
- var isReactionEnabled = ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.appInfo) === null || _a === void 0 ? void 0 : _a.useReaction) || false;
875
- var messageListParams_1 = {
876
- prevResultSize: _const.PREV_RESULT_SIZE,
877
- isInclusive: true,
878
- includeReactions: isReactionEnabled,
879
- nextResultSize: _const.NEXT_RESULT_SIZE
880
- };
881
- if (replyType && replyType === 'QUOTE_REPLY') {
882
- messageListParams_1.includeThreadInfo = true;
883
- messageListParams_1.includeParentMessageInfo = true;
884
- messageListParams_1.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
885
- }
886
- if (userFilledMessageListQuery) {
887
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
888
- messageListParams_1[key] = userFilledMessageListQuery[key];
889
- });
890
- }
891
- logger.info('Channel: Fetching messages', {
892
- currentGroupChannel: currentGroupChannel,
893
- userFilledMessageListQuery: userFilledMessageListQuery
894
- });
895
- messagesDispatcher({
896
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_START,
897
- payload: null
898
- });
899
- (_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) {
900
- var lastMessageTime = new Date().getTime();
901
- groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams_1).then(function (messages) {
902
- messagesDispatcher({
903
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_SUCCESS,
904
- payload: {
905
- currentGroupChannel: currentGroupChannel,
906
- messages: messages
907
- }
908
- });
909
- setTimeout(function () {
910
- return utils.scrollIntoLast(0, scrollRef);
911
- });
912
- }).catch(function (error) {
913
- logger.error('Channel: Fetching messages failed', error);
914
- messagesDispatcher({
915
- type: useSendMultipleFilesMessage.FETCH_INITIAL_MESSAGES_FAILURE,
916
- payload: {
917
- currentGroupChannel: currentGroupChannel
918
- }
919
- });
920
- });
921
- if (!disableMarkAsRead) {
922
- markAsReadScheduler.push(currentGroupChannel);
923
- }
924
- });
925
- }
926
- };
927
- }, [shouldReconnect, replyType]);
928
- }
929
-
930
- function useScrollCallback(_a, _b) {
931
- var currentGroupChannel = _a.currentGroupChannel,
932
- oldestMessageTimeStamp = _a.oldestMessageTimeStamp,
933
- userFilledMessageListQuery = _a.userFilledMessageListQuery,
934
- replyType = _a.replyType;
935
- var hasMorePrev = _b.hasMorePrev,
936
- logger = _b.logger,
937
- messagesDispatcher = _b.messagesDispatcher,
938
- sdk = _b.sdk;
939
- return React.useCallback(function () {
940
- var _a, _b;
941
- if (!hasMorePrev) {
942
- return;
943
- }
944
- var messageListParams = {
945
- prevResultSize: _const.PREV_RESULT_SIZE,
946
- isInclusive: true,
947
- includeMetaArray: true,
948
- 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
949
- };
950
- if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
951
- messageListParams.includeThreadInfo = true;
952
- messageListParams.includeParentMessageInfo = true;
953
- messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
954
- }
955
- if (userFilledMessageListQuery) {
956
- Object.keys(userFilledMessageListQuery).forEach(function (key) {
957
- messageListParams[key] = userFilledMessageListQuery[key];
958
- });
959
- }
960
- logger.info('Channel: Fetching messages', {
961
- currentGroupChannel: currentGroupChannel,
962
- userFilledMessageListQuery: userFilledMessageListQuery
963
- });
964
- currentGroupChannel.getMessagesByTimestamp(oldestMessageTimeStamp || new Date().getTime(), messageListParams).then(function (messages) {
965
- messagesDispatcher({
966
- type: useSendMultipleFilesMessage.FETCH_PREV_MESSAGES_SUCCESS,
967
- payload: {
968
- currentGroupChannel: currentGroupChannel,
969
- messages: messages
970
- }
971
- });
972
- }).catch(function () {
973
- messagesDispatcher({
974
- type: useSendMultipleFilesMessage.FETCH_PREV_MESSAGES_FAILURE,
975
- payload: {
976
- currentGroupChannel: currentGroupChannel
977
- }
978
- });
979
- });
980
- }, [currentGroupChannel, oldestMessageTimeStamp, replyType]);
981
- }
982
-
983
- function useScrollDownCallback(_ref, _ref2) {
984
- let {
985
- currentGroupChannel,
986
- latestMessageTimeStamp,
987
- userFilledMessageListQuery,
988
- hasMoreNext,
989
- replyType
990
- } = _ref;
991
- let {
992
- logger,
993
- messagesDispatcher,
994
- sdk
995
- } = _ref2;
996
- return React.useCallback(cb => {
997
- if (!hasMoreNext) {
998
- return;
999
- }
1000
- const {
1001
- appInfo = {}
1002
- } = sdk;
1003
- const isReactionEnabled = appInfo.useReaction || false;
1004
- const messageListParams = {
1005
- nextResultSize: _const.NEXT_RESULT_SIZE,
1006
- isInclusive: true,
1007
- includeReactions: isReactionEnabled
1008
- };
1009
- messageListParams.includeMetaArray = true;
1010
- if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
1011
- messageListParams.includeThreadInfo = true;
1012
- messageListParams.includeParentMessageInfo = true;
1013
- messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
1014
- }
1015
- if (userFilledMessageListQuery) {
1016
- Object.keys(userFilledMessageListQuery).forEach(key => {
1017
- messageListParams[key] = userFilledMessageListQuery[key];
1018
- });
1019
- }
1020
- logger.info('Channel: Fetching later messages', {
1021
- currentGroupChannel,
1022
- userFilledMessageListQuery
1023
- });
1024
- currentGroupChannel.getMessagesByTimestamp(latestMessageTimeStamp || new Date().getTime(), messageListParams).then(messages => {
1025
- messagesDispatcher({
1026
- type: useSendMultipleFilesMessage.FETCH_NEXT_MESSAGES_SUCCESS,
1027
- payload: {
1028
- currentGroupChannel,
1029
- messages
1030
- }
1031
- });
1032
- cb([messages, null]);
1033
- }).catch(error => {
1034
- logger.error('Channel: Fetching later messages failed', error);
1035
- messagesDispatcher({
1036
- type: useSendMultipleFilesMessage.FETCH_NEXT_MESSAGES_FAILURE,
1037
- payload: {
1038
- currentGroupChannel
1039
- }
1040
- });
1041
- cb([null, error]);
1042
- });
1043
- }, [currentGroupChannel, latestMessageTimeStamp, hasMoreNext, replyType]);
1044
- }
1045
-
1046
- function useDeleteMessageCallback(_ref, _ref2) {
1047
- let {
1048
- currentGroupChannel,
1049
- messagesDispatcher
1050
- } = _ref;
1051
- let {
1052
- logger
1053
- } = _ref2;
1054
- return React.useCallback(message => {
1055
- logger.info('Channel | useDeleteMessageCallback: Deleting message', message);
1056
- const {
1057
- sendingStatus
1058
- } = message;
1059
- return new Promise((resolve, reject) => {
1060
- logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
1061
- // Message is only on local
1062
- if (sendingStatus === 'failed' || sendingStatus === 'pending') {
1063
- logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);
1064
- messagesDispatcher({
1065
- type: useSendMultipleFilesMessage.ON_MESSAGE_DELETED_BY_REQ_ID,
1066
- payload: message.reqId
1067
- });
1068
- resolve(message);
1069
- } else {
1070
- logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
1071
- currentGroupChannel.deleteMessage(message).then(() => {
1072
- logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);
1073
- messagesDispatcher({
1074
- type: useSendMultipleFilesMessage.ON_MESSAGE_DELETED,
1075
- payload: message.messageId
1076
- });
1077
- resolve(message);
1078
- }).catch(err => {
1079
- logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);
1080
- reject(err);
1081
- });
1082
- }
1083
- });
1084
- }, [currentGroupChannel, messagesDispatcher]);
1085
- }
1086
-
1087
- function useUpdateMessageCallback(_ref, _ref2) {
1088
- let {
1089
- currentGroupChannel,
1090
- messagesDispatcher,
1091
- onBeforeUpdateUserMessage,
1092
- isMentionEnabled
1093
- } = _ref;
1094
- let {
1095
- logger,
1096
- pubSub
1097
- } = _ref2;
1098
- return React.useCallback((props, callback) => {
1099
- const {
1100
- messageId,
1101
- message,
1102
- mentionedUsers,
1103
- mentionTemplate
1104
- } = props;
1105
- const createParamsDefault = () => {
1106
- const params = {};
1107
- params.message = message;
1108
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1109
- params.mentionedUsers = mentionedUsers;
1110
- }
1111
- if (isMentionEnabled && mentionTemplate) {
1112
- params.mentionedMessageTemplate = mentionTemplate;
1113
- } else {
1114
- params.mentionedMessageTemplate = message;
1115
- }
1116
- return params;
1117
- };
1118
- const createCustomPrams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
1119
- if (createCustomPrams) {
1120
- logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
1121
- }
1122
- const params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(message) : createParamsDefault();
1123
- logger.info('Channel: Updating message!', params);
1124
- currentGroupChannel.updateUserMessage(messageId, params).then((msg, err) => {
1125
- if (callback) {
1126
- callback(err, msg);
1127
- }
1128
- logger.info('Channel: Updating message success!', msg);
1129
- messagesDispatcher({
1130
- type: useSendMultipleFilesMessage.ON_MESSAGE_UPDATED,
1131
- payload: {
1132
- channel: currentGroupChannel,
1133
- message: msg
1134
- }
1135
- });
1136
- pubSub.publish(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, {
1137
- message: msg,
1138
- channel: currentGroupChannel,
1139
- publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.CHANNEL]
1140
- });
1141
- });
1142
- }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);
1143
- }
1144
-
1145
- function useResendMessageCallback(_ref, _ref2) {
1146
- let {
1147
- currentGroupChannel,
1148
- messagesDispatcher
1149
- } = _ref;
1150
- let {
1151
- logger
1152
- } = _ref2;
1153
- return React.useCallback(failedMessage => {
1154
- logger.info('Channel: Resending message has started', failedMessage);
1155
- const {
1156
- messageType,
1157
- file
1158
- } = failedMessage;
1159
- if (failedMessage !== null && failedMessage !== void 0 && failedMessage.isResendable) {
1160
- // Move the logic setting sendingStatus to pending into the reducer
1161
- // eslint-disable-next-line no-param-reassign
1162
- failedMessage.requestState = 'pending';
1163
- // eslint-disable-next-line no-param-reassign
1164
- failedMessage.sendingStatus = 'pending';
1165
- messagesDispatcher({
1166
- type: useSendMultipleFilesMessage.RESEND_MESSAGE_START,
1167
- payload: failedMessage
1168
- });
1169
-
1170
- // userMessage
1171
- if (messageType === 'user') {
1172
- currentGroupChannel.resendUserMessage(failedMessage).then(message => {
1173
- logger.info('Channel: Resending message success!', message);
1174
- messagesDispatcher({
1175
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1176
- payload: message
1177
- });
1178
- }).catch(e => {
1179
- logger.warning('Channel: Resending message failed!', e);
1180
- // eslint-disable-next-line no-param-reassign
1181
- failedMessage.requestState = 'failed';
1182
- // eslint-disable-next-line no-param-reassign
1183
- failedMessage.sendingStatus = 'failed';
1184
- messagesDispatcher({
1185
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1186
- payload: failedMessage
1187
- });
1188
- });
1189
-
1190
- // eslint-disable-next-line no-param-reassign
1191
- failedMessage.requestState = 'pending';
1192
- // eslint-disable-next-line no-param-reassign
1193
- failedMessage.sendingStatus = 'pending';
1194
- messagesDispatcher({
1195
- type: useSendMultipleFilesMessage.RESEND_MESSAGE_START,
1196
- payload: failedMessage
1197
- });
1198
- return;
1199
- }
1200
- if (messageType === 'file') {
1201
- currentGroupChannel.resendFileMessage(failedMessage, file).then(message => {
1202
- logger.info('Channel: Resending file message success!', message);
1203
- messagesDispatcher({
1204
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1205
- payload: message
1206
- });
1207
- }).catch(e => {
1208
- logger.warning('Channel: Resending file message failed!', e);
1209
- // eslint-disable-next-line no-param-reassign
1210
- failedMessage.requestState = 'failed';
1211
- // eslint-disable-next-line no-param-reassign
1212
- failedMessage.sendingStatus = 'failed';
1213
- messagesDispatcher({
1214
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1215
- payload: failedMessage
1216
- });
1217
- });
1218
-
1219
- // eslint-disable-next-line no-param-reassign
1220
- failedMessage.requestState = 'pending';
1221
- // eslint-disable-next-line no-param-reassign
1222
- failedMessage.sendingStatus = 'pending';
1223
- messagesDispatcher({
1224
- type: useSendMultipleFilesMessage.RESEND_MESSAGE_START,
1225
- payload: failedMessage
1226
- });
1227
- }
1228
- if (index$1.isMultipleFilesMessage(failedMessage)) {
1229
- currentGroupChannel.resendMessage(failedMessage).onPending(message => {
1230
- messagesDispatcher({
1231
- type: useSendMultipleFilesMessage.RESEND_MESSAGE_START,
1232
- payload: message
1233
- });
1234
- })
1235
- // TODO: Handle on file info upload event.
1236
- .onSucceeded(message => {
1237
- logger.info('Channel: Resending multiple files message success!', message);
1238
- messagesDispatcher({
1239
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1240
- payload: message
1241
- });
1242
- }).onFailed((e, message) => {
1243
- logger.warning('Channel: Resending multiple files message failed!', e);
1244
- messagesDispatcher({
1245
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1246
- payload: message
1247
- });
1248
- });
1249
- }
1250
- } else {
1251
- // to alert user on console
1252
- // eslint-disable-next-line no-console
1253
- console.error('Message is not resendable');
1254
- logger.warning('Message is not resendable', failedMessage);
1255
- }
1256
- }, [currentGroupChannel, messagesDispatcher]);
1257
- }
1258
-
1259
- function useSendMessageCallback(_ref, _ref2) {
1260
- let {
1261
- isMentionEnabled,
1262
- currentGroupChannel,
1263
- onBeforeSendUserMessage
1264
- } = _ref;
1265
- let {
1266
- logger,
1267
- pubSub,
1268
- scrollRef,
1269
- messagesDispatcher
1270
- } = _ref2;
1271
- const messageInputRef = React.useRef(null);
1272
- const sendMessage = React.useCallback(props => {
1273
- const {
1274
- quoteMessage = null,
1275
- message,
1276
- mentionTemplate,
1277
- // mentionedUserIds,
1278
- mentionedUsers
1279
- } = props;
1280
- const createParamsDefault = () => {
1281
- const params = {};
1282
- params.message = message;
1283
- // if (isMentionEnabled && mentionedUserIds?.length > 0) {
1284
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1285
- // params.mentionedUserIds = mentionedUserIds;
1286
- params.mentionedUsers = mentionedUsers;
1287
- }
1288
- // if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
1289
- if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1290
- params.mentionedMessageTemplate = mentionTemplate;
1291
- }
1292
- if (quoteMessage) {
1293
- params.isReplyToChannel = true;
1294
- params.parentMessageId = quoteMessage.messageId;
1295
- }
1296
- return params;
1297
- };
1298
- const createCustomPrams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
1299
- if (createCustomPrams) {
1300
- logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
1301
- }
1302
- const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
1303
- logger.info('Channel: Sending message has started', params);
1304
- currentGroupChannel.sendUserMessage(params).onPending(pendingMsg => {
1305
- pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1306
- /* pubSub is used instead of messagesDispatcher
1307
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1308
- message: pendingMsg,
1309
- channel: currentGroupChannel,
1310
- publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.CHANNEL]
1311
- });
1312
- setTimeout(() => utils.scrollIntoLast(0, scrollRef));
1313
- }).onFailed((err, msg) => {
1314
- logger.warning('Channel: Sending message failed!', {
1315
- message: msg,
1316
- error: err
1317
- });
1318
- messagesDispatcher({
1319
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1320
- payload: msg
1321
- });
1322
- }).onSucceeded(msg => {
1323
- logger.info('Channel: Sending message success!', msg);
1324
- messagesDispatcher({
1325
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1326
- payload: msg
1327
- });
1328
- });
1329
- }, [currentGroupChannel, onBeforeSendUserMessage]);
1330
- return [messageInputRef, sendMessage];
1331
- }
1332
-
1333
- function useSendFileMessageCallback(_ref, _ref2) {
1334
- let {
1335
- currentGroupChannel,
1336
- onBeforeSendFileMessage,
1337
- imageCompression = {}
1338
- } = _ref;
1339
- let {
1340
- logger,
1341
- pubSub,
1342
- scrollRef,
1343
- messagesDispatcher
1344
- } = _ref2;
1345
- const sendMessage = React.useCallback(function (file) {
1346
- let quoteMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1347
- return new Promise((resolve, reject) => {
1348
- const {
1349
- compressionRate,
1350
- resizingWidth,
1351
- resizingHeight
1352
- } = imageCompression;
1353
- const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
1354
- const compressibleFileType = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg';
1355
- const compressibleRatio = compressionRate > 0 && compressionRate < 1;
1356
- // pxToNumber returns null if values are invalid
1357
- const compressibleDiamensions = utils.pxToNumber(resizingWidth) || utils.pxToNumber(resizingHeight);
1358
- const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);
1359
- const createParamsDefault = file_ => {
1360
- const params = {};
1361
- params.file = file_;
1362
- if (quoteMessage) {
1363
- params.isReplyToChannel = true;
1364
- params.parentMessageId = quoteMessage.messageId;
1365
- }
1366
- return params;
1367
- };
1368
- if (canCompressImage) {
1369
- // Using image compression
1370
- try {
1371
- const image = document.createElement('img');
1372
- image.src = URL.createObjectURL(file);
1373
- image.onload = () => {
1374
- URL.revokeObjectURL(image.src);
1375
- const canvas = document.createElement('canvas');
1376
- const imageWdith = image.naturalWidth || image.width;
1377
- const imageHeight = image.naturalHeight || image.height;
1378
- let targetWidth = utils.pxToNumber(resizingWidth) || imageWdith;
1379
- let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;
1380
-
1381
- // In canvas.toBlob(callback, mimeType, qualityArgument)
1382
- // qualityArgument doesnt work
1383
- // so in case compressibleDiamensions are not present, we use ratio
1384
- if (file.type === 'image/png' && !compressibleDiamensions) {
1385
- targetWidth *= compressionRate;
1386
- targetHeight *= compressionRate;
1387
- }
1388
- canvas.width = targetWidth;
1389
- canvas.height = targetHeight;
1390
- const context = canvas.getContext('2d');
1391
- context.drawImage(image, 0, 0, targetWidth, targetHeight);
1392
- context.canvas.toBlob(newImageBlob => {
1393
- const compressedFile = new File([newImageBlob], file.name, {
1394
- type: file.type
1395
- });
1396
- if (createCustomParams) {
1397
- logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1398
- }
1399
- const params = createCustomParams ? onBeforeSendFileMessage(compressedFile, quoteMessage) : createParamsDefault(compressedFile);
1400
- logger.info('Channel: Uploading file message start!', params);
1401
- currentGroupChannel.sendFileMessage(params).onPending(pendingMessage => {
1402
- pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1403
- /* pubSub is used instead of messagesDispatcher
1404
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1405
- message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMessage), {}, {
1406
- url: URL.createObjectURL(compressedFile),
1407
- // pending thumbnail message seems to be failed
1408
- requestState: 'pending'
1409
- }),
1410
- channel: currentGroupChannel,
1411
- publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.CHANNEL]
1412
- });
1413
- setTimeout(() => utils.scrollIntoLast(0, scrollRef), 1000);
1414
- }).onFailed((err, failedMessage) => {
1415
- logger.error('Channel: Sending file message failed!', {
1416
- failedMessage,
1417
- err
1418
- });
1419
- // eslint-disable-next-line no-param-reassign
1420
- failedMessage.localUrl = URL.createObjectURL(compressedFile);
1421
- // eslint-disable-next-line no-param-reassign
1422
- failedMessage.file = compressedFile;
1423
- messagesDispatcher({
1424
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1425
- payload: failedMessage
1426
- });
1427
- reject(err);
1428
- }).onSucceeded(succeededMessage => {
1429
- logger.info('Channel: Sending file message success!', succeededMessage);
1430
- messagesDispatcher({
1431
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1432
- payload: succeededMessage
1433
- });
1434
- resolve(succeededMessage);
1435
- });
1436
- }, file.type, compressionRate);
1437
- };
1438
- } catch (error) {
1439
- logger.error('Channel: Sending file message failed!', error);
1440
- reject(error);
1441
- }
1442
- } else {
1443
- // Not using image compression
1444
- if (createCustomParams) {
1445
- logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
1446
- }
1447
- const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file, quoteMessage) : createParamsDefault(file);
1448
- logger.info('Channel: Uploading file message start!', params);
1449
- currentGroupChannel.sendFileMessage(params).onPending(pendingMsg => {
1450
- pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1451
- /* pubSub is used instead of messagesDispatcher
1452
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1453
- message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMsg), {}, {
1454
- url: URL.createObjectURL(file),
1455
- // pending thumbnail message seems to be failed
1456
- requestState: 'pending'
1457
- }),
1458
- channel: currentGroupChannel,
1459
- publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.CHANNEL]
1460
- });
1461
- setTimeout(() => utils.scrollIntoLast(0, scrollRef), 1000);
1462
- }).onFailed((error, message) => {
1463
- logger.error('Channel: Sending file message failed!', {
1464
- message,
1465
- error
1466
- });
1467
- // eslint-disable-next-line no-param-reassign
1468
- message.localUrl = URL.createObjectURL(file);
1469
- // eslint-disable-next-line no-param-reassign
1470
- message.file = file;
1471
- messagesDispatcher({
1472
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1473
- payload: message
1474
- });
1475
- reject(error);
1476
- }).onSucceeded(message => {
1477
- logger.info('Channel: Sending message success!', message);
1478
- messagesDispatcher({
1479
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1480
- payload: message
1481
- });
1482
- resolve(message);
1483
- });
1484
- }
1485
- });
1486
- }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);
1487
- return [sendMessage];
1488
- }
1489
-
1490
- function useToggleReactionCallback(_ref, _ref2) {
1491
- let {
1492
- currentGroupChannel
1493
- } = _ref;
1494
- let {
1495
- logger
1496
- } = _ref2;
1497
- return React.useCallback((message, key, isReacted) => {
1498
- if (isReacted) {
1499
- currentGroupChannel.deleteReaction(message, key).then(res => {
1500
- logger.info('Delete reaction success', res);
1501
- }).catch(err => {
1502
- logger.warning('Delete reaction failed', err);
1503
- });
1504
- return;
1505
- }
1506
- currentGroupChannel.addReaction(message, key).then(res => {
1507
- logger.info('Add reaction success', res);
1508
- }).catch(err => {
1509
- logger.warning('Add reaction failed', err);
1510
- });
1511
- }, [currentGroupChannel]);
1512
- }
1513
-
1514
- // To prevent multiple clicks on the message in the channel while scrolling
1515
- function deactivateClick(scrollRef) {
1516
- var element = scrollRef.current;
1517
- var parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1518
- if (element && parentNode) {
1519
- element.style.pointerEvents = 'none';
1520
- parentNode.style.cursor = 'wait';
1521
- }
1522
- }
1523
- function activateClick(scrollRef) {
1524
- var element = scrollRef.current;
1525
- var parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
1526
- if (element && parentNode) {
1527
- element.style.pointerEvents = 'auto';
1528
- parentNode.style.cursor = 'auto';
1529
- }
1530
- }
1531
- function useScrollToMessage(_a, _b) {
1532
- var setInitialTimeStamp = _a.setInitialTimeStamp,
1533
- setAnimatedMessageId = _a.setAnimatedMessageId,
1534
- allMessages = _a.allMessages,
1535
- scrollRef = _a.scrollRef;
1536
- var logger = _b.logger;
1537
- return React.useCallback(function (createdAt, messageId) {
1538
- var isPresent = allMessages.find(function (m) {
1539
- return m.messageId === messageId;
1540
- });
1541
- setAnimatedMessageId(null);
1542
- setTimeout(function () {
1543
- try {
1544
- logger.info('Channel: scroll to message - disabling mouse events');
1545
- deactivateClick(scrollRef);
1546
- if (isPresent) {
1547
- logger.info('Channel: scroll to message - message is present');
1548
- setAnimatedMessageId(messageId);
1549
- utils.scrollToRenderedMessage(scrollRef, createdAt);
1550
- } else {
1551
- logger.info('Channel: scroll to message - fetching older messages');
1552
- setInitialTimeStamp(null);
1553
- setInitialTimeStamp(createdAt);
1554
- setAnimatedMessageId(messageId);
1555
- }
1556
- } finally {
1557
- logger.info('Channel: scroll to message - enabled mouse events');
1558
- activateClick(scrollRef);
1559
- }
1560
- });
1561
- }, [setInitialTimeStamp, setAnimatedMessageId, allMessages]);
1562
- }
1563
-
1564
- var useSendVoiceMessageCallback = function (_a, _b) {
1565
- var currentGroupChannel = _a.currentGroupChannel,
1566
- onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
1567
- var logger = _b.logger,
1568
- pubSub = _b.pubSub,
1569
- scrollRef = _b.scrollRef,
1570
- messagesDispatcher = _b.messagesDispatcher;
1571
- var sendMessage = React.useCallback(function (file, duration, quoteMessage) {
1572
- if (!currentGroupChannel) {
1573
- return;
1574
- }
1575
- var messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
1576
- file: file,
1577
- fileName: consts.VOICE_MESSAGE_FILE_NAME,
1578
- mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
1579
- metaArrays: [new message.MessageMetaArray({
1580
- key: consts.META_ARRAY_VOICE_DURATION_KEY,
1581
- value: ["".concat(duration)]
1582
- }), new message.MessageMetaArray({
1583
- key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1584
- value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
1585
- })]
1586
- };
1587
- if (quoteMessage) {
1588
- messageParams.isReplyToChannel = true;
1589
- messageParams.parentMessageId = quoteMessage.messageId;
1590
- }
1591
- logger.info('Channel: Start sending voice message', messageParams);
1592
- currentGroupChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1593
- pubSub.publish(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
1594
- /* pubSub is used instead of messagesDispatcher
1595
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1596
- message: pendingMessage,
1597
- channel: currentGroupChannel,
1598
- publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.CHANNEL]
1599
- });
1600
- setTimeout(function () {
1601
- return utils.scrollIntoLast(0, scrollRef);
1602
- }, 1000);
1603
- }).onFailed(function (err, failedMessage) {
1604
- logger.error('Channel: Sending voice message failed!', {
1605
- failedMessage: failedMessage,
1606
- err: err
1607
- });
1608
- messagesDispatcher({
1609
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1610
- payload: failedMessage
1611
- });
1612
- }).onSucceeded(function (succeededMessage) {
1613
- logger.info('Channel: Sending voice message success!', succeededMessage);
1614
- messagesDispatcher({
1615
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1616
- payload: succeededMessage
1617
- });
1618
- });
1619
- }, [currentGroupChannel, onBeforeSendVoiceMessage]);
1620
- return [sendMessage];
1621
- };
1622
-
1623
- var useHandleChannelPubsubEvents = function (_a) {
1624
- var channelUrl = _a.channelUrl,
1625
- sdkInit = _a.sdkInit,
1626
- pubSub = _a.pubSub,
1627
- dispatcher = _a.dispatcher,
1628
- scrollRef = _a.scrollRef;
1629
- React.useEffect(function () {
1630
- var subscriber = new Map();
1631
- if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
1632
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, function (props) {
1633
- var channel = props.channel,
1634
- message = props.message;
1635
- utils.scrollIntoLast(0, scrollRef);
1636
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1637
- dispatcher({
1638
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1639
- payload: message
1640
- });
1641
- }
1642
- }));
1643
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_START, function (props) {
1644
- var _a = props,
1645
- channel = _a.channel,
1646
- message = _a.message,
1647
- publishingModules = _a.publishingModules;
1648
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url) && publishingModules.includes(useSendMultipleFilesMessage.PublishingModuleType.CHANNEL)) {
1649
- dispatcher({
1650
- type: useSendMultipleFilesMessage.SEND_MESSAGE_START,
1651
- payload: message
1652
- });
1653
- }
1654
- }));
1655
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
1656
- var _a = props,
1657
- response = _a.response,
1658
- publishingModules = _a.publishingModules;
1659
- if (channelUrl === response.channelUrl && publishingModules.includes(useSendMultipleFilesMessage.PublishingModuleType.CHANNEL)) {
1660
- dispatcher({
1661
- type: useSendMultipleFilesMessage.ON_FILE_INFO_UPLOADED,
1662
- payload: response
1663
- });
1664
- }
1665
- }));
1666
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_MESSAGE_FAILED, function (props) {
1667
- var _a = props,
1668
- channel = _a.channel,
1669
- message = _a.message,
1670
- publishingModules = _a.publishingModules;
1671
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url) && publishingModules.includes(useSendMultipleFilesMessage.PublishingModuleType.CHANNEL)) {
1672
- dispatcher({
1673
- type: useSendMultipleFilesMessage.SEND_MESSAGE_FAILURE,
1674
- payload: message
1675
- });
1676
- }
1677
- }));
1678
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, function (props) {
1679
- var channel = props.channel,
1680
- message = props.message;
1681
- utils.scrollIntoLast(0, scrollRef);
1682
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1683
- dispatcher({
1684
- type: useSendMultipleFilesMessage.SEND_MESSAGE_SUCCESS,
1685
- payload: message
1686
- });
1687
- }
1688
- }));
1689
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, function (props) {
1690
- var channel = props.channel,
1691
- message = props.message,
1692
- fromSelector = props.fromSelector;
1693
- if (fromSelector && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1694
- dispatcher({
1695
- type: useSendMultipleFilesMessage.ON_MESSAGE_UPDATED,
1696
- payload: {
1697
- channel: channel,
1698
- message: message
1699
- }
1700
- });
1701
- }
1702
- }));
1703
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.DELETE_MESSAGE, function (props) {
1704
- var channel = props.channel,
1705
- messageId = props.messageId;
1706
- if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
1707
- dispatcher({
1708
- type: useSendMultipleFilesMessage.ON_MESSAGE_DELETED,
1709
- payload: messageId
1710
- });
1711
- }
1712
- }));
1713
- }
1714
- return function () {
1715
- subscriber.forEach(function (s) {
1716
- try {
1717
- s.remove();
1718
- } catch (_a) {
1719
- //
1720
- }
1721
- });
1722
- };
1723
- }, [channelUrl, sdkInit]);
1724
- };
1725
-
1726
- var ChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
1727
- var ChannelProvider = function (props) {
1728
- var _a, _b, _c, _d, _e, _f;
1729
- var channelUrl = props.channelUrl,
1730
- children = props.children,
1731
- isReactionEnabled = props.isReactionEnabled,
1732
- _g = props.isMessageGroupingEnabled,
1733
- isMessageGroupingEnabled = _g === void 0 ? true : _g,
1734
- isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled,
1735
- showSearchIcon = props.showSearchIcon,
1736
- animatedMessage = props.animatedMessage,
1737
- highlightedMessage = props.highlightedMessage,
1738
- startingPoint = props.startingPoint,
1739
- onBeforeSendUserMessage = props.onBeforeSendUserMessage,
1740
- onBeforeSendFileMessage = props.onBeforeSendFileMessage,
1741
- onBeforeUpdateUserMessage = props.onBeforeUpdateUserMessage,
1742
- onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage,
1743
- onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage,
1744
- onChatHeaderActionClick = props.onChatHeaderActionClick,
1745
- onSearchClick = props.onSearchClick,
1746
- onBackClick = props.onBackClick,
1747
- channelReplyType = props.replyType,
1748
- threadReplySelectType = props.threadReplySelectType,
1749
- queries = props.queries,
1750
- filterMessageList = props.filterMessageList,
1751
- _h = props.disableMarkAsRead,
1752
- disableMarkAsRead = _h === void 0 ? false : _h,
1753
- onReplyInThread = props.onReplyInThread,
1754
- onQuoteMessageClick = props.onQuoteMessageClick,
1755
- onMessageAnimated = props.onMessageAnimated,
1756
- onMessageHighlighted = props.onMessageHighlighted,
1757
- _j = props.scrollBehavior,
1758
- scrollBehavior = _j === void 0 ? 'auto' : _j,
1759
- _k = props.reconnectOnIdle,
1760
- reconnectOnIdle = _k === void 0 ? true : _k;
1761
- var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1762
- var config = globalStore.config;
1763
- var replyType = channelReplyType !== null && channelReplyType !== void 0 ? channelReplyType : config.replyType;
1764
- var pubSub = config.pubSub,
1765
- logger = config.logger,
1766
- userId = config.userId,
1767
- isOnline = config.isOnline,
1768
- imageCompression = config.imageCompression,
1769
- isMentionEnabled = config.isMentionEnabled,
1770
- isVoiceMessageEnabled = config.isVoiceMessageEnabled,
1771
- onUserProfileMessage = config.onUserProfileMessage,
1772
- markAsReadScheduler = config.markAsReadScheduler,
1773
- groupChannel = config.groupChannel;
1774
- 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;
1775
- 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;
1776
- var globalConfigs = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
1777
- var _l = React.useState(startingPoint),
1778
- initialTimeStamp = _l[0],
1779
- setInitialTimeStamp = _l[1];
1780
- React.useEffect(function () {
1781
- setInitialTimeStamp(startingPoint);
1782
- }, [startingPoint, channelUrl]);
1783
- var _m = React.useState(0),
1784
- animatedMessageId = _m[0],
1785
- setAnimatedMessageId = _m[1];
1786
- var _o = React.useState(highlightedMessage),
1787
- highLightedMessageId = _o[0],
1788
- setHighLightedMessageId = _o[1];
1789
- React.useEffect(function () {
1790
- setHighLightedMessageId(highlightedMessage);
1791
- }, [highlightedMessage]);
1792
- var userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
1793
- var _p = React.useState(null),
1794
- quoteMessage = _p[0],
1795
- setQuoteMessage = _p[1];
1796
- var _q = React.useState(false),
1797
- isScrolled = _q[0],
1798
- setIsScrolled = _q[1];
1799
- var _r = React.useReducer(channelReducer, initialState),
1800
- messagesStore = _r[0],
1801
- messagesDispatcher = _r[1];
1802
- var scrollRef = React.useRef(null);
1803
- var allMessages = messagesStore.allMessages,
1804
- localMessages = messagesStore.localMessages,
1805
- loading = messagesStore.loading,
1806
- initialized = messagesStore.initialized,
1807
- unreadSince = messagesStore.unreadSince,
1808
- isInvalid = messagesStore.isInvalid,
1809
- currentGroupChannel = messagesStore.currentGroupChannel,
1810
- hasMorePrev = messagesStore.hasMorePrev,
1811
- oldestMessageTimeStamp = messagesStore.oldestMessageTimeStamp,
1812
- hasMoreNext = messagesStore.hasMoreNext,
1813
- latestMessageTimeStamp = messagesStore.latestMessageTimeStamp,
1814
- emojiContainer = messagesStore.emojiContainer,
1815
- readStatus = messagesStore.readStatus;
1816
- var isSuper = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isSuper) || false;
1817
- var isBroadcast = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isBroadcast) || false;
1818
- var usingReaction = getIsReactionEnabled({
1819
- isBroadcast: isBroadcast,
1820
- isSuper: isSuper,
1821
- globalLevel: config === null || config === void 0 ? void 0 : config.isReactionEnabled,
1822
- moduleLevel: isReactionEnabled
1823
- });
1824
- var emojiAllMap = React.useMemo(function () {
1825
- return usingReaction ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map();
1826
- }, [emojiContainer]);
1827
- var nicknamesMap = React.useMemo(function () {
1828
- return usingReaction && currentGroupChannel ? utils.getNicknamesMapFromMembers(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) : new Map();
1829
- }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members]);
1830
- // Animate message
1831
- React.useEffect(function () {
1832
- if (animatedMessage) {
1833
- setAnimatedMessageId(animatedMessage);
1834
- }
1835
- }, [animatedMessage]);
1836
- // Scrollup is default scroll for channel
1837
- var onScrollCallback = useScrollCallback({
1838
- currentGroupChannel: currentGroupChannel,
1839
- oldestMessageTimeStamp: oldestMessageTimeStamp,
1840
- userFilledMessageListQuery: userFilledMessageListQuery,
1841
- replyType: replyType
1842
- }, {
1843
- hasMorePrev: hasMorePrev,
1844
- logger: logger,
1845
- messagesDispatcher: messagesDispatcher,
1846
- sdk: sdk
1847
- });
1848
- var scrollToMessage = useScrollToMessage({
1849
- setInitialTimeStamp: setInitialTimeStamp,
1850
- setAnimatedMessageId: setAnimatedMessageId,
1851
- allMessages: allMessages,
1852
- scrollRef: scrollRef
1853
- }, {
1854
- logger: logger
1855
- });
1856
- // onScrollDownCallback is added for navigation to different timestamps on messageSearch
1857
- // hasMorePrev, onScrollCallback -> scroll up(default behavior)
1858
- // hasMoreNext, onScrollDownCallback -> scroll down
1859
- var onScrollDownCallback = useScrollDownCallback({
1860
- currentGroupChannel: currentGroupChannel,
1861
- latestMessageTimeStamp: latestMessageTimeStamp,
1862
- userFilledMessageListQuery: userFilledMessageListQuery,
1863
- hasMoreNext: hasMoreNext,
1864
- replyType: replyType,
1865
- isVoiceMessageEnabled: isVoiceMessageEnabled
1866
- }, {
1867
- logger: logger,
1868
- messagesDispatcher: messagesDispatcher,
1869
- sdk: sdk
1870
- });
1871
- var toggleReaction = useToggleReactionCallback({
1872
- currentGroupChannel: currentGroupChannel
1873
- }, {
1874
- logger: logger
1875
- });
1876
- // to create message-datasource
1877
- // this hook sets currentGroupChannel asynchronously
1878
- useSetChannel({
1879
- channelUrl: channelUrl,
1880
- sdkInit: sdkInit,
1881
- disableMarkAsRead: disableMarkAsRead
1882
- }, {
1883
- messagesDispatcher: messagesDispatcher,
1884
- sdk: sdk,
1885
- logger: logger,
1886
- markAsReadScheduler: markAsReadScheduler
1887
- });
1888
- // to set quote message as null
1889
- React.useEffect(function () {
1890
- setQuoteMessage(null);
1891
- }, [channelUrl]);
1892
- // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
1893
- useHandleChannelEvents({
1894
- currentGroupChannel: currentGroupChannel,
1895
- sdkInit: sdkInit,
1896
- currentUserId: userId,
1897
- disableMarkAsRead: disableMarkAsRead
1898
- }, {
1899
- messagesDispatcher: messagesDispatcher,
1900
- sdk: sdk,
1901
- logger: logger,
1902
- scrollRef: scrollRef,
1903
- setQuoteMessage: setQuoteMessage
1904
- });
1905
- // hook that fetches messages when channel changes
1906
- // to be clear here useGetChannel sets currentGroupChannel
1907
- // and useInitialMessagesFetch executes when currentGroupChannel changes
1908
- // p.s This one executes on initialTimeStamp change too
1909
- useInitialMessagesFetch({
1910
- currentGroupChannel: currentGroupChannel,
1911
- userFilledMessageListQuery: userFilledMessageListQuery,
1912
- initialTimeStamp: initialTimeStamp,
1913
- replyType: replyType,
1914
- setIsScrolled: setIsScrolled
1915
- }, {
1916
- logger: logger,
1917
- scrollRef: scrollRef,
1918
- messagesDispatcher: messagesDispatcher
1919
- });
1920
- // handles API calls from withSendbird
1921
- useHandleChannelPubsubEvents({
1922
- channelUrl: channelUrl,
1923
- sdkInit: sdkInit,
1924
- pubSub: pubSub,
1925
- dispatcher: messagesDispatcher,
1926
- scrollRef: scrollRef
1927
- });
1928
- // handling connection breaks
1929
- useHandleReconnect({
1930
- isOnline: isOnline,
1931
- replyType: replyType,
1932
- disableMarkAsRead: disableMarkAsRead,
1933
- reconnectOnIdle: reconnectOnIdle
1934
- }, {
1935
- logger: logger,
1936
- sdk: sdk,
1937
- scrollRef: scrollRef,
1938
- currentGroupChannel: currentGroupChannel,
1939
- messagesDispatcher: messagesDispatcher,
1940
- userFilledMessageListQuery: userFilledMessageListQuery,
1941
- markAsReadScheduler: markAsReadScheduler
1942
- });
1943
- // callbacks for Message CURD actions
1944
- var deleteMessage = useDeleteMessageCallback({
1945
- currentGroupChannel: currentGroupChannel,
1946
- messagesDispatcher: messagesDispatcher
1947
- }, {
1948
- logger: logger
1949
- });
1950
- var updateMessage = useUpdateMessageCallback({
1951
- currentGroupChannel: currentGroupChannel,
1952
- messagesDispatcher: messagesDispatcher,
1953
- onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
1954
- isMentionEnabled: isMentionEnabled
1955
- }, {
1956
- logger: logger,
1957
- pubSub: pubSub
1958
- });
1959
- var resendMessage = useResendMessageCallback({
1960
- currentGroupChannel: currentGroupChannel,
1961
- messagesDispatcher: messagesDispatcher
1962
- }, {
1963
- logger: logger
1964
- });
1965
- var _s = useSendMessageCallback({
1966
- currentGroupChannel: currentGroupChannel,
1967
- isMentionEnabled: isMentionEnabled,
1968
- onBeforeSendUserMessage: onBeforeSendUserMessage
1969
- }, {
1970
- logger: logger,
1971
- pubSub: pubSub,
1972
- scrollRef: scrollRef,
1973
- messagesDispatcher: messagesDispatcher
1974
- }),
1975
- messageInputRef = _s[0],
1976
- sendMessage = _s[1];
1977
- var sendFileMessage = useSendFileMessageCallback({
1978
- currentGroupChannel: currentGroupChannel,
1979
- imageCompression: imageCompression,
1980
- onBeforeSendFileMessage: onBeforeSendFileMessage
1981
- }, {
1982
- logger: logger,
1983
- pubSub: pubSub,
1984
- scrollRef: scrollRef,
1985
- messagesDispatcher: messagesDispatcher
1986
- })[0];
1987
- var sendVoiceMessage = useSendVoiceMessageCallback({
1988
- currentGroupChannel: currentGroupChannel,
1989
- onBeforeSendVoiceMessage: onBeforeSendVoiceMessage
1990
- }, {
1991
- logger: logger,
1992
- pubSub: pubSub,
1993
- scrollRef: scrollRef,
1994
- messagesDispatcher: messagesDispatcher
1995
- })[0];
1996
- var sendMultipleFilesMessage = useSendMultipleFilesMessage.useSendMultipleFilesMessage({
1997
- currentChannel: currentGroupChannel,
1998
- onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1999
- publishingModules: [useSendMultipleFilesMessage.PublishingModuleType.CHANNEL]
2000
- }, {
2001
- logger: logger,
2002
- pubSub: pubSub,
2003
- scrollRef: scrollRef
2004
- })[0];
2005
- return /*#__PURE__*/React__default["default"].createElement(ChannelContext.Provider, {
2006
- value: {
2007
- // props
2008
- channelUrl: channelUrl,
2009
- isReactionEnabled: usingReaction,
2010
- isMessageGroupingEnabled: isMessageGroupingEnabled,
2011
- isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
2012
- showSearchIcon: showSearchIcon !== null && showSearchIcon !== void 0 ? showSearchIcon : globalConfigs.showSearchIcon,
2013
- highlightedMessage: highlightedMessage,
2014
- startingPoint: startingPoint,
2015
- onBeforeSendUserMessage: onBeforeSendUserMessage,
2016
- onBeforeSendFileMessage: onBeforeSendFileMessage,
2017
- onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
2018
- onChatHeaderActionClick: onChatHeaderActionClick,
2019
- onSearchClick: onSearchClick,
2020
- onBackClick: onBackClick,
2021
- replyType: replyType,
2022
- threadReplySelectType: (_e = threadReplySelectType !== null && threadReplySelectType !== void 0 ? threadReplySelectType : resolvedReplyType.getCaseResolvedThreadReplySelectType(groupChannel.threadReplySelectType).upperCase) !== null && _e !== void 0 ? _e : _const.ThreadReplySelectType.THREAD,
2023
- queries: queries,
2024
- filterMessageList: filterMessageList,
2025
- disableMarkAsRead: disableMarkAsRead,
2026
- onReplyInThread: onReplyInThread,
2027
- onQuoteMessageClick: onQuoteMessageClick,
2028
- onMessageAnimated: onMessageAnimated,
2029
- onMessageHighlighted: onMessageHighlighted,
2030
- // messagesStore
2031
- allMessages: allMessages,
2032
- localMessages: localMessages,
2033
- loading: loading,
2034
- initialized: initialized,
2035
- unreadSince: unreadSince,
2036
- isInvalid: isInvalid,
2037
- currentGroupChannel: currentGroupChannel,
2038
- hasMorePrev: hasMorePrev,
2039
- hasMoreNext: hasMoreNext,
2040
- oldestMessageTimeStamp: oldestMessageTimeStamp,
2041
- latestMessageTimeStamp: latestMessageTimeStamp,
2042
- emojiContainer: emojiContainer,
2043
- readStatus: readStatus,
2044
- // utils
2045
- scrollToMessage: scrollToMessage,
2046
- quoteMessage: quoteMessage,
2047
- setQuoteMessage: setQuoteMessage,
2048
- deleteMessage: deleteMessage,
2049
- updateMessage: updateMessage,
2050
- resendMessage: resendMessage,
2051
- messageInputRef: messageInputRef,
2052
- sendMessage: sendMessage,
2053
- sendFileMessage: sendFileMessage,
2054
- sendVoiceMessage: sendVoiceMessage,
2055
- sendMultipleFilesMessage: sendMultipleFilesMessage,
2056
- initialTimeStamp: initialTimeStamp,
2057
- messageActionTypes: useSendMultipleFilesMessage.channelActions,
2058
- messagesDispatcher: messagesDispatcher,
2059
- setInitialTimeStamp: setInitialTimeStamp,
2060
- setAnimatedMessageId: setAnimatedMessageId,
2061
- setHighLightedMessageId: setHighLightedMessageId,
2062
- animatedMessageId: animatedMessageId,
2063
- highLightedMessageId: highLightedMessageId,
2064
- nicknamesMap: nicknamesMap,
2065
- emojiAllMap: emojiAllMap,
2066
- onScrollCallback: onScrollCallback,
2067
- onScrollDownCallback: onScrollDownCallback,
2068
- scrollRef: scrollRef,
2069
- scrollBehavior: scrollBehavior,
2070
- toggleReaction: toggleReaction,
2071
- isScrolled: isScrolled,
2072
- setIsScrolled: setIsScrolled
2073
- }
2074
- }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
2075
- 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,
2076
- renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile,
2077
- onUserProfileMessage: onUserProfileMessage
2078
- }, children));
2079
- };
2080
- var useChannelContext = function () {
2081
- return React__default["default"].useContext(ChannelContext);
2082
- };
2083
-
2084
- exports.ChannelProvider = ChannelProvider;
2085
- exports.getIsReactionEnabled = getIsReactionEnabled;
2086
- exports.useChannelContext = useChannelContext;
2087
- //# sourceMappingURL=ChannelProvider-fc111e5f.js.map