@sendbird/uikit-react 3.0.2 → 3.1.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/App.js +33 -32
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +10 -0
  4. package/Channel/components/ChannelHeader.js +17 -17
  5. package/Channel/components/ChannelUI.js +24 -24
  6. package/Channel/components/FileViewer.js +16 -16
  7. package/Channel/components/FrozenNotification.js +5 -5
  8. package/Channel/components/Message.js +21 -21
  9. package/Channel/components/MessageInput.js +18 -18
  10. package/Channel/components/MessageList.js +23 -23
  11. package/Channel/components/RemoveMessageModal.js +19 -19
  12. package/Channel/components/SuggestedMentionList.js +17 -17
  13. package/Channel/components/TypingIndicator.js +16 -16
  14. package/Channel/components/UnreadCount.js +5 -5
  15. package/Channel/context.js +15 -15
  16. package/Channel.js +24 -24
  17. package/ChannelList/components/AddChannel.js +14 -14
  18. package/ChannelList/components/ChannelListHeader.js +7 -7
  19. package/ChannelList/components/ChannelListUI.js +28 -28
  20. package/ChannelList/components/ChannelPreview.js +21 -21
  21. package/ChannelList/components/ChannelPreviewAction.js +16 -16
  22. package/ChannelList/context.js +10 -10
  23. package/ChannelList.js +28 -28
  24. package/{ChannelListProvider-98ce41d2.js → ChannelListProvider-eb18fd28.js} +15 -19
  25. package/ChannelListProvider-eb18fd28.js.map +1 -0
  26. package/{ChannelProvider-6ea29e4a.js → ChannelProvider-595e56de.js} +11 -11
  27. package/{ChannelProvider-6ea29e4a.js.map → ChannelProvider-595e56de.js.map} +1 -1
  28. package/ChannelSettings/components/ChannelProfile.js +13 -13
  29. package/ChannelSettings/components/ChannelSettingsUI.js +20 -18
  30. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  31. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  32. package/ChannelSettings/components/LeaveChannel.js +10 -10
  33. package/ChannelSettings/components/ModerationPanel.js +29 -26
  34. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  35. package/ChannelSettings/components/UserListItem.js +14 -14
  36. package/ChannelSettings/components/UserListItem.js.map +1 -1
  37. package/ChannelSettings/components/UserPanel.js +14 -14
  38. package/ChannelSettings/context.js +3 -3
  39. package/ChannelSettings/context.js.map +1 -1
  40. package/ChannelSettings.js +20 -18
  41. package/ChannelSettings.js.map +1 -1
  42. package/CreateChannel/components/CreateChannelUI.js +14 -14
  43. package/CreateChannel/components/InviteUsers.js +29 -30
  44. package/CreateChannel/components/InviteUsers.js.map +1 -1
  45. package/CreateChannel/components/SelectChannelType.js +10 -10
  46. package/CreateChannel/context.js +4 -4
  47. package/CreateChannel.js +14 -14
  48. package/{CreateChannelProvider-71012e62.js → CreateChannelProvider-53c05c06.js} +1 -1
  49. package/{CreateChannelProvider-71012e62.js.map → CreateChannelProvider-53c05c06.js.map} +1 -1
  50. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  51. package/EditUserProfile.js +13 -13
  52. package/{LocalizationContext-1417e9d3.js → LocalizationContext-9ecb0a32.js} +3 -3
  53. package/{LocalizationContext-1417e9d3.js.map → LocalizationContext-9ecb0a32.js.map} +1 -1
  54. package/{MemberList-351c6fcc.js → MemberList-b8d5b0a7.js} +25 -22
  55. package/MemberList-b8d5b0a7.js.map +1 -0
  56. package/MessageSearch/components/MessageSearchUI.js +11 -11
  57. package/MessageSearch/context.js +2 -2
  58. package/MessageSearch.js +11 -11
  59. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  60. package/OpenChannel/components/OpenChannelHeader.js +15 -14
  61. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  62. package/OpenChannel/components/OpenChannelInput.js +19 -18
  63. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  64. package/OpenChannel/components/OpenChannelMessage.js +43 -28
  65. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  66. package/OpenChannel/components/OpenChannelMessageList.js +27 -26
  67. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  68. package/OpenChannel/components/OpenChannelUI.js +26 -25
  69. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  70. package/OpenChannel/context.js +12 -11
  71. package/OpenChannel/context.js.map +1 -1
  72. package/OpenChannel.js +26 -25
  73. package/OpenChannel.js.map +1 -1
  74. package/{OpenChannelProvider-5d02b219.js → OpenChannelProvider-5ff5a469.js} +43 -16
  75. package/OpenChannelProvider-5ff5a469.js.map +1 -0
  76. package/OpenChannelSettings/components/EditDetailsModal.js +15 -13
  77. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  78. package/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
  79. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  80. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -21
  81. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  82. package/OpenChannelSettings/components/OperatorUI.js +734 -27
  83. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  84. package/OpenChannelSettings/components/ParticipantUI.js +30 -139
  85. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  86. package/OpenChannelSettings/context.js +84 -9
  87. package/OpenChannelSettings/context.js.map +1 -1
  88. package/OpenChannelSettings.js +24 -22
  89. package/OpenChannelSettings.js.map +1 -1
  90. package/SendbirdProvider.js +15 -14
  91. package/SendbirdProvider.js.map +1 -1
  92. package/{UserProfileContext-c72e5006.js → UserProfileContext-c1834696.js} +1 -1
  93. package/{UserProfileContext-c72e5006.js.map → UserProfileContext-c1834696.js.map} +1 -1
  94. package/__bundle-7dfccc8c-b47a2b5a.js +22 -0
  95. package/__bundle-7dfccc8c-b47a2b5a.js.map +1 -0
  96. package/{_rollupPluginBabelHelpers-87a4819d.js → _rollupPluginBabelHelpers-31a1bb40.js} +1 -1
  97. package/{_rollupPluginBabelHelpers-87a4819d.js.map → _rollupPluginBabelHelpers-31a1bb40.js.map} +1 -1
  98. package/{actionTypes-52ff0372.js → actionTypes-3411a721.js} +1 -1
  99. package/{actionTypes-52ff0372.js.map → actionTypes-3411a721.js.map} +1 -1
  100. package/cjs/App.js +33 -32
  101. package/cjs/App.js.map +1 -1
  102. package/cjs/Channel/components/ChannelHeader.js +17 -17
  103. package/cjs/Channel/components/ChannelUI.js +24 -24
  104. package/cjs/Channel/components/FileViewer.js +16 -16
  105. package/cjs/Channel/components/FrozenNotification.js +5 -5
  106. package/cjs/Channel/components/Message.js +21 -21
  107. package/cjs/Channel/components/MessageInput.js +18 -18
  108. package/cjs/Channel/components/MessageList.js +23 -23
  109. package/cjs/Channel/components/RemoveMessageModal.js +19 -19
  110. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  111. package/cjs/Channel/components/TypingIndicator.js +16 -16
  112. package/cjs/Channel/components/UnreadCount.js +5 -5
  113. package/cjs/Channel/context.js +15 -15
  114. package/cjs/Channel.js +24 -24
  115. package/cjs/ChannelList/components/AddChannel.js +14 -14
  116. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  117. package/cjs/ChannelList/components/ChannelListUI.js +28 -28
  118. package/cjs/ChannelList/components/ChannelPreview.js +21 -21
  119. package/cjs/ChannelList/components/ChannelPreviewAction.js +16 -16
  120. package/cjs/ChannelList/context.js +10 -10
  121. package/cjs/ChannelList.js +28 -28
  122. package/cjs/{ChannelListProvider-aa33f9fb.js → ChannelListProvider-77312a96.js} +15 -19
  123. package/cjs/ChannelListProvider-77312a96.js.map +1 -0
  124. package/cjs/{ChannelProvider-0dbd1be6.js → ChannelProvider-4a475535.js} +11 -11
  125. package/cjs/{ChannelProvider-0dbd1be6.js.map → ChannelProvider-4a475535.js.map} +1 -1
  126. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  127. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +20 -18
  128. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  129. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  130. package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
  131. package/cjs/ChannelSettings/components/ModerationPanel.js +28 -25
  132. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  133. package/cjs/ChannelSettings/components/UserListItem.js +14 -14
  134. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  135. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  136. package/cjs/ChannelSettings/context.js +3 -3
  137. package/cjs/ChannelSettings/context.js.map +1 -1
  138. package/cjs/ChannelSettings.js +20 -18
  139. package/cjs/ChannelSettings.js.map +1 -1
  140. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  141. package/cjs/CreateChannel/components/InviteUsers.js +29 -30
  142. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  143. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  144. package/cjs/CreateChannel/context.js +4 -4
  145. package/cjs/CreateChannel.js +14 -14
  146. package/cjs/{CreateChannelProvider-08837dcb.js → CreateChannelProvider-01d4eaf6.js} +1 -1
  147. package/cjs/{CreateChannelProvider-08837dcb.js.map → CreateChannelProvider-01d4eaf6.js.map} +1 -1
  148. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  149. package/cjs/EditUserProfile.js +13 -13
  150. package/cjs/{LocalizationContext-c0dc9e2f.js → LocalizationContext-a705c60f.js} +3 -3
  151. package/cjs/{LocalizationContext-c0dc9e2f.js.map → LocalizationContext-a705c60f.js.map} +1 -1
  152. package/cjs/{MemberList-17f30c30.js → MemberList-8b5f5e4a.js} +24 -21
  153. package/cjs/MemberList-8b5f5e4a.js.map +1 -0
  154. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  155. package/cjs/MessageSearch/context.js +2 -2
  156. package/cjs/MessageSearch.js +11 -11
  157. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  158. package/cjs/OpenChannel/components/OpenChannelHeader.js +15 -14
  159. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  160. package/cjs/OpenChannel/components/OpenChannelInput.js +19 -18
  161. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  162. package/cjs/OpenChannel/components/OpenChannelMessage.js +43 -28
  163. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  164. package/cjs/OpenChannel/components/OpenChannelMessageList.js +27 -26
  165. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  166. package/cjs/OpenChannel/components/OpenChannelUI.js +26 -25
  167. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  168. package/cjs/OpenChannel/context.js +12 -11
  169. package/cjs/OpenChannel/context.js.map +1 -1
  170. package/cjs/OpenChannel.js +26 -25
  171. package/cjs/OpenChannel.js.map +1 -1
  172. package/cjs/{OpenChannelProvider-2d921cf0.js → OpenChannelProvider-7cf4ccbe.js} +43 -16
  173. package/cjs/OpenChannelProvider-7cf4ccbe.js.map +1 -0
  174. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +15 -13
  175. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  176. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -13
  177. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  178. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -21
  179. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  180. package/cjs/OpenChannelSettings/components/OperatorUI.js +733 -26
  181. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  182. package/cjs/OpenChannelSettings/components/ParticipantUI.js +31 -140
  183. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  184. package/cjs/OpenChannelSettings/context.js +84 -9
  185. package/cjs/OpenChannelSettings/context.js.map +1 -1
  186. package/cjs/OpenChannelSettings.js +24 -22
  187. package/cjs/OpenChannelSettings.js.map +1 -1
  188. package/cjs/SendbirdProvider.js +16 -14
  189. package/cjs/SendbirdProvider.js.map +1 -1
  190. package/cjs/{UserProfileContext-2bd8a987.js → UserProfileContext-f46c65c9.js} +1 -1
  191. package/cjs/{UserProfileContext-2bd8a987.js.map → UserProfileContext-f46c65c9.js.map} +1 -1
  192. package/cjs/__bundle-7dfccc8c-70a9c008.js +120 -0
  193. package/cjs/__bundle-7dfccc8c-70a9c008.js.map +1 -0
  194. package/cjs/{_rollupPluginBabelHelpers-59502943.js → _rollupPluginBabelHelpers-d4231746.js} +1 -1
  195. package/cjs/{_rollupPluginBabelHelpers-59502943.js.map → _rollupPluginBabelHelpers-d4231746.js.map} +1 -1
  196. package/cjs/{actionTypes-d637dc1d.js → actionTypes-ef5574ae.js} +1 -1
  197. package/cjs/{actionTypes-d637dc1d.js.map → actionTypes-ef5574ae.js.map} +1 -1
  198. package/cjs/{color-57d2d881.js → color-f1d22e48.js} +1 -1
  199. package/cjs/{color-57d2d881.js.map → color-f1d22e48.js.map} +1 -1
  200. package/cjs/{compareIds-70f7ec01.js → compareIds-09284eb5.js} +1 -1
  201. package/cjs/{compareIds-70f7ec01.js.map → compareIds-09284eb5.js.map} +1 -1
  202. package/cjs/{const-79c19d9a.js → const-6ff8b2d7.js} +1 -1
  203. package/cjs/{const-79c19d9a.js.map → const-6ff8b2d7.js.map} +1 -1
  204. package/cjs/{const-cddf6176.js → const-a0e65c1f.js} +1 -1
  205. package/cjs/{const-cddf6176.js.map → const-a0e65c1f.js.map} +1 -1
  206. package/cjs/{context-277763cc.js → context-3116d4af.js} +2 -2
  207. package/cjs/{context-277763cc.js.map → context-3116d4af.js.map} +1 -1
  208. package/cjs/dist/index.css +154 -105
  209. package/cjs/dist/index.css.map +1 -1
  210. package/cjs/groupChannel-c120b8c6.js +11 -0
  211. package/cjs/groupChannel-c120b8c6.js.map +1 -0
  212. package/cjs/{index-7970f43b.js → index-04096e45.js} +2 -2
  213. package/cjs/{index-7970f43b.js.map → index-04096e45.js.map} +1 -1
  214. package/cjs/{index-f73b522b.js → index-100d673e.js} +2 -2
  215. package/cjs/{index-f73b522b.js.map → index-100d673e.js.map} +1 -1
  216. package/cjs/{index-f10a973e.js → index-30ce73c3.js} +3 -3
  217. package/cjs/{index-f10a973e.js.map → index-30ce73c3.js.map} +1 -1
  218. package/cjs/{index-f3df6bb6.js → index-6a22f079.js} +6 -6
  219. package/cjs/{index-f3df6bb6.js.map → index-6a22f079.js.map} +1 -1
  220. package/cjs/{index-cb29dc31.js → index-7efed648.js} +4 -4
  221. package/cjs/{index-cb29dc31.js.map → index-7efed648.js.map} +1 -1
  222. package/cjs/{index-0e3ec349.js → index-876b2b8c.js} +1 -1
  223. package/cjs/{index-0e3ec349.js.map → index-876b2b8c.js.map} +1 -1
  224. package/cjs/{index-897ebaf9.js → index-98ff8992.js} +1 -1
  225. package/cjs/{index-897ebaf9.js.map → index-98ff8992.js.map} +1 -1
  226. package/cjs/index-9deff671.js +358 -0
  227. package/cjs/index-9deff671.js.map +1 -0
  228. package/cjs/{index-8c6ece9e.js → index-ac60aa9e.js} +4 -4
  229. package/cjs/{index-8c6ece9e.js.map → index-ac60aa9e.js.map} +1 -1
  230. package/cjs/{index-54177640.js → index-bb59494a.js} +5 -5
  231. package/cjs/index-bb59494a.js.map +1 -0
  232. package/cjs/{index-5755be7f.js → index-ed5d5e9d.js} +3 -3
  233. package/cjs/{index-5755be7f.js.map → index-ed5d5e9d.js.map} +1 -1
  234. package/cjs/index.js +38 -36
  235. package/cjs/index.js.map +1 -1
  236. package/cjs/openChannel-8c980cdb.js +9 -0
  237. package/cjs/openChannel-8c980cdb.js.map +1 -0
  238. package/cjs/{openChannelUtils-250d464a.js → openChannelUtils-eb30b158.js} +1 -2
  239. package/cjs/{openChannelUtils-250d464a.js.map → openChannelUtils-eb30b158.js.map} +1 -1
  240. package/cjs/sendbirdSelectors.js +4 -4
  241. package/cjs/sendbirdSelectors.js.map +1 -1
  242. package/cjs/{stringSet-8a5752c1.js → stringSet-4e80362c.js} +28 -3
  243. package/cjs/stringSet-4e80362c.js.map +1 -0
  244. package/cjs/{topics-5541d80a.js → topics-1ea796fe.js} +1 -1
  245. package/cjs/{topics-5541d80a.js.map → topics-1ea796fe.js.map} +1 -1
  246. package/cjs/{tslib.es6-999b9d2f.js → tslib.es6-5520d66d.js} +1 -1
  247. package/cjs/{tslib.es6-999b9d2f.js.map → tslib.es6-5520d66d.js.map} +1 -1
  248. package/cjs/ui/Accordion.js +4 -4
  249. package/cjs/ui/AccordionGroup.js +2 -2
  250. package/cjs/ui/AdminMessage.js +3 -3
  251. package/cjs/ui/Avatar.js +3 -3
  252. package/cjs/ui/Badge.js +5 -5
  253. package/cjs/ui/Button.js +4 -4
  254. package/cjs/ui/ChannelAvatar.js +4 -4
  255. package/cjs/ui/ChannelPreview.js +12 -12
  256. package/cjs/ui/ChatHeader.js +8 -8
  257. package/cjs/ui/Checkbox.js +12 -24
  258. package/cjs/ui/Checkbox.js.map +1 -1
  259. package/cjs/ui/ConnectionStatus.js +5 -5
  260. package/cjs/ui/ContextMenu.js +5 -5
  261. package/cjs/ui/DateSeparator.js +4 -4
  262. package/cjs/ui/Dropdown.js +3 -3
  263. package/cjs/ui/EmojiReactions.js +7 -7
  264. package/cjs/ui/FileMessageItemBody.js +6 -6
  265. package/cjs/ui/FileViewer.js +7 -7
  266. package/cjs/ui/Icon.js +1 -1
  267. package/cjs/ui/IconButton.js +1 -1
  268. package/cjs/ui/ImageRenderer.js +1 -1
  269. package/cjs/ui/Input.js +3 -3
  270. package/cjs/ui/Label.js +3 -3
  271. package/cjs/ui/LinkLabel.js +3 -3
  272. package/cjs/ui/Loader.js +1 -1
  273. package/cjs/ui/MentionLabel.js +11 -11
  274. package/cjs/ui/MessageContent.js +14 -14
  275. package/cjs/ui/MessageInput.js +10 -10
  276. package/cjs/ui/MessageItemMenu.js +7 -7
  277. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  278. package/cjs/ui/MessageSearchFileItem.js +10 -10
  279. package/cjs/ui/MessageSearchItem.js +10 -10
  280. package/cjs/ui/MessageStatus.js +8 -8
  281. package/cjs/ui/Modal.js +12 -9
  282. package/cjs/ui/Modal.js.map +1 -1
  283. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  284. package/cjs/ui/OGMessageItemBody.js +11 -11
  285. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  286. package/cjs/ui/OpenChannelAvatar.js +7 -7
  287. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  288. package/cjs/ui/OpenchannelFileMessage.js +17 -17
  289. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  290. package/cjs/ui/OpenchannelOGMessage.js +17 -17
  291. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  292. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  293. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  294. package/cjs/ui/OpenchannelUserMessage.js +17 -17
  295. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  296. package/cjs/ui/PlaceHolder.js +6 -6
  297. package/cjs/ui/QuoteMessage.js +7 -7
  298. package/cjs/ui/QuoteMessageInput.js +7 -7
  299. package/cjs/ui/ReactionBadge.js +3 -3
  300. package/cjs/ui/ReactionButton.js +1 -1
  301. package/cjs/ui/SortByRow.js +1 -1
  302. package/cjs/ui/TextButton.js +2 -2
  303. package/cjs/ui/TextMessageItemBody.js +11 -11
  304. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  305. package/cjs/ui/Tooltip.js +3 -3
  306. package/cjs/ui/TooltipWrapper.js +1 -1
  307. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  308. package/cjs/ui/UserListItem.js +34 -62
  309. package/cjs/ui/UserListItem.js.map +1 -1
  310. package/cjs/ui/UserProfile.js +10 -10
  311. package/cjs/ui/Word.js +11 -11
  312. package/cjs/useSendbirdStateContext.js +1 -1
  313. package/cjs/{utils-2e571594.js → utils-84bab0ba.js} +1 -1
  314. package/cjs/{utils-2e571594.js.map → utils-84bab0ba.js.map} +1 -1
  315. package/cjs/{utils-fdc85251.js → utils-a34410a9.js} +1 -1
  316. package/cjs/{utils-fdc85251.js.map → utils-a34410a9.js.map} +1 -1
  317. package/cjs/{utils-0b87e6c8.js → utils-cb9aac85.js} +1 -1
  318. package/cjs/{utils-0b87e6c8.js.map → utils-cb9aac85.js.map} +1 -1
  319. package/cjs/{uuid-c1af9ac6.js → uuid-51919e62.js} +1 -1
  320. package/cjs/{uuid-c1af9ac6.js.map → uuid-51919e62.js.map} +1 -1
  321. package/cjs/withSendbird.js +1 -1
  322. package/{color-32ee546e.js → color-0d32d75b.js} +1 -1
  323. package/{color-32ee546e.js.map → color-0d32d75b.js.map} +1 -1
  324. package/{compareIds-9b3202b9.js → compareIds-2a25c4fd.js} +1 -1
  325. package/{compareIds-9b3202b9.js.map → compareIds-2a25c4fd.js.map} +1 -1
  326. package/{const-c2efe3b4.js → const-58f24b74.js} +1 -1
  327. package/{const-c2efe3b4.js.map → const-58f24b74.js.map} +1 -1
  328. package/{const-7b1f25aa.js → const-6d03d727.js} +1 -1
  329. package/{const-7b1f25aa.js.map → const-6d03d727.js.map} +1 -1
  330. package/{context-4a3c0658.js → context-53e8285b.js} +2 -2
  331. package/{context-4a3c0658.js.map → context-53e8285b.js.map} +1 -1
  332. package/dist/index.css +154 -105
  333. package/dist/index.css.map +1 -1
  334. package/groupChannel-1c5076e4.js +8 -0
  335. package/groupChannel-1c5076e4.js.map +1 -0
  336. package/{index-f9e25c08.js → index-1cb86f16.js} +2 -2
  337. package/{index-f9e25c08.js.map → index-1cb86f16.js.map} +1 -1
  338. package/{index-fdcc4a92.js → index-3b997158.js} +3 -3
  339. package/{index-fdcc4a92.js.map → index-3b997158.js.map} +1 -1
  340. package/{index-097f4b78.js → index-526e1c2f.js} +1 -1
  341. package/{index-097f4b78.js.map → index-526e1c2f.js.map} +1 -1
  342. package/{index-f457e0cd.js → index-5751f53d.js} +4 -4
  343. package/{index-f457e0cd.js.map → index-5751f53d.js.map} +1 -1
  344. package/{index-ff084076.js → index-64bbdf03.js} +3 -3
  345. package/{index-ff084076.js.map → index-64bbdf03.js.map} +1 -1
  346. package/{index-e647d770.js → index-8cd47fe5.js} +5 -5
  347. package/index-8cd47fe5.js.map +1 -0
  348. package/{index-b9a5ff91.js → index-a6ed3522.js} +1 -1
  349. package/{index-b9a5ff91.js.map → index-a6ed3522.js.map} +1 -1
  350. package/index-a754a6e3.js +351 -0
  351. package/index-a754a6e3.js.map +1 -0
  352. package/{index-f86f98c3.js → index-c535b427.js} +6 -6
  353. package/{index-f86f98c3.js.map → index-c535b427.js.map} +1 -1
  354. package/{index-89c172fc.js → index-fd29af9b.js} +2 -2
  355. package/{index-89c172fc.js.map → index-fd29af9b.js.map} +1 -1
  356. package/{index-12f6f771.js → index-fe143e10.js} +4 -4
  357. package/{index-12f6f771.js.map → index-fe143e10.js.map} +1 -1
  358. package/index.d.ts +28 -16
  359. package/index.js +38 -37
  360. package/index.js.map +1 -1
  361. package/openChannel-243ce500.js +6 -0
  362. package/openChannel-243ce500.js.map +1 -0
  363. package/{openChannelUtils-588d2978.js → openChannelUtils-d942de1a.js} +2 -2
  364. package/{openChannelUtils-588d2978.js.map → openChannelUtils-d942de1a.js.map} +1 -1
  365. package/package-lock.json +1 -1
  366. package/package.json +1 -1
  367. package/sendbirdSelectors.js +4 -4
  368. package/sendbirdSelectors.js.map +1 -1
  369. package/{stringSet-adf0eb59.js → stringSet-8f56c095.js} +28 -3
  370. package/stringSet-8f56c095.js.map +1 -0
  371. package/{topics-29b13da4.js → topics-27c99fc7.js} +1 -1
  372. package/{topics-29b13da4.js.map → topics-27c99fc7.js.map} +1 -1
  373. package/{tslib.es6-5a2250f9.js → tslib.es6-70020af6.js} +1 -1
  374. package/{tslib.es6-5a2250f9.js.map → tslib.es6-70020af6.js.map} +1 -1
  375. package/ui/Accordion.js +4 -4
  376. package/ui/AccordionGroup.js +2 -2
  377. package/ui/AdminMessage.js +3 -3
  378. package/ui/Avatar.js +3 -3
  379. package/ui/Badge.js +5 -5
  380. package/ui/Button.js +4 -4
  381. package/ui/ChannelAvatar.js +4 -4
  382. package/ui/ChannelPreview.js +12 -12
  383. package/ui/ChatHeader.js +8 -8
  384. package/ui/Checkbox.js +12 -23
  385. package/ui/Checkbox.js.map +1 -1
  386. package/ui/ConnectionStatus.js +5 -5
  387. package/ui/ContextMenu.js +5 -5
  388. package/ui/DateSeparator.js +4 -4
  389. package/ui/Dropdown.js +3 -3
  390. package/ui/EmojiReactions.js +7 -7
  391. package/ui/FileMessageItemBody.js +6 -6
  392. package/ui/FileViewer.js +7 -7
  393. package/ui/Icon.js +1 -1
  394. package/ui/IconButton.js +1 -1
  395. package/ui/ImageRenderer.js +1 -1
  396. package/ui/Input.js +3 -3
  397. package/ui/Label.js +3 -3
  398. package/ui/LinkLabel.js +3 -3
  399. package/ui/Loader.js +1 -1
  400. package/ui/MentionLabel.js +11 -11
  401. package/ui/MessageContent.js +14 -14
  402. package/ui/MessageInput.js +10 -10
  403. package/ui/MessageItemMenu.js +7 -7
  404. package/ui/MessageItemReactionMenu.js +5 -5
  405. package/ui/MessageSearchFileItem.js +10 -10
  406. package/ui/MessageSearchItem.js +10 -10
  407. package/ui/MessageStatus.js +8 -8
  408. package/ui/Modal.js +12 -9
  409. package/ui/Modal.js.map +1 -1
  410. package/ui/MutedAvatarOverlay.js +1 -1
  411. package/ui/OGMessageItemBody.js +11 -11
  412. package/ui/OpenChannelAdminMessage.js +4 -4
  413. package/ui/OpenChannelAvatar.js +7 -7
  414. package/ui/OpenchannelConversationHeader.js +7 -7
  415. package/ui/OpenchannelFileMessage.js +17 -17
  416. package/ui/OpenchannelFileMessage.js.map +1 -1
  417. package/ui/OpenchannelOGMessage.js +17 -17
  418. package/ui/OpenchannelOGMessage.js.map +1 -1
  419. package/ui/OpenchannelThumbnailMessage.js +16 -16
  420. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  421. package/ui/OpenchannelUserMessage.js +17 -17
  422. package/ui/OpenchannelUserMessage.js.map +1 -1
  423. package/ui/PlaceHolder.js +6 -6
  424. package/ui/QuoteMessage.js +7 -7
  425. package/ui/QuoteMessageInput.js +7 -7
  426. package/ui/ReactionBadge.js +3 -3
  427. package/ui/ReactionButton.js +1 -1
  428. package/ui/SortByRow.js +1 -1
  429. package/ui/TextButton.js +2 -2
  430. package/ui/TextMessageItemBody.js +11 -11
  431. package/ui/ThumbnailMessageItemBody.js +3 -3
  432. package/ui/Tooltip.js +3 -3
  433. package/ui/TooltipWrapper.js +1 -1
  434. package/ui/UnknownMessageItemBody.js +7 -7
  435. package/ui/UserListItem.js +34 -61
  436. package/ui/UserListItem.js.map +1 -1
  437. package/ui/UserProfile.js +10 -10
  438. package/ui/Word.js +11 -11
  439. package/useSendbirdStateContext.js +1 -1
  440. package/{utils-3702c3d4.js → utils-c7599c37.js} +1 -1
  441. package/{utils-3702c3d4.js.map → utils-c7599c37.js.map} +1 -1
  442. package/{utils-ad16f26f.js → utils-e3bda5a7.js} +1 -1
  443. package/{utils-ad16f26f.js.map → utils-e3bda5a7.js.map} +1 -1
  444. package/{utils-e6f6eb1b.js → utils-e5523522.js} +1 -1
  445. package/{utils-e6f6eb1b.js.map → utils-e5523522.js.map} +1 -1
  446. package/{uuid-9ac267fb.js → uuid-118d6514.js} +1 -1
  447. package/{uuid-9ac267fb.js.map → uuid-118d6514.js.map} +1 -1
  448. package/withSendbird.js +1 -1
  449. package/ChannelListProvider-98ce41d2.js.map +0 -1
  450. package/MemberList-351c6fcc.js.map +0 -1
  451. package/OpenChannelProvider-5d02b219.js.map +0 -1
  452. package/__bundle-7dfccc8c-be772b9c.js +0 -4396
  453. package/__bundle-7dfccc8c-be772b9c.js.map +0 -1
  454. package/cjs/ChannelListProvider-aa33f9fb.js.map +0 -1
  455. package/cjs/MemberList-17f30c30.js.map +0 -1
  456. package/cjs/OpenChannelProvider-2d921cf0.js.map +0 -1
  457. package/cjs/__bundle-7dfccc8c-92c0a42c.js +0 -4523
  458. package/cjs/__bundle-7dfccc8c-92c0a42c.js.map +0 -1
  459. package/cjs/groupChannel-65c54bfa.js +0 -9
  460. package/cjs/groupChannel-65c54bfa.js.map +0 -1
  461. package/cjs/index-54177640.js.map +0 -1
  462. package/cjs/openChannel-0e621900.js +0 -5251
  463. package/cjs/openChannel-0e621900.js.map +0 -1
  464. package/cjs/stringSet-8a5752c1.js.map +0 -1
  465. package/groupChannel-7e48e30f.js +0 -6
  466. package/groupChannel-7e48e30f.js.map +0 -1
  467. package/index-e647d770.js.map +0 -1
  468. package/openChannel-4de8ae5b.js +0 -5246
  469. package/openChannel-4de8ae5b.js.map +0 -1
  470. package/stringSet-adf0eb59.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OperatorUI.js","sources":["../../../src/smart-components/OpenChannelSettings/components/DeleteOpenChannel.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { useOpenChannelSettingsContext } from '../context/OpenChannelSettingsProvider';\n\nexport default function DeleteChannel(): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n const globalState = useSendbirdStateContext();\n const isOnline = globalState?.config?.isOnline;\n const logger = globalState?.config?.logger;\n\n const { channel, onDeleteChannel } = useOpenChannelSettingsContext();\n\n const deleteChannel = () => {\n channel?.delete().then((response) => {\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n }).catch((error) => {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n });\n }\n return (\n <>\n <div\n className={\n `sendbird-openchannel-settings__panel-item\n sendbird-openchannel-settings__delete-channel\n ${!isOnline ? 'sendbird-openchannel-settings__panel-item__disabled' : ''}`\n }\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n className={[\n 'sendbird-openchannel-settings__panel-icon-left',\n 'sendbird-openchannel-settings__panel-icon__delete',\n ].join(' ')}\n height=\"24px\"\n width=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n </Label>\n </div>\n {\n showDeleteChannelModal && (\n <Modal\n onCancel={() => {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n deleteChannel();\n }}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n />\n )\n }\n </>\n )\n}\n","import React, { useContext } from 'react';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, {\n IconTypes,\n IconColors,\n} from '../../../../ui/Icon';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport OpenChannelProfile from '../OpenChannelProfile';\nimport DeleteChannel from '../DeleteOpenChannel';\nimport ParticipantsAccordion from '../ParticipantUI';\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport interface OperatorUIProps {\n renderChannelProfile?: () => React.ReactNode;\n}\n\nexport const OperatorUI: React.FC<OperatorUIProps> = ({\n renderChannelProfile,\n}: OperatorUIProps) => {\n const { stringSet } = useContext(LocalizationContext);\n const {\n onCloseClick,\n channel,\n } = useOpenChannelSettingsContext();\n return (\n <>\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <Icon\n className=\"sendbird-openchannel-settings__close-icon\"\n type={IconTypes.CLOSE}\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n <div className=\"sendbird-openchannel-settings__profile\">\n {\n renderChannelProfile?.() || (\n <OpenChannelProfile />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-settings__url\">\n <Icon\n className=\"sendbird-openchannel-settings__copy-icon\"\n type={IconTypes.COPY}\n height=\"22px\"\n width=\"22px\"\n onClick={() => {\n copyToClipboard(channel?.url);\n }}\n />\n <Label\n className=\"sendbird-openchannel-settings__url-label\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n </Label>\n <Label\n className=\"sendbird-openchannel-settings__url-value\"\n type={LabelTypography.SUBTITLE_2}\n >\n {channel?.url}\n </Label>\n </div>\n <AccordionGroup>\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__operator-accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <ParticipantsAccordion />\n </>\n )}\n />\n </AccordionGroup>\n <DeleteChannel />\n </>\n );\n};\n\nexport default OperatorUI;\n"],"names":["DeleteChannel","_c","useState","showDeleteChannelModal","setShowDeleteChannelModal","stringSet","useContext","LocalizationContext","globalState","useSendbirdStateContext","isOnline","config","logger","_d","useOpenChannelSettingsContext","channel","onDeleteChannel","deleteChannel","delete","then","response","info","catch","error","warning","React","IconTypes","DELETE","join","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","OperatorUI","_a","renderChannelProfile","_b","onCloseClick","H_2","CHANNEL_SETTING__HEADER__TITLE","CLOSE","OpenChannelProfile","COPY","url","CAPTION_2","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","SUBTITLE_2","MEMBERS","IconColors","PRIMARY","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","ParticipantsAccordion"],"mappings":"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"}
