@sendbird/uikit-react 3.4.4 → 3.4.5-rc.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 (552) hide show
  1. package/App.js +47 -42
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +80 -0
  4. package/Channel/components/ChannelHeader.js +19 -19
  5. package/Channel/components/ChannelUI.js +39 -35
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +15 -15
  8. package/Channel/components/FrozenNotification.js +4 -4
  9. package/Channel/components/Message.js +43 -39
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +27 -24
  12. package/Channel/components/MessageInput.js.map +1 -1
  13. package/Channel/components/MessageList.js +65 -62
  14. package/Channel/components/MessageList.js.map +1 -1
  15. package/Channel/components/RemoveMessageModal.js +17 -17
  16. package/Channel/components/SuggestedMentionList.js +17 -17
  17. package/Channel/components/TypingIndicator.js +15 -15
  18. package/Channel/components/UnreadCount.js +4 -4
  19. package/Channel/context.js +14 -14
  20. package/Channel.js +40 -35
  21. package/Channel.js.map +1 -1
  22. package/ChannelList/components/AddChannel.js +15 -15
  23. package/ChannelList/components/ChannelListHeader.js +6 -6
  24. package/ChannelList/components/ChannelListUI.js +40 -62
  25. package/ChannelList/components/ChannelListUI.js.map +1 -1
  26. package/ChannelList/components/ChannelPreview.js +26 -26
  27. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  28. package/ChannelList/context.js +8 -8
  29. package/ChannelList.js +30 -30
  30. package/{ChannelListProvider-3c107fc7.js → ChannelListProvider-38d1234f.js} +18 -12
  31. package/ChannelListProvider-38d1234f.js.map +1 -0
  32. package/{ChannelProvider-28639e83.js → ChannelProvider-1e05ac9e.js} +32 -32
  33. package/ChannelProvider-1e05ac9e.js.map +1 -0
  34. package/ChannelSettings/components/ChannelProfile.js +11 -11
  35. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  36. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  37. package/ChannelSettings/components/LeaveChannel.js +11 -11
  38. package/ChannelSettings/components/ModerationPanel.js +14 -14
  39. package/ChannelSettings/components/UserListItem.js +10 -10
  40. package/ChannelSettings/components/UserPanel.js +13 -13
  41. package/ChannelSettings/context.js +3 -3
  42. package/ChannelSettings.js +17 -17
  43. package/CreateChannel/components/CreateChannelUI.js +13 -13
  44. package/CreateChannel/components/InviteUsers.js +13 -13
  45. package/CreateChannel/components/SelectChannelType.js +10 -10
  46. package/CreateChannel/context.js +4 -4
  47. package/CreateChannel.js +13 -13
  48. package/{CreateChannelProvider-09772304.js → CreateChannelProvider-3614d73c.js} +1 -1
  49. package/{CreateChannelProvider-09772304.js.map → CreateChannelProvider-3614d73c.js.map} +1 -1
  50. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  51. package/CreateOpenChannel/context.js +1 -1
  52. package/CreateOpenChannel.js +9 -9
  53. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  54. package/EditUserProfile.js +12 -12
  55. package/{LocalizationContext-ef72d4b1.js → LocalizationContext-34b46c40.js} +3 -3
  56. package/{LocalizationContext-ef72d4b1.js.map → LocalizationContext-34b46c40.js.map} +1 -1
  57. package/{MediaQueryContext-683c7242.js → MediaQueryContext-ce624aa4.js} +1 -1
  58. package/{MediaQueryContext-683c7242.js.map → MediaQueryContext-ce624aa4.js.map} +1 -1
  59. package/{MemberList-0bc3ff4a.js → MemberList-4de628ca.js} +5 -5
  60. package/{MemberList-0bc3ff4a.js.map → MemberList-4de628ca.js.map} +1 -1
  61. package/Message/context.js +30 -0
  62. package/Message/context.js.map +1 -0
  63. package/MessageSearch/components/MessageSearchUI.js +11 -11
  64. package/MessageSearch/context.js +1 -1
  65. package/MessageSearch.js +11 -11
  66. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  67. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  68. package/OpenChannel/components/OpenChannelInput.js +19 -16
  69. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  70. package/OpenChannel/components/OpenChannelMessage.js +28 -24
  71. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  72. package/OpenChannel/components/OpenChannelMessageList.js +58 -38
  73. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  74. package/OpenChannel/components/OpenChannelUI.js +31 -27
  75. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  76. package/OpenChannel/context.js +8 -8
  77. package/OpenChannel.js +31 -27
  78. package/OpenChannel.js.map +1 -1
  79. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  80. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  81. package/OpenChannelList/context.js +3 -3
  82. package/OpenChannelList.js +13 -13
  83. package/{OpenChannelListProvider-e5246224.js → OpenChannelListProvider-ab54ddfd.js} +3 -3
  84. package/{OpenChannelListProvider-e5246224.js.map → OpenChannelListProvider-ab54ddfd.js.map} +1 -1
  85. package/{OpenChannelProvider-c5952f33.js → OpenChannelProvider-801fe2a5.js} +7 -7
  86. package/{OpenChannelProvider-c5952f33.js.map → OpenChannelProvider-801fe2a5.js.map} +1 -1
  87. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  88. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  89. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  90. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  91. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  92. package/OpenChannelSettings/context.js +3 -3
  93. package/OpenChannelSettings.js +17 -17
  94. package/README.md +3 -2
  95. package/{RemoveMessageModal-63a8b079.js → RemoveMessageModal-73877b13.js} +3 -3
  96. package/{RemoveMessageModal-63a8b079.js.map → RemoveMessageModal-73877b13.js.map} +1 -1
  97. package/SendbirdProvider.js +93 -14
  98. package/SendbirdProvider.js.map +1 -1
  99. package/Thread/components/ParentMessageInfo.js +32 -28
  100. package/Thread/components/ParentMessageInfo.js.map +1 -1
  101. package/Thread/components/ParentMessageInfoItem.js +43 -45
  102. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  103. package/Thread/components/ThreadHeader.js +6 -6
  104. package/Thread/components/ThreadList.js +48 -36
  105. package/Thread/components/ThreadList.js.map +1 -1
  106. package/Thread/components/ThreadListItem.js +34 -30
  107. package/Thread/components/ThreadListItem.js.map +1 -1
  108. package/Thread/components/ThreadMessageInput.js +28 -25
  109. package/Thread/components/ThreadMessageInput.js.map +1 -1
  110. package/Thread/components/ThreadUI.js +66 -58
  111. package/Thread/components/ThreadUI.js.map +1 -1
  112. package/Thread/context.js +8 -8
  113. package/Thread.js +44 -40
  114. package/Thread.js.map +1 -1
  115. package/{ThreadProvider-435a6f11.js → ThreadProvider-44c43f8d.js} +7 -7
  116. package/{ThreadProvider-435a6f11.js.map → ThreadProvider-44c43f8d.js.map} +1 -1
  117. package/{UserProfileContext-5d7c5f9f.js → UserProfileContext-3fa0c617.js} +1 -1
  118. package/{UserProfileContext-5d7c5f9f.js.map → UserProfileContext-3fa0c617.js.map} +1 -1
  119. package/{VoiceMessageInputWrapper-8a9dda68.js → VoiceMessageInputWrapper-9e4d2e0f.js} +7 -7
  120. package/{VoiceMessageInputWrapper-8a9dda68.js.map → VoiceMessageInputWrapper-9e4d2e0f.js.map} +1 -1
  121. package/VoicePlayer/context.js +3 -3
  122. package/VoicePlayer/useVoicePlayer.js +3 -3
  123. package/VoiceRecorder/context.js +2 -2
  124. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  125. package/{_rollupPluginBabelHelpers-37cba0d6.js → _rollupPluginBabelHelpers-f78972d2.js} +1 -1
  126. package/_rollupPluginBabelHelpers-f78972d2.js.map +1 -0
  127. package/{actionTypes-80e9dbe4.js → actionTypes-1693ceb3.js} +1 -1
  128. package/{actionTypes-80e9dbe4.js.map → actionTypes-1693ceb3.js.map} +1 -1
  129. package/cjs/App.js +47 -42
  130. package/cjs/App.js.map +1 -1
  131. package/cjs/Channel/components/ChannelHeader.js +19 -19
  132. package/cjs/Channel/components/ChannelUI.js +39 -35
  133. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  134. package/cjs/Channel/components/FileViewer.js +15 -15
  135. package/cjs/Channel/components/FrozenNotification.js +4 -4
  136. package/cjs/Channel/components/Message.js +43 -39
  137. package/cjs/Channel/components/Message.js.map +1 -1
  138. package/cjs/Channel/components/MessageInput.js +27 -24
  139. package/cjs/Channel/components/MessageInput.js.map +1 -1
  140. package/cjs/Channel/components/MessageList.js +65 -62
  141. package/cjs/Channel/components/MessageList.js.map +1 -1
  142. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  143. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  144. package/cjs/Channel/components/TypingIndicator.js +15 -15
  145. package/cjs/Channel/components/UnreadCount.js +4 -4
  146. package/cjs/Channel/context.js +14 -14
  147. package/cjs/Channel.js +40 -35
  148. package/cjs/Channel.js.map +1 -1
  149. package/cjs/ChannelList/components/AddChannel.js +15 -15
  150. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  151. package/cjs/ChannelList/components/ChannelListUI.js +39 -61
  152. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  153. package/cjs/ChannelList/components/ChannelPreview.js +26 -26
  154. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  155. package/cjs/ChannelList/context.js +8 -8
  156. package/cjs/ChannelList.js +30 -30
  157. package/cjs/{ChannelListProvider-b7ffadf7.js → ChannelListProvider-1f84d03b.js} +18 -12
  158. package/cjs/ChannelListProvider-1f84d03b.js.map +1 -0
  159. package/cjs/{ChannelProvider-b963c72c.js → ChannelProvider-5915747e.js} +32 -32
  160. package/cjs/ChannelProvider-5915747e.js.map +1 -0
  161. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  162. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  163. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  164. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  165. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  166. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  167. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  168. package/cjs/ChannelSettings/context.js +3 -3
  169. package/cjs/ChannelSettings.js +17 -17
  170. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  171. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  172. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  173. package/cjs/CreateChannel/context.js +4 -4
  174. package/cjs/CreateChannel.js +13 -13
  175. package/cjs/{CreateChannelProvider-ea54c83b.js → CreateChannelProvider-b0ade226.js} +1 -1
  176. package/cjs/{CreateChannelProvider-ea54c83b.js.map → CreateChannelProvider-b0ade226.js.map} +1 -1
  177. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  178. package/cjs/CreateOpenChannel/context.js +1 -1
  179. package/cjs/CreateOpenChannel.js +9 -9
  180. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  181. package/cjs/EditUserProfile.js +12 -12
  182. package/cjs/{LocalizationContext-4822793b.js → LocalizationContext-3fb1efd5.js} +3 -3
  183. package/cjs/{LocalizationContext-4822793b.js.map → LocalizationContext-3fb1efd5.js.map} +1 -1
  184. package/cjs/{MediaQueryContext-b83880cc.js → MediaQueryContext-9982e73b.js} +1 -1
  185. package/cjs/{MediaQueryContext-b83880cc.js.map → MediaQueryContext-9982e73b.js.map} +1 -1
  186. package/cjs/{MemberList-4cfc05a3.js → MemberList-574bae3f.js} +5 -5
  187. package/cjs/{MemberList-4cfc05a3.js.map → MemberList-574bae3f.js.map} +1 -1
  188. package/cjs/Message/context.js +39 -0
  189. package/cjs/Message/context.js.map +1 -0
  190. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  191. package/cjs/MessageSearch/context.js +1 -1
  192. package/cjs/MessageSearch.js +11 -11
  193. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  194. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  195. package/cjs/OpenChannel/components/OpenChannelInput.js +19 -16
  196. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  197. package/cjs/OpenChannel/components/OpenChannelMessage.js +28 -24
  198. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  199. package/cjs/OpenChannel/components/OpenChannelMessageList.js +58 -38
  200. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  201. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -27
  202. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  203. package/cjs/OpenChannel/context.js +8 -8
  204. package/cjs/OpenChannel.js +31 -27
  205. package/cjs/OpenChannel.js.map +1 -1
  206. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  207. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  208. package/cjs/OpenChannelList/context.js +3 -3
  209. package/cjs/OpenChannelList.js +13 -13
  210. package/cjs/{OpenChannelListProvider-9fc6f344.js → OpenChannelListProvider-43b94684.js} +3 -3
  211. package/cjs/{OpenChannelListProvider-9fc6f344.js.map → OpenChannelListProvider-43b94684.js.map} +1 -1
  212. package/cjs/{OpenChannelProvider-64fb7652.js → OpenChannelProvider-411e1365.js} +7 -7
  213. package/cjs/{OpenChannelProvider-64fb7652.js.map → OpenChannelProvider-411e1365.js.map} +1 -1
  214. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  215. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  216. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  217. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  218. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  219. package/cjs/OpenChannelSettings/context.js +3 -3
  220. package/cjs/OpenChannelSettings.js +17 -17
  221. package/cjs/{RemoveMessageModal-00de23ec.js → RemoveMessageModal-0c4b41d0.js} +3 -3
  222. package/cjs/{RemoveMessageModal-00de23ec.js.map → RemoveMessageModal-0c4b41d0.js.map} +1 -1
  223. package/cjs/SendbirdProvider.js +92 -13
  224. package/cjs/SendbirdProvider.js.map +1 -1
  225. package/cjs/Thread/components/ParentMessageInfo.js +32 -28
  226. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  227. package/cjs/Thread/components/ParentMessageInfoItem.js +42 -44
  228. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  229. package/cjs/Thread/components/ThreadHeader.js +6 -6
  230. package/cjs/Thread/components/ThreadList.js +48 -36
  231. package/cjs/Thread/components/ThreadList.js.map +1 -1
  232. package/cjs/Thread/components/ThreadListItem.js +34 -30
  233. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  234. package/cjs/Thread/components/ThreadMessageInput.js +28 -25
  235. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  236. package/cjs/Thread/components/ThreadUI.js +67 -59
  237. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  238. package/cjs/Thread/context.js +8 -8
  239. package/cjs/Thread.js +44 -40
  240. package/cjs/Thread.js.map +1 -1
  241. package/cjs/{ThreadProvider-93f2b7e5.js → ThreadProvider-73f209d6.js} +7 -7
  242. package/cjs/{ThreadProvider-93f2b7e5.js.map → ThreadProvider-73f209d6.js.map} +1 -1
  243. package/cjs/{UserProfileContext-7bc4eec4.js → UserProfileContext-b0b956b8.js} +1 -1
  244. package/cjs/{UserProfileContext-7bc4eec4.js.map → UserProfileContext-b0b956b8.js.map} +1 -1
  245. package/cjs/{VoiceMessageInputWrapper-82c8ef13.js → VoiceMessageInputWrapper-2301a9cd.js} +7 -7
  246. package/cjs/{VoiceMessageInputWrapper-82c8ef13.js.map → VoiceMessageInputWrapper-2301a9cd.js.map} +1 -1
  247. package/cjs/VoicePlayer/context.js +3 -3
  248. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  249. package/cjs/VoiceRecorder/context.js +2 -2
  250. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  251. package/cjs/{_rollupPluginBabelHelpers-1218aafb.js → _rollupPluginBabelHelpers-05716924.js} +1 -1
  252. package/cjs/_rollupPluginBabelHelpers-05716924.js.map +1 -0
  253. package/cjs/{actionTypes-f186c4dd.js → actionTypes-de2a8f54.js} +1 -1
  254. package/cjs/{actionTypes-f186c4dd.js.map → actionTypes-de2a8f54.js.map} +1 -1
  255. package/cjs/{color-937f65ad.js → color-360107a6.js} +1 -1
  256. package/cjs/{color-937f65ad.js.map → color-360107a6.js.map} +1 -1
  257. package/cjs/{compareIds-3d732a01.js → compareIds-c4f938a4.js} +1 -1
  258. package/cjs/{compareIds-3d732a01.js.map → compareIds-c4f938a4.js.map} +1 -1
  259. package/cjs/{const-44ac2c14.js → const-7ce7d646.js} +1 -1
  260. package/cjs/{const-44ac2c14.js.map → const-7ce7d646.js.map} +1 -1
  261. package/cjs/{const-73aa22ac.js → const-893ed415.js} +1 -1
  262. package/cjs/{const-73aa22ac.js.map → const-893ed415.js.map} +1 -1
  263. package/cjs/consts-0b50a0c8.js +6 -0
  264. package/cjs/consts-0b50a0c8.js.map +1 -0
  265. package/cjs/consts-c4097faa.js +6 -0
  266. package/cjs/consts-c4097faa.js.map +1 -0
  267. package/cjs/{consts-2b0eaee0.js → consts-d9856131.js} +1 -1
  268. package/cjs/{consts-2b0eaee0.js.map → consts-d9856131.js.map} +1 -1
  269. package/cjs/{consts-11872691.js → consts-f5219aa0.js} +1 -1
  270. package/cjs/{consts-11872691.js.map → consts-f5219aa0.js.map} +1 -1
  271. package/cjs/{context-7e270322.js → context-971dc2dc.js} +2 -2
  272. package/cjs/{context-7e270322.js.map → context-971dc2dc.js.map} +1 -1
  273. package/cjs/dist/index.css +34 -26
  274. package/cjs/dist/index.css.map +1 -1
  275. package/cjs/{index-aaa65319.js → index-046dffba.js} +7 -7
  276. package/cjs/{index-aaa65319.js.map → index-046dffba.js.map} +1 -1
  277. package/cjs/{index-1151a507.js → index-05458f16.js} +1 -1
  278. package/cjs/{index-1151a507.js.map → index-05458f16.js.map} +1 -1
  279. package/cjs/{index-cfff5dbb.js → index-106dbf0e.js} +2 -2
  280. package/cjs/{index-cfff5dbb.js.map → index-106dbf0e.js.map} +1 -1
  281. package/cjs/{index-c7ff34af.js → index-1ebfe279.js} +5 -5
  282. package/cjs/{index-c7ff34af.js.map → index-1ebfe279.js.map} +1 -1
  283. package/cjs/{index-7207d339.js → index-2068f053.js} +11 -5
  284. package/cjs/index-2068f053.js.map +1 -0
  285. package/cjs/{index-2f2f3e43.js → index-27196170.js} +8 -2
  286. package/cjs/index-27196170.js.map +1 -0
  287. package/cjs/{index-57989185.js → index-3ecf6f1c.js} +1 -1
  288. package/cjs/{index-57989185.js.map → index-3ecf6f1c.js.map} +1 -1
  289. package/cjs/index-4efda0a3.js +63 -0
  290. package/cjs/index-4efda0a3.js.map +1 -0
  291. package/cjs/{index-f52caf82.js → index-4f21cdee.js} +2 -2
  292. package/cjs/{index-f52caf82.js.map → index-4f21cdee.js.map} +1 -1
  293. package/cjs/{index-f78cff63.js → index-871938c2.js} +2 -2
  294. package/cjs/{index-f78cff63.js.map → index-871938c2.js.map} +1 -1
  295. package/cjs/{index-a5fad93c.js → index-95fe4955.js} +4 -4
  296. package/cjs/{index-a5fad93c.js.map → index-95fe4955.js.map} +1 -1
  297. package/cjs/{index-e9d3a5d6.js → index-a981854c.js} +3 -3
  298. package/cjs/{index-e9d3a5d6.js.map → index-a981854c.js.map} +1 -1
  299. package/cjs/{index-20fc629b.js → index-b8bcbe2e.js} +3 -3
  300. package/cjs/{index-20fc629b.js.map → index-b8bcbe2e.js.map} +1 -1
  301. package/cjs/{index-a867516a.js → index-bd887626.js} +4 -4
  302. package/cjs/{index-a867516a.js.map → index-bd887626.js.map} +1 -1
  303. package/cjs/{index-3f30ab14.js → index-d4ad85fe.js} +7 -7
  304. package/cjs/{index-3f30ab14.js.map → index-d4ad85fe.js.map} +1 -1
  305. package/cjs/index.js +55 -51
  306. package/cjs/index.js.map +1 -1
  307. package/cjs/sendbirdSelectors.js +2 -2
  308. package/cjs/{stringSet-7f49973c.js → stringSet-eba21df4.js} +1 -1
  309. package/cjs/{stringSet-7f49973c.js.map → stringSet-eba21df4.js.map} +1 -1
  310. package/cjs/tokenize-ca4ac5a1.js +134 -0
  311. package/cjs/tokenize-ca4ac5a1.js.map +1 -0
  312. package/cjs/{topics-9d6a6d36.js → topics-e4dffa33.js} +1 -1
  313. package/cjs/{topics-9d6a6d36.js.map → topics-e4dffa33.js.map} +1 -1
  314. package/cjs/{tslib.es6-46c08a06.js → tslib.es6-94d25845.js} +1 -1
  315. package/cjs/{tslib.es6-46c08a06.js.map → tslib.es6-94d25845.js.map} +1 -1
  316. package/cjs/{types-31b11c88.js → types-dd4057f8.js} +1 -1
  317. package/cjs/types-dd4057f8.js.map +1 -0
  318. package/cjs/ui/Accordion.js +3 -3
  319. package/cjs/ui/AccordionGroup.js +2 -2
  320. package/cjs/ui/AdminMessage.js +3 -3
  321. package/cjs/ui/Avatar.js +2 -2
  322. package/cjs/ui/Badge.js +5 -5
  323. package/cjs/ui/BottomSheet.js +1 -1
  324. package/cjs/ui/Button.js +3 -3
  325. package/cjs/ui/ChannelAvatar.js +3 -3
  326. package/cjs/ui/ConnectionStatus.js +4 -4
  327. package/cjs/ui/ContextMenu.js +5 -5
  328. package/cjs/ui/DateSeparator.js +4 -4
  329. package/cjs/ui/EmojiReactions.js +7 -7
  330. package/cjs/ui/FileMessageItemBody.js +6 -6
  331. package/cjs/ui/FileViewer.js +8 -8
  332. package/cjs/ui/IconButton.js +1 -1
  333. package/cjs/ui/ImageRenderer.js +1 -1
  334. package/cjs/ui/Input.js +2 -2
  335. package/cjs/ui/Label.js +2 -2
  336. package/cjs/ui/LinkLabel.js +2 -2
  337. package/cjs/ui/Loader.js +1 -1
  338. package/cjs/ui/MentionLabel.js +12 -11
  339. package/cjs/ui/MentionLabel.js.map +1 -1
  340. package/cjs/ui/MentionUserLabel.js +1 -1
  341. package/cjs/ui/MessageContent.js +29 -25
  342. package/cjs/ui/MessageContent.js.map +1 -1
  343. package/cjs/ui/MessageInput.js +81 -52
  344. package/cjs/ui/MessageInput.js.map +1 -1
  345. package/cjs/ui/MessageItemMenu.js +8 -8
  346. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  347. package/cjs/ui/MessageSearchFileItem.js +10 -10
  348. package/cjs/ui/MessageSearchItem.js +9 -9
  349. package/cjs/ui/MessageStatus.js +10 -10
  350. package/cjs/ui/Modal.js +7 -7
  351. package/cjs/ui/OGMessageItemBody.js +26 -32
  352. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  353. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  354. package/cjs/ui/OpenChannelAvatar.js +6 -6
  355. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  356. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  357. package/cjs/ui/OpenchannelOGMessage.js +48 -64
  358. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  359. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  360. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  361. package/cjs/ui/PlaceHolder.js +6 -6
  362. package/cjs/ui/PlaybackTime.js +2 -2
  363. package/cjs/ui/QuoteMessage.js +6 -6
  364. package/cjs/ui/QuoteMessageInput.js +6 -6
  365. package/cjs/ui/ReactionBadge.js +3 -3
  366. package/cjs/ui/ReactionButton.js +1 -1
  367. package/cjs/ui/SortByRow.js +2 -2
  368. package/cjs/ui/TextButton.js +2 -2
  369. package/cjs/ui/TextMessageItemBody.js +25 -30
  370. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  371. package/cjs/ui/ThreadReplies.js +6 -6
  372. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  373. package/cjs/ui/Tooltip.js +3 -3
  374. package/cjs/ui/TooltipWrapper.js +1 -1
  375. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  376. package/cjs/ui/UserListItem.js +10 -10
  377. package/cjs/ui/UserProfile.js +9 -9
  378. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  379. package/cjs/ui/VoiceMessgeInput.js +8 -8
  380. package/cjs/ui/Word.js +15 -10
  381. package/cjs/ui/Word.js.map +1 -1
  382. package/cjs/{useLongPress-839c53cb.js → useLongPress-d8b2586f.js} +3 -3
  383. package/cjs/{useLongPress-839c53cb.js.map → useLongPress-d8b2586f.js.map} +1 -1
  384. package/cjs/useSendbirdStateContext.js +1 -1
  385. package/cjs/utils/message/isVoiceMessage.js +2 -2
  386. package/cjs/{utils-41bb82dc.js → utils-49414b11.js} +1 -1
  387. package/cjs/{utils-41bb82dc.js.map → utils-49414b11.js.map} +1 -1
  388. package/cjs/{utils-7d2c966a.js → utils-6584b9f0.js} +1 -1
  389. package/cjs/{utils-7d2c966a.js.map → utils-6584b9f0.js.map} +1 -1
  390. package/cjs/{utils-9fc9438c.js → utils-7846a174.js} +2 -2
  391. package/cjs/{utils-9fc9438c.js.map → utils-7846a174.js.map} +1 -1
  392. package/cjs/{utils-dae078f4.js → utils-f294dd80.js} +1 -1
  393. package/cjs/{utils-dae078f4.js.map → utils-f294dd80.js.map} +1 -1
  394. package/cjs/{uuid-8454abf3.js → uuid-fe1b03cf.js} +1 -1
  395. package/cjs/{uuid-8454abf3.js.map → uuid-fe1b03cf.js.map} +1 -1
  396. package/cjs/withSendbird.js +1 -1
  397. package/{color-e5d40073.js → color-6e50d9e2.js} +1 -1
  398. package/{color-e5d40073.js.map → color-6e50d9e2.js.map} +1 -1
  399. package/{compareIds-148644b4.js → compareIds-67c3b05b.js} +1 -1
  400. package/{compareIds-148644b4.js.map → compareIds-67c3b05b.js.map} +1 -1
  401. package/{const-bf594206.js → const-8c87d265.js} +1 -1
  402. package/{const-bf594206.js.map → const-8c87d265.js.map} +1 -1
  403. package/{const-bba4efc9.js → const-b20d1024.js} +1 -1
  404. package/{const-bba4efc9.js.map → const-b20d1024.js.map} +1 -1
  405. package/{consts-f9543b99.js → consts-44e40533.js} +1 -1
  406. package/{consts-f9543b99.js.map → consts-44e40533.js.map} +1 -1
  407. package/consts-5929bec3.js +4 -0
  408. package/consts-5929bec3.js.map +1 -0
  409. package/{consts-b3042213.js → consts-5b2caf41.js} +1 -1
  410. package/{consts-b3042213.js.map → consts-5b2caf41.js.map} +1 -1
  411. package/consts-996c0a58.js +4 -0
  412. package/consts-996c0a58.js.map +1 -0
  413. package/{context-e82cf2c4.js → context-3ffe9980.js} +2 -2
  414. package/{context-e82cf2c4.js.map → context-3ffe9980.js.map} +1 -1
  415. package/dist/index.css +34 -26
  416. package/dist/index.css.map +1 -1
  417. package/{index-1dfb77d4.js → index-055bcae0.js} +2 -2
  418. package/{index-1dfb77d4.js.map → index-055bcae0.js.map} +1 -1
  419. package/{index-e1cff2ff.js → index-1d770388.js} +3 -3
  420. package/{index-e1cff2ff.js.map → index-1d770388.js.map} +1 -1
  421. package/{index-113d122f.js → index-26931609.js} +5 -5
  422. package/{index-113d122f.js.map → index-26931609.js.map} +1 -1
  423. package/{index-556999ef.js → index-3ee902ac.js} +8 -3
  424. package/index-3ee902ac.js.map +1 -0
  425. package/{index-18c2f8d4.js → index-3fff67da.js} +1 -1
  426. package/{index-18c2f8d4.js.map → index-3fff67da.js.map} +1 -1
  427. package/{index-253052c7.js → index-4538a9f1.js} +7 -7
  428. package/{index-253052c7.js.map → index-4538a9f1.js.map} +1 -1
  429. package/{index-9a413f89.js → index-55b1016d.js} +3 -3
  430. package/{index-9a413f89.js.map → index-55b1016d.js.map} +1 -1
  431. package/{index-e3d008b9.js → index-5668e8eb.js} +1 -1
  432. package/{index-e3d008b9.js.map → index-5668e8eb.js.map} +1 -1
  433. package/{index-86cb1c98.js → index-5d8bac74.js} +4 -4
  434. package/{index-86cb1c98.js.map → index-5d8bac74.js.map} +1 -1
  435. package/index-66393faa.js +57 -0
  436. package/index-66393faa.js.map +1 -0
  437. package/{index-97a2ff37.js → index-6e6736ec.js} +2 -2
  438. package/{index-97a2ff37.js.map → index-6e6736ec.js.map} +1 -1
  439. package/{index-2c0ab386.js → index-824e5bc8.js} +11 -5
  440. package/index-824e5bc8.js.map +1 -0
  441. package/{index-e571f56c.js → index-c36339ab.js} +4 -4
  442. package/{index-e571f56c.js.map → index-c36339ab.js.map} +1 -1
  443. package/{index-5be5af6d.js → index-d5769ac4.js} +7 -7
  444. package/{index-5be5af6d.js.map → index-d5769ac4.js.map} +1 -1
  445. package/{index-90365474.js → index-e34d85fd.js} +2 -2
  446. package/{index-90365474.js.map → index-e34d85fd.js.map} +1 -1
  447. package/index.d.ts +28 -1
  448. package/index.js +55 -51
  449. package/index.js.map +1 -1
  450. package/package.json +1 -1
  451. package/sendbirdSelectors.js +2 -2
  452. package/{stringSet-273bec27.js → stringSet-a9c3ac4a.js} +1 -1
  453. package/{stringSet-273bec27.js.map → stringSet-a9c3ac4a.js.map} +1 -1
  454. package/tokenize-63675252.js +130 -0
  455. package/tokenize-63675252.js.map +1 -0
  456. package/{topics-df7f51d4.js → topics-2a79610f.js} +1 -1
  457. package/{topics-df7f51d4.js.map → topics-2a79610f.js.map} +1 -1
  458. package/{tslib.es6-1aaf3795.js → tslib.es6-bb0710b6.js} +1 -1
  459. package/{tslib.es6-1aaf3795.js.map → tslib.es6-bb0710b6.js.map} +1 -1
  460. package/{types-ed183627.js → types-27a6a112.js} +1 -1
  461. package/types-27a6a112.js.map +1 -0
  462. package/ui/Accordion.js +3 -3
  463. package/ui/AccordionGroup.js +2 -2
  464. package/ui/AdminMessage.js +3 -3
  465. package/ui/Avatar.js +2 -2
  466. package/ui/Badge.js +5 -5
  467. package/ui/BottomSheet.js +1 -1
  468. package/ui/Button.js +3 -3
  469. package/ui/ChannelAvatar.js +3 -3
  470. package/ui/ConnectionStatus.js +4 -4
  471. package/ui/ContextMenu.js +5 -5
  472. package/ui/DateSeparator.js +4 -4
  473. package/ui/EmojiReactions.js +7 -7
  474. package/ui/FileMessageItemBody.js +6 -6
  475. package/ui/FileViewer.js +8 -8
  476. package/ui/IconButton.js +1 -1
  477. package/ui/ImageRenderer.js +1 -1
  478. package/ui/Input.js +2 -2
  479. package/ui/Label.js +2 -2
  480. package/ui/LinkLabel.js +2 -2
  481. package/ui/Loader.js +1 -1
  482. package/ui/MentionLabel.js +12 -11
  483. package/ui/MentionLabel.js.map +1 -1
  484. package/ui/MentionUserLabel.js +1 -1
  485. package/ui/MessageContent.js +29 -25
  486. package/ui/MessageContent.js.map +1 -1
  487. package/ui/MessageInput.js +81 -52
  488. package/ui/MessageInput.js.map +1 -1
  489. package/ui/MessageItemMenu.js +8 -8
  490. package/ui/MessageItemReactionMenu.js +5 -5
  491. package/ui/MessageSearchFileItem.js +10 -10
  492. package/ui/MessageSearchItem.js +9 -9
  493. package/ui/MessageStatus.js +10 -10
  494. package/ui/Modal.js +7 -7
  495. package/ui/OGMessageItemBody.js +26 -32
  496. package/ui/OGMessageItemBody.js.map +1 -1
  497. package/ui/OpenChannelAdminMessage.js +3 -3
  498. package/ui/OpenChannelAvatar.js +6 -6
  499. package/ui/OpenchannelConversationHeader.js +6 -6
  500. package/ui/OpenchannelFileMessage.js +16 -16
  501. package/ui/OpenchannelOGMessage.js +48 -64
  502. package/ui/OpenchannelOGMessage.js.map +1 -1
  503. package/ui/OpenchannelThumbnailMessage.js +15 -15
  504. package/ui/OpenchannelUserMessage.js +16 -16
  505. package/ui/PlaceHolder.js +6 -6
  506. package/ui/PlaybackTime.js +2 -2
  507. package/ui/QuoteMessage.js +6 -6
  508. package/ui/QuoteMessageInput.js +6 -6
  509. package/ui/ReactionBadge.js +3 -3
  510. package/ui/ReactionButton.js +1 -1
  511. package/ui/SortByRow.js +2 -2
  512. package/ui/TextButton.js +2 -2
  513. package/ui/TextMessageItemBody.js +25 -30
  514. package/ui/TextMessageItemBody.js.map +1 -1
  515. package/ui/ThreadReplies.js +6 -6
  516. package/ui/ThumbnailMessageItemBody.js +2 -2
  517. package/ui/Tooltip.js +3 -3
  518. package/ui/TooltipWrapper.js +1 -1
  519. package/ui/UnknownMessageItemBody.js +6 -6
  520. package/ui/UserListItem.js +10 -10
  521. package/ui/UserProfile.js +9 -9
  522. package/ui/VoiceMessageItemBody.js +5 -5
  523. package/ui/VoiceMessgeInput.js +8 -8
  524. package/ui/Word.js +15 -10
  525. package/ui/Word.js.map +1 -1
  526. package/{useLongPress-1ae5a380.js → useLongPress-7504e5b8.js} +3 -3
  527. package/{useLongPress-1ae5a380.js.map → useLongPress-7504e5b8.js.map} +1 -1
  528. package/useSendbirdStateContext.js +1 -1
  529. package/utils/message/isVoiceMessage.js +2 -2
  530. package/{utils-09901477.js → utils-1789e6d0.js} +1 -1
  531. package/{utils-09901477.js.map → utils-1789e6d0.js.map} +1 -1
  532. package/{utils-25614c42.js → utils-3ba27c29.js} +1 -1
  533. package/{utils-25614c42.js.map → utils-3ba27c29.js.map} +1 -1
  534. package/{utils-1b97d8ea.js → utils-3c4b1dd1.js} +2 -2
  535. package/{utils-1b97d8ea.js.map → utils-3c4b1dd1.js.map} +1 -1
  536. package/{utils-99c30ef6.js → utils-8318012f.js} +1 -1
  537. package/{utils-99c30ef6.js.map → utils-8318012f.js.map} +1 -1
  538. package/{uuid-29207f65.js → uuid-9ea19939.js} +1 -1
  539. package/{uuid-29207f65.js.map → uuid-9ea19939.js.map} +1 -1
  540. package/withSendbird.js +1 -1
  541. package/ChannelListProvider-3c107fc7.js.map +0 -1
  542. package/ChannelProvider-28639e83.js.map +0 -1
  543. package/_rollupPluginBabelHelpers-37cba0d6.js.map +0 -1
  544. package/cjs/ChannelListProvider-b7ffadf7.js.map +0 -1
  545. package/cjs/ChannelProvider-b963c72c.js.map +0 -1
  546. package/cjs/_rollupPluginBabelHelpers-1218aafb.js.map +0 -1
  547. package/cjs/index-2f2f3e43.js.map +0 -1
  548. package/cjs/index-7207d339.js.map +0 -1
  549. package/cjs/types-31b11c88.js.map +0 -1
  550. package/index-2c0ab386.js.map +0 -1
  551. package/index-556999ef.js.map +0 -1
  552. package/types-ed183627.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sources":["../../../../src/utils/useDidMountEffect.ts","../../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useDidMountEffect = (func: () => void, deps: Array<unknown>): void => {\n const [didMount, setDidmount] = useState(false);\n useEffect(() => {\n if (didMount) {\n func();\n } else {\n setDidmount(true);\n }\n }, deps);\n};\n\nexport default useDidMountEffect;\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport useDidMountEffect from '../../../../utils/useDidMountEffect';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\n// todo: Refactor this component, is too complex now\nconst Message = ({\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n}: MessageUIProps): React.ReactElement => {\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n threadReplySelectType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n } = useChannelContext();\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useDidMountEffect(() => {\n if (currentGroupChannel?.lastMessage?.messageId === message?.messageId) {\n handleScroll?.();\n }\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageHighlightedTimeout = null;\n if (highLightedMessageId === message.messageId && useMessageScrollRef?.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n animationTimeout = setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n messageHighlightedTimeout = setTimeout(() => {\n setHighLightedMessageId(0);\n onMessageHighlighted?.();\n }, 1600);\n } else {\n setIsHighlighted(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageHighlightedTimeout);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageAnimatedTimeout = null;\n if (animatedMessageId === message.messageId && useMessageScrollRef?.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n animationTimeout = setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n messageAnimatedTimeout = setTimeout(() => {\n setAnimatedMessageId(0);\n onMessageAnimated?.();\n }, 1600);\n } else {\n setIsAnimated(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageAnimatedTimeout);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId, onMessageAnimated]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message?.isUserMessage?.()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentGroupChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n threadReplySelectType={threadReplySelectType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n onReplyInThread={onReplyInThread}\n onQuoteMessageClick={onQuoteMessageClick}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["useDidMountEffect","func","deps","_a","useState","didMount","setDidmount","useEffect","Message","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_d","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_e","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","threadReplySelectType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","onReplyInThread","onQuoteMessageClick","onMessageAnimated","onMessageHighlighted","_f","showEdit","setShowEdit","_g","showRemove","setShowRemove","_h","showFileViewer","setShowFileViewer","_j","isAnimated","setIsAnimated","_k","isHighlighted","setIsHighlighted","_l","mentionNickname","setMentionNickname","_m","mentionedUsers","setMentionedUsers","_o","mentionedUserIds","setMentionedUserIds","_p","messageInputEvent","setMessageInputEvent","_q","selectedUser","setSelectedUser","_r","mentionSuggestedUsers","setMentionSuggestedUsers","_s","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","filter","i","indexOf","splice","lastMessage","messageId","_b","reactions","useLayoutEffect","animationTimeout","messageHighlightedTimeout","current","scrollIntoView","block","inline","setTimeout","clearTimeout","messageAnimatedTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","DateSeparator","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","_c","isUserMessage","call","SuggestedMentionList","user","__spreadArray","users","MessageInput","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","MessageContent","RemoveMessageModal","FileViewer"],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","sources":["../../../../src/utils/useDidMountEffect.ts","../../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useDidMountEffect = (func: () => void, deps: Array<unknown>): void => {\n const [didMount, setDidmount] = useState(false);\n useEffect(() => {\n if (didMount) {\n func();\n } else {\n setDidmount(true);\n }\n }, deps);\n};\n\nexport default useDidMountEffect;\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport useDidMountEffect from '../../../../utils/useDidMountEffect';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\n// todo: Refactor this component, is too complex now\nconst Message = ({\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n}: MessageUIProps): React.ReactElement => {\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n threadReplySelectType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n } = useChannelContext();\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const messageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useDidMountEffect(() => {\n if (currentGroupChannel?.lastMessage?.messageId === message?.messageId) {\n handleScroll?.();\n }\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageHighlightedTimeout = null;\n if (highLightedMessageId === message.messageId && messageScrollRef?.current) {\n messageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n animationTimeout = setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n messageHighlightedTimeout = setTimeout(() => {\n setHighLightedMessageId(0);\n onMessageHighlighted?.();\n }, 1600);\n } else {\n setIsHighlighted(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageHighlightedTimeout);\n }\n }, [highLightedMessageId, messageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageAnimatedTimeout = null;\n if (animatedMessageId === message.messageId && messageScrollRef?.current) {\n messageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n animationTimeout = setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n messageAnimatedTimeout = setTimeout(() => {\n setAnimatedMessageId(0);\n onMessageAnimated?.();\n }, 1600);\n } else {\n setIsAnimated(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageAnimatedTimeout);\n }\n }, [animatedMessageId, messageScrollRef.current, message.messageId, onMessageAnimated]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={messageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message?.isUserMessage?.()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentGroupChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={messageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n threadReplySelectType={threadReplySelectType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n onReplyInThread={onReplyInThread}\n onQuoteMessageClick={onQuoteMessageClick}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["useDidMountEffect","func","deps","_a","useState","didMount","setDidmount","useEffect","Message","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_d","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_e","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","threadReplySelectType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","onReplyInThread","onQuoteMessageClick","onMessageAnimated","onMessageHighlighted","_f","showEdit","setShowEdit","_g","showRemove","setShowRemove","_h","showFileViewer","setShowFileViewer","_j","isAnimated","setIsAnimated","_k","isHighlighted","setIsHighlighted","_l","mentionNickname","setMentionNickname","_m","mentionedUsers","setMentionedUsers","_o","mentionedUserIds","setMentionedUserIds","_p","messageInputEvent","setMessageInputEvent","_q","selectedUser","setSelectedUser","_r","mentionSuggestedUsers","setMentionSuggestedUsers","_s","ableMention","setAbleMention","editMessageInputRef","useRef","messageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","filter","i","indexOf","splice","lastMessage","messageId","_b","reactions","useLayoutEffect","animationTimeout","messageHighlightedTimeout","current","scrollIntoView","block","inline","setTimeout","clearTimeout","messageAnimatedTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","DateSeparator","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","_c","isUserMessage","call","SuggestedMentionList","user","__spreadArray","users","MessageInput","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","MessageContent","RemoveMessageModal","FileViewer"],"mappings":"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"}
