@sendbird/uikit-react 3.0.0-beta.6 → 3.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/App.js +46 -44
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +107 -0
  4. package/Channel/components/ChannelHeader.js +24 -20
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +28 -26
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +17 -15
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/Message.js +30 -26
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +20 -18
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +30 -28
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +20 -18
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +42 -37
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +36 -32
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +6 -6
  24. package/Channel/components/UnreadCount.js.map +1 -1
  25. package/Channel/context.js +15 -13
  26. package/Channel/context.js.map +1 -1
  27. package/Channel.js +28 -26
  28. package/Channel.js.map +1 -1
  29. package/ChannelList/components/AddChannel.js +16 -16
  30. package/ChannelList/components/ChannelListHeader.js +7 -7
  31. package/ChannelList/components/ChannelListUI.js +43 -44
  32. package/ChannelList/components/ChannelListUI.js.map +1 -1
  33. package/ChannelList/components/ChannelPreview.js +35 -31
  34. package/ChannelList/components/ChannelPreview.js.map +1 -1
  35. package/ChannelList/components/ChannelPreviewAction.js +17 -15
  36. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  37. package/ChannelList/context.js +10 -8
  38. package/ChannelList/context.js.map +1 -1
  39. package/ChannelList.js +30 -28
  40. package/ChannelList.js.map +1 -1
  41. package/{ChannelListProvider-737ee36f.js → ChannelListProvider-76b1ec23.js} +219 -198
  42. package/ChannelListProvider-76b1ec23.js.map +1 -0
  43. package/{ChannelProvider-34834493.js → ChannelProvider-c0ed5fae.js} +380 -419
  44. package/ChannelProvider-c0ed5fae.js.map +1 -0
  45. package/ChannelSettings/components/ChannelProfile.js +16 -16
  46. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  47. package/ChannelSettings/components/ChannelSettingsUI.js +23 -23
  48. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  49. package/ChannelSettings/components/EditDetailsModal.js +22 -18
  50. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  51. package/ChannelSettings/components/LeaveChannel.js +13 -13
  52. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  53. package/ChannelSettings/components/{AdminPanel.js → ModerationPanel.js} +87 -141
  54. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  55. package/ChannelSettings/components/UserListItem.js +18 -17
  56. package/ChannelSettings/components/UserListItem.js.map +1 -1
  57. package/ChannelSettings/components/UserPanel.js +19 -19
  58. package/ChannelSettings/components/UserPanel.js.map +1 -1
  59. package/ChannelSettings/context.js +10 -10
  60. package/ChannelSettings/context.js.map +1 -1
  61. package/ChannelSettings.js +20 -20
  62. package/CreateChannel/components/CreateChannelUI.js +17 -17
  63. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  64. package/CreateChannel/components/{InviteMembers.js → InviteUsers.js} +23 -27
  65. package/CreateChannel/components/InviteUsers.js.map +1 -0
  66. package/CreateChannel/components/SelectChannelType.js +12 -12
  67. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  68. package/CreateChannel/context.js +5 -4
  69. package/CreateChannel/context.js.map +1 -1
  70. package/CreateChannel.js +16 -16
  71. package/{CreateChannelProvider-3d3e4a7c.js → CreateChannelProvider-8c72aa06.js} +3 -3
  72. package/CreateChannelProvider-8c72aa06.js.map +1 -0
  73. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  74. package/EditUserProfile/context.js +2 -2
  75. package/EditUserProfile/context.js.map +1 -1
  76. package/EditUserProfile.js +13 -13
  77. package/{LocalizationContext-5b0a9339.js → LocalizationContext-fb3dafcd.js} +3 -3
  78. package/{LocalizationContext-5b0a9339.js.map → LocalizationContext-fb3dafcd.js.map} +1 -1
  79. package/{MemberList-6e33a562.js → MemberList-01d3c8bf.js} +47 -68
  80. package/MemberList-01d3c8bf.js.map +1 -0
  81. package/MessageSearch/components/MessageSearchUI.js +15 -15
  82. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  83. package/MessageSearch/context.js +55 -60
  84. package/MessageSearch/context.js.map +1 -1
  85. package/MessageSearch.js +21 -21
  86. package/MessageSearch.js.map +1 -1
  87. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  88. package/OpenChannel/components/OpenChannelHeader.js +16 -14
  89. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  90. package/OpenChannel/components/OpenChannelInput.js +19 -17
  91. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  92. package/OpenChannel/components/OpenChannelMessage.js +43 -38
  93. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  94. package/OpenChannel/components/OpenChannelMessageList.js +37 -36
  95. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  96. package/OpenChannel/components/OpenChannelUI.js +27 -25
  97. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  98. package/OpenChannel/context.js +11 -9
  99. package/OpenChannel/context.js.map +1 -1
  100. package/OpenChannel.js +27 -25
  101. package/OpenChannel.js.map +1 -1
  102. package/{OpenChannelProvider-9ef0d52a.js → OpenChannelProvider-0fb27972.js} +629 -694
  103. package/OpenChannelProvider-0fb27972.js.map +1 -0
  104. package/OpenChannelSettings/components/EditDetailsModal.js +29 -35
  105. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  106. package/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  107. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  108. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +38 -22
  109. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  110. package/OpenChannelSettings/components/OperatorUI.js +45 -30
  111. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  112. package/OpenChannelSettings/components/ParticipantUI.js +29 -56
  113. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  114. package/OpenChannelSettings/context.js +15 -15
  115. package/OpenChannelSettings/context.js.map +1 -1
  116. package/OpenChannelSettings.js +18 -18
  117. package/README.md +128 -0
  118. package/SendbirdProvider.js +42 -37
  119. package/SendbirdProvider.js.map +1 -1
  120. package/{UserProfileContext-b6d89d0d.js → UserProfileContext-6a387a08.js} +1 -1
  121. package/{UserProfileContext-b6d89d0d.js.map → UserProfileContext-6a387a08.js.map} +1 -1
  122. package/__bundle-7dfccc8c-03df3ada.js +24 -0
  123. package/__bundle-7dfccc8c-03df3ada.js.map +1 -0
  124. package/{_rollupPluginBabelHelpers-d10f91b9.js → _rollupPluginBabelHelpers-084fb589.js} +1 -1
  125. package/{_rollupPluginBabelHelpers-d10f91b9.js.map → _rollupPluginBabelHelpers-084fb589.js.map} +1 -1
  126. package/{actionTypes-17920f59.js → actionTypes-302a2801.js} +1 -1
  127. package/{actionTypes-17920f59.js.map → actionTypes-302a2801.js.map} +1 -1
  128. package/cjs/App.js +46 -44
  129. package/cjs/App.js.map +1 -1
  130. package/cjs/Channel/components/ChannelHeader.js +24 -20
  131. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  132. package/cjs/Channel/components/ChannelUI.js +28 -26
  133. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  134. package/cjs/Channel/components/FileViewer.js +17 -15
  135. package/cjs/Channel/components/FileViewer.js.map +1 -1
  136. package/cjs/Channel/components/FrozenNotification.js +5 -5
  137. package/cjs/Channel/components/Message.js +30 -26
  138. package/cjs/Channel/components/Message.js.map +1 -1
  139. package/cjs/Channel/components/MessageInput.js +20 -18
  140. package/cjs/Channel/components/MessageInput.js.map +1 -1
  141. package/cjs/Channel/components/MessageList.js +30 -28
  142. package/cjs/Channel/components/MessageList.js.map +1 -1
  143. package/cjs/Channel/components/RemoveMessageModal.js +20 -18
  144. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  145. package/cjs/Channel/components/SuggestedMentionList.js +42 -37
  146. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  147. package/cjs/Channel/components/TypingIndicator.js +36 -32
  148. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  149. package/cjs/Channel/components/UnreadCount.js +6 -6
  150. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  151. package/cjs/Channel/context.js +16 -14
  152. package/cjs/Channel/context.js.map +1 -1
  153. package/cjs/Channel.js +28 -26
  154. package/cjs/Channel.js.map +1 -1
  155. package/cjs/ChannelList/components/AddChannel.js +16 -16
  156. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  157. package/cjs/ChannelList/components/ChannelListUI.js +43 -44
  158. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  159. package/cjs/ChannelList/components/ChannelPreview.js +35 -31
  160. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  161. package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -15
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  163. package/cjs/ChannelList/context.js +10 -9
  164. package/cjs/ChannelList/context.js.map +1 -1
  165. package/cjs/ChannelList.js +30 -28
  166. package/cjs/ChannelList.js.map +1 -1
  167. package/cjs/{ChannelListProvider-f910e236.js → ChannelListProvider-7d1c0466.js} +218 -198
  168. package/cjs/ChannelListProvider-7d1c0466.js.map +1 -0
  169. package/cjs/{ChannelProvider-86e2e68c.js → ChannelProvider-a3ec5a56.js} +380 -419
  170. package/cjs/ChannelProvider-a3ec5a56.js.map +1 -0
  171. package/cjs/ChannelSettings/components/ChannelProfile.js +15 -15
  172. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  173. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +22 -22
  174. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  175. package/cjs/ChannelSettings/components/EditDetailsModal.js +21 -17
  176. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  177. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  178. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  179. package/cjs/ChannelSettings/components/{AdminPanel.js → ModerationPanel.js} +86 -140
  180. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  181. package/cjs/ChannelSettings/components/UserListItem.js +18 -17
  182. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  183. package/cjs/ChannelSettings/components/UserPanel.js +18 -18
  184. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  185. package/cjs/ChannelSettings/context.js +10 -10
  186. package/cjs/ChannelSettings/context.js.map +1 -1
  187. package/cjs/ChannelSettings.js +20 -20
  188. package/cjs/CreateChannel/components/CreateChannelUI.js +17 -17
  189. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  190. package/cjs/CreateChannel/components/{InviteMembers.js → InviteUsers.js} +23 -27
  191. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  192. package/cjs/CreateChannel/components/SelectChannelType.js +12 -12
  193. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  194. package/cjs/CreateChannel/context.js +5 -4
  195. package/cjs/CreateChannel/context.js.map +1 -1
  196. package/cjs/CreateChannel.js +16 -16
  197. package/cjs/{CreateChannelProvider-07992a6d.js → CreateChannelProvider-95fbfb06.js} +3 -3
  198. package/cjs/CreateChannelProvider-95fbfb06.js.map +1 -0
  199. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  200. package/cjs/EditUserProfile/context.js +2 -2
  201. package/cjs/EditUserProfile/context.js.map +1 -1
  202. package/cjs/EditUserProfile.js +13 -13
  203. package/cjs/{LocalizationContext-79514649.js → LocalizationContext-5a6a0f67.js} +3 -3
  204. package/cjs/{LocalizationContext-79514649.js.map → LocalizationContext-5a6a0f67.js.map} +1 -1
  205. package/cjs/{MemberList-015c1075.js → MemberList-bfecdd64.js} +46 -67
  206. package/cjs/MemberList-bfecdd64.js.map +1 -0
  207. package/cjs/MessageSearch/components/MessageSearchUI.js +14 -14
  208. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  209. package/cjs/MessageSearch/context.js +55 -60
  210. package/cjs/MessageSearch/context.js.map +1 -1
  211. package/cjs/MessageSearch.js +21 -21
  212. package/cjs/MessageSearch.js.map +1 -1
  213. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  214. package/cjs/OpenChannel/components/OpenChannelHeader.js +16 -14
  215. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  216. package/cjs/OpenChannel/components/OpenChannelInput.js +19 -17
  217. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  218. package/cjs/OpenChannel/components/OpenChannelMessage.js +43 -38
  219. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  220. package/cjs/OpenChannel/components/OpenChannelMessageList.js +37 -36
  221. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  222. package/cjs/OpenChannel/components/OpenChannelUI.js +27 -25
  223. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  224. package/cjs/OpenChannel/context.js +12 -10
  225. package/cjs/OpenChannel/context.js.map +1 -1
  226. package/cjs/OpenChannel.js +27 -25
  227. package/cjs/OpenChannel.js.map +1 -1
  228. package/cjs/{OpenChannelProvider-445f214c.js → OpenChannelProvider-e8247193.js} +629 -694
  229. package/cjs/OpenChannelProvider-e8247193.js.map +1 -0
  230. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +28 -34
  231. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  232. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  233. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  234. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +37 -21
  235. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  236. package/cjs/OpenChannelSettings/components/OperatorUI.js +42 -27
  237. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  238. package/cjs/OpenChannelSettings/components/ParticipantUI.js +28 -55
  239. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  240. package/cjs/OpenChannelSettings/context.js +15 -15
  241. package/cjs/OpenChannelSettings/context.js.map +1 -1
  242. package/cjs/OpenChannelSettings.js +18 -18
  243. package/cjs/SendbirdProvider.js +42 -38
  244. package/cjs/SendbirdProvider.js.map +1 -1
  245. package/cjs/{UserProfileContext-12cfee31.js → UserProfileContext-17c8f75c.js} +1 -1
  246. package/cjs/{UserProfileContext-12cfee31.js.map → UserProfileContext-17c8f75c.js.map} +1 -1
  247. package/cjs/__bundle-7dfccc8c-c3c55861.js +151 -0
  248. package/cjs/__bundle-7dfccc8c-c3c55861.js.map +1 -0
  249. package/cjs/{_rollupPluginBabelHelpers-f802e0e8.js → _rollupPluginBabelHelpers-d984e855.js} +1 -1
  250. package/cjs/{_rollupPluginBabelHelpers-f802e0e8.js.map → _rollupPluginBabelHelpers-d984e855.js.map} +1 -1
  251. package/cjs/{actionTypes-93161807.js → actionTypes-7a330bec.js} +1 -1
  252. package/cjs/{actionTypes-93161807.js.map → actionTypes-7a330bec.js.map} +1 -1
  253. package/cjs/{color-c53ac792.js → color-b30f84a2.js} +1 -1
  254. package/cjs/{color-c53ac792.js.map → color-b30f84a2.js.map} +1 -1
  255. package/cjs/{compareIds-37e8380c.js → compareIds-d8053014.js} +1 -1
  256. package/cjs/{compareIds-37e8380c.js.map → compareIds-d8053014.js.map} +1 -1
  257. package/cjs/{const-3024c719.js → const-2623fae1.js} +1 -1
  258. package/cjs/{const-3024c719.js.map → const-2623fae1.js.map} +1 -1
  259. package/cjs/{const-489c46b6.js → const-6aa26f9f.js} +1 -1
  260. package/cjs/{const-489c46b6.js.map → const-6aa26f9f.js.map} +1 -1
  261. package/cjs/{context-961d5b11.js → context-83ecdafd.js} +2 -2
  262. package/cjs/{context-961d5b11.js.map → context-83ecdafd.js.map} +1 -1
  263. package/cjs/dist/index.css +218 -96
  264. package/cjs/dist/index.css.map +1 -1
  265. package/cjs/groupChannel-e311e26a.js +9 -0
  266. package/cjs/groupChannel-e311e26a.js.map +1 -0
  267. package/cjs/{index-d25a7cbf.js → index-1e14c5b9.js} +4 -4
  268. package/cjs/{index-d25a7cbf.js.map → index-1e14c5b9.js.map} +1 -1
  269. package/cjs/{index-5615eab4.js → index-2537cbc7.js} +4 -4
  270. package/cjs/{index-5615eab4.js.map → index-2537cbc7.js.map} +1 -1
  271. package/cjs/{index-bc563d47.js → index-40d245a3.js} +32 -29
  272. package/cjs/index-40d245a3.js.map +1 -0
  273. package/cjs/{index-5eaebc66.js → index-5e7b82c2.js} +12 -9
  274. package/cjs/index-5e7b82c2.js.map +1 -0
  275. package/cjs/{index-0b2e2c2a.js → index-72479c2a.js} +1 -1
  276. package/cjs/{index-0b2e2c2a.js.map → index-72479c2a.js.map} +1 -1
  277. package/cjs/{index-07623c8b.js → index-ab5d906d.js} +2 -2
  278. package/cjs/{index-07623c8b.js.map → index-ab5d906d.js.map} +1 -1
  279. package/cjs/{index-cb53adf5.js → index-cdcd27bc.js} +2 -2
  280. package/cjs/{index-cb53adf5.js.map → index-cdcd27bc.js.map} +1 -1
  281. package/cjs/{index-d70ac86e.js → index-ce679d41.js} +1 -1
  282. package/cjs/{index-d70ac86e.js.map → index-ce679d41.js.map} +1 -1
  283. package/cjs/{index-a20b40c4.js → index-df05e765.js} +5 -5
  284. package/cjs/index-df05e765.js.map +1 -0
  285. package/cjs/{index-2180f74f.js → index-f9677913.js} +5 -5
  286. package/cjs/index-f9677913.js.map +1 -0
  287. package/cjs/index.js +40 -38
  288. package/cjs/index.js.map +1 -1
  289. package/cjs/openChannel-e9f65946.js +13 -0
  290. package/cjs/openChannel-e9f65946.js.map +1 -0
  291. package/cjs/{openChannelUtils-7fb1abc6.js → openChannelUtils-4b7d2697.js} +10 -5
  292. package/cjs/openChannelUtils-4b7d2697.js.map +1 -0
  293. package/cjs/sendbirdSelectors.js +696 -0
  294. package/cjs/sendbirdSelectors.js.map +1 -0
  295. package/cjs/{stringSet-ae448472.js → stringSet-2f3588b5.js} +1 -1
  296. package/cjs/{stringSet-ae448472.js.map → stringSet-2f3588b5.js.map} +1 -1
  297. package/cjs/{topics-bdbff23e.js → topics-582e38dc.js} +1 -1
  298. package/cjs/{topics-bdbff23e.js.map → topics-582e38dc.js.map} +1 -1
  299. package/cjs/{tslib.es6-a7af7bb8.js → tslib.es6-d9c7aa8b.js} +1 -1
  300. package/cjs/{tslib.es6-a7af7bb8.js.map → tslib.es6-d9c7aa8b.js.map} +1 -1
  301. package/cjs/ui/Accordion.js +4 -4
  302. package/cjs/ui/AccordionGroup.js +2 -2
  303. package/cjs/ui/AccordionGroup.js.map +1 -1
  304. package/cjs/ui/AdminMessage.js +4 -3
  305. package/cjs/ui/AdminMessage.js.map +1 -1
  306. package/cjs/ui/Avatar.js +3 -3
  307. package/cjs/ui/Badge.js +5 -5
  308. package/cjs/ui/Button.js +4 -4
  309. package/cjs/ui/ChannelAvatar.js +8 -8
  310. package/cjs/ui/ChannelAvatar.js.map +1 -1
  311. package/cjs/ui/ChannelPreview.js +28 -21
  312. package/cjs/ui/ChannelPreview.js.map +1 -1
  313. package/cjs/ui/ChatHeader.js +19 -12
  314. package/cjs/ui/ChatHeader.js.map +1 -1
  315. package/cjs/ui/Checkbox.js +1 -1
  316. package/cjs/ui/ConnectionStatus.js +5 -5
  317. package/cjs/ui/ContextMenu.js +9 -30
  318. package/cjs/ui/ContextMenu.js.map +1 -1
  319. package/cjs/ui/DateSeparator.js +5 -5
  320. package/cjs/ui/DateSeparator.js.map +1 -1
  321. package/cjs/ui/Dropdown.js +3 -3
  322. package/cjs/ui/EmojiReactions.js +10 -10
  323. package/cjs/ui/EmojiReactions.js.map +1 -1
  324. package/cjs/ui/FileMessageItemBody.js +6 -6
  325. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  326. package/cjs/ui/FileViewer.js +7 -7
  327. package/cjs/ui/Icon.js +5 -1
  328. package/cjs/ui/Icon.js.map +1 -1
  329. package/cjs/ui/IconButton.js +1 -1
  330. package/cjs/ui/ImageRenderer.js +1 -1
  331. package/cjs/ui/Input.js +3 -3
  332. package/cjs/ui/Label.js +3 -3
  333. package/cjs/ui/LinkLabel.js +3 -3
  334. package/cjs/ui/Loader.js +1 -1
  335. package/cjs/ui/MentionLabel.js +19 -17
  336. package/cjs/ui/MentionLabel.js.map +1 -1
  337. package/cjs/ui/MentionUserLabel.js +1 -1
  338. package/cjs/ui/MentionUserLabel.js.map +1 -1
  339. package/cjs/ui/MessageContent.js +52 -47
  340. package/cjs/ui/MessageContent.js.map +1 -1
  341. package/cjs/ui/MessageInput.js +10 -10
  342. package/cjs/ui/MessageItemMenu.js +14 -18
  343. package/cjs/ui/MessageItemMenu.js.map +1 -1
  344. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  345. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  346. package/cjs/ui/MessageSearchFileItem.js +12 -11
  347. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  348. package/cjs/ui/MessageSearchItem.js +10 -10
  349. package/cjs/ui/MessageSearchItem.js.map +1 -1
  350. package/cjs/ui/MessageStatus.js +11 -11
  351. package/cjs/ui/MessageStatus.js.map +1 -1
  352. package/cjs/ui/Modal.js +8 -8
  353. package/cjs/ui/MutedAvatarOverlay.js +7 -7
  354. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  355. package/cjs/ui/OGMessageItemBody.js +17 -16
  356. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  357. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  358. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  359. package/cjs/ui/OpenChannelAvatar.js +11 -11
  360. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  361. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  362. package/cjs/ui/OpenchannelFileMessage.js +16 -15
  363. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  364. package/cjs/ui/OpenchannelOGMessage.js +16 -15
  365. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  366. package/cjs/ui/OpenchannelThumbnailMessage.js +17 -16
  367. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  368. package/cjs/ui/OpenchannelUserMessage.js +17 -16
  369. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  370. package/cjs/ui/PlaceHolder.js +6 -6
  371. package/cjs/ui/QuoteMessage.js +24 -24
  372. package/cjs/ui/QuoteMessage.js.map +1 -1
  373. package/cjs/ui/QuoteMessageInput.js +11 -13
  374. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  375. package/cjs/ui/ReactionBadge.js +3 -3
  376. package/cjs/ui/ReactionButton.js +1 -1
  377. package/cjs/ui/SortByRow.js +1 -1
  378. package/cjs/ui/TextButton.js +2 -2
  379. package/cjs/ui/TextMessageItemBody.js +16 -15
  380. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  381. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  382. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  383. package/cjs/ui/Tooltip.js +3 -3
  384. package/cjs/ui/TooltipWrapper.js +1 -1
  385. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  386. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  387. package/cjs/ui/UserListItem.js +13 -12
  388. package/cjs/ui/UserListItem.js.map +1 -1
  389. package/cjs/ui/UserProfile.js +17 -16
  390. package/cjs/ui/UserProfile.js.map +1 -1
  391. package/cjs/{index-4e8b61f7.js → ui/Word.js} +31 -10
  392. package/cjs/ui/Word.js.map +1 -0
  393. package/cjs/useSendbirdStateContext.js +1 -1
  394. package/cjs/useSendbirdStateContext.js.map +1 -1
  395. package/cjs/{utils-0d5ecf05.js → utils-031aba48.js} +1 -1
  396. package/cjs/{utils-0d5ecf05.js.map → utils-031aba48.js.map} +1 -1
  397. package/cjs/{utils-03155980.js → utils-510b93ac.js} +8 -8
  398. package/cjs/utils-510b93ac.js.map +1 -0
  399. package/cjs/{utils-139469a5.js → utils-689065e6.js} +1 -1
  400. package/cjs/{utils-139469a5.js.map → utils-689065e6.js.map} +1 -1
  401. package/cjs/{uuid-03009a31.js → uuid-099485ae.js} +1 -1
  402. package/cjs/{uuid-03009a31.js.map → uuid-099485ae.js.map} +1 -1
  403. package/cjs/withSendBird.js +1 -1
  404. package/{color-6b259e40.js → color-9bf8c922.js} +1 -1
  405. package/{color-6b259e40.js.map → color-9bf8c922.js.map} +1 -1
  406. package/{compareIds-982972e8.js → compareIds-b78d7cd6.js} +1 -1
  407. package/{compareIds-982972e8.js.map → compareIds-b78d7cd6.js.map} +1 -1
  408. package/{const-da3968a5.js → const-40b58d8b.js} +1 -1
  409. package/{const-da3968a5.js.map → const-40b58d8b.js.map} +1 -1
  410. package/{const-e3d1e0ec.js → const-99800b8d.js} +1 -1
  411. package/{const-e3d1e0ec.js.map → const-99800b8d.js.map} +1 -1
  412. package/{context-3d5505d0.js → context-bedea43b.js} +2 -2
  413. package/{context-3d5505d0.js.map → context-bedea43b.js.map} +1 -1
  414. package/dist/index.css +218 -96
  415. package/dist/index.css.map +1 -1
  416. package/groupChannel-96502de7.js +6 -0
  417. package/groupChannel-96502de7.js.map +1 -0
  418. package/{index-94489c17.js → index-13729368.js} +1 -1
  419. package/{index-94489c17.js.map → index-13729368.js.map} +1 -1
  420. package/{index-95677caf.js → index-16bed610.js} +2 -2
  421. package/{index-95677caf.js.map → index-16bed610.js.map} +1 -1
  422. package/{index-db6a4860.js → index-1d112ad4.js} +1 -1
  423. package/{index-db6a4860.js.map → index-1d112ad4.js.map} +1 -1
  424. package/{index-065ef420.js → index-71ad343b.js} +12 -9
  425. package/index-71ad343b.js.map +1 -0
  426. package/{index-17cf7808.js → index-71e2bf26.js} +5 -5
  427. package/index-71e2bf26.js.map +1 -0
  428. package/{index-902c2068.js → index-8e6a607b.js} +33 -30
  429. package/index-8e6a607b.js.map +1 -0
  430. package/{index-a755675d.js → index-a5e8849a.js} +4 -4
  431. package/{index-a755675d.js.map → index-a5e8849a.js.map} +1 -1
  432. package/{index-9deb1389.js → index-b574cc8e.js} +5 -5
  433. package/index-b574cc8e.js.map +1 -0
  434. package/{index-691dc8da.js → index-c95d2aab.js} +4 -4
  435. package/{index-691dc8da.js.map → index-c95d2aab.js.map} +1 -1
  436. package/{index-92160328.js → index-ccd99cfe.js} +2 -2
  437. package/{index-92160328.js.map → index-ccd99cfe.js.map} +1 -1
  438. package/index.d.ts +1021 -897
  439. package/index.d.ts_bkup +1883 -0
  440. package/index.js +39 -37
  441. package/index.js.map +1 -1
  442. package/openChannel-dd5c9246.js +8 -0
  443. package/openChannel-dd5c9246.js.map +1 -0
  444. package/{openChannelUtils-2cd370a7.js → openChannelUtils-211a679a.js} +10 -5
  445. package/openChannelUtils-211a679a.js.map +1 -0
  446. package/package.json +5 -5
  447. package/sendbirdSelectors.js +671 -0
  448. package/sendbirdSelectors.js.map +1 -0
  449. package/{stringSet-5a85ff4b.js → stringSet-d3a8a2a0.js} +1 -1
  450. package/{stringSet-5a85ff4b.js.map → stringSet-d3a8a2a0.js.map} +1 -1
  451. package/{topics-24a660ee.js → topics-f941ba80.js} +2 -2
  452. package/{topics-24a660ee.js.map → topics-f941ba80.js.map} +1 -1
  453. package/{tslib.es6-2c4d01e9.js → tslib.es6-a7db0cc5.js} +1 -1
  454. package/{tslib.es6-2c4d01e9.js.map → tslib.es6-a7db0cc5.js.map} +1 -1
  455. package/ui/Accordion.js +4 -4
  456. package/ui/AccordionGroup.js +2 -2
  457. package/ui/AccordionGroup.js.map +1 -1
  458. package/ui/AdminMessage.js +4 -3
  459. package/ui/AdminMessage.js.map +1 -1
  460. package/ui/Avatar.js +3 -3
  461. package/ui/Badge.js +5 -5
  462. package/ui/Button.js +4 -4
  463. package/ui/ChannelAvatar.js +8 -8
  464. package/ui/ChannelAvatar.js.map +1 -1
  465. package/ui/ChannelPreview.js +28 -21
  466. package/ui/ChannelPreview.js.map +1 -1
  467. package/ui/ChatHeader.js +19 -12
  468. package/ui/ChatHeader.js.map +1 -1
  469. package/ui/Checkbox.js +1 -1
  470. package/ui/ConnectionStatus.js +5 -5
  471. package/ui/ContextMenu.js +9 -30
  472. package/ui/ContextMenu.js.map +1 -1
  473. package/ui/DateSeparator.js +5 -5
  474. package/ui/DateSeparator.js.map +1 -1
  475. package/ui/Dropdown.js +3 -3
  476. package/ui/EmojiReactions.js +10 -10
  477. package/ui/EmojiReactions.js.map +1 -1
  478. package/ui/FileMessageItemBody.js +6 -6
  479. package/ui/FileMessageItemBody.js.map +1 -1
  480. package/ui/FileViewer.js +7 -7
  481. package/ui/Icon.js +5 -1
  482. package/ui/Icon.js.map +1 -1
  483. package/ui/IconButton.js +1 -1
  484. package/ui/ImageRenderer.js +1 -1
  485. package/ui/Input.js +3 -3
  486. package/ui/Label.js +3 -3
  487. package/ui/LinkLabel.js +3 -3
  488. package/ui/Loader.js +1 -1
  489. package/ui/MentionLabel.js +19 -17
  490. package/ui/MentionLabel.js.map +1 -1
  491. package/ui/MentionUserLabel.js +1 -1
  492. package/ui/MentionUserLabel.js.map +1 -1
  493. package/ui/MessageContent.js +54 -49
  494. package/ui/MessageContent.js.map +1 -1
  495. package/ui/MessageInput.js +10 -10
  496. package/ui/MessageItemMenu.js +14 -18
  497. package/ui/MessageItemMenu.js.map +1 -1
  498. package/ui/MessageItemReactionMenu.js +5 -5
  499. package/ui/MessageItemReactionMenu.js.map +1 -1
  500. package/ui/MessageSearchFileItem.js +12 -11
  501. package/ui/MessageSearchFileItem.js.map +1 -1
  502. package/ui/MessageSearchItem.js +10 -10
  503. package/ui/MessageSearchItem.js.map +1 -1
  504. package/ui/MessageStatus.js +11 -11
  505. package/ui/MessageStatus.js.map +1 -1
  506. package/ui/Modal.js +8 -8
  507. package/ui/MutedAvatarOverlay.js +7 -7
  508. package/ui/MutedAvatarOverlay.js.map +1 -1
  509. package/ui/OGMessageItemBody.js +15 -14
  510. package/ui/OGMessageItemBody.js.map +1 -1
  511. package/ui/OpenChannelAdminMessage.js +4 -4
  512. package/ui/OpenChannelAdminMessage.js.map +1 -1
  513. package/ui/OpenChannelAvatar.js +11 -11
  514. package/ui/OpenChannelAvatar.js.map +1 -1
  515. package/ui/OpenchannelConversationHeader.js +7 -7
  516. package/ui/OpenchannelFileMessage.js +16 -15
  517. package/ui/OpenchannelFileMessage.js.map +1 -1
  518. package/ui/OpenchannelOGMessage.js +16 -15
  519. package/ui/OpenchannelOGMessage.js.map +1 -1
  520. package/ui/OpenchannelThumbnailMessage.js +17 -16
  521. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  522. package/ui/OpenchannelUserMessage.js +17 -16
  523. package/ui/OpenchannelUserMessage.js.map +1 -1
  524. package/ui/PlaceHolder.js +6 -6
  525. package/ui/QuoteMessage.js +24 -24
  526. package/ui/QuoteMessage.js.map +1 -1
  527. package/ui/QuoteMessageInput.js +11 -13
  528. package/ui/QuoteMessageInput.js.map +1 -1
  529. package/ui/ReactionBadge.js +3 -3
  530. package/ui/ReactionButton.js +1 -1
  531. package/ui/SortByRow.js +1 -1
  532. package/ui/TextButton.js +2 -2
  533. package/ui/TextMessageItemBody.js +15 -14
  534. package/ui/TextMessageItemBody.js.map +1 -1
  535. package/ui/ThumbnailMessageItemBody.js +3 -3
  536. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  537. package/ui/Tooltip.js +3 -3
  538. package/ui/TooltipWrapper.js +1 -1
  539. package/ui/UnknownMessageItemBody.js +7 -7
  540. package/ui/UnknownMessageItemBody.js.map +1 -1
  541. package/ui/UserListItem.js +13 -12
  542. package/ui/UserListItem.js.map +1 -1
  543. package/ui/UserProfile.js +16 -15
  544. package/ui/UserProfile.js.map +1 -1
  545. package/ui/Word.js +70 -0
  546. package/ui/Word.js.map +1 -0
  547. package/useSendbirdStateContext.js +1 -1
  548. package/useSendbirdStateContext.js.map +1 -1
  549. package/{utils-57c79308.js → utils-2e3623c0.js} +1 -1
  550. package/{utils-57c79308.js.map → utils-2e3623c0.js.map} +1 -1
  551. package/{utils-85d3d94c.js → utils-cadde06a.js} +1 -1
  552. package/{utils-85d3d94c.js.map → utils-cadde06a.js.map} +1 -1
  553. package/{utils-b3b6f503.js → utils-d9325ddf.js} +8 -8
  554. package/utils-d9325ddf.js.map +1 -0
  555. package/{uuid-0ab81e67.js → uuid-748dae7a.js} +1 -1
  556. package/{uuid-0ab81e67.js.map → uuid-748dae7a.js.map} +1 -1
  557. package/withSendBird.js +1 -1
  558. package/ChannelListProvider-737ee36f.js.map +0 -1
  559. package/ChannelProvider-34834493.js.map +0 -1
  560. package/ChannelSettings/components/AdminPanel.js.map +0 -1
  561. package/CreateChannel/components/InviteMembers.js.map +0 -1
  562. package/CreateChannelProvider-3d3e4a7c.js.map +0 -1
  563. package/MemberList-6e33a562.js.map +0 -1
  564. package/OpenChannelProvider-9ef0d52a.js.map +0 -1
  565. package/cjs/ChannelListProvider-f910e236.js.map +0 -1
  566. package/cjs/ChannelProvider-86e2e68c.js.map +0 -1
  567. package/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
  568. package/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
  569. package/cjs/CreateChannelProvider-07992a6d.js.map +0 -1
  570. package/cjs/MemberList-015c1075.js.map +0 -1
  571. package/cjs/OpenChannelProvider-445f214c.js.map +0 -1
  572. package/cjs/index-2180f74f.js.map +0 -1
  573. package/cjs/index-4e8b61f7.js.map +0 -1
  574. package/cjs/index-5eaebc66.js.map +0 -1
  575. package/cjs/index-a20b40c4.js.map +0 -1
  576. package/cjs/index-bc563d47.js.map +0 -1
  577. package/cjs/openChannelUtils-7fb1abc6.js.map +0 -1
  578. package/cjs/sendBirdSelectors.js +0 -741
  579. package/cjs/sendBirdSelectors.js.map +0 -1
  580. package/cjs/ui/OpenChannelMessageContent.js +0 -14
  581. package/cjs/ui/OpenChannelMessageContent.js.map +0 -1
  582. package/cjs/utils-03155980.js.map +0 -1
  583. package/index-065ef420.js.map +0 -1
  584. package/index-17cf7808.js.map +0 -1
  585. package/index-81a93b05.js +0 -49
  586. package/index-81a93b05.js.map +0 -1
  587. package/index-902c2068.js.map +0 -1
  588. package/index-9deb1389.js.map +0 -1
  589. package/openChannelUtils-2cd370a7.js.map +0 -1
  590. package/sendBirdSelectors.js +0 -713
  591. package/sendBirdSelectors.js.map +0 -1
  592. package/ui/OpenChannelMessageContent.js +0 -8
  593. package/ui/OpenChannelMessageContent.js.map +0 -1
  594. package/utils-b3b6f503.js.map +0 -1
