@sendbird/uikit-react 3.4.7 → 3.4.8-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (802) hide show
  1. package/App.js +46 -46
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +26 -0
  4. package/Channel/components/ChannelHeader.js +18 -22
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +43 -43
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -17
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +4 -4
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +38 -38
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +30 -33
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +51 -44
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +16 -20
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +18 -24
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +14 -20
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +4 -4
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +11 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +43 -43
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +14 -14
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +8 -8
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +29 -30
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +25 -28
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +17 -15
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -7
  41. package/ChannelList.js +29 -30
  42. package/ChannelList.js.map +1 -1
  43. package/{ChannelListProvider-8be91a05.js → ChannelListProvider-e8ad86b6.js} +15 -19
  44. package/ChannelListProvider-e8ad86b6.js.map +1 -0
  45. package/{ChannelProvider-d643e6d9.js → ChannelProvider-6de56b36.js} +13 -97
  46. package/ChannelProvider-6de56b36.js.map +1 -0
  47. package/ChannelSettings/components/ChannelProfile.js +11 -11
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  49. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  50. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  51. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  52. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  53. package/ChannelSettings/components/LeaveChannel.js +11 -11
  54. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  55. package/ChannelSettings/components/ModerationPanel.js +14 -14
  56. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  57. package/ChannelSettings/components/UserListItem.js +10 -10
  58. package/ChannelSettings/components/UserListItem.js.map +1 -1
  59. package/ChannelSettings/components/UserPanel.js +13 -13
  60. package/ChannelSettings/components/UserPanel.js.map +1 -1
  61. package/ChannelSettings/context.js +3 -3
  62. package/ChannelSettings/context.js.map +1 -1
  63. package/ChannelSettings.js +18 -18
  64. package/ChannelSettings.js.map +1 -1
  65. package/CreateChannel/components/CreateChannelUI.js +13 -13
  66. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  67. package/CreateChannel/components/InviteUsers.js +14 -14
  68. package/CreateChannel/components/InviteUsers.js.map +1 -1
  69. package/CreateChannel/components/SelectChannelType.js +10 -10
  70. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  71. package/CreateChannel/context.js +4 -4
  72. package/CreateChannel.js +13 -13
  73. package/CreateChannel.js.map +1 -1
  74. package/{CreateChannelProvider-5674e81b.js → CreateChannelProvider-64578d2a.js} +1 -1
  75. package/{CreateChannelProvider-5674e81b.js.map → CreateChannelProvider-64578d2a.js.map} +1 -1
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  78. package/CreateOpenChannel/context.js +1 -1
  79. package/CreateOpenChannel/context.js.map +1 -1
  80. package/CreateOpenChannel.js +9 -9
  81. package/CreateOpenChannel.js.map +1 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  83. package/EditUserProfile/context.js.map +1 -1
  84. package/EditUserProfile.js +12 -12
  85. package/EditUserProfile.js.map +1 -1
  86. package/{LocalizationContext-ad70364c.js → LocalizationContext-7ae12588.js} +3 -3
  87. package/{LocalizationContext-ad70364c.js.map → LocalizationContext-7ae12588.js.map} +1 -1
  88. package/{MediaQueryContext-4e555ef5.js → MediaQueryContext-05d4db73.js} +1 -1
  89. package/MediaQueryContext-05d4db73.js.map +1 -0
  90. package/{MemberList-24b818f8.js → MemberList-9634fee8.js} +5 -5
  91. package/MemberList-9634fee8.js.map +1 -0
  92. package/Message/context.js.map +1 -1
  93. package/MessageSearch/components/MessageSearchUI.js +11 -11
  94. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  95. package/MessageSearch/context.js +1 -1
  96. package/MessageSearch/context.js.map +1 -1
  97. package/MessageSearch.js +11 -11
  98. package/MessageSearch.js.map +1 -1
  99. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  100. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  101. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  102. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  103. package/OpenChannel/components/OpenChannelInput.js +18 -18
  104. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelMessage.js +27 -32
  106. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  108. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelUI.js +31 -31
  110. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  111. package/OpenChannel/context.js +8 -8
  112. package/OpenChannel.js +31 -31
  113. package/OpenChannel.js.map +1 -1
  114. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  115. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  116. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  117. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  118. package/OpenChannelList/context.js +3 -3
  119. package/OpenChannelList.js +13 -13
  120. package/OpenChannelList.js.map +1 -1
  121. package/{OpenChannelListProvider-27822936.js → OpenChannelListProvider-f6a88782.js} +3 -3
  122. package/{OpenChannelListProvider-27822936.js.map → OpenChannelListProvider-f6a88782.js.map} +1 -1
  123. package/{OpenChannelProvider-5148963b.js → OpenChannelProvider-f1a4b4fa.js} +9 -7
  124. package/OpenChannelProvider-f1a4b4fa.js.map +1 -0
  125. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  126. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  127. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  128. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  129. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  130. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  131. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  132. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  133. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  134. package/OpenChannelSettings/context.js +3 -3
  135. package/OpenChannelSettings/context.js.map +1 -1
  136. package/OpenChannelSettings.js +17 -17
  137. package/OpenChannelSettings.js.map +1 -1
  138. package/README.md +28 -8
  139. package/{RemoveMessageModal-54d1b0a4.js → RemoveMessageModal-2b9bdeed.js} +3 -3
  140. package/{RemoveMessageModal-54d1b0a4.js.map → RemoveMessageModal-2b9bdeed.js.map} +1 -1
  141. package/SendbirdProvider.js +13 -13
  142. package/SendbirdProvider.js.map +1 -1
  143. package/Thread/components/ParentMessageInfo.js +32 -32
  144. package/Thread/components/ParentMessageInfo.js.map +1 -1
  145. package/Thread/components/ParentMessageInfoItem.js +18 -18
  146. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  147. package/Thread/components/ThreadHeader.js +6 -6
  148. package/Thread/components/ThreadHeader.js.map +1 -1
  149. package/Thread/components/ThreadList.js +35 -35
  150. package/Thread/components/ThreadList.js.map +1 -1
  151. package/Thread/components/ThreadListItem.js +34 -34
  152. package/Thread/components/ThreadListItem.js.map +1 -1
  153. package/Thread/components/ThreadMessageInput.js +28 -31
  154. package/Thread/components/ThreadMessageInput.js.map +1 -1
  155. package/Thread/components/ThreadUI.js +36 -36
  156. package/Thread/components/ThreadUI.js.map +1 -1
  157. package/Thread/context.js +8 -8
  158. package/Thread.js +36 -36
  159. package/Thread.js.map +1 -1
  160. package/{ThreadProvider-96a5e77e.js → ThreadProvider-5a216f9d.js} +7 -7
  161. package/ThreadProvider-5a216f9d.js.map +1 -0
  162. package/{UserProfileContext-b68f33fc.js → UserProfileContext-e8124c47.js} +1 -1
  163. package/{UserProfileContext-b68f33fc.js.map → UserProfileContext-e8124c47.js.map} +1 -1
  164. package/{VoiceMessageInputWrapper-07631f8d.js → VoiceMessageInputWrapper-ce56172a.js} +8 -8
  165. package/VoiceMessageInputWrapper-ce56172a.js.map +1 -0
  166. package/VoicePlayer/context.js +3 -3
  167. package/VoicePlayer/useVoicePlayer.js +6 -6
  168. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  169. package/VoiceRecorder/context.js +6 -6
  170. package/VoiceRecorder/context.js.map +1 -1
  171. package/VoiceRecorder/useVoiceRecorder.js +3 -2
  172. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  173. package/{WebAudioUtils-3fb13b51.js → WebAudioUtils-6229e96a.js} +1 -1
  174. package/{WebAudioUtils-3fb13b51.js.map → WebAudioUtils-6229e96a.js.map} +1 -1
  175. package/{_rollupPluginBabelHelpers-5d0c716a.js → _rollupPluginBabelHelpers-96062e23.js} +1 -1
  176. package/_rollupPluginBabelHelpers-96062e23.js.map +1 -0
  177. package/{actionTypes-b270327e.js → actionTypes-423a1fac.js} +1 -1
  178. package/{actionTypes-b270327e.js.map → actionTypes-423a1fac.js.map} +1 -1
  179. package/cjs/App.js +46 -46
  180. package/cjs/App.js.map +1 -1
  181. package/cjs/Channel/components/ChannelHeader.js +18 -22
  182. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  183. package/cjs/Channel/components/ChannelUI.js +43 -43
  184. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  185. package/cjs/Channel/components/FileViewer.js +14 -17
  186. package/cjs/Channel/components/FileViewer.js.map +1 -1
  187. package/cjs/Channel/components/FrozenNotification.js +4 -4
  188. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  189. package/cjs/Channel/components/Message.js +38 -38
  190. package/cjs/Channel/components/Message.js.map +1 -1
  191. package/cjs/Channel/components/MessageInput.js +30 -33
  192. package/cjs/Channel/components/MessageInput.js.map +1 -1
  193. package/cjs/Channel/components/MessageList.js +51 -44
  194. package/cjs/Channel/components/MessageList.js.map +1 -1
  195. package/cjs/Channel/components/RemoveMessageModal.js +16 -20
  196. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  197. package/cjs/Channel/components/SuggestedMentionList.js +18 -24
  198. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  199. package/cjs/Channel/components/TypingIndicator.js +14 -20
  200. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  201. package/cjs/Channel/components/UnreadCount.js +4 -4
  202. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  203. package/cjs/Channel/context.js +11 -19
  204. package/cjs/Channel/context.js.map +1 -1
  205. package/cjs/Channel.js +43 -43
  206. package/cjs/Channel.js.map +1 -1
  207. package/cjs/ChannelList/components/AddChannel.js +14 -14
  208. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  209. package/cjs/ChannelList/components/ChannelListHeader.js +8 -8
  210. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  211. package/cjs/ChannelList/components/ChannelListUI.js +29 -30
  212. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  213. package/cjs/ChannelList/components/ChannelPreview.js +25 -28
  214. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  215. package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -15
  216. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  217. package/cjs/ChannelList/context.js +7 -7
  218. package/cjs/ChannelList.js +29 -30
  219. package/cjs/ChannelList.js.map +1 -1
  220. package/cjs/{ChannelListProvider-6b61a484.js → ChannelListProvider-2bcdc671.js} +15 -19
  221. package/cjs/ChannelListProvider-2bcdc671.js.map +1 -0
  222. package/cjs/{ChannelProvider-12a12f31.js → ChannelProvider-2a01302b.js} +12 -96
  223. package/cjs/ChannelProvider-2a01302b.js.map +1 -0
  224. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  225. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  226. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  227. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  228. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  229. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  230. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  231. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  232. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  233. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  234. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  235. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  236. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  237. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  238. package/cjs/ChannelSettings/context.js +3 -3
  239. package/cjs/ChannelSettings/context.js.map +1 -1
  240. package/cjs/ChannelSettings.js +18 -18
  241. package/cjs/ChannelSettings.js.map +1 -1
  242. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  243. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  244. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  245. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  246. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  247. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  248. package/cjs/CreateChannel/context.js +4 -4
  249. package/cjs/CreateChannel.js +13 -13
  250. package/cjs/CreateChannel.js.map +1 -1
  251. package/cjs/{CreateChannelProvider-2beb2415.js → CreateChannelProvider-8f7d9505.js} +1 -1
  252. package/cjs/{CreateChannelProvider-2beb2415.js.map → CreateChannelProvider-8f7d9505.js.map} +1 -1
  253. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  254. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  255. package/cjs/CreateOpenChannel/context.js +1 -1
  256. package/cjs/CreateOpenChannel/context.js.map +1 -1
  257. package/cjs/CreateOpenChannel.js +9 -9
  258. package/cjs/CreateOpenChannel.js.map +1 -1
  259. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  260. package/cjs/EditUserProfile/context.js.map +1 -1
  261. package/cjs/EditUserProfile.js +12 -12
  262. package/cjs/EditUserProfile.js.map +1 -1
  263. package/cjs/{LocalizationContext-30772f4a.js → LocalizationContext-975ffc10.js} +3 -3
  264. package/cjs/{LocalizationContext-30772f4a.js.map → LocalizationContext-975ffc10.js.map} +1 -1
  265. package/cjs/{MediaQueryContext-3b09499c.js → MediaQueryContext-302f1c4f.js} +1 -1
  266. package/cjs/MediaQueryContext-302f1c4f.js.map +1 -0
  267. package/cjs/{MemberList-f0c4e234.js → MemberList-0c0c303c.js} +5 -5
  268. package/cjs/MemberList-0c0c303c.js.map +1 -0
  269. package/cjs/Message/context.js.map +1 -1
  270. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  271. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  272. package/cjs/MessageSearch/context.js +1 -1
  273. package/cjs/MessageSearch/context.js.map +1 -1
  274. package/cjs/MessageSearch.js +11 -11
  275. package/cjs/MessageSearch.js.map +1 -1
  276. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  277. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  278. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  279. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  280. package/cjs/OpenChannel/components/OpenChannelInput.js +18 -18
  281. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  282. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -32
  283. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  284. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  285. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  286. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  287. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  288. package/cjs/OpenChannel/context.js +8 -8
  289. package/cjs/OpenChannel.js +31 -31
  290. package/cjs/OpenChannel.js.map +1 -1
  291. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  292. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  293. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  294. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  295. package/cjs/OpenChannelList/context.js +3 -3
  296. package/cjs/OpenChannelList.js +13 -13
  297. package/cjs/OpenChannelList.js.map +1 -1
  298. package/cjs/{OpenChannelListProvider-d48bd733.js → OpenChannelListProvider-ef3655ce.js} +3 -3
  299. package/cjs/{OpenChannelListProvider-d48bd733.js.map → OpenChannelListProvider-ef3655ce.js.map} +1 -1
  300. package/cjs/{OpenChannelProvider-56846c0c.js → OpenChannelProvider-c500275a.js} +9 -7
  301. package/cjs/OpenChannelProvider-c500275a.js.map +1 -0
  302. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  303. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  304. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  305. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  306. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  307. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  308. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  309. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  310. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  311. package/cjs/OpenChannelSettings/context.js +3 -3
  312. package/cjs/OpenChannelSettings/context.js.map +1 -1
  313. package/cjs/OpenChannelSettings.js +17 -17
  314. package/cjs/OpenChannelSettings.js.map +1 -1
  315. package/cjs/{RemoveMessageModal-e0480b7c.js → RemoveMessageModal-f8277edf.js} +3 -3
  316. package/cjs/{RemoveMessageModal-e0480b7c.js.map → RemoveMessageModal-f8277edf.js.map} +1 -1
  317. package/cjs/SendbirdProvider.js +13 -13
  318. package/cjs/SendbirdProvider.js.map +1 -1
  319. package/cjs/Thread/components/ParentMessageInfo.js +32 -32
  320. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  321. package/cjs/Thread/components/ParentMessageInfoItem.js +18 -18
  322. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  323. package/cjs/Thread/components/ThreadHeader.js +6 -6
  324. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  325. package/cjs/Thread/components/ThreadList.js +35 -35
  326. package/cjs/Thread/components/ThreadList.js.map +1 -1
  327. package/cjs/Thread/components/ThreadListItem.js +34 -34
  328. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  329. package/cjs/Thread/components/ThreadMessageInput.js +28 -31
  330. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  331. package/cjs/Thread/components/ThreadUI.js +36 -36
  332. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  333. package/cjs/Thread/context.js +8 -8
  334. package/cjs/Thread.js +36 -36
  335. package/cjs/Thread.js.map +1 -1
  336. package/cjs/{ThreadProvider-1ebd5bc0.js → ThreadProvider-e8f49239.js} +7 -7
  337. package/cjs/ThreadProvider-e8f49239.js.map +1 -0
  338. package/cjs/{UserProfileContext-eb5a10d6.js → UserProfileContext-8b19c6c3.js} +1 -1
  339. package/cjs/{UserProfileContext-eb5a10d6.js.map → UserProfileContext-8b19c6c3.js.map} +1 -1
  340. package/cjs/{VoiceMessageInputWrapper-044427b2.js → VoiceMessageInputWrapper-5dfaba8f.js} +8 -8
  341. package/cjs/VoiceMessageInputWrapper-5dfaba8f.js.map +1 -0
  342. package/cjs/VoicePlayer/context.js +3 -3
  343. package/cjs/VoicePlayer/useVoicePlayer.js +6 -6
  344. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  345. package/cjs/VoiceRecorder/context.js +6 -6
  346. package/cjs/VoiceRecorder/context.js.map +1 -1
  347. package/cjs/VoiceRecorder/useVoiceRecorder.js +3 -2
  348. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  349. package/cjs/{WebAudioUtils-57d7e366.js → WebAudioUtils-2bd92ed1.js} +1 -1
  350. package/cjs/{WebAudioUtils-57d7e366.js.map → WebAudioUtils-2bd92ed1.js.map} +1 -1
  351. package/cjs/{_rollupPluginBabelHelpers-4b6406c2.js → _rollupPluginBabelHelpers-596e2aef.js} +1 -1
  352. package/cjs/_rollupPluginBabelHelpers-596e2aef.js.map +1 -0
  353. package/cjs/{actionTypes-f66e00c2.js → actionTypes-29997777.js} +1 -1
  354. package/cjs/{actionTypes-f66e00c2.js.map → actionTypes-29997777.js.map} +1 -1
  355. package/cjs/{color-4904d01e.js → color-ac868fc0.js} +1 -1
  356. package/cjs/{color-4904d01e.js.map → color-ac868fc0.js.map} +1 -1
  357. package/cjs/{compareIds-de8d3b96.js → compareIds-3c9472b4.js} +2 -2
  358. package/cjs/compareIds-3c9472b4.js.map +1 -0
  359. package/cjs/{const-97ad0ae2.js → const-7b049118.js} +1 -1
  360. package/cjs/{const-97ad0ae2.js.map → const-7b049118.js.map} +1 -1
  361. package/cjs/{const-bba9510b.js → const-7d011d30.js} +1 -1
  362. package/cjs/{const-bba9510b.js.map → const-7d011d30.js.map} +1 -1
  363. package/cjs/{consts-6acebb51.js → consts-6cf0ec85.js} +1 -1
  364. package/cjs/{consts-6acebb51.js.map → consts-6cf0ec85.js.map} +1 -1
  365. package/cjs/{consts-cafff484.js → consts-9cbf147c.js} +1 -1
  366. package/cjs/{consts-cafff484.js.map → consts-9cbf147c.js.map} +1 -1
  367. package/cjs/{consts-a235ce0a.js → consts-d9ff7fec.js} +1 -1
  368. package/cjs/{consts-a235ce0a.js.map → consts-d9ff7fec.js.map} +1 -1
  369. package/cjs/{consts-cb169c09.js → consts-df222988.js} +1 -1
  370. package/cjs/{consts-cb169c09.js.map → consts-df222988.js.map} +1 -1
  371. package/cjs/{context-e6181d31.js → context-1d31dbec.js} +2 -2
  372. package/cjs/{context-e6181d31.js.map → context-1d31dbec.js.map} +1 -1
  373. package/cjs/dist/index.css +164 -163
  374. package/cjs/dist/index.css.map +1 -1
  375. package/cjs/{index-df637378.js → index-0b24e87b.js} +5 -5
  376. package/cjs/index-0b24e87b.js.map +1 -0
  377. package/cjs/{index-0514e373.js → index-0d2fba98.js} +7 -6
  378. package/cjs/index-0d2fba98.js.map +1 -0
  379. package/cjs/{index-43612435.js → index-1a324d07.js} +4 -4
  380. package/cjs/{index-43612435.js.map → index-1a324d07.js.map} +1 -1
  381. package/cjs/{index-34cc612a.js → index-263d9317.js} +5 -4
  382. package/cjs/index-263d9317.js.map +1 -0
  383. package/cjs/{index-d2bd7dc5.js → index-334b239a.js} +2 -2
  384. package/cjs/index-334b239a.js.map +1 -0
  385. package/cjs/{index-2a770f35.js → index-46b412dc.js} +37 -7
  386. package/cjs/index-46b412dc.js.map +1 -0
  387. package/cjs/{index-9f6f371b.js → index-50655872.js} +6 -6
  388. package/cjs/index-50655872.js.map +1 -0
  389. package/cjs/{index-4de6caed.js → index-551be60f.js} +16 -8
  390. package/cjs/index-551be60f.js.map +1 -0
  391. package/cjs/{index-986b886d.js → index-7ffe6f27.js} +12 -3
  392. package/cjs/index-7ffe6f27.js.map +1 -0
  393. package/cjs/{index-223d453c.js → index-8d2c0bda.js} +4 -2
  394. package/cjs/index-8d2c0bda.js.map +1 -0
  395. package/cjs/{index-b2886b93.js → index-8fc4c8ed.js} +12 -12
  396. package/cjs/index-8fc4c8ed.js.map +1 -0
  397. package/cjs/{index-ca85a10a.js → index-9dd778ed.js} +193 -56
  398. package/cjs/index-9dd778ed.js.map +1 -0
  399. package/cjs/{index-80b17a7f.js → index-bb91f996.js} +2 -2
  400. package/cjs/{index-80b17a7f.js.map → index-bb91f996.js.map} +1 -1
  401. package/cjs/{index-5fd03280.js → index-e36db682.js} +1 -1
  402. package/cjs/index-e36db682.js.map +1 -0
  403. package/cjs/{index-6d3fe482.js → index-f0938824.js} +30 -10
  404. package/cjs/index-f0938824.js.map +1 -0
  405. package/cjs/{index-2c8ca1d6.js → index-f4cf9eb5.js} +3 -3
  406. package/cjs/{index-2c8ca1d6.js.map → index-f4cf9eb5.js.map} +1 -1
  407. package/cjs/index.js +49 -49
  408. package/cjs/{index.module-f4ff21b1.js → index.module-2d344ee2.js} +1 -1
  409. package/cjs/{index.module-f4ff21b1.js.map → index.module-2d344ee2.js.map} +1 -1
  410. package/cjs/lame.all.js.map +1 -1
  411. package/cjs/sendbirdSelectors.js +3 -3
  412. package/cjs/sendbirdSelectors.js.map +1 -1
  413. package/cjs/{stringSet-2b481a03.js → stringSet-ac04b7c1.js} +1 -1
  414. package/cjs/{stringSet-2b481a03.js.map → stringSet-ac04b7c1.js.map} +1 -1
  415. package/cjs/{tokenize-07747f4c.js → tokenize-10b9c2ca.js} +27 -7
  416. package/cjs/tokenize-10b9c2ca.js.map +1 -0
  417. package/cjs/{topics-f9cf559a.js → topics-89c25bd7.js} +1 -1
  418. package/cjs/{topics-f9cf559a.js.map → topics-89c25bd7.js.map} +1 -1
  419. package/cjs/{types-3dcd9651.js → types-53455550.js} +1 -1
  420. package/cjs/types-53455550.js.map +1 -0
  421. package/cjs/ui/Accordion.js +2 -2
  422. package/cjs/ui/Accordion.js.map +1 -1
  423. package/cjs/ui/AccordionGroup.js +2 -2
  424. package/cjs/ui/AccordionGroup.js.map +1 -1
  425. package/cjs/ui/AdminMessage.js +2 -2
  426. package/cjs/ui/AdminMessage.js.map +1 -1
  427. package/cjs/ui/Avatar.js +1 -1
  428. package/cjs/ui/Avatar.js.map +1 -1
  429. package/cjs/ui/Badge.js +4 -4
  430. package/cjs/ui/Badge.js.map +1 -1
  431. package/cjs/ui/BottomSheet.js +1 -1
  432. package/cjs/ui/BottomSheet.js.map +1 -1
  433. package/cjs/ui/Button.js +2 -2
  434. package/cjs/ui/Button.js.map +1 -1
  435. package/cjs/ui/ChannelAvatar.js +2 -2
  436. package/cjs/ui/ChannelAvatar.js.map +1 -1
  437. package/cjs/ui/Checkbox.js.map +1 -1
  438. package/cjs/ui/ConnectionStatus.js +4 -4
  439. package/cjs/ui/ConnectionStatus.js.map +1 -1
  440. package/cjs/ui/ContextMenu.js +5 -5
  441. package/cjs/ui/ContextMenu.js.map +1 -1
  442. package/cjs/ui/DateSeparator.js +3 -3
  443. package/cjs/ui/DateSeparator.js.map +1 -1
  444. package/cjs/ui/EmojiReactions.js +7 -7
  445. package/cjs/ui/EmojiReactions.js.map +1 -1
  446. package/cjs/ui/FileMessageItemBody.js +6 -6
  447. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  448. package/cjs/ui/FileViewer.js +8 -8
  449. package/cjs/ui/FileViewer.js.map +1 -1
  450. package/cjs/ui/Icon.js +2 -0
  451. package/cjs/ui/Icon.js.map +1 -1
  452. package/cjs/ui/IconButton.js +1 -1
  453. package/cjs/ui/IconButton.js.map +1 -1
  454. package/cjs/ui/ImageRenderer.js.map +1 -1
  455. package/cjs/ui/Input.js +2 -2
  456. package/cjs/ui/Input.js.map +1 -1
  457. package/cjs/ui/Label.js +2 -2
  458. package/cjs/ui/LinkLabel.js +2 -2
  459. package/cjs/ui/LinkLabel.js.map +1 -1
  460. package/cjs/ui/Loader.js.map +1 -1
  461. package/cjs/ui/MentionLabel.js +10 -10
  462. package/cjs/ui/MentionLabel.js.map +1 -1
  463. package/cjs/ui/MentionUserLabel.js +1 -1
  464. package/cjs/ui/MentionUserLabel.js.map +1 -1
  465. package/cjs/ui/MessageContent.js +34 -34
  466. package/cjs/ui/MessageContent.js.map +1 -1
  467. package/cjs/ui/MessageInput.js +63 -37
  468. package/cjs/ui/MessageInput.js.map +1 -1
  469. package/cjs/ui/MessageItemMenu.js +8 -8
  470. package/cjs/ui/MessageItemMenu.js.map +1 -1
  471. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  472. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  473. package/cjs/ui/MessageSearchFileItem.js +10 -10
  474. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  475. package/cjs/ui/MessageSearchItem.js +8 -8
  476. package/cjs/ui/MessageSearchItem.js.map +1 -1
  477. package/cjs/ui/MessageStatus.js +10 -10
  478. package/cjs/ui/Modal.js +7 -7
  479. package/cjs/ui/Modal.js.map +1 -1
  480. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  481. package/cjs/ui/OGMessageItemBody.js +14 -14
  482. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  483. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  484. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  485. package/cjs/ui/OpenChannelAvatar.js +5 -5
  486. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  487. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  488. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  489. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  490. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  491. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  492. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  493. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  494. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  495. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  496. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  497. package/cjs/ui/PlaceHolder.js +5 -5
  498. package/cjs/ui/PlaybackTime.js +2 -2
  499. package/cjs/ui/PlaybackTime.js.map +1 -1
  500. package/cjs/ui/ProgressBar.js +1 -0
  501. package/cjs/ui/ProgressBar.js.map +1 -1
  502. package/cjs/ui/QuoteMessage.js +6 -6
  503. package/cjs/ui/QuoteMessage.js.map +1 -1
  504. package/cjs/ui/QuoteMessageInput.js +6 -6
  505. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  506. package/cjs/ui/ReactionBadge.js +2 -2
  507. package/cjs/ui/ReactionBadge.js.map +1 -1
  508. package/cjs/ui/ReactionButton.js.map +1 -1
  509. package/cjs/ui/SortByRow.js +1 -1
  510. package/cjs/ui/SortByRow.js.map +1 -1
  511. package/cjs/ui/TextButton.js +1 -1
  512. package/cjs/ui/TextButton.js.map +1 -1
  513. package/cjs/ui/TextMessageItemBody.js +15 -15
  514. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  515. package/cjs/ui/ThreadReplies.js +5 -5
  516. package/cjs/ui/ThreadReplies.js.map +1 -1
  517. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  518. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  519. package/cjs/ui/Toggle.js +1 -1
  520. package/cjs/ui/Toggle.js.map +1 -1
  521. package/cjs/ui/Tooltip.js +2 -2
  522. package/cjs/ui/Tooltip.js.map +1 -1
  523. package/cjs/ui/TooltipWrapper.js.map +1 -1
  524. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  525. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  526. package/cjs/ui/UserListItem.js +10 -10
  527. package/cjs/ui/UserListItem.js.map +1 -1
  528. package/cjs/ui/UserProfile.js +9 -9
  529. package/cjs/ui/UserProfile.js.map +1 -1
  530. package/cjs/ui/VoiceMessageItemBody.js +9 -9
  531. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  532. package/cjs/ui/VoiceMessgeInput.js +7 -7
  533. package/cjs/ui/Word.js +13 -13
  534. package/cjs/ui/Word.js.map +1 -1
  535. package/cjs/{useLongPress-ab63a990.js → useLongPress-472493f7.js} +3 -3
  536. package/cjs/useLongPress-472493f7.js.map +1 -0
  537. package/cjs/useSendbirdStateContext.js +1 -1
  538. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  539. package/cjs/utils/message/isVoiceMessage.js +2 -2
  540. package/cjs/{utils-1fd1fe8c.js → utils-40b8c201.js} +1 -1
  541. package/cjs/utils-40b8c201.js.map +1 -0
  542. package/cjs/{utils-7e52a10a.js → utils-76562fb5.js} +2 -2
  543. package/cjs/{utils-7e52a10a.js.map → utils-76562fb5.js.map} +1 -1
  544. package/cjs/{utils-f6f55335.js → utils-eadc245c.js} +1 -1
  545. package/cjs/{utils-f6f55335.js.map → utils-eadc245c.js.map} +1 -1
  546. package/cjs/{utils-f6c4e216.js → utils-fdce7855.js} +1 -1
  547. package/cjs/{utils-f6c4e216.js.map → utils-fdce7855.js.map} +1 -1
  548. package/cjs/{uuid-d0dd45eb.js → uuid-d5eb7040.js} +1 -1
  549. package/cjs/{uuid-d0dd45eb.js.map → uuid-d5eb7040.js.map} +1 -1
  550. package/cjs/withSendbird.js +1 -1
  551. package/cjs/withSendbird.js.map +1 -1
  552. package/{color-c30f00bf.js → color-d6b38e25.js} +1 -1
  553. package/{color-c30f00bf.js.map → color-d6b38e25.js.map} +1 -1
  554. package/{compareIds-90440dc5.js → compareIds-f38c2ef0.js} +2 -2
  555. package/compareIds-f38c2ef0.js.map +1 -0
  556. package/{const-5e916a50.js → const-051188d1.js} +1 -1
  557. package/{const-5e916a50.js.map → const-051188d1.js.map} +1 -1
  558. package/{const-582ca435.js → const-f6d56818.js} +1 -1
  559. package/{const-582ca435.js.map → const-f6d56818.js.map} +1 -1
  560. package/{consts-ee90b622.js → consts-04eece0c.js} +1 -1
  561. package/{consts-ee90b622.js.map → consts-04eece0c.js.map} +1 -1
  562. package/{consts-6e63357c.js → consts-a6286ca6.js} +1 -1
  563. package/{consts-6e63357c.js.map → consts-a6286ca6.js.map} +1 -1
  564. package/{consts-35dda142.js → consts-da8a20c9.js} +1 -1
  565. package/{consts-35dda142.js.map → consts-da8a20c9.js.map} +1 -1
  566. package/{consts-a7fe5f4a.js → consts-dd1513d3.js} +1 -1
  567. package/{consts-a7fe5f4a.js.map → consts-dd1513d3.js.map} +1 -1
  568. package/{context-8a77d287.js → context-0e43d2e6.js} +2 -2
  569. package/{context-8a77d287.js.map → context-0e43d2e6.js.map} +1 -1
  570. package/dist/index.css +164 -163
  571. package/dist/index.css.map +1 -1
  572. package/{index-2bcc4298.js → index-01ac0ba4.js} +7 -6
  573. package/index-01ac0ba4.js.map +1 -0
  574. package/{index-8f5c7f74.js → index-0533e5e9.js} +2 -2
  575. package/index-0533e5e9.js.map +1 -0
  576. package/{index-1e1cb669.js → index-06784b87.js} +1 -1
  577. package/index-06784b87.js.map +1 -0
  578. package/{index-8e3a9e8c.js → index-2857db82.js} +12 -12
  579. package/index-2857db82.js.map +1 -0
  580. package/{index-062a4eeb.js → index-3f4521c1.js} +2 -2
  581. package/{index-062a4eeb.js.map → index-3f4521c1.js.map} +1 -1
  582. package/{index-4d66cb77.js → index-46f6d854.js} +38 -8
  583. package/index-46f6d854.js.map +1 -0
  584. package/{index-303eca35.js → index-5807e969.js} +16 -8
  585. package/index-5807e969.js.map +1 -0
  586. package/{index-c50c6fa2.js → index-63631dc4.js} +5 -4
  587. package/index-63631dc4.js.map +1 -0
  588. package/{index-052724d9.js → index-64473ea3.js} +12 -3
  589. package/index-64473ea3.js.map +1 -0
  590. package/{index-4668028f.js → index-74a99dc5.js} +4 -2
  591. package/index-74a99dc5.js.map +1 -0
  592. package/{index-eebbce1c.js → index-7f172012.js} +5 -5
  593. package/index-7f172012.js.map +1 -0
  594. package/{index-794e37e5.js → index-82009149.js} +30 -10
  595. package/index-82009149.js.map +1 -0
  596. package/{index-8fea9d09.js → index-8abe5fb2.js} +3 -3
  597. package/{index-8fea9d09.js.map → index-8abe5fb2.js.map} +1 -1
  598. package/{index-365a1d88.js → index-f23e2550.js} +4 -4
  599. package/{index-365a1d88.js.map → index-f23e2550.js.map} +1 -1
  600. package/{index-0cc2c241.js → index-f78cd01e.js} +6 -6
  601. package/index-f78cd01e.js.map +1 -0
  602. package/{index-6908bdd4.js → index-feffd01d.js} +193 -56
  603. package/index-feffd01d.js.map +1 -0
  604. package/index.d.ts +15 -5
  605. package/index.js +49 -49
  606. package/{index.module-3d14ef05.js → index.module-6a96cbff.js} +1 -1
  607. package/{index.module-3d14ef05.js.map → index.module-6a96cbff.js.map} +1 -1
  608. package/lame.all.js.map +1 -1
  609. package/package.json +15 -13
  610. package/sendbirdSelectors.js +3 -3
  611. package/sendbirdSelectors.js.map +1 -1
  612. package/{stringSet-da68ecef.js → stringSet-6c589018.js} +1 -1
  613. package/{stringSet-da68ecef.js.map → stringSet-6c589018.js.map} +1 -1
  614. package/{tokenize-eeb42e72.js → tokenize-b7be6252.js} +27 -7
  615. package/tokenize-b7be6252.js.map +1 -0
  616. package/{topics-0354b385.js → topics-969deff5.js} +1 -1
  617. package/{topics-0354b385.js.map → topics-969deff5.js.map} +1 -1
  618. package/{types-12d853e9.js → types-230dc5c2.js} +1 -1
  619. package/types-230dc5c2.js.map +1 -0
  620. package/ui/Accordion.js +2 -2
  621. package/ui/Accordion.js.map +1 -1
  622. package/ui/AccordionGroup.js +2 -2
  623. package/ui/AccordionGroup.js.map +1 -1
  624. package/ui/AdminMessage.js +2 -2
  625. package/ui/AdminMessage.js.map +1 -1
  626. package/ui/Avatar.js +1 -1
  627. package/ui/Avatar.js.map +1 -1
  628. package/ui/Badge.js +4 -4
  629. package/ui/Badge.js.map +1 -1
  630. package/ui/BottomSheet.js +1 -1
  631. package/ui/BottomSheet.js.map +1 -1
  632. package/ui/Button.js +2 -2
  633. package/ui/Button.js.map +1 -1
  634. package/ui/ChannelAvatar.js +2 -2
  635. package/ui/ChannelAvatar.js.map +1 -1
  636. package/ui/Checkbox.js.map +1 -1
  637. package/ui/ConnectionStatus.js +4 -4
  638. package/ui/ConnectionStatus.js.map +1 -1
  639. package/ui/ContextMenu.js +5 -5
  640. package/ui/ContextMenu.js.map +1 -1
  641. package/ui/DateSeparator.js +3 -3
  642. package/ui/DateSeparator.js.map +1 -1
  643. package/ui/EmojiReactions.js +7 -7
  644. package/ui/EmojiReactions.js.map +1 -1
  645. package/ui/FileMessageItemBody.js +6 -6
  646. package/ui/FileMessageItemBody.js.map +1 -1
  647. package/ui/FileViewer.js +8 -8
  648. package/ui/FileViewer.js.map +1 -1
  649. package/ui/Icon.js +2 -0
  650. package/ui/Icon.js.map +1 -1
  651. package/ui/IconButton.js +1 -1
  652. package/ui/IconButton.js.map +1 -1
  653. package/ui/ImageRenderer.js.map +1 -1
  654. package/ui/Input.js +2 -2
  655. package/ui/Input.js.map +1 -1
  656. package/ui/Label.js +2 -2
  657. package/ui/LinkLabel.js +2 -2
  658. package/ui/LinkLabel.js.map +1 -1
  659. package/ui/Loader.js.map +1 -1
  660. package/ui/MentionLabel.js +10 -10
  661. package/ui/MentionLabel.js.map +1 -1
  662. package/ui/MentionUserLabel.js +1 -1
  663. package/ui/MentionUserLabel.js.map +1 -1
  664. package/ui/MessageContent.js +34 -34
  665. package/ui/MessageContent.js.map +1 -1
  666. package/ui/MessageInput.js +63 -37
  667. package/ui/MessageInput.js.map +1 -1
  668. package/ui/MessageItemMenu.js +8 -8
  669. package/ui/MessageItemMenu.js.map +1 -1
  670. package/ui/MessageItemReactionMenu.js +5 -5
  671. package/ui/MessageItemReactionMenu.js.map +1 -1
  672. package/ui/MessageSearchFileItem.js +10 -10
  673. package/ui/MessageSearchFileItem.js.map +1 -1
  674. package/ui/MessageSearchItem.js +8 -8
  675. package/ui/MessageSearchItem.js.map +1 -1
  676. package/ui/MessageStatus.js +10 -10
  677. package/ui/Modal.js +7 -7
  678. package/ui/Modal.js.map +1 -1
  679. package/ui/MutedAvatarOverlay.js.map +1 -1
  680. package/ui/OGMessageItemBody.js +14 -14
  681. package/ui/OGMessageItemBody.js.map +1 -1
  682. package/ui/OpenChannelAdminMessage.js +2 -2
  683. package/ui/OpenChannelAdminMessage.js.map +1 -1
  684. package/ui/OpenChannelAvatar.js +5 -5
  685. package/ui/OpenChannelAvatar.js.map +1 -1
  686. package/ui/OpenchannelConversationHeader.js +6 -6
  687. package/ui/OpenchannelConversationHeader.js.map +1 -1
  688. package/ui/OpenchannelFileMessage.js +15 -15
  689. package/ui/OpenchannelFileMessage.js.map +1 -1
  690. package/ui/OpenchannelOGMessage.js +18 -18
  691. package/ui/OpenchannelOGMessage.js.map +1 -1
  692. package/ui/OpenchannelThumbnailMessage.js +16 -16
  693. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  694. package/ui/OpenchannelUserMessage.js +15 -15
  695. package/ui/OpenchannelUserMessage.js.map +1 -1
  696. package/ui/PlaceHolder.js +5 -5
  697. package/ui/PlaybackTime.js +2 -2
  698. package/ui/PlaybackTime.js.map +1 -1
  699. package/ui/ProgressBar.js +1 -0
  700. package/ui/ProgressBar.js.map +1 -1
  701. package/ui/QuoteMessage.js +6 -6
  702. package/ui/QuoteMessage.js.map +1 -1
  703. package/ui/QuoteMessageInput.js +6 -6
  704. package/ui/QuoteMessageInput.js.map +1 -1
  705. package/ui/ReactionBadge.js +2 -2
  706. package/ui/ReactionBadge.js.map +1 -1
  707. package/ui/ReactionButton.js.map +1 -1
  708. package/ui/SortByRow.js +1 -1
  709. package/ui/SortByRow.js.map +1 -1
  710. package/ui/TextButton.js +1 -1
  711. package/ui/TextButton.js.map +1 -1
  712. package/ui/TextMessageItemBody.js +15 -15
  713. package/ui/TextMessageItemBody.js.map +1 -1
  714. package/ui/ThreadReplies.js +5 -5
  715. package/ui/ThreadReplies.js.map +1 -1
  716. package/ui/ThumbnailMessageItemBody.js +2 -2
  717. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  718. package/ui/Toggle.js +1 -1
  719. package/ui/Toggle.js.map +1 -1
  720. package/ui/Tooltip.js +2 -2
  721. package/ui/Tooltip.js.map +1 -1
  722. package/ui/TooltipWrapper.js.map +1 -1
  723. package/ui/UnknownMessageItemBody.js +6 -6
  724. package/ui/UnknownMessageItemBody.js.map +1 -1
  725. package/ui/UserListItem.js +10 -10
  726. package/ui/UserListItem.js.map +1 -1
  727. package/ui/UserProfile.js +9 -9
  728. package/ui/UserProfile.js.map +1 -1
  729. package/ui/VoiceMessageItemBody.js +9 -9
  730. package/ui/VoiceMessageItemBody.js.map +1 -1
  731. package/ui/VoiceMessgeInput.js +7 -7
  732. package/ui/Word.js +13 -13
  733. package/ui/Word.js.map +1 -1
  734. package/{useLongPress-a8d92cab.js → useLongPress-b678c2b7.js} +3 -3
  735. package/useLongPress-b678c2b7.js.map +1 -0
  736. package/useSendbirdStateContext.js +1 -1
  737. package/utils/message/getOutgoingMessageState.js.map +1 -1
  738. package/utils/message/isVoiceMessage.js +2 -2
  739. package/{utils-670974e1.js → utils-3245985d.js} +1 -1
  740. package/utils-3245985d.js.map +1 -0
  741. package/{utils-63790b1a.js → utils-c29e587a.js} +2 -2
  742. package/{utils-63790b1a.js.map → utils-c29e587a.js.map} +1 -1
  743. package/{utils-c9c2364c.js → utils-d8dfc953.js} +1 -1
  744. package/{utils-c9c2364c.js.map → utils-d8dfc953.js.map} +1 -1
  745. package/{utils-2b05a56b.js → utils-f57a5756.js} +1 -1
  746. package/{utils-2b05a56b.js.map → utils-f57a5756.js.map} +1 -1
  747. package/{uuid-5c7f30bd.js → uuid-abddae2d.js} +1 -1
  748. package/{uuid-5c7f30bd.js.map → uuid-abddae2d.js.map} +1 -1
  749. package/withSendbird.js +1 -1
  750. package/withSendbird.js.map +1 -1
  751. package/ChannelListProvider-8be91a05.js.map +0 -1
  752. package/ChannelProvider-d643e6d9.js.map +0 -1
  753. package/MediaQueryContext-4e555ef5.js.map +0 -1
  754. package/MemberList-24b818f8.js.map +0 -1
  755. package/OpenChannelProvider-5148963b.js.map +0 -1
  756. package/ThreadProvider-96a5e77e.js.map +0 -1
  757. package/VoiceMessageInputWrapper-07631f8d.js.map +0 -1
  758. package/_rollupPluginBabelHelpers-5d0c716a.js.map +0 -1
  759. package/cjs/ChannelListProvider-6b61a484.js.map +0 -1
  760. package/cjs/ChannelProvider-12a12f31.js.map +0 -1
  761. package/cjs/MediaQueryContext-3b09499c.js.map +0 -1
  762. package/cjs/MemberList-f0c4e234.js.map +0 -1
  763. package/cjs/OpenChannelProvider-56846c0c.js.map +0 -1
  764. package/cjs/ThreadProvider-1ebd5bc0.js.map +0 -1
  765. package/cjs/VoiceMessageInputWrapper-044427b2.js.map +0 -1
  766. package/cjs/_rollupPluginBabelHelpers-4b6406c2.js.map +0 -1
  767. package/cjs/compareIds-de8d3b96.js.map +0 -1
  768. package/cjs/index-0514e373.js.map +0 -1
  769. package/cjs/index-223d453c.js.map +0 -1
  770. package/cjs/index-2a770f35.js.map +0 -1
  771. package/cjs/index-34cc612a.js.map +0 -1
  772. package/cjs/index-4de6caed.js.map +0 -1
  773. package/cjs/index-5fd03280.js.map +0 -1
  774. package/cjs/index-6d3fe482.js.map +0 -1
  775. package/cjs/index-986b886d.js.map +0 -1
  776. package/cjs/index-9f6f371b.js.map +0 -1
  777. package/cjs/index-b2886b93.js.map +0 -1
  778. package/cjs/index-ca85a10a.js.map +0 -1
  779. package/cjs/index-d2bd7dc5.js.map +0 -1
  780. package/cjs/index-df637378.js.map +0 -1
  781. package/cjs/tokenize-07747f4c.js.map +0 -1
  782. package/cjs/types-3dcd9651.js.map +0 -1
  783. package/cjs/useLongPress-ab63a990.js.map +0 -1
  784. package/cjs/utils-1fd1fe8c.js.map +0 -1
  785. package/compareIds-90440dc5.js.map +0 -1
  786. package/index-052724d9.js.map +0 -1
  787. package/index-0cc2c241.js.map +0 -1
  788. package/index-1e1cb669.js.map +0 -1
  789. package/index-2bcc4298.js.map +0 -1
  790. package/index-303eca35.js.map +0 -1
  791. package/index-4668028f.js.map +0 -1
  792. package/index-4d66cb77.js.map +0 -1
  793. package/index-6908bdd4.js.map +0 -1
  794. package/index-794e37e5.js.map +0 -1
  795. package/index-8e3a9e8c.js.map +0 -1
  796. package/index-8f5c7f74.js.map +0 -1
  797. package/index-c50c6fa2.js.map +0 -1
  798. package/index-eebbce1c.js.map +0 -1
  799. package/tokenize-eeb42e72.js.map +0 -1
  800. package/types-12d853e9.js.map +0 -1
  801. package/useLongPress-a8d92cab.js.map +0 -1
  802. package/utils-670974e1.js.map +0 -1