@@ -1,59 +1,62 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-46c08a06.js');
3
+ var tslib_es6 = require('../../tslib.es6-94d25845.js');
4
4
  var React = require('react');
5
- var Channel_context = require('../../ChannelProvider-b963c72c.js');
5
+ var Channel_context = require('../../ChannelProvider-5915747e.js');
6
6
  var ui_MessageInput = require('../../ui/MessageInput.js');
7
7
  var ui_QuoteMessageInput = require('../../ui/QuoteMessageInput.js');
8
- var LocalizationContext = require('../../LocalizationContext-4822793b.js');
8
+ var LocalizationContext = require('../../LocalizationContext-3fb1efd5.js');
9
9
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
10
10
  var Channel_components_SuggestedMentionList = require('./SuggestedMentionList.js');
11
- var _const = require('../../const-44ac2c14.js');
12
- var VoiceMessageInputWrapper = require('../../VoiceMessageInputWrapper-82c8ef13.js');
13
- require('../../UserProfileContext-7bc4eec4.js');
11
+ var _const = require('../../const-7ce7d646.js');
12
+ var VoiceMessageInputWrapper = require('../../VoiceMessageInputWrapper-2301a9cd.js');
13
+ require('../../UserProfileContext-b0b956b8.js');
14
14
  require('prop-types');