1
+ {"version":3,"file":"OperatorUI.js","sources":["../../../src/smart-components/OpenChannelSettings/components/OperatorUI/DeleteOpenChannel.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/OperatorsModal.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/AddOperatorsModal.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/OperatorList.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/MutedParticipantsModal.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/MutedParticipantList.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/BannedUsersModal.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/BannedUserList.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\n\nexport default function DeleteChannel(): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n const globalState = useSendbirdStateContext();\n const isOnline = globalState?.config?.isOnline;\n const logger = globalState?.config?.logger;\n\n const { channel, onDeleteChannel } = useOpenChannelSettingsContext();\n\n const deleteChannel = () => {\n channel?.delete().then((response) => {\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n }).catch((error) => {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n });\n }\n return (\n <>\n <div\n className={\n `sendbird-openchannel-settings__panel-item\n sendbird-openchannel-settings__delete-channel\n ${!isOnline ? 'sendbird-openchannel-settings__panel-item__disabled' : ''}`\n }\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.ERROR}\n className={[\n 'sendbird-openchannel-settings__panel-icon-left',\n 'sendbird-openchannel-settings__panel-icon__delete',\n ].join(' ')}\n height=\"24px\"\n width=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n </Label>\n </div>\n {\n showDeleteChannelModal && (\n <Modal\n onCancel={() => {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n deleteChannel();\n }}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_CONTEXT}\n </Modal>\n )\n }\n </>\n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\ninterface Props { onCancel?(): void }\n\nexport default function OperatorListModal({ onCancel }: Props): ReactElement {\n const [users, setUsers] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n const { channel } = useOpenChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUserId = state?.config?.userId;\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 20,\n });\n operatorListQuery.next().then((participants) => {\n setUsers(participants);\n });\n setOperatorQuery(operatorListQuery);\n }, [])\n return (\n <div>\n <Modal\n hideFooter\n titleText=\"All operators\"\n onCancel={onCancel}\n >\n <div\n className=\"sendbird-more-users__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = operatorQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n operatorQuery.next().then((o) => {\n setUsers([\n ...users,\n ...o,\n ])\n });\n }\n }}\n >\n {\n users.map((operator) => (\n <UserListItem\n currentUser={currentUserId}\n user={operator}\n key={operator.userId}\n action={({ parentRef, actionRef }) => (\n currentUserId !== operator?.userId\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([operator.userId]).then(() => {\n setUsers(users.filter(({ userId }) => {\n return userId !== operator.userId;\n }));\n });\n closeDropdown();\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR}\n </MenuItem>\n </MenuItems>\n )}\n />\n ) : null\n )}\n />\n ))\n }\n </div>\n </Modal>\n </div>\n )\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Modal from '../../../../ui/Modal';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\n\ninterface Props {\n onCancel(): void;\n onSubmit(participants: Array<string>): void;\n}\n\nexport default function AddOperatorsModal({\n onCancel,\n onSubmit,\n}: Props): ReactElement {\n const [participants, setParticipants] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState({});\n const [participantQuery, setParticipantQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n const { channel } = useOpenChannelSettingsContext();\n\n useEffect(() => {\n const participantListQuery = channel?.createParticipantListQuery({\n limit: 20,\n });\n participantListQuery.next().then((users) => {\n setParticipants(users);\n });\n setParticipantQuery(participantListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedUsers).filter((m) => selectedUsers[m]).length;\n return (\n <>\n <Modal\n type={ButtonType.PRIMARY}\n submitText=\"Add\"\n onCancel={onCancel}\n onSubmit={() => {\n const users = Object.keys(selectedUsers).filter((m) => selectedUsers[m]);\n channel?.addOperators(users).then(() => {\n onSubmit(users);\n })\n }}\n titleText=\"Select users\"\n >\n <Label\n color={(selectedCount > 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n </Label>\n <div\n className=\"sendbird-more-users__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n if (hasNext && fetchMore) {\n participantQuery.next().then((o) => {\n setParticipants([\n ...participants,\n ...o,\n ])\n });\n }\n }}\n >\n {\n participants.map((participant) => {\n const isOperator = channel?.operators.find((operator) => operator?.userId === participant?.userId) ? true : false;\n return (\n <UserListItem\n checkBox\n checked={selectedUsers[participant.userId] || isOperator}\n disabled={isOperator}\n isOperator={isOperator}\n onChange={\n (event) => {\n const modifiedSelectedUsers = {\n ...selectedUsers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedUsers[event.target.id];\n }\n setSelectedUsers(modifiedSelectedUsers);\n }\n }\n user={participant}\n key={participant.userId}\n />\n );\n })\n }\n </div>\n </Modal>\n </>\n );\n}\n","import React, { ReactElement, useContext, useState } from 'react';\n\nimport { UserListItem } from '../ParticipantUI/ParticipantItem';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport OperatorListModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\n\nconst OperatorList = (): ReactElement => {\n const [showAdd, setShowAdd] = useState<boolean>(false);\n const [showMore, setShowMore] = useState<boolean>(false);\n const state = useSendbirdStateContext();\n const currentUserId = state?.config?.userId;\n const { stringSet } = useContext(LocalizationContext);\n const { channel } = useOpenChannelSettingsContext();\n\n return (\n <div>\n {\n channel?.operators?.slice(0, 10).map((operator) => (\n <UserListItem\n key={operator.userId}\n user={operator}\n currentUser={currentUserId}\n action={({ actionRef }) => (\n currentUserId !== operator?.userId\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-openchannel-operator-list__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([operator.userId]).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.muteUser(operator).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(operator).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n ) : null\n )}\n />\n ))\n }\n <div className=\"sendbird-openchannel-operator-list__footer\">\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowAdd(true);\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ADD}\n </Button>\n {\n channel?.operators?.length > 10 && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowMore(true);\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ALL}\n </Button>\n )\n }\n </div>\n {\n showMore && (\n <>\n <OperatorListModal\n onCancel={() => {\n setShowMore(false);\n }}\n />\n </>\n )\n }\n {\n showAdd && (\n <>\n <AddOperatorsModal\n onCancel={() => setShowAdd(false)}\n onSubmit={() => {\n setShowAdd(false);\n }}\n />\n </>\n )\n }\n </div>\n );\n};\n\nexport default OperatorList;\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useState,\n} from 'react';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function MutedParticipantsModal({\n onCancel,\n}: Props): ReactElement {\n const [mutedUsers, setMutedUsers] = useState([]);\n const [userListQuery, setUserListQuery] = useState(null);\n\n const { channel } = useOpenChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUserId = state?.config?.userId;\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n const mutedUserListQuery = channel?.createMutedUserListQuery({\n limit: 10,\n });\n mutedUserListQuery.next().then((users) => {\n setMutedUsers(users);\n });\n setUserListQuery(mutedUserListQuery);\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = userListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n userListQuery.next().then((o) => {\n setMutedUsers([\n ...mutedUsers,\n ...o,\n ])\n });\n }\n }}\n >\n {\n mutedUsers.map((mutedUser) => (\n <UserListItem\n currentUser={currentUserId}\n user={mutedUser}\n key={mutedUser.userId}\n action={({ actionRef }) => (\n mutedUser?.userId !== currentUserId\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(mutedUser).then(() => {\n closeDropdown();\n setMutedUsers(mutedUsers.filter((u) => {\n return (u.userId !== mutedUser.userId);\n }));\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE}\n </MenuItem>\n </MenuItems>\n )}\n />\n ) : null\n )}\n />\n ))}\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { UserListItem } from '../ParticipantUI/ParticipantItem';\nimport MutedParticipantsModal from './MutedParticipantsModal';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nexport const MutedParticipantList = (): ReactElement => {\n const [mutedUsers, setMutedUsers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useOpenChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUserId = state?.config?.userId;\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel) {\n setMutedUsers([]);\n return;\n }\n const mutedUserListQuery = channel?.createMutedUserListQuery({\n limit: 10,\n });\n mutedUserListQuery.next().then((members) => {\n setMutedUsers(members);\n setHasNext(mutedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMutedUsers([]);\n return;\n }\n\n const mutedUserListQuery = channel?.createMutedUserListQuery({\n limit: 10,\n });\n mutedUserListQuery.next().then((members) => {\n setMutedUsers(members);\n setHasNext(mutedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n mutedUsers.map((mutedUser) => (\n <UserListItem\n key={mutedUser.userId}\n user={mutedUser}\n currentUser={currentUserId}\n isOperator={channel?.isOperator(mutedUser.userId)}\n action={({ actionRef }) => (\n mutedUser?.userId !== currentUserId\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n closeDropdown={closeDropdown}\n openLeft\n parentRef={actionRef}\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(mutedUser).then(() => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE}\n </MenuItem>\n </MenuItems>\n )}\n />\n ) : null\n )}\n />\n ))\n }\n {\n mutedUsers && mutedUsers.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__NO_ONE}\n </Label>\n )\n }\n {\n hasNext && (\n <div\n className=\"sendbird-channel-settings-muted-participant-list__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE_ALL}\n </Button>\n </div>\n )\n }\n {\n showModal && (\n <MutedParticipantsModal\n onCancel={() => {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n </>\n );\n}\n\nexport default MutedParticipantList;\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useState,\n} from 'react';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function BannedUsersModal({\n onCancel,\n}: Props): ReactElement {\n const [bannedUsers, setBannedUsers] = useState([]);\n const [userListQuery, setUserListQuery] = useState(null);\n const { channel } = useOpenChannelSettingsContext();\n const state = useSendbirdStateContext();\n const { stringSet } = useContext(LocalizationContext);\n const currentUserId = state?.config?.userId;\n\n useEffect(() => {\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setBannedUsers(users);\n });\n setUserListQuery(bannedUserListQuery);\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = userListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n userListQuery.next().then((o) => {\n setBannedUsers([\n ...bannedUsers,\n ...o,\n ])\n });\n }\n }}\n >\n {\n bannedUsers.map((bannedUser) => (\n <UserListItem\n user={bannedUser}\n key={bannedUser.userId}\n action={({ actionRef }) => (\n bannedUser?.userId !== currentUserId\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(bannedUser).then(() => {\n closeDropdown();\n setBannedUsers(bannedUsers.filter((u) => {\n return (u.userId !== bannedUser.userId);\n }));\n })\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNBAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n ) : null\n )\n }\n />\n ))\n }\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport BannedUsersModal from './BannedUsersModal';\nimport { UserListItem } from '../ParticipantUI/ParticipantItem';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nexport const BannedUserList = (): ReactElement => {\n const [bannedUsers, setBannedUsers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useOpenChannelSettingsContext();\n const state = useSendbirdStateContext();\n const { stringSet } = useContext(LocalizationContext);\n const currentUserId = state?.config?.userId;\n\n useEffect(() => {\n if (!channel) {\n setBannedUsers([]);\n return;\n }\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setBannedUsers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setBannedUsers([]);\n return;\n }\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setBannedUsers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n bannedUsers.map((bannedUser) => (\n <UserListItem\n key={bannedUser.userId}\n user={bannedUser}\n isOperator={channel?.isOperator(bannedUser.userId)}\n action={({ actionRef }) => (\n bannedUser?.userId !== currentUserId\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(bannedUser).then(() => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNBAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n ) : null\n )}\n />\n ))\n }\n {\n bannedUsers && bannedUsers.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__NO_ONE}\n </Label>\n )\n }\n {\n hasNext && (\n <div className=\"sendbird-channel-settings-banned-user-list__footer\" >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE_ALL}\n </Button>\n </div>\n )\n }\n {\n showModal && (\n <BannedUsersModal\n onCancel={() => {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n </>\n );\n}\n\n\nexport default BannedUserList;\n","import React, { useContext } from 'react';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, {\n IconTypes,\n IconColors,\n} from '../../../../ui/Icon';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport OpenChannelProfile from '../OpenChannelProfile';\nimport DeleteChannel from './DeleteOpenChannel';\nimport ParticipantsAccordion from '../ParticipantUI';\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport OperatorList from './OperatorList';\nimport MutedParticipantList from './MutedParticipantList';\nimport BannedUserList from './BannedUserList';\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport interface OperatorUIProps {\n renderChannelProfile?: () => React.ReactNode;\n}\n\nexport const OperatorUI: React.FC<OperatorUIProps> = ({\n renderChannelProfile,\n}: OperatorUIProps) => {\n const { stringSet } = useContext(LocalizationContext);\n const {\n onCloseClick,\n channel,\n } = useOpenChannelSettingsContext();\n return (\n <>\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <Icon\n className=\"sendbird-openchannel-settings__close-icon\"\n type={IconTypes.CLOSE}\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n <div className=\"sendbird-openchannel-settings__profile\">\n {\n renderChannelProfile?.() || (\n <OpenChannelProfile />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-settings__url\">\n <Icon\n className=\"sendbird-openchannel-settings__copy-icon\"\n type={IconTypes.COPY}\n height=\"22px\"\n width=\"22px\"\n onClick={() => {\n copyToClipboard(channel?.url);\n }}\n />\n <Label\n className=\"sendbird-openchannel-settings__url-label\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n </Label>\n <Label\n className=\"sendbird-openchannel-settings__url-value\"\n type={LabelTypography.SUBTITLE_2}\n >\n {channel?.url}\n </Label>\n </div>\n <AccordionGroup>\n <Accordion\n className=\"sendbird-openchannel-settings__operators-list\"\n id=\"operators\"\n renderTitle={() => (\n <>\n <Icon\n className=\"sendbird-openchannel-settings__operator-accordion-icon\"\n type={IconTypes.OPERATOR}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATORS_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <OperatorList />\n </>\n )}\n />\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__operator-accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <ParticipantsAccordion isOperatorView />\n </>\n )}\n />\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\n id=\"mutedMembers\"\n renderTitle={() => (\n <>\n <Icon\n className=\"sendbird-openchannel-settings__operator-accordion-icon\"\n type={IconTypes.MUTE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <MutedParticipantList />\n </>\n )}\n />\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\n id=\"bannedUsers\"\n renderTitle={() => (\n <>\n <Icon\n className=\"sendbird-openchannel-settings__operator-accordion-icon\"\n type={IconTypes.BAN}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <BannedUserList />\n </>\n )}\n />\n </AccordionGroup>\n <DeleteChannel />\n </>\n );\n};\n\nexport default OperatorUI;\n"],"names":["DeleteChannel","_c","useState","showDeleteChannelModal","setShowDeleteChannelModal","stringSet","useContext","LocalizationContext","globalState","useSendbirdStateContext","isOnline","config","logger","_d","useOpenChannelSettingsContext","channel","onDeleteChannel","deleteChannel","delete","then","response","info","catch","error","warning","React","IconTypes","DELETE","IconColors","ERROR","join","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_CONTEXT","OperatorListModal","_a","onCancel","users","setUsers","operatorQuery","setOperatorQuery","state","currentUserId","userId","useEffect","operatorListQuery","createOperatorListQuery","limit","next","participants","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","operator","parentRef","actionRef","toggleDropdown","MORE","CONTENT_INVERSE","closeDropdown","removeOperators","filter","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","AddOperatorsModal","onSubmit","_b","setParticipants","selectedUsers","setSelectedUsers","participantQuery","setParticipantQuery","participantListQuery","createParticipantListQuery","selectedCount","Object","keys","m","length","ButtonType","PRIMARY","addOperators","ONBACKGROUND_3","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","participant","isOperator","operators","find","event","modifiedSelectedUsers","id","checked","OperatorList","showAdd","setShowAdd","_e","showMore","setShowMore","slice","UserListItem","muteUser","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","ButtonTypes","SECONDARY","ButtonSizes","SMALL","OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ADD","OPEN_CHANNEL_SETTINGS__OPERATORS__TITLE_ALL","MutedParticipantsModal","mutedUsers","setMutedUsers","userListQuery","setUserListQuery","mutedUserListQuery","createMutedUserListQuery","noop","mutedUser","unmuteUser","u","OPEN_CHANNEL_SETTING__MODERATION__UNMUTE","MutedParticipantList","setHasNext","showModal","setShowModal","members","refreshList","useCallback","SUBTITLE_2","OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__NO_ONE","OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE_ALL","BannedUsersModal","bannedUsers","setBannedUsers","bannedUserListQuery","createBannedUserListQuery","bannedUser","unbanUser","OPEN_CHANNEL_SETTING__MODERATION__UNBAN","BannedUserList","OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__NO_ONE","OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE_ALL","copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","OperatorUI","renderChannelProfile","onCloseClick","H_2","CHANNEL_SETTING__HEADER__TITLE","CLOSE","OpenChannelProfile","COPY","url","CAPTION_2","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","OPERATOR","OPEN_CHANNEL_SETTINGS__OPERATORS_TITLE","MEMBERS","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","ParticipantsAccordion","MUTE","OPEN_CHANNEL_SETTINGS__MUTED_MEMBERS__TITLE","BAN","OPEN_CHANNEL_SETTINGS__BANNED_MEMBERS__TITLE"],"mappings":"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"}
@@ -1,145 +1,36 @@
1
- import { a as __spreadArray } from '../../tslib.es6-5a2250f9.js';
2
- import React__default, { useRef, useContext, useState, useEffect } from 'react';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-fdcc4a92.js';
4
- import { a as LocalizationContext } from '../../LocalizationContext-1417e9d3.js';
5
- import { a as UserProfileContext } from '../../UserProfileContext-c72e5006.js';
6
- import '../../index-ff084076.js';
1
+ import '../../tslib.es6-70020af6.js';
2
+ import 'react';
3
+ import '../../index-64bbdf03.js';
4
+ import '../../ui/ContextMenu.js';
7
5
  import '../../ui/Icon.js';