@@ -1,24 +1,24 @@
1
1
  import React__default, { useState, useContext, useRef, useLayoutEffect, useEffect, useMemo } from 'react';
2
- import { f as format } from '../../index-6908bdd4.js';
3
- import { u as useLocalization } from '../../LocalizationContext-ad70364c.js';
2
+ import { f as format } from '../../index-feffd01d.js';
3
+ import { u as useLocalization } from '../../LocalizationContext-7ae12588.js';
4
4
  import DateSeparator from '../../ui/DateSeparator.js';
5
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-062a4eeb.js';
6
- import { R as RemoveMessage } from '../../RemoveMessageModal-54d1b0a4.js';
5
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-3f4521c1.js';
6
+ import { R as RemoveMessage } from '../../RemoveMessageModal-2b9bdeed.js';
7
7
  import FileViewer from '../../ui/FileViewer.js';
8
- import { u as useThreadContext } from '../../ThreadProvider-96a5e77e.js';
8
+ import { u as useThreadContext } from '../../ThreadProvider-5a216f9d.js';
9
9
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
10
10
  import SuggestedMentionList from '../../Channel/components/SuggestedMentionList.js';
11
11
  import MessageInput from '../../ui/MessageInput.js';
12
12
  import { ThreadListStateTypes } from '../context/types.js';