15
- require('../../index-cfff5dbb.js');
16
- require('../../index-1151a507.js');
17
- require('../../topics-9d6a6d36.js');
18
- require('../../index-2f2f3e43.js');
15
+ require('../../index-106dbf0e.js');
16
+ require('../../index-05458f16.js');
17
+ require('../../topics-e4dffa33.js');
18
+ require('../../index-27196170.js');
19
19
  require('../../utils/message/getOutgoingMessageState.js');
20
- require('../../_rollupPluginBabelHelpers-1218aafb.js');
21
- require('../../compareIds-3d732a01.js');
22
- require('../../const-73aa22ac.js');
20
+ require('../../_rollupPluginBabelHelpers-05716924.js');
21
+ require('../../compareIds-c4f938a4.js');
22
+ require('../../const-893ed415.js');
23
23
  require('@sendbird/chat/groupChannel');
24
- require('../../uuid-8454abf3.js');
24
+ require('../../uuid-fe1b03cf.js');
25
25
  require('@sendbird/chat/message');
26
26
  require('../../ui/ContextMenu.js');
27
27
  require('react-dom');
28
28
  require('../../ui/SortByRow.js');
29
- require('../../index-7207d339.js');
30
- require('../../stringSet-7f49973c.js');
29
+ require('../../index-2068f053.js');
30
+ require('../../stringSet-eba21df4.js');
31
31
  require('../../ui/ReactionButton.js');
