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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/App.js +54 -35
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +15 -14
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +30 -23
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +14 -13
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +5 -5
  10. package/Channel/components/Message.js +189 -66
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +145 -30
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +72 -60
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +17 -16
  17. package/Channel/components/RemoveMessageModal.js.map +1 -1
  18. package/Channel/components/SuggestedMentionList.js +250 -0
  19. package/Channel/components/SuggestedMentionList.js.map +1 -0
  20. package/Channel/components/TypingIndicator.js +16 -15
  21. package/Channel/components/TypingIndicator.js.map +1 -1
  22. package/Channel/components/UnreadCount.js +5 -5
  23. package/Channel/context.js +13 -12
  24. package/Channel/context.js.map +1 -1
  25. package/Channel.js +29 -22
  26. package/Channel.js.map +1 -1
  27. package/ChannelList/components/AddChannel.js +14 -14
  28. package/ChannelList/components/ChannelListHeader.js +7 -7
  29. package/ChannelList/components/ChannelListUI.js +52 -29
  30. package/ChannelList/components/ChannelListUI.js.map +1 -1
  31. package/ChannelList/components/ChannelPreview.js +55 -21
  32. package/ChannelList/components/ChannelPreview.js.map +1 -1
  33. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  34. package/ChannelList/context.js +8 -8
  35. package/ChannelList.js +34 -25
  36. package/ChannelList.js.map +1 -1
  37. package/{ChannelListProvider-0b0c2c40.js → ChannelListProvider-d602a166.js} +92 -27
  38. package/ChannelListProvider-d602a166.js.map +1 -0
  39. package/{ChannelProvider-459e463f.js → ChannelProvider-cf8fc05a.js} +72 -41
  40. package/ChannelProvider-cf8fc05a.js.map +1 -0
  41. package/ChannelSettings/components/AdminPanel.js +15 -15
  42. package/ChannelSettings/components/ChannelProfile.js +13 -13
  43. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  44. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  45. package/ChannelSettings/components/LeaveChannel.js +10 -10
  46. package/ChannelSettings/components/UserListItem.js +11 -11
  47. package/ChannelSettings/components/UserPanel.js +14 -14
  48. package/ChannelSettings/context.js +3 -3
  49. package/ChannelSettings.js +18 -18
  50. package/CreateChannel/components/CreateChannelUI.js +14 -14
  51. package/CreateChannel/components/InviteMembers.js +14 -14
  52. package/CreateChannel/components/SelectChannelType.js +10 -10
  53. package/CreateChannel/context.js +3 -3
  54. package/CreateChannel.js +14 -14
  55. package/{CreateChannelProvider-c617a1bb.js → CreateChannelProvider-3f3dafed.js} +1 -1
  56. package/{CreateChannelProvider-c617a1bb.js.map → CreateChannelProvider-3f3dafed.js.map} +1 -1
  57. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  58. package/EditUserProfile.js +13 -13
  59. package/{LocalizationContext-e4391013.js → LocalizationContext-b970a73c.js} +3 -3
  60. package/{LocalizationContext-e4391013.js.map → LocalizationContext-b970a73c.js.map} +1 -1
  61. package/{MemberList-6655cba0.js → MemberList-9d29bee4.js} +5 -5
  62. package/{MemberList-6655cba0.js.map → MemberList-9d29bee4.js.map} +1 -1
  63. package/MessageSearch/components/MessageSearchUI.js +11 -11
  64. package/MessageSearch/context.js +2 -2
  65. package/MessageSearch.js +11 -11
  66. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  67. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  68. package/OpenChannel/components/OpenChannelInput.js +18 -14
  69. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  70. package/OpenChannel/components/OpenChannelMessage.js +23 -19
  71. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  72. package/OpenChannel/components/OpenChannelMessageList.js +25 -21
  73. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  74. package/OpenChannel/components/OpenChannelUI.js +25 -21
  75. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  76. package/OpenChannel/context.js +9 -9
  77. package/OpenChannel.js +25 -21
  78. package/OpenChannel.js.map +1 -1
  79. package/{OpenChannelProvider-a7691eb4.js → OpenChannelProvider-821fb008.js} +7 -7
  80. package/{OpenChannelProvider-a7691eb4.js.map → OpenChannelProvider-821fb008.js.map} +1 -1
  81. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  82. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  83. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  84. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  85. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  86. package/OpenChannelSettings/context.js +2 -2
  87. package/OpenChannelSettings.js +17 -17
  88. package/SendbirdProvider.js +36 -14
  89. package/SendbirdProvider.js.map +1 -1
  90. package/{UserProfileContext-865db5e6.js → UserProfileContext-f4ff4291.js} +1 -1
  91. package/{UserProfileContext-865db5e6.js.map → UserProfileContext-f4ff4291.js.map} +1 -1
  92. package/{_rollupPluginBabelHelpers-20904f21.js → _rollupPluginBabelHelpers-6bf18550.js} +1 -1
  93. package/{_rollupPluginBabelHelpers-20904f21.js.map → _rollupPluginBabelHelpers-6bf18550.js.map} +1 -1
  94. package/{actionTypes-1e3a4074.js → actionTypes-8e320ded.js} +1 -1
  95. package/{actionTypes-1e3a4074.js.map → actionTypes-8e320ded.js.map} +1 -1
  96. package/cjs/App.js +54 -35
  97. package/cjs/App.js.map +1 -1
  98. package/cjs/Channel/components/ChannelHeader.js +15 -14
  99. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  100. package/cjs/Channel/components/ChannelUI.js +31 -24
  101. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  102. package/cjs/Channel/components/FileViewer.js +14 -13
  103. package/cjs/Channel/components/FileViewer.js.map +1 -1
  104. package/cjs/Channel/components/FrozenNotification.js +5 -5
  105. package/cjs/Channel/components/Message.js +188 -65
  106. package/cjs/Channel/components/Message.js.map +1 -1
  107. package/cjs/Channel/components/MessageInput.js +144 -29
  108. package/cjs/Channel/components/MessageInput.js.map +1 -1
  109. package/cjs/Channel/components/MessageList.js +71 -59
  110. package/cjs/Channel/components/MessageList.js.map +1 -1
  111. package/cjs/Channel/components/RemoveMessageModal.js +17 -16
  112. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  113. package/cjs/Channel/components/SuggestedMentionList.js +256 -0
  114. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  115. package/cjs/Channel/components/TypingIndicator.js +18 -14
  116. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  117. package/cjs/Channel/components/UnreadCount.js +5 -5
  118. package/cjs/Channel/context.js +13 -12
  119. package/cjs/Channel/context.js.map +1 -1
  120. package/cjs/Channel.js +29 -22
  121. package/cjs/Channel.js.map +1 -1
  122. package/cjs/ChannelList/components/AddChannel.js +14 -14
  123. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  124. package/cjs/ChannelList/components/ChannelListUI.js +52 -29
  125. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  126. package/cjs/ChannelList/components/ChannelPreview.js +55 -21
  127. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  128. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  129. package/cjs/ChannelList/context.js +8 -8
  130. package/cjs/ChannelList.js +34 -25
  131. package/cjs/ChannelList.js.map +1 -1
  132. package/cjs/{ChannelListProvider-5a152618.js → ChannelListProvider-64db9f70.js} +92 -27
  133. package/cjs/ChannelListProvider-64db9f70.js.map +1 -0
  134. package/cjs/{ChannelProvider-f1fb0108.js → ChannelProvider-5e8e33b1.js} +79 -48
  135. package/cjs/ChannelProvider-5e8e33b1.js.map +1 -0
  136. package/cjs/ChannelSettings/components/AdminPanel.js +15 -15
  137. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  138. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  139. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  140. package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
  141. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  142. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  143. package/cjs/ChannelSettings/context.js +3 -3
  144. package/cjs/ChannelSettings.js +18 -18
  145. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  146. package/cjs/CreateChannel/components/InviteMembers.js +14 -14
  147. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  148. package/cjs/CreateChannel/context.js +3 -3
  149. package/cjs/CreateChannel.js +14 -14
  150. package/cjs/{CreateChannelProvider-df42106f.js → CreateChannelProvider-dcf7f906.js} +1 -1
  151. package/cjs/{CreateChannelProvider-df42106f.js.map → CreateChannelProvider-dcf7f906.js.map} +1 -1
  152. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  153. package/cjs/EditUserProfile.js +13 -13
  154. package/cjs/{LocalizationContext-68e55e2a.js → LocalizationContext-382a9ef1.js} +3 -3
  155. package/cjs/{LocalizationContext-68e55e2a.js.map → LocalizationContext-382a9ef1.js.map} +1 -1
  156. package/cjs/{MemberList-dc84e303.js → MemberList-03a241cd.js} +5 -5
  157. package/cjs/{MemberList-dc84e303.js.map → MemberList-03a241cd.js.map} +1 -1
  158. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  159. package/cjs/MessageSearch/context.js +2 -2
  160. package/cjs/MessageSearch.js +11 -11
  161. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  162. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  163. package/cjs/OpenChannel/components/OpenChannelInput.js +18 -14
  164. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  165. package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -19
  166. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  167. package/cjs/OpenChannel/components/OpenChannelMessageList.js +25 -21
  168. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  169. package/cjs/OpenChannel/components/OpenChannelUI.js +25 -21
  170. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  171. package/cjs/OpenChannel/context.js +9 -9
  172. package/cjs/OpenChannel.js +25 -21
  173. package/cjs/OpenChannel.js.map +1 -1
  174. package/cjs/{OpenChannelProvider-7a1a996f.js → OpenChannelProvider-9000ccb9.js} +7 -7
  175. package/cjs/{OpenChannelProvider-7a1a996f.js.map → OpenChannelProvider-9000ccb9.js.map} +1 -1
  176. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  177. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  178. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  179. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  180. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  181. package/cjs/OpenChannelSettings/context.js +2 -2
  182. package/cjs/OpenChannelSettings.js +17 -17
  183. package/cjs/SendbirdProvider.js +36 -14
  184. package/cjs/SendbirdProvider.js.map +1 -1
  185. package/cjs/{UserProfileContext-3533547d.js → UserProfileContext-0b7ef11a.js} +1 -1
  186. package/cjs/{UserProfileContext-3533547d.js.map → UserProfileContext-0b7ef11a.js.map} +1 -1
  187. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js → _rollupPluginBabelHelpers-6193d45d.js} +1 -1
  188. package/cjs/{_rollupPluginBabelHelpers-fc14118c.js.map → _rollupPluginBabelHelpers-6193d45d.js.map} +1 -1
  189. package/cjs/{actionTypes-bc47f97a.js → actionTypes-092bc172.js} +1 -1
  190. package/cjs/{actionTypes-bc47f97a.js.map → actionTypes-092bc172.js.map} +1 -1
  191. package/cjs/{color-4afb15fb.js → color-1816dacf.js} +1 -1
  192. package/cjs/{color-4afb15fb.js.map → color-1816dacf.js.map} +1 -1
  193. package/cjs/{compareIds-01306377.js → compareIds-e9bca8c4.js} +1 -1
  194. package/cjs/{compareIds-01306377.js.map → compareIds-e9bca8c4.js.map} +1 -1
  195. package/cjs/const-c65837c1.js +22 -0
  196. package/cjs/const-c65837c1.js.map +1 -0
  197. package/cjs/const-d9f4d880.js +14 -0
  198. package/cjs/const-d9f4d880.js.map +1 -0
  199. package/cjs/{context-c1f9d650.js → context-6ebf3379.js} +2 -2
  200. package/cjs/{context-c1f9d650.js.map → context-6ebf3379.js.map} +1 -1
  201. package/cjs/{index-1044f1ed.js → index-01072ac9.js} +3 -3
  202. package/cjs/{index-1044f1ed.js.map → index-01072ac9.js.map} +1 -1
  203. package/cjs/{index-e2bb862c.js → index-20a06ed6.js} +1 -1
  204. package/cjs/{index-e2bb862c.js.map → index-20a06ed6.js.map} +1 -1
  205. package/cjs/{index-d4880236.js → index-212a11f2.js} +84 -3
  206. package/cjs/index-212a11f2.js.map +1 -0
  207. package/cjs/{index-aecc8d24.js → index-2faa2f93.js} +1 -1
  208. package/cjs/{index-aecc8d24.js.map → index-2faa2f93.js.map} +1 -1
  209. package/cjs/{index-9dc3863f.js → index-4f40f311.js} +2 -2
  210. package/cjs/{index-9dc3863f.js.map → index-4f40f311.js.map} +1 -1
  211. package/cjs/index-75453415.js +54 -0
  212. package/cjs/index-75453415.js.map +1 -0
  213. package/cjs/{index-8becccd8.js → index-948426a8.js} +4 -4
  214. package/cjs/{index-8becccd8.js.map → index-948426a8.js.map} +1 -1
  215. package/cjs/{index-905331fa.js → index-a2ce047a.js} +2 -2
  216. package/cjs/{index-905331fa.js.map → index-a2ce047a.js.map} +1 -1
  217. package/cjs/{index-4987c8b2.js → index-d57081d1.js} +6 -6
  218. package/cjs/{index-4987c8b2.js.map → index-d57081d1.js.map} +1 -1
  219. package/cjs/{index-659c9ca5.js → index-e63da805.js} +4 -4
  220. package/cjs/{index-659c9ca5.js.map → index-e63da805.js.map} +1 -1
  221. package/cjs/{index-1468d245.js → index-f1971e28.js} +3 -3
  222. package/cjs/{index-1468d245.js.map → index-f1971e28.js.map} +1 -1
  223. package/cjs/index.css +243 -133
  224. package/cjs/index.css.map +1 -1
  225. package/cjs/index.js +40 -33
  226. package/cjs/index.js.map +1 -1
  227. package/cjs/{openChannelUtils-37919a36.js → openChannelUtils-16f29ba2.js} +1 -1
  228. package/cjs/{openChannelUtils-37919a36.js.map → openChannelUtils-16f29ba2.js.map} +1 -1
  229. package/cjs/sendBirdSelectors.js +1 -1
  230. package/cjs/{stringSet-aa544ce5.js → stringSet-b9ea6eef.js} +4 -2
  231. package/cjs/stringSet-b9ea6eef.js.map +1 -0
  232. package/cjs/{topics-8314d425.js → topics-11048db8.js} +1 -1
  233. package/cjs/{topics-8314d425.js.map → topics-11048db8.js.map} +1 -1
  234. package/cjs/{tslib.es6-4a281a05.js → tslib.es6-07dd6257.js} +1 -1
  235. package/cjs/{tslib.es6-4a281a05.js.map → tslib.es6-07dd6257.js.map} +1 -1
  236. package/cjs/ui/Accordion.js +4 -4
  237. package/cjs/ui/AccordionGroup.js +2 -2
  238. package/cjs/ui/AdminMessage.js +3 -3
  239. package/cjs/ui/Avatar.js +3 -3
  240. package/cjs/ui/Badge.js +5 -5
  241. package/cjs/ui/Button.js +4 -4
  242. package/cjs/ui/ChannelAvatar.js +4 -4
  243. package/cjs/ui/ChannelPreview.js +12 -12
  244. package/cjs/ui/ChatHeader.js +8 -8
  245. package/cjs/ui/Checkbox.js +1 -1
  246. package/cjs/ui/ConnectionStatus.js +5 -5
  247. package/cjs/ui/ContextMenu.js +5 -5
  248. package/cjs/ui/DateSeparator.js +4 -4
  249. package/cjs/ui/Dropdown.js +3 -3
  250. package/cjs/ui/EmojiReactions.js +7 -7
  251. package/cjs/ui/FileMessageItemBody.js +6 -6
  252. package/cjs/ui/FileViewer.js +7 -7
  253. package/cjs/ui/Icon.js +1 -1
  254. package/cjs/ui/IconButton.js +1 -1
  255. package/cjs/ui/ImageRenderer.js +1 -1
  256. package/cjs/ui/Input.js +3 -3
  257. package/cjs/ui/Label.js +3 -3
  258. package/cjs/ui/LinkLabel.js +3 -3
  259. package/cjs/ui/Loader.js +1 -1
  260. package/cjs/ui/MentionUserLabel.js +25 -0
  261. package/cjs/ui/MentionUserLabel.js.map +1 -0
  262. package/cjs/ui/MessageContent.js +25 -62
  263. package/cjs/ui/MessageContent.js.map +1 -1
  264. package/cjs/ui/MessageInput.js +4900 -84
  265. package/cjs/ui/MessageInput.js.map +1 -1
  266. package/cjs/ui/MessageItemMenu.js +7 -7
  267. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  268. package/cjs/ui/MessageSearchFileItem.js +10 -10
  269. package/cjs/ui/MessageSearchItem.js +10 -10
  270. package/cjs/ui/MessageStatus.js +66 -0
  271. package/cjs/ui/MessageStatus.js.map +1 -0
  272. package/cjs/ui/Modal.js +8 -8
  273. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  274. package/cjs/ui/OGMessageItemBody.js +38 -28
  275. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  276. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  277. package/cjs/ui/OpenChannelAvatar.js +7 -7
  278. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  279. package/cjs/ui/OpenchannelFileMessage.js +14 -14
  280. package/cjs/ui/OpenchannelOGMessage.js +14 -14
  281. package/cjs/ui/OpenchannelThumbnailMessage.js +13 -13
  282. package/cjs/ui/OpenchannelUserMessage.js +14 -14
  283. package/cjs/ui/PlaceHolder.js +6 -6
  284. package/cjs/ui/QuoteMessage.js +7 -7
  285. package/cjs/ui/QuoteMessageInput.js +7 -7
  286. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  287. package/cjs/ui/ReactionBadge.js +3 -3
  288. package/cjs/ui/ReactionButton.js +1 -1
  289. package/cjs/ui/SortByRow.js +1 -1
  290. package/cjs/ui/TextButton.js +2 -2
  291. package/cjs/ui/TextMessageItemBody.js +36 -14
  292. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  293. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  294. package/cjs/ui/Tooltip.js +3 -3
  295. package/cjs/ui/TooltipWrapper.js +1 -1
  296. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  297. package/cjs/ui/UserListItem.js +11 -11
  298. package/cjs/ui/UserProfile.js +9 -9
  299. package/cjs/useSendbirdStateContext.js +1 -1
  300. package/cjs/{utils-cbd3ed99.js → utils-3240365f.js} +1 -1
  301. package/cjs/{utils-cbd3ed99.js.map → utils-3240365f.js.map} +1 -1
  302. package/cjs/{utils-66b3f4ec.js → utils-53d332a6.js} +1 -1
  303. package/cjs/{utils-66b3f4ec.js.map → utils-53d332a6.js.map} +1 -1
  304. package/cjs/{utils-3b0815dc.js → utils-94ae6cec.js} +1 -1
  305. package/cjs/{utils-3b0815dc.js.map → utils-94ae6cec.js.map} +1 -1
  306. package/cjs/{uuid-1d5ec8b2.js → uuid-172844fb.js} +1 -1
  307. package/cjs/{uuid-1d5ec8b2.js.map → uuid-172844fb.js.map} +1 -1
  308. package/cjs/withSendBird.js +1 -1
  309. package/{color-ee3fc5ee.js → color-38dc84d3.js} +1 -1
  310. package/{color-ee3fc5ee.js.map → color-38dc84d3.js.map} +1 -1
  311. package/{compareIds-808956f2.js → compareIds-f01e0c3c.js} +1 -1
  312. package/{compareIds-808956f2.js.map → compareIds-f01e0c3c.js.map} +1 -1
  313. package/const-b6685801.js +8 -0
  314. package/const-b6685801.js.map +1 -0
  315. package/const-d46f09a1.js +18 -0
  316. package/const-d46f09a1.js.map +1 -0
  317. package/{context-98ce535c.js → context-b5168bd0.js} +2 -2
  318. package/{context-98ce535c.js.map → context-b5168bd0.js.map} +1 -1
  319. package/dist/index.css +243 -133
  320. package/dist/index.css.map +1 -1
  321. package/{index-770d7112.js → index-1c2588aa.js} +2 -2
  322. package/{index-770d7112.js.map → index-1c2588aa.js.map} +1 -1
  323. package/{index-acebc2ff.js → index-2dce3a04.js} +3 -3
  324. package/{index-acebc2ff.js.map → index-2dce3a04.js.map} +1 -1
  325. package/{index-5c2c81bc.js → index-3bd4a058.js} +6 -6
  326. package/{index-5c2c81bc.js.map → index-3bd4a058.js.map} +1 -1
  327. package/index-62fd2db7.js +48 -0
  328. package/index-62fd2db7.js.map +1 -0
  329. package/{index-6ebf7894.js → index-6381b534.js} +1 -1
  330. package/{index-6ebf7894.js.map → index-6381b534.js.map} +1 -1
  331. package/{index-cd21929d.js → index-9afb4d01.js} +2 -2
  332. package/{index-cd21929d.js.map → index-9afb4d01.js.map} +1 -1
  333. package/{index-1718324d.js → index-a6675155.js} +4 -4
  334. package/{index-1718324d.js.map → index-a6675155.js.map} +1 -1
  335. package/{index-e818a8a3.js → index-b12b270e.js} +4 -4
  336. package/{index-e818a8a3.js.map → index-b12b270e.js.map} +1 -1
  337. package/{index-7a51bd16.js → index-d0b30cd5.js} +3 -3
  338. package/{index-7a51bd16.js.map → index-d0b30cd5.js.map} +1 -1
  339. package/{index-942c85a6.js → index-d0fe8fe1.js} +1 -1
  340. package/{index-942c85a6.js.map → index-d0fe8fe1.js.map} +1 -1
  341. package/{index-8c72a94a.js → index-e6d0889d.js} +83 -3
  342. package/index-e6d0889d.js.map +1 -0
  343. package/index.d.ts +238 -210
  344. package/index.js +40 -33
  345. package/index.js.map +1 -1
  346. package/{openChannelUtils-56a372e7.js → openChannelUtils-22ed0258.js} +1 -1
  347. package/{openChannelUtils-56a372e7.js.map → openChannelUtils-22ed0258.js.map} +1 -1
  348. package/package.json +5 -2
  349. package/sendBirdSelectors.js +1 -1
  350. package/{stringSet-4f6eaa60.js → stringSet-2e6c1d2c.js} +4 -2
  351. package/stringSet-2e6c1d2c.js.map +1 -0
  352. package/{topics-9442035c.js → topics-67738aac.js} +1 -1
  353. package/{topics-9442035c.js.map → topics-67738aac.js.map} +1 -1
  354. package/{tslib.es6-e3c44017.js → tslib.es6-b6e567bd.js} +1 -1
  355. package/{tslib.es6-e3c44017.js.map → tslib.es6-b6e567bd.js.map} +1 -1
  356. package/ui/Accordion.js +4 -4
  357. package/ui/AccordionGroup.js +2 -2
  358. package/ui/AdminMessage.js +3 -3
  359. package/ui/Avatar.js +3 -3
  360. package/ui/Badge.js +5 -5
  361. package/ui/Button.js +4 -4
  362. package/ui/ChannelAvatar.js +4 -4
  363. package/ui/ChannelPreview.js +12 -12
  364. package/ui/ChatHeader.js +8 -8
  365. package/ui/Checkbox.js +1 -1
  366. package/ui/ConnectionStatus.js +5 -5
  367. package/ui/ContextMenu.js +5 -5
  368. package/ui/DateSeparator.js +4 -4
  369. package/ui/Dropdown.js +3 -3
  370. package/ui/EmojiReactions.js +7 -7
  371. package/ui/FileMessageItemBody.js +6 -6
  372. package/ui/FileViewer.js +7 -7
  373. package/ui/Icon.js +1 -1
  374. package/ui/IconButton.js +1 -1
  375. package/ui/ImageRenderer.js +1 -1
  376. package/ui/Input.js +3 -3
  377. package/ui/Label.js +3 -3
  378. package/ui/LinkLabel.js +3 -3
  379. package/ui/Loader.js +1 -1
  380. package/ui/MentionUserLabel.js +19 -0
  381. package/ui/MentionUserLabel.js.map +1 -0
  382. package/ui/MessageContent.js +25 -62
  383. package/ui/MessageContent.js.map +1 -1
  384. package/ui/MessageInput.js +4900 -85
  385. package/ui/MessageInput.js.map +1 -1
  386. package/ui/MessageItemMenu.js +7 -7
  387. package/ui/MessageItemReactionMenu.js +5 -5
  388. package/ui/MessageSearchFileItem.js +10 -10
  389. package/ui/MessageSearchItem.js +10 -10
  390. package/ui/MessageStatus.js +57 -0
  391. package/ui/MessageStatus.js.map +1 -0
  392. package/ui/Modal.js +8 -8
  393. package/ui/MutedAvatarOverlay.js +1 -1
  394. package/ui/OGMessageItemBody.js +38 -28
  395. package/ui/OGMessageItemBody.js.map +1 -1
  396. package/ui/OpenChannelAdminMessage.js +4 -4
  397. package/ui/OpenChannelAvatar.js +7 -7
  398. package/ui/OpenchannelConversationHeader.js +7 -7
  399. package/ui/OpenchannelFileMessage.js +14 -14
  400. package/ui/OpenchannelOGMessage.js +14 -14
  401. package/ui/OpenchannelThumbnailMessage.js +13 -13
  402. package/ui/OpenchannelUserMessage.js +14 -14
  403. package/ui/PlaceHolder.js +6 -6
  404. package/ui/QuoteMessage.js +7 -7
  405. package/ui/QuoteMessageInput.js +7 -7
  406. package/ui/QuoteMessageInput.js.map +1 -1
  407. package/ui/ReactionBadge.js +3 -3
  408. package/ui/ReactionButton.js +1 -1
  409. package/ui/SortByRow.js +1 -1
  410. package/ui/TextButton.js +2 -2
  411. package/ui/TextMessageItemBody.js +37 -15
  412. package/ui/TextMessageItemBody.js.map +1 -1
  413. package/ui/ThumbnailMessageItemBody.js +3 -3
  414. package/ui/Tooltip.js +3 -3
  415. package/ui/TooltipWrapper.js +1 -1
  416. package/ui/UnknownMessageItemBody.js +7 -7
  417. package/ui/UserListItem.js +11 -11
  418. package/ui/UserProfile.js +9 -9
  419. package/useSendbirdStateContext.js +1 -1
  420. package/{utils-08c4dbdc.js → utils-04c291d8.js} +1 -1
  421. package/{utils-08c4dbdc.js.map → utils-04c291d8.js.map} +1 -1
  422. package/{utils-af1b9829.js → utils-28de36e9.js} +1 -1
  423. package/{utils-af1b9829.js.map → utils-28de36e9.js.map} +1 -1
  424. package/{utils-c393e880.js → utils-f5c9ef64.js} +1 -1
  425. package/{utils-c393e880.js.map → utils-f5c9ef64.js.map} +1 -1
  426. package/{uuid-b0c93400.js → uuid-0139dc21.js} +1 -1
  427. package/{uuid-b0c93400.js.map → uuid-0139dc21.js.map} +1 -1
  428. package/withSendBird.js +1 -1
  429. package/ChannelListProvider-0b0c2c40.js.map +0 -1
  430. package/ChannelProvider-459e463f.js.map +0 -1
  431. package/cjs/ChannelListProvider-5a152618.js.map +0 -1
  432. package/cjs/ChannelProvider-f1fb0108.js.map +0 -1
  433. package/cjs/index-d4880236.js.map +0 -1
  434. package/cjs/stringSet-aa544ce5.js.map +0 -1
  435. package/index-8c72a94a.js.map +0 -1
  436. package/index.css +0 -4355
  437. package/index.css.map +0 -1
  438. package/stringSet-4f6eaa60.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { _ as __assign } from './tslib.es6-e3c44017.js';
