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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/App.js +41 -30
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +50 -0
  4. package/Channel/components/ChannelHeader.js +15 -14
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +28 -21
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -13
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/Message.js +178 -62
  12. package/Channel/components/Message.js.map +1 -1
  13. package/Channel/components/MessageInput.js +145 -30
  14. package/Channel/components/MessageInput.js.map +1 -1
  15. package/Channel/components/MessageList.js +71 -59
  16. package/Channel/components/MessageList.js.map +1 -1
  17. package/Channel/components/RemoveMessageModal.js +17 -16
  18. package/Channel/components/RemoveMessageModal.js.map +1 -1
  19. package/Channel/components/SuggestedMentionList.js +250 -0
  20. package/Channel/components/SuggestedMentionList.js.map +1 -0
  21. package/Channel/components/TypingIndicator.js +14 -13
  22. package/Channel/components/TypingIndicator.js.map +1 -1
  23. package/Channel/components/UnreadCount.js +5 -5
  24. package/Channel/context.js +13 -12
  25. package/Channel/context.js.map +1 -1
  26. package/Channel.js +28 -21
  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/ChannelListUI.js +24 -23
  31. package/ChannelList/components/ChannelListUI.js.map +1 -1
  32. package/ChannelList/components/ChannelPreview.js +23 -19
  33. package/ChannelList/components/ChannelPreview.js.map +1 -1
  34. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  35. package/ChannelList/context.js +8 -8
  36. package/ChannelList.js +24 -23
  37. package/ChannelList.js.map +1 -1
  38. package/{ChannelListProvider-0b0c2c40.js → ChannelListProvider-7c351968.js} +8 -8
  39. package/{ChannelListProvider-0b0c2c40.js.map → ChannelListProvider-7c351968.js.map} +1 -1
  40. package/{ChannelProvider-459e463f.js → ChannelProvider-d5126903.js} +72 -41
  41. package/ChannelProvider-d5126903.js.map +1 -0
  42. package/ChannelSettings/components/AdminPanel.js +15 -15
  43. package/ChannelSettings/components/ChannelProfile.js +13 -13
  44. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  45. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  46. package/ChannelSettings/components/LeaveChannel.js +10 -10
  47. package/ChannelSettings/components/UserListItem.js +11 -11
  48. package/ChannelSettings/components/UserPanel.js +14 -14
  49. package/ChannelSettings/context.js +3 -3
  50. package/ChannelSettings.js +18 -18
  51. package/CreateChannel/components/CreateChannelUI.js +14 -14
  52. package/CreateChannel/components/InviteMembers.js +14 -14
  53. package/CreateChannel/components/SelectChannelType.js +10 -10
  54. package/CreateChannel/context.js +3 -3
  55. package/CreateChannel.js +14 -14
  56. package/{CreateChannelProvider-c617a1bb.js → CreateChannelProvider-ddfd92e6.js} +1 -1
  57. package/{CreateChannelProvider-c617a1bb.js.map → CreateChannelProvider-ddfd92e6.js.map} +1 -1
  58. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  59. package/EditUserProfile.js +13 -13
  60. package/{LocalizationContext-e4391013.js → LocalizationContext-b021af8f.js} +3 -3
  61. package/{LocalizationContext-e4391013.js.map → LocalizationContext-b021af8f.js.map} +1 -1
  62. package/{MemberList-6655cba0.js → MemberList-323e7517.js} +5 -5
  63. package/{MemberList-6655cba0.js.map → MemberList-323e7517.js.map} +1 -1
  64. package/MessageSearch/components/MessageSearchUI.js +11 -11
  65. package/MessageSearch/context.js +2 -2
  66. package/MessageSearch.js +11 -11
  67. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  68. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  69. package/OpenChannel/components/OpenChannelInput.js +18 -14
  70. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  71. package/OpenChannel/components/OpenChannelMessage.js +23 -19
  72. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  73. package/OpenChannel/components/OpenChannelMessageList.js +25 -21
  74. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  75. package/OpenChannel/components/OpenChannelUI.js +25 -21
  76. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  77. package/OpenChannel/context.js +9 -9
  78. package/OpenChannel.js +25 -21
  79. package/OpenChannel.js.map +1 -1
  80. package/{OpenChannelProvider-a7691eb4.js → OpenChannelProvider-abc4ab98.js} +7 -7
  81. package/{OpenChannelProvider-a7691eb4.js.map → OpenChannelProvider-abc4ab98.js.map} +1 -1
  82. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  83. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  84. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  85. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  86. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  87. package/OpenChannelSettings/context.js +2 -2
  88. package/OpenChannelSettings.js +17 -17
  89. package/README.md +9 -1
  90. package/SendbirdProvider.js +27 -13
  91. package/SendbirdProvider.js.map +1 -1
  92. package/{UserProfileContext-865db5e6.js → UserProfileContext-daa99f9b.js} +1 -1
  93. package/{UserProfileContext-865db5e6.js.map → UserProfileContext-daa99f9b.js.map} +1 -1
  94. package/{_rollupPluginBabelHelpers-20904f21.js → _rollupPluginBabelHelpers-8e4fae98.js} +1 -1
  95. package/{_rollupPluginBabelHelpers-20904f21.js.map → _rollupPluginBabelHelpers-8e4fae98.js.map} +1 -1
  96. package/{actionTypes-1e3a4074.js → actionTypes-189daf51.js} +1 -1
  97. package/{actionTypes-1e3a4074.js.map → actionTypes-189daf51.js.map} +1 -1
  98. package/cjs/App.js +41 -30
  99. package/cjs/App.js.map +1 -1
  100. package/cjs/Channel/components/ChannelHeader.js +15 -14
  101. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  102. package/cjs/Channel/components/ChannelUI.js +28 -21
  103. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  104. package/cjs/Channel/components/FileViewer.js +14 -13
  105. package/cjs/Channel/components/FileViewer.js.map +1 -1
  106. package/cjs/Channel/components/FrozenNotification.js +5 -5
  107. package/cjs/Channel/components/Message.js +177 -61
  108. package/cjs/Channel/components/Message.js.map +1 -1
  109. package/cjs/Channel/components/MessageInput.js +144 -29
  110. package/cjs/Channel/components/MessageInput.js.map +1 -1
  111. package/cjs/Channel/components/MessageList.js +70 -58
  112. package/cjs/Channel/components/MessageList.js.map +1 -1
  113. package/cjs/Channel/components/RemoveMessageModal.js +17 -16
  114. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  115. package/cjs/Channel/components/SuggestedMentionList.js +256 -0
  116. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  117. package/cjs/Channel/components/TypingIndicator.js +14 -13
  118. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  119. package/cjs/Channel/components/UnreadCount.js +5 -5
  120. package/cjs/Channel/context.js +13 -12
  121. package/cjs/Channel/context.js.map +1 -1
  122. package/cjs/Channel.js +28 -21
  123. package/cjs/Channel.js.map +1 -1
  124. package/cjs/ChannelList/components/AddChannel.js +14 -14
  125. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  126. package/cjs/ChannelList/components/ChannelListUI.js +24 -23
  127. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  128. package/cjs/ChannelList/components/ChannelPreview.js +23 -19
  129. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  130. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  131. package/cjs/ChannelList/context.js +8 -8
  132. package/cjs/ChannelList.js +24 -23
  133. package/cjs/ChannelList.js.map +1 -1
  134. package/cjs/{ChannelListProvider-5a152618.js → ChannelListProvider-44dde549.js} +8 -8
  135. package/cjs/{ChannelListProvider-5a152618.js.map → ChannelListProvider-44dde549.js.map} +1 -1
  136. package/cjs/{ChannelProvider-f1fb0108.js → ChannelProvider-e0aaab26.js} +79 -48
  137. package/cjs/ChannelProvider-e0aaab26.js.map +1 -0
  138. package/cjs/ChannelSettings/components/AdminPanel.js +15 -15
  139. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  140. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  141. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  142. package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
  143. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  144. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  145. package/cjs/ChannelSettings/context.js +3 -3
  146. package/cjs/ChannelSettings.js +18 -18
  147. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  148. package/cjs/CreateChannel/components/InviteMembers.js +14 -14
  149. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  150. package/cjs/CreateChannel/context.js +3 -3
  151. package/cjs/CreateChannel.js +14 -14
  152. package/cjs/{CreateChannelProvider-df42106f.js → CreateChannelProvider-bdf9c39b.js} +1 -1
  153. package/cjs/{CreateChannelProvider-df42106f.js.map → CreateChannelProvider-bdf9c39b.js.map} +1 -1
  154. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  155. package/cjs/EditUserProfile.js +13 -13
  156. package/cjs/{LocalizationContext-68e55e2a.js → LocalizationContext-3b5ce8ae.js} +3 -3
  157. package/cjs/{LocalizationContext-68e55e2a.js.map → LocalizationContext-3b5ce8ae.js.map} +1 -1
  158. package/cjs/{MemberList-dc84e303.js → MemberList-ef9e43c3.js} +5 -5
  159. package/cjs/{MemberList-dc84e303.js.map → MemberList-ef9e43c3.js.map} +1 -1
  160. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  161. package/cjs/MessageSearch/context.js +2 -2
  162. package/cjs/MessageSearch.js +11 -11
  163. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  164. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  165. package/cjs/OpenChannel/components/OpenChannelInput.js +18 -14
  166. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  167. package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -19
  168. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  169. package/cjs/OpenChannel/components/OpenChannelMessageList.js +25 -21
  170. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  171. package/cjs/OpenChannel/components/OpenChannelUI.js +25 -21
  172. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  173. package/cjs/OpenChannel/context.js +9 -9
  174. package/cjs/OpenChannel.js +25 -21
  175. package/cjs/OpenChannel.js.map +1 -1
  176. package/cjs/{OpenChannelProvider-7a1a996f.js → OpenChannelProvider-9ce7c998.js} +7 -7
  177. package/cjs/{OpenChannelProvider-7a1a996f.js.map → OpenChannelProvider-9ce7c998.js.map} +1 -1
  178. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  179. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  180. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  181. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  182. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  183. package/cjs/OpenChannelSettings/context.js +2 -2
  184. package/cjs/OpenChannelSettings.js +17 -17
  185. package/cjs/SendbirdProvider.js +27 -13
  186. package/cjs/SendbirdProvider.js.map +1 -1
  187. package/cjs/{UserProfileContext-3533547d.js → UserProfileContext-f0bdfbb8.js} +1 -1
  188. package/cjs/{UserProfileContext-3533547d.js.map → UserProfileContext-f0bdfbb8.js.map} +1 -1
  189. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js → _rollupPluginBabelHelpers-e54d2387.js} +1 -1
  190. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js.map → _rollupPluginBabelHelpers-e54d2387.js.map} +1 -1
  191. package/cjs/{actionTypes-bc47f97a.js → actionTypes-267d4c79.js} +1 -1
  192. package/cjs/{actionTypes-bc47f97a.js.map → actionTypes-267d4c79.js.map} +1 -1
  193. package/cjs/{color-4afb15fb.js → color-0f078673.js} +1 -1
  194. package/cjs/{color-4afb15fb.js.map → color-0f078673.js.map} +1 -1
  195. package/cjs/{compareIds-01306377.js → compareIds-176a582b.js} +1 -1
  196. package/cjs/{compareIds-01306377.js.map → compareIds-176a582b.js.map} +1 -1
  197. package/cjs/const-4bf0e8b4.js +22 -0
  198. package/cjs/const-4bf0e8b4.js.map +1 -0
  199. package/cjs/const-ccf192c5.js +14 -0
  200. package/cjs/const-ccf192c5.js.map +1 -0
  201. package/cjs/{context-c1f9d650.js → context-0cbe196d.js} +2 -2
  202. package/cjs/{context-c1f9d650.js.map → context-0cbe196d.js.map} +1 -1
  203. package/cjs/{index-d4880236.js → index-002a349d.js} +84 -3
  204. package/cjs/index-002a349d.js.map +1 -0
  205. package/cjs/{index-905331fa.js → index-0159bc57.js} +2 -2
  206. package/cjs/{index-905331fa.js.map → index-0159bc57.js.map} +1 -1
  207. package/cjs/{index-4987c8b2.js → index-081c9614.js} +6 -6
  208. package/cjs/{index-4987c8b2.js.map → index-081c9614.js.map} +1 -1
  209. package/cjs/{index-1468d245.js → index-21f31180.js} +3 -3
  210. package/cjs/{index-1468d245.js.map → index-21f31180.js.map} +1 -1
  211. package/cjs/{index-1044f1ed.js → index-22f07209.js} +3 -3
  212. package/cjs/{index-1044f1ed.js.map → index-22f07209.js.map} +1 -1
  213. package/cjs/{index-8becccd8.js → index-46522cf0.js} +4 -4
  214. package/cjs/{index-8becccd8.js.map → index-46522cf0.js.map} +1 -1
  215. package/cjs/index-723733db.js +54 -0
  216. package/cjs/index-723733db.js.map +1 -0
  217. package/cjs/{index-9dc3863f.js → index-c0693be4.js} +2 -2
  218. package/cjs/{index-9dc3863f.js.map → index-c0693be4.js.map} +1 -1
  219. package/cjs/{index-659c9ca5.js → index-d4f42e73.js} +4 -4
  220. package/cjs/{index-659c9ca5.js.map → index-d4f42e73.js.map} +1 -1
  221. package/cjs/{index-e2bb862c.js → index-d9439e95.js} +1 -1
  222. package/cjs/{index-e2bb862c.js.map → index-d9439e95.js.map} +1 -1
  223. package/cjs/{index-aecc8d24.js → index-ed053e45.js} +1 -1
  224. package/cjs/{index-aecc8d24.js.map → index-ed053e45.js.map} +1 -1
  225. package/cjs/index.css +165 -59
  226. package/cjs/index.css.map +1 -1
  227. package/cjs/index.js +38 -31
  228. package/cjs/index.js.map +1 -1
  229. package/cjs/{openChannelUtils-37919a36.js → openChannelUtils-cecaf987.js} +1 -1
  230. package/cjs/{openChannelUtils-37919a36.js.map → openChannelUtils-cecaf987.js.map} +1 -1
  231. package/cjs/sendBirdSelectors.js +1 -1
  232. package/cjs/{stringSet-aa544ce5.js → stringSet-f4da182b.js} +4 -2
  233. package/cjs/stringSet-f4da182b.js.map +1 -0
  234. package/cjs/{topics-8314d425.js → topics-c2c30f09.js} +1 -1
  235. package/cjs/{topics-8314d425.js.map → topics-c2c30f09.js.map} +1 -1
  236. package/cjs/{tslib.es6-4a281a05.js → tslib.es6-d7d0a427.js} +1 -1
  237. package/cjs/{tslib.es6-4a281a05.js.map → tslib.es6-d7d0a427.js.map} +1 -1
  238. package/cjs/ui/Accordion.js +4 -4
  239. package/cjs/ui/AccordionGroup.js +2 -2
  240. package/cjs/ui/AdminMessage.js +3 -3
  241. package/cjs/ui/Avatar.js +3 -3
  242. package/cjs/ui/Badge.js +5 -5
  243. package/cjs/ui/Button.js +4 -4
  244. package/cjs/ui/ChannelAvatar.js +4 -4
  245. package/cjs/ui/ChannelPreview.js +12 -12
  246. package/cjs/ui/ChatHeader.js +8 -8
  247. package/cjs/ui/Checkbox.js +1 -1
  248. package/cjs/ui/ConnectionStatus.js +5 -5
  249. package/cjs/ui/ContextMenu.js +5 -5
  250. package/cjs/ui/DateSeparator.js +4 -4
  251. package/cjs/ui/Dropdown.js +3 -3
  252. package/cjs/ui/EmojiReactions.js +7 -7
  253. package/cjs/ui/FileMessageItemBody.js +6 -6
  254. package/cjs/ui/FileViewer.js +7 -7
  255. package/cjs/ui/Icon.js +1 -1
  256. package/cjs/ui/IconButton.js +1 -1
  257. package/cjs/ui/ImageRenderer.js +1 -1
  258. package/cjs/ui/Input.js +3 -3
  259. package/cjs/ui/Label.js +3 -3
  260. package/cjs/ui/LinkLabel.js +3 -3
  261. package/cjs/ui/Loader.js +1 -1
  262. package/cjs/ui/MentionUserLabel.js +25 -0
  263. package/cjs/ui/MentionUserLabel.js.map +1 -0
  264. package/cjs/ui/MessageContent.js +25 -62
  265. package/cjs/ui/MessageContent.js.map +1 -1
  266. package/cjs/ui/MessageInput.js +4900 -84
  267. package/cjs/ui/MessageInput.js.map +1 -1
  268. package/cjs/ui/MessageItemMenu.js +7 -7
  269. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  270. package/cjs/ui/MessageSearchFileItem.js +10 -10
  271. package/cjs/ui/MessageSearchItem.js +10 -10
  272. package/cjs/ui/MessageStatus.js +66 -0
  273. package/cjs/ui/MessageStatus.js.map +1 -0
  274. package/cjs/ui/Modal.js +8 -8
  275. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  276. package/cjs/ui/OGMessageItemBody.js +38 -28
  277. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  278. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  279. package/cjs/ui/OpenChannelAvatar.js +7 -7
  280. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  281. package/cjs/ui/OpenchannelFileMessage.js +14 -14
  282. package/cjs/ui/OpenchannelOGMessage.js +14 -14
  283. package/cjs/ui/OpenchannelThumbnailMessage.js +13 -13
  284. package/cjs/ui/OpenchannelUserMessage.js +14 -14
  285. package/cjs/ui/PlaceHolder.js +6 -6
  286. package/cjs/ui/QuoteMessage.js +7 -7
  287. package/cjs/ui/QuoteMessageInput.js +7 -7
  288. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  289. package/cjs/ui/ReactionBadge.js +3 -3
  290. package/cjs/ui/ReactionButton.js +1 -1
  291. package/cjs/ui/SortByRow.js +1 -1
  292. package/cjs/ui/TextButton.js +2 -2
  293. package/cjs/ui/TextMessageItemBody.js +36 -14
  294. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  295. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  296. package/cjs/ui/Tooltip.js +3 -3
  297. package/cjs/ui/TooltipWrapper.js +1 -1
  298. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  299. package/cjs/ui/UserListItem.js +11 -11
  300. package/cjs/ui/UserProfile.js +9 -9
  301. package/cjs/useSendbirdStateContext.js +1 -1
  302. package/cjs/{utils-cbd3ed99.js → utils-3e73a146.js} +1 -1
  303. package/cjs/{utils-cbd3ed99.js.map → utils-3e73a146.js.map} +1 -1
  304. package/cjs/{utils-66b3f4ec.js → utils-b95288a8.js} +1 -1
  305. package/cjs/{utils-66b3f4ec.js.map → utils-b95288a8.js.map} +1 -1
  306. package/cjs/{utils-3b0815dc.js → utils-c55d20dc.js} +1 -1
  307. package/cjs/{utils-3b0815dc.js.map → utils-c55d20dc.js.map} +1 -1
  308. package/cjs/{uuid-1d5ec8b2.js → uuid-ba6cc3c5.js} +1 -1
  309. package/cjs/{uuid-1d5ec8b2.js.map → uuid-ba6cc3c5.js.map} +1 -1
  310. package/cjs/withSendBird.js +1 -1
  311. package/{color-ee3fc5ee.js → color-2863fbbe.js} +1 -1
  312. package/{color-ee3fc5ee.js.map → color-2863fbbe.js.map} +1 -1
  313. package/{compareIds-808956f2.js → compareIds-48d87cc5.js} +1 -1
  314. package/{compareIds-808956f2.js.map → compareIds-48d87cc5.js.map} +1 -1
  315. package/const-09c22c50.js +18 -0
  316. package/const-09c22c50.js.map +1 -0
  317. package/const-3f63e129.js +8 -0
  318. package/const-3f63e129.js.map +1 -0
  319. package/{context-98ce535c.js → context-7877e5bb.js} +2 -2
  320. package/{context-98ce535c.js.map → context-7877e5bb.js.map} +1 -1
  321. package/dist/index.css +165 -59
  322. package/dist/index.css.map +1 -1
  323. package/{index-942c85a6.js → index-1fd114b0.js} +1 -1
  324. package/{index-942c85a6.js.map → index-1fd114b0.js.map} +1 -1
  325. package/{index-e818a8a3.js → index-303a3b6e.js} +4 -4
  326. package/{index-e818a8a3.js.map → index-303a3b6e.js.map} +1 -1
  327. package/{index-6ebf7894.js → index-353f13f3.js} +1 -1
  328. package/{index-6ebf7894.js.map → index-353f13f3.js.map} +1 -1
  329. package/{index-5c2c81bc.js → index-358226c7.js} +6 -6
  330. package/{index-5c2c81bc.js.map → index-358226c7.js.map} +1 -1
  331. package/{index-acebc2ff.js → index-41a6f4f2.js} +3 -3
  332. package/{index-acebc2ff.js.map → index-41a6f4f2.js.map} +1 -1
  333. package/index-4889e530.js +48 -0
  334. package/index-4889e530.js.map +1 -0
  335. package/{index-770d7112.js → index-4a59a866.js} +2 -2
  336. package/{index-770d7112.js.map → index-4a59a866.js.map} +1 -1
  337. package/{index-1718324d.js → index-86b0a341.js} +4 -4
  338. package/{index-1718324d.js.map → index-86b0a341.js.map} +1 -1
  339. package/{index-7a51bd16.js → index-a611bd38.js} +3 -3
  340. package/{index-7a51bd16.js.map → index-a611bd38.js.map} +1 -1
  341. package/{index-8c72a94a.js → index-ad4c9e58.js} +83 -3
  342. package/index-ad4c9e58.js.map +1 -0
  343. package/{index-cd21929d.js → index-f119413c.js} +2 -2
  344. package/{index-cd21929d.js.map → index-f119413c.js.map} +1 -1
  345. package/index.css +165 -59
  346. package/index.css.map +1 -1
  347. package/index.d.ts +237 -209
  348. package/index.js +38 -31
  349. package/index.js.map +1 -1
  350. package/{openChannelUtils-56a372e7.js → openChannelUtils-024b797a.js} +1 -1
  351. package/{openChannelUtils-56a372e7.js.map → openChannelUtils-024b797a.js.map} +1 -1
  352. package/package.json +2 -2
  353. package/sendBirdSelectors.js +1 -1
  354. package/{stringSet-4f6eaa60.js → stringSet-91746bf1.js} +4 -2
  355. package/stringSet-91746bf1.js.map +1 -0
  356. package/{topics-9442035c.js → topics-17d99dd6.js} +1 -1
  357. package/{topics-9442035c.js.map → topics-17d99dd6.js.map} +1 -1
  358. package/{tslib.es6-e3c44017.js → tslib.es6-83aa13f5.js} +1 -1
  359. package/{tslib.es6-e3c44017.js.map → tslib.es6-83aa13f5.js.map} +1 -1
  360. package/ui/Accordion.js +4 -4
  361. package/ui/AccordionGroup.js +2 -2
  362. package/ui/AdminMessage.js +3 -3
  363. package/ui/Avatar.js +3 -3
  364. package/ui/Badge.js +5 -5
  365. package/ui/Button.js +4 -4
  366. package/ui/ChannelAvatar.js +4 -4
  367. package/ui/ChannelPreview.js +12 -12
  368. package/ui/ChatHeader.js +8 -8
  369. package/ui/Checkbox.js +1 -1
  370. package/ui/ConnectionStatus.js +5 -5
  371. package/ui/ContextMenu.js +5 -5
  372. package/ui/DateSeparator.js +4 -4
  373. package/ui/Dropdown.js +3 -3
  374. package/ui/EmojiReactions.js +7 -7
  375. package/ui/FileMessageItemBody.js +6 -6
  376. package/ui/FileViewer.js +7 -7
  377. package/ui/Icon.js +1 -1
  378. package/ui/IconButton.js +1 -1
  379. package/ui/ImageRenderer.js +1 -1
  380. package/ui/Input.js +3 -3
  381. package/ui/Label.js +3 -3
  382. package/ui/LinkLabel.js +3 -3
  383. package/ui/Loader.js +1 -1
  384. package/ui/MentionUserLabel.js +19 -0
  385. package/ui/MentionUserLabel.js.map +1 -0
  386. package/ui/MessageContent.js +25 -62
  387. package/ui/MessageContent.js.map +1 -1
  388. package/ui/MessageInput.js +4900 -85
  389. package/ui/MessageInput.js.map +1 -1
  390. package/ui/MessageItemMenu.js +7 -7
  391. package/ui/MessageItemReactionMenu.js +5 -5
  392. package/ui/MessageSearchFileItem.js +10 -10
  393. package/ui/MessageSearchItem.js +10 -10
  394. package/ui/MessageStatus.js +57 -0
  395. package/ui/MessageStatus.js.map +1 -0
  396. package/ui/Modal.js +8 -8
  397. package/ui/MutedAvatarOverlay.js +1 -1
  398. package/ui/OGMessageItemBody.js +38 -28
  399. package/ui/OGMessageItemBody.js.map +1 -1
  400. package/ui/OpenChannelAdminMessage.js +4 -4
  401. package/ui/OpenChannelAvatar.js +7 -7
  402. package/ui/OpenchannelConversationHeader.js +7 -7
  403. package/ui/OpenchannelFileMessage.js +14 -14
  404. package/ui/OpenchannelOGMessage.js +14 -14
  405. package/ui/OpenchannelThumbnailMessage.js +13 -13
  406. package/ui/OpenchannelUserMessage.js +14 -14
  407. package/ui/PlaceHolder.js +6 -6
  408. package/ui/QuoteMessage.js +7 -7
  409. package/ui/QuoteMessageInput.js +7 -7
  410. package/ui/QuoteMessageInput.js.map +1 -1
  411. package/ui/ReactionBadge.js +3 -3
  412. package/ui/ReactionButton.js +1 -1
  413. package/ui/SortByRow.js +1 -1
  414. package/ui/TextButton.js +2 -2
  415. package/ui/TextMessageItemBody.js +37 -15
  416. package/ui/TextMessageItemBody.js.map +1 -1
  417. package/ui/ThumbnailMessageItemBody.js +3 -3
  418. package/ui/Tooltip.js +3 -3
  419. package/ui/TooltipWrapper.js +1 -1
  420. package/ui/UnknownMessageItemBody.js +7 -7
  421. package/ui/UserListItem.js +11 -11
  422. package/ui/UserProfile.js +9 -9
  423. package/useSendbirdStateContext.js +1 -1
  424. package/{utils-af1b9829.js → utils-5395ff17.js} +1 -1
  425. package/{utils-af1b9829.js.map → utils-5395ff17.js.map} +1 -1
  426. package/{utils-08c4dbdc.js → utils-7d39b941.js} +1 -1
  427. package/{utils-08c4dbdc.js.map → utils-7d39b941.js.map} +1 -1
  428. package/{utils-c393e880.js → utils-9ef11656.js} +1 -1
  429. package/{utils-c393e880.js.map → utils-9ef11656.js.map} +1 -1
  430. package/{uuid-b0c93400.js → uuid-6d14d007.js} +1 -1
  431. package/{uuid-b0c93400.js.map → uuid-6d14d007.js.map} +1 -1
  432. package/withSendBird.js +1 -1
  433. package/ChannelProvider-459e463f.js.map +0 -1
  434. package/cjs/ChannelProvider-f1fb0108.js.map +0 -1
  435. package/cjs/index-d4880236.js.map +0 -1
  436. package/cjs/stringSet-aa544ce5.js.map +0 -1
  437. package/index-8c72a94a.js.map +0 -1
  438. package/stringSet-4f6eaa60.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestedMentionList.js","sources":["../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport SendBird from 'sendbird';\n\ninterface SuggestedUserMentionItemProps {\n member: SendBird.User;\n isFocused?: boolean;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n onClick,\n onMouseOver,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n scrollRef?.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import React, { useState, useEffect, useContext } from 'react';\nimport SendBird from 'sendbird';\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannel } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: SendBird.User) => void;\n onFocusItemChange?: (member: SendBird.User) => void;\n onFetchUsers?: (users: Array<SendBird.User>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannel();\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<SendBird.User>(null);\n const [mouseOverUser, setMouseOverUser] = useState<SendBird.User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<SendBird.Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery || !ableAddMention) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel.createMemberListQuery();\n query.limit = maxSuggestionCount;\n query.nicknameStartsWithFilter = searchString.slice(USER_MENTION_TEMP_CHAR.length);\n // Add member list query for customization\n query.next((memberList, error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n if (memberList.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList });\n setCurrentUser(memberList[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(memberList);\n setCurrentMemberList(memberList.filter((member) => currentUserId !== member?.userId));\n });\n }, [currentGroupChannel?.url, searchString]);\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n onMouseLeave={() => {\n if (mouseOverUser) {\n setCurrentUser(mouseOverUser);\n }\n }}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.nickname}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n onClick={() => {\n onUserItemClick(member);\n }}\n onMouseOver={() => {\n setMouseOverUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","onClick","onMouseOver","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollIntoView","block","inline","customMentionItem","useMemo","React","nickname","user","profileUrl","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","userId","DEBOUNCING_TIME","SuggestedMentionList","_d","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","_e","ableAddMention","_f","maxMentionCount","MAX_USER_MENTION_COUNT","_g","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannel","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","mouseOverUser","setMouseOverUser","_p","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","memberList","error","info","memberListQuery","filter","url","map","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
