@sendbird/uikit-react 3.1.1-rc.4 → 3.1.2-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 (593) hide show
  1. package/App.js +36 -33
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +50 -0
  4. package/Channel/components/ChannelHeader.js +19 -17
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +26 -24
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +18 -16
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/Message.js +23 -21
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +20 -18
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +25 -23
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +22 -21
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +19 -17
  20. package/Channel/components/SuggestedMentionList.js.map +1 -1
  21. package/Channel/components/TypingIndicator.js +18 -16
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +5 -5
  24. package/Channel/context.js +17 -15
  25. package/Channel/context.js.map +1 -1
  26. package/Channel.js +26 -24
  27. package/Channel.js.map +1 -1
  28. package/ChannelList/components/AddChannel.js +14 -14
  29. package/ChannelList/components/ChannelListHeader.js +7 -7
  30. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  31. package/ChannelList/components/ChannelListUI.js +30 -28
  32. package/ChannelList/components/ChannelListUI.js.map +1 -1
  33. package/ChannelList/components/ChannelPreview.js +23 -21
  34. package/ChannelList/components/ChannelPreview.js.map +1 -1
  35. package/ChannelList/components/ChannelPreviewAction.js +18 -16
  36. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  37. package/ChannelList/context.js +12 -10
  38. package/ChannelList/context.js.map +1 -1
  39. package/ChannelList.js +30 -28
  40. package/ChannelList.js.map +1 -1
  41. package/{ChannelListProvider-25d9b3b5.js → ChannelListProvider-536de516.js} +9 -9
  42. package/ChannelListProvider-536de516.js.map +1 -0
  43. package/{ChannelProvider-0d6ca899.js → ChannelProvider-288abd6e.js} +31 -30
  44. package/ChannelProvider-288abd6e.js.map +1 -0
  45. package/ChannelSettings/components/ChannelProfile.js +13 -14
  46. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  47. package/ChannelSettings/components/ChannelSettingsUI.js +22 -20
  48. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  49. package/ChannelSettings/components/EditDetailsModal.js +14 -15
  50. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  51. package/ChannelSettings/components/LeaveChannel.js +12 -11
  52. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  53. package/ChannelSettings/components/ModerationPanel.js +19 -17
  54. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  55. package/ChannelSettings/components/UserListItem.js +12 -12
  56. package/ChannelSettings/components/UserPanel.js +14 -14
  57. package/ChannelSettings/context.js +3 -3
  58. package/ChannelSettings/context.js.map +1 -1
  59. package/ChannelSettings.js +23 -21
  60. package/ChannelSettings.js.map +1 -1
  61. package/CreateChannel/components/CreateChannelUI.js +16 -16
  62. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  63. package/CreateChannel/components/InviteUsers.js +16 -16
  64. package/CreateChannel/components/SelectChannelType.js +11 -10
  65. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  66. package/CreateChannel/context.js +4 -4
  67. package/CreateChannel.js +16 -16
  68. package/{CreateChannelProvider-3a67b8a6.js → CreateChannelProvider-1d4c08d8.js} +1 -1
  69. package/CreateChannelProvider-1d4c08d8.js.map +1 -0
  70. package/EditUserProfile/components/EditUserProfileUI.js +14 -14
  71. package/EditUserProfile/context.js.map +1 -1
  72. package/EditUserProfile.js +15 -15
  73. package/{LocalizationContext-e8feb521.js → LocalizationContext-7d740b0a.js} +3 -3
  74. package/LocalizationContext-7d740b0a.js.map +1 -0
  75. package/{MemberList-28d2c9b1.js → MemberList-8bc3c1e1.js} +6 -6
  76. package/{MemberList-28d2c9b1.js.map → MemberList-8bc3c1e1.js.map} +1 -1
  77. package/MessageSearch/components/MessageSearchUI.js +13 -12
  78. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  79. package/MessageSearch/context.js +4 -3
  80. package/MessageSearch/context.js.map +1 -1
  81. package/MessageSearch.js +13 -12
  82. package/MessageSearch.js.map +1 -1
  83. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  84. package/OpenChannel/components/OpenChannelHeader.js +17 -15
  85. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  86. package/OpenChannel/components/OpenChannelInput.js +21 -19
  87. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  88. package/OpenChannel/components/OpenChannelMessage.js +29 -27
  89. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  90. package/OpenChannel/components/OpenChannelMessageList.js +28 -26
  91. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  92. package/OpenChannel/components/OpenChannelUI.js +28 -26
  93. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  94. package/OpenChannel/context.js +14 -12
  95. package/OpenChannel/context.js.map +1 -1
  96. package/OpenChannel.js +28 -26
  97. package/OpenChannel.js.map +1 -1
  98. package/{OpenChannelProvider-30cf7bc0.js → OpenChannelProvider-2e64f2d2.js} +16 -14
  99. package/{OpenChannelProvider-30cf7bc0.js.map → OpenChannelProvider-2e64f2d2.js.map} +1 -1
  100. package/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  101. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  102. package/OpenChannelSettings/components/OpenChannelProfile.js +16 -16
  103. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  104. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -20
  105. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  106. package/OpenChannelSettings/components/OperatorUI.js +20 -19
  107. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  108. package/OpenChannelSettings/components/ParticipantUI.js +20 -19
  109. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  110. package/OpenChannelSettings/context.js +6 -5
  111. package/OpenChannelSettings/context.js.map +1 -1
  112. package/OpenChannelSettings.js +21 -20
  113. package/OpenChannelSettings.js.map +1 -1
  114. package/SendbirdProvider.js +17 -15
  115. package/SendbirdProvider.js.map +1 -1
  116. package/{UserProfileContext-95ae07d7.js → UserProfileContext-9b7b1d4f.js} +1 -1
  117. package/{UserProfileContext-95ae07d7.js.map → UserProfileContext-9b7b1d4f.js.map} +1 -1
  118. package/__bundle-6316ce22-41ee43fe.js +20 -0
  119. package/__bundle-6316ce22-41ee43fe.js.map +1 -0
  120. package/__bundle-7dfccc8c-c1f95345.js +6 -0
  121. package/__bundle-7dfccc8c-c1f95345.js.map +1 -0
  122. package/__bundle-fbda47dd-ee456253.js +6 -0
  123. package/__bundle-fbda47dd-ee456253.js.map +1 -0
  124. package/{_rollupPluginBabelHelpers-e3950f78.js → _rollupPluginBabelHelpers-4e546dea.js} +2 -105
  125. package/_rollupPluginBabelHelpers-4e546dea.js.map +1 -0
  126. package/{actionTypes-9736d670.js → actionTypes-f1946e3f.js} +1 -1
  127. package/{actionTypes-9736d670.js.map → actionTypes-f1946e3f.js.map} +1 -1
  128. package/cjs/App.js +36 -33
  129. package/cjs/App.js.map +1 -1
  130. package/cjs/Channel/components/ChannelHeader.js +19 -17
  131. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  132. package/cjs/Channel/components/ChannelUI.js +26 -24
  133. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  134. package/cjs/Channel/components/FileViewer.js +18 -16
  135. package/cjs/Channel/components/FileViewer.js.map +1 -1
  136. package/cjs/Channel/components/FrozenNotification.js +5 -5
  137. package/cjs/Channel/components/Message.js +23 -21
  138. package/cjs/Channel/components/Message.js.map +1 -1
  139. package/cjs/Channel/components/MessageInput.js +20 -18
  140. package/cjs/Channel/components/MessageInput.js.map +1 -1
  141. package/cjs/Channel/components/MessageList.js +25 -23
  142. package/cjs/Channel/components/MessageList.js.map +1 -1
  143. package/cjs/Channel/components/RemoveMessageModal.js +22 -21
  144. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  145. package/cjs/Channel/components/SuggestedMentionList.js +19 -17
  146. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  147. package/cjs/Channel/components/TypingIndicator.js +18 -16
  148. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  149. package/cjs/Channel/components/UnreadCount.js +5 -5
  150. package/cjs/Channel/context.js +17 -15
  151. package/cjs/Channel/context.js.map +1 -1
  152. package/cjs/Channel.js +26 -24
  153. package/cjs/Channel.js.map +1 -1
  154. package/cjs/ChannelList/components/AddChannel.js +14 -14
  155. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  156. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  157. package/cjs/ChannelList/components/ChannelListUI.js +30 -28
  158. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  159. package/cjs/ChannelList/components/ChannelPreview.js +23 -21
  160. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  161. package/cjs/ChannelList/components/ChannelPreviewAction.js +18 -16
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  163. package/cjs/ChannelList/context.js +12 -10
  164. package/cjs/ChannelList/context.js.map +1 -1
  165. package/cjs/ChannelList.js +30 -28
  166. package/cjs/ChannelList.js.map +1 -1
  167. package/cjs/{ChannelListProvider-1efae3f2.js → ChannelListProvider-40eb170c.js} +9 -9
  168. package/cjs/ChannelListProvider-40eb170c.js.map +1 -0
  169. package/cjs/{ChannelProvider-2b772ecf.js → ChannelProvider-e1a06efe.js} +35 -34
  170. package/cjs/ChannelProvider-e1a06efe.js.map +1 -0
  171. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -14
  172. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  173. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +22 -20
  174. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  175. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -15
  176. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  177. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -11
  178. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  179. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -17
  180. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  181. package/cjs/ChannelSettings/components/UserListItem.js +12 -12
  182. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  183. package/cjs/ChannelSettings/context.js +3 -3
  184. package/cjs/ChannelSettings/context.js.map +1 -1
  185. package/cjs/ChannelSettings.js +23 -21
  186. package/cjs/ChannelSettings.js.map +1 -1
  187. package/cjs/CreateChannel/components/CreateChannelUI.js +16 -16
  188. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  189. package/cjs/CreateChannel/components/InviteUsers.js +16 -16
  190. package/cjs/CreateChannel/components/SelectChannelType.js +11 -10
  191. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  192. package/cjs/CreateChannel/context.js +4 -4
  193. package/cjs/CreateChannel.js +16 -16
  194. package/cjs/{CreateChannelProvider-ec5c9745.js → CreateChannelProvider-4acaac2e.js} +1 -1
  195. package/cjs/CreateChannelProvider-4acaac2e.js.map +1 -0
  196. package/cjs/EditUserProfile/components/EditUserProfileUI.js +14 -14
  197. package/cjs/EditUserProfile/context.js.map +1 -1
  198. package/cjs/EditUserProfile.js +15 -15
  199. package/cjs/{LocalizationContext-a717f07f.js → LocalizationContext-a4d8d6fa.js} +3 -3
  200. package/cjs/LocalizationContext-a4d8d6fa.js.map +1 -0
  201. package/cjs/{MemberList-3d35cb10.js → MemberList-b5653b8e.js} +6 -6
  202. package/cjs/{MemberList-3d35cb10.js.map → MemberList-b5653b8e.js.map} +1 -1
  203. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -12
  204. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  205. package/cjs/MessageSearch/context.js +4 -3
  206. package/cjs/MessageSearch/context.js.map +1 -1
  207. package/cjs/MessageSearch.js +13 -12
  208. package/cjs/MessageSearch.js.map +1 -1
  209. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  210. package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -15
  211. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  212. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -19
  213. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  214. package/cjs/OpenChannel/components/OpenChannelMessage.js +29 -27
  215. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  216. package/cjs/OpenChannel/components/OpenChannelMessageList.js +28 -26
  217. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  218. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -26
  219. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  220. package/cjs/OpenChannel/context.js +14 -12
  221. package/cjs/OpenChannel/context.js.map +1 -1
  222. package/cjs/OpenChannel.js +28 -26
  223. package/cjs/OpenChannel.js.map +1 -1
  224. package/cjs/{OpenChannelProvider-071b79ac.js → OpenChannelProvider-3d3298fd.js} +16 -14
  225. package/cjs/{OpenChannelProvider-071b79ac.js.map → OpenChannelProvider-3d3298fd.js.map} +1 -1
  226. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +18 -18
  227. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  228. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +16 -16
  229. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  230. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -20
  231. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  232. package/cjs/OpenChannelSettings/components/OperatorUI.js +20 -19
  233. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  234. package/cjs/OpenChannelSettings/components/ParticipantUI.js +20 -19
  235. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  236. package/cjs/OpenChannelSettings/context.js +6 -5
  237. package/cjs/OpenChannelSettings/context.js.map +1 -1
  238. package/cjs/OpenChannelSettings.js +21 -20
  239. package/cjs/OpenChannelSettings.js.map +1 -1
  240. package/cjs/SendbirdProvider.js +17 -16
  241. package/cjs/SendbirdProvider.js.map +1 -1
  242. package/cjs/{UserProfileContext-c31e547a.js → UserProfileContext-9fb4f747.js} +1 -1
  243. package/cjs/{UserProfileContext-c31e547a.js.map → UserProfileContext-9fb4f747.js.map} +1 -1
  244. package/cjs/__bundle-6316ce22-e09a7a94.js +127 -0
  245. package/cjs/__bundle-6316ce22-e09a7a94.js.map +1 -0
  246. package/cjs/__bundle-7dfccc8c-3af98778.js +15 -0
  247. package/cjs/__bundle-7dfccc8c-3af98778.js.map +1 -0
  248. package/cjs/__bundle-fbda47dd-a50b4334.js +33 -0
  249. package/cjs/__bundle-fbda47dd-a50b4334.js.map +1 -0
  250. package/cjs/{_rollupPluginBabelHelpers-e393547c.js → _rollupPluginBabelHelpers-e3f84a90.js} +1 -110
  251. package/cjs/_rollupPluginBabelHelpers-e3f84a90.js.map +1 -0
  252. package/cjs/{actionTypes-d7747d4f.js → actionTypes-8907b806.js} +1 -1
  253. package/cjs/{actionTypes-d7747d4f.js.map → actionTypes-8907b806.js.map} +1 -1
  254. package/cjs/color-047cfbdf.js +45 -0
  255. package/cjs/color-047cfbdf.js.map +1 -0
  256. package/cjs/{compareIds-14271a7a.js → compareIds-a4c74921.js} +1 -1
  257. package/cjs/{compareIds-14271a7a.js.map → compareIds-a4c74921.js.map} +1 -1
  258. package/cjs/{const-32ea063d.js → const-66e78150.js} +1 -1
  259. package/cjs/{const-32ea063d.js.map → const-66e78150.js.map} +1 -1
  260. package/cjs/{const-10467f47.js → const-b4516fd9.js} +1 -1
  261. package/cjs/{const-10467f47.js.map → const-b4516fd9.js.map} +1 -1
  262. package/cjs/{context-788aa225.js → context-24f7ccd5.js} +2 -2
  263. package/cjs/{context-788aa225.js.map → context-24f7ccd5.js.map} +1 -1
  264. package/cjs/dist/index.css +50 -72
  265. package/cjs/dist/index.css.map +1 -1
  266. package/cjs/groupChannel-ab450f40.js +11 -0
  267. package/cjs/groupChannel-ab450f40.js.map +1 -0
  268. package/cjs/handlers/ConnectionHandler.js +4 -2
  269. package/cjs/handlers/ConnectionHandler.js.map +1 -1
  270. package/cjs/handlers/GroupChannelHandler.js +4 -2
  271. package/cjs/handlers/GroupChannelHandler.js.map +1 -1
  272. package/cjs/handlers/OpenChannelHandler.js +3 -2
  273. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  274. package/cjs/handlers/UserEventHandler.js +4 -2
  275. package/cjs/handlers/UserEventHandler.js.map +1 -1
  276. package/cjs/{index-a96d75a9.js → index-13532266.js} +3 -3
  277. package/cjs/{index-a96d75a9.js.map → index-13532266.js.map} +1 -1
  278. package/cjs/{index-ef6bd2cd.js → index-4f96bea7.js} +15 -27
  279. package/cjs/{index-ef6bd2cd.js.map → index-4f96bea7.js.map} +1 -1
  280. package/cjs/index-65aaad9e.js +90 -0
  281. package/cjs/index-65aaad9e.js.map +1 -0
  282. package/cjs/{index-f63b3446.js → index-6d74425b.js} +1 -1
  283. package/cjs/{index-f63b3446.js.map → index-6d74425b.js.map} +1 -1
  284. package/cjs/{index-190364fc.js → index-83f6a684.js} +2 -2
  285. package/cjs/{index-190364fc.js.map → index-83f6a684.js.map} +1 -1
  286. package/cjs/{index-a0902c50.js → index-9a12fc25.js} +11 -10
  287. package/cjs/{index-a0902c50.js.map → index-9a12fc25.js.map} +1 -1
  288. package/cjs/{index-b4af7c26.js → index-9aaba1c0.js} +2 -2
  289. package/cjs/{index-b4af7c26.js.map → index-9aaba1c0.js.map} +1 -1
  290. package/cjs/{index-b20bd45d.js → index-bf23b757.js} +2 -2
  291. package/cjs/{index-b20bd45d.js.map → index-bf23b757.js.map} +1 -1
  292. package/cjs/{index-3e5e0655.js → index-df5b04e6.js} +1 -1
  293. package/cjs/{index-3e5e0655.js.map → index-df5b04e6.js.map} +1 -1
  294. package/cjs/{index-eac230b1.js → index-f4dec25b.js} +4 -4
  295. package/cjs/{index-eac230b1.js.map → index-f4dec25b.js.map} +1 -1
  296. package/cjs/{index-c75f064d.js → index-f6ccdc07.js} +7 -7
  297. package/cjs/index-f6ccdc07.js.map +1 -0
  298. package/cjs/index.js +40 -37
  299. package/cjs/index.js.map +1 -1
  300. package/cjs/openChannel-bb5e32ba.js +10 -0
  301. package/cjs/openChannel-bb5e32ba.js.map +1 -0
  302. package/cjs/{openChannelUtils-2761b73f.js → openChannelUtils-ea9b884a.js} +1 -1
  303. package/cjs/{openChannelUtils-2761b73f.js.map → openChannelUtils-ea9b884a.js.map} +1 -1
  304. package/cjs/sendbird-f219ad11.js +11 -0
  305. package/cjs/sendbird-f219ad11.js.map +1 -0
  306. package/cjs/sendbirdSelectors.js +2 -2
  307. package/cjs/{stringSet-0a5abb7a.js → stringSet-0e48356d.js} +3 -2
  308. package/cjs/stringSet-0e48356d.js.map +1 -0
  309. package/cjs/{topics-ae226ee4.js → topics-6314d5b3.js} +1 -1
  310. package/cjs/{topics-ae226ee4.js.map → topics-6314d5b3.js.map} +1 -1
  311. package/cjs/{tslib.es6-c83e0722.js → tslib.es6-4d92f5f1.js} +1 -1
  312. package/cjs/{tslib.es6-c83e0722.js.map → tslib.es6-4d92f5f1.js.map} +1 -1
  313. package/cjs/ui/Accordion.js +4 -4
  314. package/cjs/ui/AccordionGroup.js +2 -2
  315. package/cjs/ui/AdminMessage.js +14 -24
  316. package/cjs/ui/AdminMessage.js.map +1 -1
  317. package/cjs/ui/Avatar.js +3 -3
  318. package/cjs/ui/Avatar.js.map +1 -1
  319. package/cjs/ui/Badge.js +15 -25
  320. package/cjs/ui/Badge.js.map +1 -1
  321. package/cjs/ui/Button.js +5 -4
  322. package/cjs/ui/Button.js.map +1 -1
  323. package/cjs/ui/ChannelAvatar.js +4 -4
  324. package/cjs/ui/ChannelPreview.js +16 -12
  325. package/cjs/ui/ChannelPreview.js.map +1 -1
  326. package/cjs/ui/ChatHeader.js +42 -74
  327. package/cjs/ui/ChatHeader.js.map +1 -1
  328. package/cjs/ui/ConnectionStatus.js +6 -8
  329. package/cjs/ui/ConnectionStatus.js.map +1 -1
  330. package/cjs/ui/ContextMenu.js +186 -290
  331. package/cjs/ui/ContextMenu.js.map +1 -1
  332. package/cjs/ui/DateSeparator.js +18 -25
  333. package/cjs/ui/DateSeparator.js.map +1 -1
  334. package/cjs/ui/EmojiReactions.js +8 -7
  335. package/cjs/ui/EmojiReactions.js.map +1 -1
  336. package/cjs/ui/FileMessageItemBody.js +7 -7
  337. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  338. package/cjs/ui/FileViewer.js +46 -83
  339. package/cjs/ui/FileViewer.js.map +1 -1
  340. package/cjs/ui/Icon.js +1 -1
  341. package/cjs/ui/IconButton.js +45 -68
  342. package/cjs/ui/IconButton.js.map +1 -1
  343. package/cjs/ui/ImageRenderer.js +43 -78
  344. package/cjs/ui/ImageRenderer.js.map +1 -1
  345. package/cjs/ui/Input.js +11 -30
  346. package/cjs/ui/Input.js.map +1 -1
  347. package/cjs/ui/Label.js +3 -3
  348. package/cjs/ui/LinkLabel.js +3 -3
  349. package/cjs/ui/Loader.js +15 -24
  350. package/cjs/ui/Loader.js.map +1 -1
  351. package/cjs/ui/MentionLabel.js +12 -12
  352. package/cjs/ui/MessageContent.js +15 -15
  353. package/cjs/ui/MessageInput.js +10 -10
  354. package/cjs/ui/MessageItemMenu.js +9 -8
  355. package/cjs/ui/MessageItemMenu.js.map +1 -1
  356. package/cjs/ui/MessageItemReactionMenu.js +7 -6
  357. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  358. package/cjs/ui/MessageSearchFileItem.js +10 -10
  359. package/cjs/ui/MessageSearchItem.js +11 -11
  360. package/cjs/ui/MessageStatus.js +8 -8
  361. package/cjs/ui/Modal.js +36 -68
  362. package/cjs/ui/Modal.js.map +1 -1
  363. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  364. package/cjs/ui/OGMessageItemBody.js +11 -11
  365. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  366. package/cjs/ui/OpenChannelAvatar.js +8 -8
  367. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  368. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  369. package/cjs/ui/OpenchannelOGMessage.js +15 -15
  370. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  371. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  372. package/cjs/ui/PlaceHolder.js +8 -7
  373. package/cjs/ui/PlaceHolder.js.map +1 -1
  374. package/cjs/ui/QuoteMessage.js +7 -7
  375. package/cjs/ui/QuoteMessageInput.js +7 -7
  376. package/cjs/ui/ReactionBadge.js +16 -26
  377. package/cjs/ui/ReactionBadge.js.map +1 -1
  378. package/cjs/ui/ReactionButton.js +4 -21
  379. package/cjs/ui/ReactionButton.js.map +1 -1
  380. package/cjs/ui/SortByRow.js +16 -26
  381. package/cjs/ui/SortByRow.js.map +1 -1
  382. package/cjs/ui/TextButton.js +22 -29
  383. package/cjs/ui/TextButton.js.map +1 -1
  384. package/cjs/ui/TextMessageItemBody.js +11 -11
  385. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  386. package/cjs/ui/Tooltip.js +11 -17
  387. package/cjs/ui/Tooltip.js.map +1 -1
  388. package/cjs/ui/TooltipWrapper.js +10 -20
  389. package/cjs/ui/TooltipWrapper.js.map +1 -1
  390. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  391. package/cjs/ui/UserListItem.js +12 -12
  392. package/cjs/ui/UserProfile.js +11 -11
  393. package/cjs/ui/Word.js +11 -11
  394. package/cjs/useSendbirdStateContext.js +1 -1
  395. package/cjs/{utils-b48b4f4a.js → utils-1cdb42c0.js} +1 -1
  396. package/cjs/{utils-b48b4f4a.js.map → utils-1cdb42c0.js.map} +1 -1
  397. package/cjs/{utils-9521a05e.js → utils-b6436b0d.js} +1 -1
  398. package/cjs/{utils-9521a05e.js.map → utils-b6436b0d.js.map} +1 -1
  399. package/cjs/{utils-a6bf5249.js → utils-b8eff714.js} +1 -1
  400. package/cjs/{utils-a6bf5249.js.map → utils-b8eff714.js.map} +1 -1
  401. package/cjs/{uuid-6cc0dc0c.js → uuid-6fae7fc4.js} +1 -1
  402. package/cjs/{uuid-6cc0dc0c.js.map → uuid-6fae7fc4.js.map} +1 -1
  403. package/cjs/withSendbird.js +1 -1
  404. package/{color-51f5fa34.js → color-7a9e9046.js} +16 -12
  405. package/color-7a9e9046.js.map +1 -0
  406. package/{compareIds-ceeebb9e.js → compareIds-b5421ba2.js} +1 -1
  407. package/{compareIds-ceeebb9e.js.map → compareIds-b5421ba2.js.map} +1 -1
  408. package/{const-ac992acf.js → const-2017fde0.js} +1 -1
  409. package/{const-ac992acf.js.map → const-2017fde0.js.map} +1 -1
  410. package/{const-7f3d79be.js → const-43ed4c6f.js} +1 -1
  411. package/{const-7f3d79be.js.map → const-43ed4c6f.js.map} +1 -1
  412. package/{context-f6040e28.js → context-d85e90c3.js} +2 -2
  413. package/{context-f6040e28.js.map → context-d85e90c3.js.map} +1 -1
  414. package/dist/index.css +50 -72
  415. package/dist/index.css.map +1 -1
  416. package/groupChannel-1ce183d5.js +8 -0
  417. package/groupChannel-1ce183d5.js.map +1 -0
  418. package/handlers/ConnectionHandler.js +4 -2
  419. package/handlers/ConnectionHandler.js.map +1 -1
  420. package/handlers/GroupChannelHandler.js +5 -3
  421. package/handlers/GroupChannelHandler.js.map +1 -1
  422. package/handlers/OpenChannelHandler.js +4 -3
  423. package/handlers/OpenChannelHandler.js.map +1 -1
  424. package/handlers/UserEventHandler.js +4 -2
  425. package/handlers/UserEventHandler.js.map +1 -1
  426. package/{index-9e21a985.js → index-00ac1d60.js} +15 -26
  427. package/index-00ac1d60.js.map +1 -0
  428. package/{index-c2162d7e.js → index-3d519005.js} +1 -1
  429. package/{index-c2162d7e.js.map → index-3d519005.js.map} +1 -1
  430. package/{index-2e611254.js → index-47b8d0ce.js} +2 -2
  431. package/{index-2e611254.js.map → index-47b8d0ce.js.map} +1 -1
  432. package/{index-3a5d7013.js → index-5efc096b.js} +3 -3
  433. package/{index-3a5d7013.js.map → index-5efc096b.js.map} +1 -1
  434. package/{index-858ed676.js → index-62f1a209.js} +4 -4
  435. package/{index-858ed676.js.map → index-62f1a209.js.map} +1 -1
  436. package/{index-37156eb1.js → index-6e4da943.js} +11 -10
  437. package/{index-37156eb1.js.map → index-6e4da943.js.map} +1 -1
  438. package/{index-1c4c0312.js → index-7965b338.js} +1 -1
  439. package/{index-1c4c0312.js.map → index-7965b338.js.map} +1 -1
  440. package/index-9ba00bc1.js +82 -0
  441. package/index-9ba00bc1.js.map +1 -0
  442. package/{index-a8bfea2b.js → index-cdcfdf8f.js} +7 -7
  443. package/index-cdcfdf8f.js.map +1 -0
  444. package/{index-c9dde45b.js → index-d4e18807.js} +2 -2
  445. package/{index-c9dde45b.js.map → index-d4e18807.js.map} +1 -1
  446. package/{index-d137bdc6.js → index-f37bc955.js} +2 -2
  447. package/{index-d137bdc6.js.map → index-f37bc955.js.map} +1 -1
  448. package/index.d.ts +116 -109
  449. package/index.js +40 -37
  450. package/index.js.map +1 -1
  451. package/{openChannel-96a83cdc.js → openChannel-654409d7.js} +3 -2
  452. package/openChannel-654409d7.js.map +1 -0
  453. package/{openChannelUtils-0f8c9302.js → openChannelUtils-1ae6ef95.js} +1 -1
  454. package/{openChannelUtils-0f8c9302.js.map → openChannelUtils-1ae6ef95.js.map} +1 -1
  455. package/package-lock.json +34500 -31
  456. package/package.json +1 -1
  457. package/sendbird-ae433167.js +7 -0
  458. package/sendbird-ae433167.js.map +1 -0
  459. package/sendbirdSelectors.js +2 -2
  460. package/{stringSet-1b78712c.js → stringSet-53204a58.js} +3 -2
  461. package/stringSet-53204a58.js.map +1 -0
  462. package/{topics-3f657822.js → topics-3dbd69e2.js} +1 -1
  463. package/{topics-3f657822.js.map → topics-3dbd69e2.js.map} +1 -1
  464. package/{tslib.es6-8be42356.js → tslib.es6-5c8a20bb.js} +1 -1
  465. package/{tslib.es6-8be42356.js.map → tslib.es6-5c8a20bb.js.map} +1 -1
  466. package/ui/Accordion.js +4 -4
  467. package/ui/AccordionGroup.js +2 -2
  468. package/ui/AdminMessage.js +14 -23
  469. package/ui/AdminMessage.js.map +1 -1
  470. package/ui/Avatar.js +3 -3
  471. package/ui/Avatar.js.map +1 -1
  472. package/ui/Badge.js +15 -24
  473. package/ui/Badge.js.map +1 -1
  474. package/ui/Button.js +5 -4
  475. package/ui/Button.js.map +1 -1
  476. package/ui/ChannelAvatar.js +4 -4
  477. package/ui/ChannelPreview.js +17 -13
  478. package/ui/ChannelPreview.js.map +1 -1
  479. package/ui/ChatHeader.js +43 -74
  480. package/ui/ChatHeader.js.map +1 -1
  481. package/ui/ConnectionStatus.js +6 -8
  482. package/ui/ConnectionStatus.js.map +1 -1
  483. package/ui/ContextMenu.js +188 -291
  484. package/ui/ContextMenu.js.map +1 -1
  485. package/ui/DateSeparator.js +18 -24
  486. package/ui/DateSeparator.js.map +1 -1
  487. package/ui/EmojiReactions.js +8 -7
  488. package/ui/EmojiReactions.js.map +1 -1
  489. package/ui/FileMessageItemBody.js +7 -7
  490. package/ui/FileMessageItemBody.js.map +1 -1
  491. package/ui/FileViewer.js +47 -83
  492. package/ui/FileViewer.js.map +1 -1
  493. package/ui/Icon.js +1 -1
  494. package/ui/IconButton.js +43 -65
  495. package/ui/IconButton.js.map +1 -1
  496. package/ui/ImageRenderer.js +43 -77
  497. package/ui/ImageRenderer.js.map +1 -1
  498. package/ui/Input.js +11 -29
  499. package/ui/Input.js.map +1 -1
  500. package/ui/Label.js +3 -3
  501. package/ui/LinkLabel.js +3 -3
  502. package/ui/Loader.js +15 -23
  503. package/ui/Loader.js.map +1 -1
  504. package/ui/MentionLabel.js +12 -12
  505. package/ui/MessageContent.js +15 -15
  506. package/ui/MessageInput.js +10 -10
  507. package/ui/MessageItemMenu.js +9 -8
  508. package/ui/MessageItemMenu.js.map +1 -1
  509. package/ui/MessageItemReactionMenu.js +7 -6
  510. package/ui/MessageItemReactionMenu.js.map +1 -1
  511. package/ui/MessageSearchFileItem.js +10 -10
  512. package/ui/MessageSearchItem.js +11 -11
  513. package/ui/MessageStatus.js +8 -8
  514. package/ui/Modal.js +36 -67
  515. package/ui/Modal.js.map +1 -1
  516. package/ui/MutedAvatarOverlay.js +1 -1
  517. package/ui/OGMessageItemBody.js +11 -11
  518. package/ui/OpenChannelAdminMessage.js +4 -4
  519. package/ui/OpenChannelAvatar.js +8 -8
  520. package/ui/OpenchannelConversationHeader.js +7 -7
  521. package/ui/OpenchannelFileMessage.js +15 -15
  522. package/ui/OpenchannelOGMessage.js +15 -15
  523. package/ui/OpenchannelThumbnailMessage.js +14 -14
  524. package/ui/OpenchannelUserMessage.js +15 -15
  525. package/ui/PlaceHolder.js +8 -7
  526. package/ui/PlaceHolder.js.map +1 -1
  527. package/ui/QuoteMessage.js +7 -7
  528. package/ui/QuoteMessageInput.js +7 -7
  529. package/ui/ReactionBadge.js +16 -25
  530. package/ui/ReactionBadge.js.map +1 -1
  531. package/ui/ReactionButton.js +4 -20
  532. package/ui/ReactionButton.js.map +1 -1
  533. package/ui/SortByRow.js +15 -24
  534. package/ui/SortByRow.js.map +1 -1
  535. package/ui/TextButton.js +22 -28
  536. package/ui/TextButton.js.map +1 -1
  537. package/ui/TextMessageItemBody.js +11 -11
  538. package/ui/ThumbnailMessageItemBody.js +3 -3
  539. package/ui/Tooltip.js +11 -16
  540. package/ui/Tooltip.js.map +1 -1
  541. package/ui/TooltipWrapper.js +10 -19
  542. package/ui/TooltipWrapper.js.map +1 -1
  543. package/ui/UnknownMessageItemBody.js +7 -7
  544. package/ui/UserListItem.js +12 -12
  545. package/ui/UserProfile.js +11 -11
  546. package/ui/Word.js +11 -11
  547. package/useSendbirdStateContext.js +1 -1
  548. package/{utils-16cb1829.js → utils-e0115d03.js} +1 -1
  549. package/{utils-16cb1829.js.map → utils-e0115d03.js.map} +1 -1
  550. package/{utils-023af1b2.js → utils-ea818d4c.js} +1 -1
  551. package/{utils-023af1b2.js.map → utils-ea818d4c.js.map} +1 -1
  552. package/{utils-44363dc6.js → utils-edeb25c5.js} +1 -1
  553. package/{utils-44363dc6.js.map → utils-edeb25c5.js.map} +1 -1
  554. package/{uuid-ce46f49f.js → uuid-8d849862.js} +1 -1
  555. package/{uuid-ce46f49f.js.map → uuid-8d849862.js.map} +1 -1
  556. package/withSendbird.js +1 -1
  557. package/ChannelListProvider-25d9b3b5.js.map +0 -1
  558. package/ChannelProvider-0d6ca899.js.map +0 -1
  559. package/CreateChannelProvider-3a67b8a6.js.map +0 -1
  560. package/LocalizationContext-e8feb521.js.map +0 -1
  561. package/__bundle-7dfccc8c-202ef797.js +0 -22
  562. package/__bundle-7dfccc8c-202ef797.js.map +0 -1
  563. package/_rollupPluginBabelHelpers-e3950f78.js.map +0 -1
  564. package/cjs/ChannelListProvider-1efae3f2.js.map +0 -1
  565. package/cjs/ChannelProvider-2b772ecf.js.map +0 -1
  566. package/cjs/CreateChannelProvider-ec5c9745.js.map +0 -1
  567. package/cjs/LocalizationContext-a717f07f.js.map +0 -1
  568. package/cjs/__bundle-7dfccc8c-3a2f4227.js +0 -120
  569. package/cjs/__bundle-7dfccc8c-3a2f4227.js.map +0 -1
  570. package/cjs/_rollupPluginBabelHelpers-e393547c.js.map +0 -1
  571. package/cjs/color-70c48e47.js +0 -42
  572. package/cjs/color-70c48e47.js.map +0 -1
  573. package/cjs/groupChannel-e9138ceb.js +0 -11
  574. package/cjs/groupChannel-e9138ceb.js.map +0 -1
  575. package/cjs/index-62a62790.js +0 -97
  576. package/cjs/index-62a62790.js.map +0 -1
  577. package/cjs/index-c75f064d.js.map +0 -1
  578. package/cjs/openChannel-e49f6fe9.js +0 -9
  579. package/cjs/openChannel-e49f6fe9.js.map +0 -1
  580. package/cjs/stringSet-0a5abb7a.js.map +0 -1
  581. package/cjs/ui/Dropdown.js +0 -107
  582. package/cjs/ui/Dropdown.js.map +0 -1
  583. package/color-51f5fa34.js.map +0 -1
  584. package/groupChannel-8b1361c0.js +0 -8
  585. package/groupChannel-8b1361c0.js.map +0 -1
  586. package/index-31b7a668.js +0 -87
  587. package/index-31b7a668.js.map +0 -1
  588. package/index-9e21a985.js.map +0 -1
  589. package/index-a8bfea2b.js.map +0 -1
  590. package/openChannel-96a83cdc.js.map +0 -1
  591. package/stringSet-1b78712c.js.map +0 -1
  592. package/ui/Dropdown.js +0 -97
  593. package/ui/Dropdown.js.map +0 -1
