@sendbird/uikit-react 3.0.0-alpha.2 → 3.0.0-beta.3

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 (438) hide show
  1. package/App.js +54 -35
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +15 -14
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +30 -23
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +14 -13
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +5 -5
  10. package/Channel/components/Message.js +189 -66
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +145 -30
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +72 -60
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +17 -16
  17. package/Channel/components/RemoveMessageModal.js.map +1 -1
  18. package/Channel/components/SuggestedMentionList.js +250 -0
  19. package/Channel/components/SuggestedMentionList.js.map +1 -0
  20. package/Channel/components/TypingIndicator.js +16 -15
  21. package/Channel/components/TypingIndicator.js.map +1 -1
  22. package/Channel/components/UnreadCount.js +5 -5
  23. package/Channel/context.js +13 -12
  24. package/Channel/context.js.map +1 -1
  25. package/Channel.js +29 -22
  26. package/Channel.js.map +1 -1
  27. package/ChannelList/components/AddChannel.js +14 -14
  28. package/ChannelList/components/ChannelListHeader.js +7 -7
  29. package/ChannelList/components/ChannelListUI.js +52 -29
  30. package/ChannelList/components/ChannelListUI.js.map +1 -1
  31. package/ChannelList/components/ChannelPreview.js +55 -21
  32. package/ChannelList/components/ChannelPreview.js.map +1 -1
  33. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  34. package/ChannelList/context.js +8 -8
  35. package/ChannelList.js +34 -25
  36. package/ChannelList.js.map +1 -1
  37. package/{ChannelListProvider-0b0c2c40.js → ChannelListProvider-d602a166.js} +92 -27
  38. package/ChannelListProvider-d602a166.js.map +1 -0
  39. package/{ChannelProvider-459e463f.js → ChannelProvider-cf8fc05a.js} +72 -41
  40. package/ChannelProvider-cf8fc05a.js.map +1 -0
  41. package/ChannelSettings/components/AdminPanel.js +15 -15
  42. package/ChannelSettings/components/ChannelProfile.js +13 -13
  43. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  44. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  45. package/ChannelSettings/components/LeaveChannel.js +10 -10
  46. package/ChannelSettings/components/UserListItem.js +11 -11
  47. package/ChannelSettings/components/UserPanel.js +14 -14
  48. package/ChannelSettings/context.js +3 -3
  49. package/ChannelSettings.js +18 -18
  50. package/CreateChannel/components/CreateChannelUI.js +14 -14
  51. package/CreateChannel/components/InviteMembers.js +14 -14
  52. package/CreateChannel/components/SelectChannelType.js +10 -10
  53. package/CreateChannel/context.js +3 -3
  54. package/CreateChannel.js +14 -14
  55. package/{CreateChannelProvider-c617a1bb.js → CreateChannelProvider-3f3dafed.js} +1 -1
  56. package/{CreateChannelProvider-c617a1bb.js.map → CreateChannelProvider-3f3dafed.js.map} +1 -1
  57. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  58. package/EditUserProfile.js +13 -13
  59. package/{LocalizationContext-e4391013.js → LocalizationContext-b970a73c.js} +3 -3
  60. package/{LocalizationContext-e4391013.js.map → LocalizationContext-b970a73c.js.map} +1 -1
  61. package/{MemberList-6655cba0.js → MemberList-9d29bee4.js} +5 -5
  62. package/{MemberList-6655cba0.js.map → MemberList-9d29bee4.js.map} +1 -1
  63. package/MessageSearch/components/MessageSearchUI.js +11 -11
  64. package/MessageSearch/context.js +2 -2
  65. package/MessageSearch.js +11 -11
  66. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  67. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  68. package/OpenChannel/components/OpenChannelInput.js +18 -14
  69. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  70. package/OpenChannel/components/OpenChannelMessage.js +23 -19
  71. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  72. package/OpenChannel/components/OpenChannelMessageList.js +25 -21
  73. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  74. package/OpenChannel/components/OpenChannelUI.js +25 -21
  75. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  76. package/OpenChannel/context.js +9 -9
  77. package/OpenChannel.js +25 -21
  78. package/OpenChannel.js.map +1 -1
  79. package/{OpenChannelProvider-a7691eb4.js → OpenChannelProvider-821fb008.js} +7 -7
  80. package/{OpenChannelProvider-a7691eb4.js.map → OpenChannelProvider-821fb008.js.map} +1 -1
  81. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  82. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  83. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  84. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  85. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  86. package/OpenChannelSettings/context.js +2 -2
  87. package/OpenChannelSettings.js +17 -17
  88. package/SendbirdProvider.js +36 -14
  89. package/SendbirdProvider.js.map +1 -1
  90. package/{UserProfileContext-865db5e6.js → UserProfileContext-f4ff4291.js} +1 -1
  91. package/{UserProfileContext-865db5e6.js.map → UserProfileContext-f4ff4291.js.map} +1 -1
  92. package/{_rollupPluginBabelHelpers-20904f21.js → _rollupPluginBabelHelpers-6bf18550.js} +1 -1
  93. package/{_rollupPluginBabelHelpers-20904f21.js.map → _rollupPluginBabelHelpers-6bf18550.js.map} +1 -1
  94. package/{actionTypes-1e3a4074.js → actionTypes-8e320ded.js} +1 -1
  95. package/{actionTypes-1e3a4074.js.map → actionTypes-8e320ded.js.map} +1 -1
  96. package/cjs/App.js +54 -35
  97. package/cjs/App.js.map +1 -1
  98. package/cjs/Channel/components/ChannelHeader.js +15 -14
  99. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  100. package/cjs/Channel/components/ChannelUI.js +31 -24
  101. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  102. package/cjs/Channel/components/FileViewer.js +14 -13
  103. package/cjs/Channel/components/FileViewer.js.map +1 -1
  104. package/cjs/Channel/components/FrozenNotification.js +5 -5
  105. package/cjs/Channel/components/Message.js +188 -65
  106. package/cjs/Channel/components/Message.js.map +1 -1
  107. package/cjs/Channel/components/MessageInput.js +144 -29
  108. package/cjs/Channel/components/MessageInput.js.map +1 -1
  109. package/cjs/Channel/components/MessageList.js +71 -59
  110. package/cjs/Channel/components/MessageList.js.map +1 -1
  111. package/cjs/Channel/components/RemoveMessageModal.js +17 -16
  112. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  113. package/cjs/Channel/components/SuggestedMentionList.js +256 -0
  114. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  115. package/cjs/Channel/components/TypingIndicator.js +18 -14
  116. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  117. package/cjs/Channel/components/UnreadCount.js +5 -5
  118. package/cjs/Channel/context.js +13 -12
  119. package/cjs/Channel/context.js.map +1 -1
  120. package/cjs/Channel.js +29 -22
  121. package/cjs/Channel.js.map +1 -1
  122. package/cjs/ChannelList/components/AddChannel.js +14 -14
  123. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  124. package/cjs/ChannelList/components/ChannelListUI.js +52 -29
  125. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  126. package/cjs/ChannelList/components/ChannelPreview.js +55 -21
  127. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  128. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  129. package/cjs/ChannelList/context.js +8 -8
  130. package/cjs/ChannelList.js +34 -25
  131. package/cjs/ChannelList.js.map +1 -1
  132. package/cjs/{ChannelListProvider-5a152618.js → ChannelListProvider-64db9f70.js} +92 -27
  133. package/cjs/ChannelListProvider-64db9f70.js.map +1 -0
  134. package/cjs/{ChannelProvider-f1fb0108.js → ChannelProvider-5e8e33b1.js} +79 -48
  135. package/cjs/ChannelProvider-5e8e33b1.js.map +1 -0
  136. package/cjs/ChannelSettings/components/AdminPanel.js +15 -15
  137. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  138. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  139. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  140. package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
  141. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  142. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  143. package/cjs/ChannelSettings/context.js +3 -3
  144. package/cjs/ChannelSettings.js +18 -18
  145. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  146. package/cjs/CreateChannel/components/InviteMembers.js +14 -14
  147. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  148. package/cjs/CreateChannel/context.js +3 -3
  149. package/cjs/CreateChannel.js +14 -14
  150. package/cjs/{CreateChannelProvider-df42106f.js → CreateChannelProvider-dcf7f906.js} +1 -1
  151. package/cjs/{CreateChannelProvider-df42106f.js.map → CreateChannelProvider-dcf7f906.js.map} +1 -1
  152. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  153. package/cjs/EditUserProfile.js +13 -13
  154. package/cjs/{LocalizationContext-68e55e2a.js → LocalizationContext-382a9ef1.js} +3 -3
  155. package/cjs/{LocalizationContext-68e55e2a.js.map → LocalizationContext-382a9ef1.js.map} +1 -1
  156. package/cjs/{MemberList-dc84e303.js → MemberList-03a241cd.js} +5 -5
  157. package/cjs/{MemberList-dc84e303.js.map → MemberList-03a241cd.js.map} +1 -1
  158. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  159. package/cjs/MessageSearch/context.js +2 -2
  160. package/cjs/MessageSearch.js +11 -11
  161. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  162. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  163. package/cjs/OpenChannel/components/OpenChannelInput.js +18 -14
  164. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  165. package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -19
  166. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  167. package/cjs/OpenChannel/components/OpenChannelMessageList.js +25 -21
  168. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  169. package/cjs/OpenChannel/components/OpenChannelUI.js +25 -21
  170. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  171. package/cjs/OpenChannel/context.js +9 -9
  172. package/cjs/OpenChannel.js +25 -21
  173. package/cjs/OpenChannel.js.map +1 -1
  174. package/cjs/{OpenChannelProvider-7a1a996f.js → OpenChannelProvider-9000ccb9.js} +7 -7
  175. package/cjs/{OpenChannelProvider-7a1a996f.js.map → OpenChannelProvider-9000ccb9.js.map} +1 -1
  176. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  177. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  178. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  179. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  180. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  181. package/cjs/OpenChannelSettings/context.js +2 -2
  182. package/cjs/OpenChannelSettings.js +17 -17
  183. package/cjs/SendbirdProvider.js +36 -14
  184. package/cjs/SendbirdProvider.js.map +1 -1
  185. package/cjs/{UserProfileContext-3533547d.js → UserProfileContext-0b7ef11a.js} +1 -1
  186. package/cjs/{UserProfileContext-3533547d.js.map → UserProfileContext-0b7ef11a.js.map} +1 -1
  187. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js → _rollupPluginBabelHelpers-6193d45d.js} +1 -1
  188. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js.map → _rollupPluginBabelHelpers-6193d45d.js.map} +1 -1
  189. package/cjs/{actionTypes-bc47f97a.js → actionTypes-092bc172.js} +1 -1
  190. package/cjs/{actionTypes-bc47f97a.js.map → actionTypes-092bc172.js.map} +1 -1
  191. package/cjs/{color-4afb15fb.js → color-1816dacf.js} +1 -1
  192. package/cjs/{color-4afb15fb.js.map → color-1816dacf.js.map} +1 -1
  193. package/cjs/{compareIds-01306377.js → compareIds-e9bca8c4.js} +1 -1
  194. package/cjs/{compareIds-01306377.js.map → compareIds-e9bca8c4.js.map} +1 -1
  195. package/cjs/const-c65837c1.js +22 -0
  196. package/cjs/const-c65837c1.js.map +1 -0
  197. package/cjs/const-d9f4d880.js +14 -0
  198. package/cjs/const-d9f4d880.js.map +1 -0
  199. package/cjs/{context-c1f9d650.js → context-6ebf3379.js} +2 -2
  200. package/cjs/{context-c1f9d650.js.map → context-6ebf3379.js.map} +1 -1
  201. package/cjs/{index-1044f1ed.js → index-01072ac9.js} +3 -3
  202. package/cjs/{index-1044f1ed.js.map → index-01072ac9.js.map} +1 -1
  203. package/cjs/{index-e2bb862c.js → index-20a06ed6.js} +1 -1
  204. package/cjs/{index-e2bb862c.js.map → index-20a06ed6.js.map} +1 -1
  205. package/cjs/{index-d4880236.js → index-212a11f2.js} +84 -3
  206. package/cjs/index-212a11f2.js.map +1 -0
  207. package/cjs/{index-aecc8d24.js → index-2faa2f93.js} +1 -1
  208. package/cjs/{index-aecc8d24.js.map → index-2faa2f93.js.map} +1 -1
  209. package/cjs/{index-9dc3863f.js → index-4f40f311.js} +2 -2
  210. package/cjs/{index-9dc3863f.js.map → index-4f40f311.js.map} +1 -1
  211. package/cjs/index-75453415.js +54 -0
  212. package/cjs/index-75453415.js.map +1 -0
  213. package/cjs/{index-8becccd8.js → index-948426a8.js} +4 -4
  214. package/cjs/{index-8becccd8.js.map → index-948426a8.js.map} +1 -1
  215. package/cjs/{index-905331fa.js → index-a2ce047a.js} +2 -2
  216. package/cjs/{index-905331fa.js.map → index-a2ce047a.js.map} +1 -1
  217. package/cjs/{index-4987c8b2.js → index-d57081d1.js} +6 -6
  218. package/cjs/{index-4987c8b2.js.map → index-d57081d1.js.map} +1 -1
  219. package/cjs/{index-659c9ca5.js → index-e63da805.js} +4 -4
  220. package/cjs/{index-659c9ca5.js.map → index-e63da805.js.map} +1 -1
  221. package/cjs/{index-1468d245.js → index-f1971e28.js} +3 -3
  222. package/cjs/{index-1468d245.js.map → index-f1971e28.js.map} +1 -1
  223. package/cjs/index.css +243 -133
  224. package/cjs/index.css.map +1 -1
  225. package/cjs/index.js +40 -33
  226. package/cjs/index.js.map +1 -1
  227. package/cjs/{openChannelUtils-37919a36.js → openChannelUtils-16f29ba2.js} +1 -1
  228. package/cjs/{openChannelUtils-37919a36.js.map → openChannelUtils-16f29ba2.js.map} +1 -1
  229. package/cjs/sendBirdSelectors.js +1 -1
  230. package/cjs/{stringSet-aa544ce5.js → stringSet-b9ea6eef.js} +4 -2
  231. package/cjs/stringSet-b9ea6eef.js.map +1 -0
  232. package/cjs/{topics-8314d425.js → topics-11048db8.js} +1 -1
  233. package/cjs/{topics-8314d425.js.map → topics-11048db8.js.map} +1 -1
  234. package/cjs/{tslib.es6-4a281a05.js → tslib.es6-07dd6257.js} +1 -1
  235. package/cjs/{tslib.es6-4a281a05.js.map → tslib.es6-07dd6257.js.map} +1 -1
  236. package/cjs/ui/Accordion.js +4 -4
  237. package/cjs/ui/AccordionGroup.js +2 -2
  238. package/cjs/ui/AdminMessage.js +3 -3
  239. package/cjs/ui/Avatar.js +3 -3
  240. package/cjs/ui/Badge.js +5 -5
  241. package/cjs/ui/Button.js +4 -4
  242. package/cjs/ui/ChannelAvatar.js +4 -4
  243. package/cjs/ui/ChannelPreview.js +12 -12
  244. package/cjs/ui/ChatHeader.js +8 -8
  245. package/cjs/ui/Checkbox.js +1 -1
  246. package/cjs/ui/ConnectionStatus.js +5 -5
  247. package/cjs/ui/ContextMenu.js +5 -5
  248. package/cjs/ui/DateSeparator.js +4 -4
  249. package/cjs/ui/Dropdown.js +3 -3
  250. package/cjs/ui/EmojiReactions.js +7 -7
  251. package/cjs/ui/FileMessageItemBody.js +6 -6
  252. package/cjs/ui/FileViewer.js +7 -7
  253. package/cjs/ui/Icon.js +1 -1
  254. package/cjs/ui/IconButton.js +1 -1
  255. package/cjs/ui/ImageRenderer.js +1 -1
  256. package/cjs/ui/Input.js +3 -3
  257. package/cjs/ui/Label.js +3 -3
  258. package/cjs/ui/LinkLabel.js +3 -3
  259. package/cjs/ui/Loader.js +1 -1
  260. package/cjs/ui/MentionUserLabel.js +25 -0
  261. package/cjs/ui/MentionUserLabel.js.map +1 -0
  262. package/cjs/ui/MessageContent.js +25 -62
  263. package/cjs/ui/MessageContent.js.map +1 -1
  264. package/cjs/ui/MessageInput.js +4900 -84
  265. package/cjs/ui/MessageInput.js.map +1 -1
  266. package/cjs/ui/MessageItemMenu.js +7 -7
  267. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  268. package/cjs/ui/MessageSearchFileItem.js +10 -10
  269. package/cjs/ui/MessageSearchItem.js +10 -10
  270. package/cjs/ui/MessageStatus.js +66 -0
  271. package/cjs/ui/MessageStatus.js.map +1 -0
  272. package/cjs/ui/Modal.js +8 -8
  273. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  274. package/cjs/ui/OGMessageItemBody.js +38 -28
  275. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  276. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  277. package/cjs/ui/OpenChannelAvatar.js +7 -7
  278. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  279. package/cjs/ui/OpenchannelFileMessage.js +14 -14
  280. package/cjs/ui/OpenchannelOGMessage.js +14 -14
  281. package/cjs/ui/OpenchannelThumbnailMessage.js +13 -13
  282. package/cjs/ui/OpenchannelUserMessage.js +14 -14
  283. package/cjs/ui/PlaceHolder.js +6 -6
  284. package/cjs/ui/QuoteMessage.js +7 -7
  285. package/cjs/ui/QuoteMessageInput.js +7 -7
  286. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  287. package/cjs/ui/ReactionBadge.js +3 -3
  288. package/cjs/ui/ReactionButton.js +1 -1
  289. package/cjs/ui/SortByRow.js +1 -1
  290. package/cjs/ui/TextButton.js +2 -2
  291. package/cjs/ui/TextMessageItemBody.js +36 -14
  292. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  293. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  294. package/cjs/ui/Tooltip.js +3 -3
  295. package/cjs/ui/TooltipWrapper.js +1 -1
  296. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  297. package/cjs/ui/UserListItem.js +11 -11
  298. package/cjs/ui/UserProfile.js +9 -9
  299. package/cjs/useSendbirdStateContext.js +1 -1
  300. package/cjs/{utils-cbd3ed99.js → utils-3240365f.js} +1 -1
  301. package/cjs/{utils-cbd3ed99.js.map → utils-3240365f.js.map} +1 -1
  302. package/cjs/{utils-66b3f4ec.js → utils-53d332a6.js} +1 -1
  303. package/cjs/{utils-66b3f4ec.js.map → utils-53d332a6.js.map} +1 -1
  304. package/cjs/{utils-3b0815dc.js → utils-94ae6cec.js} +1 -1
  305. package/cjs/{utils-3b0815dc.js.map → utils-94ae6cec.js.map} +1 -1
  306. package/cjs/{uuid-1d5ec8b2.js → uuid-172844fb.js} +1 -1
  307. package/cjs/{uuid-1d5ec8b2.js.map → uuid-172844fb.js.map} +1 -1
  308. package/cjs/withSendBird.js +1 -1
  309. package/{color-ee3fc5ee.js → color-38dc84d3.js} +1 -1
  310. package/{color-ee3fc5ee.js.map → color-38dc84d3.js.map} +1 -1
  311. package/{compareIds-808956f2.js → compareIds-f01e0c3c.js} +1 -1
  312. package/{compareIds-808956f2.js.map → compareIds-f01e0c3c.js.map} +1 -1
  313. package/const-b6685801.js +8 -0
  314. package/const-b6685801.js.map +1 -0
  315. package/const-d46f09a1.js +18 -0
  316. package/const-d46f09a1.js.map +1 -0
  317. package/{context-98ce535c.js → context-b5168bd0.js} +2 -2
  318. package/{context-98ce535c.js.map → context-b5168bd0.js.map} +1 -1
  319. package/dist/index.css +243 -133
  320. package/dist/index.css.map +1 -1
  321. package/{index-770d7112.js → index-1c2588aa.js} +2 -2
  322. package/{index-770d7112.js.map → index-1c2588aa.js.map} +1 -1
  323. package/{index-acebc2ff.js → index-2dce3a04.js} +3 -3
  324. package/{index-acebc2ff.js.map → index-2dce3a04.js.map} +1 -1
  325. package/{index-5c2c81bc.js → index-3bd4a058.js} +6 -6
  326. package/{index-5c2c81bc.js.map → index-3bd4a058.js.map} +1 -1
  327. package/index-62fd2db7.js +48 -0
  328. package/index-62fd2db7.js.map +1 -0
  329. package/{index-6ebf7894.js → index-6381b534.js} +1 -1
  330. package/{index-6ebf7894.js.map → index-6381b534.js.map} +1 -1
  331. package/{index-cd21929d.js → index-9afb4d01.js} +2 -2
  332. package/{index-cd21929d.js.map → index-9afb4d01.js.map} +1 -1
  333. package/{index-1718324d.js → index-a6675155.js} +4 -4
  334. package/{index-1718324d.js.map → index-a6675155.js.map} +1 -1
  335. package/{index-e818a8a3.js → index-b12b270e.js} +4 -4
  336. package/{index-e818a8a3.js.map → index-b12b270e.js.map} +1 -1
  337. package/{index-7a51bd16.js → index-d0b30cd5.js} +3 -3
  338. package/{index-7a51bd16.js.map → index-d0b30cd5.js.map} +1 -1
  339. package/{index-942c85a6.js → index-d0fe8fe1.js} +1 -1
  340. package/{index-942c85a6.js.map → index-d0fe8fe1.js.map} +1 -1
  341. package/{index-8c72a94a.js → index-e6d0889d.js} +83 -3
  342. package/index-e6d0889d.js.map +1 -0
  343. package/index.d.ts +238 -210
  344. package/index.js +40 -33
  345. package/index.js.map +1 -1
  346. package/{openChannelUtils-56a372e7.js → openChannelUtils-22ed0258.js} +1 -1
  347. package/{openChannelUtils-56a372e7.js.map → openChannelUtils-22ed0258.js.map} +1 -1
  348. package/package.json +5 -2
  349. package/sendBirdSelectors.js +1 -1
  350. package/{stringSet-4f6eaa60.js → stringSet-2e6c1d2c.js} +4 -2
  351. package/stringSet-2e6c1d2c.js.map +1 -0
  352. package/{topics-9442035c.js → topics-67738aac.js} +1 -1
  353. package/{topics-9442035c.js.map → topics-67738aac.js.map} +1 -1
  354. package/{tslib.es6-e3c44017.js → tslib.es6-b6e567bd.js} +1 -1
  355. package/{tslib.es6-e3c44017.js.map → tslib.es6-b6e567bd.js.map} +1 -1
  356. package/ui/Accordion.js +4 -4
  357. package/ui/AccordionGroup.js +2 -2
  358. package/ui/AdminMessage.js +3 -3
  359. package/ui/Avatar.js +3 -3
  360. package/ui/Badge.js +5 -5
  361. package/ui/Button.js +4 -4
  362. package/ui/ChannelAvatar.js +4 -4
  363. package/ui/ChannelPreview.js +12 -12
  364. package/ui/ChatHeader.js +8 -8
  365. package/ui/Checkbox.js +1 -1
  366. package/ui/ConnectionStatus.js +5 -5
  367. package/ui/ContextMenu.js +5 -5
  368. package/ui/DateSeparator.js +4 -4
  369. package/ui/Dropdown.js +3 -3
  370. package/ui/EmojiReactions.js +7 -7
  371. package/ui/FileMessageItemBody.js +6 -6
  372. package/ui/FileViewer.js +7 -7
  373. package/ui/Icon.js +1 -1
  374. package/ui/IconButton.js +1 -1
  375. package/ui/ImageRenderer.js +1 -1
  376. package/ui/Input.js +3 -3
  377. package/ui/Label.js +3 -3
  378. package/ui/LinkLabel.js +3 -3
  379. package/ui/Loader.js +1 -1
  380. package/ui/MentionUserLabel.js +19 -0
  381. package/ui/MentionUserLabel.js.map +1 -0
  382. package/ui/MessageContent.js +25 -62
  383. package/ui/MessageContent.js.map +1 -1
  384. package/ui/MessageInput.js +4900 -85
  385. package/ui/MessageInput.js.map +1 -1
  386. package/ui/MessageItemMenu.js +7 -7
  387. package/ui/MessageItemReactionMenu.js +5 -5
  388. package/ui/MessageSearchFileItem.js +10 -10
  389. package/ui/MessageSearchItem.js +10 -10
  390. package/ui/MessageStatus.js +57 -0
  391. package/ui/MessageStatus.js.map +1 -0
  392. package/ui/Modal.js +8 -8
  393. package/ui/MutedAvatarOverlay.js +1 -1
  394. package/ui/OGMessageItemBody.js +38 -28
  395. package/ui/OGMessageItemBody.js.map +1 -1
  396. package/ui/OpenChannelAdminMessage.js +4 -4
  397. package/ui/OpenChannelAvatar.js +7 -7
  398. package/ui/OpenchannelConversationHeader.js +7 -7
  399. package/ui/OpenchannelFileMessage.js +14 -14
  400. package/ui/OpenchannelOGMessage.js +14 -14
  401. package/ui/OpenchannelThumbnailMessage.js +13 -13
  402. package/ui/OpenchannelUserMessage.js +14 -14
  403. package/ui/PlaceHolder.js +6 -6
  404. package/ui/QuoteMessage.js +7 -7
  405. package/ui/QuoteMessageInput.js +7 -7
  406. package/ui/QuoteMessageInput.js.map +1 -1
  407. package/ui/ReactionBadge.js +3 -3
  408. package/ui/ReactionButton.js +1 -1
  409. package/ui/SortByRow.js +1 -1
  410. package/ui/TextButton.js +2 -2
  411. package/ui/TextMessageItemBody.js +37 -15
  412. package/ui/TextMessageItemBody.js.map +1 -1
  413. package/ui/ThumbnailMessageItemBody.js +3 -3
  414. package/ui/Tooltip.js +3 -3
  415. package/ui/TooltipWrapper.js +1 -1
  416. package/ui/UnknownMessageItemBody.js +7 -7
  417. package/ui/UserListItem.js +11 -11
  418. package/ui/UserProfile.js +9 -9
  419. package/useSendbirdStateContext.js +1 -1
  420. package/{utils-08c4dbdc.js → utils-04c291d8.js} +1 -1
  421. package/{utils-08c4dbdc.js.map → utils-04c291d8.js.map} +1 -1
  422. package/{utils-af1b9829.js → utils-28de36e9.js} +1 -1
  423. package/{utils-af1b9829.js.map → utils-28de36e9.js.map} +1 -1
  424. package/{utils-c393e880.js → utils-f5c9ef64.js} +1 -1
  425. package/{utils-c393e880.js.map → utils-f5c9ef64.js.map} +1 -1
  426. package/{uuid-b0c93400.js → uuid-0139dc21.js} +1 -1
  427. package/{uuid-b0c93400.js.map → uuid-0139dc21.js.map} +1 -1
  428. package/withSendBird.js +1 -1
  429. package/ChannelListProvider-0b0c2c40.js.map +0 -1
  430. package/ChannelProvider-459e463f.js.map +0 -1
  431. package/cjs/ChannelListProvider-5a152618.js.map +0 -1
  432. package/cjs/ChannelProvider-f1fb0108.js.map +0 -1
  433. package/cjs/index-d4880236.js.map +0 -1
  434. package/cjs/stringSet-aa544ce5.js.map +0 -1
  435. package/index-8c72a94a.js.map +0 -1
  436. package/index.css +0 -4355
  437. package/index.css.map +0 -1
  438. package/stringSet-4f6eaa60.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../../LocalizationContext-e4391013.js';