13
- import { M as MessageInputKeys } from '../../const-5e916a50.js';
13
+ import { M as MessageInputKeys } from '../../const-051188d1.js';
14
14
  import ContextMenu, { MenuItems } from '../../ui/ContextMenu.js';
15
15
  import Avatar from '../../ui/Avatar.js';
16
- import { a as UserProfileContext } from '../../UserProfileContext-b68f33fc.js';
16
+ import { a as UserProfileContext } from '../../UserProfileContext-e8124c47.js';
17
17
  import UserProfile from '../../ui/UserProfile.js';
18
18
  import MessageItemMenu from '../../ui/MessageItemMenu.js';
19
19
  import MessageItemReactionMenu from '../../ui/MessageItemReactionMenu.js';
20
- import { z as getUIKitMessageTypes, A as getSenderName, j as getClassName, B as isTextMessage, C as isOGMessage, d as isVoiceMessage, s as getUIKitMessageType, n as isThumbnailMessage } from '../../index-303eca35.js';
21
- import { M as MessageStatus } from '../../index-2bcc4298.js';
20
+ import { z as getUIKitMessageTypes, A as getSenderName, j as getClassName, B as isTextMessage, C as isOGMessage, d as isVoiceMessage, s as getUIKitMessageType, n as isThumbnailMessage } from '../../index-5807e969.js';
21
+ import { M as MessageStatus } from '../../index-01ac0ba4.js';
22
22
  import EmojiReactions from '../../ui/EmojiReactions.js';
