@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-mobile-web-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (932) hide show
  1. package/App.js +276 -218
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +428 -0
  4. package/Channel/components/ChannelHeader.js +45 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +101 -129
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +55 -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 +238 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +146 -128
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +258 -174
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +33 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +138 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +43 -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 +11 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +67 -43
  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 +100 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +71 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +34 -35
  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 +31 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-f461d265.js → ChannelListProvider-42fb305a.js} +233 -285
  45. package/ChannelListProvider-42fb305a.js.map +1 -0
  46. package/{ChannelProvider-554e7116.js → ChannelProvider-42ea1a96.js} +610 -716
  47. package/ChannelProvider-42ea1a96.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 +516 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-37af96d2.js +44 -0
  76. package/CreateChannelProvider-37af96d2.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-1839d2db.js +20 -0
  90. package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-1839d2db.js.map} +1 -1
  91. package/MediaQueryContext-0e0b3a1b.js +87 -0
  92. package/MediaQueryContext-0e0b3a1b.js.map +1 -0
  93. package/MemberList-28589b39.js +395 -0
  94. package/MemberList-28589b39.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 +36 -31
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +168 -190
  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 +34 -28
  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-71a32f2d.js +429 -0
  128. package/OpenChannelListProvider-71a32f2d.js.map +1 -0
  129. package/OpenChannelProvider-377a0b6e.js +1885 -0
  130. package/OpenChannelProvider-377a0b6e.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 +508 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-558db27f.js +36 -0
  147. package/RemoveMessageModal-558db27f.js.map +1 -0
  148. package/SendbirdProvider.js +830 -409
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +230 -216
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +110 -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 +107 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +292 -272
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +144 -111
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +168 -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 +86 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-0b73628e.js +1695 -0
  170. package/ThreadProvider-0b73628e.js.map +1 -0
  171. package/{UserProfileContext-c58a7b86.js → UserProfileContext-7e645551.js} +1 -4
  172. package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-7e645551.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-0b5a78a1.js +169 -0
  174. package/VoiceMessageInputWrapper-0b5a78a1.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 +72 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +118 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +109 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-fbdb41cd.js +123 -0
  184. package/WebAudioUtils-fbdb41cd.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-ce69e916.js} +17 -11
  186. package/_rollupPluginBabelHelpers-ce69e916.js.map +1 -0
  187. package/actionTypes-a5283c75.js +8 -0
  188. package/actionTypes-a5283c75.js.map +1 -0
  189. package/cjs/App.js +276 -218
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +45 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +99 -127
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +55 -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 +241 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +145 -127
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +258 -174
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +33 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +138 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +43 -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 +67 -43
  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 +99 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +71 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +34 -35
  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 +31 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-b3ffe21a.js} +232 -284
  232. package/cjs/ChannelListProvider-b3ffe21a.js.map +1 -0
  233. package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-b6890429.js} +608 -714
  234. package/cjs/ChannelProvider-b6890429.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 +516 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-e1376032.js +52 -0
  263. package/cjs/CreateChannelProvider-e1376032.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-2b3f310d.js → LocalizationContext-461a0816.js} +9 -11
  277. package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-461a0816.js.map} +1 -1
  278. package/cjs/MediaQueryContext-de7c63bc.js +94 -0
  279. package/cjs/MediaQueryContext-de7c63bc.js.map +1 -0
  280. package/cjs/MemberList-593809cb.js +401 -0
  281. package/cjs/MemberList-593809cb.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 +36 -31
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +168 -190
  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 +34 -28
  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-39c11f87.js +439 -0
  315. package/cjs/OpenChannelListProvider-39c11f87.js.map +1 -0
  316. package/cjs/OpenChannelProvider-e794e881.js +1894 -0
  317. package/cjs/OpenChannelProvider-e794e881.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 +508 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-c01eb93b.js → RemoveMessageModal-29fa1a05.js} +19 -14
  333. package/cjs/RemoveMessageModal-29fa1a05.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +830 -410
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +229 -215
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +109 -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 +107 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +291 -271
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +144 -111
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +169 -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 +86 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-e2098298.js +1704 -0
  356. package/cjs/ThreadProvider-e2098298.js.map +1 -0
  357. package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-1bcc48a2.js} +1 -4
  358. package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-1bcc48a2.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-f18d6a5e.js +175 -0
  360. package/cjs/VoiceMessageInputWrapper-f18d6a5e.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +16 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +76 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +128 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +114 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-aedad0b1.js +126 -0
  370. package/cjs/WebAudioUtils-aedad0b1.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-919a4db3.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-919a4db3.js.map +1 -0
  373. package/cjs/actionTypes-1e75e6e9.js +10 -0
  374. package/cjs/actionTypes-1e75e6e9.js.map +1 -0
  375. package/cjs/{color-89f33656.js → color-48ff06b2.js} +13 -21
  376. package/cjs/color-48ff06b2.js.map +1 -0
  377. package/cjs/{compareIds-ca869c2e.js → compareIds-8ed822c1.js} +5 -6
  378. package/cjs/compareIds-8ed822c1.js.map +1 -0
  379. package/cjs/{const-db71e993.js → const-49de651c.js} +4 -4
  380. package/cjs/const-49de651c.js.map +1 -0
  381. package/cjs/const-852d5677.js +20 -0
  382. package/cjs/const-852d5677.js.map +1 -0
  383. package/cjs/consts-2580246d.js +6 -0
  384. package/cjs/consts-2580246d.js.map +1 -0
  385. package/cjs/consts-5851f376.js +6 -0
  386. package/cjs/consts-5851f376.js.map +1 -0
  387. package/cjs/consts-6f02fcc4.js +41 -0
  388. package/cjs/consts-6f02fcc4.js.map +1 -0
  389. package/cjs/consts-e9ee4cf4.js +6 -0
  390. package/cjs/consts-e9ee4cf4.js.map +1 -0
  391. package/cjs/{context-2f5d47fd.js → context-4d89551f.js} +6 -5
  392. package/cjs/{context-2f5d47fd.js.map → context-4d89551f.js.map} +1 -1
  393. package/cjs/dist/index.css +901 -481
  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-0126dbb4.js +161 -0
  398. package/cjs/index-0126dbb4.js.map +1 -0
  399. package/cjs/index-1a223893.js +362 -0
  400. package/cjs/index-1a223893.js.map +1 -0
  401. package/cjs/index-223e9372.js +79 -0
  402. package/cjs/index-223e9372.js.map +1 -0
  403. package/cjs/{index-621e74bd.js → index-420b8e6d.js} +29 -37
  404. package/cjs/index-420b8e6d.js.map +1 -0
  405. package/cjs/{index-d6ef2a60.js → index-44186883.js} +11 -25
  406. package/cjs/index-44186883.js.map +1 -0
  407. package/cjs/{index-de151767.js → index-5e6194f8.js} +1 -1
  408. package/cjs/{index-de151767.js.map → index-5e6194f8.js.map} +1 -1
  409. package/cjs/{index-73467e1d.js → index-60bf4d5c.js} +2 -2
  410. package/cjs/{index-73467e1d.js.map → index-60bf4d5c.js.map} +1 -1
  411. package/cjs/{index-0988ab25.js → index-60ea6503.js} +57 -3
  412. package/cjs/index-60ea6503.js.map +1 -0
  413. package/cjs/index-6a46ed00.js +292 -0
  414. package/cjs/index-6a46ed00.js.map +1 -0
  415. package/cjs/{index-c4d4ef49.js → index-7a68d56f.js} +1 -1
  416. package/cjs/index-7a68d56f.js.map +1 -0
  417. package/cjs/index-81aad270.js +197 -0
  418. package/cjs/index-81aad270.js.map +1 -0
  419. package/cjs/{index-2c5dd48c.js → index-849c0736.js} +2 -2
  420. package/cjs/{index-2c5dd48c.js.map → index-849c0736.js.map} +1 -1
  421. package/cjs/{index-be9c6237.js → index-a51f1b7d.js} +55 -63
  422. package/cjs/index-a51f1b7d.js.map +1 -0
  423. package/cjs/{index-e240e852.js → index-a7025294.js} +42 -51
  424. package/cjs/index-a7025294.js.map +1 -0
  425. package/cjs/index-bca3d144.js +587 -0
  426. package/cjs/index-bca3d144.js.map +1 -0
  427. package/cjs/index-f4682499.js +57 -0
  428. package/cjs/index-f4682499.js.map +1 -0
  429. package/cjs/index-f5399132.js +419 -0
  430. package/cjs/index-f5399132.js.map +1 -0
  431. package/cjs/index.js +77 -58
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-10ef9afc.js +6 -0
  434. package/cjs/index.module-10ef9afc.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/sendbirdSelectors.js +307 -417
  438. package/cjs/sendbirdSelectors.js.map +1 -1
  439. package/cjs/{stringSet-91b919f6.js → stringSet-d1cee26a.js} +110 -90
  440. package/cjs/stringSet-d1cee26a.js.map +1 -0
  441. package/cjs/tokenize-d3bb1637.js +164 -0
  442. package/cjs/tokenize-d3bb1637.js.map +1 -0
  443. package/cjs/topics-00c67dd6.js +18 -0
  444. package/cjs/topics-00c67dd6.js.map +1 -0
  445. package/cjs/types-2e9e46b2.js +17 -0
  446. package/cjs/types-2e9e46b2.js.map +1 -0
  447. package/cjs/ui/Accordion.js +21 -24
  448. package/cjs/ui/Accordion.js.map +1 -1
  449. package/cjs/ui/AccordionGroup.js +10 -13
  450. package/cjs/ui/AccordionGroup.js.map +1 -1
  451. package/cjs/ui/AdminMessage.js +10 -13
  452. package/cjs/ui/AdminMessage.js.map +1 -1
  453. package/cjs/ui/Avatar.js +57 -79
  454. package/cjs/ui/Avatar.js.map +1 -1
  455. package/cjs/ui/Badge.js +16 -15
  456. package/cjs/ui/Badge.js.map +1 -1
  457. package/cjs/ui/BottomSheet.js +14 -12
  458. package/cjs/ui/BottomSheet.js.map +1 -1
  459. package/cjs/ui/Button.js +20 -35
  460. package/cjs/ui/Button.js.map +1 -1
  461. package/cjs/ui/ChannelAvatar.js +38 -41
  462. package/cjs/ui/ChannelAvatar.js.map +1 -1
  463. package/cjs/ui/Checkbox.js +11 -13
  464. package/cjs/ui/Checkbox.js.map +1 -1
  465. package/cjs/ui/ConnectionStatus.js +7 -5
  466. package/cjs/ui/ConnectionStatus.js.map +1 -1
  467. package/cjs/ui/ContextMenu.js +172 -198
  468. package/cjs/ui/ContextMenu.js.map +1 -1
  469. package/cjs/ui/DateSeparator.js +12 -14
  470. package/cjs/ui/DateSeparator.js.map +1 -1
  471. package/cjs/ui/EmojiReactions.js +297 -107
  472. package/cjs/ui/EmojiReactions.js.map +1 -1
  473. package/cjs/ui/FileMessageItemBody.js +22 -23
  474. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  475. package/cjs/ui/FileViewer.js +36 -36
  476. package/cjs/ui/FileViewer.js.map +1 -1
  477. package/cjs/ui/Icon.js +447 -623
  478. package/cjs/ui/Icon.js.map +1 -1
  479. package/cjs/ui/IconButton.js +20 -31
  480. package/cjs/ui/IconButton.js.map +1 -1
  481. package/cjs/ui/ImageRenderer.js +34 -43
  482. package/cjs/ui/ImageRenderer.js.map +1 -1
  483. package/cjs/ui/Input.js +16 -16
  484. package/cjs/ui/Input.js.map +1 -1
  485. package/cjs/ui/Label.js +2 -2
  486. package/cjs/ui/LinkLabel.js +4 -3
  487. package/cjs/ui/LinkLabel.js.map +1 -1
  488. package/cjs/ui/Loader.js +10 -12
  489. package/cjs/ui/Loader.js.map +1 -1
  490. package/cjs/ui/MentionLabel.js +58 -65
  491. package/cjs/ui/MentionLabel.js.map +1 -1
  492. package/cjs/ui/MentionUserLabel.js +12 -10
  493. package/cjs/ui/MentionUserLabel.js.map +1 -1
  494. package/cjs/ui/MessageContent.js +203 -545
  495. package/cjs/ui/MessageContent.js.map +1 -1
  496. package/cjs/ui/MessageInput.js +338 -118
  497. package/cjs/ui/MessageInput.js.map +1 -1
  498. package/cjs/ui/MessageItemMenu.js +70 -77
  499. package/cjs/ui/MessageItemMenu.js.map +1 -1
  500. package/cjs/ui/MessageItemReactionMenu.js +56 -61
  501. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  502. package/cjs/ui/MessageSearchFileItem.js +56 -51
  503. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  504. package/cjs/ui/MessageSearchItem.js +42 -41
  505. package/cjs/ui/MessageSearchItem.js.map +1 -1
  506. package/cjs/ui/MessageStatus.js +10 -11
  507. package/cjs/ui/MessageStatus.js.map +1 -1
  508. package/cjs/ui/Modal.js +52 -46
  509. package/cjs/ui/Modal.js.map +1 -1
  510. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  511. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  512. package/cjs/ui/OGMessageItemBody.js +67 -63
  513. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  514. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  515. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  516. package/cjs/ui/OpenChannelAvatar.js +18 -17
  517. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  518. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  519. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  520. package/cjs/ui/OpenchannelFileMessage.js +136 -149
  521. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  522. package/cjs/ui/OpenchannelOGMessage.js +200 -233
  523. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelThumbnailMessage.js +211 -220
  525. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelUserMessage.js +160 -173
  527. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  528. package/cjs/ui/PlaceHolder.js +5 -6
  529. package/cjs/ui/PlaceHolder.js.map +1 -1
  530. package/cjs/ui/PlaybackTime.js +35 -0
  531. package/cjs/ui/PlaybackTime.js.map +1 -0
  532. package/cjs/ui/ProgressBar.js +40 -0
  533. package/cjs/ui/ProgressBar.js.map +1 -0
  534. package/cjs/ui/QuoteMessage.js +50 -44
  535. package/cjs/ui/QuoteMessage.js.map +1 -1
  536. package/cjs/ui/QuoteMessageInput.js +31 -29
  537. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  538. package/cjs/ui/ReactionBadge.js +13 -21
  539. package/cjs/ui/ReactionBadge.js.map +1 -1
  540. package/cjs/ui/ReactionButton.js +27 -26
  541. package/cjs/ui/ReactionButton.js.map +1 -1
  542. package/cjs/ui/SortByRow.js +14 -18
  543. package/cjs/ui/SortByRow.js.map +1 -1
  544. package/cjs/ui/TextButton.js +13 -21
  545. package/cjs/ui/TextButton.js.map +1 -1
  546. package/cjs/ui/TextMessageItemBody.js +41 -48
  547. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  548. package/cjs/ui/ThreadReplies.js +25 -22
  549. package/cjs/ui/ThreadReplies.js.map +1 -1
  550. package/cjs/ui/ThumbnailMessageItemBody.js +43 -45
  551. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  552. package/cjs/ui/Toggle.js +202 -0
  553. package/cjs/ui/Toggle.js.map +1 -0
  554. package/cjs/ui/Tooltip.js +8 -9
  555. package/cjs/ui/Tooltip.js.map +1 -1
  556. package/cjs/ui/TooltipWrapper.js +17 -20
  557. package/cjs/ui/TooltipWrapper.js.map +1 -1
  558. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  559. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  560. package/cjs/ui/UserListItem.js +76 -76
  561. package/cjs/ui/UserListItem.js.map +1 -1
  562. package/cjs/ui/UserProfile.js +31 -29
  563. package/cjs/ui/UserProfile.js.map +1 -1
  564. package/cjs/ui/VoiceMessageItemBody.js +108 -0
  565. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  566. package/cjs/ui/VoiceMessgeInput.js +22 -0
  567. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  568. package/cjs/ui/Word.js +31 -39
  569. package/cjs/ui/Word.js.map +1 -1
  570. package/cjs/useDirtyGetMentions-7b6c8a19.js +77 -0
  571. package/cjs/useDirtyGetMentions-7b6c8a19.js.map +1 -0
  572. package/cjs/useLongPress-4c2e9a3b.js +87 -0
  573. package/cjs/useLongPress-4c2e9a3b.js.map +1 -0
  574. package/cjs/useSendbirdStateContext.js +2 -3
  575. package/cjs/useSendbirdStateContext.js.map +1 -1
  576. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  577. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  578. package/cjs/utils/message/isVoiceMessage.js +12 -0
  579. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  580. package/cjs/{utils-3714e90e.js → utils-22d05a53.js} +3 -7
  581. package/cjs/{utils-3714e90e.js.map → utils-22d05a53.js.map} +1 -1
  582. package/cjs/{utils-1f6c6626.js → utils-3dacb9bc.js} +1 -1
  583. package/cjs/{utils-1f6c6626.js.map → utils-3dacb9bc.js.map} +1 -1
  584. package/cjs/utils-c5d4c36e.js +35 -0
  585. package/cjs/utils-c5d4c36e.js.map +1 -0
  586. package/cjs/utils-f1c09ec3.js +31 -0
  587. package/cjs/utils-f1c09ec3.js.map +1 -0
  588. package/cjs/uuid-d86ea01f.js +15 -0
  589. package/cjs/{uuid-11d4efe8.js.map → uuid-d86ea01f.js.map} +1 -1
  590. package/cjs/withSendbird.js +5 -6
  591. package/cjs/withSendbird.js.map +1 -1
  592. package/{color-ff5f9069.js → color-4ca8a2ea.js} +5 -14
  593. package/{color-ff5f9069.js.map → color-4ca8a2ea.js.map} +1 -1
  594. package/{compareIds-9430f9d8.js → compareIds-08858dd3.js} +5 -6
  595. package/compareIds-08858dd3.js.map +1 -0
  596. package/{const-83764204.js → const-714046e0.js} +4 -4
  597. package/const-714046e0.js.map +1 -0
  598. package/const-a77c08c9.js +13 -0
  599. package/const-a77c08c9.js.map +1 -0
  600. package/consts-9393e7c8.js +27 -0
  601. package/consts-9393e7c8.js.map +1 -0
  602. package/consts-aecb8fab.js +4 -0
  603. package/consts-aecb8fab.js.map +1 -0
  604. package/consts-d46e0fc1.js +4 -0
  605. package/consts-d46e0fc1.js.map +1 -0
  606. package/consts-decd9c7d.js +4 -0
  607. package/consts-decd9c7d.js.map +1 -0
  608. package/context-9a6b8b8a.js +13 -0
  609. package/{context-9a69e846.js.map → context-9a6b8b8a.js.map} +1 -1
  610. package/dist/index.css +901 -481
  611. package/dist/index.css.map +1 -1
  612. package/handlers/OpenChannelHandler.js.map +1 -1
  613. package/handlers/SessionHandler.js.map +1 -1
  614. package/{index-3f26a31c.js → index-06f34585.js} +2 -2
  615. package/{index-3f26a31c.js.map → index-06f34585.js.map} +1 -1
  616. package/{index-134314e2.js → index-20880943.js} +29 -37
  617. package/index-20880943.js.map +1 -0
  618. package/index-3130ac38.js +51 -0
  619. package/index-3130ac38.js.map +1 -0
  620. package/{index-e5b78039.js → index-3165e396.js} +1 -1
  621. package/index-3165e396.js.map +1 -0
  622. package/index-400417a1.js +154 -0
  623. package/index-400417a1.js.map +1 -0
  624. package/index-5644a6c0.js +283 -0
  625. package/index-5644a6c0.js.map +1 -0
  626. package/{index-defabece.js → index-5db37327.js} +57 -4
  627. package/index-5db37327.js.map +1 -0
  628. package/{index-fc4702b7.js → index-7c9ebc67.js} +55 -63
  629. package/index-7c9ebc67.js.map +1 -0
  630. package/{index-d3f6dbb9.js → index-9781d2b9.js} +2 -2
  631. package/{index-d3f6dbb9.js.map → index-9781d2b9.js.map} +1 -1
  632. package/index-b96440b7.js +76 -0
  633. package/index-b96440b7.js.map +1 -0
  634. package/index-bf72ef7c.js +355 -0
  635. package/index-bf72ef7c.js.map +1 -0
  636. package/{index-1b91b116.js → index-c6df8184.js} +39 -48
  637. package/index-c6df8184.js.map +1 -0
  638. package/{index-07e060cd.js → index-d9c12cf4.js} +1 -1
  639. package/{index-07e060cd.js.map → index-d9c12cf4.js.map} +1 -1
  640. package/{index-44470dab.js → index-e1cd2fcf.js} +11 -25
  641. package/index-e1cd2fcf.js.map +1 -0
  642. package/index-edfb3327.js +413 -0
  643. package/index-edfb3327.js.map +1 -0
  644. package/index-fd51c7d1.js +541 -0
  645. package/index-fd51c7d1.js.map +1 -0
  646. package/index-fd95258e.js +182 -0
  647. package/index-fd95258e.js.map +1 -0
  648. package/index.d.ts +169 -122
  649. package/index.js +77 -58
  650. package/index.js.map +1 -1
  651. package/index.module-8c144786.js +4 -0
  652. package/index.module-8c144786.js.map +1 -0
  653. package/lame.all.js +2537 -0
  654. package/lame.all.js.map +1 -0
  655. package/package.json +61 -41
  656. package/sendbirdSelectors.js +307 -417
  657. package/sendbirdSelectors.js.map +1 -1
  658. package/{stringSet-d555d877.js → stringSet-d368e289.js} +110 -90
  659. package/stringSet-d368e289.js.map +1 -0
  660. package/tokenize-7056afb7.js +159 -0
  661. package/tokenize-7056afb7.js.map +1 -0
  662. package/topics-f9628f1f.js +16 -0
  663. package/topics-f9628f1f.js.map +1 -0
  664. package/types-2b508dbc.js +15 -0
  665. package/types-2b508dbc.js.map +1 -0
  666. package/ui/Accordion.js +21 -24
  667. package/ui/Accordion.js.map +1 -1
  668. package/ui/AccordionGroup.js +10 -13
  669. package/ui/AccordionGroup.js.map +1 -1
  670. package/ui/AdminMessage.js +10 -13
  671. package/ui/AdminMessage.js.map +1 -1
  672. package/ui/Avatar.js +57 -79
  673. package/ui/Avatar.js.map +1 -1
  674. package/ui/Badge.js +16 -15
  675. package/ui/Badge.js.map +1 -1
  676. package/ui/BottomSheet.js +14 -12
  677. package/ui/BottomSheet.js.map +1 -1
  678. package/ui/Button.js +20 -35
  679. package/ui/Button.js.map +1 -1
  680. package/ui/ChannelAvatar.js +38 -41
  681. package/ui/ChannelAvatar.js.map +1 -1
  682. package/ui/Checkbox.js +11 -13
  683. package/ui/Checkbox.js.map +1 -1
  684. package/ui/ConnectionStatus.js +7 -5
  685. package/ui/ConnectionStatus.js.map +1 -1
  686. package/ui/ContextMenu.js +173 -199
  687. package/ui/ContextMenu.js.map +1 -1
  688. package/ui/DateSeparator.js +12 -14
  689. package/ui/DateSeparator.js.map +1 -1
  690. package/ui/EmojiReactions.js +298 -108
  691. package/ui/EmojiReactions.js.map +1 -1
  692. package/ui/FileMessageItemBody.js +22 -23
  693. package/ui/FileMessageItemBody.js.map +1 -1
  694. package/ui/FileViewer.js +36 -36
  695. package/ui/FileViewer.js.map +1 -1
  696. package/ui/Icon.js +448 -622
  697. package/ui/Icon.js.map +1 -1
  698. package/ui/IconButton.js +20 -31
  699. package/ui/IconButton.js.map +1 -1
  700. package/ui/ImageRenderer.js +34 -43
  701. package/ui/ImageRenderer.js.map +1 -1
  702. package/ui/Input.js +16 -16
  703. package/ui/Input.js.map +1 -1
  704. package/ui/Label.js +2 -2
  705. package/ui/LinkLabel.js +4 -3
  706. package/ui/LinkLabel.js.map +1 -1
  707. package/ui/Loader.js +10 -12
  708. package/ui/Loader.js.map +1 -1
  709. package/ui/MentionLabel.js +58 -65
  710. package/ui/MentionLabel.js.map +1 -1
  711. package/ui/MentionUserLabel.js +12 -10
  712. package/ui/MentionUserLabel.js.map +1 -1
  713. package/ui/MessageContent.js +206 -548
  714. package/ui/MessageContent.js.map +1 -1
  715. package/ui/MessageInput.js +338 -119
  716. package/ui/MessageInput.js.map +1 -1
  717. package/ui/MessageItemMenu.js +70 -77
  718. package/ui/MessageItemMenu.js.map +1 -1
  719. package/ui/MessageItemReactionMenu.js +56 -61
  720. package/ui/MessageItemReactionMenu.js.map +1 -1
  721. package/ui/MessageSearchFileItem.js +55 -50
  722. package/ui/MessageSearchFileItem.js.map +1 -1
  723. package/ui/MessageSearchItem.js +41 -40
  724. package/ui/MessageSearchItem.js.map +1 -1
  725. package/ui/MessageStatus.js +10 -11
  726. package/ui/MessageStatus.js.map +1 -1
  727. package/ui/Modal.js +52 -46
  728. package/ui/Modal.js.map +1 -1
  729. package/ui/MutedAvatarOverlay.js +10 -10
  730. package/ui/MutedAvatarOverlay.js.map +1 -1
  731. package/ui/OGMessageItemBody.js +68 -64
  732. package/ui/OGMessageItemBody.js.map +1 -1
  733. package/ui/OpenChannelAdminMessage.js +8 -7
  734. package/ui/OpenChannelAdminMessage.js.map +1 -1
  735. package/ui/OpenChannelAvatar.js +18 -17
  736. package/ui/OpenChannelAvatar.js.map +1 -1
  737. package/ui/OpenchannelConversationHeader.js +17 -13
  738. package/ui/OpenchannelConversationHeader.js.map +1 -1
  739. package/ui/OpenchannelFileMessage.js +136 -149
  740. package/ui/OpenchannelFileMessage.js.map +1 -1
  741. package/ui/OpenchannelOGMessage.js +200 -233
  742. package/ui/OpenchannelOGMessage.js.map +1 -1
  743. package/ui/OpenchannelThumbnailMessage.js +211 -220
  744. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  745. package/ui/OpenchannelUserMessage.js +160 -173
  746. package/ui/OpenchannelUserMessage.js.map +1 -1
  747. package/ui/PlaceHolder.js +5 -6
  748. package/ui/PlaceHolder.js.map +1 -1
  749. package/ui/PlaybackTime.js +26 -0
  750. package/ui/PlaybackTime.js.map +1 -0
  751. package/ui/ProgressBar.js +30 -0
  752. package/ui/ProgressBar.js.map +1 -0
  753. package/ui/QuoteMessage.js +50 -44
  754. package/ui/QuoteMessage.js.map +1 -1
  755. package/ui/QuoteMessageInput.js +31 -29
  756. package/ui/QuoteMessageInput.js.map +1 -1
  757. package/ui/ReactionBadge.js +13 -21
  758. package/ui/ReactionBadge.js.map +1 -1
  759. package/ui/ReactionButton.js +27 -26
  760. package/ui/ReactionButton.js.map +1 -1
  761. package/ui/SortByRow.js +14 -18
  762. package/ui/SortByRow.js.map +1 -1
  763. package/ui/TextButton.js +13 -21
  764. package/ui/TextButton.js.map +1 -1
  765. package/ui/TextMessageItemBody.js +41 -48
  766. package/ui/TextMessageItemBody.js.map +1 -1
  767. package/ui/ThreadReplies.js +25 -22
  768. package/ui/ThreadReplies.js.map +1 -1
  769. package/ui/ThumbnailMessageItemBody.js +43 -45
  770. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  771. package/ui/Toggle.js +191 -0
  772. package/ui/Toggle.js.map +1 -0
  773. package/ui/Tooltip.js +8 -9
  774. package/ui/Tooltip.js.map +1 -1
  775. package/ui/TooltipWrapper.js +17 -20
  776. package/ui/TooltipWrapper.js.map +1 -1
  777. package/ui/UnknownMessageItemBody.js +21 -22
  778. package/ui/UnknownMessageItemBody.js.map +1 -1
  779. package/ui/UserListItem.js +76 -76
  780. package/ui/UserListItem.js.map +1 -1
  781. package/ui/UserProfile.js +31 -29
  782. package/ui/UserProfile.js.map +1 -1
  783. package/ui/VoiceMessageItemBody.js +99 -0
  784. package/ui/VoiceMessageItemBody.js.map +1 -0
  785. package/ui/VoiceMessgeInput.js +14 -0
  786. package/ui/VoiceMessgeInput.js.map +1 -0
  787. package/ui/Word.js +31 -39
  788. package/ui/Word.js.map +1 -1
  789. package/useDirtyGetMentions-e0c0f521.js +75 -0
  790. package/useDirtyGetMentions-e0c0f521.js.map +1 -0
  791. package/useLongPress-685c7391.js +85 -0
  792. package/useLongPress-685c7391.js.map +1 -0
  793. package/useSendbirdStateContext.js +2 -3
  794. package/useSendbirdStateContext.js.map +1 -1
  795. package/utils/message/getOutgoingMessageState.js +9 -15
  796. package/utils/message/getOutgoingMessageState.js.map +1 -1
  797. package/utils/message/isVoiceMessage.js +8 -0
  798. package/utils/message/isVoiceMessage.js.map +1 -0
  799. package/{utils-e720e03a.js → utils-256f157f.js} +1 -1
  800. package/{utils-e720e03a.js.map → utils-256f157f.js.map} +1 -1
  801. package/utils-4979f950.js +31 -0
  802. package/utils-4979f950.js.map +1 -0
  803. package/{utils-8b11ff42.js → utils-f82ad058.js} +3 -7
  804. package/{utils-8b11ff42.js.map → utils-f82ad058.js.map} +1 -1
  805. package/utils-fbc09760.js +29 -0
  806. package/utils-fbc09760.js.map +1 -0
  807. package/uuid-720c99c0.js +13 -0
  808. package/{uuid-286ed926.js.map → uuid-720c99c0.js.map} +1 -1
  809. package/withSendbird.js +5 -6
  810. package/withSendbird.js.map +1 -1
  811. package/ChannelListProvider-f461d265.js.map +0 -1
  812. package/ChannelProvider-554e7116.js.map +0 -1
  813. package/CreateChannelProvider-250cd98e.js +0 -55
  814. package/CreateChannelProvider-250cd98e.js.map +0 -1
  815. package/LocalizationContext-4df0cc32.js +0 -22
  816. package/MediaQueryContext-74183e34.js +0 -90
  817. package/MediaQueryContext-74183e34.js.map +0 -1
  818. package/MemberList-51c7afaa.js +0 -435
  819. package/MemberList-51c7afaa.js.map +0 -1
  820. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  821. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  822. package/NotificationChannel/components/NotificationList.js +0 -111
  823. package/NotificationChannel/components/NotificationList.js.map +0 -1
  824. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  825. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  826. package/NotificationChannel/context.js +0 -12
  827. package/NotificationChannel.js +0 -58
  828. package/NotificationChannel.js.map +0 -1
  829. package/NotificationChannelProvider-0d8be1ad.js +0 -535
  830. package/NotificationChannelProvider-0d8be1ad.js.map +0 -1
  831. package/OpenChannelListProvider-8c753945.js +0 -434
  832. package/OpenChannelListProvider-8c753945.js.map +0 -1
  833. package/OpenChannelProvider-2fa01820.js +0 -2000
  834. package/OpenChannelProvider-2fa01820.js.map +0 -1
  835. package/RemoveMessageModal-9762fed1.js +0 -31
  836. package/RemoveMessageModal-9762fed1.js.map +0 -1
  837. package/ThreadProvider-6974fb3e.js +0 -1644
  838. package/ThreadProvider-6974fb3e.js.map +0 -1
  839. package/_rollupPluginBabelHelpers-498add61.js.map +0 -1
  840. package/actionTypes-ad2cbd73.js +0 -6
  841. package/actionTypes-ad2cbd73.js.map +0 -1
  842. package/cjs/ChannelListProvider-c2148b43.js.map +0 -1
  843. package/cjs/ChannelProvider-cf5dc7e3.js.map +0 -1
  844. package/cjs/CreateChannelProvider-c98de398.js +0 -62
  845. package/cjs/CreateChannelProvider-c98de398.js.map +0 -1
  846. package/cjs/MediaQueryContext-71862be1.js +0 -97
  847. package/cjs/MediaQueryContext-71862be1.js.map +0 -1
  848. package/cjs/MemberList-13566703.js +0 -441
  849. package/cjs/MemberList-13566703.js.map +0 -1
  850. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  851. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  852. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  853. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  855. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  856. package/cjs/NotificationChannel/context.js +0 -21
  857. package/cjs/NotificationChannel.js +0 -64
  858. package/cjs/NotificationChannel.js.map +0 -1
  859. package/cjs/NotificationChannelProvider-8f3b7320.js +0 -543
  860. package/cjs/NotificationChannelProvider-8f3b7320.js.map +0 -1
  861. package/cjs/OpenChannelListProvider-64043b4f.js +0 -443
  862. package/cjs/OpenChannelListProvider-64043b4f.js.map +0 -1
  863. package/cjs/OpenChannelProvider-5b56e629.js +0 -2009
  864. package/cjs/OpenChannelProvider-5b56e629.js.map +0 -1
  865. package/cjs/RemoveMessageModal-c01eb93b.js.map +0 -1
  866. package/cjs/ThreadProvider-d3c0c877.js +0 -1653
  867. package/cjs/ThreadProvider-d3c0c877.js.map +0 -1
  868. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +0 -1
  869. package/cjs/actionTypes-0e8bea91.js +0 -10
  870. package/cjs/actionTypes-0e8bea91.js.map +0 -1
  871. package/cjs/color-89f33656.js.map +0 -1
  872. package/cjs/compareIds-ca869c2e.js.map +0 -1
  873. package/cjs/const-55d167ca.js +0 -20
  874. package/cjs/const-55d167ca.js.map +0 -1
  875. package/cjs/const-db71e993.js.map +0 -1
  876. package/cjs/index-0988ab25.js.map +0 -1
  877. package/cjs/index-21b2339d.js +0 -701
  878. package/cjs/index-21b2339d.js.map +0 -1
  879. package/cjs/index-5c81f847.js +0 -194
  880. package/cjs/index-5c81f847.js.map +0 -1
  881. package/cjs/index-621e74bd.js.map +0 -1
  882. package/cjs/index-8de59744.js +0 -59
  883. package/cjs/index-8de59744.js.map +0 -1
  884. package/cjs/index-a52859ed.js +0 -360
  885. package/cjs/index-a52859ed.js.map +0 -1
  886. package/cjs/index-be9c6237.js.map +0 -1
  887. package/cjs/index-c4d4ef49.js.map +0 -1
  888. package/cjs/index-d6ef2a60.js.map +0 -1
  889. package/cjs/index-e240e852.js.map +0 -1
  890. package/cjs/stringSet-91b919f6.js.map +0 -1
  891. package/cjs/topics-ac9cf7ed.js +0 -22
  892. package/cjs/topics-ac9cf7ed.js.map +0 -1
  893. package/cjs/tslib.es6-43854eb1.js +0 -110
  894. package/cjs/tslib.es6-43854eb1.js.map +0 -1
  895. package/cjs/useLongPress-c7bf12b1.js +0 -118
  896. package/cjs/useLongPress-c7bf12b1.js.map +0 -1
  897. package/cjs/utils-4b529d96.js +0 -38
  898. package/cjs/utils-4b529d96.js.map +0 -1
  899. package/cjs/utils-65a380e8.js +0 -32
  900. package/cjs/utils-65a380e8.js.map +0 -1
  901. package/cjs/uuid-11d4efe8.js +0 -19
  902. package/compareIds-9430f9d8.js.map +0 -1
  903. package/const-83764204.js.map +0 -1
  904. package/const-9d11f204.js +0 -14
  905. package/const-9d11f204.js.map +0 -1
  906. package/context-9a69e846.js +0 -12
  907. package/index-134314e2.js.map +0 -1
  908. package/index-1572c90f.js +0 -57
  909. package/index-1572c90f.js.map +0 -1
  910. package/index-1b91b116.js.map +0 -1
  911. package/index-44470dab.js.map +0 -1
  912. package/index-5f08f486.js +0 -662
  913. package/index-5f08f486.js.map +0 -1
  914. package/index-d8e3ccee.js +0 -179
  915. package/index-d8e3ccee.js.map +0 -1
  916. package/index-defabece.js.map +0 -1
  917. package/index-e5b78039.js.map +0 -1
  918. package/index-ed65ee3b.js +0 -353
  919. package/index-ed65ee3b.js.map +0 -1
  920. package/index-fc4702b7.js.map +0 -1
  921. package/stringSet-d555d877.js.map +0 -1
  922. package/topics-351ea731.js +0 -13
  923. package/topics-351ea731.js.map +0 -1
  924. package/tslib.es6-bcead7e6.js +0 -104
  925. package/tslib.es6-bcead7e6.js.map +0 -1
  926. package/useLongPress-794838b8.js +0 -116
  927. package/useLongPress-794838b8.js.map +0 -1
  928. package/utils-00ac1a7d.js +0 -34
  929. package/utils-00ac1a7d.js.map +0 -1
  930. package/utils-01e76a0c.js +0 -30
  931. package/utils-01e76a0c.js.map +0 -1
  932. package/uuid-286ed926.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","toggleDropdown","members","find","member","profileUrl","_c","closeDropdown","paddingTop","paddingBottom","user","close","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","getClassName","isTextMessage","isOGMessage","getUIKitMessageType","FILE","isThumbnailMessage","width","height","UNKNOWN","_e","reactions","length","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","__spreadArray","users","maxSuggestionCount","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown"],"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';\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 [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n\n // 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 {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={{\n width: '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n 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';\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 = 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 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 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","supposedHover","setSupposedHover","useState","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","isByMe","sender","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","isReactionEnabledInChannel","isEphemeral","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","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","getUIKitMessageType","FILE","FileMessageItemBody","truncateLimit","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","createdAt","locale","MobileMenu","hideMenu","isOpenedFromThread","ThreadListItem","_stores$userStore","_stores$userStore$use","hasSeparator","renderCustomSeparator","handleScroll","stores","config","useSendbirdStateContext","isOnline","userMention","logger","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","_messageScrollRef$cur","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","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,105 +1,119 @@