3
- import { L as Label, a as LabelTypography } from '../../index-7a51bd16.js';
4
- import '../../stringSet-4f6eaa60.js';
5
- import '../../index-6ebf7894.js';
6
- import '../../_rollupPluginBabelHelpers-20904f21.js';
2
+ import { a as LocalizationContext } from '../../LocalizationContext-b970a73c.js';
3
+ import { L as Label, a as LabelTypography } from '../../index-d0b30cd5.js';
4
+ import '../../stringSet-2e6c1d2c.js';
5
+ import '../../index-6381b534.js';
6
+ import '../../_rollupPluginBabelHelpers-6bf18550.js';
7
7
  import 'prop-types';
8
8
 
9
9
  var FrozenNotification = function FrozenNotification() {
@@ -1,37 +1,43 @@
1
- import React__default, { useState, useRef, useLayoutEffect, useMemo } from 'react';
2
- import { f as format } from '../../index-770d7112.js';
1
+ import { a as __spreadArray } from '../../tslib.es6-b6e567bd.js';
2
+ import React__default, { useState, useRef, useEffect, useLayoutEffect, useMemo } from 'react';
3
+ import { f as format } from '../../index-1c2588aa.js';
4
+ import SuggestedMentionList from './SuggestedMentionList.js';
3
5
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
4
- import { u as useChannel, a as isDisabledBecauseFrozen } from '../../ChannelProvider-459e463f.js';
5
- import { d as getClassName } from '../../index-8c72a94a.js';
6
+ import { u as useChannel, a as isDisabledBecauseFrozen } from '../../ChannelProvider-cf8fc05a.js';
7
+ import { h as getClassName } from '../../index-e6d0889d.js';
8
+ import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-b6685801.js';
6
9
  import DateSeparator from '../../ui/DateSeparator.js';
7
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-7a51bd16.js';
10
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-d0b30cd5.js';
8
11
  import MessageInput from '../../ui/MessageInput.js';
9
12
  import MessageContent from '../../ui/MessageContent.js';
10
13
  import FileViewer from './FileViewer.js';
11
14
  import RemoveMessage from './RemoveMessageModal.js';
12
- import { u as useLocalization } from '../../LocalizationContext-e4391013.js';
13
- import '../../index-6ebf7894.js';
14
- import '../../withSendBird.js';
15
- import '../../_rollupPluginBabelHelpers-20904f21.js';
16
- import '../../UserProfileContext-865db5e6.js';
15
+ import { M as MessageInputKeys } from '../../const-d46f09a1.js';
16
+ import { u as useLocalization } from '../../LocalizationContext-b970a73c.js';
17
+ import '../../index-6381b534.js';
18
+ import '../../ui/Icon.js';
19
+ import '../../_rollupPluginBabelHelpers-6bf18550.js';
17
20
  import 'prop-types';
18
- import '../../topics-9442035c.js';
19
- import '../../compareIds-808956f2.js';
20
- import '../../uuid-b0c93400.js';
21
+ import '../../ui/Avatar.js';
22
+ import '../../ui/ImageRenderer.js';
23
+ import '../../uuid-0139dc21.js';
24
+ import '../../withSendBird.js';
25
+ import '../../UserProfileContext-f4ff4291.js';
26
+ import '../../topics-67738aac.js';
27
+ import '../../compareIds-f01e0c3c.js';
21
28
  import '../../ui/ContextMenu.js';
22
29
  import 'react-dom';
23
30
  import '../../ui/SortByRow.js';
24
- import '../../stringSet-4f6eaa60.js';
25
- import '../../tslib.es6-e3c44017.js';
31
+ import '../../stringSet-2e6c1d2c.js';
26
32
  import '../../ui/ReactionButton.js';
27
- import '../../ui/ImageRenderer.js';
28
- import '../../ui/Icon.js';
29
- import '../../color-ee3fc5ee.js';
33
+ import '../../color-38dc84d3.js';
34
+ import 'stream';
30
35
  import '../../ui/IconButton.js';
31
- import '../../index-acebc2ff.js';
32
- import '../../ui/Avatar.js';
36
+ import '../../index-2dce3a04.js';
37
+ import '../../ui/MentionUserLabel.js';
33
38
  import '../../ui/UserProfile.js';
34
39
  import '../../sendBirdSelectors.js';
40
+ import '../../ui/MessageStatus.js';
35
41
  import '../../ui/Loader.js';
36
42
  import '../../ui/MessageItemMenu.js';
37
43
  import '../../ui/MessageItemReactionMenu.js';
@@ -41,76 +47,133 @@ import '../../ui/TooltipWrapper.js';
41
47
  import '../../ui/ReactionBadge.js';
42
48
  import '../../ui/AdminMessage.js';
43
49
  import '../../ui/TextMessageItemBody.js';
50
+ import '../../index-62fd2db7.js';
51
+ import '../../ui/LinkLabel.js';
44
52
  import '../../ui/FileMessageItemBody.js';
45
53
  import '../../ui/TextButton.js';
46
54
  import '../../ui/ThumbnailMessageItemBody.js';
47
55
  import '../../ui/OGMessageItemBody.js';
48
- import '../../ui/LinkLabel.js';
49
56
  import '../../ui/UnknownMessageItemBody.js';
50
57
  import '../../ui/QuoteMessage.js';
51
- import '../../index-942c85a6.js';
58
+ import '../../index-d0fe8fe1.js';
52
59
  import '../../ui/Modal.js';
53
- import '../../utils-c393e880.js';
60
+ import '../../utils-f5c9ef64.js';
54
61
 
55
62
  var Message = function Message(props) {
56
- var _a, _b, _c, _d;
63
+ var _a;
57
64
 
58
65
  var message = props.message,
59
66
  hasSeparator = props.hasSeparator,
60
67
  chainTop = props.chainTop,
61
68
  chainBottom = props.chainBottom,
62
69
  handleScroll = props.handleScroll,
63
- renderCustomSeperator = props.renderCustomSeperator,
70
+ renderCustomSeparator = props.renderCustomSeparator,
64
71
  renderEditInput = props.renderEditInput,
65
72
  renderMessage = props.renderMessage,
66
73
  renderMessageContent = props.renderMessageContent;
67
74
  var dateLocale = useLocalization().dateLocale;
68
75
  var globalStore = useSendbirdStateContext();
69
- var userId = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _a === void 0 ? void 0 : _a.userId;
70
- var isOnline = (_b = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _b === void 0 ? void 0 : _b.isOnline;
71
-
72
- var _e = useChannel(),
73
- currentGroupChannel = _e.currentGroupChannel,
74
- highLightedMessageId = _e.highLightedMessageId,
75
- setHighLightedMessageId = _e.setHighLightedMessageId,
76
- animatedMessageId = _e.animatedMessageId,
77
- setAnimatedMessageId = _e.setAnimatedMessageId,
78
- updateMessage = _e.updateMessage,
79
- scrollToMessage = _e.scrollToMessage,
80
- replyType = _e.replyType,
81
- useReaction = _e.useReaction,
82
- toggleReaction = _e.toggleReaction,
83
- emojiContainer = _e.emojiContainer,
84
- nicknamesMap = _e.nicknamesMap,
85
- quoteMessage = _e.quoteMessage,
86
- setQuoteMessage = _e.setQuoteMessage,
87
- resendMessage = _e.resendMessage;
76
+
77
+ var _b = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config,
78
+ userId = _b.userId,
79
+ isOnline = _b.isOnline,
80
+ isMentionEnabled = _b.isMentionEnabled,
81
+ userMention = _b.userMention;
82
+
83
+ var maxUserMentionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount) || MAX_USER_MENTION_COUNT;
84
+ var maxUserSuggestionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount) || MAX_USER_SUGGESTION_COUNT;
85
+
86
+ var _c = useChannel(),
87
+ currentGroupChannel = _c.currentGroupChannel,
88
+ highLightedMessageId = _c.highLightedMessageId,
89
+ setHighLightedMessageId = _c.setHighLightedMessageId,
90
+ animatedMessageId = _c.animatedMessageId,
91
+ setAnimatedMessageId = _c.setAnimatedMessageId,
92
+ updateMessage = _c.updateMessage,
93
+ scrollToMessage = _c.scrollToMessage,
94
+ replyType = _c.replyType,
95
+ useReaction = _c.useReaction,
96
+ toggleReaction = _c.toggleReaction,
97
+ emojiContainer = _c.emojiContainer,
98
+ nicknamesMap = _c.nicknamesMap,
99
+ setQuoteMessage = _c.setQuoteMessage,
100
+ resendMessage = _c.resendMessage,
101
+ renderUserMentionItem = _c.renderUserMentionItem;
102
+
103
+ var _d = useState(false),
104
+ showEdit = _d[0],
105
+ setShowEdit = _d[1];
106
+
107
+ var _e = useState(false),
108
+ showRemove = _e[0],
109
+ setShowRemove = _e[1];
88
110
 
89
111
  var _f = useState(false),
90
- showEdit = _f[0],
91
- setShowEdit = _f[1];
112
+ showFileViewer = _f[0],
113
+ setShowFileViewer = _f[1];
92
114
 
93
115
  var _g = useState(false),
94
- showRemove = _g[0],
95
- setShowRemove = _g[1];
116
+ isAnimated = _g[0],
117
+ setIsAnimated = _g[1];
96
118
 
97
119
  var _h = useState(false),
98
- showFileViewer = _h[0],
99
- setShowFileViewer = _h[1];
120
+ isHighlighted = _h[0],
121
+ setIsHighlighted = _h[1];
122
+
123
+ var _j = useState(''),
124
+ mentionNickname = _j[0],
125
+ setMentionNickname = _j[1];
126
+
127
+ var _k = useState([]),
128
+ mentionedUsers = _k[0],
129
+ setMentionedUsers = _k[1];
130
+
131
+ var _l = useState([]),
132
+ mentionedUserIds = _l[0],
133
+ setMentionedUserIds = _l[1];
134
+
135
+ var _m = useState(null),
136
+ messageInputEvent = _m[0],
137
+ setMessageInputEvent = _m[1];
138
+
139
+ var _o = useState(null),
140
+ selectedUser = _o[0],
141
+ setSelectedUser = _o[1];
100
142
 
101
- var _j = useState(false),
102
- isAnimated = _j[0],
103
- setIsAnimated = _j[1];
143
+ var _p = useState([]),
144
+ mentionSuggestedUsers = _p[0],
145
+ setMentionSuggestedUsers = _p[1];
104
146
 
105
- var _k = useState(false),
106
- isHighlighted = _k[0],
107
- setIsHighlighted = _k[1];
147
+ var _q = useState(true),
148
+ ableMention = _q[0],
149
+ setAbleMention = _q[1];
108
150
 
109
151
  var editMessageInputRef = useRef(null);
110
152
  var useMessageScrollRef = useRef(null);
153
+ var displaySuggestedMentionList = isMentionEnabled && mentionNickname.length > 0;
154
+ useEffect(function () {
155
+ if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= maxUserMentionCount) {
156
+ setAbleMention(false);
157
+ } else {
158
+ setAbleMention(true);
159
+ }
160
+ }, [mentionedUsers]);
161
+ useEffect(function () {
162
+ setMentionedUsers(mentionedUsers.filter(function (_a) {
163
+ var userId = _a.userId;
164
+ var i = mentionedUserIds.indexOf(userId);
165
+
166
+ if (i < 0) {
167
+ return false;
168
+ } else {
169
+ mentionedUserIds.splice(i, 1);
170
+ return true;
171
+ }
172
+ }));
173
+ }, [mentionedUserIds]);
111
174
  useLayoutEffect(function () {
112
175
  handleScroll === null || handleScroll === void 0 ? void 0 : handleScroll();
113
- }, [showEdit, (_c = message === null || message === void 0 ? void 0 : message.reactions) === null || _c === void 0 ? void 0 : _c.length]);
176
+ }, [showEdit, (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.length]);
114
177
  useLayoutEffect(function () {
115
178
  if (highLightedMessageId === message.messageId) {
116
179
  if (useMessageScrollRef && useMessageScrollRef.current) {
@@ -156,32 +219,93 @@ var Message = function Message(props) {
156
219
  chainBottom: chainBottom
157
220
  });
158
221
  }, [message, renderMessage]);
222
+ var renderedCustomSeparator = useMemo(function () {
223
+ if (renderCustomSeparator) {
224
+ return renderCustomSeparator === null || renderCustomSeparator === void 0 ? void 0 : renderCustomSeparator();
225
+ }
226
+
227
+ return null;
228
+ }, [message, renderCustomSeparator]);
159
229
 
160
230
  if (renderedMessage) {
161
231
  return /*#__PURE__*/React__default.createElement("div", {
162
232
  ref: useMessageScrollRef,
163
233
  className: getClassName(['sendbird-msg-hoc sendbird-msg--scroll-ref', isAnimated ? 'sendbird-msg-hoc__animated' : '', isHighlighted ? 'sendbird-msg-hoc__highlighted' : ''])
164
234
  }, // TODO: Add message instance as a function parameter
165
- hasSeparator && (renderCustomSeperator === null || renderCustomSeperator === void 0 ? void 0 : renderCustomSeperator()) || /*#__PURE__*/React__default.createElement(DateSeparator, null, /*#__PURE__*/React__default.createElement(Label, {
235
+ hasSeparator && (renderedCustomSeparator || /*#__PURE__*/React__default.createElement(DateSeparator, null, /*#__PURE__*/React__default.createElement(Label, {
166
236
  type: LabelTypography.CAPTION_2,
167
237
  color: LabelColors.ONBACKGROUND_2
168
238
  }, format(message.createdAt, 'MMMM dd, yyyy', {
169
239
  locale: dateLocale
170
- }))), renderedMessage);
240
+ })))), renderedMessage);
171
241
  }