23
23
  import TextMessageItemBody from '../../ui/TextMessageItemBody.js';
24
24
  import OGMessageItemBody from '../../ui/OGMessageItemBody.js';
@@ -26,55 +26,55 @@ import FileMessageItemBody from '../../ui/FileMessageItemBody.js';
26
26
  import ThumbnailMessageItemBody from '../../ui/ThumbnailMessageItemBody.js';
27
27
  import UnknownMessageItemBody from '../../ui/UnknownMessageItemBody.js';
28
28
  import { VoiceMessageItemBody } from '../../ui/VoiceMessageItemBody.js';
29
- import { R as Role } from '../../types-12d853e9.js';
30
- import '../../index-794e37e5.js';
31
- import '../../stringSet-da68ecef.js';
32
- import '../../color-c30f00bf.js';
29
+ import { R as Role } from '../../types-230dc5c2.js';
30
+ import '../../index-82009149.js';
31
+ import '../../stringSet-6c589018.js';
32
+ import '../../color-d6b38e25.js';
33
33
  import 'prop-types';
34
34
  import '../../ui/Modal.js';
35
35
  import 'react-dom';
36
- import '../../index-1e1cb669.js';
36
+ import '../../index-06784b87.js';
37
37
  import '../../ui/Button.js';
38
38
  import '../../ui/Icon.js';