1
+ import { a as __spreadArray, _ as __assign } from './tslib.es6-b6e567bd.js';
2
2
  import React__default, { useReducer, useState, useEffect, useMemo, useContext } from 'react';
3
- import { C as CREATE_CHANNEL$1, U as UPDATE_USER_MESSAGE, L as LEAVE_CHANNEL, b as SEND_MESSAGE_START } from './topics-9442035c.js';
4
- import { u as uuidv4 } from './uuid-b0c93400.js';
5
- import { n as noop } from './utils-c393e880.js';
6
- import { U as UserProfileProvider } from './UserProfileContext-865db5e6.js';
3
+ import { C as CREATE_CHANNEL$1, U as UPDATE_USER_MESSAGE, L as LEAVE_CHANNEL, b as SEND_MESSAGE_START } from './topics-67738aac.js';
4
+ import { u as uuidv4 } from './uuid-0139dc21.js';
5
+ import { n as noop } from './utils-f5c9ef64.js';
6
+ import { U as UserProfileProvider } from './UserProfileContext-f4ff4291.js';
7
7
  import useSendbirdStateContext from './useSendbirdStateContext.js';
8
- import { _ as _objectSpread2, b as _toConsumableArray } from './_rollupPluginBabelHelpers-20904f21.js';
9
- import { f as filterChannelListParams, g as getChannelsWithUpsertedChannel } from './index-8c72a94a.js';
8
+ import { _ as _objectSpread2, b as _toConsumableArray } from './_rollupPluginBabelHelpers-6bf18550.js';
9
+ import { f as filterChannelListParams, g as getChannelsWithUpsertedChannel } from './index-e6d0889d.js';
10
10
 