8
- import '../../context-4a3c0658.js';
9
- import Avatar from '../../ui/Avatar.js';
10
- import '../../ui/Modal.js';
11
- import '../../ui/UserListItem.js';
12
- import ConnectedUserProfile from '../../ui/UserProfile.js';
13
- import ContextMenu, { MenuItems } from '../../ui/ContextMenu.js';
14
- import { useOpenChannelSettingsContext } from '../context.js';
15
- import useSendbirdStateContext from '../../useSendbirdStateContext.js';
16
- import '../../_rollupPluginBabelHelpers-87a4819d.js';
6
+ import '../../ui/IconButton.js';
7
+ import '../../index-3b997158.js';
8
+ export { P as default } from '../../index-a754a6e3.js';
9
+ import '../../LocalizationContext-9ecb0a32.js';
10
+ import '../context.js';
11
+ import '../../useSendbirdStateContext.js';
12
+ import '../../_rollupPluginBabelHelpers-31a1bb40.js';
17
13
  import 'prop-types';
18
- import '../../stringSet-adf0eb59.js';
19
- import '../../index-097f4b78.js';
20
- import '../../utils-e6f6eb1b.js';
21
- import '../../ui/ImageRenderer.js';
22
- import '../../uuid-9ac267fb.js';
14
+ import '../../index-8cd47fe5.js';
23
15
  import 'react-dom';