39
39
  import '../../ui/IconButton.js';
40
- import '../../_rollupPluginBabelHelpers-5d0c716a.js';
41
- import '../../MediaQueryContext-4e555ef5.js';
40
+ import '../../_rollupPluginBabelHelpers-96062e23.js';
41
+ import '../../MediaQueryContext-05d4db73.js';
42
42
  import '../../utils/message/getOutgoingMessageState.js';
43
43
  import '../../ui/ImageRenderer.js';
44
- import '../../uuid-5c7f30bd.js';
44
+ import '../../uuid-abddae2d.js';
45
45
  import '@sendbird/chat';
46
- import '../../topics-0354b385.js';
46
+ import '../../topics-969deff5.js';
47
47
  import '@sendbird/chat/groupChannel';
48
48
  import '@sendbird/chat/message';
49
- import '../../consts-35dda142.js';
49
+ import '../../consts-da8a20c9.js';
50
50
  import '../../withSendbird.js';
51
- import '../../ChannelProvider-d643e6d9.js';
52
- import '../../compareIds-90440dc5.js';
53
- import '../../const-582ca435.js';
54
- import '../../ui/ReactionButton.js';
55
- import '../../ui/SortByRow.js';
51
+ import '../../ChannelProvider-6de56b36.js';
52
+ import '../../compareIds-f38c2ef0.js';
53
+ import '../../const-f6d56818.js';
56
54
  import 'dompurify';
