@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","Icon","IconTypes","DELETE","join","Label","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","Modal","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","AccordionGroup","Accordion","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","Icon","IconTypes","DELETE","IconColors","ERROR","join","Label","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","Modal","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","UserListItem","parentRef","actionRef","ContextMenu","toggleDropdown","IconButton","MORE","CONTENT_INVERSE","closeDropdown","MenuItems","MenuItem","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","muteUser","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","Button","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","AccordionGroup","Accordion","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,151 +1,42 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-999b9d2f.js');
4
- var React = require('react');
5
- var ui_Label = require('../../index-5755be7f.js');
6
- var LocalizationContext = require('../../LocalizationContext-c0dc9e2f.js');
7
- var UserProfileContext = require('../../UserProfileContext-2bd8a987.js');
8
- require('../../index-f10a973e.js');
3
+ require('../../tslib.es6-5520d66d.js');
4
+ require('react');
5
+ require('../../index-30ce73c3.js');
6
+ require('../../ui/ContextMenu.js');
9
7
  require('../../ui/Icon.js');
10
- require('../../context-277763cc.js');
11
- var ui_Avatar = require('../../ui/Avatar.js');
12
- require('../../ui/Modal.js');
13
- require('../../ui/UserListItem.js');
14
- var ui_UserProfile = require('../../ui/UserProfile.js');
15
- var ui_ContextMenu = require('../../ui/ContextMenu.js');
16
- var OpenChannelSettings_context = require('../context.js');
17
- var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
18
- require('../../_rollupPluginBabelHelpers-59502943.js');
8
+ require('../../ui/IconButton.js');
9
+ require('../../index-ed5d5e9d.js');
10
+ var OpenChannelSettings_components_ParticipantUI = require('../../index-9deff671.js');
11
+ require('../../LocalizationContext-a705c60f.js');
12
+ require('../context.js');
13
+ require('../../useSendbirdStateContext.js');
14
+ require('../../_rollupPluginBabelHelpers-d4231746.js');
19
15
  require('prop-types');
20
- require('../../stringSet-8a5752c1.js');
21
- require('../../index-897ebaf9.js');
22
- require('../../utils-0b87e6c8.js');
23
- require('../../ui/ImageRenderer.js');
24
- require('../../uuid-c1af9ac6.js');
16
+ require('../../index-bb59494a.js');
25
17
  require('react-dom');
26
- require('../../index-0e3ec349.js');
27
- require('../../ui/IconButton.js');
28
- require('../../ui/MutedAvatarOverlay.js');
29
- require('../../ui/Checkbox.js');
18
+ require('../../ui/SortByRow.js');
19
+ require('../../stringSet-4e80362c.js');
20
+ require('../../UserProfileContext-f46c65c9.js');
21
+ require('../../context-3116d4af.js');
22
+ require('../../utils-cb9aac85.js');
23
+ require('../../ui/Avatar.js');
24
+ require('../../ui/ImageRenderer.js');
25
+ require('../../uuid-51919e62.js');
26
+ require('../../ui/Modal.js');
27
+ require('../../index-876b2b8c.js');
28
+ require('../../index-98ff8992.js');
29
+ require('../../ui/UserProfile.js');
30
30
  require('../../withSendbird.js');
31
31
  require('../../sendbirdSelectors.js');