24
- import '../../index-b9a5ff91.js';
25
- import '../../ui/IconButton.js';
26
- import '../../ui/MutedAvatarOverlay.js';
27
- import '../../ui/Checkbox.js';
16
+ import '../../ui/SortByRow.js';
17
+ import '../../stringSet-8f56c095.js';
18
+ import '../../UserProfileContext-c1834696.js';
19
+ import '../../context-53e8285b.js';
20
+ import '../../utils-e5523522.js';
21
+ import '../../ui/Avatar.js';
22
+ import '../../ui/ImageRenderer.js';
23
+ import '../../uuid-118d6514.js';
24
+ import '../../ui/Modal.js';
25
+ import '../../index-a6ed3522.js';
26
+ import '../../index-526e1c2f.js';
27
+ import '../../ui/UserProfile.js';
28
28
  import '../../withSendbird.js';
29
29
  import '../../sendbirdSelectors.js';
30
- import '../../topics-29b13da4.js';
31
- import '../../index-e647d770.js';
32
- import '../../ui/SortByRow.js';
33
-
34
- var UserListItem = function UserListItem(_a) {
35
- var member = _a.member,
36
- currentUser = _a.currentUser;
37
- var avatarRef = useRef(null);
38
-
39
- var _b = useContext(UserProfileContext),
40
- disableUserProfile = _b.disableUserProfile,
41
- renderUserProfile = _b.renderUserProfile;
42
-
43
- var stringSet = useContext(LocalizationContext).stringSet;
44
- return /*#__PURE__*/React__default.createElement("div", {
45
- className: "sendbird-participants-accordion__member"
46
- }, /*#__PURE__*/React__default.createElement("div", {
47
- className: "sendbird-participants-accordion__member-avatar"
48
- }, /*#__PURE__*/React__default.createElement(ContextMenu, {
49
- menuTrigger: function menuTrigger(toggleDropdown) {
50
- return /*#__PURE__*/React__default.createElement(Avatar, {
51
- onClick: function onClick() {
52
- if (!disableUserProfile) {
53
- toggleDropdown();
54
- }
55
- },
56
- ref: avatarRef,
57
- src: member.profileUrl,
58
- width: 24,
59
- height: 24
60
- });
61
- },
62
- menuItems: function menuItems(closeDropdown) {
63
- return /*#__PURE__*/React__default.createElement(MenuItems, {
64
- openLeft: true,
65
- parentRef: avatarRef // for catching location(x, y) of MenuItems
66
- ,
67
- parentContainRef: avatarRef // for toggling more options(menus & reactions)
68
- ,
69
- closeDropdown: closeDropdown,
70
- style: {
71
- paddingTop: 0,
72
- paddingBottom: 0
73
- }
74
- }, renderUserProfile ? renderUserProfile({
75
- user: member,
76
- currentUserId: currentUser,
77
- close: closeDropdown
78
- }) : /*#__PURE__*/React__default.createElement(ConnectedUserProfile, {
79
- disableMessaging: true,
80
- user: member,
81
- currentUserId: currentUser,
82
- onSuccess: closeDropdown
83
- }));
84
- }
85
- })), /*#__PURE__*/React__default.createElement(Label, {
86
- type: LabelTypography.SUBTITLE_2,
87
- color: LabelColors.ONBACKGROUND_1
88
- }, member.nickname || stringSet.NO_NAME, currentUser === member.userId && stringSet.CHANNEL_SETTING__MEMBERS__YOU));
89
- };
90
-
91
- function ParticipantsList() {
92
- var _a;
93
-
94
- var globalState = useSendbirdStateContext();
95
- var currentUser = (_a = globalState === null || globalState === void 0 ? void 0 : globalState.config) === null || _a === void 0 ? void 0 : _a.userId;
96
- var channel = useOpenChannelSettingsContext().channel;
97
- var stringSet = useContext(LocalizationContext).stringSet;
98
-
99
- var _b = useState([]),
100
- participants = _b[0],
101
- setParticipants = _b[1];
102
-
103
- var _c = useState(null),
104
- participantListQuery = _c[0],
105
- setParticipantListQuery = _c[1];
106
-
107
- useEffect(function () {
108
- if (!channel || !(channel === null || channel === void 0 ? void 0 : channel.createParticipantListQuery)) {
109
- return;
110
- }
111
-
112
- var participantListQuery = channel === null || channel === void 0 ? void 0 : channel.createParticipantListQuery({});
113
- setParticipantListQuery(participantListQuery);
114
- participantListQuery.next().then(function (participantList) {
115
- setParticipants(participantList);
116
- });
117
- }, [channel]);
118
- return /*#__PURE__*/React__default.createElement("div", {
119
- className: "sendbird-openchannel-settings__participants-list",
120
- onScroll: function onScroll(e) {
121
- var hasNext = participantListQuery.hasNext;
122
- var target = e.target;
123
- var fetchMore = target.clientHeight + target.scrollTop === target.scrollHeight;
124
-
125
- if (hasNext && fetchMore) {
126
- participantListQuery.next().then(function (fetchedParticipants) {
127
- setParticipants(__spreadArray(__spreadArray([], participants, true), fetchedParticipants, true));
128
- });
129
- }
130
- }
131
- }, /*#__PURE__*/React__default.createElement("div", null, participants.map(function (p) {
132
- return /*#__PURE__*/React__default.createElement(UserListItem, {
133
- member: p,
134
- currentUser: currentUser,
135
- key: p.userId
136
- });
137
- }), participants && participants.length === 0 ? /*#__PURE__*/React__default.createElement(Label, {
138
- className: "sendbird-channel-settings__empty-list",
139
- type: LabelTypography.SUBTITLE_2,
140
- color: LabelColors.ONBACKGROUND_3
141
- }, stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST) : null));
142
- }
143
-
144
- export { ParticipantsList as default };
30
+ import '../../topics-27c99fc7.js';
31
+ import '../../openChannel-243ce500.js';
32
+ import '../../__bundle-7dfccc8c-b47a2b5a.js';
33
+ import '../../ui/UserListItem.js';
34
+ import '../../ui/MutedAvatarOverlay.js';
35
+ import '../../ui/Checkbox.js';
145
36
  //# sourceMappingURL=ParticipantUI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParticipantUI.js","sources":["../../../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { User } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface UserListItemProps {\n member: User;\n currentUser?: string;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n member,\n currentUser,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={member}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label type={LabelTypography.SUBTITLE_2} color={LabelColors.ONBACKGROUND_1}>\n {member.nickname || stringSet.NO_NAME}\n {\n (currentUser === member.userId) && (\n stringSet.CHANNEL_SETTING__MEMBERS__YOU\n )\n }\n </Label>\n </div>\n );\n};\n\nexport interface ParticipantsAccordionProps {\n maxMembers?: number;\n}\n\nexport default function ParticipantsAccordion(props: ParticipantsAccordionProps): ReactElement {\n const maxMembers = props?.maxMembers || SHOWN_MEMBER_MAX;\n const { channel } = useOpenChannelSettingsContext();\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n member={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nexport default function ParticipantsList(): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User>|null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participants-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n <div>\n {\n participants.map((p: User) => (\n <UserListItem\n member={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n </div>\n )\n}\n"],"names":["UserListItem","_a","member","currentUser","avatarRef","useRef","_b","useContext","UserProfileContext","disableUserProfile","renderUserProfile","stringSet","LocalizationContext","React","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","userId","CHANNEL_SETTING__MEMBERS__YOU","ParticipantsList","globalState","useSendbirdStateContext","config","channel","useOpenChannelSettingsContext","useState","participants","setParticipants","_c","participantListQuery","setParticipantListQuery","useEffect","createParticipantListQuery","next","then","participantList","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST"],"mappings":"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"}