57
- import '../../consts-a7fe5f4a.js';
58
- import '../../consts-ee90b622.js';
59
- import '../../consts-6e63357c.js';
60
- import '../../tokenize-eeb42e72.js';
55
+ import '../../consts-dd1513d3.js';
56
+ import '../../consts-04eece0c.js';
57
+ import '../../consts-a6286ca6.js';
58
+ import '../../tokenize-b7be6252.js';
59
+ import '../../ui/SortByRow.js';
61
60
  import '../../sendbirdSelectors.js';
62
- import '../../utils-c9c2364c.js';
61
+ import '../../utils-d8dfc953.js';
62
+ import '../../ui/ReactionButton.js';
63
63
  import '../../ui/Loader.js';
64
- import '../../index-052724d9.js';
65
- import '../../index-4668028f.js';
64
+ import '../../index-64473ea3.js';
65
+ import '../../index-74a99dc5.js';
66
66
  import '../../ui/Tooltip.js';
67
67
  import '../../ui/TooltipWrapper.js';
68
68
  import '../../ui/ReactionBadge.js';
69
- import '../../index-365a1d88.js';
70
- import '../../index.module-3d14ef05.js';
69
+ import '../../index-f23e2550.js';
70
+ import '../../index.module-6a96cbff.js';
71
71
  import '../../Message/context.js';