1
- import { a as __spreadArray } from '../../tslib.es6-bcead7e6.js';
2
1
  import React__default, { useRef, useState, useEffect } from 'react';
3
- import { Role } from '@sendbird/chat';
4
2
  import { MutedState } from '@sendbird/chat/groupChannel';
5
3
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
6
4
  import MessageInput from '../../ui/MessageInput.js';
7
- import { M as MessageInputKeys } from '../../const-83764204.js';
5
+ import { M as MessageInputKeys } from '../../const-714046e0.js';
8
6
  import SuggestedMentionList from '../../Channel/components/SuggestedMentionList.js';
9
- import { u as useThreadContext } from '../../ThreadProvider-6974fb3e.js';
10
- import { u as useLocalization } from '../../LocalizationContext-4df0cc32.js';
7
+ import { u as useThreadContext } from '../../ThreadProvider-0b73628e.js';
8
+ import { u as useLocalization } from '../../LocalizationContext-1839d2db.js';
9
+ import { V as VoiceMessageInputWrapper } from '../../VoiceMessageInputWrapper-0b5a78a1.js';
10
+ import { R as Role } from '../../types-2b508dbc.js';
11
+ import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-e0c0f521.js';
11
12
  import '../../withSendbird.js';
12
- import '../../_rollupPluginBabelHelpers-498add61.js';
13
- import 'react-dom/server';
13
+ import '../../_rollupPluginBabelHelpers-ce69e916.js';
14
14
  import 'prop-types';