@@ -1,19 +1,20 @@
1
1
  import React__default, { useState, useEffect, useContext } from 'react';
2
- import { a as LocalizationContext } from '../../LocalizationContext-e4391013.js';
3
- import { u as uuidv4 } from '../../uuid-b0c93400.js';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-7a51bd16.js';
5
- import { u as useChannel } from '../../ChannelProvider-459e463f.js';
2
+ import { a as LocalizationContext } from '../../LocalizationContext-b021af8f.js';
3
+ import { u as uuidv4 } from '../../uuid-6d14d007.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-a611bd38.js';
5
+ import { u as useChannel } from '../../ChannelProvider-d5126903.js';
6
6
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
7
- import '../../stringSet-4f6eaa60.js';
8
- import '../../index-6ebf7894.js';
9
- import '../../_rollupPluginBabelHelpers-20904f21.js';
7
+ import '../../stringSet-91746bf1.js';
8
+ import '../../index-353f13f3.js';
9
+ import '../../_rollupPluginBabelHelpers-8e4fae98.js';
10
10
  import 'prop-types';
11
- import '../../UserProfileContext-865db5e6.js';
12
- import '../../index-770d7112.js';
13
- import '../../topics-9442035c.js';
14
- import '../../index-8c72a94a.js';
15
- import '../../tslib.es6-e3c44017.js';
16
- import '../../compareIds-808956f2.js';
11
+ import '../../UserProfileContext-daa99f9b.js';
12
+ import '../../index-4a59a866.js';
13
+ import '../../topics-17d99dd6.js';
14
+ import '../../index-ad4c9e58.js';
15
+ import '../../tslib.es6-83aa13f5.js';
16
+ import '../../compareIds-48d87cc5.js';
17
+ import '../../const-3f63e129.js';
17
18
  import '../../ui/ContextMenu.js';
