@sendbird/uikit-react 3.1.3 → 3.2.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 (709) hide show
  1. package/App.js +33 -35
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +42 -0
  4. package/Channel/components/ChannelHeader.js +19 -21
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +26 -28
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +16 -18
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +21 -23
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +22 -21
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +23 -25
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +18 -20
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +17 -19
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +16 -18
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +5 -5
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +15 -17
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +24 -26
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +14 -14
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +7 -7
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +28 -30
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +21 -23
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +19 -20
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +10 -12
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +28 -30
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-0157b613.js → ChannelListProvider-6e3b8f43.js} +12 -11
  45. package/ChannelListProvider-6e3b8f43.js.map +1 -0
  46. package/{ChannelProvider-57689107.js → ChannelProvider-b8c6427f.js} +13 -13
  47. package/{ChannelProvider-57689107.js.map → ChannelProvider-b8c6427f.js.map} +1 -1
  48. package/ChannelSettings/components/ChannelProfile.js +12 -12
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +20 -22
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +14 -13
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +30 -29
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +12 -12
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +14 -14
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +3 -3
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -22
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +14 -14
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +15 -15
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +11 -11
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +14 -14
  74. package/CreateChannel.js.map +1 -1
  75. package/{CreateChannelProvider-f84fd7e5.js → CreateChannelProvider-712526fd.js} +1 -1
  76. package/{CreateChannelProvider-f84fd7e5.js.map → CreateChannelProvider-712526fd.js.map} +1 -1
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +128 -0
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -0
  79. package/CreateOpenChannel/context.js +63 -0
  80. package/CreateOpenChannel/context.js.map +1 -0
  81. package/CreateOpenChannel.js +45 -0
  82. package/CreateOpenChannel.js.map +1 -0
  83. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  84. package/EditUserProfile/context.js.map +1 -1
  85. package/EditUserProfile.js +13 -13
  86. package/EditUserProfile.js.map +1 -1
  87. package/{LocalizationContext-5b475a64.js → LocalizationContext-4cefc770.js} +3 -3
  88. package/{LocalizationContext-5b475a64.js.map → LocalizationContext-4cefc770.js.map} +1 -1
  89. package/{MemberList-004dd3e6.js → MemberList-e4916e55.js} +13 -10
  90. package/MemberList-e4916e55.js.map +1 -0
  91. package/MessageSearch/components/MessageSearchUI.js +11 -11
  92. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  93. package/MessageSearch/context.js +2 -2
  94. package/MessageSearch/context.js.map +1 -1
  95. package/MessageSearch.js +11 -11
  96. package/MessageSearch.js.map +1 -1
  97. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  98. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  99. package/OpenChannel/components/OpenChannelHeader.js +15 -17
  100. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  101. package/OpenChannel/components/OpenChannelInput.js +21 -21
  102. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  103. package/OpenChannel/components/OpenChannelMessage.js +26 -26
  104. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelMessageList.js +71 -67
  106. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelUI.js +28 -28
  108. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  109. package/OpenChannel/context.js +12 -14
  110. package/OpenChannel/context.js.map +1 -1
  111. package/OpenChannel.js +29 -29
  112. package/OpenChannel.js.map +1 -1
  113. package/OpenChannelList/components/OpenChannelListUI.js +195 -0
  114. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -0
  115. package/OpenChannelList/components/OpenChannelPreview.js +68 -0
  116. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -0
  117. package/OpenChannelList/context.js +8 -0
  118. package/OpenChannelList/context.js.map +1 -0
  119. package/OpenChannelList.js +58 -0
  120. package/OpenChannelList.js.map +1 -0
  121. package/OpenChannelListProvider-845a2162.js +434 -0
  122. package/OpenChannelListProvider-845a2162.js.map +1 -0
  123. package/{OpenChannelProvider-f5d504ec.js → OpenChannelProvider-5f19d5d7.js} +10 -11
  124. package/OpenChannelProvider-5f19d5d7.js.map +1 -0
  125. package/OpenChannelSettings/components/EditDetailsModal.js +37 -35
  126. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  127. package/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  128. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  129. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -23
  130. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  131. package/OpenChannelSettings/components/OperatorUI.js +25 -26
  132. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  133. package/OpenChannelSettings/components/ParticipantUI.js +18 -19
  134. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  135. package/OpenChannelSettings/context.js +11 -6
  136. package/OpenChannelSettings/context.js.map +1 -1
  137. package/OpenChannelSettings.js +20 -21
  138. package/OpenChannelSettings.js.map +1 -1
  139. package/README.md +1 -1
  140. package/SendbirdProvider.js +21 -22
  141. package/SendbirdProvider.js.map +1 -1
  142. package/{UserProfileContext-a2483e23.js → UserProfileContext-2e53d03a.js} +1 -1
  143. package/{UserProfileContext-a2483e23.js.map → UserProfileContext-2e53d03a.js.map} +1 -1
  144. package/__bundle-bd072f34-95f6bf17.js +8 -0
  145. package/__bundle-bd072f34-95f6bf17.js.map +1 -0
  146. package/{_rollupPluginBabelHelpers-b2b008c2.js → _rollupPluginBabelHelpers-4527872e.js} +1 -1
  147. package/{_rollupPluginBabelHelpers-b2b008c2.js.map → _rollupPluginBabelHelpers-4527872e.js.map} +1 -1
  148. package/{actionTypes-3a618022.js → actionTypes-517789b8.js} +1 -1
  149. package/{actionTypes-3a618022.js.map → actionTypes-517789b8.js.map} +1 -1
  150. package/cjs/App.js +33 -35
  151. package/cjs/App.js.map +1 -1
  152. package/cjs/Channel/components/ChannelHeader.js +19 -21
  153. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  154. package/cjs/Channel/components/ChannelUI.js +24 -26
  155. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  156. package/cjs/Channel/components/FileViewer.js +16 -18
  157. package/cjs/Channel/components/FileViewer.js.map +1 -1
  158. package/cjs/Channel/components/FrozenNotification.js +5 -5
  159. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  160. package/cjs/Channel/components/Message.js +21 -23
  161. package/cjs/Channel/components/Message.js.map +1 -1
  162. package/cjs/Channel/components/MessageInput.js +22 -21
  163. package/cjs/Channel/components/MessageInput.js.map +1 -1
  164. package/cjs/Channel/components/MessageList.js +23 -25
  165. package/cjs/Channel/components/MessageList.js.map +1 -1
  166. package/cjs/Channel/components/RemoveMessageModal.js +18 -20
  167. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  168. package/cjs/Channel/components/SuggestedMentionList.js +17 -19
  169. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  170. package/cjs/Channel/components/TypingIndicator.js +16 -18
  171. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  172. package/cjs/Channel/components/UnreadCount.js +5 -5
  173. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  174. package/cjs/Channel/context.js +15 -17
  175. package/cjs/Channel/context.js.map +1 -1
  176. package/cjs/Channel.js +24 -26
  177. package/cjs/Channel.js.map +1 -1
  178. package/cjs/ChannelList/components/AddChannel.js +14 -14
  179. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  180. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  181. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  182. package/cjs/ChannelList/components/ChannelListUI.js +28 -30
  183. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  184. package/cjs/ChannelList/components/ChannelPreview.js +21 -23
  185. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  186. package/cjs/ChannelList/components/ChannelPreviewAction.js +19 -20
  187. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  188. package/cjs/ChannelList/context.js +10 -12
  189. package/cjs/ChannelList/context.js.map +1 -1
  190. package/cjs/ChannelList.js +28 -30
  191. package/cjs/ChannelList.js.map +1 -1
  192. package/cjs/{ChannelListProvider-3e882076.js → ChannelListProvider-781aa186.js} +12 -11
  193. package/cjs/ChannelListProvider-781aa186.js.map +1 -0
  194. package/cjs/{ChannelProvider-b7e7f2ff.js → ChannelProvider-bbff4ae8.js} +17 -17
  195. package/cjs/{ChannelProvider-b7e7f2ff.js.map → ChannelProvider-bbff4ae8.js.map} +1 -1
  196. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  197. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  198. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +20 -22
  199. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  200. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  201. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  202. package/cjs/ChannelSettings/components/LeaveChannel.js +14 -13
  203. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  204. package/cjs/ChannelSettings/components/ModerationPanel.js +34 -33
  205. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  206. package/cjs/ChannelSettings/components/UserListItem.js +12 -12
  207. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  208. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  209. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  210. package/cjs/ChannelSettings/context.js +3 -3
  211. package/cjs/ChannelSettings/context.js.map +1 -1
  212. package/cjs/ChannelSettings.js +20 -22
  213. package/cjs/ChannelSettings.js.map +1 -1
  214. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  215. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  216. package/cjs/CreateChannel/components/InviteUsers.js +15 -15
  217. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  218. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  219. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  220. package/cjs/CreateChannel/context.js +4 -4
  221. package/cjs/CreateChannel.js +14 -14
  222. package/cjs/CreateChannel.js.map +1 -1
  223. package/cjs/{CreateChannelProvider-cea018b0.js → CreateChannelProvider-80c88bba.js} +1 -1
  224. package/cjs/{CreateChannelProvider-cea018b0.js.map → CreateChannelProvider-80c88bba.js.map} +1 -1
  225. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +134 -0
  226. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -0
  227. package/cjs/CreateOpenChannel/context.js +72 -0
  228. package/cjs/CreateOpenChannel/context.js.map +1 -0
  229. package/cjs/CreateOpenChannel.js +51 -0
  230. package/cjs/CreateOpenChannel.js.map +1 -0
  231. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  232. package/cjs/EditUserProfile/context.js.map +1 -1
  233. package/cjs/EditUserProfile.js +13 -13
  234. package/cjs/EditUserProfile.js.map +1 -1
  235. package/cjs/{LocalizationContext-c13ae9d5.js → LocalizationContext-b5fd4c38.js} +3 -3
  236. package/cjs/{LocalizationContext-c13ae9d5.js.map → LocalizationContext-b5fd4c38.js.map} +1 -1
  237. package/cjs/{MemberList-e062045b.js → MemberList-10def668.js} +15 -12
  238. package/cjs/MemberList-10def668.js.map +1 -0
  239. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  240. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  241. package/cjs/MessageSearch/context.js +2 -2
  242. package/cjs/MessageSearch/context.js.map +1 -1
  243. package/cjs/MessageSearch.js +11 -11
  244. package/cjs/MessageSearch.js.map +1 -1
  245. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  246. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  247. package/cjs/OpenChannel/components/OpenChannelHeader.js +15 -17
  248. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  249. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  250. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  251. package/cjs/OpenChannel/components/OpenChannelMessage.js +26 -26
  252. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  253. package/cjs/OpenChannel/components/OpenChannelMessageList.js +71 -67
  254. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  255. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -28
  256. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  257. package/cjs/OpenChannel/context.js +12 -14
  258. package/cjs/OpenChannel/context.js.map +1 -1
  259. package/cjs/OpenChannel.js +29 -29
  260. package/cjs/OpenChannel.js.map +1 -1
  261. package/cjs/OpenChannelList/components/OpenChannelListUI.js +201 -0
  262. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -0
  263. package/cjs/OpenChannelList/components/OpenChannelPreview.js +74 -0
  264. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -0
  265. package/cjs/OpenChannelList/context.js +18 -0
  266. package/cjs/OpenChannelList/context.js.map +1 -0
  267. package/cjs/OpenChannelList.js +64 -0
  268. package/cjs/OpenChannelList.js.map +1 -0
  269. package/cjs/OpenChannelListProvider-8e425873.js +443 -0
  270. package/cjs/OpenChannelListProvider-8e425873.js.map +1 -0
  271. package/cjs/{OpenChannelProvider-341f9a01.js → OpenChannelProvider-39f9e794.js} +10 -11
  272. package/cjs/OpenChannelProvider-39f9e794.js.map +1 -0
  273. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +37 -35
  274. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  275. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
  276. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  277. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -23
  278. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  279. package/cjs/OpenChannelSettings/components/OperatorUI.js +29 -30
  280. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  281. package/cjs/OpenChannelSettings/components/ParticipantUI.js +18 -19
  282. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  283. package/cjs/OpenChannelSettings/context.js +11 -6
  284. package/cjs/OpenChannelSettings/context.js.map +1 -1
  285. package/cjs/OpenChannelSettings.js +20 -21
  286. package/cjs/OpenChannelSettings.js.map +1 -1
  287. package/cjs/SendbirdProvider.js +22 -22
  288. package/cjs/SendbirdProvider.js.map +1 -1
  289. package/cjs/{UserProfileContext-f7c125ca.js → UserProfileContext-69c9649a.js} +1 -1
  290. package/cjs/{UserProfileContext-f7c125ca.js.map → UserProfileContext-69c9649a.js.map} +1 -1
  291. package/cjs/__bundle-bd072f34-57bee5af.js +106 -0
  292. package/cjs/__bundle-bd072f34-57bee5af.js.map +1 -0
  293. package/cjs/{_rollupPluginBabelHelpers-09706ebf.js → _rollupPluginBabelHelpers-f9e4bb55.js} +1 -1
  294. package/cjs/{_rollupPluginBabelHelpers-09706ebf.js.map → _rollupPluginBabelHelpers-f9e4bb55.js.map} +1 -1
  295. package/cjs/{actionTypes-b3af2b15.js → actionTypes-17aa0989.js} +1 -1
  296. package/cjs/{actionTypes-b3af2b15.js.map → actionTypes-17aa0989.js.map} +1 -1
  297. package/cjs/{color-f0ffb253.js → color-9e293baf.js} +9 -9
  298. package/cjs/color-9e293baf.js.map +1 -0
  299. package/cjs/{compareIds-10371145.js → compareIds-cf626c9f.js} +1 -1
  300. package/cjs/{compareIds-10371145.js.map → compareIds-cf626c9f.js.map} +1 -1
  301. package/cjs/{const-84c58686.js → const-17108318.js} +1 -1
  302. package/cjs/{const-84c58686.js.map → const-17108318.js.map} +1 -1
  303. package/cjs/{const-459420a0.js → const-955190c4.js} +1 -1
  304. package/cjs/{const-459420a0.js.map → const-955190c4.js.map} +1 -1
  305. package/cjs/{context-01248097.js → context-e041c8e0.js} +2 -2
  306. package/cjs/{context-01248097.js.map → context-e041c8e0.js.map} +1 -1
  307. package/cjs/dist/index.css +237 -149
  308. package/cjs/dist/index.css.map +1 -1
  309. package/cjs/groupChannel-6d56c155.js +11 -0
  310. package/cjs/groupChannel-6d56c155.js.map +1 -0
  311. package/cjs/handlers/ConnectionHandler.js +2 -4
  312. package/cjs/handlers/ConnectionHandler.js.map +1 -1
  313. package/cjs/handlers/GroupChannelHandler.js +2 -4
  314. package/cjs/handlers/GroupChannelHandler.js.map +1 -1
  315. package/cjs/handlers/OpenChannelHandler.js +2 -3
  316. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  317. package/cjs/handlers/SessionHandler.js +2 -4
  318. package/cjs/handlers/SessionHandler.js.map +1 -1
  319. package/cjs/handlers/UserEventHandler.js +2 -4
  320. package/cjs/handlers/UserEventHandler.js.map +1 -1
  321. package/cjs/{index-0add0c83.js → index-025aa556.js} +7 -7
  322. package/cjs/index-025aa556.js.map +1 -0
  323. package/cjs/{index-243538a2.js → index-1512514f.js} +2 -2
  324. package/cjs/{index-243538a2.js.map → index-1512514f.js.map} +1 -1
  325. package/cjs/{index-c8f7702f.js → index-18b120dc.js} +5 -5
  326. package/cjs/index-18b120dc.js.map +1 -0
  327. package/cjs/{index-63b56a0e.js → index-5166a415.js} +1 -1
  328. package/cjs/{index-63b56a0e.js.map → index-5166a415.js.map} +1 -1
  329. package/cjs/{index-98e4f7b2.js → index-550f5039.js} +1 -1
  330. package/cjs/index-550f5039.js.map +1 -0
  331. package/cjs/{index-a00a0f18.js → index-5e2b8c03.js} +12 -12
  332. package/cjs/index-5e2b8c03.js.map +1 -0
  333. package/cjs/{index-2f58ecfc.js → index-9ce5e5a9.js} +4 -4
  334. package/cjs/{index-2f58ecfc.js.map → index-9ce5e5a9.js.map} +1 -1
  335. package/cjs/{index-dad73aff.js → index-b9b8972b.js} +3 -3
  336. package/cjs/{index-dad73aff.js.map → index-b9b8972b.js.map} +1 -1
  337. package/cjs/{index-701d44c1.js → index-c1697faa.js} +2 -2
  338. package/cjs/{index-701d44c1.js.map → index-c1697faa.js.map} +1 -1
  339. package/cjs/{index-2d53c0e6.js → index-e9d96b00.js} +15 -14
  340. package/cjs/index-e9d96b00.js.map +1 -0
  341. package/cjs/index.js +37 -39
  342. package/cjs/index.js.map +1 -1
  343. package/cjs/openChannel-8aabbf3c.js +9 -0
  344. package/cjs/openChannel-8aabbf3c.js.map +1 -0
  345. package/cjs/{openChannelUtils-7a336d09.js → openChannelUtils-cffba1c0.js} +1 -1
  346. package/cjs/{openChannelUtils-7a336d09.js.map → openChannelUtils-cffba1c0.js.map} +1 -1
  347. package/cjs/sendbirdSelectors.js +2 -2
  348. package/cjs/sendbirdSelectors.js.map +1 -1
  349. package/cjs/{stringSet-bd0c293d.js → stringSet-be457fd7.js} +18 -3
  350. package/cjs/stringSet-be457fd7.js.map +1 -0
  351. package/cjs/{topics-f3fe3bf3.js → topics-58ec1c61.js} +6 -2
  352. package/cjs/topics-58ec1c61.js.map +1 -0
  353. package/cjs/{tslib.es6-f57d0c81.js → tslib.es6-36205d81.js} +1 -1
  354. package/cjs/{tslib.es6-f57d0c81.js.map → tslib.es6-36205d81.js.map} +1 -1
  355. package/cjs/ui/Accordion.js +4 -4
  356. package/cjs/ui/Accordion.js.map +1 -1
  357. package/cjs/ui/AccordionGroup.js +2 -2
  358. package/cjs/ui/AccordionGroup.js.map +1 -1
  359. package/cjs/ui/AdminMessage.js +4 -4
  360. package/cjs/ui/AdminMessage.js.map +1 -1
  361. package/cjs/ui/Avatar.js +3 -3
  362. package/cjs/ui/Avatar.js.map +1 -1
  363. package/cjs/ui/Badge.js +6 -6
  364. package/cjs/ui/Badge.js.map +1 -1
  365. package/cjs/ui/Button.js +86 -9
  366. package/cjs/ui/Button.js.map +1 -1
  367. package/cjs/ui/ChannelAvatar.js +4 -4
  368. package/cjs/ui/ChannelAvatar.js.map +1 -1
  369. package/cjs/ui/Checkbox.js.map +1 -1
  370. package/cjs/ui/ConnectionStatus.js +5 -5
  371. package/cjs/ui/ConnectionStatus.js.map +1 -1
  372. package/cjs/ui/ContextMenu.js +8 -7
  373. package/cjs/ui/ContextMenu.js.map +1 -1
  374. package/cjs/ui/DateSeparator.js +5 -5
  375. package/cjs/ui/DateSeparator.js.map +1 -1
  376. package/cjs/ui/EmojiReactions.js +8 -8
  377. package/cjs/ui/EmojiReactions.js.map +1 -1
  378. package/cjs/ui/FileMessageItemBody.js +7 -7
  379. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  380. package/cjs/ui/FileViewer.js +9 -9
  381. package/cjs/ui/FileViewer.js.map +1 -1
  382. package/cjs/ui/Icon.js +2 -2
  383. package/cjs/ui/Icon.js.map +1 -1
  384. package/cjs/ui/IconButton.js +1 -1
  385. package/cjs/ui/IconButton.js.map +1 -1
  386. package/cjs/ui/ImageRenderer.js +1 -1
  387. package/cjs/ui/ImageRenderer.js.map +1 -1
  388. package/cjs/ui/Input.js +3 -3
  389. package/cjs/ui/Input.js.map +1 -1
  390. package/cjs/ui/Label.js +3 -3
  391. package/cjs/ui/LinkLabel.js +3 -3
  392. package/cjs/ui/LinkLabel.js.map +1 -1
  393. package/cjs/ui/Loader.js +2 -2
  394. package/cjs/ui/Loader.js.map +1 -1
  395. package/cjs/ui/MentionLabel.js +11 -11
  396. package/cjs/ui/MentionLabel.js.map +1 -1
  397. package/cjs/ui/MentionUserLabel.js.map +1 -1
  398. package/cjs/ui/MessageContent.js +14 -14
  399. package/cjs/ui/MessageContent.js.map +1 -1
  400. package/cjs/ui/MessageInput.js +12868 -2987
  401. package/cjs/ui/MessageInput.js.map +1 -1
  402. package/cjs/ui/MessageItemMenu.js +8 -8
  403. package/cjs/ui/MessageItemMenu.js.map +1 -1
  404. package/cjs/ui/MessageItemReactionMenu.js +6 -6
  405. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  406. package/cjs/ui/MessageSearchFileItem.js +10 -10
  407. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  408. package/cjs/ui/MessageSearchItem.js +10 -10
  409. package/cjs/ui/MessageSearchItem.js.map +1 -1
  410. package/cjs/ui/MessageStatus.js +8 -8
  411. package/cjs/ui/MessageStatus.js.map +1 -1
  412. package/cjs/ui/Modal.js +13 -12
  413. package/cjs/ui/Modal.js.map +1 -1
  414. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  415. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  416. package/cjs/ui/OGMessageItemBody.js +11 -11
  417. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  418. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  419. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  420. package/cjs/ui/OpenChannelAvatar.js +7 -7
  421. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  422. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  423. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  424. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  425. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  426. package/cjs/ui/OpenchannelOGMessage.js +37 -42
  427. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  428. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  429. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  430. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  431. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  432. package/cjs/ui/PlaceHolder.js +7 -7
  433. package/cjs/ui/QuoteMessage.js +7 -7
  434. package/cjs/ui/QuoteMessage.js.map +1 -1
  435. package/cjs/ui/QuoteMessageInput.js +7 -7
  436. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  437. package/cjs/ui/ReactionBadge.js +4 -4
  438. package/cjs/ui/ReactionBadge.js.map +1 -1
  439. package/cjs/ui/ReactionButton.js +1 -1
  440. package/cjs/ui/ReactionButton.js.map +1 -1
  441. package/cjs/ui/SortByRow.js +2 -2
  442. package/cjs/ui/SortByRow.js.map +1 -1
  443. package/cjs/ui/TextButton.js +2 -2
  444. package/cjs/ui/TextButton.js.map +1 -1
  445. package/cjs/ui/TextMessageItemBody.js +11 -11
  446. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  447. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  448. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  449. package/cjs/ui/Tooltip.js +4 -4
  450. package/cjs/ui/Tooltip.js.map +1 -1
  451. package/cjs/ui/TooltipWrapper.js +1 -1
  452. package/cjs/ui/TooltipWrapper.js.map +1 -1
  453. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  454. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  455. package/cjs/ui/UserListItem.js +12 -12
  456. package/cjs/ui/UserListItem.js.map +1 -1
  457. package/cjs/ui/UserProfile.js +11 -11
  458. package/cjs/ui/UserProfile.js.map +1 -1
  459. package/cjs/ui/Word.js +13 -15
  460. package/cjs/ui/Word.js.map +1 -1
  461. package/cjs/useSendbirdStateContext.js +1 -1
  462. package/cjs/useSendbirdStateContext.js.map +1 -1
  463. package/cjs/{utils-760ac018.js → utils-09738454.js} +1 -1
  464. package/cjs/{utils-760ac018.js.map → utils-09738454.js.map} +1 -1
  465. package/cjs/{utils-959685f6.js → utils-40fab371.js} +1 -1
  466. package/cjs/{utils-959685f6.js.map → utils-40fab371.js.map} +1 -1
  467. package/cjs/{utils-438c14b6.js → utils-9419225c.js} +1 -1
  468. package/cjs/{utils-438c14b6.js.map → utils-9419225c.js.map} +1 -1
  469. package/cjs/{uuid-1942f440.js → uuid-edc908ea.js} +1 -1
  470. package/cjs/{uuid-1942f440.js.map → uuid-edc908ea.js.map} +1 -1
  471. package/cjs/withSendbird.js +1 -1
  472. package/cjs/withSendbird.js.map +1 -1
  473. package/{color-83cfc07a.js → color-402a36fd.js} +9 -9
  474. package/color-402a36fd.js.map +1 -0
  475. package/{compareIds-9455ecb0.js → compareIds-31e2f55c.js} +1 -1
  476. package/{compareIds-9455ecb0.js.map → compareIds-31e2f55c.js.map} +1 -1
  477. package/{const-7867ac6a.js → const-6b428cb8.js} +1 -1
  478. package/{const-7867ac6a.js.map → const-6b428cb8.js.map} +1 -1
  479. package/{const-71ceda85.js → const-768ef60e.js} +1 -1
  480. package/{const-71ceda85.js.map → const-768ef60e.js.map} +1 -1
  481. package/{context-2f6f1c17.js → context-bd92675f.js} +2 -2
  482. package/{context-2f6f1c17.js.map → context-bd92675f.js.map} +1 -1
  483. package/dist/index.css +237 -149
  484. package/dist/index.css.map +1 -1
  485. package/groupChannel-e2a071e1.js +8 -0
  486. package/groupChannel-e2a071e1.js.map +1 -0
  487. package/handlers/ConnectionHandler.js +2 -4
  488. package/handlers/ConnectionHandler.js.map +1 -1
  489. package/handlers/GroupChannelHandler.js +3 -5
  490. package/handlers/GroupChannelHandler.js.map +1 -1
  491. package/handlers/OpenChannelHandler.js +3 -4
  492. package/handlers/OpenChannelHandler.js.map +1 -1
  493. package/handlers/SessionHandler.js +2 -4
  494. package/handlers/SessionHandler.js.map +1 -1
  495. package/handlers/UserEventHandler.js +2 -4
  496. package/handlers/UserEventHandler.js.map +1 -1
  497. package/{index-25496c01.js → index-176e9ad4.js} +1 -1
  498. package/{index-25496c01.js.map → index-176e9ad4.js.map} +1 -1
  499. package/{index-1086dd43.js → index-3249f6b5.js} +1 -1
  500. package/index-3249f6b5.js.map +1 -0
  501. package/{index-952d5f9b.js → index-3699f160.js} +4 -4
  502. package/{index-952d5f9b.js.map → index-3699f160.js.map} +1 -1
  503. package/{index-2f85a795.js → index-598898d3.js} +2 -2
  504. package/{index-2f85a795.js.map → index-598898d3.js.map} +1 -1
  505. package/{index-e028fd23.js → index-6b896cd8.js} +3 -3
  506. package/{index-e028fd23.js.map → index-6b896cd8.js.map} +1 -1
  507. package/{index-d545f604.js → index-726a5475.js} +11 -11
  508. package/index-726a5475.js.map +1 -0
  509. package/{index-4400a360.js → index-7fa0a721.js} +2 -2
  510. package/{index-4400a360.js.map → index-7fa0a721.js.map} +1 -1
  511. package/{index-7a790c96.js → index-a98bd600.js} +15 -14
  512. package/index-a98bd600.js.map +1 -0
  513. package/{index-c3a36db0.js → index-b79c5b07.js} +7 -7
  514. package/index-b79c5b07.js.map +1 -0
  515. package/{index-24a5ab49.js → index-f59cf800.js} +5 -5
  516. package/index-f59cf800.js.map +1 -0
  517. package/index.d.ts +207 -97
  518. package/index.js +37 -39
  519. package/index.js.map +1 -1
  520. package/openChannel-8c75e1a4.js +6 -0
  521. package/openChannel-8c75e1a4.js.map +1 -0
  522. package/{openChannelUtils-f64223c9.js → openChannelUtils-ecaeb7d7.js} +1 -1
  523. package/{openChannelUtils-f64223c9.js.map → openChannelUtils-ecaeb7d7.js.map} +1 -1
  524. package/package-lock.json +25501 -0
  525. package/package.json +4 -3
  526. package/sendbirdSelectors.js +2 -2
  527. package/sendbirdSelectors.js.map +1 -1
  528. package/{stringSet-c4a61372.js → stringSet-dc330bcf.js} +18 -3
  529. package/stringSet-dc330bcf.js.map +1 -0
  530. package/{topics-851d221c.js → topics-c5198349.js} +6 -3
  531. package/topics-c5198349.js.map +1 -0
  532. package/{tslib.es6-72a2f141.js → tslib.es6-cb5d77bf.js} +1 -1
  533. package/{tslib.es6-72a2f141.js.map → tslib.es6-cb5d77bf.js.map} +1 -1
  534. package/ui/Accordion.js +4 -4
  535. package/ui/Accordion.js.map +1 -1
  536. package/ui/AccordionGroup.js +2 -2
  537. package/ui/AccordionGroup.js.map +1 -1
  538. package/ui/AdminMessage.js +4 -4
  539. package/ui/AdminMessage.js.map +1 -1
  540. package/ui/Avatar.js +3 -3
  541. package/ui/Avatar.js.map +1 -1
  542. package/ui/Badge.js +6 -6
  543. package/ui/Badge.js.map +1 -1
  544. package/ui/Button.js +83 -6
  545. package/ui/Button.js.map +1 -1
  546. package/ui/ChannelAvatar.js +4 -4
  547. package/ui/ChannelAvatar.js.map +1 -1
  548. package/ui/Checkbox.js.map +1 -1
  549. package/ui/ConnectionStatus.js +5 -5
  550. package/ui/ConnectionStatus.js.map +1 -1
  551. package/ui/ContextMenu.js +8 -7
  552. package/ui/ContextMenu.js.map +1 -1
  553. package/ui/DateSeparator.js +5 -5
  554. package/ui/DateSeparator.js.map +1 -1
  555. package/ui/EmojiReactions.js +8 -8
  556. package/ui/EmojiReactions.js.map +1 -1
  557. package/ui/FileMessageItemBody.js +7 -7
  558. package/ui/FileMessageItemBody.js.map +1 -1
  559. package/ui/FileViewer.js +9 -9
  560. package/ui/FileViewer.js.map +1 -1
  561. package/ui/Icon.js +2 -3
  562. package/ui/Icon.js.map +1 -1
  563. package/ui/IconButton.js +1 -1
  564. package/ui/IconButton.js.map +1 -1
  565. package/ui/ImageRenderer.js +1 -1
  566. package/ui/ImageRenderer.js.map +1 -1
  567. package/ui/Input.js +3 -3
  568. package/ui/Input.js.map +1 -1
  569. package/ui/Label.js +3 -3
  570. package/ui/LinkLabel.js +3 -3
  571. package/ui/LinkLabel.js.map +1 -1
  572. package/ui/Loader.js +2 -2
  573. package/ui/Loader.js.map +1 -1
  574. package/ui/MentionLabel.js +11 -11
  575. package/ui/MentionLabel.js.map +1 -1
  576. package/ui/MentionUserLabel.js.map +1 -1
  577. package/ui/MessageContent.js +14 -14
  578. package/ui/MessageContent.js.map +1 -1
  579. package/ui/MessageInput.js +12866 -2985
  580. package/ui/MessageInput.js.map +1 -1
  581. package/ui/MessageItemMenu.js +8 -8
  582. package/ui/MessageItemMenu.js.map +1 -1
  583. package/ui/MessageItemReactionMenu.js +6 -6
  584. package/ui/MessageItemReactionMenu.js.map +1 -1
  585. package/ui/MessageSearchFileItem.js +10 -10
  586. package/ui/MessageSearchFileItem.js.map +1 -1
  587. package/ui/MessageSearchItem.js +10 -10
  588. package/ui/MessageSearchItem.js.map +1 -1
  589. package/ui/MessageStatus.js +8 -8
  590. package/ui/MessageStatus.js.map +1 -1
  591. package/ui/Modal.js +11 -10
  592. package/ui/Modal.js.map +1 -1
  593. package/ui/MutedAvatarOverlay.js +1 -1
  594. package/ui/MutedAvatarOverlay.js.map +1 -1
  595. package/ui/OGMessageItemBody.js +11 -11
  596. package/ui/OGMessageItemBody.js.map +1 -1
  597. package/ui/OpenChannelAdminMessage.js +4 -4
  598. package/ui/OpenChannelAdminMessage.js.map +1 -1
  599. package/ui/OpenChannelAvatar.js +7 -7
  600. package/ui/OpenChannelAvatar.js.map +1 -1
  601. package/ui/OpenchannelConversationHeader.js +7 -7
  602. package/ui/OpenchannelConversationHeader.js.map +1 -1
  603. package/ui/OpenchannelFileMessage.js +15 -15
  604. package/ui/OpenchannelFileMessage.js.map +1 -1
  605. package/ui/OpenchannelOGMessage.js +37 -42
  606. package/ui/OpenchannelOGMessage.js.map +1 -1
  607. package/ui/OpenchannelThumbnailMessage.js +14 -14
  608. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  609. package/ui/OpenchannelUserMessage.js +15 -15
  610. package/ui/OpenchannelUserMessage.js.map +1 -1
  611. package/ui/PlaceHolder.js +7 -7
  612. package/ui/QuoteMessage.js +7 -7
  613. package/ui/QuoteMessage.js.map +1 -1
  614. package/ui/QuoteMessageInput.js +7 -7
  615. package/ui/QuoteMessageInput.js.map +1 -1
  616. package/ui/ReactionBadge.js +4 -4
  617. package/ui/ReactionBadge.js.map +1 -1
  618. package/ui/ReactionButton.js +1 -1
  619. package/ui/ReactionButton.js.map +1 -1
  620. package/ui/SortByRow.js +2 -2
  621. package/ui/SortByRow.js.map +1 -1
  622. package/ui/TextButton.js +2 -2
  623. package/ui/TextButton.js.map +1 -1
  624. package/ui/TextMessageItemBody.js +11 -11
  625. package/ui/TextMessageItemBody.js.map +1 -1
  626. package/ui/ThumbnailMessageItemBody.js +3 -3
  627. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  628. package/ui/Tooltip.js +4 -4
  629. package/ui/Tooltip.js.map +1 -1
  630. package/ui/TooltipWrapper.js +1 -1
  631. package/ui/TooltipWrapper.js.map +1 -1
  632. package/ui/UnknownMessageItemBody.js +7 -7
  633. package/ui/UnknownMessageItemBody.js.map +1 -1
  634. package/ui/UserListItem.js +12 -12
  635. package/ui/UserListItem.js.map +1 -1
  636. package/ui/UserProfile.js +10 -10
  637. package/ui/UserProfile.js.map +1 -1
  638. package/ui/Word.js +13 -15
  639. package/ui/Word.js.map +1 -1
  640. package/useSendbirdStateContext.js +1 -1
  641. package/useSendbirdStateContext.js.map +1 -1
  642. package/{utils-12da1022.js → utils-330ed0b1.js} +1 -1
  643. package/{utils-12da1022.js.map → utils-330ed0b1.js.map} +1 -1
  644. package/{utils-2c4d166e.js → utils-629876b9.js} +1 -1
  645. package/{utils-2c4d166e.js.map → utils-629876b9.js.map} +1 -1
  646. package/{utils-bc7d8f0c.js → utils-8fb72715.js} +1 -1
  647. package/{utils-bc7d8f0c.js.map → utils-8fb72715.js.map} +1 -1
  648. package/{uuid-8a4db02f.js → uuid-180d497e.js} +1 -1
  649. package/{uuid-8a4db02f.js.map → uuid-180d497e.js.map} +1 -1
  650. package/withSendbird.js +1 -1
  651. package/withSendbird.js.map +1 -1
  652. package/ChannelListProvider-0157b613.js.map +0 -1
  653. package/MemberList-004dd3e6.js.map +0 -1
  654. package/OpenChannelProvider-f5d504ec.js.map +0 -1
  655. package/__bundle-6316ce22-63d15802.js +0 -20
  656. package/__bundle-6316ce22-63d15802.js.map +0 -1
  657. package/__bundle-7dfccc8c-d5c3938c.js +0 -6
  658. package/__bundle-7dfccc8c-d5c3938c.js.map +0 -1
  659. package/__bundle-fbda47dd-b1c87af3.js +0 -6
  660. package/__bundle-fbda47dd-b1c87af3.js.map +0 -1
  661. package/cjs/ChannelListProvider-3e882076.js.map +0 -1
  662. package/cjs/MemberList-e062045b.js.map +0 -1
  663. package/cjs/OpenChannelProvider-341f9a01.js.map +0 -1
  664. package/cjs/__bundle-6316ce22-054c7ff6.js +0 -127
  665. package/cjs/__bundle-6316ce22-054c7ff6.js.map +0 -1
  666. package/cjs/__bundle-7dfccc8c-826eb0ef.js +0 -15
  667. package/cjs/__bundle-7dfccc8c-826eb0ef.js.map +0 -1
  668. package/cjs/__bundle-fbda47dd-4cb7267d.js +0 -33
  669. package/cjs/__bundle-fbda47dd-4cb7267d.js.map +0 -1
  670. package/cjs/color-f0ffb253.js.map +0 -1
  671. package/cjs/groupChannel-4934c435.js +0 -11
  672. package/cjs/groupChannel-4934c435.js.map +0 -1
  673. package/cjs/index-0add0c83.js.map +0 -1
  674. package/cjs/index-2d53c0e6.js.map +0 -1
  675. package/cjs/index-98e4f7b2.js.map +0 -1
  676. package/cjs/index-a00a0f18.js.map +0 -1
  677. package/cjs/index-c8f7702f.js.map +0 -1
  678. package/cjs/index-d889bc81.js +0 -90
  679. package/cjs/index-d889bc81.js.map +0 -1
  680. package/cjs/openChannel-e95532d8.js +0 -10
  681. package/cjs/openChannel-e95532d8.js.map +0 -1
  682. package/cjs/sendbird-e3e5c8ae.js +0 -12
  683. package/cjs/sendbird-e3e5c8ae.js.map +0 -1
  684. package/cjs/stringSet-bd0c293d.js.map +0 -1
  685. package/cjs/topics-f3fe3bf3.js.map +0 -1
  686. package/cjs/ui/ChannelPreview.js +0 -212
  687. package/cjs/ui/ChannelPreview.js.map +0 -1
  688. package/cjs/ui/ChatHeader.js +0 -120
  689. package/cjs/ui/ChatHeader.js.map +0 -1
  690. package/color-83cfc07a.js.map +0 -1
  691. package/groupChannel-de6b26ee.js +0 -8
  692. package/groupChannel-de6b26ee.js.map +0 -1
  693. package/index-1086dd43.js.map +0 -1
  694. package/index-16e14c17.js +0 -82
  695. package/index-16e14c17.js.map +0 -1
  696. package/index-24a5ab49.js.map +0 -1
  697. package/index-7a790c96.js.map +0 -1
  698. package/index-c3a36db0.js.map +0 -1
  699. package/index-d545f604.js.map +0 -1
  700. package/openChannel-825f8e93.js +0 -7
  701. package/openChannel-825f8e93.js.map +0 -1
  702. package/sendbird-21239b88.js +0 -7
  703. package/sendbird-21239b88.js.map +0 -1
  704. package/stringSet-c4a61372.js.map +0 -1
  705. package/topics-851d221c.js.map +0 -1
  706. package/ui/ChannelPreview.js +0 -205
  707. package/ui/ChannelPreview.js.map +0 -1
  708. package/ui/ChatHeader.js +0 -114
  709. package/ui/ChatHeader.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FileViewer.js","sources":["../../../src/smart-components/Channel/components/FileViewer/index.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport './file-viewer.scss';\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport { MODAL_ROOT } from '../../../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, isSupportedFileView } from '../../../../utils';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { EveryMessage } from '../../../../types';\n\ntype FileViewerUIProps = {\n profileUrl: string;\n nickname: string;\n // file\n name: string;\n type: string;\n url: string;\n // others\n isByMe: boolean;\n onCancel: () => void;\n onDelete: () => void;\n disableDelete: boolean;\n};\n\nexport const FileViewerComponent: React.FC<FileViewerUIProps> = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onCancel,\n onDelete,\n disableDelete,\n}: FileViewerUIProps) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={() => { if (!disableDelete) { onDelete(); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={onCancel}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\ntype FileViewerProps = {\n onCancel:() => void;\n message: FileMessage;\n};\n\nconst FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewerProps) => {\n const { deleteMessage } = useChannelContext();\n const {\n sender,\n type,\n url,\n name = '',\n threadInfo,\n } = message;\n const user = useSendbirdStateContext()?.config?.userId;\n const isByMe = user === message?.sender?.userId;\n const disableDelete = threadInfo?.replyCount > 0;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onCancel={onCancel}\n onDelete={() => {\n deleteMessage(message as EveryMessage).then(() => {\n onCancel();\n });\n }}\n isByMe={isByMe}\n disableDelete={disableDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nexport default FileViewer;\n"],"names":["FileViewerComponent","_a","profileUrl","nickname","name","type","url","isByMe","onCancel","onDelete","disableDelete","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","CLOSE","isVideo","isImage","H_1","FileViewer","message","deleteMessage","useChannelContext","sender","_e","threadInfo","user","useSendbirdStateContext","config","userId","replyCount","_f","createPortal","then","document","getElementById","MODAL_ROOT"],"mappings":"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"}
