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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (936) hide show
  1. package/App.js +312 -235
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +544 -0
  4. package/Channel/components/ChannelHeader.js +46 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +104 -131
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +56 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +240 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +152 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +260 -175
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +34 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +139 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +44 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +12 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +69 -44
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +101 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +72 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +32 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-1d36e2e9.js → ChannelListProvider-4cf5c0f5.js} +233 -285
  45. package/ChannelListProvider-4cf5c0f5.js.map +1 -0
  46. package/{ChannelProvider-289cd35f.js → ChannelProvider-6e8e99df.js} +659 -726
  47. package/ChannelProvider-6e8e99df.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-34603fa5.js +44 -0
  76. package/CreateChannelProvider-34603fa5.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-04c0c9dc.js +20 -0
  90. package/{LocalizationContext-289c1917.js.map → LocalizationContext-04c0c9dc.js.map} +1 -1
  91. package/MediaQueryContext-ff9dca2b.js +87 -0
  92. package/MediaQueryContext-ff9dca2b.js.map +1 -0
  93. package/MemberList-9bf26111.js +403 -0
  94. package/MemberList-9bf26111.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +50 -35
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +174 -191
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +36 -30
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-d7372692.js +429 -0
  128. package/OpenChannelListProvider-d7372692.js.map +1 -0
  129. package/OpenChannelProvider-24cd68b9.js +1885 -0
  130. package/OpenChannelProvider-24cd68b9.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-94e2bf9e.js +36 -0
  147. package/RemoveMessageModal-94e2bf9e.js.map +1 -0
  148. package/SendbirdProvider.js +749 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +238 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +112 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +108 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +306 -276
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +146 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +169 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +87 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-203b94f3.js +1695 -0
  170. package/ThreadProvider-203b94f3.js.map +1 -0
  171. package/{UserProfileContext-e3530842.js → UserProfileContext-c776d522.js} +1 -4
  172. package/{UserProfileContext-e3530842.js.map → UserProfileContext-c776d522.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-77d8f487.js +170 -0
  174. package/VoiceMessageInputWrapper-77d8f487.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +84 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +156 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +121 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-62e6d3a7.js +123 -0
  184. package/WebAudioUtils-62e6d3a7.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-519f674b.js → _rollupPluginBabelHelpers-fb0e05a4.js} +17 -11
  186. package/_rollupPluginBabelHelpers-fb0e05a4.js.map +1 -0
  187. package/actionTypes-1db5749d.js +8 -0
  188. package/actionTypes-1db5749d.js.map +1 -0
  189. package/cjs/App.js +312 -235
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +46 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +102 -129
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +56 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +243 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +151 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +260 -175
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +34 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +139 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +44 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +69 -44
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +100 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +72 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +32 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-0de52d2b.js → ChannelListProvider-e0ce316a.js} +232 -284
  232. package/cjs/ChannelListProvider-e0ce316a.js.map +1 -0
  233. package/cjs/{ChannelProvider-fc58e60e.js → ChannelProvider-0df75472.js} +657 -724
  234. package/cjs/ChannelProvider-0df75472.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-c0fca0a5.js +52 -0
  263. package/cjs/CreateChannelProvider-c0fca0a5.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-bddc5c2b.js → LocalizationContext-0e429c3d.js} +9 -11
  277. package/cjs/{LocalizationContext-bddc5c2b.js.map → LocalizationContext-0e429c3d.js.map} +1 -1
  278. package/cjs/MediaQueryContext-33fc3b17.js +94 -0
  279. package/cjs/MediaQueryContext-33fc3b17.js.map +1 -0
  280. package/cjs/MemberList-a45a51c4.js +409 -0
  281. package/cjs/MemberList-a45a51c4.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +36 -30
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-fc8b53ee.js +439 -0
  315. package/cjs/OpenChannelListProvider-fc8b53ee.js.map +1 -0
  316. package/cjs/OpenChannelProvider-217a8ac2.js +1894 -0
  317. package/cjs/OpenChannelProvider-217a8ac2.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-9169766a.js → RemoveMessageModal-5903f232.js} +19 -14
  333. package/cjs/RemoveMessageModal-5903f232.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +748 -408
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +237 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +108 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +305 -275
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +146 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +170 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +87 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-8ee179c2.js +1704 -0
  356. package/cjs/ThreadProvider-8ee179c2.js.map +1 -0
  357. package/cjs/{UserProfileContext-8d0dee57.js → UserProfileContext-87580795.js} +1 -4
  358. package/cjs/{UserProfileContext-8d0dee57.js.map → UserProfileContext-87580795.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +17 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +166 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-e226789c.js +126 -0
  370. package/cjs/WebAudioUtils-e226789c.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-fed1e122.js → _rollupPluginBabelHelpers-c89f311a.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-c89f311a.js.map +1 -0
  373. package/cjs/actionTypes-0fa2943d.js +10 -0
  374. package/cjs/actionTypes-0fa2943d.js.map +1 -0
  375. package/cjs/{color-f47044b3.js → color-bada0fc7.js} +13 -21
  376. package/cjs/color-bada0fc7.js.map +1 -0
  377. package/cjs/{compareIds-4124b297.js → compareIds-ccccfe86.js} +5 -6
  378. package/cjs/compareIds-ccccfe86.js.map +1 -0
  379. package/cjs/const-a85f3364.js +20 -0
  380. package/cjs/const-a85f3364.js.map +1 -0
  381. package/cjs/{const-fd64914b.js → const-d8cece19.js} +4 -4
  382. package/cjs/const-d8cece19.js.map +1 -0
  383. package/cjs/consts-1c3020ad.js +6 -0
  384. package/cjs/consts-1c3020ad.js.map +1 -0
  385. package/cjs/consts-1d94dc61.js +6 -0
  386. package/cjs/consts-1d94dc61.js.map +1 -0
  387. package/cjs/consts-5e0f96b3.js +41 -0
  388. package/cjs/consts-5e0f96b3.js.map +1 -0
  389. package/cjs/consts-740f60b8.js +6 -0
  390. package/cjs/consts-740f60b8.js.map +1 -0
  391. package/cjs/{context-7a0e057b.js → context-8e7e8457.js} +6 -5
  392. package/cjs/{context-7a0e057b.js.map → context-8e7e8457.js.map} +1 -1
  393. package/cjs/dist/index.css +1640 -1187
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/{index-d14a43c4.js → index-016f7106.js} +1 -1
  398. package/cjs/{index-d14a43c4.js.map → index-016f7106.js.map} +1 -1
  399. package/cjs/{index-9ca07037.js → index-1613ae03.js} +29 -37
  400. package/cjs/index-1613ae03.js.map +1 -0
  401. package/cjs/index-2be14d85.js +57 -0
  402. package/cjs/index-2be14d85.js.map +1 -0
  403. package/cjs/index-3b30939e.js +79 -0
  404. package/cjs/index-3b30939e.js.map +1 -0
  405. package/cjs/index-5231fde8.js +585 -0
  406. package/cjs/index-5231fde8.js.map +1 -0
  407. package/cjs/index-648c06ed.js +330 -0
  408. package/cjs/index-648c06ed.js.map +1 -0
  409. package/cjs/{index-5d5497c2.js → index-6cb0d040.js} +11 -25
  410. package/cjs/index-6cb0d040.js.map +1 -0
  411. package/cjs/{index-c475c3c8.js → index-71fdaa1b.js} +55 -63
  412. package/cjs/index-71fdaa1b.js.map +1 -0
  413. package/cjs/{index-343cd84a.js → index-7d125728.js} +2 -2
  414. package/cjs/{index-343cd84a.js.map → index-7d125728.js.map} +1 -1
  415. package/cjs/{index-3a4f8219.js → index-7f6bbe0c.js} +42 -51
  416. package/cjs/index-7f6bbe0c.js.map +1 -0
  417. package/cjs/{index-8de8f28a.js → index-869e9a94.js} +2 -2
  418. package/cjs/{index-8de8f28a.js.map → index-869e9a94.js.map} +1 -1
  419. package/cjs/index-89d81dad.js +456 -0
  420. package/cjs/index-89d81dad.js.map +1 -0
  421. package/cjs/{index-abbc8024.js → index-8affdde5.js} +57 -3
  422. package/cjs/index-8affdde5.js.map +1 -0
  423. package/cjs/index-99f16473.js +202 -0
  424. package/cjs/index-99f16473.js.map +1 -0
  425. package/cjs/index-c9d348b6.js +367 -0
  426. package/cjs/index-c9d348b6.js.map +1 -0
  427. package/cjs/index-e8c0080f.js +161 -0
  428. package/cjs/index-e8c0080f.js.map +1 -0
  429. package/cjs/{index-c5cd589d.js → index-f570d25c.js} +1 -1
  430. package/cjs/index-f570d25c.js.map +1 -0
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-0585715f.js +6 -0
  434. package/cjs/index.module-0585715f.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/resolvedReplyType-67e78c63.js +32 -0
  438. package/cjs/resolvedReplyType-67e78c63.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-3e6167ef.js → stringSet-106da549.js} +112 -90
  442. package/cjs/stringSet-106da549.js.map +1 -0
  443. package/cjs/tokenize-2aa0f876.js +164 -0
  444. package/cjs/tokenize-2aa0f876.js.map +1 -0
  445. package/cjs/topics-b384e6b3.js +18 -0
  446. package/cjs/topics-b384e6b3.js.map +1 -0
  447. package/cjs/types-e0b77c8c.js +17 -0
  448. package/cjs/types-e0b77c8c.js.map +1 -0
  449. package/cjs/ui/Accordion.js +21 -24
  450. package/cjs/ui/Accordion.js.map +1 -1
  451. package/cjs/ui/AccordionGroup.js +10 -13
  452. package/cjs/ui/AccordionGroup.js.map +1 -1
  453. package/cjs/ui/AdminMessage.js +10 -13
  454. package/cjs/ui/AdminMessage.js.map +1 -1
  455. package/cjs/ui/Avatar.js +57 -79
  456. package/cjs/ui/Avatar.js.map +1 -1
  457. package/cjs/ui/Badge.js +16 -15
  458. package/cjs/ui/Badge.js.map +1 -1
  459. package/cjs/ui/BottomSheet.js +14 -12
  460. package/cjs/ui/BottomSheet.js.map +1 -1
  461. package/cjs/ui/Button.js +20 -35
  462. package/cjs/ui/Button.js.map +1 -1
  463. package/cjs/ui/ChannelAvatar.js +38 -41
  464. package/cjs/ui/ChannelAvatar.js.map +1 -1
  465. package/cjs/ui/Checkbox.js +11 -13
  466. package/cjs/ui/Checkbox.js.map +1 -1
  467. package/cjs/ui/ConnectionStatus.js +7 -5
  468. package/cjs/ui/ConnectionStatus.js.map +1 -1
  469. package/cjs/ui/ContextMenu.js +175 -199
  470. package/cjs/ui/ContextMenu.js.map +1 -1
  471. package/cjs/ui/DateSeparator.js +12 -14
  472. package/cjs/ui/DateSeparator.js.map +1 -1
  473. package/cjs/ui/EmojiReactions.js +299 -107
  474. package/cjs/ui/EmojiReactions.js.map +1 -1
  475. package/cjs/ui/FileMessageItemBody.js +22 -23
  476. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  477. package/cjs/ui/FileViewer.js +36 -36
  478. package/cjs/ui/FileViewer.js.map +1 -1
  479. package/cjs/ui/Icon.js +447 -623
  480. package/cjs/ui/Icon.js.map +1 -1
  481. package/cjs/ui/IconButton.js +20 -31
  482. package/cjs/ui/IconButton.js.map +1 -1
  483. package/cjs/ui/ImageRenderer.js +34 -43
  484. package/cjs/ui/ImageRenderer.js.map +1 -1
  485. package/cjs/ui/Input.js +16 -16
  486. package/cjs/ui/Input.js.map +1 -1
  487. package/cjs/ui/Label.js +2 -2
  488. package/cjs/ui/LinkLabel.js +4 -3
  489. package/cjs/ui/LinkLabel.js.map +1 -1
  490. package/cjs/ui/Loader.js +10 -12
  491. package/cjs/ui/Loader.js.map +1 -1
  492. package/cjs/ui/MentionLabel.js +58 -65
  493. package/cjs/ui/MentionLabel.js.map +1 -1
  494. package/cjs/ui/MentionUserLabel.js +12 -10
  495. package/cjs/ui/MentionUserLabel.js.map +1 -1
  496. package/cjs/ui/MessageContent.js +212 -548
  497. package/cjs/ui/MessageContent.js.map +1 -1
  498. package/cjs/ui/MessageInput.js +392 -119
  499. package/cjs/ui/MessageInput.js.map +1 -1
  500. package/cjs/ui/MessageItemMenu.js +83 -83
  501. package/cjs/ui/MessageItemMenu.js.map +1 -1
  502. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  503. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  504. package/cjs/ui/MessageSearchFileItem.js +56 -51
  505. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  506. package/cjs/ui/MessageSearchItem.js +42 -41
  507. package/cjs/ui/MessageSearchItem.js.map +1 -1
  508. package/cjs/ui/MessageStatus.js +10 -11
  509. package/cjs/ui/MessageStatus.js.map +1 -1
  510. package/cjs/ui/Modal.js +52 -46
  511. package/cjs/ui/Modal.js.map +1 -1
  512. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  513. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/cjs/ui/OGMessageItemBody.js +67 -63
  515. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  516. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  517. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/cjs/ui/OpenChannelAvatar.js +18 -17
  519. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  520. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  521. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  522. package/cjs/ui/OpenchannelFileMessage.js +140 -151
  523. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  525. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
  527. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  528. package/cjs/ui/OpenchannelUserMessage.js +168 -178
  529. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  530. package/cjs/ui/PlaceHolder.js +5 -6
  531. package/cjs/ui/PlaceHolder.js.map +1 -1
  532. package/cjs/ui/PlaybackTime.js +35 -0
  533. package/cjs/ui/PlaybackTime.js.map +1 -0
  534. package/cjs/ui/ProgressBar.js +40 -0
  535. package/cjs/ui/ProgressBar.js.map +1 -0
  536. package/cjs/ui/QuoteMessage.js +50 -44
  537. package/cjs/ui/QuoteMessage.js.map +1 -1
  538. package/cjs/ui/QuoteMessageInput.js +31 -29
  539. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  540. package/cjs/ui/ReactionBadge.js +13 -21
  541. package/cjs/ui/ReactionBadge.js.map +1 -1
  542. package/cjs/ui/ReactionButton.js +30 -27
  543. package/cjs/ui/ReactionButton.js.map +1 -1
  544. package/cjs/ui/SortByRow.js +14 -18
  545. package/cjs/ui/SortByRow.js.map +1 -1
  546. package/cjs/ui/TextButton.js +13 -21
  547. package/cjs/ui/TextButton.js.map +1 -1
  548. package/cjs/ui/TextMessageItemBody.js +41 -48
  549. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  550. package/cjs/ui/ThreadReplies.js +25 -22
  551. package/cjs/ui/ThreadReplies.js.map +1 -1
  552. package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
  553. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  554. package/cjs/ui/Toggle.js +202 -0
  555. package/cjs/ui/Toggle.js.map +1 -0
  556. package/cjs/ui/Tooltip.js +8 -9
  557. package/cjs/ui/Tooltip.js.map +1 -1
  558. package/cjs/ui/TooltipWrapper.js +17 -20
  559. package/cjs/ui/TooltipWrapper.js.map +1 -1
  560. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  561. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  562. package/cjs/ui/UserListItem.js +76 -76
  563. package/cjs/ui/UserListItem.js.map +1 -1
  564. package/cjs/ui/UserProfile.js +31 -29
  565. package/cjs/ui/UserProfile.js.map +1 -1
  566. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  567. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  568. package/cjs/ui/VoiceMessgeInput.js +22 -0
  569. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  570. package/cjs/ui/Word.js +31 -39
  571. package/cjs/ui/Word.js.map +1 -1
  572. package/cjs/useDirtyGetMentions-b8ca5675.js +77 -0
  573. package/cjs/useDirtyGetMentions-b8ca5675.js.map +1 -0
  574. package/cjs/useLongPress-8037894e.js +87 -0
  575. package/cjs/useLongPress-8037894e.js.map +1 -0
  576. package/cjs/useSendbirdStateContext.js +2 -3
  577. package/cjs/useSendbirdStateContext.js.map +1 -1
  578. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  579. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  580. package/cjs/utils/message/isVoiceMessage.js +12 -0
  581. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  582. package/cjs/{utils-5f86a394.js → utils-01ff5332.js} +3 -7
  583. package/cjs/{utils-5f86a394.js.map → utils-01ff5332.js.map} +1 -1
  584. package/cjs/utils-2edcddc8.js +35 -0
  585. package/cjs/utils-2edcddc8.js.map +1 -0
  586. package/cjs/utils-5ac3db44.js +31 -0
  587. package/cjs/utils-5ac3db44.js.map +1 -0
  588. package/cjs/{utils-374d57b4.js → utils-ad7b5b82.js} +1 -1
  589. package/cjs/{utils-374d57b4.js.map → utils-ad7b5b82.js.map} +1 -1
  590. package/cjs/uuid-12b01f73.js +15 -0
  591. package/cjs/{uuid-2475ef6c.js.map → uuid-12b01f73.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-163ba24d.js → color-347926b6.js} +5 -14
  595. package/{color-163ba24d.js.map → color-347926b6.js.map} +1 -1
  596. package/{compareIds-ef41eb2c.js → compareIds-3a43c11b.js} +5 -6
  597. package/compareIds-3a43c11b.js.map +1 -0
  598. package/const-18dba7a4.js +13 -0
  599. package/const-18dba7a4.js.map +1 -0
  600. package/{const-76d87f47.js → const-c608f749.js} +4 -4
  601. package/const-c608f749.js.map +1 -0
  602. package/consts-6bca01c7.js +4 -0
  603. package/consts-6bca01c7.js.map +1 -0
  604. package/consts-7a169a0f.js +4 -0
  605. package/consts-7a169a0f.js.map +1 -0
  606. package/consts-c1baf70a.js +27 -0
  607. package/consts-c1baf70a.js.map +1 -0
  608. package/consts-fb4d475a.js +4 -0
  609. package/consts-fb4d475a.js.map +1 -0
  610. package/context-786ef1a2.js +13 -0
  611. package/{context-10475c77.js.map → context-786ef1a2.js.map} +1 -1
  612. package/dist/index.css +1640 -1187
  613. package/dist/index.css.map +1 -1
  614. package/handlers/OpenChannelHandler.js.map +1 -1
  615. package/handlers/SessionHandler.js.map +1 -1
  616. package/{index-12754b45.js → index-06b854f7.js} +55 -63
  617. package/index-06b854f7.js.map +1 -0
  618. package/index-2673effb.js +360 -0
  619. package/index-2673effb.js.map +1 -0
  620. package/{index-4ebfc7a7.js → index-319984d0.js} +1 -1
  621. package/{index-4ebfc7a7.js.map → index-319984d0.js.map} +1 -1
  622. package/{index-3c013a28.js → index-4455855e.js} +2 -2
  623. package/{index-3c013a28.js.map → index-4455855e.js.map} +1 -1
  624. package/index-6663ce18.js +450 -0
  625. package/index-6663ce18.js.map +1 -0
  626. package/{index-a02da5bd.js → index-6c252d25.js} +2 -2
  627. package/{index-a02da5bd.js.map → index-6c252d25.js.map} +1 -1
  628. package/index-71a20863.js +320 -0
  629. package/index-71a20863.js.map +1 -0
  630. package/index-7d71b26c.js +154 -0
  631. package/index-7d71b26c.js.map +1 -0
  632. package/{index-2f346069.js → index-9a4e0846.js} +1 -1
  633. package/index-9a4e0846.js.map +1 -0
  634. package/{index-232388fa.js → index-9cd77b08.js} +29 -37
  635. package/index-9cd77b08.js.map +1 -0
  636. package/index-c149ea48.js +187 -0
  637. package/index-c149ea48.js.map +1 -0
  638. package/index-cf3939c6.js +76 -0
  639. package/index-cf3939c6.js.map +1 -0
  640. package/index-cf859f03.js +540 -0
  641. package/index-cf859f03.js.map +1 -0
  642. package/{index-2784bdd8.js → index-e33f7f55.js} +11 -25
  643. package/index-e33f7f55.js.map +1 -0
  644. package/{index-aea7b7d6.js → index-eabd1e7e.js} +39 -48
  645. package/index-eabd1e7e.js.map +1 -0
  646. package/index-ebb62af1.js +51 -0
  647. package/index-ebb62af1.js.map +1 -0
  648. package/{index-751f97ce.js → index-edf844f0.js} +57 -4
  649. package/index-edf844f0.js.map +1 -0
  650. package/index.d.ts +176 -124
  651. package/index.js +84 -63
  652. package/index.js.map +1 -1
  653. package/index.module-6b7ed635.js +4 -0
  654. package/index.module-6b7ed635.js.map +1 -0
  655. package/lame.all.js +2537 -0
  656. package/lame.all.js.map +1 -0
  657. package/package.json +62 -41
  658. package/resolvedReplyType-8776d777.js +29 -0
  659. package/resolvedReplyType-8776d777.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-9ae71b7d.js → stringSet-e0ee1265.js} +112 -90
  663. package/stringSet-e0ee1265.js.map +1 -0
  664. package/tokenize-1b053c86.js +159 -0
  665. package/tokenize-1b053c86.js.map +1 -0
  666. package/topics-70f569e9.js +16 -0
  667. package/topics-70f569e9.js.map +1 -0
  668. package/types-77bbdda6.js +15 -0
  669. package/types-77bbdda6.js.map +1 -0
  670. package/ui/Accordion.js +21 -24
  671. package/ui/Accordion.js.map +1 -1
  672. package/ui/AccordionGroup.js +10 -13
  673. package/ui/AccordionGroup.js.map +1 -1
  674. package/ui/AdminMessage.js +10 -13
  675. package/ui/AdminMessage.js.map +1 -1
  676. package/ui/Avatar.js +57 -79
  677. package/ui/Avatar.js.map +1 -1
  678. package/ui/Badge.js +16 -15
  679. package/ui/Badge.js.map +1 -1
  680. package/ui/BottomSheet.js +14 -12
  681. package/ui/BottomSheet.js.map +1 -1
  682. package/ui/Button.js +20 -35
  683. package/ui/Button.js.map +1 -1
  684. package/ui/ChannelAvatar.js +38 -41
  685. package/ui/ChannelAvatar.js.map +1 -1
  686. package/ui/Checkbox.js +11 -13
  687. package/ui/Checkbox.js.map +1 -1
  688. package/ui/ConnectionStatus.js +7 -5
  689. package/ui/ConnectionStatus.js.map +1 -1
  690. package/ui/ContextMenu.js +176 -200
  691. package/ui/ContextMenu.js.map +1 -1
  692. package/ui/DateSeparator.js +12 -14
  693. package/ui/DateSeparator.js.map +1 -1
  694. package/ui/EmojiReactions.js +300 -108
  695. package/ui/EmojiReactions.js.map +1 -1
  696. package/ui/FileMessageItemBody.js +22 -23
  697. package/ui/FileMessageItemBody.js.map +1 -1
  698. package/ui/FileViewer.js +36 -36
  699. package/ui/FileViewer.js.map +1 -1
  700. package/ui/Icon.js +448 -622
  701. package/ui/Icon.js.map +1 -1
  702. package/ui/IconButton.js +20 -31
  703. package/ui/IconButton.js.map +1 -1
  704. package/ui/ImageRenderer.js +34 -43
  705. package/ui/ImageRenderer.js.map +1 -1
  706. package/ui/Input.js +16 -16
  707. package/ui/Input.js.map +1 -1
  708. package/ui/Label.js +2 -2
  709. package/ui/LinkLabel.js +4 -3
  710. package/ui/LinkLabel.js.map +1 -1
  711. package/ui/Loader.js +10 -12
  712. package/ui/Loader.js.map +1 -1
  713. package/ui/MentionLabel.js +58 -65
  714. package/ui/MentionLabel.js.map +1 -1
  715. package/ui/MentionUserLabel.js +12 -10
  716. package/ui/MentionUserLabel.js.map +1 -1
  717. package/ui/MessageContent.js +215 -551
  718. package/ui/MessageContent.js.map +1 -1
  719. package/ui/MessageInput.js +392 -120
  720. package/ui/MessageInput.js.map +1 -1
  721. package/ui/MessageItemMenu.js +83 -83
  722. package/ui/MessageItemMenu.js.map +1 -1
  723. package/ui/MessageItemReactionMenu.js +58 -62
  724. package/ui/MessageItemReactionMenu.js.map +1 -1
  725. package/ui/MessageSearchFileItem.js +55 -50
  726. package/ui/MessageSearchFileItem.js.map +1 -1
  727. package/ui/MessageSearchItem.js +41 -40
  728. package/ui/MessageSearchItem.js.map +1 -1
  729. package/ui/MessageStatus.js +10 -11
  730. package/ui/MessageStatus.js.map +1 -1
  731. package/ui/Modal.js +52 -46
  732. package/ui/Modal.js.map +1 -1
  733. package/ui/MutedAvatarOverlay.js +10 -10
  734. package/ui/MutedAvatarOverlay.js.map +1 -1
  735. package/ui/OGMessageItemBody.js +68 -64
  736. package/ui/OGMessageItemBody.js.map +1 -1
  737. package/ui/OpenChannelAdminMessage.js +8 -7
  738. package/ui/OpenChannelAdminMessage.js.map +1 -1
  739. package/ui/OpenChannelAvatar.js +18 -17
  740. package/ui/OpenChannelAvatar.js.map +1 -1
  741. package/ui/OpenchannelConversationHeader.js +17 -13
  742. package/ui/OpenchannelConversationHeader.js.map +1 -1
  743. package/ui/OpenchannelFileMessage.js +140 -151
  744. package/ui/OpenchannelFileMessage.js.map +1 -1
  745. package/ui/OpenchannelOGMessage.js +204 -233
  746. package/ui/OpenchannelOGMessage.js.map +1 -1
  747. package/ui/OpenchannelThumbnailMessage.js +215 -222
  748. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  749. package/ui/OpenchannelUserMessage.js +168 -178
  750. package/ui/OpenchannelUserMessage.js.map +1 -1
  751. package/ui/PlaceHolder.js +5 -6
  752. package/ui/PlaceHolder.js.map +1 -1
  753. package/ui/PlaybackTime.js +26 -0
  754. package/ui/PlaybackTime.js.map +1 -0
  755. package/ui/ProgressBar.js +30 -0
  756. package/ui/ProgressBar.js.map +1 -0
  757. package/ui/QuoteMessage.js +50 -44
  758. package/ui/QuoteMessage.js.map +1 -1
  759. package/ui/QuoteMessageInput.js +31 -29
  760. package/ui/QuoteMessageInput.js.map +1 -1
  761. package/ui/ReactionBadge.js +13 -21
  762. package/ui/ReactionBadge.js.map +1 -1
  763. package/ui/ReactionButton.js +30 -27
  764. package/ui/ReactionButton.js.map +1 -1
  765. package/ui/SortByRow.js +14 -18
  766. package/ui/SortByRow.js.map +1 -1
  767. package/ui/TextButton.js +13 -21
  768. package/ui/TextButton.js.map +1 -1
  769. package/ui/TextMessageItemBody.js +41 -48
  770. package/ui/TextMessageItemBody.js.map +1 -1
  771. package/ui/ThreadReplies.js +25 -22
  772. package/ui/ThreadReplies.js.map +1 -1
  773. package/ui/ThumbnailMessageItemBody.js +36 -45
  774. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  775. package/ui/Toggle.js +191 -0
  776. package/ui/Toggle.js.map +1 -0
  777. package/ui/Tooltip.js +8 -9
  778. package/ui/Tooltip.js.map +1 -1
  779. package/ui/TooltipWrapper.js +17 -20
  780. package/ui/TooltipWrapper.js.map +1 -1
  781. package/ui/UnknownMessageItemBody.js +21 -22
  782. package/ui/UnknownMessageItemBody.js.map +1 -1
  783. package/ui/UserListItem.js +76 -76
  784. package/ui/UserListItem.js.map +1 -1
  785. package/ui/UserProfile.js +31 -29
  786. package/ui/UserProfile.js.map +1 -1
  787. package/ui/VoiceMessageItemBody.js +110 -0
  788. package/ui/VoiceMessageItemBody.js.map +1 -0
  789. package/ui/VoiceMessgeInput.js +14 -0
  790. package/ui/VoiceMessgeInput.js.map +1 -0
  791. package/ui/Word.js +31 -39
  792. package/ui/Word.js.map +1 -1
  793. package/useDirtyGetMentions-f00f1f94.js +75 -0
  794. package/useDirtyGetMentions-f00f1f94.js.map +1 -0
  795. package/useLongPress-1ab49410.js +85 -0
  796. package/useLongPress-1ab49410.js.map +1 -0
  797. package/useSendbirdStateContext.js +2 -3
  798. package/useSendbirdStateContext.js.map +1 -1
  799. package/utils/message/getOutgoingMessageState.js +9 -15
  800. package/utils/message/getOutgoingMessageState.js.map +1 -1
  801. package/utils/message/isVoiceMessage.js +8 -0
  802. package/utils/message/isVoiceMessage.js.map +1 -0
  803. package/{utils-ea66f822.js → utils-56cb7de5.js} +1 -1
  804. package/{utils-ea66f822.js.map → utils-56cb7de5.js.map} +1 -1
  805. package/utils-77f7e8b2.js +29 -0
  806. package/utils-77f7e8b2.js.map +1 -0
  807. package/{utils-ddb0df4c.js → utils-7f3d0d8c.js} +3 -7
  808. package/{utils-ddb0df4c.js.map → utils-7f3d0d8c.js.map} +1 -1
  809. package/utils-af9b1c06.js +31 -0
  810. package/utils-af9b1c06.js.map +1 -0
  811. package/uuid-92d22300.js +13 -0
  812. package/{uuid-7e004f47.js.map → uuid-92d22300.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-1d36e2e9.js.map +0 -1
  816. package/ChannelProvider-289cd35f.js.map +0 -1
  817. package/CreateChannelProvider-72b655e9.js +0 -55
  818. package/CreateChannelProvider-72b655e9.js.map +0 -1
  819. package/LocalizationContext-289c1917.js +0 -22
  820. package/MediaQueryContext-273d29f6.js +0 -90
  821. package/MediaQueryContext-273d29f6.js.map +0 -1
  822. package/MemberList-7ad0fa0b.js +0 -435
  823. package/MemberList-7ad0fa0b.js.map +0 -1
  824. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  825. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  826. package/NotificationChannel/components/NotificationList.js +0 -111
  827. package/NotificationChannel/components/NotificationList.js.map +0 -1
  828. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  829. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  830. package/NotificationChannel/context.js +0 -12
  831. package/NotificationChannel.js +0 -58
  832. package/NotificationChannel.js.map +0 -1
  833. package/NotificationChannelProvider-ad556c64.js +0 -535
  834. package/NotificationChannelProvider-ad556c64.js.map +0 -1
  835. package/OpenChannelListProvider-0febf8b2.js +0 -434
  836. package/OpenChannelListProvider-0febf8b2.js.map +0 -1
  837. package/OpenChannelProvider-c254c663.js +0 -2000
  838. package/OpenChannelProvider-c254c663.js.map +0 -1
  839. package/RemoveMessageModal-d6cbf9fa.js +0 -31
  840. package/RemoveMessageModal-d6cbf9fa.js.map +0 -1
  841. package/ThreadProvider-8696ef31.js +0 -1644
  842. package/ThreadProvider-8696ef31.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-519f674b.js.map +0 -1
  844. package/actionTypes-9f87e87f.js +0 -6
  845. package/actionTypes-9f87e87f.js.map +0 -1
  846. package/cjs/ChannelListProvider-0de52d2b.js.map +0 -1
  847. package/cjs/ChannelProvider-fc58e60e.js.map +0 -1
  848. package/cjs/CreateChannelProvider-a82d20f4.js +0 -62
  849. package/cjs/CreateChannelProvider-a82d20f4.js.map +0 -1
  850. package/cjs/MediaQueryContext-4711a81f.js +0 -97
  851. package/cjs/MediaQueryContext-4711a81f.js.map +0 -1
  852. package/cjs/MemberList-b2623166.js +0 -441
  853. package/cjs/MemberList-b2623166.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  855. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  856. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  857. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  858. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  859. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  860. package/cjs/NotificationChannel/context.js +0 -21
  861. package/cjs/NotificationChannel.js +0 -64
  862. package/cjs/NotificationChannel.js.map +0 -1
  863. package/cjs/NotificationChannelProvider-2cdc7ff4.js +0 -543
  864. package/cjs/NotificationChannelProvider-2cdc7ff4.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-60bc3c69.js +0 -443
  866. package/cjs/OpenChannelListProvider-60bc3c69.js.map +0 -1
  867. package/cjs/OpenChannelProvider-3ed4eb6e.js +0 -2009
  868. package/cjs/OpenChannelProvider-3ed4eb6e.js.map +0 -1
  869. package/cjs/RemoveMessageModal-9169766a.js.map +0 -1
  870. package/cjs/ThreadProvider-389f5031.js +0 -1653
  871. package/cjs/ThreadProvider-389f5031.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-fed1e122.js.map +0 -1
  873. package/cjs/actionTypes-2f90e726.js +0 -10
  874. package/cjs/actionTypes-2f90e726.js.map +0 -1
  875. package/cjs/color-f47044b3.js.map +0 -1
  876. package/cjs/compareIds-4124b297.js.map +0 -1
  877. package/cjs/const-015e5589.js +0 -20
  878. package/cjs/const-015e5589.js.map +0 -1
  879. package/cjs/const-fd64914b.js.map +0 -1
  880. package/cjs/index-30c97863.js +0 -194
  881. package/cjs/index-30c97863.js.map +0 -1
  882. package/cjs/index-3a4f8219.js.map +0 -1
  883. package/cjs/index-40e4653a.js +0 -59
  884. package/cjs/index-40e4653a.js.map +0 -1
  885. package/cjs/index-5d5497c2.js.map +0 -1
  886. package/cjs/index-62c1bdfc.js +0 -701
  887. package/cjs/index-62c1bdfc.js.map +0 -1
  888. package/cjs/index-9ca07037.js.map +0 -1
  889. package/cjs/index-9f3670d0.js +0 -360
  890. package/cjs/index-9f3670d0.js.map +0 -1
  891. package/cjs/index-abbc8024.js.map +0 -1
  892. package/cjs/index-c475c3c8.js.map +0 -1
  893. package/cjs/index-c5cd589d.js.map +0 -1
  894. package/cjs/stringSet-3e6167ef.js.map +0 -1
  895. package/cjs/topics-56842e14.js +0 -22
  896. package/cjs/topics-56842e14.js.map +0 -1
  897. package/cjs/tslib.es6-b8ba50ef.js +0 -110
  898. package/cjs/tslib.es6-b8ba50ef.js.map +0 -1
  899. package/cjs/useLongPress-99c66f7f.js +0 -118
  900. package/cjs/useLongPress-99c66f7f.js.map +0 -1
  901. package/cjs/utils-9adfd244.js +0 -38
  902. package/cjs/utils-9adfd244.js.map +0 -1
  903. package/cjs/utils-f6a96ebf.js +0 -32
  904. package/cjs/utils-f6a96ebf.js.map +0 -1
  905. package/cjs/uuid-2475ef6c.js +0 -19
  906. package/compareIds-ef41eb2c.js.map +0 -1
  907. package/const-76d87f47.js.map +0 -1
  908. package/const-da6f3d34.js +0 -14
  909. package/const-da6f3d34.js.map +0 -1
  910. package/context-10475c77.js +0 -12
  911. package/index-12754b45.js.map +0 -1
  912. package/index-1e46e582.js +0 -179
  913. package/index-1e46e582.js.map +0 -1
  914. package/index-232388fa.js.map +0 -1
  915. package/index-2784bdd8.js.map +0 -1
  916. package/index-2f346069.js.map +0 -1
  917. package/index-4637b0de.js +0 -57
  918. package/index-4637b0de.js.map +0 -1
  919. package/index-4900e890.js +0 -353
  920. package/index-4900e890.js.map +0 -1
  921. package/index-751f97ce.js.map +0 -1
  922. package/index-855ef33d.js +0 -662
  923. package/index-855ef33d.js.map +0 -1
  924. package/index-aea7b7d6.js.map +0 -1
  925. package/stringSet-9ae71b7d.js.map +0 -1
  926. package/topics-e2963bba.js +0 -13
  927. package/topics-e2963bba.js.map +0 -1
  928. package/tslib.es6-72df3331.js +0 -104
  929. package/tslib.es6-72df3331.js.map +0 -1
  930. package/useLongPress-1a777e9e.js +0 -116
  931. package/useLongPress-1a777e9e.js.map +0 -1
  932. package/utils-2976f2c1.js +0 -30
  933. package/utils-2976f2c1.js.map +0 -1
  934. package/utils-6b69fb18.js +0 -34
  935. package/utils-6b69fb18.js.map +0 -1
  936. package/uuid-7e004f47.js +0 -17
@@ -1,236 +1,263 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('../../index-343cd84a.js');
5
- var Channel_context = require('../../ChannelProvider-fc58e60e.js');
6
- var ui_PlaceHolder = require('../../index-9ca07037.js');
4
+ var Channel_context = require('../../ChannelProvider-0df75472.js');
5
+ var ui_PlaceHolder = require('../../index-1613ae03.js');
7
6
  var ui_Icon = require('../../ui/Icon.js');
8
7
  var Channel_components_Message = require('./Message.js');
9
- var uuid = require('../../uuid-2475ef6c.js');
10
- require('../../index-8de8f28a.js');
11
- require('../../index-d14a43c4.js');
12
- require('../../UserProfileContext-8d0dee57.js');
8
+ var index = require('../../index-7d125728.js');
9
+ var Channel_components_UnreadCount = require('./UnreadCount.js');
10
+ var Channel_components_FrozenNotification = require('./FrozenNotification.js');
11
+ var consts = require('../../consts-5e0f96b3.js');
12
+ var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
13
+ var Message_context = require('../../Message/context.js');
14
+ var index$1 = require('../../index-3b30939e.js');
15
+ require('../../UserProfileContext-87580795.js');
13
16
  require('prop-types');
14
- require('../../useSendbirdStateContext.js');
15
- require('../../withSendbird.js');
16
- require('../../_rollupPluginBabelHelpers-fed1e122.js');
17
- require('../../topics-56842e14.js');
18
- require('../../index-62c1bdfc.js');
19
- require('../../tslib.es6-b8ba50ef.js');
17
+ require('../../const-a85f3364.js');
18
+ require('../../index-869e9a94.js');
19
+ require('../../index-016f7106.js');
20
+ require('../../topics-b384e6b3.js');
21
+ require('../../index-5231fde8.js');
22
+ require('../../_rollupPluginBabelHelpers-c89f311a.js');
20
23
  require('../../utils/message/getOutgoingMessageState.js');
21
- require('../../compareIds-4124b297.js');
22
- require('../../const-015e5589.js');
24
+ require('../../compareIds-ccccfe86.js');
23
25
  require('@sendbird/chat/groupChannel');
26
+ require('../../uuid-12b01f73.js');
24
27
  require('@sendbird/chat/message');
25
- require('../../ui/ContextMenu.js');
26
- require('react-dom');
27
- require('../../ui/SortByRow.js');
28
- require('../../index-5d5497c2.js');
29
- require('../../stringSet-3e6167ef.js');
30
- require('../../ui/ReactionButton.js');
31
- require('../../ui/ImageRenderer.js');
32
- require('../../LocalizationContext-bddc5c2b.js');
28
+ require('../../resolvedReplyType-67e78c63.js');
29
+ require('../../LocalizationContext-0e429c3d.js');
30
+ require('../../stringSet-106da549.js');
31
+ require('../../index-6cb0d040.js');
33
32
  require('../../ui/Loader.js');
34
33
  require('./SuggestedMentionList.js');
35
34
  require('../../ui/Avatar.js');
36
- require('../../const-fd64914b.js');
37
- require('../../ThreadProvider-389f5031.js');
35
+ require('../../ui/ImageRenderer.js');
36
+ require('../../const-d8cece19.js');
37
+ require('../../ThreadProvider-8ee179c2.js');
38
38
  require('../../Thread/context/types.js');
39
39
  require('@sendbird/chat');
40
40
  require('../../ui/DateSeparator.js');
41
- require('../../color-f47044b3.js');
41
+ require('../../color-bada0fc7.js');
42
42
  require('../../ui/MessageInput.js');
43
- require('react-dom/server');
44
43
  require('../../ui/IconButton.js');
45
44
  require('../../ui/Button.js');
46
- require('../../ui/MentionUserLabel.js');
45
+ require('dompurify');
46
+ require('../../consts-1c3020ad.js');
47
+ require('../../consts-1d94dc61.js');
48
+ require('../../consts-740f60b8.js');
49
+ require('../../tokenize-2aa0f876.js');
50
+ require('../../index.module-0585715f.js');
47
51
  require('../../ui/MessageContent.js');
48
52
  require('../../ui/UserProfile.js');
49
53
  require('../../sendbirdSelectors.js');
50
- require('../../utils-374d57b4.js');
51
- require('../../index-3a4f8219.js');
52
- require('../../index-abbc8024.js');
53
- require('../../index-40e4653a.js');
54
+ require('../../utils-ad7b5b82.js');
55
+ require('../../index-7f6bbe0c.js');
56
+ require('../../index-8affdde5.js');
54
57
  require('../../ui/MessageItemMenu.js');
58
+ require('../../ui/ContextMenu.js');
59
+ require('react-dom');
60
+ require('../../ui/SortByRow.js');
61
+ require('../../types-e0b77c8c.js');
55
62
  require('../../ui/MessageItemReactionMenu.js');
63
+ require('../../ui/ReactionButton.js');
64
+ require('../../useLongPress-8037894e.js');
65
+ require('../../MediaQueryContext-33fc3b17.js');
56
66
  require('../../ui/EmojiReactions.js');
67
+ require('../../ui/ReactionBadge.js');
68
+ require('../../ui/BottomSheet.js');
69
+ require('../../index-f570d25c.js');
70
+ require('../../ui/UserListItem.js');
71
+ require('../../ui/MutedAvatarOverlay.js');
72
+ require('../../ui/Checkbox.js');
57
73
  require('../../ui/Tooltip.js');
58
74
  require('../../ui/TooltipWrapper.js');
59
- require('../../ui/ReactionBadge.js');
60
75
  require('../../ui/AdminMessage.js');
61
76
  require('../../ui/TextMessageItemBody.js');
62
- require('../../ui/Word.js');
63
- require('../../ui/LinkLabel.js');
77
+ require('../../index-2be14d85.js');
64
78
  require('../../ui/MentionLabel.js');
79
+ require('../../ui/LinkLabel.js');
65
80
  require('../../ui/FileMessageItemBody.js');
66
81
  require('../../ui/TextButton.js');
67
- require('../../MediaQueryContext-4711a81f.js');
68
82
  require('../../ui/ThumbnailMessageItemBody.js');
69
83
  require('../../ui/OGMessageItemBody.js');
70
84
  require('../../ui/UnknownMessageItemBody.js');
71
85
  require('../../ui/QuoteMessage.js');
72
- require('../../useLongPress-99c66f7f.js');
73
- require('../../ui/BottomSheet.js');
74
- require('../../index-c5cd589d.js');
86
+ require('../../index-89d81dad.js');
75
87
  require('../../ui/ThreadReplies.js');
88
+ require('../../ui/VoiceMessageItemBody.js');
89
+ require('../../ui/ProgressBar.js');
90
+ require('../../VoicePlayer/useVoicePlayer.js');
91
+ require('../../index-648c06ed.js');
92
+ require('../../VoiceRecorder/context.js');
93
+ require('../../ui/Modal.js');
94
+ require('../../withSendbird.js');
95
+ require('../../ui/PlaybackTime.js');
76
96
  require('./FileViewer.js');
77
97
  require('./RemoveMessageModal.js');
78
- require('../../ui/Modal.js');
98
+ require('../../useDirtyGetMentions-b8ca5675.js');
79
99
 
80
100
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
81
101
 
82
102
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
83
103
 
84
- var SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';
85
-
86
- var MessageList = function (props) {
87
- var renderMessage = props.renderMessage,
88
- renderPlaceholderEmpty = props.renderPlaceholderEmpty,
89
- renderCustomSeparator = props.renderCustomSeparator;
90
-
91
- var _a = Channel_context.useChannelContext(),
92
- allMessages = _a.allMessages,
93
- hasMorePrev = _a.hasMorePrev,
94
- setInitialTimeStamp = _a.setInitialTimeStamp,
95
- setAnimatedMessageId = _a.setAnimatedMessageId,
96
- setHighLightedMessageId = _a.setHighLightedMessageId,
97
- isMessageGroupingEnabled = _a.isMessageGroupingEnabled,
98
- scrollRef = _a.scrollRef,
99
- onScrollCallback = _a.onScrollCallback,
100
- onScrollDownCallback = _a.onScrollDownCallback,
101
- messagesDispatcher = _a.messagesDispatcher,
102
- messageActionTypes = _a.messageActionTypes,
103
- currentGroupChannel = _a.currentGroupChannel,
104
- disableMarkAsRead = _a.disableMarkAsRead,
105
- replyType = _a.replyType;
106
-
107
- var _b = React.useState(0),
108
- scrollBottom = _b[0],
109
- setScrollBottom = _b[1];
110
-
111
- var onScroll = function (e) {
112
- var element = e.target;
113
- var scrollTop = element.scrollTop,
114
- clientHeight = element.clientHeight,
115
- scrollHeight = element.scrollHeight;
116
-
117
- if (scrollTop === 0) {
118
- if (!hasMorePrev) {
119
- return;
120
- }
121
-
122
- var nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);
123
- var first_1 = nodes && nodes[0];
124
- onScrollCallback(function (_a) {
125
- var messages = _a[0];
104
+ const getMessagePartsInfo = _ref => {
105
+ let {
106
+ allMessages = [],
107
+ isMessageGroupingEnabled = true,
108
+ currentIndex = 0,
109
+ currentMessage = null,
110
+ currentChannel = null,
111
+ replyType = ''
112
+ } = _ref;
113
+ const previousMessage = allMessages[currentIndex - 1];
114
+ const nextMessage = allMessages[currentIndex + 1];
115
+ const [chainTop, chainBottom] = isMessageGroupingEnabled ? Channel_context.compareMessagesForGrouping(previousMessage, currentMessage, nextMessage, currentChannel, replyType) : [false, false];
116
+ const previousMessageCreatedAt = previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.createdAt;
117
+ const currentCreatedAt = currentMessage.createdAt;
118
+ // https://stackoverflow.com/a/41855608
119
+ const hasSeparator = !(previousMessageCreatedAt && index.isSameDay(currentCreatedAt, previousMessageCreatedAt));
120
+ return {
121
+ chainTop,
122
+ chainBottom,
123
+ hasSeparator
124
+ };
125
+ };
126
126
 
127
- if (messages) {
128
- // https://github.com/scabbiaza/react-scroll-position-on-updating-dom
129
- // Set block to nearest to prevent unexpected scrolling from outer components
130
- try {
131
- first_1.scrollIntoView({
132
- block: "start",
133
- inline: "nearest"
134
- });
135
- } catch (error) {//
136
- }
137
- }
127
+ const DELAY = 500;
128
+ function useSetScrollToBottom() {
129
+ const [scrollBottom, setScrollBottom] = React.useState(0);
130
+ const scrollCb = e => {
131
+ const element = e.target;
132
+ try {
133
+ setScrollBottom(element.scrollHeight - element.scrollTop - element.offsetHeight);
134
+ } catch (_unused) {
135
+ //
136
+ }
137
+ };
138
+ return {
139
+ scrollBottom,
140
+ scrollToBottomHandler: index$1.useDebounce(scrollCb, DELAY)
141
+ };
142
+ }
143
+
144
+ const SCROLL_BOTTOM_PADDING = 50;
145
+ const MessageList = _ref => {
146
+ let {
147
+ className = '',
148
+ renderMessage,
149
+ renderPlaceholderEmpty,
150
+ renderCustomSeparator,
151
+ renderPlaceholderLoader
152
+ } = _ref;
153
+ const {
154
+ allMessages,
155
+ hasMorePrev,
156
+ hasMoreNext,
157
+ setInitialTimeStamp,
158
+ setAnimatedMessageId,
159
+ setHighLightedMessageId,
160
+ isMessageGroupingEnabled,
161
+ scrollRef,
162
+ onScrollCallback,
163
+ onScrollDownCallback,
164
+ messagesDispatcher,
165
+ messageActionTypes,
166
+ currentGroupChannel,
167
+ disableMarkAsRead,
168
+ filterMessageList,
169
+ replyType,
170
+ loading,
171
+ unreadSince
172
+ } = Channel_context.useChannelContext();
173
+ const store = useSendbirdStateContext();
174
+ const allMessagesFiltered = typeof filterMessageList === 'function' ? allMessages.filter(filterMessageList) : allMessages;
175
+ const markAsReadScheduler = store.config.markAsReadScheduler;
176
+ const onScroll = () => {
177
+ const element = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
178
+ if (element == null) {
179
+ return;
180
+ }
181
+ const {
182
+ scrollTop,
183
+ clientHeight,
184
+ scrollHeight
185
+ } = element;
186
+ if (Channel_context.isAboutSame(scrollTop, 0, consts.SCROLL_BUFFER)) {
187
+ onScrollCallback(messages => {
138
188
  });
139
189
  }
140
-
141
- if (Channel_context.isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {
142
- onScrollDownCallback(function (_a) {
143
- _a[0];
190
+ if (Channel_context.isAboutSame(clientHeight + scrollTop, scrollHeight, consts.SCROLL_BUFFER) && hasMoreNext) {
191
+ onScrollDownCallback(_ref2 => {
144
192
  });
145
- } // Save the lastest scroll bottom value
146
-
147
-
148
- if (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) {
149
- var current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
150
- setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);
151
193
  }
152
-
153
- if (!disableMarkAsRead && Channel_context.isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {
154
- // Mark as read if scroll is at end
155
- setTimeout(function () {
156
- var _a;
157
-
158
- messagesDispatcher({
159
- type: messageActionTypes.MARK_AS_READ,
160
- payload: {
161
- channel: currentGroupChannel
162
- }
163
- });
164
-
165
- try {
166
- (_a = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.markAsRead) === null || _a === void 0 ? void 0 : _a.call(currentGroupChannel);
167
- } catch (_b) {//
194
+ if (!disableMarkAsRead && Channel_context.isAboutSame(clientHeight + scrollTop, scrollHeight, consts.SCROLL_BUFFER) && !!currentGroupChannel) {
195
+ messagesDispatcher({
196
+ type: messageActionTypes.MARK_AS_READ,
197
+ payload: {
198
+ channel: currentGroupChannel
168
199
  }
169
- }, 500);
200
+ });
201
+ markAsReadScheduler.push(currentGroupChannel);
170
202
  }
171
203
  };
172
-
173
- var onClickScrollBot = function () {
174
- var _a, _b, _c;
175
-
204
+ const onClickScrollBot = () => {
205
+ var _scrollRef$current;
176
206
  setInitialTimeStamp === null || setInitialTimeStamp === void 0 ? void 0 : setInitialTimeStamp(null);
177
207
  setAnimatedMessageId === null || setAnimatedMessageId === void 0 ? void 0 : setAnimatedMessageId(null);
178
208
  setHighLightedMessageId === null || setHighLightedMessageId === void 0 ? void 0 : setHighLightedMessageId(null);
179
-
180
- if (((_a = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) > -1) {
181
- scrollRef.current.scrollTop = ((_b = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _b === void 0 ? void 0 : _b.scrollHeight) - ((_c = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _c === void 0 ? void 0 : _c.offsetHeight);
209
+ if ((scrollRef === null || scrollRef === void 0 ? void 0 : (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollTop) > -1) {
210
+ var _scrollRef$current$sc, _scrollRef$current2, _scrollRef$current$of, _scrollRef$current3;
211
+ scrollRef.current.scrollTop = ((_scrollRef$current$sc = scrollRef === null || scrollRef === void 0 ? void 0 : (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.scrollHeight) !== null && _scrollRef$current$sc !== void 0 ? _scrollRef$current$sc : 0) - ((_scrollRef$current$of = scrollRef === null || scrollRef === void 0 ? void 0 : (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.offsetHeight) !== null && _scrollRef$current$of !== void 0 ? _scrollRef$current$of : 0);
182
212
  }
183
- }; // Because every message components are re-rendered everytime by every scroll events
184
-
185
-
186
- var memoizedAllMessages = React.useMemo(function () {
187
- return allMessages.map(function (m, idx) {
188
- var previousMessage = allMessages[idx - 1];
189
- var nextMessage = allMessages[idx + 1];
190
-
191
- var _a = isMessageGroupingEnabled ? Channel_context.compareMessagesForGrouping(previousMessage, m, nextMessage, currentGroupChannel, replyType) : [false, false],
192
- chainTop = _a[0],
193
- chainBottom = _a[1];
194
-
195
- var previousMessageCreatedAt = previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.createdAt;
196
- var currentCreatedAt = m.createdAt; // https://stackoverflow.com/a/41855608
197
-
198
- var hasSeparator = !(previousMessageCreatedAt && index.isSameDay(currentCreatedAt, previousMessageCreatedAt));
199
-
200
- var handleScroll = function () {
201
- var current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
202
-
203
- if (current) {
204
- var bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;
205
-
206
- if (scrollBottom < bottom) {
207
- current.scrollTop += bottom - scrollBottom;
208
- }
209
- }
210
- };
213
+ };
211
214
 
212
- return /*#__PURE__*/React__default["default"].createElement(Channel_components_Message, {
213
- handleScroll: handleScroll,
214
- renderMessage: renderMessage,
215
- message: m,
216
- hasSeparator: hasSeparator,
217
- chainTop: chainTop,
218
- chainBottom: chainBottom,
219
- renderCustomSeparator: renderCustomSeparator,
220
- key: m.messageId + uuid.uuidv4()
221
- });
215
+ // Move the messsage list scroll when the last message's height is changed by reactions
216
+ const handleMessageHeightChange = () => {
217
+ const current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
218
+ if (current) {
219
+ const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;
220
+ if (scrollBottom < bottom && scrollBottom <= consts.SCROLL_BUFFER) {
221
+ current.scrollTop += bottom - scrollBottom;
222
+ }
223
+ }
224
+ };
225
+ // Keep the scrollBottom value after fetching new message list
226
+ const handleMessageListHeightChange = () => {
227
+ const current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
228
+ if (current) {
229
+ const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;
230
+ if (scrollBottom < bottom) {
231
+ current.scrollTop += bottom - scrollBottom;
232
+ }
233
+ }
234
+ };
235
+ const handleOnScroll = index$1.useHandleOnScrollCallback({
236
+ hasMore: hasMorePrev,
237
+ hasNext: hasMoreNext,
238
+ onScroll,
239
+ scrollRef
240
+ });
241
+ const {
242
+ scrollToBottomHandler,
243
+ scrollBottom
244
+ } = useSetScrollToBottom();
245
+ if (loading) {
246
+ return typeof renderPlaceholderLoader === 'function' ? renderPlaceholderLoader() : /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
247
+ type: ui_PlaceHolder.PlaceHolderTypes.LOADING
222
248
  });
223
- }, [allMessages]);
224
-
225
- if (allMessages.length < 1) {
226
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (renderPlaceholderEmpty === null || renderPlaceholderEmpty === void 0 ? void 0 : renderPlaceholderEmpty()) || /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
249
+ }
250
+ if (allMessagesFiltered.length < 1) {
251
+ if (renderPlaceholderEmpty && typeof renderPlaceholderEmpty === 'function') {
252
+ return renderPlaceholderEmpty();
253
+ }
254
+ return /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
227
255
  className: "sendbird-conversation__no-messages",
228
256
  type: ui_PlaceHolder.PlaceHolderTypes.NO_MESSAGES
229
- }));
257
+ });
230
258
  }
231
-
232
259
  return /*#__PURE__*/React__default["default"].createElement("div", {
233
- className: "sendbird-conversation__messages"
260
+ className: `sendbird-conversation__messages ${className}`
234
261
  }, /*#__PURE__*/React__default["default"].createElement("div", {
235
262
  className: "sendbird-conversation__scroll-container"
236
263
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -238,9 +265,67 @@ var MessageList = function (props) {
238
265
  }), /*#__PURE__*/React__default["default"].createElement("div", {
239
266
  className: "sendbird-conversation__messages-padding",
240
267
  ref: scrollRef,
241
- onScroll: onScroll
242
- }, memoizedAllMessages)), // This flag is an unmatched variable
243
- scrollBottom > 1 && /*#__PURE__*/React__default["default"].createElement("div", {
268
+ onScroll: e => {
269
+ handleOnScroll();
270
+ scrollToBottomHandler(e);
271
+ }
272
+ }, allMessagesFiltered.map((m, idx) => {
273
+ var _sender, _store$config;
274
+ const {
275
+ chainTop,
276
+ chainBottom,
277
+ hasSeparator
278
+ } = getMessagePartsInfo({
279
+ allMessages: allMessagesFiltered,
280
+ replyType,
281
+ isMessageGroupingEnabled,
282
+ currentIndex: idx,
283
+ currentMessage: m,
284
+ currentChannel: currentGroupChannel
285
+ });
286
+ const isByMe = (m === null || m === void 0 ? void 0 : (_sender = m.sender) === null || _sender === void 0 ? void 0 : _sender.userId) === (store === null || store === void 0 ? void 0 : (_store$config = store.config) === null || _store$config === void 0 ? void 0 : _store$config.userId);
287
+ return /*#__PURE__*/React__default["default"].createElement(Message_context.MessageProvider, {
288
+ message: m,
289
+ key: m === null || m === void 0 ? void 0 : m.messageId,
290
+ isByMe: isByMe
291
+ }, /*#__PURE__*/React__default["default"].createElement(Channel_components_Message, {
292
+ handleScroll: handleMessageHeightChange,
293
+ handleMessageListHeightChange: handleMessageListHeightChange,
294
+ renderMessage: renderMessage,
295
+ message: m,
296
+ hasSeparator: hasSeparator,
297
+ chainTop: chainTop,
298
+ chainBottom: chainBottom,
299
+ renderCustomSeparator: renderCustomSeparator
300
+ }));
301
+ }))), (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isFrozen) && /*#__PURE__*/React__default["default"].createElement(Channel_components_FrozenNotification, {
302
+ className: "sendbird-conversation__messages__notification"
303
+ }), /*#__PURE__*/React__default["default"].createElement(Channel_components_UnreadCount, {
304
+ className: "sendbird-conversation__messages__notification",
305
+ count: currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.unreadMessageCount,
306
+ time: unreadSince,
307
+ onClick: () => {
308
+ var _scrollRef$current4;
309
+ if (scrollRef !== null && scrollRef !== void 0 && (_scrollRef$current4 = scrollRef.current) !== null && _scrollRef$current4 !== void 0 && _scrollRef$current4.scrollTop) {
310
+ var _scrollRef$current$sc2, _scrollRef$current5, _scrollRef$current$of2, _scrollRef$current6;
311
+ scrollRef.current.scrollTop = ((_scrollRef$current$sc2 = scrollRef === null || scrollRef === void 0 ? void 0 : (_scrollRef$current5 = scrollRef.current) === null || _scrollRef$current5 === void 0 ? void 0 : _scrollRef$current5.scrollHeight) !== null && _scrollRef$current$sc2 !== void 0 ? _scrollRef$current$sc2 : 0) - ((_scrollRef$current$of2 = scrollRef === null || scrollRef === void 0 ? void 0 : (_scrollRef$current6 = scrollRef.current) === null || _scrollRef$current6 === void 0 ? void 0 : _scrollRef$current6.offsetHeight) !== null && _scrollRef$current$of2 !== void 0 ? _scrollRef$current$of2 : 0);
312
+ }
313
+ if (!disableMarkAsRead && !!currentGroupChannel) {
314
+ markAsReadScheduler.push(currentGroupChannel);
315
+ messagesDispatcher({
316
+ type: messageActionTypes.MARK_AS_READ,
317
+ payload: {
318
+ channel: currentGroupChannel
319
+ }
320
+ });
321
+ }
322
+ setInitialTimeStamp(null);
323
+ setAnimatedMessageId(null);
324
+ setHighLightedMessageId(null);
325
+ }
326
+ }),
327
+ // This flag is an unmatched variable
328
+ scrollBottom > SCROLL_BOTTOM_PADDING && /*#__PURE__*/React__default["default"].createElement("div", {
244
329
  className: "sendbird-conversation__scroll-bottom-button",
245
330
  onClick: onClickScrollBot,
246
331
  onKeyDown: onClickScrollBot,
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sources":["../../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n replyType,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // Save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n if (!disableMarkAsRead && isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n // Mark as read if scroll is at end\n setTimeout(() => {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n try {\n currentGroupChannel?.markAsRead?.();\n } catch {\n //\n }\n }, 500);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage, currentGroupChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","replyType","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","_c","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","Message","messageId","uuidv4","length","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","Icon","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sources":["../../../../src/modules/Channel/components/MessageList/getMessagePartsInfo.ts","../../../../src/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.ts","../../../../src/modules/Channel/components/MessageList/index.tsx"],"sourcesContent":["import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { compareMessagesForGrouping } from '../../context/utils';\n\nexport interface GetMessagePartsInfoProps {\n allMessages: Array<UserMessage | FileMessage | AdminMessage>;\n isMessageGroupingEnabled: boolean;\n currentIndex: number;\n currentMessage: UserMessage | FileMessage | AdminMessage;\n currentChannel: GroupChannel;\n replyType: string;\n}\n\ninterface OutPuts {\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n}\n\nexport const getMessagePartsInfo = ({\n allMessages = [],\n isMessageGroupingEnabled = true,\n currentIndex = 0,\n currentMessage = null,\n currentChannel = null,\n replyType = '',\n}: GetMessagePartsInfoProps): OutPuts => {\n const previousMessage = allMessages[currentIndex - 1];\n const nextMessage = allMessages[currentIndex + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, currentMessage, nextMessage, currentChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = currentMessage.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n return {\n chainTop,\n chainBottom,\n hasSeparator,\n };\n};\n","import React, { useState } from 'react';\nimport { useDebounce } from '../../../../../hooks/useDebounce';\n\nconst DELAY = 500;\n\nexport function useSetScrollToBottom(): ({\n scrollBottom: number;\n scrollToBottomHandler: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;\n}) {\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollCb = (e: React.UIEvent<HTMLDivElement, UIEvent>) => {\n const element = e.target as HTMLDivElement;\n try {\n setScrollBottom(element.scrollHeight - element.scrollTop - element.offsetHeight);\n } catch {\n //\n }\n };\n return {\n scrollBottom,\n scrollToBottomHandler: useDebounce(scrollCb, DELAY),\n };\n}\n","import './message-list.scss';\n\nimport React from 'react';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Message from '../Message';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport { getMessagePartsInfo } from './getMessagePartsInfo';\nimport UnreadCount from '../UnreadCount';\nimport FrozenNotification from '../FrozenNotification';\nimport { SCROLL_BUFFER } from '../../../../utils/consts';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { UserMessage } from '@sendbird/chat/message';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { useHandleOnScrollCallback } from '../../../../hooks/useHandleOnScrollCallback';\nimport { useSetScrollToBottom } from './hooks/useSetScrollToBottom';\n\nconst SCROLL_BOTTOM_PADDING = 50;\n\nexport interface MessageListProps {\n className?: string;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderPlaceholderLoader?: () => React.ReactElement;\n}\n\nconst MessageList: React.FC<MessageListProps> = ({\n className = '',\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n renderPlaceholderLoader,\n}) => {\n const {\n allMessages,\n hasMorePrev,\n hasMoreNext,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n filterMessageList,\n replyType,\n loading,\n unreadSince,\n } = useChannelContext();\n const store = useSendbirdStateContext();\n const allMessagesFiltered = (typeof filterMessageList === 'function')\n ? allMessages.filter((filterMessageList as (message: EveryMessage) => boolean))\n : allMessages;\n const markAsReadScheduler = store.config.markAsReadScheduler;\n\n const onScroll = () => {\n const element = scrollRef?.current;\n if (element == null) {\n return;\n }\n\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (isAboutSame(scrollTop, 0, SCROLL_BUFFER)) {\n onScrollCallback((messages) => {\n if (messages) {\n try {\n //\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, SCROLL_BUFFER) && hasMoreNext) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (!disableMarkAsRead\n && isAboutSame(clientHeight + scrollTop, scrollHeight, SCROLL_BUFFER)\n && !!currentGroupChannel\n ) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n markAsReadScheduler.push(currentGroupChannel);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = (scrollRef?.current?.scrollHeight ?? 0) - (scrollRef?.current?.offsetHeight ?? 0);\n }\n };\n\n // Move the messsage list scroll when the last message's height is changed by reactions\n const handleMessageHeightChange = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom && scrollBottom <= SCROLL_BUFFER) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n // Keep the scrollBottom value after fetching new message list\n const handleMessageListHeightChange = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n const handleOnScroll = useHandleOnScrollCallback({\n hasMore: hasMorePrev,\n hasNext: hasMoreNext,\n onScroll,\n scrollRef,\n });\n\n const { scrollToBottomHandler, scrollBottom } = useSetScrollToBottom();\n\n if (loading) {\n return (typeof renderPlaceholderLoader === 'function')\n ? renderPlaceholderLoader()\n : <PlaceHolder type={PlaceHolderTypes.LOADING} />;\n }\n if (allMessagesFiltered.length < 1) {\n if (renderPlaceholderEmpty && typeof renderPlaceholderEmpty === 'function') {\n return renderPlaceholderEmpty();\n }\n return <PlaceHolder className=\"sendbird-conversation__no-messages\" type={PlaceHolderTypes.NO_MESSAGES} />;\n }\n return (\n <div className={`sendbird-conversation__messages ${className}`}>\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={(e) => {\n handleOnScroll();\n scrollToBottomHandler(e);\n }}\n >\n {allMessagesFiltered.map((m, idx) => {\n const {\n chainTop,\n chainBottom,\n hasSeparator,\n } = getMessagePartsInfo({\n allMessages: allMessagesFiltered,\n replyType,\n isMessageGroupingEnabled,\n currentIndex: idx,\n currentMessage: m,\n currentChannel: currentGroupChannel,\n });\n const isByMe = (m as UserMessage)?.sender?.userId === store?.config?.userId;\n return (\n <MessageProvider message={m} key={m?.messageId} isByMe={isByMe}>\n <Message\n handleScroll={handleMessageHeightChange}\n handleMessageListHeightChange={handleMessageListHeightChange}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n />\n </MessageProvider>\n );\n })}\n {/* show frozen notifications */}\n {/* show new message notifications */}\n </div>\n </div>\n {currentGroupChannel?.isFrozen && (\n <FrozenNotification className=\"sendbird-conversation__messages__notification\" />\n )}\n <UnreadCount\n className=\"sendbird-conversation__messages__notification\"\n count={currentGroupChannel?.unreadMessageCount}\n time={unreadSince}\n onClick={() => {\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = (scrollRef?.current?.scrollHeight ?? 0) - (scrollRef?.current?.offsetHeight ?? 0);\n }\n if (!disableMarkAsRead && !!currentGroupChannel) {\n markAsReadScheduler.push(currentGroupChannel);\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n }\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n {\n // This flag is an unmatched variable\n scrollBottom > SCROLL_BOTTOM_PADDING && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["getMessagePartsInfo","_ref","allMessages","isMessageGroupingEnabled","currentIndex","currentMessage","currentChannel","replyType","previousMessage","nextMessage","chainTop","chainBottom","compareMessagesForGrouping","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","DELAY","useSetScrollToBottom","scrollBottom","setScrollBottom","useState","scrollCb","e","element","target","scrollHeight","scrollTop","offsetHeight","_unused","scrollToBottomHandler","useDebounce","SCROLL_BOTTOM_PADDING","MessageList","className","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","renderPlaceholderLoader","hasMorePrev","hasMoreNext","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","filterMessageList","loading","unreadSince","useChannelContext","store","useSendbirdStateContext","allMessagesFiltered","filter","markAsReadScheduler","config","onScroll","current","clientHeight","isAboutSame","SCROLL_BUFFER","messages","_ref2","type","MARK_AS_READ","payload","channel","push","onClickScrollBot","_scrollRef$current","_scrollRef$current$sc","_scrollRef$current2","_scrollRef$current$of","_scrollRef$current3","handleMessageHeightChange","bottom","handleMessageListHeightChange","handleOnScroll","useHandleOnScrollCallback","hasMore","hasNext","React","createElement","PlaceHolder","PlaceHolderTypes","LOADING","length","NO_MESSAGES","ref","map","m","idx","_sender","_store$config","isByMe","sender","userId","MessageProvider","message","key","messageId","Message","handleScroll","isFrozen","FrozenNotification","UnreadCount","count","unreadMessageCount","time","onClick","_scrollRef$current4","_scrollRef$current$sc2","_scrollRef$current5","_scrollRef$current$of2","_scrollRef$current6","onKeyDown","tabIndex","role","Icon","width","height","IconTypes","CHEVRON_DOWN","fillColor","IconColors","PRIMARY"],"mappings":"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"}