15
- import '../../const-9d11f204.js';
15
+ import '../../const-a77c08c9.js';
16
16
  import '../../ui/IconButton.js';
17
17
  import '../../ui/Button.js';
18
- import '../../index-44470dab.js';
19
- import '../../stringSet-d555d877.js';
20
- import '../../ui/MentionUserLabel.js';
18
+ import '../../index-e1cd2fcf.js';
19
+ import '../../stringSet-d368e289.js';
20
+ import 'dompurify';
21
+ import '../../consts-aecb8fab.js';
21
22
  import '../../ui/Icon.js';
22
- import '../../index-5f08f486.js';
23
+ import '../../index-fd51c7d1.js';
23
24
  import '../../utils/message/getOutgoingMessageState.js';
24
- import '../../index-07e060cd.js';
25
+ import '../../consts-decd9c7d.js';
26
+ import '../../consts-d46e0fc1.js';
27
+ import '../../tokenize-7056afb7.js';
28
+ import '../../index-d9c12cf4.js';
25
29
  import '../../ui/Avatar.js';
26
30
  import '../../ui/ImageRenderer.js';
27
- import '../../uuid-286ed926.js';
28
- import '../../ChannelProvider-554e7116.js';
29
- import '../../UserProfileContext-c58a7b86.js';
30
- import '../../index-3f26a31c.js';
31
- import '../../topics-351ea731.js';
32
- import '../../compareIds-9430f9d8.js';
31
+ import '../../uuid-720c99c0.js';
32
+ import '../../ChannelProvider-42ea1a96.js';
33
+ import '../../UserProfileContext-7e645551.js';
34
+ import '../../index-06f34585.js';
35
+ import '../../topics-f9628f1f.js';
36
+ import '../../compareIds-08858dd3.js';
33
37
  import '@sendbird/chat/message';