172
242
 
173
243
  if (showEdit && message.isUserMessage()) {
174
- return (renderEditInput === null || renderEditInput === void 0 ? void 0 : renderEditInput()) || /*#__PURE__*/React__default.createElement(MessageInput, {
244
+ return (renderEditInput === null || renderEditInput === void 0 ? void 0 : renderEditInput()) || /*#__PURE__*/React__default.createElement(React__default.Fragment, null, displaySuggestedMentionList && /*#__PURE__*/React__default.createElement(SuggestedMentionList, {
245
+ targetNickname: mentionNickname,
246
+ inputEvent: messageInputEvent,
247
+ renderUserMentionItem: renderUserMentionItem,
248
+ onUserItemClick: function onUserItemClick(user) {
249
+ if (user) {
250
+ setMentionedUsers(__spreadArray(__spreadArray([], mentionedUsers, true), [user], false));
251
+ }
252
+
253
+ setMentionNickname('');
254
+ setSelectedUser(user);
255
+ setMessageInputEvent(null);
256
+ },
257
+ onFocusItemChange: function onFocusItemChange() {
258
+ setMessageInputEvent(null);
259
+ },
260
+ onFetchUsers: function onFetchUsers(users) {
261
+ setMentionSuggestedUsers(users);
262
+ },
263
+ ableAddMention: ableMention,
264
+ maxMentionCount: maxUserMentionCount,
265
+ maxSuggestionCount: maxUserSuggestionCount
266
+ }), /*#__PURE__*/React__default.createElement(MessageInput, {
175
267
  isEdit: true,
176
268
  disabled: isDisabledBecauseFrozen(currentGroupChannel),
177
269
  ref: editMessageInputRef,
178
- name: message.messageId,
179
- onSendMessage: updateMessage,
270
+ mentionSelectedUser: selectedUser,
271
+ isMentionEnabled: isMentionEnabled,
272
+ message: message,
273
+ onUpdateMessage: function onUpdateMessage(_a) {
274
+ var messageId = _a.messageId,
275
+ message = _a.message,
276
+ mentionTemplate = _a.mentionTemplate;
277
+ updateMessage({
278
+ messageId: messageId,
279
+ message: message,
280
+ mentionedUsers: mentionedUsers,
281
+ mentionTemplate: mentionTemplate
282
+ });
283
+ setShowEdit(false);
284
+ },
180
285
  onCancelEdit: function onCancelEdit() {
181
286
  setShowEdit(false);
182
287
  },
183
- value: (_d = message) === null || _d === void 0 ? void 0 : _d.message
184
- });
288
+ onUserMentioned: function onUserMentioned(user) {
289
+ if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
290
+ setSelectedUser(null);
291
+ setMentionNickname('');
292
+ }
293
+ },
294
+ onMentionStringChange: function onMentionStringChange(mentionText) {
295
+ setMentionNickname(mentionText);
296
+ },
297
+ onMentionedUserIdsUpdated: function onMentionedUserIdsUpdated(userIds) {
298
+ setMentionedUserIds(userIds);
299
+ },
300
+ onKeyDown: function onKeyDown(e) {
301
+ 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)) {
302
+ setMessageInputEvent(e);
303
+ return true;
304
+ }
305
+
306
+ return false;
307
+ }
308
+ }));
185
309
  }