@@ -1,31 +1,33 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var ui_Label = require('../../index-a96d75a9.js');
4
+ var ui_Label = require('../../index-13532266.js');
5
5
  var ui_Icon = require('../../ui/Icon.js');
6
6
  var ui_IconButton = require('../../ui/IconButton.js');
7
7
  var ui_ChannelAvatar = require('../../ui/ChannelAvatar.js');
8
- var LocalizationContext = require('../../LocalizationContext-a717f07f.js');
8
+ var LocalizationContext = require('../../LocalizationContext-a4d8d6fa.js');
9
9
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
10
- var Channel_context = require('../../ChannelProvider-2b772ecf.js');
11
- require('../../_rollupPluginBabelHelpers-e393547c.js');
10
+ var Channel_context = require('../../ChannelProvider-e1a06efe.js');
11
+ require('../../_rollupPluginBabelHelpers-e3f84a90.js');
12
12
  require('prop-types');
13
- require('../../stringSet-0a5abb7a.js');
13
+ require('../../stringSet-0e48356d.js');
14
+ require('../../tslib.es6-4d92f5f1.js');
14
15
  require('../../ui/Avatar.js');
15
- require('../../tslib.es6-c83e0722.js');
16
16
  require('../../ui/ImageRenderer.js');
17
- require('../../uuid-6cc0dc0c.js');
18
- require('../../utils-b48b4f4a.js');
19
- require('../../index-3e5e0655.js');
17
+ require('../../uuid-6fae7fc4.js');
18
+ require('../../utils-1cdb42c0.js');
19
+ require('../../index-df5b04e6.js');
20
20
  require('../../withSendbird.js');