32
- require('../../topics-5541d80a.js');
33
- require('../../index-54177640.js');
34
- require('../../ui/SortByRow.js');
35
-
36
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
37
-
38
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
-
40
- var UserListItem = function UserListItem(_a) {
41
- var member = _a.member,
42
- currentUser = _a.currentUser;
43
- var avatarRef = React.useRef(null);
44
-
45
- var _b = React.useContext(UserProfileContext.UserProfileContext),
46
- disableUserProfile = _b.disableUserProfile,
47
- renderUserProfile = _b.renderUserProfile;
48
-
49
- var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
50
- return /*#__PURE__*/React__default["default"].createElement("div", {
51
- className: "sendbird-participants-accordion__member"
52
- }, /*#__PURE__*/React__default["default"].createElement("div", {
53
- className: "sendbird-participants-accordion__member-avatar"
54
- }, /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
55
- menuTrigger: function menuTrigger(toggleDropdown) {
56
- return /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
57
- onClick: function onClick() {
58
- if (!disableUserProfile) {
59
- toggleDropdown();
60
- }
61
- },
62
- ref: avatarRef,
63
- src: member.profileUrl,
64
- width: 24,
65
- height: 24
66
- });
67
- },
68
- menuItems: function menuItems(closeDropdown) {
69
- return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItems, {
70
- openLeft: true,
71
- parentRef: avatarRef // for catching location(x, y) of MenuItems
72
- ,
73
- parentContainRef: avatarRef // for toggling more options(menus & reactions)
74
- ,
75
- closeDropdown: closeDropdown,
76
- style: {
77
- paddingTop: 0,
78
- paddingBottom: 0
79
- }
80
- }, renderUserProfile ? renderUserProfile({
81
- user: member,
82
- currentUserId: currentUser,
83
- close: closeDropdown
84
- }) : /*#__PURE__*/React__default["default"].createElement(ui_UserProfile, {
85
- disableMessaging: true,
86
- user: member,
87
- currentUserId: currentUser,
88
- onSuccess: closeDropdown
89
- }));
90
- }
91
- })), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
92
- type: ui_Label.LabelTypography.SUBTITLE_2,
93
- color: ui_Label.LabelColors.ONBACKGROUND_1
94
- }, member.nickname || stringSet.NO_NAME, currentUser === member.userId && stringSet.CHANNEL_SETTING__MEMBERS__YOU));
95
- };
96
-
97
- function ParticipantsList() {
98
- var _a;
99
-
100
- var globalState = useSendbirdStateContext();
101
- var currentUser = (_a = globalState === null || globalState === void 0 ? void 0 : globalState.config) === null || _a === void 0 ? void 0 : _a.userId;
102
- var channel = OpenChannelSettings_context.useOpenChannelSettingsContext().channel;
103
- var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
104
-
105
- var _b = React.useState([]),
106
- participants = _b[0],
107
- setParticipants = _b[1];
108
-
109
- var _c = React.useState(null),
110
- participantListQuery = _c[0],
111
- setParticipantListQuery = _c[1];
112
-
113
- React.useEffect(function () {
114
- if (!channel || !(channel === null || channel === void 0 ? void 0 : channel.createParticipantListQuery)) {
115
- return;
116
- }
32
+ require('../../topics-1ea796fe.js');
33
+ require('../../openChannel-8c980cdb.js');
34
+ require('../../__bundle-7dfccc8c-70a9c008.js');
35
+ require('../../ui/UserListItem.js');
36
+ require('../../ui/MutedAvatarOverlay.js');
37
+ require('../../ui/Checkbox.js');
117
38
 
118
- var participantListQuery = channel === null || channel === void 0 ? void 0 : channel.createParticipantListQuery({});
119
- setParticipantListQuery(participantListQuery);
120
- participantListQuery.next().then(function (participantList) {
121
- setParticipants(participantList);
122
- });
123
- }, [channel]);
124
- return /*#__PURE__*/React__default["default"].createElement("div", {
125
- className: "sendbird-openchannel-settings__participants-list",
126
- onScroll: function onScroll(e) {
127
- var hasNext = participantListQuery.hasNext;
128
- var target = e.target;
129
- var fetchMore = target.clientHeight + target.scrollTop === target.scrollHeight;
130
39
 
131
- if (hasNext && fetchMore) {
132
- participantListQuery.next().then(function (fetchedParticipants) {
133
- setParticipants(tslib_es6.__spreadArray(tslib_es6.__spreadArray([], participants, true), fetchedParticipants, true));
134
- });
135
- }
136
- }
137
- }, /*#__PURE__*/React__default["default"].createElement("div", null, participants.map(function (p) {
138
- return /*#__PURE__*/React__default["default"].createElement(UserListItem, {
139
- member: p,
140
- currentUser: currentUser,
141
- key: p.userId
142
- });
143
- }), participants && participants.length === 0 ? /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
144
- className: "sendbird-channel-settings__empty-list",
145
- type: ui_Label.LabelTypography.SUBTITLE_2,
146
- color: ui_Label.LabelColors.ONBACKGROUND_3
147
- }, stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST) : null));
148
- }
149
40
 
150
- module.exports = ParticipantsList;
41
+ module.exports = OpenChannelSettings_components_ParticipantUI.ParticipantList;
151
42
  //# 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","ContextMenu","toggleDropdown","Avatar","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","Label","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,10 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var openChannel = require('../openChannel-8c980cdb.js');
6
7
  var useSendbirdStateContext = require('../useSendbirdStateContext.js');
7
- var UserProfileContext = require('../UserProfileContext-2bd8a987.js');
8
+ var UserProfileContext = require('../UserProfileContext-f46c65c9.js');
9
+ var uuid = require('../uuid-51919e62.js');
10
+ require('../__bundle-7dfccc8c-70a9c008.js');
8
11
  require('../withSendbird.js');
9
- require('../_rollupPluginBabelHelpers-59502943.js');
12
+ require('../_rollupPluginBabelHelpers-d4231746.js');
10
13
  require('prop-types');
11
14
 
12
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -16,7 +19,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
19
  var OpenChannelSettingsContext = /*#__PURE__*/React__default["default"].createContext(undefined);
17
20
 