1
+ {"version":3,"file":"FileViewer.js","sources":["../../../src/smart-components/Channel/components/FileViewer/index.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport './file-viewer.scss';\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport { MODAL_ROOT } from '../../../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, isSupportedFileView } from '../../../../utils';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { EveryMessage } from '../../../../types';\n\ntype FileViewerUIProps = {\n profileUrl: string;\n nickname: string;\n // file\n name: string;\n type: string;\n url: string;\n // others\n isByMe: boolean;\n onCancel: () => void;\n onDelete: () => void;\n disableDelete: boolean;\n};\n\nexport const FileViewerComponent: React.FC<FileViewerUIProps> = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onCancel,\n onDelete,\n disableDelete,\n}: FileViewerUIProps) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={() => { if (!disableDelete) { onDelete(); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={onCancel}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\ntype FileViewerProps = {\n onCancel:() => void;\n message: FileMessage;\n};\n\nconst FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewerProps) => {\n const { deleteMessage } = useChannelContext();\n const {\n sender,\n type,\n url,\n name = '',\n threadInfo,\n } = message;\n const user = useSendbirdStateContext()?.config?.userId;\n const isByMe = user === message?.sender?.userId;\n const disableDelete = threadInfo?.replyCount > 0;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onCancel={onCancel}\n onDelete={() => {\n deleteMessage(message as EveryMessage).then(() => {\n onCancel();\n });\n }}\n isByMe={isByMe}\n disableDelete={disableDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nexport default FileViewer;\n"],"names":["FileViewerComponent","_a","profileUrl","nickname","name","type","url","isByMe","onCancel","onDelete","disableDelete","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","CLOSE","isVideo","isImage","H_1","FileViewer","message","deleteMessage","useChannelContext","sender","_e","threadInfo","user","useSendbirdStateContext","config","userId","replyCount","_f","createPortal","then","document","getElementById","MODAL_ROOT"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../../LocalizationContext-5b475a64.js';
3
- import { L as Label, a as LabelTypography } from '../../index-e028fd23.js';
4
- import '../../stringSet-c4a61372.js';
5
- import '../../index-25496c01.js';
6
- import '../../_rollupPluginBabelHelpers-b2b008c2.js';
2
+ import { a as LocalizationContext } from '../../LocalizationContext-4cefc770.js';
3
+ import { L as Label, a as LabelTypography } from '../../index-6b896cd8.js';
4
+ import '../../stringSet-dc330bcf.js';
5
+ import '../../index-176e9ad4.js';
6
+ import '../../_rollupPluginBabelHelpers-4527872e.js';
7
7
  import 'prop-types';
8
8
 
9
9
  var FrozenNotification = function FrozenNotification() {
@@ -1 +1 @@
1
- {"version":3,"file":"FrozenNotification.js","sources":["../../../src/smart-components/Channel/components/FrozenNotification/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-notification sendbird-notification--frozen\">\n <Label\n className=\"sendbird-notification__text\"\n type={LabelTypography.CAPTION_2}\n >\n {stringSet.CHANNEL_FROZEN}\n </Label>\n </div>\n );\n}\n\nexport default FrozenNotification;\n"],"names":["FrozenNotification","stringSet","useContext","LocalizationContext","React","LabelTypography","CAPTION_2","CHANNEL_FROZEN"],"mappings":";;;;;;;;IAOMA,kBAAkB,GAAG,SAArBA,kBAAqB;AACjB,MAAAC,SAAS,GAAKC,UAAU,CAACC,mBAAD,CAAV,UAAd;AACR,sBACEC;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,IAAI,EAAEC,eAAe,CAACC;AAFxB,KAIGL,SAAS,CAACM,cAJb,CADF,CADF;AAUD;;;;"}
1
+ {"version":3,"file":"FrozenNotification.js","sources":["../../../src/smart-components/Channel/components/FrozenNotification/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-notification sendbird-notification--frozen\">\n <Label\n className=\"sendbird-notification__text\"\n type={LabelTypography.CAPTION_2}\n >\n {stringSet.CHANNEL_FROZEN}\n </Label>\n </div>\n );\n}\n\nexport default FrozenNotification;\n"],"names":["FrozenNotification","stringSet","useContext","LocalizationContext","React","LabelTypography","CAPTION_2","CHANNEL_FROZEN"],"mappings":";;;;;;;;IAOMA,kBAAkB,GAAG,SAArBA,kBAAqB;EACjB,IAAAC,SAAS,GAAKC,UAAU,CAACC,mBAAD,CAAV,UAAd;EACR,oBACEC;IAAK,SAAS,EAAC;kBACbA,6BAAC,KAAD;IACE,SAAS,EAAC,6BADZ;IAEE,IAAI,EAAEC,eAAe,CAACC;KAErBL,SAAS,CAACM,cAJb,CADF,CADF;AAUD;;;;"}
@@ -1,46 +1,44 @@
1
- import { a as __spreadArray } from '../../tslib.es6-72a2f141.js';
1
+ import { a as __spreadArray } from '../../tslib.es6-cb5d77bf.js';
2
2
  import React__default, { useState, useRef, useEffect, useLayoutEffect, useMemo } from 'react';
3
- import { f as format } from '../../index-4400a360.js';
3
+ import { f as format } from '../../index-7fa0a721.js';
4
4
  import SuggestedMentionList from './SuggestedMentionList.js';
5
5
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
6
- import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-57689107.js';
7
- import { k as getClassName } from '../../index-24a5ab49.js';
8
- import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-7867ac6a.js';
6
+ import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-b8c6427f.js';
7
+ import { k as getClassName } from '../../index-f59cf800.js';
8
+ import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-6b428cb8.js';
9
9
  import DateSeparator from '../../ui/DateSeparator.js';
10
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-e028fd23.js';
10
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-6b896cd8.js';
11
11
  import MessageInput from '../../ui/MessageInput.js';
12
12
  import MessageContent from '../../ui/MessageContent.js';
13
13
  import FileViewer from './FileViewer.js';
14
14
  import RemoveMessage from './RemoveMessageModal.js';
15
- import { M as MessageInputKeys } from '../../const-71ceda85.js';
16
- import { u as useLocalization } from '../../LocalizationContext-5b475a64.js';
17
- import '../../index-25496c01.js';
15
+ import { M as MessageInputKeys } from '../../const-768ef60e.js';
16
+ import { u as useLocalization } from '../../LocalizationContext-4cefc770.js';
17
+ import '../../index-176e9ad4.js';
18
18
  import '../../ui/Icon.js';
19
- import '../../_rollupPluginBabelHelpers-b2b008c2.js';
19
+ import '../../_rollupPluginBabelHelpers-4527872e.js';
20
20
  import 'prop-types';
21
21
  import '../../ui/Avatar.js';
22
22
  import '../../ui/ImageRenderer.js';
23
- import '../../uuid-8a4db02f.js';
23
+ import '../../uuid-180d497e.js';
24
24
  import '../../withSendbird.js';
25
- import '../../UserProfileContext-a2483e23.js';
26
- import '../../topics-851d221c.js';
27
- import '../../compareIds-9455ecb0.js';
28
- import '../../groupChannel-de6b26ee.js';
29
- import '../../__bundle-6316ce22-63d15802.js';
30
- import '../../__bundle-fbda47dd-b1c87af3.js';
31
- import '../../__bundle-7dfccc8c-d5c3938c.js';
25
+ import '../../UserProfileContext-2e53d03a.js';
26
+ import '../../topics-c5198349.js';
27
+ import '../../compareIds-31e2f55c.js';
28
+ import '../../groupChannel-e2a071e1.js';
29
+ import '../../__bundle-bd072f34-95f6bf17.js';
32
30
  import '../../ui/ContextMenu.js';
33
31
  import 'react-dom';
34
32
  import '../../ui/SortByRow.js';
35
- import '../../stringSet-c4a61372.js';
33
+ import '../../stringSet-dc330bcf.js';
36
34
  import '../../ui/ReactionButton.js';
37
- import '../../color-83cfc07a.js';
35
+ import '../../color-402a36fd.js';
38
36
  import '../../ui/IconButton.js';
39
- import '../../index-16e14c17.js';
37
+ import '../../ui/Button.js';
40
38
  import '../../ui/MentionUserLabel.js';
41
39
  import '../../ui/UserProfile.js';
42
40
  import '../../sendbirdSelectors.js';
43
- import '../../utils-2c4d166e.js';
41
+ import '../../utils-629876b9.js';
44
42
  import '../../ui/MessageStatus.js';
45
43
  import '../../ui/Loader.js';
46
44
  import '../../ui/MessageItemMenu.js';
@@ -60,7 +58,7 @@ import '../../ui/ThumbnailMessageItemBody.js';
60
58
  import '../../ui/OGMessageItemBody.js';
61
59
  import '../../ui/UnknownMessageItemBody.js';
62
60
  import '../../ui/QuoteMessage.js';
63
- import '../../index-1086dd43.js';
61
+ import '../../index-3249f6b5.js';
64
62
  import '../../ui/Modal.js';
65
63
 
66
64
  var Message = function Message(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\nconst Message = (props: MessageUIProps): React.FC<MessageUIProps> | React.ReactElement => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n } = useChannelContext();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message.isUserMessage()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_b","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_c","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","_d","useState","showEdit","setShowEdit","_e","showRemove","setShowRemove","_f","showFileViewer","setShowFileViewer","_g","isAnimated","setIsAnimated","_h","isHighlighted","setIsHighlighted","_j","mentionNickname","setMentionNickname","_k","mentionedUsers","setMentionedUsers","_l","mentionedUserIds","setMentionedUserIds","_m","messageInputEvent","setMessageInputEvent","_o","selectedUser","setSelectedUser","_p","mentionSuggestedUsers","setMentionSuggestedUsers","_q","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","user","users","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\nconst Message = (props: MessageUIProps): React.FC<MessageUIProps> | React.ReactElement => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n } = useChannelContext();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message.isUserMessage()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_b","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_c","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","_d","useState","showEdit","setShowEdit","_e","showRemove","setShowRemove","_f","showFileViewer","setShowFileViewer","_g","isAnimated","setIsAnimated","_h","isHighlighted","setIsHighlighted","_j","mentionNickname","setMentionNickname","_k","mentionedUsers","setMentionedUsers","_l","mentionedUserIds","setMentionedUserIds","_m","messageInputEvent","setMessageInputEvent","_o","selectedUser","setSelectedUser","_p","mentionSuggestedUsers","setMentionSuggestedUsers","_q","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","user","users","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}
@@ -1,41 +1,41 @@
1
- import { a as __spreadArray } from '../../tslib.es6-72a2f141.js';
1
+ import { a as __spreadArray } from '../../tslib.es6-cb5d77bf.js';
2
2
  import React__default, { useContext, useState, useEffect } from 'react';
3
- import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted, d as isOperator } from '../../ChannelProvider-57689107.js';
3
+ import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted, d as isOperator } from '../../ChannelProvider-b8c6427f.js';
4
4
  import MessageInput from '../../ui/MessageInput.js';