21
- require('../../UserProfileContext-c31e547a.js');
22
- require('../../index-b4af7c26.js');
23
- require('../../topics-ae226ee4.js');
24
- require('../../index-b20bd45d.js');
25
- require('../../compareIds-14271a7a.js');
26
- require('../../const-10467f47.js');
27
- require('../../groupChannel-e9138ceb.js');
28
- require('../../__bundle-7dfccc8c-3a2f4227.js');
21
+ require('../../UserProfileContext-9fb4f747.js');
22
+ require('../../index-9aaba1c0.js');
23
+ require('../../topics-6314d5b3.js');
24
+ require('../../index-bf23b757.js');
25
+ require('../../compareIds-a4c74921.js');
26
+ require('../../const-b4516fd9.js');
27
+ require('../../groupChannel-ab450f40.js');
28
+ require('../../__bundle-6316ce22-e09a7a94.js');
29
+ require('../../__bundle-fbda47dd-a50b4334.js');
30
+ require('../../__bundle-7dfccc8c-3af98778.js');
29
31
  require('../../ui/ContextMenu.js');
30
32
  require('react-dom');
31
33
  require('../../ui/SortByRow.js');
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelHeader.js","sources":["../../../../src/smart-components/Channel/components/ChannelHeader/utils.ts","../../../../src/smart-components/Channel/components/ChannelHeader/index.tsx"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string }\n ): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n","import './channel-header.scss';\nimport React, { useContext } from 'react';\n\nimport * as utils from './utils';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport ChannelAvatar from '../../../../ui/ChannelAvatar/index';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\n\nconst ChatHeader: React.FC = () => {\n const globalStore = useSendbirdStateContext();\n const userId = globalStore?.config?.userId;\n const theme = globalStore?.config?.theme;\n\n const channelStore = useChannelContext();\n const {\n currentGroupChannel,\n showSearchIcon,\n onSearchClick,\n onChatHeaderActionClick,\n } = channelStore;\n const subTitle = (currentGroupChannel?.members\n && currentGroupChannel?.members?.length !== 2);\n const isMuted = currentGroupChannel?.myMutedState === \"muted\";\n\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-chat-header\">\n <div className=\"sendbird-chat-header__left\">\n <ChannelAvatar\n theme={theme}\n channel={currentGroupChannel}\n userId={userId}\n height={32}\n width={32}\n />\n <Label\n className=\"sendbird-chat-header__left__title\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-chat-header__left__subtitle\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {subTitle}\n </Label>\n </div>\n <div className=\"sendbird-chat-header__right\">\n {\n ((typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted))\n && (\n <Icon\n className=\"sendbird-chat-header__right__mute\"\n type={IconTypes.NOTIFICATIONS_OFF_FILLED}\n width=\"24px\"\n height=\"24px\"\n />\n )\n }\n {\n showSearchIcon && (\n <IconButton\n className=\"sendbird-chat-header__right__search\"\n width=\"32px\"\n height=\"32px\"\n onClick={onSearchClick}\n >\n <Icon\n type={IconTypes.SEARCH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n }\n <IconButton\n className=\"sendbird-chat-header__right__info\"\n width=\"32px\"\n height=\"32px\"\n onClick={onChatHeaderActionClick}\n >\n <Icon\n type={IconTypes.INFO}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n );\n}\n\nexport default ChatHeader;\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","_a","userId","map","nickname","NO_NAME","join","ChatHeader","globalStore","useSendbirdStateContext","config","theme","channelStore","useChannelContext","currentGroupChannel","showSearchIcon","onSearchClick","onChatHeaderActionClick","subTitle","isMuted","myMutedState","useContext","LocalizationContext","React","ChannelAvatar","Label","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","utils","BODY_1","ONBACKGROUND_2","Icon","IconTypes","NOTIFICATIONS_OFF_FILLED","IconButton","SEARCH","IconColors","PRIMARY","INFO"],"mappings":"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"}
1
+ {"version":3,"file":"ChannelHeader.js","sources":["../../../../src/smart-components/Channel/components/ChannelHeader/utils.ts","../../../../src/smart-components/Channel/components/ChannelHeader/index.tsx"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string }\n ): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n","import './channel-header.scss';\nimport React, { useContext } from 'react';\n\nimport * as utils from './utils';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport ChannelAvatar from '../../../../ui/ChannelAvatar/index';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\n\nconst ChatHeader: React.FC = () => {\n const globalStore = useSendbirdStateContext();\n const userId = globalStore?.config?.userId;\n const theme = globalStore?.config?.theme;\n\n const channelStore = useChannelContext();\n const {\n currentGroupChannel,\n showSearchIcon,\n onSearchClick,\n onChatHeaderActionClick,\n } = channelStore;\n const subTitle = (currentGroupChannel?.members\n && currentGroupChannel?.members?.length !== 2);\n const isMuted = currentGroupChannel?.myMutedState === \"muted\";\n\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-chat-header\">\n <div className=\"sendbird-chat-header__left\">\n <ChannelAvatar\n theme={theme}\n channel={currentGroupChannel}\n userId={userId}\n height={32}\n width={32}\n />\n <Label\n className=\"sendbird-chat-header__left__title\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-chat-header__left__subtitle\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {subTitle}\n </Label>\n </div>\n <div className=\"sendbird-chat-header__right\">\n {\n ((typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted))\n && (\n <Icon\n className=\"sendbird-chat-header__right__mute\"\n type={IconTypes.NOTIFICATIONS_OFF_FILLED}\n width=\"24px\"\n height=\"24px\"\n />\n )\n }\n {\n showSearchIcon && (\n <IconButton\n className=\"sendbird-chat-header__right__search\"\n width=\"32px\"\n height=\"32px\"\n onClick={onSearchClick}\n >\n <Icon\n type={IconTypes.SEARCH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n }\n <IconButton\n className=\"sendbird-chat-header__right__info\"\n width=\"32px\"\n height=\"32px\"\n onClick={onChatHeaderActionClick}\n >\n <Icon\n type={IconTypes.INFO}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n );\n}\n\nexport default ChatHeader;\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","_a","userId","map","nickname","NO_NAME","join","ChatHeader","globalStore","useSendbirdStateContext","config","theme","channelStore","useChannelContext","currentGroupChannel","showSearchIcon","onSearchClick","onChatHeaderActionClick","subTitle","isMuted","myMutedState","useContext","LocalizationContext","React","ChannelAvatar","Label","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","utils","BODY_1","ONBACKGROUND_2","Icon","IconTypes","NOTIFICATIONS_OFF_FILLED","IconButton","SEARCH","IconColors","PRIMARY","INFO"],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var React = require('react');
4
4
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
5
- var Channel_context = require('../../ChannelProvider-2b772ecf.js');
6
- var ui_PlaceHolder = require('../../index-ef6bd2cd.js');
5
+ var Channel_context = require('../../ChannelProvider-e1a06efe.js');
6
+ var ui_PlaceHolder = require('../../index-4f96bea7.js');
7
7
  var ui_ConnectionStatus = require('../../ui/ConnectionStatus.js');