72
72
  import '../../ui/MentionLabel.js';
73
73
  import '../../ui/LinkLabel.js';
74
74
  import '../../ui/TextButton.js';
75
75
  import '../../ui/ProgressBar.js';
76
76
  import '../../VoicePlayer/useVoicePlayer.js';
77
- import '../../index-8e3a9e8c.js';
77
+ import '../../index-2857db82.js';
78
78
  import '../../VoiceRecorder/context.js';
79
79
  import '../../ui/PlaybackTime.js';
80
80
 
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItem.js","sources":["../../../src/modules/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../src/modules/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport { UserProfileContextInterface } from '../../../../ui/MessageContent';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { getClassName, getSenderName, getUIKitMessageType, getUIKitMessageTypes, isOGMessage, isTextMessage, isThumbnailMessage, isVoiceMessage } from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\nimport VoiceMessageItemBody from '../../../../ui/VoiceMessageItemBody';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n\n return (\n <div className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}>\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabledInChannel ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {isByMe && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabledInChannel ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div className=\"sendbird-thread-list-item-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={{\n width: '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {!isByMe && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '../../../../lib/types';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: UserMessage | FileMessage;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = isReactionEnabled && !currentChannel?.isSuper && !currentChannel?.isBroadcast;\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\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 displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\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 // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\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={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\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 currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentChannel?.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 ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_ref","_sender","_channel$members2","_channel$members2$fin","_message$reactions","className","userId","channel","message","disabled","chainTop","chainBottom","isMentionEnabled","isReactionEnabled","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","supposedHover","setSupposedHover","useState","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","isByMe","sender","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","isReactionEnabledInChannel","isEphemeral","React","createElement","ContextMenu","menuTrigger","toggleDropdown","_channel$members","_channel$members$find","_message$sender2","Avatar","src","members","find","member","_message$sender","profileUrl","ref","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","MessageItemMenu","MessageItemReactionMenu","spaceFromTrigger","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_message$sender3","nickname","getSenderName","getClassName","MessageStatus","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","getUIKitMessageType","FILE","FileMessageItemBody","truncateLimit","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","createdAt","locale","ThreadListItem","_stores$userStore","_stores$userStore$use","hasSeparator","renderCustomSeparator","handleScroll","stores","config","useSendbirdStateContext","isOnline","userMention","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","_messageScrollRef$cur","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","ableMention","setAbleMention","displaySuggestedMentionList","myRole","Role","OPERATOR","useEffect","maxMentionCount","filter","_ref2","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","Fragment","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","MessageInput","isEdit","mentionSelectedUser","onStartTyping","_currentChannel$start","startTyping","call","onUpdateMessage","_ref3","_currentChannel$endTy","mentionTemplate","endTyping","onCancelEdit","_currentChannel$endTy2","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","onCancel","FileViewer","onClose","onDelete"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadListItem.js","sources":["../../../src/modules/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../src/modules/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport { UserProfileContextInterface } from '../../../../ui/MessageContent';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { getClassName, getSenderName, getUIKitMessageType, getUIKitMessageTypes, isOGMessage, isTextMessage, isThumbnailMessage, isVoiceMessage } from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\nimport VoiceMessageItemBody from '../../../../ui/VoiceMessageItemBody';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n\n return (\n <div className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}>\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabledInChannel ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {isByMe && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabledInChannel ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div className=\"sendbird-thread-list-item-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={{\n width: '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {!isByMe && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '../../../../lib/types';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: UserMessage | FileMessage;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = isReactionEnabled && !currentChannel?.isSuper && !currentChannel?.isBroadcast;\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\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 displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\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 // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\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={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\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 currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([]);\n setShowEdit(false);\n currentChannel?.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 ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_ref","_sender","_channel$members2","_channel$members2$fin","_message$reactions","className","userId","channel","message","disabled","chainTop","chainBottom","isMentionEnabled","isReactionEnabled","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","supposedHover","setSupposedHover","useState","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","isByMe","sender","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","isReactionEnabledInChannel","isEphemeral","React","createElement","ContextMenu","menuTrigger","toggleDropdown","_channel$members","_channel$members$find","_message$sender2","Avatar","src","members","find","member","_message$sender","profileUrl","ref","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","MessageItemMenu","MessageItemReactionMenu","spaceFromTrigger","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_message$sender3","nickname","getSenderName","getClassName","MessageStatus","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","getUIKitMessageType","FILE","FileMessageItemBody","truncateLimit","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","createdAt","locale","ThreadListItem","_stores$userStore","_stores$userStore$use","hasSeparator","renderCustomSeparator","handleScroll","stores","config","useSendbirdStateContext","isOnline","userMention","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","_messageScrollRef$cur","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","ableMention","setAbleMention","displaySuggestedMentionList","myRole","Role","OPERATOR","useEffect","maxMentionCount","filter","_ref2","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","Fragment","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","MessageInput","isEdit","mentionSelectedUser","onStartTyping","_currentChannel$start","startTyping","call","onUpdateMessage","_ref3","_currentChannel$endTy","mentionTemplate","endTyping","onCancelEdit","_currentChannel$endTy2","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","onCancel","FileViewer","onClose","onDelete"],"mappings":"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"}
@@ -2,57 +2,54 @@ import React__default, { useRef, useState, useEffect } from 'react';
2
2
  import { MutedState } from '@sendbird/chat/groupChannel';