32
32
  require('../../ui/ImageRenderer.js');
33
33
  require('../../ui/Icon.js');
34
- require('../../consts-2b0eaee0.js');
34
+ require('../../consts-d9856131.js');
35
35
  require('../../ui/IconButton.js');
36
36
  require('../../ui/Button.js');
37
37
  require('dompurify');
38
- require('../../consts-11872691.js');
38
+ require('../../consts-f5219aa0.js');
39
+ require('../../consts-0b50a0c8.js');
40
+ require('../../consts-c4097faa.js');
41
+ require('../../tokenize-ca4ac5a1.js');
39
42
  require('../../withSendbird.js');
40
43
  require('../../ui/Avatar.js');
41
- require('../../ThreadProvider-93f2b7e5.js');
44
+ require('../../ThreadProvider-73f209d6.js');
42
45
  require('../../Thread/context/types.js');
43
46
  require('@sendbird/chat');
44
47
  require('../../VoicePlayer/useVoicePlayer.js');
45
- require('../../index-e9d3a5d6.js');
48
+ require('../../index-a981854c.js');
46
49
  require('../../VoiceRecorder/context.js');
47
50
  require('../../lame.all.js');
48
51
  require('../../VoiceRecorder/useVoiceRecorder.js');
49
- require('../../index-a867516a.js');
52
+ require('../../index-bd887626.js');
50
53
  require('../../ui/PlaybackTime.js');