@@ -1,44 +1,47 @@
1
1
  import React__default, { useState, useMemo } from 'react';
2
- import { i as isSameDay } from '../../index-95677caf.js';
3
- import { u as useChannel, c as compareMessagesForGrouping, i as isAboutSame } from '../../ChannelProvider-34834493.js';
4
- import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-691dc8da.js';
2
+ import { i as isSameDay } from '../../index-16bed610.js';
3
+ import { u as useChannelContext, c as compareMessagesForGrouping, i as isAboutSame } from '../../ChannelProvider-c0ed5fae.js';
4
+ import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-c95d2aab.js';
5
5
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
6
6
  import Message from './Message.js';
7
- import { u as uuidv4 } from '../../uuid-0ab81e67.js';
8
- import '../../index-92160328.js';
9
- import '../../index-94489c17.js';
10
- import '../../UserProfileContext-b6d89d0d.js';
7
+ import { u as uuidv4 } from '../../uuid-748dae7a.js';
8
+ import '../../index-ccd99cfe.js';
9
+ import '../../index-13729368.js';
10
+ import '../../UserProfileContext-6a387a08.js';
11
11
  import 'prop-types';
12
12
  import '../../useSendbirdStateContext.js';
13
13
  import '../../withSendBird.js';
14
- import '../../_rollupPluginBabelHelpers-d10f91b9.js';
15
- import '../../topics-24a660ee.js';
16
- import '../../index-902c2068.js';
17
- import '../../tslib.es6-2c4d01e9.js';
18
- import '../../compareIds-982972e8.js';
19
- import '../../const-e3d1e0ec.js';
14
+ import '../../_rollupPluginBabelHelpers-084fb589.js';
15
+ import '../../topics-f941ba80.js';
16
+ import '../../index-8e6a607b.js';
17
+ import '../../tslib.es6-a7db0cc5.js';
18
+ import '../../compareIds-b78d7cd6.js';
19
+ import '../../const-99800b8d.js';
20
+ import '../../groupChannel-96502de7.js';
21
+ import '../../__bundle-7dfccc8c-03df3ada.js';
20
22
  import '../../ui/ContextMenu.js';