5
5
  import QuoteMessageInput from '../../ui/QuoteMessageInput.js';
6
- import { a as LocalizationContext } from '../../LocalizationContext-5b475a64.js';
6
+ import { a as LocalizationContext } from '../../LocalizationContext-4cefc770.js';
7
7
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
8
8
  import SuggestedMentionList from './SuggestedMentionList.js';
9
- import { M as MessageInputKeys } from '../../const-71ceda85.js';
10
- import '../../UserProfileContext-a2483e23.js';
9
+ import { M as MessageInputKeys } from '../../const-768ef60e.js';
10
+ import '../../UserProfileContext-2e53d03a.js';
11
11
  import 'prop-types';
12
- import '../../_rollupPluginBabelHelpers-b2b008c2.js';
13
- import '../../index-4400a360.js';
14
- import '../../index-25496c01.js';
15
- import '../../topics-851d221c.js';
16
- import '../../index-24a5ab49.js';
17
- import '../../compareIds-9455ecb0.js';
18
- import '../../const-7867ac6a.js';
19
- import '../../groupChannel-de6b26ee.js';
20
- import '../../__bundle-6316ce22-63d15802.js';
21
- import '../../__bundle-fbda47dd-b1c87af3.js';
22
- import '../../__bundle-7dfccc8c-d5c3938c.js';
23
- import '../../uuid-8a4db02f.js';
12
+ import '../../_rollupPluginBabelHelpers-4527872e.js';
13
+ import '../../index-7fa0a721.js';
14
+ import '../../index-176e9ad4.js';
15
+ import '../../topics-c5198349.js';
16
+ import '../../index-f59cf800.js';
17
+ import '../../compareIds-31e2f55c.js';
18
+ import '../../const-6b428cb8.js';
19
+ import '../../groupChannel-e2a071e1.js';
20
+ import '../../__bundle-bd072f34-95f6bf17.js';
21
+ import '../../uuid-180d497e.js';
24
22
  import '../../ui/ContextMenu.js';