11
11
  var RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';
12
12
  var CREATE_CHANNEL = 'CREATE_CHANNEL';
@@ -34,6 +34,8 @@ var ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';
34
34
  var CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';
35
35
  var CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';
36
36
 
37
+ var DELIVERY_RECIPT = 'delivery_receipt';
38
+
37
39
  var createEventHandler = function createEventHandler(_ref) {
38
40
  var sdk = _ref.sdk,
39
41
  sdkChannelHandlerId = _ref.sdkChannelHandlerId,
@@ -236,6 +238,8 @@ function setupChannelList(_ref3) {
236
238
 
237
239
  if (channelListQuery.hasNext) {
238
240
  channelListQuery.next(function (response, error) {
241
+ var _sdk$appInfo, _sdk$appInfo$premiumF;
242
+
239
243
  var swapParams = sdk.getErrorFirstCallback();
240
244
  var channelList = response;
241
245
  var err = error;
@@ -272,11 +276,21 @@ function setupChannelList(_ref3) {
272
276
  type: INIT_CHANNELS_SUCCESS,
273
277
  payload: sortedChannelList
274
278
  });
279
+ var canSetMarkAsDelivered = sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : (_sdk$appInfo$premiumF = _sdk$appInfo.premiumFeatureList) === null || _sdk$appInfo$premiumF === void 0 ? void 0 : _sdk$appInfo$premiumF.find(function (feature) {
280
+ return feature === DELIVERY_RECIPT;
281
+ });
282
+
283
+ if (canSetMarkAsDelivered) {
284
+ var _channelList;
275
285
 
276
- if (channelList && typeof channelList.forEach === 'function') {
277
- logger.info('ChannelList - mark all channels as delivered');
278
- channelList.forEach(function (c) {
279
- return c.markAsDelivered();
286
+ logger.info('ChannelList: Marking all channels as read'); // eslint-disable-next-line no-unused-expressions
287
+
288
+ (_channelList = channelList) === null || _channelList === void 0 ? void 0 : _channelList.forEach(function (c, idx) {
289
+ // Plan-based rate limits - minimum limit is 5 requests per second
290
+ setTimeout(function () {
291
+ // eslint-disable-next-line no-unused-expressions
292
+ sdk === null || sdk === void 0 ? void 0 : sdk.markAsDelivered(c === null || c === void 0 ? void 0 : c.url);
293
+ }, 300 * idx);
280
294
  });
281
295
  }
282
296
  });
@@ -693,11 +707,14 @@ var ChannelListContext = /*#__PURE__*/React__default.createContext({
693
707
  channelListQuery: {},
694
708
  currentUserId: null,
695
709
  channelListDispatcher: null,
696
- channelSource: null
710
+ channelSource: null,
711
+ typingChannels: []
697
712
  });
698
713
 
699
714
  var ChannelListProvider = function ChannelListProvider(props) {
700
- // destruct props
715
+ var _a; // destruct props
716
+
717
+
701
718
  var children = props.children,
702
719
  className = props.className,
703
720
  disableUserProfile = props.disableUserProfile,
@@ -707,7 +724,11 @@ var ChannelListProvider = function ChannelListProvider(props) {
707
724
  onThemeChange = props.onThemeChange,
708
725
  onBeforeCreateChannel = props.onBeforeCreateChannel,
709
726
  sortChannelList = props.sortChannelList,
710
- disableAutoSelect = props.disableAutoSelect;
727
+ disableAutoSelect = props.disableAutoSelect,
728
+ _b = props.isTypingIndicatorEnabled,
729
+ isTypingIndicatorEnabled = _b === void 0 ? null : _b,
730
+ _c = props.isMessageReceiptStatusEnabled,
731
+ isMessageReceiptStatusEnabled = _c === void 0 ? null : _c;
711
732
  var onChannelSelect = (props === null || props === void 0 ? void 0 : props.onChannelSelect) || noop; // fetch store from <SendbirdProvider />
712
733
 
713
734
  var globalStore = useSendbirdStateContext();
@@ -716,6 +737,8 @@ var ChannelListProvider = function ChannelListProvider(props) {
716
737
  var sdkStore = stores.sdkStore;
717
738
  var pubSub = config.pubSub,
718
739
  logger = config.logger;
740
+ var isTypingIndicatorEnabledOnChannelList = config.isTypingIndicatorEnabledOnChannelList,
741
+ isMessageReceiptStatusEnabledOnChannelList = config.isMessageReceiptStatusEnabledOnChannelList;
719
742
  var sdk = sdkStore.sdk; // derive some variables
720
743
  // enable if it is true atleast once(both are flase by default)
721
744
 
@@ -726,20 +749,29 @@ var ChannelListProvider = function ChannelListProvider(props) {
726
749
  var userFilledApplicationUserListQuery = queries === null || queries === void 0 ? void 0 : queries.applicationUserListQuery;
727
750
  var sdkIntialized = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
728
751
 
729
- var _a = useReducer(reducer, channelListInitialState),
730
- channelListStore = _a[0],
731
- channelListDispatcher = _a[1];
732
-
733
- var _b = useState(),
734
- channelSource = _b[0],
735
- setChannelSource = _b[1];
736
-
737
- var _c = useState(null),
738
- sdkChannelHandlerId = _c[0],
739
- setSdkChannelHandlerId = _c[1];
752
+ var _d = useReducer(reducer, channelListInitialState),
753
+ channelListStore = _d[0],
754
+ channelListDispatcher = _d[1];
740
755
 
741
756
  var loading = channelListStore.loading,
742
757
  currentChannel = channelListStore.currentChannel;
758
+
759
+ var _e = useState(),
760
+ channelSource = _e[0],
761
+ setChannelSource = _e[1];
762
+
763
+ var _f = useState(null),
764
+ sdkChannelHandlerId = _f[0],
765
+ setSdkChannelHandlerId = _f[1];
766
+
767
+ var _g = useState(null),
768
+ typingHandlerId = _g[0],
769
+ setTypingHandlerId = _g[1];
770
+
771
+ var _h = useState([]),
772
+ typingChannels = _h[0],
773
+ setTypingChannels = _h[1];
774
+
743
775
  useEffect(function () {
744
776
  var subscriber = pubSubHandler(pubSub, channelListDispatcher);
745
777
  return function () {
@@ -792,6 +824,36 @@ var ChannelListProvider = function ChannelListProvider(props) {
792
824
  }
793
825
  };
794
826
  }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);
827
+ useEffect(function () {
828
+ if (sdk && (sdk === null || sdk === void 0 ? void 0 : sdk.ChannelHandler)) {
829
+ var handlerId = uuidv4();
830
+ var handler = new sdk.ChannelHandler();
831
+
832
+ handler.onTypingStatusUpdated = function (channel) {
833
+ var _a;
834
+
835
+ var typingMemberCount = (_a = channel === null || channel === void 0 ? void 0 : channel.getTypingMembers()) === null || _a === void 0 ? void 0 : _a.length;
836
+ var channelList = typingChannels.filter(function (ch) {
837
+ return ch.url !== channel.url;
838
+ });
839
+
840
+ if (typingMemberCount > 0) {
841
+ setTypingChannels(__spreadArray(__spreadArray([], channelList, true), [channel], false));
842
+ } else {
843
+ setTypingChannels(channelList);
844
+ }
845
+ };
846
+
847
+ sdk.addChannelHandler(handlerId, handler);
848
+ setTypingHandlerId(handlerId);
849
+ }
850
+
851
+ return function () {
852
+ if (sdk && sdk.removeChannelHandler) {
853
+ sdk.removeChannelHandler(typingHandlerId);
854
+ }
855
+ };
856
+ }, [(_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId]);
795
857
  var queries_ = useMemo(function () {
796
858
  return {
797
859
  applicationUserListQuery: userFilledApplicationUserListQuery,
@@ -842,7 +904,10 @@ var ChannelListProvider = function ChannelListProvider(props) {
842
904
  channelListDispatcher: channelListDispatcher,
843
905
  channelSource: channelSource
844
906
  }, channelListStore), {
845
- allChannels: sortedChannels
907
+ allChannels: sortedChannels,
908
+ typingChannels: typingChannels,
909
+ isTypingIndicatorEnabled: isTypingIndicatorEnabled !== null ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,
910
+ isMessageReceiptStatusEnabled: isMessageReceiptStatusEnabled !== null ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList
846
911
  })
847
912
  }, /*#__PURE__*/React__default.createElement(UserProfileProvider, {
848
913
  disableUserProfile: userDefinedDisableUserProfile,
@@ -858,4 +923,4 @@ function useChannelListContext() {
858
923
  }
859
924
 
860
925
  export { ChannelListProvider as C, FETCH_CHANNELS_START as F, LEAVE_CHANNEL_SUCCESS as L, SET_CURRENT_CHANNEL as S, FETCH_CHANNELS_FAILURE as a, FETCH_CHANNELS_SUCCESS as b, useChannelListContext as u };
861
- //# sourceMappingURL=ChannelListProvider-0b0c2c40.js.map
926
+ //# sourceMappingURL=ChannelListProvider-d602a166.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelListProvider-d602a166.js","sources":["../src/smart-components/ChannelList/dux/actionTypes.js","../src/smart-components/ChannelList/utils.js","../src/smart-components/ChannelList/dux/initialState.js","../src/smart-components/ChannelList/dux/reducers.js","../src/smart-components/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const SET_AUTO_SELECT_CHANNEL_ITEM = 'SET_AUTO_SELECT_CHANNEL_ITEM';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';\nexport const HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\nexport const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';\n","import * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new sdk.ChannelHandler();\n\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onChannelDeleted = (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n };\n ChannelHandler.onUserJoined = (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n };\n ChannelHandler.onUserLeft = (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n };\n\n ChannelHandler.onReadStatus = (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n };\n\n ChannelHandler.onDeliveryReceiptUpdated = (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n if (channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onChannelHidden = (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n\n logger.info('ChannelList: Added channelHandler');\n sdk.addChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createChannelListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const channelListQuery = sdk.GroupChannel.createMyGroupChannelListQuery();\n channelListQuery.includeEmpty = false;\n channelListQuery.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n channelListQuery.limit = 20; // The value of pagination limit could be set up to 100.\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n channelListQuery[key] = userFilledChannelListQuery[key];\n });\n }\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n}) {\n if (sdk && sdk.ChannelHandler) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n } else {\n logger.console.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);\n }\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createChannelListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n if (userFilledChannelListQuery) {\n logger.info('ChannelList - setting up channelListQuery', channelListQuery);\n channelListDispatcher({\n type: channelActions.CHANNEL_LIST_PARAMS_UPDATED,\n payload: {\n channelListQuery,\n currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId,\n },\n });\n }\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n logger.info('ChannelList - fetched channels', channelList);\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n return;\n }\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sortedChannelList = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sortedChannelList = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sortedChannelList);\n }\n if (!disableAutoSelect) {\n onChannelSelect(sortedChannelList[0]);\n }\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: sortedChannelList,\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n if (canSetMarkAsDelivered) {\n logger.info('ChannelList: Marking all channels as read');\n // eslint-disable-next-line no-unused-expressions\n channelList?.forEach((c, idx) => {\n // Plan-based rate limits - minimum limit is 5 requests per second\n setTimeout(() => {\n // eslint-disable-next-line no-unused-expressions\n sdk?.markAsDelivered(c?.url);\n }, 300 * idx);\n });\n }\n });\n } else {\n logger.warning('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subScriber = new Map();\n if (!pubSub) return subScriber;\n subScriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subScriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n if (updatedChannel?.lastMessage?.messageId === message.messageId) {\n updatedChannel.lastMessage = message;\n }\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subScriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n }));\n\n subScriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subScriber;\n};\n\nexport default setupChannelList;\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n channelListQuery: null,\n currentUserId: '',\n disableAutoSelect: false,\n};\n","import { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS:\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: action.payload,\n currentChannel: (\n !state.disableAutoSelect\n && action.payload\n && action.payload.length\n && action.payload.length > 0\n )\n ? action.payload[0]\n : null,\n };\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.CREATE_CHANNEL: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel.url)],\n currentChannel: channel,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n // TODO: Check if we have to set current channel\n }\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: (channelUrl === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n const filteredChannels = getChannelsWithUpsertedChannel(state.allChannels, channel);\n const nextChannel = (isMe && (channel.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n };\n }\n const filteredChannels = state.allChannels.filter((c) => !(c.url === channel.url && isMe));\n const nextChannel = (isMe && (channel.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const channel = action.payload;\n const { unreadMessageCount } = channel;\n if (!channel.lastMessage) return state;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n };\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel.url);\n const currentUnreadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnreadCount === 0) {\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => (ch.url === channel.url ? channel : ch)),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n channel,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.SHOW_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: true,\n };\n case actions.HIDE_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: false,\n };\n case actions.ON_LAST_MESSAGE_UPDATED:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => (\n channel.url === action.payload.url ? action.payload : channel)),\n };\n case actions.ON_CHANNEL_FROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = true;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.ON_CHANNEL_UNFROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = false;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.CHANNEL_REPLACED_TO_TOP: {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel.url !== action.payload.url),\n ],\n };\n }\n case actions.CHANNEL_LIST_PARAMS_UPDATED:\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n case actions.SET_AUTO_SELECT_CHANNEL_ITEM: {\n return {\n ...state,\n ableAutoSelect: action.payload,\n };\n }\n default:\n return state;\n }\n}\n","import React, {\n useState,\n useEffect,\n useContext,\n useReducer,\n useMemo,\n} from 'react';\nimport Sendbird from 'sendbird';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\n\nimport * as channelListActions from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { CustomUseReducerDispatcher } from '../../../lib/SendbirdState';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface GroupChannelListQuery {\n limit?: number;\n includeEmpty?: boolean;\n order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';\n userIdsExactFilter?: Array<string>;\n userIdsIncludeFilter?: Array<string>;\n userIdsIncludeFilterQueryType?: 'AND' | 'OR';\n nicknameContainsFilter?: string;\n channelNameContainsFilter?: string;\n customTypesFilter?: Array<string>;\n customTypeStartsWithFilter?: string;\n channelUrlsFilter?: Array<string>;\n superChannelFilter?: 'all' | 'super' | 'nonsuper';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n channelListQuery?: GroupChannelListQuery;\n}\n\nexport interface ChannelListProviderProps {\n allowProfileEdit?: boolean;\n onBeforeCreateChannel?(users: Array<string>): Sendbird.GroupChannelParams;\n onThemeChange?(theme: string): void;\n onProfileEditSuccess?(user: Sendbird.User): void;\n onChannelSelect?(channel: Sendbird.GroupChannel): void;\n sortChannelList?: (channels: Sendbird.GroupChannel[]) => Sendbird.GroupChannel[];\n queries?: ChannelListQueries;\n children?: React.ReactNode;\n className?: string | string[];\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n disableUserProfile?: boolean;\n disableAutoSelect?: boolean;\n typingChannels?: Array<Sendbird.GroupChannel>;\n isTypingIndicatorEnabled?: boolean;\n isMessageReceiptStatusEnabled?: boolean;\n}\n\nexport interface ChannelListProviderInterface extends ChannelListProviderProps {\n initialized: boolean;\n loading: boolean;\n allChannels: Sendbird.GroupChannel[];\n currentChannel: Sendbird.GroupChannel;\n showSettings: boolean;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n channelListDispatcher: CustomUseReducerDispatcher;\n channelSource: Sendbird.GroupChannelListQuery;\n}\n\ninterface ChannelListStoreInterface {\n initialized: boolean;\n loading: boolean;\n allChannels: Sendbird.GroupChannel[];\n currentChannel: Sendbird.GroupChannel;\n showSettings: boolean;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n}\n\nconst ChannelListContext = React.createContext<ChannelListProviderInterface | null>({\n disableUserProfile: true,\n allowProfileEdit: true,\n onBeforeCreateChannel: null,\n onThemeChange: null,\n onProfileEditSuccess: null,\n onChannelSelect: null,\n queries: {},\n className: null,\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n channelListQuery: {},\n currentUserId: null,\n channelListDispatcher: null,\n channelSource: null,\n typingChannels: [],\n});\n\nconst ChannelListProvider: React.FC<ChannelListProviderProps> = (props: ChannelListProviderProps) => {\n // destruct props\n const {\n children,\n className,\n disableUserProfile,\n allowProfileEdit,\n queries,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n sortChannelList,\n disableAutoSelect,\n isTypingIndicatorEnabled = null,\n isMessageReceiptStatusEnabled = null,\n } = props;\n const onChannelSelect = props?.onChannelSelect || noop;\n\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { pubSub, logger } = config;\n const {\n isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabledOnChannelList,\n } = config;\n const { sdk } = sdkStore;\n\n // derive some variables\n // enable if it is true atleast once(both are flase by default)\n const userDefinedDisableUserProfile = disableUserProfile || config?.disableUserProfile;\n const userDefinedRenderProfile = config?.renderUserProfile;\n const enableEditProfile = allowProfileEdit || config?.allowProfileEdit;\n\n const userFilledChannelListQuery = queries?.channelListQuery;\n const userFilledApplicationUserListQuery = queries?.applicationUserListQuery;\n\n const sdkIntialized = sdkStore?.initialized;\n\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n ) as [ChannelListStoreInterface, CustomUseReducerDispatcher];\n const { loading, currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<Sendbird.GroupChannelListQuery | null>();\n const [sdkChannelHandlerId, setSdkChannelHandlerId] = useState<string | null>(null);\n const [typingHandlerId, setTypingHandlerId] = useState<string | null>(null);\n const [typingChannels, setTypingChannels] = useState<Array<Sendbird.GroupChannel>>([]);\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n channelListDispatcher({\n type: channelListActions.SET_AUTO_SELECT_CHANNEL_ITEM,\n payload: disableAutoSelect,\n });\n }, [disableAutoSelect]);\n\n useEffect(() => {\n setSdkChannelHandlerId(uuidv4);\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk && sdk?.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource(null);\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n payload: null,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n useEffect(() => {\n if (sdk && sdk?.ChannelHandler) {\n const handlerId = uuidv4()\n const handler = new sdk.ChannelHandler()\n handler.onTypingStatusUpdated = (channel) => {\n const typingMemberCount = channel?.getTypingMembers()?.length\n const channelList = typingChannels.filter(ch => ch.url !== channel.url)\n if (typingMemberCount > 0) {\n setTypingChannels([...channelList, channel])\n } else {\n setTypingChannels(channelList)\n }\n }\n sdk.addChannelHandler(handlerId, handler)\n setTypingHandlerId(handlerId)\n }\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(typingHandlerId)\n }\n }\n }, [sdk?.currentUser?.userId]);\n\n const queries_ = useMemo(() => {\n return {\n applicationUserListQuery: userFilledApplicationUserListQuery,\n channelListQuery: userFilledChannelListQuery,\n };\n }, [\n userFilledApplicationUserListQuery,\n userFilledChannelListQuery,\n ])\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n useEffect(() => {\n if (!sdk || !sdk.GroupChannel || !currentChannel || !currentChannel?.url) { return; }\n sdk.GroupChannel.getChannel(currentChannel.url, (groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel?.url]);\n\n return (\n <ChannelListContext.Provider value={{\n className,\n disableUserProfile,\n queries: queries_,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n onChannelSelect,\n sortChannelList,\n loading,\n allowProfileEdit: enableEditProfile,\n channelListDispatcher,\n channelSource,\n ...channelListStore,\n allChannels: sortedChannels,\n typingChannels,\n isTypingIndicatorEnabled: (isTypingIndicatorEnabled !== null) ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled: (isMessageReceiptStatusEnabled !== null) ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList,\n }}>\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n >\n <div className={`sendbird-channel-list ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport {\n ChannelListProvider,\n // ChannelListContext,\n useChannelListContext,\n};\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","SET_AUTO_SELECT_CHANNEL_ITEM","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","SHOW_CHANNEL_SETTINGS","HIDE_CHANNEL_SETTINGS","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","CHANNEL_LIST_PARAMS_UPDATED","DELIVERY_RECIPT","createEventHandler","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","onChannelChanged","channel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","lastMessage","onUserBanned","user","currentUser","userId","isMe","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","addChannelHandler","createChannelListQuery","userFilledChannelListQuery","channelListQuery","GroupChannel","createMyGroupChannelListQuery","includeEmpty","order","limit","Object","keys","forEach","key","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","console","warning","currentUserId","hasNext","next","response","error","swapParams","getErrorFirstCallback","channelList","err","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","find","feature","c","idx","setTimeout","markAsDelivered","url","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","subScriber","Map","set","topics","subscribe","msg","updatedChannel","messageId","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","actions","initialState","length","currentChannels","map","filteredChannels","filter","filterChannelListParams","getChannelsWithUpsertedChannel","ch","nextChannel","unreadMessageCount","currentUnreadCount","isFrozen","ableAutoSelect","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","channelSource","typingChannels","ChannelListProvider","props","children","_b","isTypingIndicatorEnabled","_c","isMessageReceiptStatusEnabled","noop","globalStore","useSendbirdStateContext","config","stores","sdkStore","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","_d","useReducer","channelListReducers","channelListInitialState","channelListStore","_e","useState","_f","setSdkChannelHandlerId","_g","typingHandlerId","setTypingHandlerId","_h","setTypingChannels","useEffect","channelListActions","uuidv4","removeChannelHandler","handlerId","handler","onTypingStatusUpdated","typingMemberCount","getTypingMembers","queries_","useMemo","sortedChannels","warn","before","after","getChannel","groupChannel","useChannelListContext","context","useContext"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import React__default, { useEffect, useCallback, useRef, useMemo, useState, useReducer } from 'react';
2
- import { U as UserProfileProvider } from './UserProfileContext-865db5e6.js';
2
+ import { U as UserProfileProvider } from './UserProfileContext-f4ff4291.js';
3
3
  import useSendbirdStateContext from './useSendbirdStateContext.js';
4
- import { b as _toConsumableArray, _ as _objectSpread2, a as _slicedToArray } from './_rollupPluginBabelHelpers-20904f21.js';
5
- import { f as format } from './index-770d7112.js';
6
- import { S as SEND_USER_MESSAGE, b as SEND_MESSAGE_START, a as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE } from './topics-9442035c.js';
7
- import { a as getOutgoingMessageStates, b as getSendingMessageStatus, c as filterMessageListParams } from './index-8c72a94a.js';
8
- import { c as compareIds } from './compareIds-808956f2.js';
9
- import { u as uuidv4 } from './uuid-b0c93400.js';
4
+ import { b as _toConsumableArray, _ as _objectSpread2, a as _slicedToArray } from './_rollupPluginBabelHelpers-6bf18550.js';
5
+ import { f as format } from './index-1c2588aa.js';
6
+ import { S as SEND_USER_MESSAGE, b as SEND_MESSAGE_START, a as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE } from './topics-67738aac.js';
7
+ import { a as getOutgoingMessageStates, b as getSendingMessageStatus, c as filterMessageListParams } from './index-e6d0889d.js';
8
+ import { c as compareIds } from './compareIds-f01e0c3c.js';
9
+ import { N as NEXT_RESULT_SIZE, P as PREV_RESULT_SIZE } from './const-b6685801.js';
10
+ import { u as uuidv4 } from './uuid-0139dc21.js';
10
11
  import { EmojiListItems } from './ui/ContextMenu.js';
11
12
  import ReactionButton from './ui/ReactionButton.js';
12
13
  import ImageRenderer from './ui/ImageRenderer.js';
@@ -304,9 +305,6 @@ var messagesInitialState = {
304
305
  messageListParams: null
305
306
  };
306
307
 
307
- var PREV_RESULT_SIZE = 30;
308
- var NEXT_RESULT_SIZE = 15;
309
-
310
308
  var _getSendingMessageSta = getSendingMessageStatus(),
311
309
  SUCCEEDED = _getSendingMessageSta.SUCCEEDED,
312
310
  FAILED = _getSendingMessageSta.FAILED,
@@ -1290,14 +1288,31 @@ function useDeleteMessageCallback(_ref, _ref2) {
1290
1288
  function useUpdateMessageCallback(_ref, _ref2) {
1291
1289
  var currentGroupChannel = _ref.currentGroupChannel,
1292
1290
  messagesDispatcher = _ref.messagesDispatcher,
1293
- onBeforeUpdateUserMessage = _ref.onBeforeUpdateUserMessage;
1291
+ onBeforeUpdateUserMessage = _ref.onBeforeUpdateUserMessage,
1292
+ isMentionEnabled = _ref.isMentionEnabled;
1294
1293
  var logger = _ref2.logger,
1295
1294
  pubSub = _ref2.pubSub,
1296
1295
  sdk = _ref2.sdk;
1297
- return useCallback(function (messageId, text, cb) {
1298
- var createParamsDefault = function createParamsDefault(txt) {
1296
+ return useCallback(function (props, callback) {
1297
+ var messageId = props.messageId,
1298
+ message = props.message,
1299
+ mentionedUsers = props.mentionedUsers,
1300
+ mentionTemplate = props.mentionTemplate;
1301
+
1302
+ var createParamsDefault = function createParamsDefault() {
1299
1303
  var params = new sdk.UserMessageParams();
1300
- params.message = txt;
1304
+ params.message = message;
1305
+
1306
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1307
+ params.mentionedUsers = mentionedUsers;
1308
+ }
1309
+
1310
+ if (isMentionEnabled && mentionTemplate) {
1311
+ params.mentionedMessageTemplate = mentionTemplate;
1312
+ } else {
1313
+ params.mentionedMessageTemplate = message;
1314
+ }
1315
+
1301
1316
  return params;
1302
1317
  };
1303
1318
 
@@ -1307,33 +1322,33 @@ function useUpdateMessageCallback(_ref, _ref2) {
1307
1322
  logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
1308
1323
  }
1309
1324
 
1310
- var params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(text) : createParamsDefault(text);
1325
+ var params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(message) : createParamsDefault();
1311
1326
  currentGroupChannel.updateUserMessage(messageId, params, function (r, e) {
1312
1327
  logger.info('Channel: Updating message!', params);
1313
1328
  var swapParams = sdk.getErrorFirstCallback();
1314
- var message = r;
1329
+ var msg = r;
1315
1330
  var err = e;
1316
1331
 
1317
1332
  if (swapParams) {
1318
- message = e;
1333
+ msg = e;
1319
1334
  err = r;
1320
1335
  }
1321
1336
 
1322
- if (cb) {
1323
- cb(err, message);
1337
+ if (callback) {
1338
+ callback(err, msg);
1324
1339
  }
1325
1340
 
1326
1341
  if (!err) {
1327
- logger.info('Channel: Updating message success!', message);
1342
+ logger.info('Channel: Updating message success!', msg);
1328
1343
  messagesDispatcher({
1329
1344
  type: ON_MESSAGE_UPDATED,
1330
1345
  payload: {
1331
1346
  channel: currentGroupChannel,
1332
- message: message
1347
+ message: msg
1333
1348
  }
1334
1349
  });
1335
1350
  pubSub.publish(UPDATE_USER_MESSAGE, {
1336
- message: message,
1351
+ message: msg,
1337
1352
  channel: currentGroupChannel
1338
1353
  });
1339
1354
  } else {
@@ -1429,21 +1444,34 @@ function useResendMessageCallback(_ref, _ref2) {
1429
1444
  }
1430
1445
 
1431
1446
  function useSendMessageCallback(_ref, _ref2) {
1432
- var currentGroupChannel = _ref.currentGroupChannel,
1447
+ var isMentionEnabled = _ref.isMentionEnabled,
1448
+ currentGroupChannel = _ref.currentGroupChannel,
1433
1449
  onBeforeSendUserMessage = _ref.onBeforeSendUserMessage;
1434
1450
  var sdk = _ref2.sdk,
1435
1451
  logger = _ref2.logger,
1436
1452
  pubSub = _ref2.pubSub,
1437
1453
  messagesDispatcher = _ref2.messagesDispatcher;
1438
1454
  var messageInputRef = useRef(null);
1439
- var sendMessage = useCallback(function () {
1440
- var quoteMessage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1441
- var text = messageInputRef.current.value;
1442
-
1443
- var createParamsDefault = function createParamsDefault(txt) {
1444
- var message = typeof txt === 'string' ? txt.trim() : txt;
1455
+ var sendMessage = useCallback(function (props) {
1456
+ var _props$quoteMessage = props.quoteMessage,
1457
+ quoteMessage = _props$quoteMessage === void 0 ? null : _props$quoteMessage,
1458
+ message = props.message,
1459
+ mentionTemplate = props.mentionTemplate,
1460
+ mentionedUsers = props.mentionedUsers;
1461
+
1462
+ var createParamsDefault = function createParamsDefault() {
1445
1463
  var params = new sdk.UserMessageParams();
1446
- params.message = message;
1464
+ params.message = (message === null || message === void 0 ? void 0 : message.trim()) || message; // if (isMentionEnabled && mentionedUserIds?.length > 0) {
1465
+
1466
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1467
+ // params.mentionedUserIds = mentionedUserIds;
1468
+ params.mentionedUsers = mentionedUsers;
1469
+ } // if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
1470
+
1471
+
1472
+ if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
1473
+ params.mentionedMessageTemplate = (mentionTemplate === null || mentionTemplate === void 0 ? void 0 : mentionTemplate.trim()) || mentionTemplate;
1474
+ }
1447
1475
 
1448
1476
  if (quoteMessage) {
1449
1477
  params.isReplyToChannel = true;
@@ -1459,15 +1487,15 @@ function useSendMessageCallback(_ref, _ref2) {
1459
1487
  logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
1460
1488
  }
1461
1489
 
1462
- var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text, quoteMessage) : createParamsDefault(text);
1490
+ var params = onBeforeSendUserMessage ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
1463
1491
  logger.info('Channel: Sending message has started', params);
1464
1492
  var pendingMsg = currentGroupChannel.sendUserMessage(params, function (res, err) {
1465
1493
  var swapParams = sdk.getErrorFirstCallback();
1466
- var message = res;
1494
+ var msg = res;
1467
1495
  var error = err;
1468
1496
 
1469
1497
  if (swapParams) {
1470
- message = err;
1498
+ msg = err;
1471
1499
  error = res;
1472
1500
  } // sending params instead of pending message
1473
1501
  // to make sure that we can resend the message once it fails
@@ -1475,19 +1503,19 @@ function useSendMessageCallback(_ref, _ref2) {
1475
1503
 
1476
1504
  if (error) {
1477
1505
  logger.warning('Channel: Sending message failed!', {
1478
- message: message
1506
+ msg: msg
1479
1507
  });
1480
1508
  messagesDispatcher({
1481
1509
  type: SEND_MESSAGEGE_FAILURE,
1482
- payload: message
1510
+ payload: msg
1483
1511
  });
1484
1512
  return;
1485
1513
  }
1486
1514
 
1487
- logger.info('Channel: Sending message success!', message);
1515
+ logger.info('Channel: Sending message success!', msg);
1488
1516
  messagesDispatcher({
1489
1517
  type: SEND_MESSAGEGE_SUCESS,
1490
- payload: message
1518
+ payload: msg
1491
1519
  });
1492
1520
  });
1493
1521
  pubSub.publish(SEND_MESSAGE_START, {
@@ -1803,7 +1831,8 @@ var ChannelProvider = function ChannelProvider(props) {
1803
1831
  logger = config.logger,
1804
1832
  userId = config.userId,
1805
1833
  isOnline = config.isOnline,
1806
- imageCompression = config.imageCompression;
1834
+ imageCompression = config.imageCompression,
1835
+ isMentionEnabled = config.isMentionEnabled;
1807
1836
  var sdk = (_b = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _a === void 0 ? void 0 : _a.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk;
1808
1837
  var sdkInit = (_d = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _c === void 0 ? void 0 : _c.sdkStore) === null || _d === void 0 ? void 0 : _d.initialized;
1809
1838
 
@@ -1979,7 +2008,8 @@ var ChannelProvider = function ChannelProvider(props) {
1979
2008
  var updateMessage = useUpdateMessageCallback({
1980
2009
  currentGroupChannel: currentGroupChannel,
1981
2010
  messagesDispatcher: messagesDispatcher,
1982
- onBeforeUpdateUserMessage: onBeforeUpdateUserMessage
2011
+ onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
2012
+ isMentionEnabled: isMentionEnabled
1983
2013
  }, {
1984
2014
  logger: logger,
1985
2015
  sdk: sdk,
@@ -1994,7 +2024,8 @@ var ChannelProvider = function ChannelProvider(props) {
1994
2024
 
1995
2025
  var _k = useSendMessageCallback({
1996
2026
  currentGroupChannel: currentGroupChannel,
1997
- onBeforeSendUserMessage: onBeforeSendUserMessage
2027
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
2028
+ isMentionEnabled: isMentionEnabled
1998
2029
  }, {
1999
2030
  sdk: sdk,
2000
2031
  logger: logger,
@@ -2080,4 +2111,4 @@ var useChannel = function useChannel() {
2080
2111
  };
2081
2112
 
2082
2113
  export { ChannelProvider as C, MARK_AS_READ as M, isDisabledBecauseFrozen as a, isDisabledBecauseMuted as b, compareMessagesForGrouping as c, isOperator as d, isAboutSame as i, useChannel as u };
2083
- //# sourceMappingURL=ChannelProvider-459e463f.js.map
2114
+ //# sourceMappingURL=ChannelProvider-cf8fc05a.js.map