21
- import '../../index-17cf7808.js';
22
- import '../../stringSet-5a85ff4b.js';
23
+ import '../../index-71e2bf26.js';
24
+ import '../../stringSet-d3a8a2a0.js';
23
25
  import 'react-dom';
24
26
  import '../../ui/SortByRow.js';
25
27
  import '../../ui/ReactionButton.js';
26
28
  import '../../ui/ImageRenderer.js';
27
29
  import '../../ui/Loader.js';
28
- import '../../LocalizationContext-5b0a9339.js';
30
+ import '../../LocalizationContext-fb3dafcd.js';
29
31
  import './SuggestedMentionList.js';
30
32
  import '../../ui/Avatar.js';
31
- import '../../const-da3968a5.js';
33
+ import '../../const-40b58d8b.js';
32
34
  import '../../ui/DateSeparator.js';
33
- import '../../color-6b259e40.js';
35
+ import '../../color-9bf8c922.js';
34
36
  import '../../ui/MessageInput.js';
35
37
  import 'stream';
36
38
  import '../../ui/IconButton.js';
37
- import '../../index-9deb1389.js';
39
+ import '../../index-b574cc8e.js';
38
40
  import '../../ui/MentionUserLabel.js';
39
41
  import '../../ui/MessageContent.js';
40
42
  import '../../ui/UserProfile.js';
