@sendbird/uikit-react 3.5.0-rc.1 → 3.5.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 (936) hide show
  1. package/App.js +323 -238
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +556 -0
  4. package/Channel/components/ChannelHeader.js +46 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +104 -131
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +56 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +240 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +152 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +270 -175
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +34 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +139 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +44 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +12 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +69 -44
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +101 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +72 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +32 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-1d36e2e9.js → ChannelListProvider-643a2b47.js} +234 -286
  45. package/ChannelListProvider-643a2b47.js.map +1 -0
  46. package/{ChannelProvider-289cd35f.js → ChannelProvider-33559192.js} +661 -727
  47. package/ChannelProvider-33559192.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +55 -58
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-5b006b58.js +44 -0
  76. package/CreateChannelProvider-5b006b58.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-25d6694d.js +20 -0
  90. package/{LocalizationContext-289c1917.js.map → LocalizationContext-25d6694d.js.map} +1 -1
  91. package/MediaQueryContext-94c9086a.js +87 -0
  92. package/MediaQueryContext-94c9086a.js.map +1 -0
  93. package/MemberList-9f8950db.js +403 -0
  94. package/MemberList-9f8950db.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +50 -35
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +174 -191
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +36 -30
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-7c6b2f84.js +429 -0
  128. package/OpenChannelListProvider-7c6b2f84.js.map +1 -0
  129. package/OpenChannelProvider-18fa6128.js +1885 -0
  130. package/OpenChannelProvider-18fa6128.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +57 -70
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-9c0350c0.js +36 -0
  147. package/RemoveMessageModal-9c0350c0.js.map +1 -0
  148. package/SendbirdProvider.js +749 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +238 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +112 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +108 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +306 -276
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +146 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +169 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +87 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-6ae0b041.js +1695 -0
  170. package/ThreadProvider-6ae0b041.js.map +1 -0
  171. package/{UserProfileContext-e3530842.js → UserProfileContext-a56cc682.js} +1 -4
  172. package/{UserProfileContext-e3530842.js.map → UserProfileContext-a56cc682.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-69ac1f5a.js +170 -0
  174. package/VoiceMessageInputWrapper-69ac1f5a.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +84 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +156 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +121 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-16540f03.js +123 -0
  184. package/WebAudioUtils-16540f03.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-519f674b.js → _rollupPluginBabelHelpers-1be219c2.js} +17 -11
  186. package/_rollupPluginBabelHelpers-1be219c2.js.map +1 -0
  187. package/actionTypes-a8140d53.js +8 -0
  188. package/actionTypes-a8140d53.js.map +1 -0
  189. package/cjs/App.js +324 -239
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +46 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +102 -129
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +56 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +243 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +151 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +270 -175
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +34 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +139 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +44 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +69 -44
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +100 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +72 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +32 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-0de52d2b.js → ChannelListProvider-1d4a8060.js} +233 -285
  232. package/cjs/ChannelListProvider-1d4a8060.js.map +1 -0
  233. package/cjs/{ChannelProvider-fc58e60e.js → ChannelProvider-2c7ec64b.js} +659 -725
  234. package/cjs/ChannelProvider-2c7ec64b.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +57 -60
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-f7d36126.js +52 -0
  263. package/cjs/CreateChannelProvider-f7d36126.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-bddc5c2b.js → LocalizationContext-bd54275c.js} +9 -11
  277. package/cjs/{LocalizationContext-bddc5c2b.js.map → LocalizationContext-bd54275c.js.map} +1 -1
  278. package/cjs/MediaQueryContext-ebcb159a.js +94 -0
  279. package/cjs/MediaQueryContext-ebcb159a.js.map +1 -0
  280. package/cjs/MemberList-2204c0b1.js +409 -0
  281. package/cjs/MemberList-2204c0b1.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +36 -30
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-865700d5.js +439 -0
  315. package/cjs/OpenChannelListProvider-865700d5.js.map +1 -0
  316. package/cjs/OpenChannelProvider-083e5628.js +1894 -0
  317. package/cjs/OpenChannelProvider-083e5628.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +58 -71
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-9169766a.js → RemoveMessageModal-822e0fac.js} +19 -14
  333. package/cjs/RemoveMessageModal-822e0fac.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +748 -408
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +237 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +108 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +305 -275
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +146 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +170 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +87 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-09392c06.js +1704 -0
  356. package/cjs/ThreadProvider-09392c06.js.map +1 -0
  357. package/cjs/{UserProfileContext-8d0dee57.js → UserProfileContext-10e1ac24.js} +1 -4
  358. package/cjs/{UserProfileContext-8d0dee57.js.map → UserProfileContext-10e1ac24.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-fee2ede6.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-fee2ede6.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +17 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +166 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-9dfbd5a9.js +126 -0
  370. package/cjs/WebAudioUtils-9dfbd5a9.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-fed1e122.js → _rollupPluginBabelHelpers-53e83515.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-53e83515.js.map +1 -0
  373. package/cjs/actionTypes-b1275c7f.js +10 -0
  374. package/cjs/actionTypes-b1275c7f.js.map +1 -0
  375. package/cjs/{color-f47044b3.js → color-e7fbb496.js} +13 -21
  376. package/cjs/color-e7fbb496.js.map +1 -0
  377. package/cjs/{compareIds-4124b297.js → compareIds-03cd7437.js} +5 -6
  378. package/cjs/compareIds-03cd7437.js.map +1 -0
  379. package/cjs/{const-fd64914b.js → const-8728e4b6.js} +4 -4
  380. package/cjs/const-8728e4b6.js.map +1 -0
  381. package/cjs/const-b3585ae0.js +20 -0
  382. package/cjs/const-b3585ae0.js.map +1 -0
  383. package/cjs/consts-6bd1cfe3.js +6 -0
  384. package/cjs/consts-6bd1cfe3.js.map +1 -0
  385. package/cjs/consts-a006bc78.js +6 -0
  386. package/cjs/consts-a006bc78.js.map +1 -0
  387. package/cjs/consts-a0e35044.js +6 -0
  388. package/cjs/consts-a0e35044.js.map +1 -0
  389. package/cjs/consts-aa056322.js +41 -0
  390. package/cjs/consts-aa056322.js.map +1 -0
  391. package/cjs/{context-7a0e057b.js → context-ad45a982.js} +6 -5
  392. package/cjs/{context-7a0e057b.js.map → context-ad45a982.js.map} +1 -1
  393. package/cjs/dist/index.css +1847 -1394
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/{index-343cd84a.js → index-165d52b7.js} +2 -2
  398. package/cjs/{index-343cd84a.js.map → index-165d52b7.js.map} +1 -1
  399. package/cjs/index-288afd10.js +367 -0
  400. package/cjs/index-288afd10.js.map +1 -0
  401. package/cjs/{index-9ca07037.js → index-2f206bb6.js} +29 -37
  402. package/cjs/index-2f206bb6.js.map +1 -0
  403. package/cjs/index-32244c73.js +585 -0
  404. package/cjs/index-32244c73.js.map +1 -0
  405. package/cjs/index-35d641f7.js +202 -0
  406. package/cjs/index-35d641f7.js.map +1 -0
  407. package/cjs/{index-c475c3c8.js → index-3e924a85.js} +55 -63
  408. package/cjs/index-3e924a85.js.map +1 -0
  409. package/cjs/index-4a2ec2ae.js +456 -0
  410. package/cjs/index-4a2ec2ae.js.map +1 -0
  411. package/cjs/{index-d14a43c4.js → index-745c9ce1.js} +1 -1
  412. package/cjs/{index-d14a43c4.js.map → index-745c9ce1.js.map} +1 -1
  413. package/cjs/index-7bd7f678.js +79 -0
  414. package/cjs/index-7bd7f678.js.map +1 -0
  415. package/cjs/index-7d2d89a2.js +330 -0
  416. package/cjs/index-7d2d89a2.js.map +1 -0
  417. package/cjs/{index-c5cd589d.js → index-8ada6055.js} +1 -1
  418. package/cjs/index-8ada6055.js.map +1 -0
  419. package/cjs/{index-3a4f8219.js → index-9a94e768.js} +42 -51
  420. package/cjs/index-9a94e768.js.map +1 -0
  421. package/cjs/index-9f2a1c52.js +161 -0
  422. package/cjs/index-9f2a1c52.js.map +1 -0
  423. package/cjs/{index-abbc8024.js → index-9feae73e.js} +57 -3
  424. package/cjs/index-9feae73e.js.map +1 -0
  425. package/cjs/{index-8de8f28a.js → index-a01673e9.js} +2 -2
  426. package/cjs/{index-8de8f28a.js.map → index-a01673e9.js.map} +1 -1
  427. package/cjs/index-d0b4f3c0.js +57 -0
  428. package/cjs/index-d0b4f3c0.js.map +1 -0
  429. package/cjs/{index-5d5497c2.js → index-f6621210.js} +11 -25
  430. package/cjs/index-f6621210.js.map +1 -0
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-02ae6df9.js +6 -0
  434. package/cjs/index.module-02ae6df9.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/resolvedReplyType-da86056c.js +32 -0
  438. package/cjs/resolvedReplyType-da86056c.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-3e6167ef.js → stringSet-d212a015.js} +112 -90
  442. package/cjs/stringSet-d212a015.js.map +1 -0
  443. package/cjs/tokenize-b019fb84.js +164 -0
  444. package/cjs/tokenize-b019fb84.js.map +1 -0
  445. package/cjs/topics-77576a9c.js +18 -0
  446. package/cjs/topics-77576a9c.js.map +1 -0
  447. package/cjs/types-36ee2d00.js +17 -0
  448. package/cjs/types-36ee2d00.js.map +1 -0
  449. package/cjs/ui/Accordion.js +21 -24
  450. package/cjs/ui/Accordion.js.map +1 -1
  451. package/cjs/ui/AccordionGroup.js +10 -13
  452. package/cjs/ui/AccordionGroup.js.map +1 -1
  453. package/cjs/ui/AdminMessage.js +10 -13
  454. package/cjs/ui/AdminMessage.js.map +1 -1
  455. package/cjs/ui/Avatar.js +57 -79
  456. package/cjs/ui/Avatar.js.map +1 -1
  457. package/cjs/ui/Badge.js +16 -15
  458. package/cjs/ui/Badge.js.map +1 -1
  459. package/cjs/ui/BottomSheet.js +14 -12
  460. package/cjs/ui/BottomSheet.js.map +1 -1
  461. package/cjs/ui/Button.js +20 -35
  462. package/cjs/ui/Button.js.map +1 -1
  463. package/cjs/ui/ChannelAvatar.js +38 -41
  464. package/cjs/ui/ChannelAvatar.js.map +1 -1
  465. package/cjs/ui/Checkbox.js +11 -13
  466. package/cjs/ui/Checkbox.js.map +1 -1
  467. package/cjs/ui/ConnectionStatus.js +7 -5
  468. package/cjs/ui/ConnectionStatus.js.map +1 -1
  469. package/cjs/ui/ContextMenu.js +175 -199
  470. package/cjs/ui/ContextMenu.js.map +1 -1
  471. package/cjs/ui/DateSeparator.js +12 -14
  472. package/cjs/ui/DateSeparator.js.map +1 -1
  473. package/cjs/ui/EmojiReactions.js +299 -107
  474. package/cjs/ui/EmojiReactions.js.map +1 -1
  475. package/cjs/ui/FileMessageItemBody.js +22 -23
  476. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  477. package/cjs/ui/FileViewer.js +36 -36
  478. package/cjs/ui/FileViewer.js.map +1 -1
  479. package/cjs/ui/Icon.js +447 -623
  480. package/cjs/ui/Icon.js.map +1 -1
  481. package/cjs/ui/IconButton.js +20 -31
  482. package/cjs/ui/IconButton.js.map +1 -1
  483. package/cjs/ui/ImageRenderer.js +34 -43
  484. package/cjs/ui/ImageRenderer.js.map +1 -1
  485. package/cjs/ui/Input.js +16 -16
  486. package/cjs/ui/Input.js.map +1 -1
  487. package/cjs/ui/Label.js +2 -2
  488. package/cjs/ui/LinkLabel.js +4 -3
  489. package/cjs/ui/LinkLabel.js.map +1 -1
  490. package/cjs/ui/Loader.js +10 -12
  491. package/cjs/ui/Loader.js.map +1 -1
  492. package/cjs/ui/MentionLabel.js +58 -65
  493. package/cjs/ui/MentionLabel.js.map +1 -1
  494. package/cjs/ui/MentionUserLabel.js +12 -10
  495. package/cjs/ui/MentionUserLabel.js.map +1 -1
  496. package/cjs/ui/MessageContent.js +216 -550
  497. package/cjs/ui/MessageContent.js.map +1 -1
  498. package/cjs/ui/MessageInput.js +392 -119
  499. package/cjs/ui/MessageInput.js.map +1 -1
  500. package/cjs/ui/MessageItemMenu.js +83 -83
  501. package/cjs/ui/MessageItemMenu.js.map +1 -1
  502. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  503. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  504. package/cjs/ui/MessageSearchFileItem.js +56 -51
  505. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  506. package/cjs/ui/MessageSearchItem.js +42 -41
  507. package/cjs/ui/MessageSearchItem.js.map +1 -1
  508. package/cjs/ui/MessageStatus.js +10 -11
  509. package/cjs/ui/MessageStatus.js.map +1 -1
  510. package/cjs/ui/Modal.js +52 -46
  511. package/cjs/ui/Modal.js.map +1 -1
  512. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  513. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/cjs/ui/OGMessageItemBody.js +67 -63
  515. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  516. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  517. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/cjs/ui/OpenChannelAvatar.js +18 -17
  519. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  520. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  521. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  522. package/cjs/ui/OpenchannelFileMessage.js +140 -151
  523. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  525. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
  527. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  528. package/cjs/ui/OpenchannelUserMessage.js +168 -178
  529. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  530. package/cjs/ui/PlaceHolder.js +5 -6
  531. package/cjs/ui/PlaceHolder.js.map +1 -1
  532. package/cjs/ui/PlaybackTime.js +35 -0
  533. package/cjs/ui/PlaybackTime.js.map +1 -0
  534. package/cjs/ui/ProgressBar.js +40 -0
  535. package/cjs/ui/ProgressBar.js.map +1 -0
  536. package/cjs/ui/QuoteMessage.js +50 -44
  537. package/cjs/ui/QuoteMessage.js.map +1 -1
  538. package/cjs/ui/QuoteMessageInput.js +31 -29
  539. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  540. package/cjs/ui/ReactionBadge.js +13 -21
  541. package/cjs/ui/ReactionBadge.js.map +1 -1
  542. package/cjs/ui/ReactionButton.js +30 -27
  543. package/cjs/ui/ReactionButton.js.map +1 -1
  544. package/cjs/ui/SortByRow.js +14 -18
  545. package/cjs/ui/SortByRow.js.map +1 -1
  546. package/cjs/ui/TextButton.js +13 -21
  547. package/cjs/ui/TextButton.js.map +1 -1
  548. package/cjs/ui/TextMessageItemBody.js +41 -48
  549. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  550. package/cjs/ui/ThreadReplies.js +25 -22
  551. package/cjs/ui/ThreadReplies.js.map +1 -1
  552. package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
  553. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  554. package/cjs/ui/Toggle.js +202 -0
  555. package/cjs/ui/Toggle.js.map +1 -0
  556. package/cjs/ui/Tooltip.js +8 -9
  557. package/cjs/ui/Tooltip.js.map +1 -1
  558. package/cjs/ui/TooltipWrapper.js +17 -20
  559. package/cjs/ui/TooltipWrapper.js.map +1 -1
  560. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  561. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  562. package/cjs/ui/UserListItem.js +76 -76
  563. package/cjs/ui/UserListItem.js.map +1 -1
  564. package/cjs/ui/UserProfile.js +31 -29
  565. package/cjs/ui/UserProfile.js.map +1 -1
  566. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  567. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  568. package/cjs/ui/VoiceMessgeInput.js +22 -0
  569. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  570. package/cjs/ui/Word.js +31 -39
  571. package/cjs/ui/Word.js.map +1 -1
  572. package/cjs/useDirtyGetMentions-792a65af.js +77 -0
  573. package/cjs/useDirtyGetMentions-792a65af.js.map +1 -0
  574. package/cjs/useLongPress-50d2028a.js +87 -0
  575. package/cjs/useLongPress-50d2028a.js.map +1 -0
  576. package/cjs/useSendbirdStateContext.js +2 -3
  577. package/cjs/useSendbirdStateContext.js.map +1 -1
  578. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  579. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  580. package/cjs/utils/message/isVoiceMessage.js +12 -0
  581. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  582. package/cjs/{utils-374d57b4.js → utils-85ff9137.js} +1 -1
  583. package/cjs/{utils-374d57b4.js.map → utils-85ff9137.js.map} +1 -1
  584. package/cjs/{utils-5f86a394.js → utils-8ce3a247.js} +3 -7
  585. package/cjs/{utils-5f86a394.js.map → utils-8ce3a247.js.map} +1 -1
  586. package/cjs/utils-c2543c4d.js +31 -0
  587. package/cjs/utils-c2543c4d.js.map +1 -0
  588. package/cjs/utils-d2648e7d.js +35 -0
  589. package/cjs/utils-d2648e7d.js.map +1 -0
  590. package/cjs/uuid-97ce2508.js +15 -0
  591. package/cjs/{uuid-2475ef6c.js.map → uuid-97ce2508.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-163ba24d.js → color-04427a41.js} +5 -14
  595. package/{color-163ba24d.js.map → color-04427a41.js.map} +1 -1
  596. package/{compareIds-ef41eb2c.js → compareIds-e75af4f9.js} +5 -6
  597. package/compareIds-e75af4f9.js.map +1 -0
  598. package/{const-76d87f47.js → const-8d418b81.js} +4 -4
  599. package/const-8d418b81.js.map +1 -0
  600. package/const-ec18f7f8.js +13 -0
  601. package/const-ec18f7f8.js.map +1 -0
  602. package/consts-01a1e3c0.js +4 -0
  603. package/consts-01a1e3c0.js.map +1 -0
  604. package/consts-4d93ce13.js +4 -0
  605. package/consts-4d93ce13.js.map +1 -0
  606. package/consts-a5106683.js +4 -0
  607. package/consts-a5106683.js.map +1 -0
  608. package/consts-e6fdc559.js +27 -0
  609. package/consts-e6fdc559.js.map +1 -0
  610. package/context-6272efa3.js +13 -0
  611. package/{context-10475c77.js.map → context-6272efa3.js.map} +1 -1
  612. package/dist/index.css +1847 -1394
  613. package/dist/index.css.map +1 -1
  614. package/handlers/OpenChannelHandler.js.map +1 -1
  615. package/handlers/SessionHandler.js.map +1 -1
  616. package/{index-12754b45.js → index-19daf00f.js} +55 -63
  617. package/index-19daf00f.js.map +1 -0
  618. package/index-24f4354d.js +450 -0
  619. package/index-24f4354d.js.map +1 -0
  620. package/index-2d858f6d.js +187 -0
  621. package/index-2d858f6d.js.map +1 -0
  622. package/{index-232388fa.js → index-32a56033.js} +29 -37
  623. package/index-32a56033.js.map +1 -0
  624. package/index-36d49e08.js +154 -0
  625. package/index-36d49e08.js.map +1 -0
  626. package/{index-2f346069.js → index-5819e39d.js} +1 -1
  627. package/index-5819e39d.js.map +1 -0
  628. package/index-7ff2c073.js +360 -0
  629. package/index-7ff2c073.js.map +1 -0
  630. package/index-9a62272f.js +51 -0
  631. package/index-9a62272f.js.map +1 -0
  632. package/{index-4ebfc7a7.js → index-a4552c13.js} +1 -1
  633. package/{index-4ebfc7a7.js.map → index-a4552c13.js.map} +1 -1
  634. package/index-b3c3e1aa.js +76 -0
  635. package/index-b3c3e1aa.js.map +1 -0
  636. package/index-c589f349.js +540 -0
  637. package/index-c589f349.js.map +1 -0
  638. package/{index-2784bdd8.js → index-d88e3ef9.js} +11 -25
  639. package/index-d88e3ef9.js.map +1 -0
  640. package/{index-751f97ce.js → index-dcaf3cb8.js} +57 -4
  641. package/index-dcaf3cb8.js.map +1 -0
  642. package/{index-a02da5bd.js → index-dd8e8ea1.js} +2 -2
  643. package/{index-a02da5bd.js.map → index-dd8e8ea1.js.map} +1 -1
  644. package/index-f4374646.js +320 -0
  645. package/index-f4374646.js.map +1 -0
  646. package/{index-aea7b7d6.js → index-fe7ed4c0.js} +39 -48
  647. package/index-fe7ed4c0.js.map +1 -0
  648. package/{index-3c013a28.js → index-fea4f7d3.js} +2 -2
  649. package/{index-3c013a28.js.map → index-fea4f7d3.js.map} +1 -1
  650. package/index.d.ts +176 -124
  651. package/index.js +84 -63
  652. package/index.js.map +1 -1
  653. package/index.module-1ba8586e.js +4 -0
  654. package/index.module-1ba8586e.js.map +1 -0
  655. package/lame.all.js +2537 -0
  656. package/lame.all.js.map +1 -0
  657. package/package.json +62 -41
  658. package/resolvedReplyType-94a089b3.js +29 -0
  659. package/resolvedReplyType-94a089b3.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-9ae71b7d.js → stringSet-3649b375.js} +112 -90
  663. package/stringSet-3649b375.js.map +1 -0
  664. package/tokenize-053e921e.js +159 -0
  665. package/tokenize-053e921e.js.map +1 -0
  666. package/topics-d0dcd2f2.js +16 -0
  667. package/topics-d0dcd2f2.js.map +1 -0
  668. package/types-54edb45d.js +15 -0
  669. package/types-54edb45d.js.map +1 -0
  670. package/ui/Accordion.js +21 -24
  671. package/ui/Accordion.js.map +1 -1
  672. package/ui/AccordionGroup.js +10 -13
  673. package/ui/AccordionGroup.js.map +1 -1
  674. package/ui/AdminMessage.js +10 -13
  675. package/ui/AdminMessage.js.map +1 -1
  676. package/ui/Avatar.js +57 -79
  677. package/ui/Avatar.js.map +1 -1
  678. package/ui/Badge.js +16 -15
  679. package/ui/Badge.js.map +1 -1
  680. package/ui/BottomSheet.js +14 -12
  681. package/ui/BottomSheet.js.map +1 -1
  682. package/ui/Button.js +20 -35
  683. package/ui/Button.js.map +1 -1
  684. package/ui/ChannelAvatar.js +38 -41
  685. package/ui/ChannelAvatar.js.map +1 -1
  686. package/ui/Checkbox.js +11 -13
  687. package/ui/Checkbox.js.map +1 -1
  688. package/ui/ConnectionStatus.js +7 -5
  689. package/ui/ConnectionStatus.js.map +1 -1
  690. package/ui/ContextMenu.js +176 -200
  691. package/ui/ContextMenu.js.map +1 -1
  692. package/ui/DateSeparator.js +12 -14
  693. package/ui/DateSeparator.js.map +1 -1
  694. package/ui/EmojiReactions.js +300 -108
  695. package/ui/EmojiReactions.js.map +1 -1
  696. package/ui/FileMessageItemBody.js +22 -23
  697. package/ui/FileMessageItemBody.js.map +1 -1
  698. package/ui/FileViewer.js +36 -36
  699. package/ui/FileViewer.js.map +1 -1
  700. package/ui/Icon.js +448 -622
  701. package/ui/Icon.js.map +1 -1
  702. package/ui/IconButton.js +20 -31
  703. package/ui/IconButton.js.map +1 -1
  704. package/ui/ImageRenderer.js +34 -43
  705. package/ui/ImageRenderer.js.map +1 -1
  706. package/ui/Input.js +16 -16
  707. package/ui/Input.js.map +1 -1
  708. package/ui/Label.js +2 -2
  709. package/ui/LinkLabel.js +4 -3
  710. package/ui/LinkLabel.js.map +1 -1
  711. package/ui/Loader.js +10 -12
  712. package/ui/Loader.js.map +1 -1
  713. package/ui/MentionLabel.js +58 -65
  714. package/ui/MentionLabel.js.map +1 -1
  715. package/ui/MentionUserLabel.js +12 -10
  716. package/ui/MentionUserLabel.js.map +1 -1
  717. package/ui/MessageContent.js +219 -553
  718. package/ui/MessageContent.js.map +1 -1
  719. package/ui/MessageInput.js +392 -120
  720. package/ui/MessageInput.js.map +1 -1
  721. package/ui/MessageItemMenu.js +83 -83
  722. package/ui/MessageItemMenu.js.map +1 -1
  723. package/ui/MessageItemReactionMenu.js +58 -62
  724. package/ui/MessageItemReactionMenu.js.map +1 -1
  725. package/ui/MessageSearchFileItem.js +55 -50
  726. package/ui/MessageSearchFileItem.js.map +1 -1
  727. package/ui/MessageSearchItem.js +41 -40
  728. package/ui/MessageSearchItem.js.map +1 -1
  729. package/ui/MessageStatus.js +10 -11
  730. package/ui/MessageStatus.js.map +1 -1
  731. package/ui/Modal.js +52 -46
  732. package/ui/Modal.js.map +1 -1
  733. package/ui/MutedAvatarOverlay.js +10 -10
  734. package/ui/MutedAvatarOverlay.js.map +1 -1
  735. package/ui/OGMessageItemBody.js +68 -64
  736. package/ui/OGMessageItemBody.js.map +1 -1
  737. package/ui/OpenChannelAdminMessage.js +8 -7
  738. package/ui/OpenChannelAdminMessage.js.map +1 -1
  739. package/ui/OpenChannelAvatar.js +18 -17
  740. package/ui/OpenChannelAvatar.js.map +1 -1
  741. package/ui/OpenchannelConversationHeader.js +17 -13
  742. package/ui/OpenchannelConversationHeader.js.map +1 -1
  743. package/ui/OpenchannelFileMessage.js +140 -151
  744. package/ui/OpenchannelFileMessage.js.map +1 -1
  745. package/ui/OpenchannelOGMessage.js +204 -233
  746. package/ui/OpenchannelOGMessage.js.map +1 -1
  747. package/ui/OpenchannelThumbnailMessage.js +215 -222
  748. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  749. package/ui/OpenchannelUserMessage.js +168 -178
  750. package/ui/OpenchannelUserMessage.js.map +1 -1
  751. package/ui/PlaceHolder.js +5 -6
  752. package/ui/PlaceHolder.js.map +1 -1
  753. package/ui/PlaybackTime.js +26 -0
  754. package/ui/PlaybackTime.js.map +1 -0
  755. package/ui/ProgressBar.js +30 -0
  756. package/ui/ProgressBar.js.map +1 -0
  757. package/ui/QuoteMessage.js +50 -44
  758. package/ui/QuoteMessage.js.map +1 -1
  759. package/ui/QuoteMessageInput.js +31 -29
  760. package/ui/QuoteMessageInput.js.map +1 -1
  761. package/ui/ReactionBadge.js +13 -21
  762. package/ui/ReactionBadge.js.map +1 -1
  763. package/ui/ReactionButton.js +30 -27
  764. package/ui/ReactionButton.js.map +1 -1
  765. package/ui/SortByRow.js +14 -18
  766. package/ui/SortByRow.js.map +1 -1
  767. package/ui/TextButton.js +13 -21
  768. package/ui/TextButton.js.map +1 -1
  769. package/ui/TextMessageItemBody.js +41 -48
  770. package/ui/TextMessageItemBody.js.map +1 -1
  771. package/ui/ThreadReplies.js +25 -22
  772. package/ui/ThreadReplies.js.map +1 -1
  773. package/ui/ThumbnailMessageItemBody.js +36 -45
  774. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  775. package/ui/Toggle.js +191 -0
  776. package/ui/Toggle.js.map +1 -0
  777. package/ui/Tooltip.js +8 -9
  778. package/ui/Tooltip.js.map +1 -1
  779. package/ui/TooltipWrapper.js +17 -20
  780. package/ui/TooltipWrapper.js.map +1 -1
  781. package/ui/UnknownMessageItemBody.js +21 -22
  782. package/ui/UnknownMessageItemBody.js.map +1 -1
  783. package/ui/UserListItem.js +76 -76
  784. package/ui/UserListItem.js.map +1 -1
  785. package/ui/UserProfile.js +31 -29
  786. package/ui/UserProfile.js.map +1 -1
  787. package/ui/VoiceMessageItemBody.js +110 -0
  788. package/ui/VoiceMessageItemBody.js.map +1 -0
  789. package/ui/VoiceMessgeInput.js +14 -0
  790. package/ui/VoiceMessgeInput.js.map +1 -0
  791. package/ui/Word.js +31 -39
  792. package/ui/Word.js.map +1 -1
  793. package/useDirtyGetMentions-b9a9c21b.js +75 -0
  794. package/useDirtyGetMentions-b9a9c21b.js.map +1 -0
  795. package/useLongPress-5e28b292.js +85 -0
  796. package/useLongPress-5e28b292.js.map +1 -0
  797. package/useSendbirdStateContext.js +2 -3
  798. package/useSendbirdStateContext.js.map +1 -1
  799. package/utils/message/getOutgoingMessageState.js +9 -15
  800. package/utils/message/getOutgoingMessageState.js.map +1 -1
  801. package/utils/message/isVoiceMessage.js +8 -0
  802. package/utils/message/isVoiceMessage.js.map +1 -0
  803. package/utils-1f5c8b6c.js +29 -0
  804. package/utils-1f5c8b6c.js.map +1 -0
  805. package/{utils-ddb0df4c.js → utils-712b81f7.js} +3 -7
  806. package/{utils-ddb0df4c.js.map → utils-712b81f7.js.map} +1 -1
  807. package/{utils-ea66f822.js → utils-a1f2aa01.js} +1 -1
  808. package/{utils-ea66f822.js.map → utils-a1f2aa01.js.map} +1 -1
  809. package/utils-cbae9afc.js +31 -0
  810. package/utils-cbae9afc.js.map +1 -0
  811. package/uuid-8c96bee0.js +13 -0
  812. package/{uuid-7e004f47.js.map → uuid-8c96bee0.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-1d36e2e9.js.map +0 -1
  816. package/ChannelProvider-289cd35f.js.map +0 -1
  817. package/CreateChannelProvider-72b655e9.js +0 -55
  818. package/CreateChannelProvider-72b655e9.js.map +0 -1
  819. package/LocalizationContext-289c1917.js +0 -22
  820. package/MediaQueryContext-273d29f6.js +0 -90
  821. package/MediaQueryContext-273d29f6.js.map +0 -1
  822. package/MemberList-7ad0fa0b.js +0 -435
  823. package/MemberList-7ad0fa0b.js.map +0 -1
  824. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  825. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  826. package/NotificationChannel/components/NotificationList.js +0 -111
  827. package/NotificationChannel/components/NotificationList.js.map +0 -1
  828. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  829. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  830. package/NotificationChannel/context.js +0 -12
  831. package/NotificationChannel.js +0 -58
  832. package/NotificationChannel.js.map +0 -1
  833. package/NotificationChannelProvider-ad556c64.js +0 -535
  834. package/NotificationChannelProvider-ad556c64.js.map +0 -1
  835. package/OpenChannelListProvider-0febf8b2.js +0 -434
  836. package/OpenChannelListProvider-0febf8b2.js.map +0 -1
  837. package/OpenChannelProvider-c254c663.js +0 -2000
  838. package/OpenChannelProvider-c254c663.js.map +0 -1
  839. package/RemoveMessageModal-d6cbf9fa.js +0 -31
  840. package/RemoveMessageModal-d6cbf9fa.js.map +0 -1
  841. package/ThreadProvider-8696ef31.js +0 -1644
  842. package/ThreadProvider-8696ef31.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-519f674b.js.map +0 -1
  844. package/actionTypes-9f87e87f.js +0 -6
  845. package/actionTypes-9f87e87f.js.map +0 -1
  846. package/cjs/ChannelListProvider-0de52d2b.js.map +0 -1
  847. package/cjs/ChannelProvider-fc58e60e.js.map +0 -1
  848. package/cjs/CreateChannelProvider-a82d20f4.js +0 -62
  849. package/cjs/CreateChannelProvider-a82d20f4.js.map +0 -1
  850. package/cjs/MediaQueryContext-4711a81f.js +0 -97
  851. package/cjs/MediaQueryContext-4711a81f.js.map +0 -1
  852. package/cjs/MemberList-b2623166.js +0 -441
  853. package/cjs/MemberList-b2623166.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  855. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  856. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  857. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  858. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  859. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  860. package/cjs/NotificationChannel/context.js +0 -21
  861. package/cjs/NotificationChannel.js +0 -64
  862. package/cjs/NotificationChannel.js.map +0 -1
  863. package/cjs/NotificationChannelProvider-2cdc7ff4.js +0 -543
  864. package/cjs/NotificationChannelProvider-2cdc7ff4.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-60bc3c69.js +0 -443
  866. package/cjs/OpenChannelListProvider-60bc3c69.js.map +0 -1
  867. package/cjs/OpenChannelProvider-3ed4eb6e.js +0 -2009
  868. package/cjs/OpenChannelProvider-3ed4eb6e.js.map +0 -1
  869. package/cjs/RemoveMessageModal-9169766a.js.map +0 -1
  870. package/cjs/ThreadProvider-389f5031.js +0 -1653
  871. package/cjs/ThreadProvider-389f5031.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-fed1e122.js.map +0 -1
  873. package/cjs/actionTypes-2f90e726.js +0 -10
  874. package/cjs/actionTypes-2f90e726.js.map +0 -1
  875. package/cjs/color-f47044b3.js.map +0 -1
  876. package/cjs/compareIds-4124b297.js.map +0 -1
  877. package/cjs/const-015e5589.js +0 -20
  878. package/cjs/const-015e5589.js.map +0 -1
  879. package/cjs/const-fd64914b.js.map +0 -1
  880. package/cjs/index-30c97863.js +0 -194
  881. package/cjs/index-30c97863.js.map +0 -1
  882. package/cjs/index-3a4f8219.js.map +0 -1
  883. package/cjs/index-40e4653a.js +0 -59
  884. package/cjs/index-40e4653a.js.map +0 -1
  885. package/cjs/index-5d5497c2.js.map +0 -1
  886. package/cjs/index-62c1bdfc.js +0 -701
  887. package/cjs/index-62c1bdfc.js.map +0 -1
  888. package/cjs/index-9ca07037.js.map +0 -1
  889. package/cjs/index-9f3670d0.js +0 -360
  890. package/cjs/index-9f3670d0.js.map +0 -1
  891. package/cjs/index-abbc8024.js.map +0 -1
  892. package/cjs/index-c475c3c8.js.map +0 -1
  893. package/cjs/index-c5cd589d.js.map +0 -1
  894. package/cjs/stringSet-3e6167ef.js.map +0 -1
  895. package/cjs/topics-56842e14.js +0 -22
  896. package/cjs/topics-56842e14.js.map +0 -1
  897. package/cjs/tslib.es6-b8ba50ef.js +0 -110
  898. package/cjs/tslib.es6-b8ba50ef.js.map +0 -1
  899. package/cjs/useLongPress-99c66f7f.js +0 -118
  900. package/cjs/useLongPress-99c66f7f.js.map +0 -1
  901. package/cjs/utils-9adfd244.js +0 -38
  902. package/cjs/utils-9adfd244.js.map +0 -1
  903. package/cjs/utils-f6a96ebf.js +0 -32
  904. package/cjs/utils-f6a96ebf.js.map +0 -1
  905. package/cjs/uuid-2475ef6c.js +0 -19
  906. package/compareIds-ef41eb2c.js.map +0 -1
  907. package/const-76d87f47.js.map +0 -1
  908. package/const-da6f3d34.js +0 -14
  909. package/const-da6f3d34.js.map +0 -1
  910. package/context-10475c77.js +0 -12
  911. package/index-12754b45.js.map +0 -1
  912. package/index-1e46e582.js +0 -179
  913. package/index-1e46e582.js.map +0 -1
  914. package/index-232388fa.js.map +0 -1
  915. package/index-2784bdd8.js.map +0 -1
  916. package/index-2f346069.js.map +0 -1
  917. package/index-4637b0de.js +0 -57
  918. package/index-4637b0de.js.map +0 -1
  919. package/index-4900e890.js +0 -353
  920. package/index-4900e890.js.map +0 -1
  921. package/index-751f97ce.js.map +0 -1
  922. package/index-855ef33d.js +0 -662
  923. package/index-855ef33d.js.map +0 -1
  924. package/index-aea7b7d6.js.map +0 -1
  925. package/stringSet-9ae71b7d.js.map +0 -1
  926. package/topics-e2963bba.js +0 -13
  927. package/topics-e2963bba.js.map +0 -1
  928. package/tslib.es6-72df3331.js +0 -104
  929. package/tslib.es6-72df3331.js.map +0 -1
  930. package/useLongPress-1a777e9e.js +0 -116
  931. package/useLongPress-1a777e9e.js.map +0 -1
  932. package/utils-2976f2c1.js +0 -30
  933. package/utils-2976f2c1.js.map +0 -1
  934. package/utils-6b69fb18.js +0 -34
  935. package/utils-6b69fb18.js.map +0 -1
  936. package/uuid-7e004f47.js +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItem.js","sources":["../../../../src/smart-components/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../../src/smart-components/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 } 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';\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 return (\n <div className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}>\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabled ? '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 ${isReactionEnabled ? '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 {isReactionEnabled && (\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={isReactionEnabled}\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={isReactionEnabled}\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={isReactionEnabled}\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={isReactionEnabled}\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={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && 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 {isReactionEnabled && (\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 '@sendbird/chat';\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","_a","className","userId","channel","message","_f","disabled","_g","chainTop","_h","chainBottom","_j","isMentionEnabled","_k","isReactionEnabled","_l","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","_m","useState","supposedHover","setSupposedHover","_o","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","isByMe","sender","_b","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","React","concat","ContextMenu","toggleDropdown","Avatar","members","find","member","profileUrl","_c","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","MessageItemMenu","MessageItemReactionMenu","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","getClassName","MessageStatus","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","getUIKitMessageType","FILE","FileMessageItemBody","isThumbnailMessage","ThumbnailMessageItemBody","width","height","UNKNOWN","UnknownMessageItemBody","_e","reactions","length","EmojiReactions","CAPTION_3","format","createdAt","locale","ThreadListItem","hasSeparator","renderCustomSeparator","handleScroll","useSendbirdStateContext","stores","config","isOnline","userMention","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","_p","selectedUser","setSelectedUser","_q","mentionSuggestedUsers","setMentionSuggestedUsers","_r","ableMention","setAbleMention","displaySuggestedMentionList","myRole","Role","OPERATOR","useEffect","maxMentionCount","filter","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","SuggestedMentionList","__spreadArray","users","maxSuggestionCount","MessageInput","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","FileViewer"],"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';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport useLongPress from '../../../../hooks/useLongPress';\nimport MobileMenu from '../../../../ui/MobileMenu';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\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 { isMobile } = useMediaQueryContext();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext();\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 const isOgMessageEnabledInGroupChannel = channel.isGroupChannel() && config.groupChannel.enableOgtag;\n\n // Mobile\n const mobileMenuRef = useRef(null);\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMobileMenu(true);\n }\n },\n }, {\n shouldPreventDefault: false,\n });\n\n return (\n <div\n className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}\n ref={mobileMenuRef}\n >\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 && !isMobile) && (\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\n className=\"sendbird-thread-list-item-content__middle\"\n {...(isMobile) ? { ...longPress } : {}}\n >\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 {isOgMessageEnabledInGroupChannel && 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 ) : 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 {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: isMobile ? '100%' : '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) || (isOgMessageEnabledInGroupChannel && isOGMessage(message as UserMessage))) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n channel={channel}\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 && !isMobile) && (\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 {showMobileMenu && (\n <MobileMenu\n parentRef={mobileMenuRef}\n channel={channel}\n message={message}\n userId={userId}\n replyType={replyType}\n hideMenu={() => {\n setShowMobileMenu(false);\n }}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n showEdit={showEdit}\n showRemove={showRemove}\n toggleReaction={toggleReaction}\n isOpenedFromThread\n />\n )}\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';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { getIsReactionEnabled } from '../../../../utils/getIsReactionEnabled';\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 logger,\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 = getIsReactionEnabled({\n globalLevel: isReactionEnabled,\n isSuper: currentChannel.isSuper,\n isBroadcast: currentChannel.isBroadcast,\n });\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 displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n\n const mentionNodes = useDirtyGetMentions({ ref: editMessageInputRef }, { logger });\n const ableMention = mentionNodes?.length < userMention?.maxMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // 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 channel={currentChannel}\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","isMobile","useMediaQueryContext","dateLocale","useLocalization","config","useSendbirdStateContext","supposedHover","setSupposedHover","useState","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","isByMe","sender","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","isReactionEnabledInChannel","isEphemeral","isOgMessageEnabledInGroupChannel","isGroupChannel","groupChannel","enableOgtag","mobileMenuRef","showMobileMenu","setShowMobileMenu","longPress","useLongPress","onLongPress","shouldPreventDefault","React","createElement","ref","ContextMenu","menuTrigger","toggleDropdown","_channel$members","_channel$members$find","_message$sender2","Avatar","src","members","find","member","_message$sender","profileUrl","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","MessageItemMenu","MessageItemReactionMenu","spaceFromTrigger","_extends","_objectSpread","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_message$sender3","nickname","getSenderName","getClassName","MessageStatus","isOGMessage","OGMessageItemBody","isTextMessage","TextMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","getUIKitMessageType","FILE","FileMessageItemBody","truncateLimit","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","createdAt","locale","MobileMenu","hideMenu","isOpenedFromThread","ThreadListItem","_stores$userStore","_stores$userStore$use","hasSeparator","renderCustomSeparator","handleScroll","stores","isOnline","userMention","logger","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","getIsReactionEnabled","globalLevel","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","_messageScrollRef$cur","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","displaySuggestedMentionList","myRole","Role","OPERATOR","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","useEffect","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,111 +1,125 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-b8ba50ef.js');
4
3
  var React = require('react');
5
- var SendbirdChat = require('@sendbird/chat');
6
4
  var groupChannel = require('@sendbird/chat/groupChannel');
7
5
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
8
6
  var ui_MessageInput = require('../../ui/MessageInput.js');
9
- var _const = require('../../const-fd64914b.js');
7
+ var _const = require('../../const-8728e4b6.js');
10
8
  var Channel_components_SuggestedMentionList = require('../../Channel/components/SuggestedMentionList.js');
11
- var Thread_context = require('../../ThreadProvider-389f5031.js');
12
- var LocalizationContext = require('../../LocalizationContext-bddc5c2b.js');
9
+ var Thread_context = require('../../ThreadProvider-09392c06.js');
10
+ var LocalizationContext = require('../../LocalizationContext-bd54275c.js');
11
+ var VoiceMessageInputWrapper = require('../../VoiceMessageInputWrapper-fee2ede6.js');
12
+ var types = require('../../types-36ee2d00.js');
13
+ var useDirtyGetMentions = require('../../useDirtyGetMentions-792a65af.js');
14
+ var Channel_context = require('../../ChannelProvider-2c7ec64b.js');
13
15
  require('../../withSendbird.js');
14
- require('../../_rollupPluginBabelHelpers-fed1e122.js');
15
- require('react-dom/server');
16
+ require('../../_rollupPluginBabelHelpers-53e83515.js');
16
17
  require('prop-types');
17
- require('../../const-015e5589.js');
18
+ require('../../const-b3585ae0.js');
18
19
  require('../../ui/IconButton.js');
19
20
  require('../../ui/Button.js');
20
- require('../../index-5d5497c2.js');
21
- require('../../stringSet-3e6167ef.js');
22
- require('../../ui/MentionUserLabel.js');
21
+ require('../../index-f6621210.js');
22
+ require('../../stringSet-d212a015.js');
23
+ require('dompurify');
24
+ require('../../consts-6bd1cfe3.js');
23
25
  require('../../ui/Icon.js');
24
- require('../../index-62c1bdfc.js');
26
+ require('../../index-32244c73.js');
25
27
  require('../../utils/message/getOutgoingMessageState.js');
26
- require('../../index-d14a43c4.js');
28
+ require('../../consts-a0e35044.js');
29
+ require('../../consts-a006bc78.js');
30
+ require('../../tokenize-b019fb84.js');
31
+ require('../../index.module-02ae6df9.js');
32
+ require('../../index-745c9ce1.js');
27
33
  require('../../ui/Avatar.js');
28
34
  require('../../ui/ImageRenderer.js');
29
- require('../../uuid-2475ef6c.js');
30
- require('../../ChannelProvider-fc58e60e.js');
31
- require('../../UserProfileContext-8d0dee57.js');
32
- require('../../index-8de8f28a.js');
33
- require('../../topics-56842e14.js');
34
- require('../../compareIds-4124b297.js');
35
+ require('../../uuid-97ce2508.js');
36
+ require('../../UserProfileContext-10e1ac24.js');
37
+ require('../../index-a01673e9.js');
38
+ require('../../topics-77576a9c.js');
39
+ require('../../compareIds-03cd7437.js');
35
40
  require('@sendbird/chat/message');
36
- require('../../ui/ContextMenu.js');
37
- require('react-dom');
38
- require('../../ui/SortByRow.js');
39
- require('../../ui/ReactionButton.js');
41
+ require('../../consts-aa056322.js');
42
+ require('../../resolvedReplyType-da86056c.js');
40
43
  require('../context/types.js');
44
+ require('@sendbird/chat');
45
+ require('../../VoicePlayer/useVoicePlayer.js');
46
+ require('../../index-7d2d89a2.js');
47
+ require('../../VoiceRecorder/context.js');
48
+ require('../../ui/Modal.js');
49
+ require('react-dom');
50
+ require('../../index-8ada6055.js');
51
+ require('../../MediaQueryContext-ebcb159a.js');
52
+ require('../../VoiceRecorder/useVoiceRecorder.js');
53
+ require('../../index-9f2a1c52.js');
54
+ require('../../ui/PlaybackTime.js');
55
+ require('../../ui/ProgressBar.js');
56
+ require('../../ui/TextButton.js');
57
+ require('../../color-e7fbb496.js');
41
58
 
42
59
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
43
60
 
44
61
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
45
62
 
46
- var ThreadMessageInput = function (props, ref) {
47
- var className = props.className;
48
- var config = useSendbirdStateContext().config;
49
- var stringSet = LocalizationContext.useLocalization().stringSet;
50
- var isMentionEnabled = config.isMentionEnabled,
51
- isOnline = config.isOnline,
52
- userMention = config.userMention;
53
-
54
- var _a = Thread_context.useThreadContext(),
55
- currentChannel = _a.currentChannel,
56
- parentMessage = _a.parentMessage,
57
- sendMessage = _a.sendMessage,
58
- sendFileMessage = _a.sendFileMessage,
59
- isMuted = _a.isMuted,
60
- isChannelFrozen = _a.isChannelFrozen,
61
- allThreadMessages = _a.allThreadMessages;
62
-
63
- var messageInputRef = React.useRef();
64
- var disabled = isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === SendbirdChat.Role.OPERATOR) && isChannelFrozen || parentMessage === null; // mention
65
-
66
- var _b = React.useState(''),
67
- mentionNickname = _b[0],
68
- setMentionNickname = _b[1];
69
-
70
- var _c = React.useState([]),
71
- mentionedUsers = _c[0],
72
- setMentionedUsers = _c[1];
73
-
74
- var _d = React.useState([]),
75
- mentionedUserIds = _d[0],
76
- setMentionedUserIds = _d[1];
77
-
78
- var _e = React.useState(null),
79
- selectedUser = _e[0],
80
- setSelectedUser = _e[1];
81
-
82
- var _f = React.useState([]),
83
- mentionSuggestedUsers = _f[0],
84
- setMentionSuggestedUsers = _f[1];
85
-
86
- var _g = React.useState(true),
87
- ableMention = _g[0],
88
- setAbleMention = _g[1];
89
-
90
- var _h = React.useState(null),
91
- messageInputEvent = _h[0],
92
- setMessageInputEvent = _h[1];
93
-
94
- var displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0; // && !utils.isDisabledBecauseFrozen(channel)
95
- // && !utils.isDisabledBecauseMuted(channel);
96
-
97
- React.useEffect(function () {
98
- if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount)) {
99
- setAbleMention(false);
100
- } else {
101
- setAbleMention(true);
102
- }
103
- }, [mentionedUsers]);
104
- React.useEffect(function () {
105
- setMentionedUsers(mentionedUsers.filter(function (_a) {
106
- var userId = _a.userId;
107
- var i = mentionedUserIds.indexOf(userId);
108
-
63
+ const ThreadMessageInput = (props, ref) => {
64
+ const {
65
+ className,
66
+ renderFileUploadIcon,
67
+ renderVoiceMessageIcon,
68
+ renderSendMessageIcon
69
+ } = props;
70
+ const propsDisabled = props.disabled;
71
+ const {
72
+ config
73
+ } = useSendbirdStateContext();
74
+ const {
75
+ stringSet
76
+ } = LocalizationContext.useLocalization();
77
+ const {
78
+ isMentionEnabled,
79
+ isOnline,
80
+ userMention,
81
+ isVoiceMessageEnabled,
82
+ logger
83
+ } = config;
84
+ const {
85
+ currentChannel,
86
+ parentMessage,
87
+ sendMessage,
88
+ sendFileMessage,
89
+ sendVoiceMessage,
90
+ isMuted,
91
+ isChannelFrozen,
92
+ allThreadMessages
93
+ } = Thread_context.useThreadContext();
94
+ const messageInputRef = React.useRef();
95
+ const disabled = propsDisabled || isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && isChannelFrozen || parentMessage === null;
96
+
97
+ // mention
98
+ const [mentionNickname, setMentionNickname] = React.useState('');
99
+ const [mentionedUsers, setMentionedUsers] = React.useState([]);
100
+ const [mentionedUserIds, setMentionedUserIds] = React.useState([]);
101
+ const [selectedUser, setSelectedUser] = React.useState(null);
102
+ const [mentionSuggestedUsers, setMentionSuggestedUsers] = React.useState([]);
103
+ const [messageInputEvent, setMessageInputEvent] = React.useState(null);
104
+ const [showVoiceMessageInput, setShowVoiceMessageInput] = React.useState(false);
105
+ const displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0 && !Channel_context.isDisabledBecauseFrozen(currentChannel) && !Channel_context.isDisabledBecauseMuted(currentChannel) && !(currentChannel !== null && currentChannel !== void 0 && currentChannel.isBroadcast);
106
+
107
+ // Reset when changing channel
108
+ React.useEffect(() => {
109
+ setShowVoiceMessageInput(false);
110
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
111
+ const mentionNodes = useDirtyGetMentions.useDirtyGetMentions({
112
+ ref: ref || messageInputRef
113
+ }, {
114
+ logger
115
+ });
116
+ const ableMention = (mentionNodes === null || mentionNodes === void 0 ? void 0 : mentionNodes.length) < (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount);
117
+ React.useEffect(() => {
118
+ setMentionedUsers(mentionedUsers.filter(_ref => {
119
+ let {
120
+ userId
121
+ } = _ref;
122
+ const i = mentionedUserIds.indexOf(userId);
109
123
  if (i < 0) {
110
124
  return false;
111
125
  } else {
@@ -114,85 +128,104 @@ var ThreadMessageInput = function (props, ref) {
114
128
  }
115
129
  }));
116
130
  }, [mentionedUserIds]);
131
+ if (currentChannel !== null && currentChannel !== void 0 && currentChannel.isBroadcast && (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) !== types.Role.OPERATOR) {
132
+ return null;
133
+ }
117
134
  return /*#__PURE__*/React__default["default"].createElement("div", {
118
- className: "sendbird-thread-message-input ".concat(className)
135
+ className: `sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`
119
136
  }, displaySuggestedMentionList && /*#__PURE__*/React__default["default"].createElement(Channel_components_SuggestedMentionList, {
120
137
  targetNickname: mentionNickname,
121
- inputEvent: messageInputEvent // renderUserMentionItem={renderUserMentionItem}
138
+ inputEvent: messageInputEvent
139
+ // renderUserMentionItem={renderUserMentionItem}
122
140
  ,
123
- onUserItemClick: function (user) {
141
+ onUserItemClick: user => {
124
142
  if (user) {
125
- setMentionedUsers(tslib_es6.__spreadArray(tslib_es6.__spreadArray([], mentionedUsers, true), [user], false));
143
+ setMentionedUsers([...mentionedUsers, user]);
126
144
  }
127
-
128
145
  setMentionNickname('');
129
146
  setSelectedUser(user);
130
147
  setMessageInputEvent(null);
131
148
  },
132
- onFocusItemChange: function () {
149
+ onFocusItemChange: () => {
133
150
  setMessageInputEvent(null);
134
151
  },
135
- onFetchUsers: function (users) {
152
+ onFetchUsers: users => {
136
153
  setMentionSuggestedUsers(users);
137
154
  },
138
155
  ableAddMention: ableMention,
139
156
  maxMentionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount,
140
157
  maxSuggestionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount
141
- }), /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
158
+ }), showVoiceMessageInput ? /*#__PURE__*/React__default["default"].createElement(VoiceMessageInputWrapper.VoiceMessageInputWrapper, {
159
+ channel: currentChannel,
160
+ onSubmitClick: (recordedFile, duration) => {
161
+ sendVoiceMessage(recordedFile, duration, parentMessage);
162
+ setShowVoiceMessageInput(false);
163
+ },
164
+ onCancelClick: () => {
165
+ setShowVoiceMessageInput(false);
166
+ }
167
+ }) : /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
142
168
  className: "sendbird-thread-message-input__message-input",
143
169
  messageFieldId: "sendbird-message-input-text-field--thread",
144
170
  disabled: disabled,
171
+ channel: currentChannel,
172
+ setMentionedUsers: setMentionedUsers,
145
173
  channelUrl: currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url,
146
174
  mentionSelectedUser: selectedUser,
147
175
  isMentionEnabled: isMentionEnabled,
176
+ isVoiceMessageEnabled: isVoiceMessageEnabled,
177
+ onVoiceMessageIconClick: () => {
178
+ setShowVoiceMessageInput(true);
179
+ },
180
+ renderFileUploadIcon: renderFileUploadIcon,
181
+ renderVoiceMessageIcon: renderVoiceMessageIcon,
182
+ renderSendMessageIcon: renderSendMessageIcon,
148
183
  ref: ref || messageInputRef,
149
- placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === SendbirdChat.Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myMutedState) === groupChannel.MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT || (allThreadMessages.length > 0 ? stringSet.THREAD__INPUT__REPLY_TO_THREAD : stringSet.THREAD__INPUT__REPLY_IN_THREAD),
150
- onStartTyping: function () {
151
- var _a;
152
-
153
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.startTyping) === null || _a === void 0 ? void 0 : _a.call(currentChannel);
184
+ placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myMutedState) === groupChannel.MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT || (allThreadMessages.length > 0 ? stringSet.THREAD__INPUT__REPLY_TO_THREAD : stringSet.THREAD__INPUT__REPLY_IN_THREAD),
185
+ onStartTyping: () => {
186
+ var _currentChannel$start;
187
+ currentChannel === null || currentChannel === void 0 ? void 0 : (_currentChannel$start = currentChannel.startTyping) === null || _currentChannel$start === void 0 ? void 0 : _currentChannel$start.call(currentChannel);
154
188
  },
155
- onSendMessage: function (_a) {
156
- var _b;
157
-
158
- var message = _a.message,
159
- mentionTemplate = _a.mentionTemplate;
189
+ onSendMessage: _ref2 => {
190
+ var _currentChannel$endTy;
191
+ let {
192
+ message,
193
+ mentionTemplate
194
+ } = _ref2;
160
195
  sendMessage({
161
196
  message: message,
162
- mentionedUsers: mentionedUsers,
197
+ mentionedUsers,
163
198
  mentionTemplate: mentionTemplate,
164
199
  quoteMessage: parentMessage
165
200
  });
166
201
  setMentionNickname('');
167
202
  setMentionedUsers([]);
168
- (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.endTyping) === null || _b === void 0 ? void 0 : _b.call(currentChannel);
203
+ currentChannel === null || currentChannel === void 0 ? void 0 : (_currentChannel$endTy = currentChannel.endTyping) === null || _currentChannel$endTy === void 0 ? void 0 : _currentChannel$endTy.call(currentChannel);
169
204
  },
170
- onFileUpload: function (file) {
205
+ onFileUpload: file => {
171
206
  sendFileMessage(file, parentMessage);
172
207
  },
173
- onUserMentioned: function (user) {
208
+ onUserMentioned: user => {
174
209
  if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
175
210
  setSelectedUser(null);
176
211
  setMentionNickname('');
177
212
  }
178
213
  },
179
- onMentionStringChange: function (mentionText) {
214
+ onMentionStringChange: mentionText => {
180
215
  setMentionNickname(mentionText);
181
216
  },
182
- onMentionedUserIdsUpdated: function (userIds) {
217
+ onMentionedUserIdsUpdated: userIds => {
183
218
  setMentionedUserIds(userIds);
184
219
  },
185
- onKeyDown: function (e) {
220
+ onKeyDown: e => {
186
221
  if (displaySuggestedMentionList && (mentionSuggestedUsers === null || mentionSuggestedUsers === void 0 ? void 0 : mentionSuggestedUsers.length) > 0 && (e.key === _const.MessageInputKeys.Enter && ableMention || e.key === _const.MessageInputKeys.ArrowUp || e.key === _const.MessageInputKeys.ArrowDown)) {
187
222
  setMessageInputEvent(e);
188
223
  return true;
189
224
  }
190
-
191
225
  return false;
192
226
  }
193
227
  }));
194
228
  };
195
-
196
229
  var ThreadMessageInput$1 = /*#__PURE__*/React__default["default"].forwardRef(ThreadMessageInput);
197
230
 
198
231
  module.exports = ThreadMessageInput$1;