8
8
  var Channel_components_ChannelHeader = require('./ChannelHeader.js');
9
9
  var Channel_components_MessageList = require('./MessageList.js');
@@ -12,46 +12,48 @@ var Channel_components_FrozenNotification = require('./FrozenNotification.js');
12
12
  var Channel_components_UnreadCount = require('./UnreadCount.js');
13
13
  var Channel_components_MessageInput = require('./MessageInput.js');
14
14
  require('../../withSendbird.js');
15
- require('../../_rollupPluginBabelHelpers-e393547c.js');
16
- require('../../UserProfileContext-c31e547a.js');
15
+ require('../../_rollupPluginBabelHelpers-e3f84a90.js');
16
+ require('../../UserProfileContext-9fb4f747.js');
17
17
  require('prop-types');
18
- require('../../index-b4af7c26.js');
19
- require('../../index-3e5e0655.js');
20
- require('../../topics-ae226ee4.js');
21
- require('../../index-b20bd45d.js');
22
- require('../../tslib.es6-c83e0722.js');
23
- require('../../compareIds-14271a7a.js');
24
- require('../../const-10467f47.js');
25
- require('../../groupChannel-e9138ceb.js');
26
- require('../../__bundle-7dfccc8c-3a2f4227.js');
27
- require('../../uuid-6cc0dc0c.js');
18
+ require('../../index-9aaba1c0.js');
19
+ require('../../index-df5b04e6.js');
20
+ require('../../topics-6314d5b3.js');
21
+ require('../../index-bf23b757.js');
22
+ require('../../tslib.es6-4d92f5f1.js');
23
+ require('../../compareIds-a4c74921.js');
24
+ require('../../const-b4516fd9.js');
25
+ require('../../groupChannel-ab450f40.js');
26
+ require('../../__bundle-6316ce22-e09a7a94.js');
27
+ require('../../__bundle-fbda47dd-a50b4334.js');
28
+ require('../../__bundle-7dfccc8c-3af98778.js');
29
+ require('../../uuid-6fae7fc4.js');
28
30
  require('../../ui/ContextMenu.js');