18
21
  var OpenChannelSettingsProvider = function OpenChannelSettingsProvider(props) {
19
- var _a, _b, _c;
22
+ var _a, _b, _c, _d;
20
23
 
21
24
  var children = props.children,
22
25
  channelUrl = props.channelUrl,
@@ -28,10 +31,11 @@ var OpenChannelSettingsProvider = function OpenChannelSettingsProvider(props) {
28
31
  var globalStore = useSendbirdStateContext();
29
32
  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;
30
33
  var logger = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _c === void 0 ? void 0 : _c.logger;
34
+ var currentUserId = (_d = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _d === void 0 ? void 0 : _d.userId;
31
35
 
32
- var _d = React.useState(null),
33
- channel = _d[0],
34
- setChannel = _d[1];
36
+ var _e = React.useState(null),
37
+ currentChannel = _e[0],
38
+ setChannel = _e[1];
35
39
 
36
40
  React.useEffect(function () {
37
41
  if (!channelUrl || !sdk.openChannel) {
@@ -40,17 +44,88 @@ var OpenChannelSettingsProvider = function OpenChannelSettingsProvider(props) {
40
44
  }
41
45
 
42
46
  sdk.openChannel.getChannel(channelUrl).then(function (channel) {
43
- logger.info('open channel setting: fetched', channel);
44
- setChannel(channel);
47
+ logger.info('open channel setting: fetched', channel); // TODO: Add pending status
48
+
49
+ channel.enter().then(function () {
50
+ setChannel(channel);
51
+ logger.info('OpenChannelSettings | Succeeded to enter channel');
52
+ }).catch(function (error) {
53
+ setChannel(null);
54
+ logger.warning('OpenChannelSettings | Failed to enter channel', error);
55
+ });
45
56
  }).catch(function (error) {
46
57
  logger.error('open channel setting: error fetching', error);
47
58
  setChannel(null);
48
59
  });
60
+ return function () {
61
+ if (currentChannel && currentChannel.exit) {
62
+ currentChannel.exit().then(function () {
63
+ logger.info('OpenChannelSettings | Succeeded to exit channel');
64
+ }).catch(function (error) {
65
+ logger.warning('OpenChannelSettings | Failed to exit channel', error);
66
+ });
67
+ }
68
+ };
49
69
  }, [channelUrl, sdk]);
70
+ React.useEffect(function () {
71
+ var _a;
72
+
73
+ var channelHandlerId = uuid.uuidv4();
74
+
75
+ if (currentChannel !== null && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.addOpenChannelHandler)) {
76
+ var channelHandlerParams = new openChannel.Un({
77
+ onOperatorUpdated: function onOperatorUpdated(channel) {
78
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
79
+ setChannel(channel);
80
+ }
81
+ },
82
+ onUserMuted: function onUserMuted(channel, user) {
83
+ 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) {
84
+ setChannel(channel);
85
+ }
86
+ },
87
+ onUserUnmuted: function onUserUnmuted(channel, user) {
88
+ 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) {
89
+ setChannel(channel);
90
+ }
91
+ },
92
+ onUserBanned: function onUserBanned(channel, user) {
93
+ 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) {
94
+ setChannel(null);
95
+ }
96
+ },
97
+ onUserUnbanned: function onUserUnbanned(channel, user) {
98
+ if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
99
+ setChannel(channel);
100
+ }
101
+ },
102
+ onChannelChanged: function onChannelChanged(channel) {
103
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
104
+ setChannel(channel);
105
+ }
106
+ },
107
+ onChannelDeleted: function onChannelDeleted(channelUrl) {
108
+ if (channelUrl === (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url)) {
109
+ setChannel(null);
110
+ }
111
+ }
112
+ });
113
+ sdk.openChannel.addOpenChannelHandler(channelHandlerId, channelHandlerParams);
114
+ }
115
+
116
+ return function () {
117
+ var _a, _b, _c;
118
+
119
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.openChannel) === null || _a === void 0 ? void 0 : _a.removeOpenChannelHandler) && channelHandlerId) {
120
+ logger.info('OpenChannelSettings | Removing channel handlers', channelHandlerId);
121
+ (_c = (_b = sdk.openChannel).removeOpenChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, channelHandlerId);
122
+ }
123
+ };
124
+ }, [currentChannel]);
50
125
  return /*#__PURE__*/React__default["default"].createElement(OpenChannelSettingsContext.Provider, {
51
126
  value: {
52
127
  channelUrl: channelUrl,
53
- channel: channel,
128
+ channel: currentChannel,
54
129
  setChannel: setChannel,
55
130
  onCloseClick: onCloseClick,
56
131
  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","UserProfileProvider","renderUserProfile","disableUserProfile","useOpenChannelSettingsContext","useContext"],"mappings":";;;;;;;;;;;;;;;AA+BA,IAAMA,0BAA0B,gBAAGC,yBAAK,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,cAAQ,CAAqB,IAArB,CAAhC;AAAA,MAACC,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACNC,EAAAA,eAAS,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,wCAAC,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,wCAAC6B,sCAAD;AACE,IAAA,aAAa,MADf;AAEE,IAAA,iBAAiB,EAAEzB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAE0B,iBAF5B;AAGE,IAAA,kBAAkB,EAAE1B,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAE2B;AAH7B,KAKG1B,QALH,CATF,CADF;AAmBD;;IAGK2B,6BAA6B,GAA+B,SAA5DA,6BAA4D;AAAM,SAAAhC,yBAAK,CAACiC,UAAN,CAAiBlC,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","UserProfileProvider","renderUserProfile","disableUserProfile","useOpenChannelSettingsContext","useContext"],"mappings":"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"}