34
- import '../../ui/ContextMenu.js';
35
- import 'react-dom';
36
- import '../../ui/SortByRow.js';
37
- import '../../ui/ReactionButton.js';
38
+ import '../../consts-9393e7c8.js';
38
39
  import '../context/types.js';
39
-
40
- var ThreadMessageInput = function (props, ref) {
41
- var className = props.className;
42
- var config = useSendbirdStateContext().config;
43
- var stringSet = useLocalization().stringSet;
44
- var isMentionEnabled = config.isMentionEnabled,
45
- isOnline = config.isOnline,
46
- userMention = config.userMention;
47
-
48
- var _a = useThreadContext(),
49
- currentChannel = _a.currentChannel,
50
- parentMessage = _a.parentMessage,
51
- sendMessage = _a.sendMessage,
52
- sendFileMessage = _a.sendFileMessage,
53
- isMuted = _a.isMuted,
54
- isChannelFrozen = _a.isChannelFrozen,
55
- allThreadMessages = _a.allThreadMessages;
56
-
57
- var messageInputRef = useRef();
58
- var disabled = isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === Role.OPERATOR) && isChannelFrozen || parentMessage === null; // mention
59
-
60
- var _b = useState(''),
61
- mentionNickname = _b[0],
62
- setMentionNickname = _b[1];
63
-
64
- var _c = useState([]),
65
- mentionedUsers = _c[0],
66
- setMentionedUsers = _c[1];
67
-
68
- var _d = useState([]),
69
- mentionedUserIds = _d[0],
70
- setMentionedUserIds = _d[1];
71
-
72
- var _e = useState(null),
73
- selectedUser = _e[0],
74
- setSelectedUser = _e[1];
75
-
76
- var _f = useState([]),
77
- mentionSuggestedUsers = _f[0],
78
- setMentionSuggestedUsers = _f[1];
79
-
80
- var _g = useState(true),
81
- ableMention = _g[0],
82
- setAbleMention = _g[1];
83
-
84
- var _h = useState(null),
85
- messageInputEvent = _h[0],
86
- setMessageInputEvent = _h[1];
87
-
88
- var displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0; // && !utils.isDisabledBecauseFrozen(channel)
40
+ import '@sendbird/chat';
41
+ import '../../VoicePlayer/useVoicePlayer.js';
42
+ import '../../index-5644a6c0.js';
43
+ import '../../VoiceRecorder/context.js';
44
+ import '../../VoiceRecorder/useVoiceRecorder.js';
45
+ import '../../index-400417a1.js';
46
+ import '../../ui/PlaybackTime.js';
47
+ import '../../ui/ProgressBar.js';
48
+ import '../../ui/TextButton.js';
49
+ import '../../color-4ca8a2ea.js';
50
+ import '../../ui/Modal.js';
51
+ import 'react-dom';
52
+ import '../../index-3165e396.js';
53
+ import '../../MediaQueryContext-0e0b3a1b.js';
54
+
55
+ const ThreadMessageInput = (props, ref) => {
56
+ const {
57
+ className,
58
+ renderFileUploadIcon,
59
+ renderVoiceMessageIcon,
60
+ renderSendMessageIcon
61
+ } = props;
62
+ const propsDisabled = props.disabled;
63
+ const {
64
+ config
65
+ } = useSendbirdStateContext();
66
+ const {
67
+ stringSet
68
+ } = useLocalization();
69
+ const {
70
+ isMentionEnabled,
71
+ isOnline,
72
+ userMention,
73
+ isVoiceMessageEnabled,
74
+ logger
75
+ } = config;
76
+ const {
77
+ currentChannel,
78
+ parentMessage,
79
+ sendMessage,
80
+ sendFileMessage,
81
+ sendVoiceMessage,
82
+ isMuted,
83
+ isChannelFrozen,
84
+ allThreadMessages
85
+ } = useThreadContext();
86
+ const messageInputRef = useRef();
87
+ const disabled = propsDisabled || isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === Role.OPERATOR) && isChannelFrozen || parentMessage === null;
88
+
89
+ // mention
90
+ const [mentionNickname, setMentionNickname] = useState('');
91
+ const [mentionedUsers, setMentionedUsers] = useState([]);
92
+ const [mentionedUserIds, setMentionedUserIds] = useState([]);
93
+ const [selectedUser, setSelectedUser] = useState(null);
94
+ const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);
95
+ const [messageInputEvent, setMessageInputEvent] = useState(null);
96
+ const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);
97
+ const displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0;
98
+ // && !utils.isDisabledBecauseFrozen(channel)
89
99
  // && !utils.isDisabledBecauseMuted(channel);