41
- import '../../sendBirdSelectors.js';
43
+ import '../../sendbirdSelectors.js';
44
+ import '../../utils-cadde06a.js';
42
45
  import '../../ui/MessageStatus.js';
43
46
  import '../../ui/MessageItemMenu.js';
44
47
  import '../../ui/MessageItemReactionMenu.js';
@@ -48,7 +51,7 @@ import '../../ui/TooltipWrapper.js';
48
51
  import '../../ui/ReactionBadge.js';
49
52
  import '../../ui/AdminMessage.js';
50
53
  import '../../ui/TextMessageItemBody.js';
51
- import '../../index-81a93b05.js';
54
+ import '../../ui/Word.js';
52
55
  import '../../ui/LinkLabel.js';
53
56
  import '../../ui/MentionLabel.js';
54
57
  import '../../ui/FileMessageItemBody.js';
@@ -58,10 +61,9 @@ import '../../ui/OGMessageItemBody.js';
58
61
  import '../../ui/UnknownMessageItemBody.js';
59
62
  import '../../ui/QuoteMessage.js';
60
63
  import './FileViewer.js';
61
- import '../../index-db6a4860.js';
64
+ import '../../index-1d112ad4.js';
62
65
  import './RemoveMessageModal.js';
63
66
  import '../../ui/Modal.js';