29
- require('../../index-a96d75a9.js');
30
- require('../../stringSet-0a5abb7a.js');
31
31
  require('react-dom');
32
32
  require('../../ui/SortByRow.js');
33
+ require('../../index-13532266.js');
34
+ require('../../stringSet-0e48356d.js');
33
35
  require('../../ui/ReactionButton.js');
34
36
  require('../../ui/ImageRenderer.js');
35
37
  require('../../ui/Icon.js');
38
+ require('../../LocalizationContext-a4d8d6fa.js');
36
39
  require('../../ui/Loader.js');
37
- require('../../LocalizationContext-a717f07f.js');
38
40
  require('../../ui/IconButton.js');
39
41
  require('../../ui/ChannelAvatar.js');
40
42
  require('../../ui/Avatar.js');
41
- require('../../utils-b48b4f4a.js');
42
- require('../../index-190364fc.js');
43
+ require('../../utils-1cdb42c0.js');
44
+ require('../../index-83f6a684.js');
43
45
  require('./Message.js');
44
46
  require('./SuggestedMentionList.js');
45
- require('../../const-32ea063d.js');
47
+ require('../../const-66e78150.js');
46
48
  require('../../ui/DateSeparator.js');
47
- require('../../color-70c48e47.js');
49
+ require('../../color-047cfbdf.js');
48
50
  require('../../ui/MessageInput.js');