90
100
 
91
- useEffect(function () {
92
- if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount)) {
93
- setAbleMention(false);
94
- } else {
95
- setAbleMention(true);
96
- }
97
- }, [mentionedUsers]);
98
- useEffect(function () {
99
- setMentionedUsers(mentionedUsers.filter(function (_a) {
100
- var userId = _a.userId;
101
- var i = mentionedUserIds.indexOf(userId);
102
-
101
+ // Reset when changing channel
102
+ useEffect(() => {
103
+ setShowVoiceMessageInput(false);
104
+ }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
105
+ const mentionNodes = useDirtyGetMentions({
106
+ ref: ref || messageInputRef
107
+ }, {
108
+ logger
109
+ });
110
+ const ableMention = (mentionNodes === null || mentionNodes === void 0 ? void 0 : mentionNodes.length) < (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount);
111
+ useEffect(() => {
112
+ setMentionedUsers(mentionedUsers.filter(_ref => {
113
+ let {
114
+ userId
115
+ } = _ref;
116
+ const i = mentionedUserIds.indexOf(userId);
103
117
  if (i < 0) {
104
118
  return false;
105
119
  } else {
@@ -108,85 +122,104 @@ var ThreadMessageInput = function (props, ref) {
108
122
  }
109
123
  }));
110
124
  }, [mentionedUserIds]);
125
+ if (currentChannel !== null && currentChannel !== void 0 && currentChannel.isBroadcast && (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) !== Role.OPERATOR) {
126
+ return null;
127
+ }
111
128
  return /*#__PURE__*/React__default.createElement("div", {
112
- className: "sendbird-thread-message-input ".concat(className)
129
+ className: `sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`
113
130
  }, displaySuggestedMentionList && /*#__PURE__*/React__default.createElement(SuggestedMentionList, {
114
131
  targetNickname: mentionNickname,
115
- inputEvent: messageInputEvent // renderUserMentionItem={renderUserMentionItem}
132
+ inputEvent: messageInputEvent
133
+ // renderUserMentionItem={renderUserMentionItem}
116
134
  ,
117
- onUserItemClick: function (user) {
135
+ onUserItemClick: user => {
118
136
  if (user) {
119
- setMentionedUsers(__spreadArray(__spreadArray([], mentionedUsers, true), [user], false));
137
+ setMentionedUsers([...mentionedUsers, user]);
120
138
  }
121
-
122
139
  setMentionNickname('');
123
140
  setSelectedUser(user);
124
141
  setMessageInputEvent(null);
125
142
  },
126
- onFocusItemChange: function () {
143
+ onFocusItemChange: () => {
127
144
  setMessageInputEvent(null);
128
145
  },
129
- onFetchUsers: function (users) {
146
+ onFetchUsers: users => {
130
147
  setMentionSuggestedUsers(users);
131
148
  },
132
149
  ableAddMention: ableMention,
133
150
  maxMentionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount,
134
151
  maxSuggestionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount
135
- }), /*#__PURE__*/React__default.createElement(MessageInput, {
152
+ }), showVoiceMessageInput ? /*#__PURE__*/React__default.createElement(VoiceMessageInputWrapper, {
153
+ channel: currentChannel,
154
+ onSubmitClick: (recordedFile, duration) => {
155
+ sendVoiceMessage(recordedFile, duration, parentMessage);
156
+ setShowVoiceMessageInput(false);
157
+ },
158
+ onCancelClick: () => {
159
+ setShowVoiceMessageInput(false);
160
+ }
161
+ }) : /*#__PURE__*/React__default.createElement(MessageInput, {
136
162
  className: "sendbird-thread-message-input__message-input",
137
163
  messageFieldId: "sendbird-message-input-text-field--thread",
138
164
  disabled: disabled,
165
+ channel: currentChannel,
166
+ setMentionedUsers: setMentionedUsers,
139
167
  channelUrl: currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url,
140
168
  mentionSelectedUser: selectedUser,
141
169
  isMentionEnabled: isMentionEnabled,
170
+ isVoiceMessageEnabled: isVoiceMessageEnabled,
171
+ onVoiceMessageIconClick: () => {
172
+ setShowVoiceMessageInput(true);
173
+ },
174
+ renderFileUploadIcon: renderFileUploadIcon,
175
+ renderVoiceMessageIcon: renderVoiceMessageIcon,
176
+ renderSendMessageIcon: renderSendMessageIcon,
142
177
  ref: ref || messageInputRef,
143
178
  placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myMutedState) === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT || (allThreadMessages.length > 0 ? stringSet.THREAD__INPUT__REPLY_TO_THREAD : stringSet.THREAD__INPUT__REPLY_IN_THREAD),
144
- onStartTyping: function () {
145
- var _a;
146
-
147
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.startTyping) === null || _a === void 0 ? void 0 : _a.call(currentChannel);
179
+ onStartTyping: () => {
180
+ var _currentChannel$start;
181
+ currentChannel === null || currentChannel === void 0 ? void 0 : (_currentChannel$start = currentChannel.startTyping) === null || _currentChannel$start === void 0 ? void 0 : _currentChannel$start.call(currentChannel);
148
182
  },
149
- onSendMessage: function (_a) {
150
- var _b;
151
-
152
- var message = _a.message,
153
- mentionTemplate = _a.mentionTemplate;
183
+ onSendMessage: _ref2 => {
184
+ var _currentChannel$endTy;
185
+ let {
186
+ message,
187
+ mentionTemplate
188
+ } = _ref2;
154
189
  sendMessage({
155
190
  message: message,
156
- mentionedUsers: mentionedUsers,
191
+ mentionedUsers,
157
192
  mentionTemplate: mentionTemplate,
158
193
  quoteMessage: parentMessage
159
194
  });
160
195
  setMentionNickname('');
161
196
  setMentionedUsers([]);
162
- (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.endTyping) === null || _b === void 0 ? void 0 : _b.call(currentChannel);
197
+ currentChannel === null || currentChannel === void 0 ? void 0 : (_currentChannel$endTy = currentChannel.endTyping) === null || _currentChannel$endTy === void 0 ? void 0 : _currentChannel$endTy.call(currentChannel);
163
198
  },
164
- onFileUpload: function (file) {
199
+ onFileUpload: file => {
165
200
  sendFileMessage(file, parentMessage);
166
201
  },
167
- onUserMentioned: function (user) {
202
+ onUserMentioned: user => {
168
203
  if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
169
204
  setSelectedUser(null);
170
205
  setMentionNickname('');
171
206
  }
172
207
  },
173
- onMentionStringChange: function (mentionText) {
208
+ onMentionStringChange: mentionText => {
174
209
  setMentionNickname(mentionText);
175
210
  },
176
- onMentionedUserIdsUpdated: function (userIds) {
211
+ onMentionedUserIdsUpdated: userIds => {
177
212
  setMentionedUserIds(userIds);
178
213
  },
179
- onKeyDown: function (e) {
214
+ onKeyDown: e => {
180
215
  if (displaySuggestedMentionList && (mentionSuggestedUsers === null || mentionSuggestedUsers === void 0 ? void 0 : mentionSuggestedUsers.length) > 0 && (e.key === MessageInputKeys.Enter && ableMention || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)) {
181
216
  setMessageInputEvent(e);
182
217
  return true;
183
218
  }
184
-
185
219
  return false;
186
220
  }
187
221
  }));
188
222
  };
189
-
190
223
  var ThreadMessageInput$1 = /*#__PURE__*/React__default.forwardRef(ThreadMessageInput);
191
224
 
192
225
  export { ThreadMessageInput$1 as default };