186
310
 
187
311
  return /*#__PURE__*/React__default.createElement("div", {
@@ -190,7 +314,7 @@ var Message = function Message(props) {
190
314
  marginBottom: '2px'
191
315
  },
192
316
  ref: useMessageScrollRef
193
- }, hasSeparator && ((renderCustomSeperator === null || renderCustomSeperator === void 0 ? void 0 : renderCustomSeperator()) || /*#__PURE__*/React__default.createElement(DateSeparator, null, /*#__PURE__*/React__default.createElement(Label, {
317
+ }, hasSeparator && (renderedCustomSeparator || /*#__PURE__*/React__default.createElement(DateSeparator, null, /*#__PURE__*/React__default.createElement(Label, {
194
318
  type: LabelTypography.CAPTION_2,
195
319
  color: LabelColors.ONBACKGROUND_2
196
320
  }, format(message.createdAt, 'MMMM dd, yyyy', {
@@ -213,7 +337,6 @@ var Message = function Message(props) {
213
337
  showFileViewer: setShowFileViewer,
214
338
  resendMessage: resendMessage,
215
339
  toggleReaction: toggleReaction,
216
- quoteMessage: quoteMessage,
217
340
  setQuoteMessage: setQuoteMessage
218
341
  }), showRemove && /*#__PURE__*/React__default.createElement(RemoveMessage, {
219
342
  message: message,
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useState,\n useRef,\n useLayoutEffect,\n useMemo,\n} from 'react';\nimport format from 'date-fns/format';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannel } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen } from '../../context/utils';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { EveryMessage, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactNode;\n renderCustomSeperator?: () => React.ReactNode;\n renderEditInput?: () => React.ReactNode;\n renderMessageContent?: () => React.ReactNode;\n};\n\nconst Message: React.FC<MessageUIProps> = (props: MessageUIProps) => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeperator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const userId = globalStore?.config?.userId;\n const isOnline = globalStore?.config?.isOnline;\n\n const {\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n useReaction,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n quoteMessage,\n setQuoteMessage,\n resendMessage,\n } = useChannel();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({\n block: 'center',\n inline: 'center',\n });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({\n block: 'center',\n inline: 'center',\n });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && renderCustomSeperator?.() || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n )\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message.isUserMessage()) {\n return renderEditInput?.() || (\n <MessageInput\n isEdit\n disabled={isDisabledBecauseFrozen(currentGroupChannel)}\n ref={editMessageInputRef}\n name={message.messageId}\n onSendMessage={updateMessage}\n onCancelEdit={() => { setShowEdit(false); }}\n value={(message as SendbirdUIKit.ClientUserMessage)?.message}\n />\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderCustomSeperator?.() || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n useReaction={useReaction}\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n quoteMessage={quoteMessage}\n setQuoteMessage={setQuoteMessage}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as SendbirdUIKit.ClientFileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeperator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","userId","config","isOnline","_e","useChannel","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","useReaction","toggleReaction","emojiContainer","nicknamesMap","quoteMessage","setQuoteMessage","resendMessage","_f","useState","showEdit","setShowEdit","_g","showRemove","setShowRemove","_h","showFileViewer","setShowFileViewer","_j","isAnimated","setIsAnimated","_k","isHighlighted","setIsHighlighted","editMessageInputRef","useRef","useMessageScrollRef","useLayoutEffect","reactions","length","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","isDisabledBecauseFrozen","marginBottom","RemoveMessageModal"],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useState,\n useEffect,\n useRef,\n useLayoutEffect,\n useMemo,\n} from 'react';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannel } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactNode;\n renderCustomSeparator?: () => React.ReactNode;\n renderEditInput?: () => React.ReactNode;\n renderMessageContent?: () => React.ReactNode;\n};\n\nconst Message: React.FC<MessageUIProps> = (props: MessageUIProps) => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n useReaction,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n } = useChannel();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n\n const displaySuggestedMentionList = (isMentionEnabled && mentionNickname.length > 0);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.();\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message.isUserMessage()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={isDisabledBecauseFrozen(currentGroupChannel)}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n }}\n onCancelEdit={() => { setShowEdit(false); }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n useReaction={useReaction}\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as SendbirdUIKit.ClientFileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_b","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_c","useChannel","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","useReaction","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","_d","useState","showEdit","setShowEdit","_e","showRemove","setShowRemove","_f","showFileViewer","setShowFileViewer","_g","isAnimated","setIsAnimated","_h","isHighlighted","setIsHighlighted","_j","mentionNickname","setMentionNickname","_k","mentionedUsers","setMentionedUsers","_l","mentionedUserIds","setMentionedUserIds","_m","messageInputEvent","setMessageInputEvent","_o","selectedUser","setSelectedUser","_p","mentionSuggestedUsers","setMentionSuggestedUsers","_q","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","user","users","isDisabledBecauseFrozen","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}