51
54
  require('../../ui/ProgressBar.js');
52
55
  require('../../ui/TextButton.js');
53
- require('../../color-937f65ad.js');
56
+ require('../../color-360107a6.js');
54
57
  require('../../ui/Modal.js');
55
- require('../../index-57989185.js');
56
- require('../../MediaQueryContext-b83880cc.js');
58
+ require('../../index-3ecf6f1c.js');
59
+ require('../../MediaQueryContext-9982e73b.js');
57
60
 
58
61
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
59
62
 
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.js","sources":["../../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport VoiceMessageInputWrapper from './VoiceMessageInputWrapper';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n};\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const {\n value,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propDisabled = props.disabled;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const {\n isOnline,\n isMentionEnabled,\n userMention,\n isVoiceMessageEnabled,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n // todo: set type\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const disabled = propDisabled\n || !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n setShowVoiceMessageInput(false);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className={`sendbird-message-input-wrapper${showVoiceMessageInput ? '--voice-message' : ''}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={channel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, quoteMessage);\n setQuoteMessage(null);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n setMentionedUsers={setMentionedUsers}\n channel={channel}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n renderFileUploadIcon={renderFileUploadIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propDisabled","disabled","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","sendVoiceMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","isVoiceMessageEnabled","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","_k","showVoiceMessageInput","setShowVoiceMessageInput","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","concat","SuggestedMentionList","user","__spreadArray","users","QuoteMessageInput","VoiceMessageInputWrapper","recordedFile","duration","MessageInput","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"MessageInput.js","sources":["../../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport VoiceMessageInputWrapper from './VoiceMessageInputWrapper';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n};\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const {\n value,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propDisabled = props.disabled;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const {\n isOnline,\n isMentionEnabled,\n userMention,\n isVoiceMessageEnabled,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n // todo: set type\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const disabled = propDisabled\n || !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n setShowVoiceMessageInput(false);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className={`sendbird-message-input-wrapper${showVoiceMessageInput ? '--voice-message' : ''}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={channel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, quoteMessage);\n setQuoteMessage(null);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n setMentionedUsers={setMentionedUsers}\n channel={channel}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n renderFileUploadIcon={renderFileUploadIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propDisabled","disabled","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","sendVoiceMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","isVoiceMessageEnabled","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","_k","showVoiceMessageInput","setShowVoiceMessageInput","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","concat","SuggestedMentionList","user","__spreadArray","users","QuoteMessageInput","VoiceMessageInputWrapper","recordedFile","duration","MessageInput","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
@@ -1,60 +1,63 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Channel_context = require('../../ChannelProvider-b963c72c.js');
5
- var ui_PlaceHolder = require('../../index-a5fad93c.js');
4
+ var Channel_context = require('../../ChannelProvider-5915747e.js');
5
+ var ui_PlaceHolder = require('../../index-95fe4955.js');
6
6
  var ui_Icon = require('../../ui/Icon.js');
7
7
  var Channel_components_Message = require('./Message.js');
8
- var index = require('../../index-f78cff63.js');
8
+ var index = require('../../index-871938c2.js');
9
9
  var Channel_components_UnreadCount = require('./UnreadCount.js');
10
10
  var Channel_components_FrozenNotification = require('./FrozenNotification.js');
11
- var consts = require('../../consts-2b0eaee0.js');
12
- require('../../UserProfileContext-7bc4eec4.js');
11
+ var consts = require('../../consts-d9856131.js');
12
+ var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
13
+ var Message_context = require('../../Message/context.js');
14
+ require('../../UserProfileContext-b0b956b8.js');
13
15
  require('prop-types');
14
- require('../../useSendbirdStateContext.js');
15
- require('../../withSendbird.js');
16
- require('../../tslib.es6-46c08a06.js');
17
- require('../../index-cfff5dbb.js');
18
- require('../../index-1151a507.js');
19
- require('../../topics-9d6a6d36.js');
20
- require('../../index-2f2f3e43.js');
16
+ require('../../index-106dbf0e.js');
17
+ require('../../index-05458f16.js');
18
+ require('../../topics-e4dffa33.js');
19
+ require('../../index-27196170.js');
20
+ require('../../tslib.es6-94d25845.js');
21
21
  require('../../utils/message/getOutgoingMessageState.js');
22
- require('../../_rollupPluginBabelHelpers-1218aafb.js');
23
- require('../../compareIds-3d732a01.js');
24
- require('../../const-73aa22ac.js');
22
+ require('../../_rollupPluginBabelHelpers-05716924.js');
23
+ require('../../compareIds-c4f938a4.js');
24
+ require('../../const-893ed415.js');
25
25
  require('@sendbird/chat/groupChannel');
26
- require('../../uuid-8454abf3.js');
26
+ require('../../uuid-fe1b03cf.js');
27
27
  require('@sendbird/chat/message');
28
28
  require('../../ui/ContextMenu.js');
29
29
  require('react-dom');
30
30
  require('../../ui/SortByRow.js');
31
- require('../../index-7207d339.js');
32
- require('../../stringSet-7f49973c.js');
31
+ require('../../index-2068f053.js');
32
+ require('../../stringSet-eba21df4.js');
33
33
  require('../../ui/ReactionButton.js');
34
34
  require('../../ui/ImageRenderer.js');
35
- require('../../LocalizationContext-4822793b.js');
35
+ require('../../LocalizationContext-3fb1efd5.js');
36
36
  require('../../ui/Loader.js');
37
37
  require('./SuggestedMentionList.js');
38
38
  require('../../ui/Avatar.js');
39
- require('../../const-44ac2c14.js');
40
- require('../../ThreadProvider-93f2b7e5.js');
39
+ require('../../const-7ce7d646.js');
40
+ require('../../ThreadProvider-73f209d6.js');
41
41
  require('../../Thread/context/types.js');
42
42
  require('@sendbird/chat');
43
43
  require('../../ui/DateSeparator.js');
44
- require('../../color-937f65ad.js');
44
+ require('../../color-360107a6.js');
45
45
  require('../../ui/MessageInput.js');
46
46
  require('../../ui/IconButton.js');
47
47
  require('../../ui/Button.js');
48
48
  require('dompurify');
49
- require('../../consts-11872691.js');
49
+ require('../../consts-f5219aa0.js');
50
+ require('../../consts-0b50a0c8.js');
51
+ require('../../consts-c4097faa.js');
52
+ require('../../tokenize-ca4ac5a1.js');
50
53
  require('../../ui/MessageContent.js');
51
54
  require('../../ui/UserProfile.js');
52
55
  require('../../sendbirdSelectors.js');
53
- require('../../utils-7d2c966a.js');
54
- require('../../index-aaa65319.js');
55
- require('../../index-20fc629b.js');
56
+ require('../../utils-6584b9f0.js');
57
+ require('../../index-046dffba.js');
58
+ require('../../index-b8bcbe2e.js');
56
59
  require('../../ui/MessageItemMenu.js');
57
- require('../../types-31b11c88.js');
60
+ require('../../types-dd4057f8.js');
58
61
  require('../../ui/MessageItemReactionMenu.js');
59
62
  require('../../ui/EmojiReactions.js');
60
63
  require('../../ui/Tooltip.js');
@@ -62,26 +65,27 @@ require('../../ui/TooltipWrapper.js');
62
65
  require('../../ui/ReactionBadge.js');
63
66
  require('../../ui/AdminMessage.js');
64
67
  require('../../ui/TextMessageItemBody.js');
65
- require('../../ui/Word.js');
66
- require('../../ui/LinkLabel.js');
68
+ require('../../index-4efda0a3.js');
67
69
  require('../../ui/MentionLabel.js');
70
+ require('../../ui/LinkLabel.js');
68
71
  require('../../ui/FileMessageItemBody.js');
69
72
  require('../../ui/TextButton.js');
70
- require('../../MediaQueryContext-b83880cc.js');
73
+ require('../../MediaQueryContext-9982e73b.js');
71
74
  require('../../ui/ThumbnailMessageItemBody.js');
72
75
  require('../../ui/OGMessageItemBody.js');
73
76
  require('../../ui/UnknownMessageItemBody.js');
74
77
  require('../../ui/QuoteMessage.js');
75
- require('../../useLongPress-839c53cb.js');
78
+ require('../../useLongPress-d8b2586f.js');
76
79
  require('../../ui/BottomSheet.js');
77
- require('../../index-57989185.js');
80
+ require('../../index-3ecf6f1c.js');
78
81
  require('../../ui/ThreadReplies.js');
79
82
  require('../../ui/VoiceMessageItemBody.js');
80
83
  require('../../ui/ProgressBar.js');
81
84
  require('../../VoicePlayer/useVoicePlayer.js');
82
- require('../../index-e9d3a5d6.js');
85
+ require('../../index-a981854c.js');
83
86
  require('../../VoiceRecorder/context.js');
84
87
  require('../../lame.all.js');
88
+ require('../../withSendbird.js');
85
89
  require('../../ui/PlaybackTime.js');
86
90
  require('./FileViewer.js');
87
91
  require('./RemoveMessageModal.js');
@@ -146,14 +150,20 @@ var MessageList = function (_a) {
146
150
  messageActionTypes = _c.messageActionTypes,
147
151
  currentGroupChannel = _c.currentGroupChannel,
148
152
  disableMarkAsRead = _c.disableMarkAsRead,
153
+ filterMessageList = _c.filterMessageList,
149
154
  replyType = _c.replyType,
150
155
  loading = _c.loading,
151
156
  unreadSince = _c.unreadSince;
152
157
 
158
+ var store = useSendbirdStateContext();
159
+
153
160
  var _d = React.useState(0),
154
161
  scrollBottom = _d[0],
155
162
  setScrollBottom = _d[1];
156
163
 
164
+ var allMessagesFiltered = typeof filterMessageList === 'function' ? allMessages.filter(filterMessageList) : allMessages;
165
+ var markAsReadScheduler = store.config.markAsReadScheduler;
166
+
157
167
  var onScroll = function (e) {
158
168
  var element = e.target;
159
169
  var scrollTop = element.scrollTop,
@@ -197,22 +207,13 @@ var MessageList = function (_a) {
197
207
  }
198
208
 
199
209
  if (!disableMarkAsRead && Channel_context.isAboutSame(clientHeight + scrollTop, scrollHeight, consts.SCROLL_BUFFER)) {
200
- // Mark as read if scroll is at end
201
- setTimeout(function () {
202
- var _a;
203
-
204
- messagesDispatcher({
205
- type: messageActionTypes.MARK_AS_READ,
206
- payload: {
207
- channel: currentGroupChannel
208
- }
209
- });
210
-
211
- try {
212
- (_a = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.markAsRead) === null || _a === void 0 ? void 0 : _a.call(currentGroupChannel);
213
- } catch (_b) {//
210
+ messagesDispatcher({
211
+ type: messageActionTypes.MARK_AS_READ,
212
+ payload: {
213
+ channel: currentGroupChannel
214
214
  }
215
- }, 500);
215
+ });
216
+ markAsReadScheduler === null || markAsReadScheduler === void 0 ? void 0 : markAsReadScheduler.push(currentGroupChannel);
216
217
  }
217
218
  };
218
219
 
@@ -246,7 +247,7 @@ var MessageList = function (_a) {
246
247
  });
247
248
  }
248
249
 
249
- if (allMessages.length < 1) {
250
+ if (allMessagesFiltered.length < 1) {
250
251
  if (renderPlaceholderEmpty && typeof renderPlaceholderEmpty === 'function') {
251
252
  return renderPlaceholderEmpty();
252
253
  }
@@ -267,21 +268,27 @@ var MessageList = function (_a) {
267
268
  className: "sendbird-conversation__messages-padding",
268
269
  ref: scrollRef,
269
270
  onScroll: onScroll
270
- }, allMessages.map(function (m, idx) {
271
- var _a = getMessagePartsInfo({
272
- allMessages: allMessages,
271
+ }, allMessagesFiltered.map(function (m, idx) {
272
+ var _a, _b;
273
+
274
+ var _c = getMessagePartsInfo({
275
+ allMessages: allMessagesFiltered,
273
276
  replyType: replyType,
274
277
  isMessageGroupingEnabled: isMessageGroupingEnabled,
275
278
  currentIndex: idx,
276
279
  currentMessage: m,
277
280
  currentChannel: currentGroupChannel
278
281
  }),
279
- chainTop = _a.chainTop,
280
- chainBottom = _a.chainBottom,
281
- hasSeparator = _a.hasSeparator;
282
+ chainTop = _c.chainTop,
283
+ chainBottom = _c.chainBottom,
284
+ hasSeparator = _c.hasSeparator;
282
285
 
283
- return /*#__PURE__*/React__default["default"].createElement(Channel_components_Message, {
286
+ var isByMe = ((_a = m === null || m === void 0 ? void 0 : m.sender) === null || _a === void 0 ? void 0 : _a.userId) === ((_b = store === null || store === void 0 ? void 0 : store.config) === null || _b === void 0 ? void 0 : _b.userId);
287
+ return /*#__PURE__*/React__default["default"].createElement(Message_context.MessageProvider, {
288
+ message: m,
284
289
  key: m === null || m === void 0 ? void 0 : m.messageId,
290
+ isByMe: isByMe
291
+ }, /*#__PURE__*/React__default["default"].createElement(Channel_components_Message, {
285
292
  handleScroll: handleScroll,
286
293
  renderMessage: renderMessage,
287
294
  message: m,
@@ -289,7 +296,7 @@ var MessageList = function (_a) {
289
296
  chainTop: chainTop,
290
297
  chainBottom: chainBottom,
291
298
  renderCustomSeparator: renderCustomSeparator
292
- });
299
+ }));
293
300
  }))), (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isFrozen) && /*#__PURE__*/React__default["default"].createElement(Channel_components_FrozenNotification, {
294
301
  className: "sendbird-conversation__messages__notification"
295
302
  }), /*#__PURE__*/React__default["default"].createElement(Channel_components_UnreadCount, {
@@ -304,11 +311,7 @@ var MessageList = function (_a) {
304
311
  }
305
312
 
306
313
  if (!disableMarkAsRead) {
307
- try {
308
- currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.markAsRead();
309
- } catch (_d) {//
310
- }
311
-
314
+ markAsReadScheduler === null || markAsReadScheduler === void 0 ? void 0 : markAsReadScheduler.push(currentGroupChannel);
312
315
  messagesDispatcher({
313
316
  type: messageActionTypes.MARK_AS_READ,
314
317
  payload: {