1
+ {"version":3,"file":"ParticipantUI.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,14 +1,17 @@
1
1
  import React__default, { useState, useEffect } from 'react';
2
+ import { U as Un } from '../openChannel-243ce500.js';
2
3
  import useSendbirdStateContext from '../useSendbirdStateContext.js';
3
- import { U as UserProfileProvider } from '../UserProfileContext-c72e5006.js';
4
+ import { U as UserProfileProvider } from '../UserProfileContext-c1834696.js';
5
+ import { u as uuidv4 } from '../uuid-118d6514.js';
6
+ import '../__bundle-7dfccc8c-b47a2b5a.js';
4
7
  import '../withSendbird.js';
5
- import '../_rollupPluginBabelHelpers-87a4819d.js';
8
+ import '../_rollupPluginBabelHelpers-31a1bb40.js';
6
9
  import 'prop-types';
7
10
 
8
11
  var OpenChannelSettingsContext = /*#__PURE__*/React__default.createContext(undefined);
9
12
 
10
13
  var OpenChannelSettingsProvider = function OpenChannelSettingsProvider(props) {
11
- var _a, _b, _c;
14
+ var _a, _b, _c, _d;
12
15
 
13
16
  var children = props.children,
14
17
  channelUrl = props.channelUrl,
@@ -20,10 +23,11 @@ var OpenChannelSettingsProvider = function OpenChannelSettingsProvider(props) {
20
23
  var globalStore = useSendbirdStateContext();
21
24
  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;
22
25
  var logger = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _c === void 0 ? void 0 : _c.logger;
26
+ var currentUserId = (_d = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _d === void 0 ? void 0 : _d.userId;
23
27
 
24
- var _d = useState(null),
25
- channel = _d[0],
26
- setChannel = _d[1];
28
+ var _e = useState(null),
29
+ currentChannel = _e[0],
30
+ setChannel = _e[1];
27
31
 
28
32
  useEffect(function () {
29
33
  if (!channelUrl || !sdk.openChannel) {
@@ -32,17 +36,88 @@ var OpenChannelSettingsProvider = function OpenChannelSettingsProvider(props) {
32
36
  }
33
37
 
34
38
  sdk.openChannel.getChannel(channelUrl).then(function (channel) {
35
- logger.info('open channel setting: fetched', channel);
36
- setChannel(channel);
39
+ logger.info('open channel setting: fetched', channel); // TODO: Add pending status
40
+
41
+ channel.enter().then(function () {
42
+ setChannel(channel);
43
+ logger.info('OpenChannelSettings | Succeeded to enter channel');
44
+ }).catch(function (error) {
45
+ setChannel(null);
46
+ logger.warning('OpenChannelSettings | Failed to enter channel', error);
47
+ });
37
48
  }).catch(function (error) {
38
49
  logger.error('open channel setting: error fetching', error);
39
50
  setChannel(null);
40
51
  });
52
+ return function () {
53
+ if (currentChannel && currentChannel.exit) {
54
+ currentChannel.exit().then(function () {
55
+ logger.info('OpenChannelSettings | Succeeded to exit channel');
56
+ }).catch(function (error) {
57
+ logger.warning('OpenChannelSettings | Failed to exit channel', error);
58
+ });
59
+ }
60
+ };
41
61
  }, [channelUrl, sdk]);
62
+ useEffect(function () {
63
+ var _a;
64
+
65
+ var channelHandlerId = uuidv4();
66
+
67
+ if (currentChannel !== null && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
68
+ var channelHandlerParams = new Un({
69
+ onOperatorUpdated: function onOperatorUpdated(channel) {
70
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
71
+ setChannel(channel);
72
+ }
73
+ },
74
+ onUserMuted: function onUserMuted(channel, user) {
75
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) && (user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
76
+ setChannel(channel);
77
+ }
78
+ },
79
+ onUserUnmuted: function onUserUnmuted(channel, user) {
80
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) && (user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
81
+ setChannel(channel);
82
+ }
83
+ },
84
+ onUserBanned: function onUserBanned(channel, user) {
85
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) && (user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
86
+ setChannel(null);
87
+ }
88
+ },
89
+ onUserUnbanned: function onUserUnbanned(channel, user) {
90
+ if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
91
+ setChannel(channel);
92
+ }
93
+ },
94
+ onChannelChanged: function onChannelChanged(channel) {
95
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
96
+ setChannel(channel);
97
+ }
98
+ },
99
+ onChannelDeleted: function onChannelDeleted(channelUrl) {
100
+ if (channelUrl === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
101
+ setChannel(null);
102
+ }
103
+ }
104
+ });
105
+ sdk.openChannel.addOpenChannelHandler(channelHandlerId, channelHandlerParams);
106
+ }
107
+
108
+ return function () {
109
+ var _a, _b, _c;
110
+
111
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) && channelHandlerId) {
112
+ logger.info('OpenChannelSettings | Removing channel handlers', channelHandlerId);
113
+ (_c = (_b = sdk.openChannel).removeOpenChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, channelHandlerId);
114
+ }
115
+ };
116
+ }, [currentChannel]);
42
117
  return /*#__PURE__*/React__default.createElement(OpenChannelSettingsContext.Provider, {
43
118
  value: {
44
119
  channelUrl: channelUrl,
45
- channel: channel,
120
+ channel: currentChannel,
46
121
  setChannel: setChannel,
47
122
  onCloseClick: onCloseClick,
48
123
  onChannelModified: onChannelModified,
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../src/smart-components/OpenChannelSettings/context/OpenChannelSettingsProvider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n} from 'react';\nimport type { OpenChannel, OpenChannelUpdateParams, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport { RenderUserProfileProps } from '../../../types';\n\nexport interface OpenChannelSettingsContextProps {\n channelUrl: string;\n children?: React.ReactNode;\n onCloseClick?(): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;\n onChannelModified?(channel: OpenChannel): void;\n onDeleteChannel?(channel: OpenChannel): void;\n disableUserProfile?: boolean;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n}\n\ninterface OpenChannelSettingsContextType {\n channelUrl: string;\n channel?: OpenChannel;\n setChannel?: React.Dispatch<React.SetStateAction<OpenChannel>>;\n onCloseClick?(): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;\n onChannelModified?(channel: OpenChannel): void;\n onDeleteChannel?(channel: OpenChannel): void;\n}\n\nconst OpenChannelSettingsContext = React.createContext<OpenChannelSettingsContextType | null>(undefined);\n\nconst OpenChannelSettingsProvider: React.FC<OpenChannelSettingsContextProps> = (props: OpenChannelSettingsContextProps) => {\n const {\n children,\n channelUrl,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n onDeleteChannel,\n } = props;\n\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const sdk = globalStore?.stores?.sdkStore?.sdk as SendbirdOpenChat;\n\n const logger = globalStore?.config?.logger;\n\n const [channel, setChannel] = useState<OpenChannel | null>(null);\n useEffect(() => {\n if (!channelUrl || !sdk.openChannel) {\n setChannel(null);\n return;\n }\n\n sdk.openChannel.getChannel(channelUrl)\n .then((channel) => {\n logger.info('open channel setting: fetched', channel);\n setChannel(channel);\n })\n .catch((error) => {\n logger.error('open channel setting: error fetching', error);\n setChannel(null);\n });\n }, [channelUrl, sdk]);\n\n return (\n <OpenChannelSettingsContext.Provider value={{\n channelUrl,\n channel,\n setChannel,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n onDeleteChannel,\n }}>\n <UserProfileProvider\n isOpenChannel\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n {children}\n </UserProfileProvider>\n </OpenChannelSettingsContext.Provider>\n );\n}\n\ntype useOpenChannelSettingsType = () => OpenChannelSettingsContextType;\nconst useOpenChannelSettingsContext: useOpenChannelSettingsType = () => React.useContext(OpenChannelSettingsContext);\n\nexport {\n OpenChannelSettingsProvider,\n useOpenChannelSettingsContext,\n};\n"],"names":["OpenChannelSettingsContext","React","createContext","undefined","OpenChannelSettingsProvider","props","children","channelUrl","onCloseClick","onChannelModified","onBeforeUpdateChannel","onDeleteChannel","globalStore","useSendbirdStateContext","sdk","stores","sdkStore","logger","config","_d","useState","channel","setChannel","useEffect","openChannel","getChannel","then","info","catch","error","renderUserProfile","disableUserProfile","useOpenChannelSettingsContext","useContext"],"mappings":";;;;;;;AA+BA,IAAMA,0BAA0B,gBAAGC,cAAK,CAACC,aAAN,CAA2DC,SAA3D,CAAnC;;IAEMC,2BAA2B,GAA8C,SAAzEA,2BAAyE,CAACC,KAAD;;;AAE3E,MAAAC,QAAQ,GAMND,KAAK,SANP;AAAA,MACAE,UAAU,GAKRF,KAAK,WANP;AAAA,MAEAG,YAAY,GAIVH,KAAK,aANP;AAAA,MAGAI,iBAAiB,GAGfJ,KAAK,kBANP;AAAA,MAIAK,qBAAqB,GAEnBL,KAAK,sBANP;AAAA,MAKAM,eAAe,GACbN,KAAK,gBANP;;AASF,MAAMO,WAAW,GAAGC,uBAAuB,EAA3C;AACA,MAAMC,GAAG,GAAG,MAAA,MAAAF,WAAW,SAAX,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAEG,MAAb,UAAA,iBAAA,SAAA,MAAqBC,QAArB,UAAA,iBAAA,SAAA,MAA+BF,GAA3C;AAEA,MAAMG,MAAM,GAAG,MAAAL,WAAW,SAAX,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAEM,MAAb,UAAA,iBAAA,SAAA,MAAqBD,MAApC;;AAEM,MAAAE,KAAwBC,QAAQ,CAAqB,IAArB,CAAhC;AAAA,MAACC,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACNC,EAAAA,SAAS,CAAC;AACR,QAAI,CAAChB,UAAD,IAAe,CAACO,GAAG,CAACU,WAAxB,EAAqC;AACnCF,MAAAA,UAAU,CAAC,IAAD,CAAV;AACA;AACD;;AAEDR,IAAAA,GAAG,CAACU,WAAJ,CAAgBC,UAAhB,CAA2BlB,UAA3B,EACGmB,IADH,CACQ,UAACL,OAAD;AACJJ,MAAAA,MAAM,CAACU,IAAP,CAAY,+BAAZ,EAA6CN,OAA7C;AACAC,MAAAA,UAAU,CAACD,OAAD,CAAV;AACD,KAJH,EAKGO,KALH,CAKS,UAACC,KAAD;AACLZ,MAAAA,MAAM,CAACY,KAAP,CAAa,sCAAb,EAAqDA,KAArD;AACAP,MAAAA,UAAU,CAAC,IAAD,CAAV;AACD,KARH;AASD,GAfQ,EAeN,CAACf,UAAD,EAAaO,GAAb,CAfM,CAAT;AAiBA,sBACEb,6BAAC,0BAAD,CAA4B,QAA5B;AAAqC,IAAA,KAAK,EAAE;AAC1CM,MAAAA,UAAU,YADgC;AAE1Cc,MAAAA,OAAO,SAFmC;AAG1CC,MAAAA,UAAU,YAHgC;AAI1Cd,MAAAA,YAAY,cAJ8B;AAK1CC,MAAAA,iBAAiB,mBALyB;AAM1CC,MAAAA,qBAAqB,uBANqB;AAO1CC,MAAAA,eAAe;AAP2B;AAA5C,kBASEV,6BAAC,mBAAD;AACE,IAAA,aAAa,MADf;AAEE,IAAA,iBAAiB,EAAEI,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEyB,iBAF5B;AAGE,IAAA,kBAAkB,EAAEzB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAE0B;AAH7B,KAKGzB,QALH,CATF,CADF;AAmBD;;IAGK0B,6BAA6B,GAA+B,SAA5DA,6BAA4D;AAAM,SAAA/B,cAAK,CAACgC,UAAN,CAAiBjC,0BAAjB,CAAA;AAA4C;;;;"}
1
+ {"version":3,"file":"context.js","sources":["../../src/smart-components/OpenChannelSettings/context/OpenChannelSettingsProvider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n} from 'react';\nimport { OpenChannel, OpenChannelHandler, OpenChannelUpdateParams, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport { RenderUserProfileProps } from '../../../types';\nimport uuidv4 from '../../../utils/uuid';\n\nexport interface OpenChannelSettingsContextProps {\n channelUrl: string;\n children?: React.ReactNode;\n onCloseClick?(): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;\n onChannelModified?(channel: OpenChannel): void;\n onDeleteChannel?(channel: OpenChannel): void;\n disableUserProfile?: boolean;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n}\n\ninterface OpenChannelSettingsContextType {\n channelUrl: string;\n channel?: OpenChannel;\n setChannel?: React.Dispatch<React.SetStateAction<OpenChannel>>;\n onCloseClick?(): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;\n onChannelModified?(channel: OpenChannel): void;\n onDeleteChannel?(channel: OpenChannel): void;\n}\n\nconst OpenChannelSettingsContext = React.createContext<OpenChannelSettingsContextType | null>(undefined);\n\nconst OpenChannelSettingsProvider: React.FC<OpenChannelSettingsContextProps> = (props: OpenChannelSettingsContextProps) => {\n const {\n children,\n channelUrl,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n onDeleteChannel,\n } = props;\n\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const sdk = globalStore?.stores?.sdkStore?.sdk as SendbirdOpenChat;\n\n const logger = globalStore?.config?.logger;\n const currentUserId = sdk?.currentUser?.userId;\n\n const [currentChannel, setChannel] = useState<OpenChannel | null>(null);\n useEffect(() => {\n if (!channelUrl || !sdk.openChannel) {\n setChannel(null);\n return;\n }\n\n sdk.openChannel.getChannel(channelUrl)\n .then((channel) => {\n logger.info('open channel setting: fetched', channel);\n // TODO: Add pending status\n channel.enter()\n .then(() => {\n setChannel(channel);\n logger.info('OpenChannelSettings | Succeeded to enter channel');\n })\n .catch((error) => {\n setChannel(null);\n logger.warning('OpenChannelSettings | Failed to enter channel', error);\n });\n })\n .catch((error) => {\n logger.error('open channel setting: error fetching', error);\n setChannel(null);\n });\n return () => {\n if (currentChannel && currentChannel.exit) {\n currentChannel.exit()\n .then(() => {\n logger.info('OpenChannelSettings | Succeeded to exit channel');\n })\n .catch((error) => {\n logger.warning('OpenChannelSettings | Failed to exit channel', error);\n });\n }\n }\n }, [channelUrl, sdk]);\n\n useEffect(() => {\n const channelHandlerId = uuidv4();\n if (currentChannel !== null && sdk?.openChannel?.addOpenChannelHandler) {\n const channelHandlerParams = new OpenChannelHandler({\n onOperatorUpdated(channel) {\n if (channel?.url === currentChannel?.url) {\n setChannel(channel as OpenChannel);\n }\n },\n onUserMuted(channel, user) {\n if (channel?.url === currentChannel?.url && user?.userId === currentUserId) {\n setChannel(channel as OpenChannel);\n }\n },\n onUserUnmuted(channel, user) {\n if (channel?.url === currentChannel?.url && user?.userId === currentUserId) {\n setChannel(channel as OpenChannel);\n }\n },\n onUserBanned(channel, user) {\n if (channel?.url === currentChannel?.url && user?.userId === currentUserId) {\n setChannel(null);\n }\n },\n onUserUnbanned(channel, user) {\n if (user?.userId === currentUserId) {\n setChannel(channel as OpenChannel);\n }\n },\n onChannelChanged(channel) {\n if (channel?.url === currentChannel?.url) {\n setChannel(channel as OpenChannel);\n }\n },\n onChannelDeleted(channelUrl) {\n if (channelUrl === currentChannel?.url) {\n setChannel(null);\n }\n },\n });\n sdk.openChannel.addOpenChannelHandler(channelHandlerId, channelHandlerParams);\n }\n return () => {\n if (sdk?.openChannel?.removeOpenChannelHandler && channelHandlerId) {\n logger.info('OpenChannelSettings | Removing channel handlers', channelHandlerId);\n sdk.openChannel.removeOpenChannelHandler?.(channelHandlerId);\n }\n }\n }, [currentChannel]);\n\n return (\n <OpenChannelSettingsContext.Provider value={{\n channelUrl,\n channel: currentChannel,\n setChannel,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n onDeleteChannel,\n }}>\n <UserProfileProvider\n isOpenChannel\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n {children}\n </UserProfileProvider>\n </OpenChannelSettingsContext.Provider>\n );\n}\n\ntype useOpenChannelSettingsType = () => OpenChannelSettingsContextType;\nconst useOpenChannelSettingsContext: useOpenChannelSettingsType = () => React.useContext(OpenChannelSettingsContext);\n\nexport {\n OpenChannelSettingsProvider,\n useOpenChannelSettingsContext,\n};\n"],"names":["OpenChannelSettingsContext","React","createContext","undefined","OpenChannelSettingsProvider","props","children","channelUrl","onCloseClick","onChannelModified","onBeforeUpdateChannel","onDeleteChannel","globalStore","useSendbirdStateContext","sdk","stores","sdkStore","logger","config","currentUserId","currentUser","userId","_e","useState","currentChannel","setChannel","useEffect","openChannel","getChannel","then","channel","info","enter","catch","error","warning","exit","channelHandlerId","uuidv4","addOpenChannelHandler","channelHandlerParams","OpenChannelHandler","onOperatorUpdated","url","onUserMuted","user","onUserUnmuted","onUserBanned","onUserUnbanned","onChannelChanged","onChannelDeleted","removeOpenChannelHandler","renderUserProfile","disableUserProfile","useOpenChannelSettingsContext","useContext"],"mappings":"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"}