49
- require('../../index-62a62790.js');
51
+ require('../../index-65aaad9e.js');
50
52
  require('../../ui/MentionUserLabel.js');
51
53
  require('../../ui/MessageContent.js');
52
54
  require('../../ui/UserProfile.js');
53
55
  require('../../sendbirdSelectors.js');
54
- require('../../utils-a6bf5249.js');
56
+ require('../../utils-b8eff714.js');
55
57
  require('../../ui/MessageStatus.js');
56
58
  require('../../ui/MessageItemMenu.js');
57
59
  require('../../ui/MessageItemReactionMenu.js');
@@ -71,7 +73,7 @@ require('../../ui/OGMessageItemBody.js');
71
73
  require('../../ui/UnknownMessageItemBody.js');
72
74
  require('../../ui/QuoteMessage.js');
73
75
  require('./FileViewer.js');
74
- require('../../index-f63b3446.js');
76
+ require('../../index-6d74425b.js');
75
77
  require('./RemoveMessageModal.js');
76
78
  require('../../ui/Modal.js');
77
79
  require('../../ui/QuoteMessageInput.js');
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelUI.js","sources":["../../../../src/smart-components/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport FrozenNotification from '../FrozenNotification';\nimport UnreadCount from '../UnreadCount';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderMessageProps } from '../../../../types';\nimport * as messageActionTypes from '../../context/dux/actionTypes';\n\nexport interface ChannelUIProps {\n renderPlaceholderLoader?: () => React.ReactNode;\n renderPlaceholderInvalid?: () => React.ReactNode;\n renderPlaceholderEmpty?: () => React.ReactNode;\n renderChannelHeader?: () => React.ReactNode;\n renderMessage?: (props: RenderMessageProps) => React.ReactNode;\n renderMessageInput?: () => React.ReactNode;\n renderTypingIndicator?: () => React.ReactNode;\n renderCustomSeparator?: () => React.ReactNode;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n}: ChannelUIProps) => {\n const {\n currentGroupChannel,\n channelUrl,\n isInvalid,\n unreadSince,\n loading,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n scrollRef,\n messagesDispatcher,\n } = useChannelContext();\n const [unreadCount, setUnreadCount] = useState(0);\n useEffect(() => {\n setUnreadCount(currentGroupChannel?.unreadMessageCount);\n }, [currentGroupChannel?.unreadMessageCount]);\n\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {\n renderChannelHeader?.() || (\n <ChannelHeader />\n )\n }\n {\n currentGroupChannel?.isFrozen && (\n <FrozenNotification />\n )\n }\n {\n unreadCount > 0 && (\n <UnreadCount\n count={unreadCount}\n time={unreadSince}\n onClick={() => {\n setUnreadCount(0);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n )\n }\n {\n loading\n ? (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>\n ) : (\n <MessageList\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n />\n )\n }\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.() || (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n}\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_a","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","_f","useChannelContext","currentGroupChannel","channelUrl","isInvalid","unreadSince","loading","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","messagesDispatcher","_g","useState","unreadCount","setUnreadCount","useEffect","unreadMessageCount","globalStore","useSendbirdStateContext","sdkError","stores","sdkStore","error","logger","config","isOnline","React","PlaceHolder","PlaceHolderTypes","NO_CHANNELS","WRONG","info","ChannelHeader","isFrozen","FrozenNotification","UnreadCount","current","scrollTop","scrollHeight","offsetHeight","markAsRead","type","messageActionTypes","payload","channel","LOADING","MessageList","MessageInputWrapper","TypingIndicator","ConnectionStatus"],"mappings":"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"}
1
+ {"version":3,"file":"ChannelUI.js","sources":["../../../../src/smart-components/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport FrozenNotification from '../FrozenNotification';\nimport UnreadCount from '../UnreadCount';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderMessageProps } from '../../../../types';\nimport * as messageActionTypes from '../../context/dux/actionTypes';\n\nexport interface ChannelUIProps {\n renderPlaceholderLoader?: () => React.ReactElement;\n renderPlaceholderInvalid?: () => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderChannelHeader?: () => React.ReactElement;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderTypingIndicator?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n}: ChannelUIProps) => {\n const {\n currentGroupChannel,\n channelUrl,\n isInvalid,\n unreadSince,\n loading,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n scrollRef,\n messagesDispatcher,\n } = useChannelContext();\n const [unreadCount, setUnreadCount] = useState(0);\n useEffect(() => {\n setUnreadCount(currentGroupChannel?.unreadMessageCount);\n }, [currentGroupChannel?.unreadMessageCount]);\n\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {\n renderChannelHeader?.() || (\n <ChannelHeader />\n )\n }\n {\n currentGroupChannel?.isFrozen && (\n <FrozenNotification />\n )\n }\n {\n unreadCount > 0 && (\n <UnreadCount\n count={unreadCount}\n time={unreadSince}\n onClick={() => {\n setUnreadCount(0);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n )\n }\n {\n loading\n ? (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>\n ) : (\n <MessageList\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n />\n )\n }\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.() || (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n}\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_a","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","_f","useChannelContext","currentGroupChannel","channelUrl","isInvalid","unreadSince","loading","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","messagesDispatcher","_g","useState","unreadCount","setUnreadCount","useEffect","unreadMessageCount","globalStore","useSendbirdStateContext","sdkError","stores","sdkStore","error","logger","config","isOnline","React","PlaceHolder","PlaceHolderTypes","NO_CHANNELS","WRONG","info","ChannelHeader","isFrozen","FrozenNotification","UnreadCount","current","scrollTop","scrollHeight","offsetHeight","markAsRead","type","messageActionTypes","payload","channel","LOADING","MessageList","MessageInputWrapper","TypingIndicator","ConnectionStatus"],"mappings":"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"}
@@ -5,27 +5,29 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var reactDom = require('react-dom');
7
7
  var ui_Avatar = require('../../ui/Avatar.js');
8
- var ui_Label = require('../../index-a96d75a9.js');
8
+ var ui_Label = require('../../index-13532266.js');
9
9
  var ui_Icon = require('../../ui/Icon.js');
10
- var index$1 = require('../../index-f63b3446.js');
11
- var index = require('../../index-b20bd45d.js');
10
+ var index$1 = require('../../index-6d74425b.js');
11
+ var index = require('../../index-bf23b757.js');
12
12
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
13
- var Channel_context = require('../../ChannelProvider-2b772ecf.js');
14
- require('../../tslib.es6-c83e0722.js');
13
+ var Channel_context = require('../../ChannelProvider-e1a06efe.js');
14
+ require('../../tslib.es6-4d92f5f1.js');
15
15
  require('../../ui/ImageRenderer.js');
16
- require('../../_rollupPluginBabelHelpers-e393547c.js');
16
+ require('../../uuid-6fae7fc4.js');
17
+ require('../../_rollupPluginBabelHelpers-e3f84a90.js');
17
18
  require('prop-types');
18
- require('../../uuid-6cc0dc0c.js');
19
- require('../../stringSet-0a5abb7a.js');
19
+ require('../../stringSet-0e48356d.js');
20
20
  require('../../withSendbird.js');
21
- require('../../UserProfileContext-c31e547a.js');
22
- require('../../index-b4af7c26.js');
23
- require('../../index-3e5e0655.js');
24
- require('../../topics-ae226ee4.js');
25
- require('../../compareIds-14271a7a.js');
26
- require('../../const-10467f47.js');
27
- require('../../groupChannel-e9138ceb.js');
28
- require('../../__bundle-7dfccc8c-3a2f4227.js');
21
+ require('../../UserProfileContext-9fb4f747.js');
22
+ require('../../index-9aaba1c0.js');
23
+ require('../../index-df5b04e6.js');
24
+ require('../../topics-6314d5b3.js');
25
+ require('../../compareIds-a4c74921.js');
26
+ require('../../const-b4516fd9.js');
27
+ require('../../groupChannel-ab450f40.js');
28
+ require('../../__bundle-6316ce22-e09a7a94.js');
29
+ require('../../__bundle-fbda47dd-a50b4334.js');
30
+ require('../../__bundle-7dfccc8c-3af98778.js');
29
31
  require('../../ui/ContextMenu.js');
30
32
  require('../../ui/SortByRow.js');
31
33
  require('../../ui/ReactionButton.js');
@@ -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","Avatar","Label","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","Icon","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BaA,mBAAmB,GAAgC,SAAnDA,mBAAmD,CAACC,EAAD;;AAE9DC,EAAAA,UAAU;MACVC,QAAQ;;AAERC,EAAAA,IAAI;MACJC,IAAI;MACJC,GAAG;;AAEHC,EAAAA,MAAM;MACNC,QAAQ;MACRC,QAAQ;MACRC,aAAa;AACU,sBACvBC;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACC,oBAAD;AAAQ,IAAA,MAAM,EAAC,MAAf;AAAsB,IAAA,KAAK,EAAC,MAA5B;AAAmC,IAAA,GAAG,EAAEV;AAAxC,IADF,CADF,eAIES,wCAACE,cAAD;AACE,IAAA,SAAS,EAAC,6CADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,GAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGb,IALH,CAJF,eAWEO,wCAACE,cAAD;AACE,IAAA,SAAS,EAAC,gDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACI,MAFxB;AAGE,IAAA,KAAK,EAAEF,oBAAW,CAACG;AAHrB,KAKGhB,QALH,CAXF,CADF,eAoBEQ;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIS,yBAAmB,CAACf,IAAD,CAAnB,iBACEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AACE,IAAA,SAAS,EAAC,uDADZ;AAEE,IAAA,GAAG,EAAC,qBAFN;AAGE,IAAA,IAAI,EAAEL,GAHR;AAIE,IAAA,MAAM,EAAC;AAJT,kBAMEK,wCAACU,kBAAD;AACE,IAAA,IAAI,EAAEC,iBAAS,CAACC,QADlB;AAEE,IAAA,SAAS,EAAEC,kBAAU,CAACC,eAFxB;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC;AAJR,IANF,CADF,EAeIhB,QAAQ,IAAIF,MAAZ,iBACEI;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACU,kBAAD;AACE,IAAA,SAAS,EAAEX,aAAa,GAAG,UAAH,GAAgB,EAD1C;AAEE,IAAA,IAAI,EAAEY,iBAAS,CAACI,MAFlB;AAGE,IAAA,SAAS,EAAEhB,aAAa,GAAGc,kBAAU,CAACG,IAAd,GAAqBH,kBAAU,CAACC,eAH1D;AAIE,IAAA,MAAM,EAAC,MAJT;AAKE,IAAA,KAAK,EAAC,MALR;AAME,IAAA,OAAO,EAAE;AAAQ,UAAI,CAACf,aAAL,EAAoB;AAAED,QAAAA,QAAQ;AAAK;AAAE;AANxD,IADF,CAhBN,CAHN,eAkCEE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACU,kBAAD;AACE,IAAA,IAAI,EAAEC,iBAAS,CAACM,KADlB;AAEE,IAAA,SAAS,EAAEJ,kBAAU,CAACC,eAFxB;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,OAAO,EAAEjB;AALX,IADF,CAlCF,CApBF,CADF,eAkEEG;AAAK,IAAA,SAAS,EAAC;AAAf,KACGkB,aAAO,CAACxB,IAAD,CAAP,iBACCM;AAAO,IAAA,QAAQ,MAAf;AAAgB,IAAA,SAAS,EAAC;AAA1B,kBACEA;AAAQ,IAAA,GAAG,EAAEL,GAAb;AAAkB,IAAA,IAAI,EAAED;AAAxB,IADF,CAFJ,EAOIyB,aAAO,CAACzB,IAAD,CAAP,iBACEM;AACE,IAAA,GAAG,EAAEL,GADP;AAEE,IAAA,GAAG,EAAEF,IAFP;AAGE,IAAA,SAAS,EAAC;AAHZ,IARN,EAgBI,CAACgB,yBAAmB,CAACf,IAAD,CAApB,iBACEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACE,cAAD;AAAO,IAAA,IAAI,EAAEC,wBAAe,CAACiB,GAA7B;AAAkC,IAAA,KAAK,EAAEf,oBAAW,CAACC;AAArD,2BADF,CAjBN,CAlEF,CADuB;AA6FxB;;IAOKe,UAAU,GAA8B,SAAxCA,UAAwC,CAAC/B,EAAD;;;MAAGO,QAAQ;MAAEyB,OAAO;AACxD,MAAAC,aAAa,GAAKC,iCAAiB,gBAAnC;AAEN,MAAAC,MAAM,GAKJH,OAAO,OALT;AAAA,MACA5B,IAAI,GAIF4B,OAAO,KALT;AAAA,MAEA3B,GAAG,GAGD2B,OAAO,IALT;AAAA,MAGAI,KAEEJ,OAAO,KALT;AAAA,MAGA7B,IAAI,mBAAG,OAHP;AAAA,MAIAkC,UAAU,GACRL,OAAO,WALT;AAMF,MAAMM,IAAI,GAAG,MAAA,MAAAC,uBAAuB,EAAvB,UAAA,iBAAA,SAAA,MAA2BC,MAA3B,UAAA,iBAAA,SAAA,MAAmCC,MAAhD;AACA,MAAMnC,MAAM,GAAGgC,IAAI,MAAK,MAAAN,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEG,MAAT,UAAA,iBAAA,SAAA,MAAiBM,MAAtB,CAAnB;AACA,MAAMhC,aAAa,GAAG,CAAA4B,UAAU,SAAV,IAAAA,UAAU,WAAV,SAAA,GAAAA,UAAU,CAAEK,UAAZ,IAAyB,CAA/C;AACQ,MAAAzC,UAAU,GAAoBkC,MAAM,WAApC;AAAA,MAAYQ,KAAkBR,MAAM,SAApC;AAAA,MAAYjC,QAAQ,mBAAG,OAAvB;AACR,sBAAO0C,qBAAY,eAEflC,wCAAC,mBAAD;AACE,IAAA,UAAU,EAAET,UADd;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,IAAI,EAAEE,IAHR;AAIE,IAAA,GAAG,EAAEC,GAJP;AAKE,IAAA,IAAI,EAAEF,IALR;AAME,IAAA,QAAQ,EAAEI,QANZ;AAOE,IAAA,QAAQ,EAAE;AACR0B,MAAAA,aAAa,CAACD,OAAD,CAAb,CAAuCa,IAAvC,CAA4C;AAC1CtC,QAAAA,QAAQ;AACT,OAFD;AAGD,KAXH;AAYE,IAAA,MAAM,EAAED,MAZV;AAaE,IAAA,aAAa,EAAEG;AAbjB,IAFe,EAkBjBqC,QAAQ,CAACC,cAAT,CAAwBC,kBAAxB,CAlBiB,CAAnB;AAoBD;;;;;"}
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","Avatar","Label","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","Icon","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,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var LocalizationContext = require('../../LocalizationContext-a717f07f.js');
5
- var ui_Label = require('../../index-a96d75a9.js');
6
- require('../../stringSet-0a5abb7a.js');
7
- require('../../index-3e5e0655.js');
8
- require('../../_rollupPluginBabelHelpers-e393547c.js');
4
+ var LocalizationContext = require('../../LocalizationContext-a4d8d6fa.js');
5
+ var ui_Label = require('../../index-13532266.js');
6
+ require('../../stringSet-0e48356d.js');
7
+ require('../../index-df5b04e6.js');
8
+ require('../../_rollupPluginBabelHelpers-e3f84a90.js');
9
9
  require('prop-types');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,46 +1,48 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-c83e0722.js');
3
+ var tslib_es6 = require('../../tslib.es6-4d92f5f1.js');
4
4
  var React = require('react');
5
- var index$1 = require('../../index-b4af7c26.js');
5
+ var index$1 = require('../../index-9aaba1c0.js');
6
6
  var Channel_components_SuggestedMentionList = require('./SuggestedMentionList.js');
7
7
  var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
8
- var Channel_context = require('../../ChannelProvider-2b772ecf.js');
9
- var index = require('../../index-b20bd45d.js');
10
- var _const = require('../../const-10467f47.js');
8
+ var Channel_context = require('../../ChannelProvider-e1a06efe.js');
9
+ var index = require('../../index-bf23b757.js');
10
+ var _const = require('../../const-b4516fd9.js');
11
11
  var ui_DateSeparator = require('../../ui/DateSeparator.js');
12
- var ui_Label = require('../../index-a96d75a9.js');
12
+ var ui_Label = require('../../index-13532266.js');
13
13
  var ui_MessageInput = require('../../ui/MessageInput.js');
14
14
  var ui_MessageContent = require('../../ui/MessageContent.js');
15
15
  var Channel_components_FileViewer = require('./FileViewer.js');
16
16
  var Channel_components_RemoveMessageModal = require('./RemoveMessageModal.js');
17
- var _const$1 = require('../../const-32ea063d.js');
18
- var LocalizationContext = require('../../LocalizationContext-a717f07f.js');
19
- require('../../index-3e5e0655.js');
17
+ var _const$1 = require('../../const-66e78150.js');
18
+ var LocalizationContext = require('../../LocalizationContext-a4d8d6fa.js');
19
+ require('../../index-df5b04e6.js');
20
20
  require('../../ui/Icon.js');
21
- require('../../_rollupPluginBabelHelpers-e393547c.js');
21
+ require('../../_rollupPluginBabelHelpers-e3f84a90.js');
22
22
  require('prop-types');
23
23
  require('../../ui/Avatar.js');
24
24
  require('../../ui/ImageRenderer.js');
25
- require('../../uuid-6cc0dc0c.js');
25
+ require('../../uuid-6fae7fc4.js');
26
26
  require('../../withSendbird.js');
27
- require('../../UserProfileContext-c31e547a.js');
28
- require('../../topics-ae226ee4.js');
29
- require('../../compareIds-14271a7a.js');
30
- require('../../groupChannel-e9138ceb.js');
31
- require('../../__bundle-7dfccc8c-3a2f4227.js');
27
+ require('../../UserProfileContext-9fb4f747.js');
28
+ require('../../topics-6314d5b3.js');
29
+ require('../../compareIds-a4c74921.js');
30
+ require('../../groupChannel-ab450f40.js');
31
+ require('../../__bundle-6316ce22-e09a7a94.js');
32
+ require('../../__bundle-fbda47dd-a50b4334.js');
33
+ require('../../__bundle-7dfccc8c-3af98778.js');
32
34
  require('../../ui/ContextMenu.js');
33
35
  require('react-dom');
34
36
  require('../../ui/SortByRow.js');
35
- require('../../stringSet-0a5abb7a.js');
37
+ require('../../stringSet-0e48356d.js');
36
38
  require('../../ui/ReactionButton.js');
37
- require('../../color-70c48e47.js');
39
+ require('../../color-047cfbdf.js');
38
40
  require('../../ui/IconButton.js');
39
- require('../../index-62a62790.js');
41
+ require('../../index-65aaad9e.js');
40
42
  require('../../ui/MentionUserLabel.js');
41
43
  require('../../ui/UserProfile.js');
42
44
  require('../../sendbirdSelectors.js');
43
- require('../../utils-a6bf5249.js');
45
+ require('../../utils-b8eff714.js');
44
46
  require('../../ui/MessageStatus.js');
45
47
  require('../../ui/Loader.js');
46
48
  require('../../ui/MessageItemMenu.js');
@@ -60,7 +62,7 @@ require('../../ui/ThumbnailMessageItemBody.js');
60
62
  require('../../ui/OGMessageItemBody.js');
61
63
  require('../../ui/UnknownMessageItemBody.js');
62
64
  require('../../ui/QuoteMessage.js');
63
- require('../../index-f63b3446.js');
65
+ require('../../index-6d74425b.js');
64
66
  require('../../ui/Modal.js');
65
67
 
66
68
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -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, 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?: () => 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?.();\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","DateSeparator","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","SuggestedMentionList","user","users","MessageInput","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","MessageContent","RemoveMessageModal","FileViewer"],"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, 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?: () => 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?.();\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","DateSeparator","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","SuggestedMentionList","user","users","MessageInput","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","MessageContent","RemoveMessageModal","FileViewer"],"mappings":"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"}