18
19
  import 'react-dom';
19
20
  import '../../ui/SortByRow.js';
@@ -1 +1 @@
1
- {"version":3,"file":"TypingIndicator.js","sources":["../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport SendBird from 'sendbird';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannel } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: SendBird.Member[];\n}\n\nconst TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannel();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<SendBird.Member[]>([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingMembers();\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n}\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_a","members","stringSet","useContext","LocalizationContext","length","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","channelUrl","useChannel","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","ChannelHandler","removeChannelHandler","newHandlerId","handler","onTypingStatusUpdated","groupChannel","info","url","getTypingMembers","addChannelHandler","React","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"TypingIndicator.js","sources":["../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport SendBird from 'sendbird';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannel } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: SendBird.Member[];\n}\n\nconst TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannel();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<SendBird.Member[]>([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingMembers();\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n}\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_a","members","stringSet","useContext","LocalizationContext","length","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","channelUrl","useChannel","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","ChannelHandler","removeChannelHandler","newHandlerId","handler","onTypingStatusUpdated","groupChannel","info","url","getTypingMembers","addChannelHandler","React","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../../LocalizationContext-e4391013.js';
3
- import { L as Label, b as LabelColors, a as LabelTypography } from '../../index-7a51bd16.js';
2
+ import { a as LocalizationContext } from '../../LocalizationContext-b021af8f.js';
3
+ import { L as Label, b as LabelColors, a as LabelTypography } from '../../index-a611bd38.js';
4
4
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
5
- import '../../stringSet-4f6eaa60.js';
6
- import '../../index-6ebf7894.js';
7
- import '../../_rollupPluginBabelHelpers-20904f21.js';
5
+ import '../../stringSet-91746bf1.js';
6
+ import '../../index-353f13f3.js';
7
+ import '../../_rollupPluginBabelHelpers-8e4fae98.js';
8
8
  import 'prop-types';
9
9
 
10
10
  var UnreadCount = function UnreadCount(props) {
@@ -1,20 +1,21 @@
1
1
  import 'react';
2
- import '../UserProfileContext-865db5e6.js';
2
+ import '../UserProfileContext-daa99f9b.js';
3
3
  import '../useSendbirdStateContext.js';
4
- export { C as ChannelProvider, u as useChannel } from '../ChannelProvider-459e463f.js';
4
+ export { C as ChannelProvider, u as useChannel } from '../ChannelProvider-d5126903.js';
5
5
  import 'prop-types';
6
6
  import '../withSendBird.js';
7
- import '../_rollupPluginBabelHelpers-20904f21.js';
8
- import '../index-770d7112.js';
9
- import '../index-6ebf7894.js';
10
- import '../topics-9442035c.js';
11
- import '../index-8c72a94a.js';
12
- import '../tslib.es6-e3c44017.js';
13
- import '../compareIds-808956f2.js';
14
- import '../uuid-b0c93400.js';
7
+ import '../_rollupPluginBabelHelpers-8e4fae98.js';
8
+ import '../index-4a59a866.js';
9
+ import '../index-353f13f3.js';
10
+ import '../topics-17d99dd6.js';
11
+ import '../index-ad4c9e58.js';
12
+ import '../tslib.es6-83aa13f5.js';
13
+ import '../compareIds-48d87cc5.js';
14
+ import '../const-3f63e129.js';
15
+ import '../uuid-6d14d007.js';
15
16
  import '../ui/ContextMenu.js';
16
- import '../index-7a51bd16.js';
17
- import '../stringSet-4f6eaa60.js';
17
+ import '../index-a611bd38.js';
18
+ import '../stringSet-91746bf1.js';
18
19
  import 'react-dom';
19
20
  import '../ui/SortByRow.js';
20
21
  import '../ui/ReactionButton.js';
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
package/Channel.js CHANGED
@@ -1,45 +1,51 @@
1
1
  import React__default from 'react';
2
- import { C as ChannelProvider } from './ChannelProvider-459e463f.js';
2
+ import { C as ChannelProvider } from './ChannelProvider-d5126903.js';
3
3
  import ChannelUI from './Channel/components/ChannelUI.js';
4
- import './UserProfileContext-865db5e6.js';
4
+ import './UserProfileContext-daa99f9b.js';
5
5
  import 'prop-types';
6
6
  import './useSendbirdStateContext.js';
7
7
  import './withSendBird.js';
8
- import './_rollupPluginBabelHelpers-20904f21.js';
9
- import './index-770d7112.js';
10
- import './index-6ebf7894.js';
11
- import './topics-9442035c.js';
12
- import './index-8c72a94a.js';
13
- import './tslib.es6-e3c44017.js';
14
- import './compareIds-808956f2.js';
15
- import './uuid-b0c93400.js';
8
+ import './_rollupPluginBabelHelpers-8e4fae98.js';
9
+ import './index-4a59a866.js';
10
+ import './index-353f13f3.js';
11
+ import './topics-17d99dd6.js';
12
+ import './index-ad4c9e58.js';
13
+ import './tslib.es6-83aa13f5.js';
14
+ import './compareIds-48d87cc5.js';
15
+ import './const-3f63e129.js';
16
+ import './uuid-6d14d007.js';
16
17
  import './ui/ContextMenu.js';
17
- import './index-7a51bd16.js';
18
- import './stringSet-4f6eaa60.js';
18
+ import './index-a611bd38.js';
19
+ import './stringSet-91746bf1.js';
19
20
  import 'react-dom';
20
21
  import './ui/SortByRow.js';
21
22
  import './ui/ReactionButton.js';
22
23
  import './ui/ImageRenderer.js';
23
24
  import './ui/Icon.js';
24
- import './index-e818a8a3.js';
25
+ import './index-303a3b6e.js';
25
26
  import './ui/Loader.js';
26
- import './LocalizationContext-e4391013.js';
27
+ import './LocalizationContext-b021af8f.js';
27
28
  import './ui/ConnectionStatus.js';
28
29
  import './Channel/components/ChannelHeader.js';
29
30
  import './ui/IconButton.js';
30
31
  import './ui/ChannelAvatar.js';
31
32
  import './ui/Avatar.js';
32
- import './utils-08c4dbdc.js';
33
+ import './utils-7d39b941.js';
33
34
  import './Channel/components/MessageList.js';
34
- import './index-cd21929d.js';
35
+ import './index-f119413c.js';
35
36
  import './Channel/components/Message.js';
37
+ import './Channel/components/SuggestedMentionList.js';
38
+ import './const-09c22c50.js';
36
39
  import './ui/DateSeparator.js';
37
- import './color-ee3fc5ee.js';
40
+ import './color-2863fbbe.js';
38
41
  import './ui/MessageInput.js';
39
- import './index-acebc2ff.js';
42
+ import 'stream';
43
+ import './index-41a6f4f2.js';
44
+ import './ui/MentionUserLabel.js';
40
45
  import './ui/MessageContent.js';
41
46
  import './ui/UserProfile.js';
42
47
  import './sendBirdSelectors.js';
48
+ import './ui/MessageStatus.js';
43
49
  import './ui/MessageItemMenu.js';
44
50
  import './ui/MessageItemReactionMenu.js';
45
51
  import './ui/EmojiReactions.js';
@@ -48,18 +54,19 @@ import './ui/TooltipWrapper.js';
48
54
  import './ui/ReactionBadge.js';
49
55
  import './ui/AdminMessage.js';
50
56
  import './ui/TextMessageItemBody.js';
57
+ import './index-4889e530.js';
58
+ import './ui/LinkLabel.js';
51
59
  import './ui/FileMessageItemBody.js';
52
60
  import './ui/TextButton.js';
53
61
  import './ui/ThumbnailMessageItemBody.js';
54
62
  import './ui/OGMessageItemBody.js';
55
- import './ui/LinkLabel.js';
56
63
  import './ui/UnknownMessageItemBody.js';
57
64
  import './ui/QuoteMessage.js';
58
65
  import './Channel/components/FileViewer.js';
59
- import './index-942c85a6.js';
66
+ import './index-1fd114b0.js';
60
67
  import './Channel/components/RemoveMessageModal.js';
61
68
  import './ui/Modal.js';
62
- import './utils-c393e880.js';
69
+ import './utils-9ef11656.js';
63
70
  import './Channel/components/TypingIndicator.js';
64
71
  import './Channel/components/FrozenNotification.js';
65
72
  import './Channel/components/UnreadCount.js';
package/Channel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.js","sources":["../src/smart-components/Channel/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ChannelProvider,\n ChannelContextProps,\n} from './context/ChannelProvider';\n\nimport ChannelUI, { ChannelUIProps } from './components/ChannelUI';\nexport interface ChannelProps extends ChannelContextProps, ChannelUIProps {\n}\n\nconst Channel: React.FC<ChannelProps> = (props: ChannelProps) => {\n return (\n <ChannelProvider\n channelUrl={props?.channelUrl}\n useMessageGrouping={props?.useMessageGrouping}\n useReaction={props?.useReaction}\n showSearchIcon={props?.showSearchIcon}\n highlightedMessage={props?.highlightedMessage}\n startingPoint={props?.startingPoint}\n onBeforeSendUserMessage={props?.onBeforeSendUserMessage}\n onBeforeSendFileMessage={props?.onBeforeSendFileMessage}\n onBeforeUpdateUserMessage={props?.onBeforeUpdateUserMessage}\n onChatHeaderActionClick={props?.onChatHeaderActionClick}\n onSearchClick={props?.onSearchClick}\n replyType={props?.replyType}\n queries={props?.queries}\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n <ChannelUI\n renderPlaceholderLoader={props?.renderPlaceholderLoader}\n renderPlaceholderInvalid={props?.renderPlaceholderInvalid}\n renderPlaceholderEmpty={props?.renderPlaceholderEmpty}\n renderChannelHeader={props?.renderChannelHeader}\n renderMessage={props?.renderMessage}\n renderMessageInput={props?.renderMessageInput}\n renderTypingIndicator={props?.renderTypingIndicator}\n renderCustomSeperator={props?.renderCustomSeperator}\n />\n </ChannelProvider>\n );\n};\n\nexport default Channel;\n"],"names":["Channel","props","React","channelUrl","useMessageGrouping","useReaction","showSearchIcon","highlightedMessage","startingPoint","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onChatHeaderActionClick","onSearchClick","replyType","queries","renderUserProfile","disableUserProfile","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeperator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWMA,OAAO,GAA2B,SAAlCA,OAAkC,CAACC,KAAD;AACtC,sBACEC,6BAAC,eAAD;AACE,IAAA,UAAU,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEE,UADrB;AAEE,IAAA,kBAAkB,EAAEF,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEG,kBAF7B;AAGE,IAAA,WAAW,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,WAHtB;AAIE,IAAA,cAAc,EAAEJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEK,cAJzB;AAKE,IAAA,kBAAkB,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEM,kBAL7B;AAME,IAAA,aAAa,EAAEN,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEO,aANxB;AAOE,IAAA,uBAAuB,EAAEP,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEQ,uBAPlC;AAQE,IAAA,uBAAuB,EAAER,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAES,uBARlC;AASE,IAAA,yBAAyB,EAAET,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU,yBATpC;AAUE,IAAA,uBAAuB,EAAEV,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEW,uBAVlC;AAWE,IAAA,aAAa,EAAEX,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEY,aAXxB;AAYE,IAAA,SAAS,EAAEZ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEa,SAZpB;AAaE,IAAA,OAAO,EAAEb,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEc,OAblB;AAcE,IAAA,iBAAiB,EAAEd,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEe,iBAd5B;AAeE,IAAA,kBAAkB,EAAEf,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEgB;AAf7B,kBAiBEf,6BAAC,SAAD;AACE,IAAA,uBAAuB,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEiB,uBADlC;AAEE,IAAA,wBAAwB,EAAEjB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEkB,wBAFnC;AAGE,IAAA,sBAAsB,EAAElB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEmB,sBAHjC;AAIE,IAAA,mBAAmB,EAAEnB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEoB,mBAJ9B;AAKE,IAAA,aAAa,EAAEpB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEqB,aALxB;AAME,IAAA,kBAAkB,EAAErB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEsB,kBAN7B;AAOE,IAAA,qBAAqB,EAAEtB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEuB,qBAPhC;AAQE,IAAA,qBAAqB,EAAEvB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEwB;AARhC,IAjBF,CADF;AA8BD;;;;"}
1
+ {"version":3,"file":"Channel.js","sources":["../src/smart-components/Channel/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ChannelProvider,\n ChannelContextProps,\n} from './context/ChannelProvider';\n\nimport ChannelUI, { ChannelUIProps } from './components/ChannelUI';\nexport interface ChannelProps extends ChannelContextProps, ChannelUIProps {\n}\n\nconst Channel: React.FC<ChannelProps> = (props: ChannelProps) => {\n return (\n <ChannelProvider\n channelUrl={props?.channelUrl}\n useMessageGrouping={props?.useMessageGrouping}\n useReaction={props?.useReaction}\n showSearchIcon={props?.showSearchIcon}\n highlightedMessage={props?.highlightedMessage}\n startingPoint={props?.startingPoint}\n onBeforeSendUserMessage={props?.onBeforeSendUserMessage}\n onBeforeSendFileMessage={props?.onBeforeSendFileMessage}\n onBeforeUpdateUserMessage={props?.onBeforeUpdateUserMessage}\n onChatHeaderActionClick={props?.onChatHeaderActionClick}\n onSearchClick={props?.onSearchClick}\n replyType={props?.replyType}\n queries={props?.queries}\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n <ChannelUI\n renderPlaceholderLoader={props?.renderPlaceholderLoader}\n renderPlaceholderInvalid={props?.renderPlaceholderInvalid}\n renderPlaceholderEmpty={props?.renderPlaceholderEmpty}\n renderChannelHeader={props?.renderChannelHeader}\n renderMessage={props?.renderMessage}\n renderMessageInput={props?.renderMessageInput}\n renderTypingIndicator={props?.renderTypingIndicator}\n renderCustomSeperator={props?.renderCustomSeperator}\n />\n </ChannelProvider>\n );\n};\n\nexport default Channel;\n"],"names":["Channel","props","React","channelUrl","useMessageGrouping","useReaction","showSearchIcon","highlightedMessage","startingPoint","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onChatHeaderActionClick","onSearchClick","replyType","queries","renderUserProfile","disableUserProfile","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeperator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWMA,OAAO,GAA2B,SAAlCA,OAAkC,CAACC,KAAD;AACtC,sBACEC,6BAAC,eAAD;AACE,IAAA,UAAU,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEE,UADrB;AAEE,IAAA,kBAAkB,EAAEF,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEG,kBAF7B;AAGE,IAAA,WAAW,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,WAHtB;AAIE,IAAA,cAAc,EAAEJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEK,cAJzB;AAKE,IAAA,kBAAkB,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEM,kBAL7B;AAME,IAAA,aAAa,EAAEN,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEO,aANxB;AAOE,IAAA,uBAAuB,EAAEP,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEQ,uBAPlC;AAQE,IAAA,uBAAuB,EAAER,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAES,uBARlC;AASE,IAAA,yBAAyB,EAAET,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU,yBATpC;AAUE,IAAA,uBAAuB,EAAEV,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEW,uBAVlC;AAWE,IAAA,aAAa,EAAEX,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEY,aAXxB;AAYE,IAAA,SAAS,EAAEZ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEa,SAZpB;AAaE,IAAA,OAAO,EAAEb,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEc,OAblB;AAcE,IAAA,iBAAiB,EAAEd,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEe,iBAd5B;AAeE,IAAA,kBAAkB,EAAEf,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEgB;AAf7B,kBAiBEf,6BAAC,SAAD;AACE,IAAA,uBAAuB,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEiB,uBADlC;AAEE,IAAA,wBAAwB,EAAEjB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEkB,wBAFnC;AAGE,IAAA,sBAAsB,EAAElB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEmB,sBAHjC;AAIE,IAAA,mBAAmB,EAAEnB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEoB,mBAJ9B;AAKE,IAAA,aAAa,EAAEpB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEqB,aALxB;AAME,IAAA,kBAAkB,EAAErB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEsB,kBAN7B;AAOE,IAAA,qBAAqB,EAAEtB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEuB,qBAPhC;AAQE,IAAA,qBAAqB,EAAEvB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEwB;AARhC,IAjBF,CADF;AA8BD;;;;"}
@@ -3,34 +3,34 @@ import IconButton from '../../ui/IconButton.js';
3
3
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
4
4
  import CreateChannel from '../../CreateChannel.js';
5
5
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
6
- import '../../_rollupPluginBabelHelpers-20904f21.js';
6
+ import '../../_rollupPluginBabelHelpers-8e4fae98.js';
7
7
  import 'prop-types';
8
8
  import '../../CreateChannel/components/CreateChannelUI.js';
9
- import '../../CreateChannelProvider-c617a1bb.js';
9
+ import '../../CreateChannelProvider-ddfd92e6.js';
10
10
  import '../../sendBirdSelectors.js';
11
- import '../../topics-9442035c.js';
11
+ import '../../topics-17d99dd6.js';
12
12
  import '../../CreateChannel/components/InviteMembers.js';
13
- import '../../tslib.es6-e3c44017.js';
14
- import '../../LocalizationContext-e4391013.js';
15
- import '../../stringSet-4f6eaa60.js';
16
- import '../../index-6ebf7894.js';
13
+ import '../../tslib.es6-83aa13f5.js';
14
+ import '../../LocalizationContext-b021af8f.js';
15
+ import '../../stringSet-91746bf1.js';
16
+ import '../../index-353f13f3.js';
17
17
  import '../../ui/Modal.js';
18
18
  import 'react-dom';
19
- import '../../index-942c85a6.js';
20
- import '../../index-acebc2ff.js';
21
- import '../../index-7a51bd16.js';
22
- import '../../utils-c393e880.js';
19
+ import '../../index-1fd114b0.js';
20
+ import '../../index-41a6f4f2.js';
21
+ import '../../index-a611bd38.js';
22
+ import '../../utils-9ef11656.js';
23
23
  import '../../ui/UserListItem.js';
24
- import '../../UserProfileContext-865db5e6.js';
24
+ import '../../UserProfileContext-daa99f9b.js';
25
25
  import '../../ui/Avatar.js';
26
26
  import '../../ui/ImageRenderer.js';
27
- import '../../uuid-b0c93400.js';
27
+ import '../../uuid-6d14d007.js';
28
28
  import '../../ui/MutedAvatarOverlay.js';
29
29
  import '../../ui/Checkbox.js';
30
30
  import '../../ui/UserProfile.js';
31
31
  import '../../withSendBird.js';
32
32
  import '../../ui/ContextMenu.js';
33
- import '../../index-8c72a94a.js';
33
+ import '../../index-ad4c9e58.js';
34
34
  import '../../ui/SortByRow.js';
35
35
  import '../../CreateChannel/components/SelectChannelType.js';
36
36
 
@@ -1,18 +1,18 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../../LocalizationContext-e4391013.js';
2
+ import { a as LocalizationContext } from '../../LocalizationContext-b021af8f.js';
3
3
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-7a51bd16.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-a611bd38.js';
5
5
  import IconButton from '../../ui/IconButton.js';
6
6
  import Avatar from '../../ui/Avatar.js';
7
- import '../../stringSet-4f6eaa60.js';
8
- import '../../index-6ebf7894.js';
7
+ import '../../stringSet-91746bf1.js';
8
+ import '../../index-353f13f3.js';
9
9
  import '../../withSendBird.js';
10
- import '../../_rollupPluginBabelHelpers-20904f21.js';
10
+ import '../../_rollupPluginBabelHelpers-8e4fae98.js';
11
11
  import 'prop-types';
12
- import '../../tslib.es6-e3c44017.js';
12
+ import '../../tslib.es6-83aa13f5.js';
13
13
  import '../../ui/ImageRenderer.js';
14
14
  import '../../ui/Icon.js';
15
- import '../../uuid-b0c93400.js';
15
+ import '../../uuid-6d14d007.js';
16
16
 
17
17
  var ChannelListHeader = function ChannelListHeader(_a) {
18
18
  var _b;
@@ -3,54 +3,55 @@ import ChannelListHeader from './ChannelListHeader.js';
3
3
  import { AddChannel } from './AddChannel.js';
4
4
  import ChannelPreview from './ChannelPreview.js';
5
5
  import ChannelPreviewAction from './ChannelPreviewAction.js';
6
- import { u as useChannelListContext, F as FETCH_CHANNELS_START, a as FETCH_CHANNELS_FAILURE, b as FETCH_CHANNELS_SUCCESS, L as LEAVE_CHANNEL_SUCCESS, S as SET_CURRENT_CHANNEL } from '../../ChannelListProvider-0b0c2c40.js';
6
+ import { u as useChannelListContext, F as FETCH_CHANNELS_START, a as FETCH_CHANNELS_FAILURE, b as FETCH_CHANNELS_SUCCESS, L as LEAVE_CHANNEL_SUCCESS, S as SET_CURRENT_CHANNEL } from '../../ChannelListProvider-7c351968.js';
7
7
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
8
8
  import EditProfile from '../../EditUserProfile.js';
9
- import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-e818a8a3.js';
10
- import '../../LocalizationContext-e4391013.js';
11
- import '../../stringSet-4f6eaa60.js';
12
- import '../../index-6ebf7894.js';
13
- import '../../index-7a51bd16.js';
14
- import '../../_rollupPluginBabelHelpers-20904f21.js';
9
+ import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-303a3b6e.js';
10
+ import '../../LocalizationContext-b021af8f.js';
11
+ import '../../stringSet-91746bf1.js';
12
+ import '../../index-353f13f3.js';
13
+ import '../../index-a611bd38.js';
14
+ import '../../_rollupPluginBabelHelpers-8e4fae98.js';
15
15
  import 'prop-types';
16
16
  import '../../ui/IconButton.js';
17
17
  import '../../ui/Avatar.js';
18
- import '../../tslib.es6-e3c44017.js';
18
+ import '../../tslib.es6-83aa13f5.js';
19
19
  import '../../ui/ImageRenderer.js';
20
20
  import '../../ui/Icon.js';
21
- import '../../uuid-b0c93400.js';
21
+ import '../../uuid-6d14d007.js';
22
22
  import '../../CreateChannel.js';
23
23
  import '../../CreateChannel/components/CreateChannelUI.js';
24
- import '../../CreateChannelProvider-c617a1bb.js';
24
+ import '../../CreateChannelProvider-ddfd92e6.js';
25
25
  import '../../sendBirdSelectors.js';
26
- import '../../topics-9442035c.js';
26
+ import '../../topics-17d99dd6.js';
27
27
  import '../../CreateChannel/components/InviteMembers.js';
28
28
  import '../../ui/Modal.js';
29
29
  import 'react-dom';
30
- import '../../index-942c85a6.js';
31
- import '../../index-acebc2ff.js';
32
- import '../../utils-c393e880.js';
30
+ import '../../index-1fd114b0.js';
31
+ import '../../index-41a6f4f2.js';
32
+ import '../../utils-9ef11656.js';
33
33
  import '../../ui/UserListItem.js';
34
- import '../../UserProfileContext-865db5e6.js';
34
+ import '../../UserProfileContext-daa99f9b.js';
35
35
  import '../../ui/MutedAvatarOverlay.js';
36
36
  import '../../ui/Checkbox.js';
37
37
  import '../../ui/UserProfile.js';
38
38
  import '../../withSendBird.js';
39
39
  import '../../ui/ContextMenu.js';
40
- import '../../index-8c72a94a.js';
40
+ import '../../index-ad4c9e58.js';
41
41
  import '../../ui/SortByRow.js';
42
42
  import '../../CreateChannel/components/SelectChannelType.js';
43
43
  import '../../ui/ChannelAvatar.js';
44
- import '../../utils-08c4dbdc.js';
44
+ import '../../utils-7d39b941.js';
45
45
  import '../../ui/Badge.js';
46
- import '../../index-1718324d.js';
47
- import '../../index-cd21929d.js';
48
- import '../../index-770d7112.js';
49
- import '../../index-5c2c81bc.js';
46
+ import '../../index-86b0a341.js';
47
+ import '../../index-f119413c.js';
48
+ import '../../index-4a59a866.js';
49
+ import '../../ui/MentionUserLabel.js';
50
+ import '../../index-358226c7.js';
50
51
  import '../../ui/Input.js';
51
52
  import '../../ui/TextButton.js';
52
- import '../../color-ee3fc5ee.js';
53
- import '../../actionTypes-1e3a4074.js';
53
+ import '../../color-2863fbbe.js';
54
+ import '../../actionTypes-189daf51.js';
54
55
  import '../../ui/Loader.js';
55
56
 
56
57
  var ChannelListUI = function ChannelListUI(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelListUI.js","sources":["../../../src/smart-components/ChannelList/components/ChannelListUI/index.tsx"],"sourcesContent":["import './channel-list-ui.scss';\n\nimport React, { useState } from 'react';\n\nimport SendBird from 'sendbird';\n\nimport ChannelListHeader from '../ChannelListHeader';\nimport AddChannel from '../AddChannel';\nimport ChannelPreview from '../ChannelPreview';\nimport ChannelPreviewAction from '../ChannelPreviewAction';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport * as channelListActions from '../../dux/actionTypes';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport EditUserProfile from '../../../EditUserProfile';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\ninterface RenderChannelPreviewProps {\n channel: SendBird.GroupChannel;\n onLeaveChannel(\n channel: SendBird.GroupChannel,\n onLeaveChannelCb?: (c: SendBird.GroupChannel) => void,\n );\n}\n\ninterface RenderUserProfileProps {\n user: SendBird.Member | SendBird.User;\n currentUserId: string;\n close(): void;\n}\n\nexport interface ChannelListUIProps {\n renderChannelPreview?: (props: RenderChannelPreviewProps) => React.ReactNode;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n renderHeader?: (props: void) => React.ReactNode;\n renderPlaceHolderError?: (props: void) => React.ReactNode;\n renderPlaceHolderLoading?: (props: void) => React.ReactNode;\n renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;\n}\n\nconst ChannelListUI: React.FC<ChannelListUIProps> = (props: ChannelListUIProps) => {\n const {\n renderHeader,\n renderChannelPreview,\n renderPlaceHolderError,\n renderPlaceHolderLoading,\n renderPlaceHolderEmptyList,\n } = props;\n\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const {\n onThemeChange,\n allowProfileEdit,\n allChannels,\n loading,\n currentChannel,\n channelListDispatcher,\n channelSource,\n } = useChannelListContext();\n\n const state = useSendbirdStateContext();\n\n const sdkStore = state?.stores?.sdkStore;\n const config = state?.config;\n\n const isOnline = state?.config?.isOnline;\n const logger = config?.logger;\n\n const sdk = sdkStore?.sdk;\n const sdkError = sdkStore?.error;\n const sdkIntialized = sdkStore?.initialized || false;\n\n return (\n <>\n <div className=\"sendbird-channel-list__header\">\n <ChannelListHeader\n renderHeader={renderHeader}\n onEdit={() => {\n if (allowProfileEdit) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={allowProfileEdit}\n renderIconButton={() => (\n <AddChannel />\n )}\n />\n </div>\n {\n showProfileEdit && (\n <EditUserProfile\n onThemeChange={onThemeChange}\n onCancel={() => { setShowProfileEdit(false); }}\n onEditProfile={() => {\n setShowProfileEdit(false);\n }}\n />\n )\n }\n <div\n className=\"sendbird-channel-list__body\"\n onScroll={(e) => {\n const target = e?.target as HTMLDivElement;\n const fetchMore = target.clientHeight + target.scrollTop === target.scrollHeight;\n if (fetchMore && channelSource?.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n channelSource?.next((channelList, err) => {\n if (err) {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: channelList,\n });\n return;\n }\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList: Marking all channels as read');\n channelList.forEach((c) => { sdk.markAsDelivered(c.url) });\n }\n });\n }\n }}\n >\n {\n (sdkError) && (\n (renderPlaceHolderError && typeof renderPlaceHolderError === 'function') ? (\n renderPlaceHolderError?.()\n ): (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n <div>\n {\n allChannels && allChannels.map((channel, idx) => {\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n <div key={channel.url} onClick={onClick}>\n {renderChannelPreview({ channel, onLeaveChannel })}\n </div>\n )\n : (\n <ChannelPreview\n key={channel.url}\n tabIndex={idx}\n onClick={onClick}\n channel={channel}\n isActive={channel.url === currentChannel?.url}\n renderChannelAction={(() => (\n <ChannelPreviewAction\n disabled={!isOnline}\n onLeaveChannel={() => onLeaveChannel(channel, null)}\n />\n ))}\n />\n )\n );\n })\n }\n </div>\n {\n (!sdkIntialized || loading) && (\n (renderPlaceHolderLoading && typeof renderPlaceHolderLoading === 'function') ? (\n renderPlaceHolderLoading?.()\n ): (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n )\n }\n {\n (!allChannels || allChannels.length === 0) && (\n (renderPlaceHolderEmptyList && typeof renderPlaceHolderEmptyList === 'function') ? (\n renderPlaceHolderEmptyList?.()\n ): (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n )\n }\n </div>\n </>\n );\n}\n\nexport default ChannelListUI;\n"],"names":["ChannelListUI","props","renderHeader","renderChannelPreview","renderPlaceHolderError","renderPlaceHolderLoading","renderPlaceHolderEmptyList","_c","useState","showProfileEdit","setShowProfileEdit","_d","useChannelListContext","onThemeChange","allowProfileEdit","allChannels","loading","currentChannel","channelListDispatcher","channelSource","state","useSendbirdStateContext","sdkStore","stores","config","isOnline","logger","sdk","sdkError","error","sdkIntialized","initialized","React","EditUserProfile","e","target","fetchMore","clientHeight","scrollTop","scrollHeight","hasNext","info","type","channelListActions","payload","next","channelList","err","forEach","c","markAsDelivered","url","PlaceHolderTypes","WRONG","map","channel","idx","onLeaveChannel","cb","leave","then","res","catch","onClick","LOADING","length","NO_CHANNELS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCMA,aAAa,GAAiC,SAA9CA,aAA8C,CAACC,KAAD;;;AAEhD,MAAAC,YAAY,GAKVD,KAAK,aALP;AAAA,MACAE,oBAAoB,GAIlBF,KAAK,qBALP;AAAA,MAEAG,sBAAsB,GAGpBH,KAAK,uBALP;AAAA,MAGAI,wBAAwB,GAEtBJ,KAAK,yBALP;AAAA,MAIAK,0BAA0B,GACxBL,KAAK,2BALP;;AAOI,MAAAM,KAAwCC,QAAQ,CAAC,KAAD,CAAhD;AAAA,MAACC,eAAe,QAAhB;AAAA,MAAkBC,kBAAkB,QAApC;;AAEA,MAAAC,KAQFC,qBAAqB,EARnB;AAAA,MACJC,aAAa,mBADT;AAAA,MAEJC,gBAAgB,sBAFZ;AAAA,MAGJC,WAAW,iBAHP;AAAA,MAIJC,OAAO,aAJH;AAAA,MAKJC,cAAc,oBALV;AAAA,MAMJC,qBAAqB,2BANjB;AAAA,MAOJC,aAAa,mBAPT;;AAUN,MAAMC,KAAK,GAAGC,uBAAuB,EAArC;AAEA,MAAMC,QAAQ,GAAG,MAAAF,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEG,MAAP,UAAA,iBAAA,SAAA,MAAeD,QAAhC;AACA,MAAME,MAAM,GAAGJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,MAAtB;AAEA,MAAMC,QAAQ,GAAG,MAAAL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,MAAP,UAAA,iBAAA,SAAA,MAAeC,QAAhC;AACA,MAAMC,MAAM,GAAGF,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEE,MAAvB;AAEA,MAAMC,GAAG,GAAGL,QAAQ,SAAR,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEK,GAAtB;AACA,MAAMC,QAAQ,GAAGN,QAAQ,SAAR,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEO,KAA3B;AACA,MAAMC,aAAa,GAAG,CAAAR,QAAQ,SAAR,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAES,WAAV,KAAyB,KAA/C;AAEA,sBACEC,yEACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,iBAAD;AACE,IAAA,YAAY,EAAE9B,YADhB;AAEE,IAAA,MAAM,EAAE;AACN,UAAIY,gBAAJ,EAAsB;AACpBJ,QAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACD;AACF,KANH;AAOE,IAAA,gBAAgB,EAAEI,gBAPpB;AAQE,IAAA,gBAAgB,EAAE;AAAM,0BACtBkB,6BAAC,UAAD,OADsB;AAEvB;AAVH,IADF,CADF,EAgBIvB,eAAe,iBACbuB,6BAACC,WAAD;AACE,IAAA,aAAa,EAAEpB,aADjB;AAEE,IAAA,QAAQ,EAAE;AAAQH,MAAAA,kBAAkB,CAAC,KAAD,CAAlB;AAA4B,KAFhD;AAGE,IAAA,aAAa,EAAE;AACbA,MAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACD;AALH,IAjBN,eA0BEsB;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,QAAQ,EAAE,kBAACE,CAAD;AACR,UAAMC,MAAM,GAAGD,CAAC,SAAD,IAAAA,CAAC,WAAD,SAAA,GAAAA,CAAC,CAAEC,MAAlB;AACA,UAAMC,SAAS,GAAGD,MAAM,CAACE,YAAP,GAAsBF,MAAM,CAACG,SAA7B,KAA2CH,MAAM,CAACI,YAApE;;AACA,UAAIH,SAAS,KAAIjB,aAAa,SAAb,IAAAA,aAAa,WAAb,SAAA,GAAAA,aAAa,CAAEqB,OAAnB,CAAb,EAAyC;AACvCd,QAAAA,MAAM,CAACe,IAAP,CAAY,qCAAZ;AACAvB,QAAAA,qBAAqB,CAAC;AACpBwB,UAAAA,IAAI,EAAEC,oBADc;AAEpBC,UAAAA,OAAO,EAAE;AAFW,SAAD,CAArB;AAIAzB,QAAAA,aAAa,SAAb,IAAAA,aAAa,WAAb,SAAA,GAAAA,aAAa,CAAE0B,IAAf,CAAoB,UAACC,WAAD,EAAcC,GAAd;AAClB,cAAIA,GAAJ,EAAS;AACPrB,YAAAA,MAAM,CAACe,IAAP,CAAY,uCAAZ,EAAqDM,GAArD;AACA7B,YAAAA,qBAAqB,CAAC;AACpBwB,cAAAA,IAAI,EAAEC,sBADc;AAEpBC,cAAAA,OAAO,EAAEE;AAFW,aAAD,CAArB;AAIA;AACD;;AACDpB,UAAAA,MAAM,CAACe,IAAP,CAAY,2CAAZ,EAAyDK,WAAzD;AACA5B,UAAAA,qBAAqB,CAAC;AACpBwB,YAAAA,IAAI,EAAEC,sBADc;AAEpBC,YAAAA,OAAO,EAAEE;AAFW,WAAD,CAArB;;AAIA,cAAIA,WAAW,IAAI,OAAOA,WAAW,CAACE,OAAnB,KAA+B,UAAlD,EAA8D;AAC5DtB,YAAAA,MAAM,CAACe,IAAP,CAAY,2CAAZ;AACAK,YAAAA,WAAW,CAACE,OAAZ,CAAoB,UAACC,CAAD;AAAStB,cAAAA,GAAG,CAACuB,eAAJ,CAAoBD,CAAC,CAACE,GAAtB;AAA4B,aAAzD;AACD;AACF,SAlBD,CAAA;AAmBD;AACF;AA/BH,KAkCKvB,QAAD,KACGxB,sBAAsB,IAAI,OAAOA,sBAAP,KAAkC,UAA7D,GACEA,sBAAsB,SAAtB,IAAAA,sBAAsB,WAAtB,SAAA,GAAAA,sBAAsB,EADxB,gBAGE4B,6BAAC,WAAD;AAAa,IAAA,IAAI,EAAEoB,gBAAgB,CAACC;AAApC,IAJJ,CAlCJ,eAiDErB,0CAEIjB,WAAW,IAAIA,WAAW,CAACuC,GAAZ,CAAgB,UAACC,OAAD,EAAUC,GAAV;AAC7B,QAAMC,eAAc,GAAG,SAAjBA,cAAiB,CAACR,CAAD,EAAIS,EAAJ;AACrBhC,MAAAA,MAAM,CAACe,IAAP,CAAY,8BAAZ,EAA4CQ,CAA5C;AACAA,MAAAA,CAAC,CAACU,KAAF,GACGC,IADH,CACQ,UAACC,GAAD;AACJnC,QAAAA,MAAM,CAACe,IAAP,CAAY,sCAAZ,EAAoDoB,GAApD;;AACA,YAAIH,EAAE,IAAI,OAAOA,EAAP,KAAc,UAAxB,EAAoC;AAClCA,UAAAA,EAAE,CAACG,GAAD,EAAM,IAAN,CAAF;AACD;;AACD3C,QAAAA,qBAAqB,CAAC;AACpBwB,UAAAA,IAAI,EAAEC,qBADc;AAEpBC,UAAAA,OAAO,EAAEW,OAAO,CAACJ;AAFG,SAAD,CAArB;AAID,OAVH,EAWGW,KAXH,CAWS,UAACf,GAAD;AACLrB,QAAAA,MAAM,CAACG,KAAP,CAAa,qCAAb,EAAoDkB,GAApD;;AACA,YAAIW,EAAE,IAAI,OAAOA,EAAP,KAAc,UAAxB,EAAoC;AAClCA,UAAAA,EAAE,CAAC,IAAD,EAAOX,GAAP,CAAF;AACD;AACF,OAhBH;AAiBD,KAnBD;;AAqBA,QAAMgB,OAAO,GAAG,SAAVA,OAAU;AACd,UAAI,CAACtC,QAAL,EAAe;AAAE;AAAS;;AAC1BC,MAAAA,MAAM,CAACe,IAAP,CAAY,kCAAZ,EAAgDc,OAAhD;AACArC,MAAAA,qBAAqB,CAAC;AACpBwB,QAAAA,IAAI,EAAEC,mBADc;AAEpBC,QAAAA,OAAO,EAAEW;AAFW,OAAD,CAArB;AAID,KAPD;;AASA,WACGpD,oBAAD;AAAA;AAEI;AACA;AAAK,MAAA,GAAG,EAAEoD,OAAO,CAACJ,GAAlB;AAAuB,MAAA,OAAO,EAAEY;AAAhC,OACG5D,oBAAoB,CAAC;AAAEoD,MAAAA,OAAO,SAAT;AAAWE,MAAAA,cAAc;AAAzB,KAAD,CADvB,CAHJ,gBAQIzB,6BAAC,cAAD;AACE,MAAA,GAAG,EAAEuB,OAAO,CAACJ,GADf;AAEE,MAAA,QAAQ,EAAEK,GAFZ;AAGE,MAAA,OAAO,EAAEO,OAHX;AAIE,MAAA,OAAO,EAAER,OAJX;AAKE,MAAA,QAAQ,EAAEA,OAAO,CAACJ,GAAR,MAAgBlC,cAAc,SAAd,IAAAA,cAAc,WAAd,SAAA,GAAAA,cAAc,CAAEkC,GAAhC,CALZ;AAME,MAAA,mBAAmB,EAAG;AAAM,4BAC1BnB,6BAAC,oBAAD;AACE,UAAA,QAAQ,EAAE,CAACP,QADb;AAEE,UAAA,cAAc,EAAE;AAAM,mBAAAgC,eAAc,CAACF,OAAD,EAAU,IAAV,CAAd;AAA6B;AAFrD,UAD0B;AAK3B;AAXH,MATN;AAwBD,GAvDc,CAFnB,CAjDF,EA8GI,CAAC,CAACzB,aAAD,IAAkBd,OAAnB,MACGX,wBAAwB,IAAI,OAAOA,wBAAP,KAAoC,UAAjE,GACEA,wBAAwB,SAAxB,IAAAA,wBAAwB,WAAxB,SAAA,GAAAA,wBAAwB,EAD1B,gBAGE2B,6BAAC,WAAD;AAAa,IAAA,IAAI,EAAEoB,gBAAgB,CAACY;AAApC,IAJJ,CA9GJ,EAuHI,CAAC,CAACjD,WAAD,IAAgBA,WAAW,CAACkD,MAAZ,KAAuB,CAAxC,MACG3D,0BAA0B,IAAI,OAAOA,0BAAP,KAAsC,UAArE,GACEA,0BAA0B,SAA1B,IAAAA,0BAA0B,WAA1B,SAAA,GAAAA,0BAA0B,EAD5B,gBAGE0B,6BAAC,WAAD;AAAa,IAAA,IAAI,EAAEoB,gBAAgB,CAACc;AAApC,IAJJ,CAvHJ,CA1BF,CADF;AA6JD;;;;"}
1
+ {"version":3,"file":"ChannelListUI.js","sources":["../../../src/smart-components/ChannelList/components/ChannelListUI/index.tsx"],"sourcesContent":["import './channel-list-ui.scss';\n\nimport React, { useState } from 'react';\n\nimport SendBird from 'sendbird';\n\nimport ChannelListHeader from '../ChannelListHeader';\nimport AddChannel from '../AddChannel';\nimport ChannelPreview from '../ChannelPreview';\nimport ChannelPreviewAction from '../ChannelPreviewAction';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport * as channelListActions from '../../dux/actionTypes';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport EditUserProfile from '../../../EditUserProfile';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\ninterface RenderChannelPreviewProps {\n channel: SendBird.GroupChannel;\n onLeaveChannel(\n channel: SendBird.GroupChannel,\n onLeaveChannelCb?: (c: SendBird.GroupChannel) => void,\n );\n}\n\ninterface RenderUserProfileProps {\n user: SendBird.Member | SendBird.User;\n currentUserId: string;\n close(): void;\n}\n\nexport interface ChannelListUIProps {\n renderChannelPreview?: (props: RenderChannelPreviewProps) => React.ReactNode;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n renderHeader?: (props: void) => React.ReactNode;\n renderPlaceHolderError?: (props: void) => React.ReactNode;\n renderPlaceHolderLoading?: (props: void) => React.ReactNode;\n renderPlaceHolderEmptyList?: (props: void) => React.ReactNode;\n}\n\nconst ChannelListUI: React.FC<ChannelListUIProps> = (props: ChannelListUIProps) => {\n const {\n renderHeader,\n renderChannelPreview,\n renderPlaceHolderError,\n renderPlaceHolderLoading,\n renderPlaceHolderEmptyList,\n } = props;\n\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const {\n onThemeChange,\n allowProfileEdit,\n allChannels,\n loading,\n currentChannel,\n channelListDispatcher,\n channelSource,\n } = useChannelListContext();\n\n const state = useSendbirdStateContext();\n\n const sdkStore = state?.stores?.sdkStore;\n const config = state?.config;\n\n const isOnline = state?.config?.isOnline;\n const logger = config?.logger;\n\n const sdk = sdkStore?.sdk;\n const sdkError = sdkStore?.error;\n const sdkIntialized = sdkStore?.initialized || false;\n\n return (\n <>\n <div className=\"sendbird-channel-list__header\">\n <ChannelListHeader\n renderHeader={renderHeader}\n onEdit={() => {\n if (allowProfileEdit) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={allowProfileEdit}\n renderIconButton={() => (\n <AddChannel />\n )}\n />\n </div>\n {\n showProfileEdit && (\n <EditUserProfile\n onThemeChange={onThemeChange}\n onCancel={() => { setShowProfileEdit(false); }}\n onEditProfile={() => {\n setShowProfileEdit(false);\n }}\n />\n )\n }\n <div\n className=\"sendbird-channel-list__body\"\n onScroll={(e) => {\n const target = e?.target as HTMLDivElement;\n const fetchMore = target.clientHeight + target.scrollTop === target.scrollHeight;\n if (fetchMore && channelSource?.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n channelSource?.next((channelList, err) => {\n if (err) {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: channelList,\n });\n return;\n }\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList: Marking all channels as read');\n channelList.forEach((c) => { sdk.markAsDelivered(c.url) });\n }\n });\n }\n }}\n >\n {\n (sdkError) && (\n (renderPlaceHolderError && typeof renderPlaceHolderError === 'function') ? (\n renderPlaceHolderError?.()\n ): (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n <div>\n {\n allChannels && allChannels.map((channel, idx) => {\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n <div key={channel.url} onClick={onClick}>\n {renderChannelPreview({ channel, onLeaveChannel })}\n </div>\n )\n : (\n <ChannelPreview\n key={channel.url}\n tabIndex={idx}\n onClick={onClick}\n channel={channel}\n isActive={channel.url === currentChannel?.url}\n renderChannelAction={(() => (\n <ChannelPreviewAction\n disabled={!isOnline}\n onLeaveChannel={() => onLeaveChannel(channel, null)}\n />\n ))}\n />\n )\n );\n })\n }\n </div>\n {\n (!sdkIntialized || loading) && (\n (renderPlaceHolderLoading && typeof renderPlaceHolderLoading === 'function') ? (\n renderPlaceHolderLoading?.()\n ): (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n )\n }\n {\n (!allChannels || allChannels.length === 0) && (\n (renderPlaceHolderEmptyList && typeof renderPlaceHolderEmptyList === 'function') ? (\n renderPlaceHolderEmptyList?.()\n ): (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n )\n }\n </div>\n </>\n );\n}\n\nexport default ChannelListUI;\n"],"names":["ChannelListUI","props","renderHeader","renderChannelPreview","renderPlaceHolderError","renderPlaceHolderLoading","renderPlaceHolderEmptyList","_c","useState","showProfileEdit","setShowProfileEdit","_d","useChannelListContext","onThemeChange","allowProfileEdit","allChannels","loading","currentChannel","channelListDispatcher","channelSource","state","useSendbirdStateContext","sdkStore","stores","config","isOnline","logger","sdk","sdkError","error","sdkIntialized","initialized","React","EditUserProfile","e","target","fetchMore","clientHeight","scrollTop","scrollHeight","hasNext","info","type","channelListActions","payload","next","channelList","err","forEach","c","markAsDelivered","url","PlaceHolderTypes","WRONG","map","channel","idx","onLeaveChannel","cb","leave","then","res","catch","onClick","LOADING","length","NO_CHANNELS"],"mappings":"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"}
@@ -2,22 +2,23 @@ import React__default from 'react';
2
2
  import ChannelAvatar from '../../ui/ChannelAvatar.js';
3
3
  import Badge from '../../ui/Badge.js';
4
4
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
5
- import { c as LabelStringSet, L as Label, a as LabelTypography, b as LabelColors } from '../../index-7a51bd16.js';
6
- import { i as isToday, a as isYesterday, f as formatRelative } from '../../index-1718324d.js';
7
- import { f as format } from '../../index-770d7112.js';
8
- import { t as truncateString } from '../../index-8c72a94a.js';
5
+ import { c as LabelStringSet, L as Label, a as LabelTypography, b as LabelColors } from '../../index-a611bd38.js';
6
+ import { i as isToday, a as isYesterday, f as formatRelative } from '../../index-86b0a341.js';
7
+ import { f as format } from '../../index-4a59a866.js';
8
+ import { t as truncateString } from '../../index-ad4c9e58.js';
9
9
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
10
- import { u as useLocalization } from '../../LocalizationContext-e4391013.js';
10
+ import { u as useLocalization } from '../../LocalizationContext-b021af8f.js';
11
+ import MentionUserLabel from '../../ui/MentionUserLabel.js';
11
12
  import '../../ui/Avatar.js';
12
- import '../../tslib.es6-e3c44017.js';
13
+ import '../../tslib.es6-83aa13f5.js';
13
14
  import '../../ui/ImageRenderer.js';
14
- import '../../_rollupPluginBabelHelpers-20904f21.js';
15
+ import '../../_rollupPluginBabelHelpers-8e4fae98.js';
15
16
  import 'prop-types';
16
- import '../../uuid-b0c93400.js';
17
- import '../../utils-08c4dbdc.js';
18
- import '../../stringSet-4f6eaa60.js';
19
- import '../../index-cd21929d.js';
20
- import '../../index-6ebf7894.js';
17
+ import '../../uuid-6d14d007.js';
18
+ import '../../utils-7d39b941.js';
19
+ import '../../stringSet-91746bf1.js';
20
+ import '../../index-f119413c.js';
21
+ import '../../index-353f13f3.js';
21
22
  import '../../withSendBird.js';
22
23
 
23
24
  var getChannelTitle = function getChannelTitle() {
@@ -92,22 +93,23 @@ var getChannelUnreadMessageCount = function getChannelUnreadMessageCount(channel
92
93
  };
93
94
 
94
95
  var ChannelPreview = function ChannelPreview(_a) {
95
- var _b, _c, _d, _e;
96
+ var _b, _c, _d, _e, _f;
96
97
 
97
98
  var channel = _a.channel,
98
- _f = _a.isActive,
99
- isActive = _f === void 0 ? false : _f,
99
+ _g = _a.isActive,
100
+ isActive = _g === void 0 ? false : _g,
100
101
  renderChannelAction = _a.renderChannelAction,
101
102
  onClick = _a.onClick,
102
103
  tabIndex = _a.tabIndex;
103
104
  var sbState = useSendbirdStateContext();
104
105
 
105
- var _g = useLocalization(),
106
- dateLocale = _g.dateLocale,
107
- stringSet = _g.stringSet;
106
+ var _h = useLocalization(),
107
+ dateLocale = _h.dateLocale,
108
+ stringSet = _h.stringSet;
108
109
 
109
110
  var userId = (_d = (_c = (_b = sbState === null || sbState === void 0 ? void 0 : sbState.stores) === null || _b === void 0 ? void 0 : _b.userStore) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.userId;
110
111
  var theme = (_e = sbState === null || sbState === void 0 ? void 0 : sbState.config) === null || _e === void 0 ? void 0 : _e.theme;
112
+ var isMentionEnabled = (_f = sbState === null || sbState === void 0 ? void 0 : sbState.config) === null || _f === void 0 ? void 0 : _f.isMentionEnabled;
111
113
  var isBroadcast = channel.isBroadcast,
112
114
  isFrozen = channel.isFrozen;
113
115
  return /*#__PURE__*/React__default.createElement("div", {
@@ -163,7 +165,9 @@ var ChannelPreview = function ChannelPreview(_a) {
163
165
  color: LabelColors.ONBACKGROUND_3
164
166
  }, getLastMessage(channel)), /*#__PURE__*/React__default.createElement("div", {
165
167
  className: "sendbird-channel-preview__content__lower__unread-message-count"
166
- }, getChannelUnreadMessageCount(channel) // return number
168
+ }, isMentionEnabled && (channel === null || channel === void 0 ? void 0 : channel.unreadMentionCount) > 0 ? /*#__PURE__*/React__default.createElement(MentionUserLabel, {
169
+ color: "purple"
170
+ }, "@") : null, getChannelUnreadMessageCount(channel) // return number
167
171
  ? /*#__PURE__*/React__default.createElement(Badge, {
168
172
  count: getChannelUnreadMessageCount(channel)
169
173
  }) : null))), /*#__PURE__*/React__default.createElement("div", {