3
3
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
4
4
  import MessageInput from '../../ui/MessageInput.js';
5
- import { M as MessageInputKeys } from '../../const-5e916a50.js';
5
+ import { M as MessageInputKeys } from '../../const-051188d1.js';
6
6
  import SuggestedMentionList from '../../Channel/components/SuggestedMentionList.js';
7
- import { u as useThreadContext } from '../../ThreadProvider-96a5e77e.js';
8
- import { u as useLocalization } from '../../LocalizationContext-ad70364c.js';
9
- import { V as VoiceMessageInputWrapper } from '../../VoiceMessageInputWrapper-07631f8d.js';
10
- import { R as Role } from '../../types-12d853e9.js';
7
+ import { u as useThreadContext } from '../../ThreadProvider-5a216f9d.js';
8
+ import { u as useLocalization } from '../../LocalizationContext-7ae12588.js';
9
+ import { V as VoiceMessageInputWrapper } from '../../VoiceMessageInputWrapper-ce56172a.js';
10
+ import { R as Role } from '../../types-230dc5c2.js';
11
11
  import '../../withSendbird.js';
12
- import '../../_rollupPluginBabelHelpers-5d0c716a.js';
12
+ import '../../_rollupPluginBabelHelpers-96062e23.js';
13
13
  import 'prop-types';
14
- import '../../const-582ca435.js';
14
+ import '../../const-f6d56818.js';
15
15
  import '../../ui/IconButton.js';
16
16
  import '../../ui/Button.js';
17
- import '../../index-062a4eeb.js';
18
- import '../../stringSet-da68ecef.js';
17
+ import '../../index-3f4521c1.js';
18
+ import '../../stringSet-6c589018.js';
19
19
  import 'dompurify';
20
- import '../../consts-a7fe5f4a.js';
20
+ import '../../consts-dd1513d3.js';
21
21
  import '../../ui/Icon.js';
22
- import '../../index-303eca35.js';
22
+ import '../../index-5807e969.js';
23
23
  import '../../utils/message/getOutgoingMessageState.js';
24
- import '../../consts-ee90b622.js';
25
- import '../../consts-6e63357c.js';
26
- import '../../tokenize-eeb42e72.js';
27
- import '../../index-794e37e5.js';
24
+ import '../../consts-04eece0c.js';
25
+ import '../../consts-a6286ca6.js';
26
+ import '../../tokenize-b7be6252.js';
27
+ import '../../index-82009149.js';
28
28
  import '../../ui/Avatar.js';
29
29
  import '../../ui/ImageRenderer.js';
30
- import '../../uuid-5c7f30bd.js';
31
- import '../../ChannelProvider-d643e6d9.js';
32
- import '../../UserProfileContext-b68f33fc.js';
33
- import '../../index-6908bdd4.js';
34
- import '../../topics-0354b385.js';
35
- import '../../compareIds-90440dc5.js';
30
+ import '../../uuid-abddae2d.js';
31
+ import '../../ChannelProvider-6de56b36.js';
32
+ import '../../UserProfileContext-e8124c47.js';
33
+ import '../../index-feffd01d.js';
34
+ import '../../topics-969deff5.js';
35
+ import '../../compareIds-f38c2ef0.js';
36
36
  import '@sendbird/chat/message';
37
- import '../../ui/ContextMenu.js';
38
- import 'react-dom';
39
- import '../../ui/SortByRow.js';
40
- import '../../ui/ReactionButton.js';
41
- import '../../consts-35dda142.js';
37
+ import '../../consts-da8a20c9.js';
42
38
  import '../context/types.js';
43
39
  import '@sendbird/chat';
44
40
  import '../../VoicePlayer/useVoicePlayer.js';
45
- import '../../index-8e3a9e8c.js';
41
+ import '../../index-2857db82.js';
46
42
  import '../../VoiceRecorder/context.js';
47
43
  import '../../VoiceRecorder/useVoiceRecorder.js';
48
- import '../../index-c50c6fa2.js';
44
+ import '../../index-63631dc4.js';
49
45
  import '../../ui/PlaybackTime.js';
50
46
  import '../../ui/ProgressBar.js';
51
47
  import '../../ui/TextButton.js';
52
- import '../../color-c30f00bf.js';
48
+ import '../../color-d6b38e25.js';
53
49
  import '../../ui/Modal.js';
54
- import '../../index-1e1cb669.js';
55
- import '../../MediaQueryContext-4e555ef5.js';
50
+ import 'react-dom';
51
+ import '../../index-06784b87.js';
52
+ import '../../MediaQueryContext-05d4db73.js';
56
53
 
57
54
  const ThreadMessageInput = (props, ref) => {
58
55
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadMessageInput.js","sources":["../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\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 displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n // && !utils.isDisabledBecauseFrozen(channel)\n // && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\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 if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\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={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, parentMessage);\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(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","isMuted","isChannelFrozen","allThreadMessages","useThreadContext","messageInputRef","useRef","myRole","Role","OPERATOR","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","ableMention","setAbleMention","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","useEffect","url","maxMentionCount","filter","_ref","userId","i","indexOf","splice","isBroadcast","React","createElement","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","_currentChannel$start","startTyping","call","onSendMessage","_ref2","_currentChannel$endTy","message","mentionTemplate","quoteMessage","endTyping","onFileUpload","file","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadMessageInput.js","sources":["../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\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 displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0;\n // && !utils.isDisabledBecauseFrozen(channel)\n // && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\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 if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\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={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, parentMessage);\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(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","isMuted","isChannelFrozen","allThreadMessages","useThreadContext","messageInputRef","useRef","myRole","Role","OPERATOR","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","ableMention","setAbleMention","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","useEffect","url","maxMentionCount","filter","_ref","userId","i","indexOf","splice","isBroadcast","React","createElement","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","_currentChannel$start","startTyping","call","onSendMessage","_ref2","_currentChannel$endTy","message","mentionTemplate","quoteMessage","endTyping","onFileUpload","file","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}