25
23
  import 'react-dom';
26
24
  import '../../ui/SortByRow.js';
27
- import '../../index-e028fd23.js';
28
- import '../../stringSet-c4a61372.js';
25
+ import '../../index-6b896cd8.js';
26
+ import '../../stringSet-dc330bcf.js';
29
27
  import '../../ui/ReactionButton.js';
30
28
  import '../../ui/ImageRenderer.js';
31
29
  import '../../ui/Icon.js';
32
30
  import '../../ui/IconButton.js';
33
- import '../../index-16e14c17.js';
31
+ import '../../ui/Button.js';
34
32
  import '../../ui/MentionUserLabel.js';
35
33
  import '../../withSendbird.js';
36
34
  import '../../ui/Avatar.js';
37
35
 
38
- var MessageInputWrapper = function MessageInputWrapper() {
36
+ var MessageInputWrapper = function MessageInputWrapper(props) {
37
+ var value = props.value;
38
+
39
39
  var _a = useChannelContext(),
40
40
  currentGroupChannel = _a.currentGroupChannel,
41
41
  initialized = _a.initialized,
@@ -159,6 +159,7 @@ var MessageInputWrapper = function MessageInputWrapper() {
159
159
  }
160
160
  })), /*#__PURE__*/React__default.createElement(MessageInput, {
161
161
  className: "sendbird-message-input-wrapper__message-input",
162
+ value: value,
162
163
  channelUrl: channel === null || channel === void 0 ? void 0 : channel.url,
163
164
  mentionSelectedUser: selectedUser,
164
165
  isMentionEnabled: isMentionEnabled,
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.js","sources":["../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nconst MessageInputWrapper = (): JSX.Element => {\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const { isOnline, isMentionEnabled, userMention } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className=\"sendbird-message-input-wrapper\">\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={messageInputRef}\n disabled={disabled}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","disabled","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","user","users","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"MessageInput.js","sources":["../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n};\n\n\nconst MessageInputWrapper = (props: MessageInputWrapperProps): JSX.Element => {\n const { value } = props;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const { isOnline, isMentionEnabled, userMention } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className=\"sendbird-message-input-wrapper\">\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={messageInputRef}\n disabled={disabled}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","value","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","disabled","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","user","users","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
@@ -1,48 +1,46 @@
1
1
  import React__default, { useState, useMemo } from 'react';
2
- import { i as isSameDay } from '../../index-2f85a795.js';
3
- import { u as useChannelContext, c as compareMessagesForGrouping, i as isAboutSame } from '../../ChannelProvider-57689107.js';
4
- import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-7a790c96.js';
2
+ import { i as isSameDay } from '../../index-598898d3.js';
3
+ import { u as useChannelContext, c as compareMessagesForGrouping, i as isAboutSame } from '../../ChannelProvider-b8c6427f.js';
4
+ import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-a98bd600.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-8a4db02f.js';
8
- import '../../index-4400a360.js';
9
- import '../../index-25496c01.js';
10
- import '../../UserProfileContext-a2483e23.js';
7
+ import { u as uuidv4 } from '../../uuid-180d497e.js';
8
+ import '../../index-7fa0a721.js';
9
+ import '../../index-176e9ad4.js';
10
+ import '../../UserProfileContext-2e53d03a.js';
11
11
  import 'prop-types';
12
12
  import '../../useSendbirdStateContext.js';
13
13
  import '../../withSendbird.js';
14
- import '../../_rollupPluginBabelHelpers-b2b008c2.js';
15
- import '../../topics-851d221c.js';
16
- import '../../index-24a5ab49.js';
17
- import '../../tslib.es6-72a2f141.js';
18
- import '../../compareIds-9455ecb0.js';
19
- import '../../const-7867ac6a.js';
20
- import '../../groupChannel-de6b26ee.js';
21
- import '../../__bundle-6316ce22-63d15802.js';
22
- import '../../__bundle-fbda47dd-b1c87af3.js';
23
- import '../../__bundle-7dfccc8c-d5c3938c.js';
14
+ import '../../_rollupPluginBabelHelpers-4527872e.js';
15
+ import '../../topics-c5198349.js';
16
+ import '../../index-f59cf800.js';
17
+ import '../../tslib.es6-cb5d77bf.js';
18
+ import '../../compareIds-31e2f55c.js';
19
+ import '../../const-6b428cb8.js';
20
+ import '../../groupChannel-e2a071e1.js';
21
+ import '../../__bundle-bd072f34-95f6bf17.js';
24
22
  import '../../ui/ContextMenu.js';
25
23
  import 'react-dom';
26
24
  import '../../ui/SortByRow.js';
27
- import '../../index-e028fd23.js';
28
- import '../../stringSet-c4a61372.js';
25
+ import '../../index-6b896cd8.js';
26
+ import '../../stringSet-dc330bcf.js';
29
27
  import '../../ui/ReactionButton.js';
30
28
  import '../../ui/ImageRenderer.js';
31
- import '../../LocalizationContext-5b475a64.js';
29
+ import '../../LocalizationContext-4cefc770.js';
32
30
  import '../../ui/Loader.js';
33
31
  import './SuggestedMentionList.js';
34
32
  import '../../ui/Avatar.js';
35
- import '../../const-71ceda85.js';
33
+ import '../../const-768ef60e.js';
36
34
  import '../../ui/DateSeparator.js';
37
- import '../../color-83cfc07a.js';
35
+ import '../../color-402a36fd.js';
38
36
  import '../../ui/MessageInput.js';
39
37
  import '../../ui/IconButton.js';
40
- import '../../index-16e14c17.js';
38
+ import '../../ui/Button.js';
41
39
  import '../../ui/MentionUserLabel.js';
42
40
  import '../../ui/MessageContent.js';
43
41
  import '../../ui/UserProfile.js';
44
42
  import '../../sendbirdSelectors.js';
45
- import '../../utils-2c4d166e.js';
43
+ import '../../utils-629876b9.js';
46
44
  import '../../ui/MessageStatus.js';
47
45
  import '../../ui/MessageItemMenu.js';
48
46
  import '../../ui/MessageItemReactionMenu.js';
@@ -62,7 +60,7 @@ import '../../ui/OGMessageItemBody.js';
62
60
  import '../../ui/UnknownMessageItemBody.js';
63
61
  import '../../ui/QuoteMessage.js';
64
62
  import './FileViewer.js';
65
- import '../../index-1086dd43.js';
63
+ import '../../index-3249f6b5.js';
66
64
  import './RemoveMessageModal.js';
67
65
  import '../../ui/Modal.js';
68
66
 
@@ -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 { 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 { RenderCustomSeparatorProps, 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?: (props: RenderCustomSeparatorProps) => 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 try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\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":"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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 { RenderCustomSeparatorProps, 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?: (props: RenderCustomSeparatorProps) => 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 try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\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":"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"}