64
- import '../../utils-85d3d94c.js';
65
67
 
66
68
  var SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';
67
69
 
@@ -70,13 +72,13 @@ var MessageList = function MessageList(props) {
70
72
  renderPlaceholderEmpty = props.renderPlaceholderEmpty,
71
73
  renderCustomSeparator = props.renderCustomSeparator;
72
74
 
73
- var _a = useChannel(),
75
+ var _a = useChannelContext(),
74
76
  allMessages = _a.allMessages,
75
77
  hasMorePrev = _a.hasMorePrev,
76
78
  setInitialTimeStamp = _a.setInitialTimeStamp,
77
79
  setAnimatedMessageId = _a.setAnimatedMessageId,
78
80
  setHighLightedMessageId = _a.setHighLightedMessageId,
79
- useMessageGrouping = _a.useMessageGrouping,
81
+ isMessageGroupingEnabled = _a.isMessageGroupingEnabled,
80
82
  scrollRef = _a.scrollRef,
81
83
  onScrollCallback = _a.onScrollCallback,
82
84
  onScrollDownCallback = _a.onScrollDownCallback,
@@ -147,7 +149,7 @@ var MessageList = function MessageList(props) {
147
149
  channel: currentGroupChannel
148
150
  }
149
151
  });
150
- currentGroupChannel.markAsRead();
152
+ currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.markAsRead();
151
153
  }
152
154
  }, 500);
153
155
  };
@@ -159,7 +161,7 @@ var MessageList = function MessageList(props) {
159
161
  setAnimatedMessageId === null || setAnimatedMessageId === void 0 ? void 0 : setAnimatedMessageId(null);
160
162
  setHighLightedMessageId === null || setHighLightedMessageId === void 0 ? void 0 : setHighLightedMessageId(null);
161
163
 
162
- if ((_a = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) {
164
+ if (((_a = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) > -1) {
163
165
  scrollRef.current.scrollTop = ((_b = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _b === void 0 ? void 0 : _b.scrollHeight) - ((_c = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _c === void 0 ? void 0 : _c.offsetHeight);
164
166
  }
165
167
  }; // Because every message components are re-rendered everytime by every scroll events
@@ -170,7 +172,7 @@ var MessageList = function MessageList(props) {
170
172
  var previousMessage = allMessages[idx - 1];
171
173
  var nextMessage = allMessages[idx + 1];
172
174
 
173
- var _a = useMessageGrouping ? compareMessagesForGrouping(previousMessage, m, nextMessage) : [false, false],
175
+ var _a = isMessageGroupingEnabled ? compareMessagesForGrouping(previousMessage, m, nextMessage) : [false, false],
174
176
  chainTop = _a[0],
175
177
  chainBottom = _a[1];
176
178
 
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sources":["../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannel } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactNode;\n renderPlaceholderEmpty?: () => React.ReactNode;\n renderCustomSeparator?: () => React.ReactNode;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n useMessageGrouping,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n } = useChannel();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n element.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n // do this later\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n currentGroupChannel.markAsRead();\n }\n }, 500);\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n }\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannel","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","useMessageGrouping","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","messageId","uuidv4","length","PlaceHolderTypes","NO_MESSAGES","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sources":["../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n element.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n // do this later\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n currentGroupChannel?.markAsRead();\n }\n }, 500);\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n }\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","messageId","uuidv4","length","PlaceHolderTypes","NO_MESSAGES","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAMA,qBAAqB,GAAG,2BAA9B;;IAEMC,WAAW,GAA+B,SAA1CA,WAA0C,CAACC,KAAD;AAE5C,MAAAC,aAAa,GAGXD,KAAK,cAHP;AAAA,MACAE,sBAAsB,GAEpBF,KAAK,uBAHP;AAAA,MAEAG,qBAAqB,GACnBH,KAAK,sBAHP;;AAII,MAAAI,KAaFC,iBAAiB,EAbf;AAAA,MACJC,WAAW,iBADP;AAAA,MAEJC,WAAW,iBAFP;AAAA,MAGJC,mBAAmB,yBAHf;AAAA,MAIJC,oBAAoB,0BAJhB;AAAA,MAKJC,uBAAuB,6BALnB;AAAA,MAMJC,wBAAwB,8BANpB;AAAA,MAOJC,SAAS,eAPL;AAAA,MAQJC,gBAAgB,sBARZ;AAAA,MASJC,oBAAoB,0BAThB;AAAA,MAUJC,kBAAkB,wBAVd;AAAA,MAWJC,kBAAkB,wBAXd;AAAA,MAYJC,mBAAmB,yBAZf;;AAcA,MAAAC,KAAkCC,QAAQ,CAAC,CAAD,CAA1C;AAAA,MAACC,YAAY,QAAb;AAAA,MAAeC,eAAe,QAA9B;;AAEN,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD;AACf,QAAMC,OAAO,GAAGD,CAAC,CAACE,MAAlB;AAEE,QAAAC,SAAS,GAGPF,OAAO,UAHT;AAAA,QACAG,YAAY,GAEVH,OAAO,aAHT;AAAA,QAEAI,YAAY,GACVJ,OAAO,aAHT;;AAKF,QAAIE,SAAS,KAAK,CAAlB,EAAqB;AACnB,UAAI,CAACnB,WAAL,EAAkB;AAChB;AACD;;AACD,UAAMsB,KAAK,GAAGjB,SAAS,CAACkB,OAAV,CAAkBC,gBAAlB,CAAmCjC,qBAAnC,CAAd;AACA,UAAMkC,OAAK,GAAGH,KAAK,IAAIA,KAAK,CAAC,CAAD,CAA5B;AACAhB,MAAAA,gBAAgB,CAAC,UAACT,EAAD;YAAE6B,QAAQ;;AACzB,YAAIA,QAAJ,EAAc;AACZ;AACA;AACA,cAAI;AACFD,YAAAA,OAAK,CAACE,cAAN,CAAqB;AAAEC,cAAAA,KAAK,EAAE,OAAT;AAAkBC,cAAAA,MAAM,EAAE;AAA1B,aAArB;AACD,WAFD,CAEE,OAAOC,KAAP,EAAc;AAEf;AACF;AACF,OAVe,CAAhB;AAWD;;AAED,QAAIC,WAAW,CAACX,YAAY,GAAGD,SAAhB,EAA2BE,YAA3B,EAAyC,EAAzC,CAAf,EAA6D;AAC3Dd,MAAAA,oBAAoB,CAAC,UAACV,EAAD;YAAE6B,QAAQ;;AAC7B,YAAIA,QAAJ,EAAc;AACZ,cAAI;AACFT,YAAAA,OAAO,CAACE,SAAR,GAAoBE,YAAY,GAAGD,YAAnC;AACD,WAFD,CAEE,OAAOU,KAAP,EAAc;AAEf;AACF;AACF,OARmB,CAApB;AASD;;;AAGD,QAAIzB,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEkB,OAAf,EAAwB;AACtB,UAAMA,OAAO,GAAGlB,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEkB,OAA3B;AACAT,MAAAA,eAAe,CAACS,OAAO,CAACF,YAAR,GAAuBE,OAAO,CAACJ,SAA/B,GAA2CI,OAAO,CAACS,YAApD,CAAf;AACD;;;AAGDC,IAAAA,UAAU,CAAC;AACT;AACA,UAAIb,YAAY,GAAGD,SAAf,KAA6BE,YAAjC,EAA+C;AAC7Cb,QAAAA,kBAAkB,CAAC;AACjB0B,UAAAA,IAAI,EAAEzB,kBAAkB,CAAC0B,YADR;AAEjBC,UAAAA,OAAO,EAAE;AAAEC,YAAAA,OAAO,EAAE3B;AAAX;AAFQ,SAAD,CAAlB;AAIAA,QAAAA,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,SAAA,GAAAA,mBAAmB,CAAE4B,UAArB,EAAA;AACD;AACF,KATS,EASP,GATO,CAAV;AAUD,GAxDD;;AA0DA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;;;AACvBtC,IAAAA,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,SAAA,GAAAA,mBAAmB,CAAG,IAAH,CAAnB;AACAC,IAAAA,oBAAoB,SAApB,IAAAA,oBAAoB,WAApB,SAAA,GAAAA,oBAAoB,CAAG,IAAH,CAApB;AACAC,IAAAA,uBAAuB,SAAvB,IAAAA,uBAAuB,WAAvB,SAAA,GAAAA,uBAAuB,CAAG,IAAH,CAAvB;;AACA,QAAI,CAAA,MAAAE,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEkB,OAAX,UAAA,iBAAA,SAAA,MAAoBJ,SAApB,IAAgC,CAAC,CAArC,EAAwC;AACtCd,MAAAA,SAAS,CAACkB,OAAV,CAAkBJ,SAAlB,GAA8B,CAAA,MAAAd,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEkB,OAAX,UAAA,iBAAA,SAAA,MAAoBF,YAApB,KAAmC,MAAAhB,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEkB,OAAX,UAAA,iBAAA,SAAA,MAAoBS,YAAvD,CAA9B;AACD;AACF,GAPD;;;AAUA,MAAMQ,mBAAmB,GAAGC,OAAO,CAAC;AAClC,WACE1C,WAAW,CAAC2C,GAAZ,CAAgB,UAACC,CAAD,EAAIC,GAAJ;AACd,UAAMC,eAAe,GAAG9C,WAAW,CAAC6C,GAAG,GAAG,CAAP,CAAnC;AACA,UAAME,WAAW,GAAG/C,WAAW,CAAC6C,GAAG,GAAG,CAAP,CAA/B;;AACM,UAAA/C,KAA0BO,wBAAwB,GACpD2C,0BAA0B,CAACF,eAAD,EAAkBF,CAAlB,EAAqBG,WAArB,CAD0B,GAEpD,CAAC,KAAD,EAAQ,KAAR,CAFE;AAAA,UAACE,QAAQ,QAAT;AAAA,UAAWC,WAAW,QAAtB;;AAGN,UAAMC,wBAAwB,GAAGL,eAAe,SAAf,IAAAA,eAAe,WAAf,SAAA,GAAAA,eAAe,CAAEM,SAAlD;AACA,UAAMC,gBAAgB,GAAGT,CAAC,CAACQ,SAA3B;;AAEA,UAAME,YAAY,GAAG,EAAEH,wBAAwB,IAC7CI,SAAS,CAACF,gBAAD,EAAmBF,wBAAnB,CADU,CAArB;;AAIA,UAAMK,YAAY,GAAG,SAAfA,YAAe;AACnB,YAAMhC,OAAO,GAAGlB,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEkB,OAA3B;;AACA,YAAIA,OAAJ,EAAa;AACX,cAAMiC,MAAM,GAAGjC,OAAO,CAACF,YAAR,GAAuBE,OAAO,CAACJ,SAA/B,GAA2CI,OAAO,CAACS,YAAlE;;AACA,cAAInB,YAAY,GAAG2C,MAAnB,EAA2B;AACzBjC,YAAAA,OAAO,CAACJ,SAAR,IAAqBqC,MAAM,GAAG3C,YAA9B;AACD;AACF;AACF,OARD;;AAUA,0BACE4C,6BAAC,OAAD;AACE,QAAA,YAAY,EAAEF,YADhB;AAEE,QAAA,aAAa,EAAE7D,aAFjB;AAGE,QAAA,OAAO,EAAEiD,CAHX;AAIE,QAAA,YAAY,EAAEU,YAJhB;AAKE,QAAA,QAAQ,EAAEL,QALZ;AAME,QAAA,WAAW,EAAEC,WANf;AAOE,QAAA,qBAAqB,EAAErD,qBAPzB;AAQE,QAAA,GAAG,EAAE+C,CAAC,CAACe,SAAF,GAAcC,MAAM;AAR3B,QADF;AAYD,KAnCD,CADF;AAsCD,GAvCkC,EAuChC,CAAC5D,WAAD,CAvCgC,CAAnC;;AAyCA,MAAIA,WAAW,CAAC6D,MAAZ,GAAqB,CAAzB,EAA4B;AAC1B,wBACEH,4DAEI,CAAA9D,sBAAsB,SAAtB,IAAAA,sBAAsB,WAAtB,SAAA,GAAAA,sBAAsB,EAAtB,kBACE8D,6BAAC,WAAD;AACE,MAAA,SAAS,EAAC,oCADZ;AAEE,MAAA,IAAI,EAAEI,gBAAgB,CAACC;AAFzB,MAHN,CADF;AAWD;;AACD,sBACEL;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,IADF,eAEEA;AACE,IAAA,SAAS,EAAC,yCADZ;AAEE,IAAA,GAAG,EAAEpD,SAFP;AAGE,IAAA,QAAQ,EAAEU;AAHZ,KAKGyB,mBALH,CAFF,CADF;AAaK3B,EAAAA,YAAY,GAAG,CAAhB,iBACE4C;AACE,IAAA,SAAS,EAAC,6CADZ;AAEE,IAAA,OAAO,EAAElB,gBAFX;AAGE,IAAA,SAAS,EAAEA,gBAHb;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,IAAI,EAAC;AALP,kBAOEkB,6BAAC,IAAD;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,IAAI,EAAEM,SAAS,CAACC,YAHlB;AAIE,IAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,IAPF,CAdN,CADF;AAiCD;;;;"}
@@ -1,28 +1,30 @@
1
1
  import React__default, { useContext } from 'react';
2
2
  import Modal from '../../ui/Modal.js';
3
- import { a as ButtonTypes } from '../../index-9deb1389.js';
4
- import { a as LocalizationContext } from '../../LocalizationContext-5b0a9339.js';
5
- import { u as useChannel } from '../../ChannelProvider-34834493.js';
3
+ import { a as ButtonTypes } from '../../index-b574cc8e.js';
4
+ import { a as LocalizationContext } from '../../LocalizationContext-fb3dafcd.js';
5
+ import { u as useChannelContext } from '../../ChannelProvider-c0ed5fae.js';
6
6
  import 'prop-types';
7
7
  import 'react-dom';
8
- import '../../index-db6a4860.js';
8
+ import '../../index-1d112ad4.js';
9
9
  import '../../ui/IconButton.js';
10
- import '../../_rollupPluginBabelHelpers-d10f91b9.js';
10
+ import '../../_rollupPluginBabelHelpers-084fb589.js';
11
11
  import '../../ui/Icon.js';
12
- import '../../index-17cf7808.js';
13
- import '../../stringSet-5a85ff4b.js';
14
- import '../../utils-85d3d94c.js';
15
- import '../../index-94489c17.js';
16
- import '../../UserProfileContext-b6d89d0d.js';
12
+ import '../../index-71e2bf26.js';
13
+ import '../../stringSet-d3a8a2a0.js';
14
+ import '../../utils-cadde06a.js';
15
+ import '../../index-13729368.js';
16
+ import '../../UserProfileContext-6a387a08.js';
17
17
  import '../../useSendbirdStateContext.js';
18
18
  import '../../withSendBird.js';
19
- import '../../index-92160328.js';
20
- import '../../topics-24a660ee.js';
21
- import '../../index-902c2068.js';
22
- import '../../tslib.es6-2c4d01e9.js';
23
- import '../../compareIds-982972e8.js';
24
- import '../../const-e3d1e0ec.js';
25
- import '../../uuid-0ab81e67.js';
19
+ import '../../index-ccd99cfe.js';
20
+ import '../../topics-f941ba80.js';
21
+ import '../../index-8e6a607b.js';
22
+ import '../../tslib.es6-a7db0cc5.js';
23
+ import '../../compareIds-b78d7cd6.js';
24
+ import '../../const-99800b8d.js';
25
+ import '../../groupChannel-96502de7.js';
26
+ import '../../__bundle-7dfccc8c-03df3ada.js';
27
+ import '../../uuid-748dae7a.js';
26
28
  import '../../ui/ContextMenu.js';
27
29
  import '../../ui/SortByRow.js';
28
30
  import '../../ui/ReactionButton.js';
@@ -34,7 +36,7 @@ var RemoveMessage = function RemoveMessage(props) {
34
36
  var onCancel = props.onCancel,
35
37
  message = props.message;
36
38
  var stringSet = useContext(LocalizationContext).stringSet;
37
- var deleteMessage = useChannel().deleteMessage;
39
+ var deleteMessage = useChannelContext().deleteMessage;
38
40
  return /*#__PURE__*/React__default.createElement(Modal, {
39
41
  type: ButtonTypes.DANGER,
40
42
  disabled: ((_a = message === null || message === void 0 ? void 0 : message.threadInfo) === null || _a === void 0 ? void 0 : _a.replyCount) > 0,
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveMessageModal.js","sources":["../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannel } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannel();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannel","React","ButtonTypes","DANGER","threadInfo","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaMA,aAAa,GAAiC,SAA9CA,aAA8C,CAACC,KAAD;;;AAEhD,MAAAC,QAAQ,GAEND,KAAK,SAFP;AAAA,MACAE,OAAO,GACLF,KAAK,QAFP;AAGM,MAAAG,SAAS,GAAKC,UAAU,CAACC,mBAAD,CAAV,UAAd;AAEN,MAAAC,aAAa,GACXC,UAAU,gBADZ;AAEF,sBACEC,6BAAC,KAAD;AACE,IAAA,IAAI,EAAEC,WAAW,CAACC,MADpB;AAEE,IAAA,QAAQ,EAAE,CAAA,MAAAR,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAES,UAAT,UAAA,iBAAA,SAAA,MAAqBC,UAArB,IAAkC,CAF9C;AAGE,IAAA,QAAQ,EAAEX,QAHZ;AAIE,IAAA,QAAQ,EAAE;AAAQK,MAAAA,aAAa,CAACJ,OAAD,CAAb,CAAuBW,IAAvB,CAA4B;AAC5CZ,QAAAA,QAAQ;AACT,OAFiB;AAEd,KANN;AAOE,IAAA,UAAU,EAAEE,SAAS,CAACW,oBAPxB;AAQE,IAAA,SAAS,EAAEX,SAAS,CAACY;AARvB,IADF;AAYD;;;;"}
1
+ {"version":3,"file":"RemoveMessageModal.js","sources":["../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannelContext();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannelContext","React","ButtonTypes","DANGER","threadInfo","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaMA,aAAa,GAAiC,SAA9CA,aAA8C,CAACC,KAAD;;;AAEhD,MAAAC,QAAQ,GAEND,KAAK,SAFP;AAAA,MACAE,OAAO,GACLF,KAAK,QAFP;AAGM,MAAAG,SAAS,GAAKC,UAAU,CAACC,mBAAD,CAAV,UAAd;AAEN,MAAAC,aAAa,GACXC,iBAAiB,gBADnB;AAEF,sBACEC,6BAAC,KAAD;AACE,IAAA,IAAI,EAAEC,WAAW,CAACC,MADpB;AAEE,IAAA,QAAQ,EAAE,CAAA,MAAAR,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAES,UAAT,UAAA,iBAAA,SAAA,MAAqBC,UAArB,IAAkC,CAF9C;AAGE,IAAA,QAAQ,EAAEX,QAHZ;AAIE,IAAA,QAAQ,EAAE;AAAQK,MAAAA,aAAa,CAACJ,OAAD,CAAb,CAAuBW,IAAvB,CAA4B;AAC5CZ,QAAAA,QAAQ;AACT,OAFiB;AAEd,KANN;AAOE,IAAA,UAAU,EAAEE,SAAS,CAACW,oBAPxB;AAQE,IAAA,SAAS,EAAEX,SAAS,CAACY;AARvB,IADF;AAYD;;;;"}
@@ -1,24 +1,26 @@
1
1
  import React__default, { useRef, useContext, useEffect, useMemo, useState } from 'react';
2
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-17cf7808.js';
2
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-71e2bf26.js';
3
3
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
4
4
  import Avatar from '../../ui/Avatar.js';
5
- import { a as LocalizationContext } from '../../LocalizationContext-5b0a9339.js';
6
- import { u as useChannel } from '../../ChannelProvider-34834493.js';
5
+ import { a as LocalizationContext } from '../../LocalizationContext-fb3dafcd.js';
6
+ import { u as uuidv4 } from '../../uuid-748dae7a.js';
7
+ import { u as useChannelContext } from '../../ChannelProvider-c0ed5fae.js';
7
8
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
8
- import { U as USER_MENTION_TEMP_CHAR, M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-e3d1e0ec.js';
9
- import { M as MessageInputKeys } from '../../const-da3968a5.js';
10
- import '../../_rollupPluginBabelHelpers-d10f91b9.js';
9
+ import { U as USER_MENTION_TEMP_CHAR, M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-99800b8d.js';
10
+ import { M as MessageInputKeys } from '../../const-40b58d8b.js';
11
+ import '../../_rollupPluginBabelHelpers-084fb589.js';
11
12
  import 'prop-types';
12
- import '../../stringSet-5a85ff4b.js';
13
- import '../../tslib.es6-2c4d01e9.js';
13
+ import '../../stringSet-d3a8a2a0.js';
14
+ import '../../tslib.es6-a7db0cc5.js';
14
15
  import '../../ui/ImageRenderer.js';
15
- import '../../uuid-0ab81e67.js';
16
- import '../../index-94489c17.js';
17
- import '../../UserProfileContext-b6d89d0d.js';
18
- import '../../index-92160328.js';
19
- import '../../topics-24a660ee.js';
20
- import '../../index-902c2068.js';
21
- import '../../compareIds-982972e8.js';
16
+ import '../../index-13729368.js';
17
+ import '../../UserProfileContext-6a387a08.js';
18
+ import '../../index-ccd99cfe.js';
19
+ import '../../topics-f941ba80.js';
20
+ import '../../index-8e6a607b.js';
21
+ import '../../compareIds-b78d7cd6.js';
22
+ import '../../groupChannel-96502de7.js';
23
+ import '../../__bundle-7dfccc8c-03df3ada.js';
22
24
  import '../../ui/ContextMenu.js';
23
25
  import 'react-dom';
24
26
  import '../../ui/SortByRow.js';
@@ -43,12 +45,12 @@ function SuggestedUserMentionItem(props) {
43
45
  if (isFocused) {
44
46
  if (((_a = parentScrollRef === null || parentScrollRef === void 0 ? void 0 : parentScrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) >= ((_b = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _b === void 0 ? void 0 : _b.offsetTop)) {
45
47
  (_c = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _c === void 0 ? void 0 : _c.scrollIntoView({
46
- block: "start",
48
+ block: "nearest",
47
49
  inline: "nearest"
48
50
  });
49
51
  } else if (((_d = parentScrollRef === null || parentScrollRef === void 0 ? void 0 : parentScrollRef.current) === null || _d === void 0 ? void 0 : _d.scrollTop) + ((_e = parentScrollRef === null || parentScrollRef === void 0 ? void 0 : parentScrollRef.current) === null || _e === void 0 ? void 0 : _e.clientHeight) <= ((_f = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _f === void 0 ? void 0 : _f.offsetTop)) {
50
52
  (_g = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _g === void 0 ? void 0 : _g.scrollIntoView({
51
- block: "end",
53
+ block: "nearest",
52
54
  inline: "nearest"
53
55
  });
54
56
  }
@@ -79,7 +81,7 @@ function SuggestedUserMentionItem(props) {
79
81
  itemRef: scrollRef
80
82
  });
81
83
  },
82
- key: member.nickname,
84
+ key: (member === null || member === void 0 ? void 0 : member.userId) || uuidv4(),
83
85
  ref: scrollRef
84
86
  }, renderUserMentionItem({
85
87
  user: member
@@ -92,7 +94,7 @@ function SuggestedUserMentionItem(props) {
92
94
  }
93
95
 
94
96
  return /*#__PURE__*/React__default.createElement("div", {
95
- className: "sendbird-mention-suggest-list__user-item " + (isFocused ? 'focused' : ''),
97
+ className: "sendbird-mention-suggest-list__user-item ".concat(isFocused ? 'focused' : ''),
96
98
  onClick: function onClick(event) {
97
99
  return _onClick === null || _onClick === void 0 ? void 0 : _onClick({
98
100
  event: event,
@@ -114,7 +116,7 @@ function SuggestedUserMentionItem(props) {
114
116
  itemRef: scrollRef
115
117
  });
116
118
  },
117
- key: member.nickname,
119
+ key: (member === null || member === void 0 ? void 0 : member.userId) || uuidv4(),
118
120
  ref: scrollRef
119
121
  }, /*#__PURE__*/React__default.createElement(Avatar, {
120
122
  className: "sendbird-mention-suggest-list__user-item__avatar",
@@ -159,7 +161,7 @@ function SuggestedMentionList(props) {
159
161
 
160
162
  var logger = config.logger;
161
163
  var currentUserId = ((_c = (_b = (_a = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _a === void 0 ? void 0 : _a.sdk) === null || _b === void 0 ? void 0 : _b.currentUser) === null || _c === void 0 ? void 0 : _c.userId) || '';
162
- var currentGroupChannel = useChannel().currentGroupChannel;
164
+ var currentGroupChannel = useChannelContext().currentGroupChannel;
163
165
  var scrollRef = useRef(null);
164
166
  var stringSet = useContext(LocalizationContext).stringSet;
165
167
 
@@ -221,7 +223,7 @@ function SuggestedMentionList(props) {
221
223
  /* Fetch member list */
222
224
 
223
225
  useEffect(function () {
224
- if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery) {
226
+ if (!(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.createMemberListQuery)) {
225
227
  logger.warning('SuggestedMentionList: Creating member list query failed');
226
228
  return;
227
229
  }
@@ -231,30 +233,33 @@ function SuggestedMentionList(props) {
231
233
  return;
232
234
  }
233
235
 
234
- var query = currentGroupChannel.createMemberListQuery();
235
- query.limit = maxSuggestionCount;
236
- query.nicknameStartsWithFilter = searchString.slice(USER_MENTION_TEMP_CHAR.length); // Add member list query for customization
236
+ var query = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.createMemberListQuery({
237
+ limit: maxSuggestionCount + 1,
238
+ nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length)
239
+ }); // Add member list query for customization
237
240
 
238
- query.next(function (memberList, error) {
239
- if (error) {
240
- logger.error('SuggestedMentionList: Fetching member list failed', error);
241
- }
241
+ query.next().then(function (memberList) {
242
+ var suggestingMembers = memberList.filter(function (member) {
243
+ return currentUserId !== (member === null || member === void 0 ? void 0 : member.userId);
244
+ }).slice(0, maxSuggestionCount);
242
245
 
243
- if (memberList.length < 1) {
246
+ if (suggestingMembers.length < 1) {
244
247
  logger.info('SuggestedMentionList: Fetched member list is empty');
245
248
  } else {
246
249
  logger.info('SuggestedMentionList: Fetching member list succeeded', {
247
250
  memberListQuery: query,
248
- memberList: memberList
251
+ memberList: suggestingMembers
249
252
  });
250
- setCurrentUser(memberList[0]);
253
+ setCurrentUser(suggestingMembers[0]);
251
254
  }
252
255
 
253
256
  setLastSearchString(searchString);
254
- onFetchUsers(memberList);
255
- setCurrentMemberList(memberList.filter(function (member) {
256
- return currentUserId !== (member === null || member === void 0 ? void 0 : member.userId);
257
- }));
257
+ onFetchUsers(suggestingMembers);
258
+ setCurrentMemberList(suggestingMembers);
259
+ }).catch(function (error) {
260
+ if (error) {
261
+ logger.error('SuggestedMentionList: Fetching member list failed', error);
262
+ }
258
263
  });
259
264
  }, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, searchString]);
260
265
 
@@ -268,7 +273,7 @@ function SuggestedMentionList(props) {
268
273
  ref: scrollRef
269
274
  }, ableAddMention && (currentMemberList === null || currentMemberList === void 0 ? void 0 : currentMemberList.map(function (member) {
270
275
  return /*#__PURE__*/React__default.createElement(SuggestedUserMentionItem, {
271
- key: member === null || member === void 0 ? void 0 : member.nickname,
276
+ key: (member === null || member === void 0 ? void 0 : member.userId) || uuidv4(),
272
277
  member: member,
273
278
  isFocused: (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId),
274
279
  parentScrollRef: scrollRef,
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestedMentionList.js","sources":["../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport SendBird from 'sendbird';\nimport { MentionItemUIEvent } from '../../../..';\n\ninterface SuggestedUserMentionItemProps {\n member: SendBird.User | SendBird.Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: SendBird.User | SendBird.Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n if (parentScrollRef?.current?.scrollTop >= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } else if (parentScrollRef?.current?.scrollTop + parentScrollRef?.current?.clientHeight <= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"end\", inline: \"nearest\" });\n }\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as SendBird.Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as SendBird.Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as SendBird.Member), itemRef: scrollRef })}\n key={member.nickname}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as SendBird.Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as SendBird.Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as SendBird.Member), itemRef: scrollRef })}\n key={member.nickname}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import React, { useState, useEffect, useContext, useRef } from 'react';\nimport SendBird from 'sendbird';\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannel } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: SendBird.User) => void;\n onFocusItemChange?: (member: SendBird.User) => void;\n onFetchUsers?: (users: Array<SendBird.User>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannel();\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<SendBird.User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<SendBird.Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel.createMemberListQuery();\n query.limit = maxSuggestionCount;\n query.nicknameStartsWithFilter = searchString.slice(USER_MENTION_TEMP_CHAR.length);\n // Add member list query for customization\n query.next((memberList, error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n if (memberList.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList });\n setCurrentUser(memberList[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(memberList);\n setCurrentMemberList(memberList.filter((member) => currentUserId !== member?.userId));\n });\n }, [currentGroupChannel?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.nickname}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollTop","offsetTop","scrollIntoView","block","inline","clientHeight","customMentionItem","useMemo","React","event","itemRef","nickname","user","profileUrl","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","userId","DEBOUNCING_TIME","SuggestedMentionList","_d","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","_e","ableAddMention","_f","maxMentionCount","MAX_USER_MENTION_COUNT","_g","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannel","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","memberList","error","info","memberListQuery","filter","url","map","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
1
+ {"version":3,"file":"SuggestedMentionList.js","sources":["../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n if (parentScrollRef?.current?.scrollTop >= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n } else if (parentScrollRef?.current?.scrollTop + parentScrollRef?.current?.clientHeight <= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n }\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannelContext();\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [currentGroupChannel?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollTop","offsetTop","scrollIntoView","block","inline","clientHeight","customMentionItem","useMemo","React","event","itemRef","userId","uuidv4","user","profileUrl","LabelTypography","SUBTITLE_2","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","_d","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","_e","ableAddMention","_f","maxMentionCount","MAX_USER_MENTION_COUNT","_g","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannelContext","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}