@sendbird/uikit-react 3.0.0-beta.4 → 3.0.0-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 (625) hide show
  1. package/App.js +316 -0
  2. package/App.js.map +1 -0
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +121 -0
  5. package/Channel/components/ChannelHeader.js.map +1 -0
  6. package/Channel/components/ChannelUI.js +182 -0
  7. package/Channel/components/ChannelUI.js.map +1 -0
  8. package/Channel/components/FileViewer.js +153 -0
  9. package/Channel/components/FileViewer.js.map +1 -0
  10. package/Channel/components/FrozenNotification.js +20 -0
  11. package/Channel/components/FrozenNotification.js.map +1 -0
  12. package/Channel/components/Message.js +364 -0
  13. package/Channel/components/Message.js.map +1 -0
  14. package/Channel/components/MessageInput.js +214 -0
  15. package/Channel/components/MessageInput.js.map +1 -0
  16. package/Channel/components/MessageList.js +242 -0
  17. package/Channel/components/MessageList.js.map +1 -0
  18. package/Channel/components/RemoveMessageModal.js +55 -0
  19. package/Channel/components/RemoveMessageModal.js.map +1 -0
  20. package/Channel/components/SuggestedMentionList.js +306 -0
  21. package/Channel/components/SuggestedMentionList.js.map +1 -0
  22. package/Channel/components/TypingIndicator.js +102 -0
  23. package/Channel/components/TypingIndicator.js.map +1 -0
  24. package/Channel/components/UnreadCount.js +41 -0
  25. package/Channel/components/UnreadCount.js.map +1 -0
  26. package/Channel/context.js +26 -0
  27. package/Channel/context.js.map +1 -0
  28. package/Channel.js +109 -0
  29. package/Channel.js.map +1 -0
  30. package/ChannelList/components/AddChannel.js +70 -0
  31. package/ChannelList/components/AddChannel.js.map +1 -0
  32. package/ChannelList/components/ChannelListHeader.js +62 -0
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -0
  34. package/ChannelList/components/ChannelListUI.js +235 -0
  35. package/ChannelList/components/ChannelListUI.js.map +1 -0
  36. package/ChannelList/components/ChannelPreview.js +216 -0
  37. package/ChannelList/components/ChannelPreview.js.map +1 -0
  38. package/ChannelList/components/ChannelPreviewAction.js +133 -0
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  40. package/ChannelList/context.js +15 -0
  41. package/ChannelList/context.js.map +1 -0
  42. package/ChannelList.js +91 -0
  43. package/ChannelList.js.map +1 -0
  44. package/ChannelListProvider-76b1ec23.js +944 -0
  45. package/ChannelListProvider-76b1ec23.js.map +1 -0
  46. package/ChannelProvider-c0ed5fae.js +2075 -0
  47. package/ChannelProvider-c0ed5fae.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +102 -0
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -0
  50. package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  52. package/ChannelSettings/components/EditDetailsModal.js +158 -0
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  54. package/ChannelSettings/components/LeaveChannel.js +53 -0
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -0
  56. package/ChannelSettings/components/ModerationPanel.js +851 -0
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -0
  58. package/ChannelSettings/components/UserListItem.js +106 -0
  59. package/ChannelSettings/components/UserListItem.js.map +1 -0
  60. package/ChannelSettings/components/UserPanel.js +79 -0
  61. package/ChannelSettings/components/UserPanel.js.map +1 -0
  62. package/ChannelSettings/context.js +93 -0
  63. package/ChannelSettings/context.js.map +1 -0
  64. package/ChannelSettings.js +71 -0
  65. package/ChannelSettings.js.map +1 -0
  66. package/CreateChannel/components/CreateChannelUI.js +53 -0
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -0
  68. package/CreateChannel/components/InviteUsers.js +180 -0
  69. package/CreateChannel/components/InviteUsers.js.map +1 -0
  70. package/CreateChannel/components/SelectChannelType.js +131 -0
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -0
  72. package/CreateChannel/context.js +9 -0
  73. package/CreateChannel/context.js.map +1 -0
  74. package/CreateChannel.js +53 -0
  75. package/CreateChannel.js.map +1 -0
  76. package/CreateChannelProvider-8c72aa06.js +53 -0
  77. package/CreateChannelProvider-8c72aa06.js.map +1 -0
  78. package/EditUserProfile/components/EditUserProfileUI.js +26 -0
  79. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  80. package/EditUserProfile/context.js +27 -0
  81. package/EditUserProfile/context.js.map +1 -0
  82. package/EditUserProfile.js +39 -0
  83. package/EditUserProfile.js.map +1 -0
  84. package/LocalizationContext-fb3dafcd.js +22 -0
  85. package/LocalizationContext-fb3dafcd.js.map +1 -0
  86. package/MemberList-01d3c8bf.js +404 -0
  87. package/MemberList-01d3c8bf.js.map +1 -0
  88. package/MessageSearch/components/MessageSearchUI.js +151 -0
  89. package/MessageSearch/components/MessageSearchUI.js.map +1 -0
  90. package/MessageSearch/context.js +387 -0
  91. package/MessageSearch/context.js.map +1 -0
  92. package/MessageSearch.js +146 -0
  93. package/MessageSearch.js.map +1 -0
  94. package/OpenChannel/components/FrozenChannelNotification.js +20 -0
  95. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  96. package/OpenChannel/components/OpenChannelHeader.js +80 -0
  97. package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  98. package/OpenChannel/components/OpenChannelInput.js +58 -0
  99. package/OpenChannel/components/OpenChannelInput.js.map +1 -0
  100. package/OpenChannel/components/OpenChannelMessage.js +287 -0
  101. package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  102. package/OpenChannel/components/OpenChannelMessageList.js +158 -0
  103. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  104. package/OpenChannel/components/OpenChannelUI.js +111 -0
  105. package/OpenChannel/components/OpenChannelUI.js.map +1 -0
  106. package/OpenChannel/context.js +16 -0
  107. package/OpenChannel/context.js.map +1 -0
  108. package/OpenChannel.js +82 -0
  109. package/OpenChannel.js.map +1 -0
  110. package/OpenChannelProvider-0fb27972.js +1946 -0
  111. package/OpenChannelProvider-0fb27972.js.map +1 -0
  112. package/OpenChannelSettings/components/EditDetailsModal.js +143 -0
  113. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  114. package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
  115. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  116. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +120 -0
  117. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  118. package/OpenChannelSettings/components/OperatorUI.js +199 -0
  119. package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  120. package/OpenChannelSettings/components/ParticipantUI.js +145 -0
  121. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  122. package/OpenChannelSettings/context.js +64 -0
  123. package/OpenChannelSettings/context.js.map +1 -0
  124. package/OpenChannelSettings.js +64 -0
  125. package/OpenChannelSettings.js.map +1 -0
  126. package/README.md +0 -1
  127. package/SendbirdProvider.js +782 -0
  128. package/SendbirdProvider.js.map +1 -0
  129. package/UserProfileContext-6a387a08.js +38 -0
  130. package/UserProfileContext-6a387a08.js.map +1 -0
  131. package/__bundle-7dfccc8c-03df3ada.js +24 -0
  132. package/__bundle-7dfccc8c-03df3ada.js.map +1 -0
  133. package/_rollupPluginBabelHelpers-084fb589.js +233 -0
  134. package/_rollupPluginBabelHelpers-084fb589.js.map +1 -0
  135. package/actionTypes-302a2801.js +6 -0
  136. package/actionTypes-302a2801.js.map +1 -0
  137. package/cjs/App.js +323 -0
  138. package/cjs/App.js.map +1 -0
  139. package/cjs/Channel/components/ChannelHeader.js +127 -0
  140. package/cjs/Channel/components/ChannelHeader.js.map +1 -0
  141. package/cjs/Channel/components/ChannelUI.js +188 -0
  142. package/cjs/Channel/components/ChannelUI.js.map +1 -0
  143. package/cjs/Channel/components/FileViewer.js +162 -0
  144. package/cjs/Channel/components/FileViewer.js.map +1 -0
  145. package/cjs/Channel/components/FrozenNotification.js +26 -0
  146. package/cjs/Channel/components/FrozenNotification.js.map +1 -0
  147. package/cjs/Channel/components/Message.js +370 -0
  148. package/cjs/Channel/components/Message.js.map +1 -0
  149. package/cjs/Channel/components/MessageInput.js +220 -0
  150. package/cjs/Channel/components/MessageInput.js.map +1 -0
  151. package/cjs/Channel/components/MessageList.js +248 -0
  152. package/cjs/Channel/components/MessageList.js.map +1 -0
  153. package/cjs/Channel/components/RemoveMessageModal.js +61 -0
  154. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
  155. package/cjs/Channel/components/SuggestedMentionList.js +312 -0
  156. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
  157. package/cjs/Channel/components/TypingIndicator.js +111 -0
  158. package/cjs/Channel/components/TypingIndicator.js.map +1 -0
  159. package/cjs/Channel/components/UnreadCount.js +47 -0
  160. package/cjs/Channel/components/UnreadCount.js.map +1 -0
  161. package/cjs/Channel/context.js +35 -0
  162. package/cjs/Channel/context.js.map +1 -0
  163. package/cjs/Channel.js +115 -0
  164. package/cjs/Channel.js.map +1 -0
  165. package/cjs/ChannelList/components/AddChannel.js +79 -0
  166. package/cjs/ChannelList/components/AddChannel.js.map +1 -0
  167. package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
  168. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
  169. package/cjs/ChannelList/components/ChannelListUI.js +241 -0
  170. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
  171. package/cjs/ChannelList/components/ChannelPreview.js +222 -0
  172. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
  173. package/cjs/ChannelList/components/ChannelPreviewAction.js +140 -0
  174. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
  175. package/cjs/ChannelList/context.js +24 -0
  176. package/cjs/ChannelList/context.js.map +1 -0
  177. package/cjs/ChannelList.js +97 -0
  178. package/cjs/ChannelList.js.map +1 -0
  179. package/cjs/ChannelListProvider-7d1c0466.js +956 -0
  180. package/cjs/ChannelListProvider-7d1c0466.js.map +1 -0
  181. package/cjs/ChannelProvider-a3ec5a56.js +2088 -0
  182. package/cjs/ChannelProvider-a3ec5a56.js.map +1 -0
  183. package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
  184. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
  185. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
  186. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
  187. package/cjs/ChannelSettings/components/EditDetailsModal.js +164 -0
  188. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
  189. package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
  190. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
  191. package/cjs/ChannelSettings/components/ModerationPanel.js +857 -0
  192. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
  193. package/cjs/ChannelSettings/components/UserListItem.js +112 -0
  194. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
  195. package/cjs/ChannelSettings/components/UserPanel.js +85 -0
  196. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
  197. package/cjs/ChannelSettings/context.js +102 -0
  198. package/cjs/ChannelSettings/context.js.map +1 -0
  199. package/cjs/ChannelSettings.js +77 -0
  200. package/cjs/ChannelSettings.js.map +1 -0
  201. package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
  202. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
  203. package/cjs/CreateChannel/components/InviteUsers.js +186 -0
  204. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
  205. package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
  206. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
  207. package/cjs/CreateChannel/context.js +18 -0
  208. package/cjs/CreateChannel/context.js.map +1 -0
  209. package/cjs/CreateChannel.js +59 -0
  210. package/cjs/CreateChannel.js.map +1 -0
  211. package/cjs/CreateChannelProvider-95fbfb06.js +60 -0
  212. package/cjs/CreateChannelProvider-95fbfb06.js.map +1 -0
  213. package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
  214. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
  215. package/cjs/EditUserProfile/context.js +36 -0
  216. package/cjs/EditUserProfile/context.js.map +1 -0
  217. package/cjs/EditUserProfile.js +45 -0
  218. package/cjs/EditUserProfile.js.map +1 -0
  219. package/cjs/LocalizationContext-5a6a0f67.js +30 -0
  220. package/cjs/LocalizationContext-5a6a0f67.js.map +1 -0
  221. package/cjs/MemberList-bfecdd64.js +410 -0
  222. package/cjs/MemberList-bfecdd64.js.map +1 -0
  223. package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
  224. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
  225. package/cjs/MessageSearch/context.js +396 -0
  226. package/cjs/MessageSearch/context.js.map +1 -0
  227. package/cjs/MessageSearch.js +152 -0
  228. package/cjs/MessageSearch.js.map +1 -0
  229. package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
  230. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
  231. package/cjs/OpenChannel/components/OpenChannelHeader.js +86 -0
  232. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
  233. package/cjs/OpenChannel/components/OpenChannelInput.js +64 -0
  234. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
  235. package/cjs/OpenChannel/components/OpenChannelMessage.js +293 -0
  236. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
  237. package/cjs/OpenChannel/components/OpenChannelMessageList.js +164 -0
  238. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
  239. package/cjs/OpenChannel/components/OpenChannelUI.js +117 -0
  240. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
  241. package/cjs/OpenChannel/context.js +25 -0
  242. package/cjs/OpenChannel/context.js.map +1 -0
  243. package/cjs/OpenChannel.js +88 -0
  244. package/cjs/OpenChannel.js.map +1 -0
  245. package/cjs/OpenChannelProvider-e8247193.js +1955 -0
  246. package/cjs/OpenChannelProvider-e8247193.js.map +1 -0
  247. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +149 -0
  248. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
  249. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
  250. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
  251. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +126 -0
  252. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
  253. package/cjs/OpenChannelSettings/components/OperatorUI.js +209 -0
  254. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
  255. package/cjs/OpenChannelSettings/components/ParticipantUI.js +151 -0
  256. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
  257. package/cjs/OpenChannelSettings/context.js +73 -0
  258. package/cjs/OpenChannelSettings/context.js.map +1 -0
  259. package/cjs/OpenChannelSettings.js +70 -0
  260. package/cjs/OpenChannelSettings.js.map +1 -0
  261. package/cjs/SendbirdProvider.js +790 -0
  262. package/cjs/SendbirdProvider.js.map +1 -0
  263. package/cjs/UserProfileContext-17c8f75c.js +46 -0
  264. package/cjs/UserProfileContext-17c8f75c.js.map +1 -0
  265. package/cjs/__bundle-7dfccc8c-c3c55861.js +151 -0
  266. package/cjs/__bundle-7dfccc8c-c3c55861.js.map +1 -0
  267. package/cjs/_rollupPluginBabelHelpers-d984e855.js +243 -0
  268. package/cjs/_rollupPluginBabelHelpers-d984e855.js.map +1 -0
  269. package/cjs/actionTypes-7a330bec.js +10 -0
  270. package/cjs/actionTypes-7a330bec.js.map +1 -0
  271. package/cjs/color-b30f84a2.js +42 -0
  272. package/cjs/color-b30f84a2.js.map +1 -0
  273. package/cjs/compareIds-d8053014.js +20 -0
  274. package/cjs/compareIds-d8053014.js.map +1 -0
  275. package/cjs/const-2623fae1.js +22 -0
  276. package/cjs/const-2623fae1.js.map +1 -0
  277. package/cjs/const-6aa26f9f.js +14 -0
  278. package/cjs/const-6aa26f9f.js.map +1 -0
  279. package/cjs/context-83ecdafd.js +19 -0
  280. package/cjs/context-83ecdafd.js.map +1 -0
  281. package/cjs/dist/index.css +4603 -0
  282. package/cjs/dist/index.css.map +1 -0
  283. package/cjs/groupChannel-e311e26a.js +9 -0
  284. package/cjs/groupChannel-e311e26a.js.map +1 -0
  285. package/cjs/index-1e14c5b9.js +130 -0
  286. package/cjs/index-1e14c5b9.js.map +1 -0
  287. package/cjs/index-2537cbc7.js +284 -0
  288. package/cjs/index-2537cbc7.js.map +1 -0
  289. package/cjs/index-40d245a3.js +729 -0
  290. package/cjs/index-40d245a3.js.map +1 -0
  291. package/cjs/index-5e7b82c2.js +178 -0
  292. package/cjs/index-5e7b82c2.js.map +1 -0
  293. package/cjs/index-72479c2a.js +514 -0
  294. package/cjs/index-72479c2a.js.map +1 -0
  295. package/cjs/index-ab5d906d.js +67 -0
  296. package/cjs/index-ab5d906d.js.map +1 -0
  297. package/cjs/index-cdcd27bc.js +1880 -0
  298. package/cjs/index-cdcd27bc.js.map +1 -0
  299. package/cjs/index-ce679d41.js +9 -0
  300. package/cjs/index-ce679d41.js.map +1 -0
  301. package/cjs/index-df05e765.js +142 -0
  302. package/cjs/index-df05e765.js.map +1 -0
  303. package/cjs/index-f9677913.js +97 -0
  304. package/cjs/index-f9677913.js.map +1 -0
  305. package/cjs/index.js +165 -0
  306. package/cjs/index.js.map +1 -0
  307. package/cjs/openChannel-e9f65946.js +13 -0
  308. package/cjs/openChannel-e9f65946.js.map +1 -0
  309. package/cjs/openChannelUtils-4b7d2697.js +97 -0
  310. package/cjs/openChannelUtils-4b7d2697.js.map +1 -0
  311. package/cjs/sendbirdSelectors.js +696 -0
  312. package/cjs/sendbirdSelectors.js.map +1 -0
  313. package/cjs/stringSet-2f3588b5.js +118 -0
  314. package/cjs/stringSet-2f3588b5.js.map +1 -0
  315. package/cjs/topics-582e38dc.js +18 -0
  316. package/cjs/topics-582e38dc.js.map +1 -0
  317. package/cjs/tslib.es6-d9c7aa8b.js +40 -0
  318. package/cjs/tslib.es6-d9c7aa8b.js.map +1 -0
  319. package/cjs/ui/Accordion.js +74 -0
  320. package/cjs/ui/Accordion.js.map +1 -0
  321. package/cjs/ui/AccordionGroup.js +32 -0
  322. package/cjs/ui/AccordionGroup.js.map +1 -0
  323. package/cjs/ui/AdminMessage.js +45 -0
  324. package/cjs/ui/AdminMessage.js.map +1 -0
  325. package/cjs/ui/Avatar.js +226 -0
  326. package/cjs/ui/Avatar.js.map +1 -0
  327. package/cjs/ui/Badge.js +45 -0
  328. package/cjs/ui/Badge.js.map +1 -0
  329. package/cjs/ui/Button.js +17 -0
  330. package/cjs/ui/Button.js.map +1 -0
  331. package/cjs/ui/ChannelAvatar.js +59 -0
  332. package/cjs/ui/ChannelAvatar.js.map +1 -0
  333. package/cjs/ui/ChannelPreview.js +208 -0
  334. package/cjs/ui/ChannelPreview.js.map +1 -0
  335. package/cjs/ui/ChatHeader.js +152 -0
  336. package/cjs/ui/ChatHeader.js.map +1 -0
  337. package/cjs/ui/Checkbox.js +49 -0
  338. package/cjs/ui/Checkbox.js.map +1 -0
  339. package/cjs/ui/ConnectionStatus.js +34 -0
  340. package/cjs/ui/ConnectionStatus.js.map +1 -0
  341. package/cjs/ui/ContextMenu.js +410 -0
  342. package/cjs/ui/ContextMenu.js.map +1 -0
  343. package/cjs/ui/DateSeparator.js +44 -0
  344. package/cjs/ui/DateSeparator.js.map +1 -0
  345. package/cjs/ui/Dropdown.js +107 -0
  346. package/cjs/ui/Dropdown.js.map +1 -0
  347. package/cjs/ui/EmojiReactions.js +127 -0
  348. package/cjs/ui/EmojiReactions.js.map +1 -0
  349. package/cjs/ui/FileMessageItemBody.js +57 -0
  350. package/cjs/ui/FileMessageItemBody.js.map +1 -0
  351. package/cjs/ui/FileViewer.js +174 -0
  352. package/cjs/ui/FileViewer.js.map +1 -0
  353. package/cjs/ui/Icon.js +1466 -0
  354. package/cjs/ui/Icon.js.map +1 -0
  355. package/cjs/ui/IconButton.js +83 -0
  356. package/cjs/ui/IconButton.js.map +1 -0
  357. package/cjs/ui/ImageRenderer.js +138 -0
  358. package/cjs/ui/ImageRenderer.js.map +1 -0
  359. package/cjs/ui/Input.js +74 -0
  360. package/cjs/ui/Input.js.map +1 -0
  361. package/cjs/ui/Label.js +17 -0
  362. package/cjs/ui/Label.js.map +1 -0
  363. package/cjs/ui/LinkLabel.js +51 -0
  364. package/cjs/ui/LinkLabel.js.map +1 -0
  365. package/cjs/ui/Loader.js +44 -0
  366. package/cjs/ui/Loader.js.map +1 -0
  367. package/cjs/ui/MentionLabel.js +100 -0
  368. package/cjs/ui/MentionLabel.js.map +1 -0
  369. package/cjs/ui/MentionUserLabel.js +25 -0
  370. package/cjs/ui/MentionUserLabel.js.map +1 -0
  371. package/cjs/ui/MessageContent.js +297 -0
  372. package/cjs/ui/MessageContent.js.map +1 -0
  373. package/cjs/ui/MessageInput.js +5052 -0
  374. package/cjs/ui/MessageInput.js.map +1 -0
  375. package/cjs/ui/MessageItemMenu.js +137 -0
  376. package/cjs/ui/MessageItemMenu.js.map +1 -0
  377. package/cjs/ui/MessageItemReactionMenu.js +112 -0
  378. package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
  379. package/cjs/ui/MessageSearchFileItem.js +131 -0
  380. package/cjs/ui/MessageSearchFileItem.js.map +1 -0
  381. package/cjs/ui/MessageSearchItem.js +93 -0
  382. package/cjs/ui/MessageSearchItem.js.map +1 -0
  383. package/cjs/ui/MessageStatus.js +66 -0
  384. package/cjs/ui/MessageStatus.js.map +1 -0
  385. package/cjs/ui/Modal.js +140 -0
  386. package/cjs/ui/Modal.js.map +1 -0
  387. package/cjs/ui/MutedAvatarOverlay.js +40 -0
  388. package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
  389. package/cjs/ui/OGMessageItemBody.js +119 -0
  390. package/cjs/ui/OGMessageItemBody.js.map +1 -0
  391. package/cjs/ui/OpenChannelAdminMessage.js +27 -0
  392. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
  393. package/cjs/ui/OpenChannelAvatar.js +41 -0
  394. package/cjs/ui/OpenChannelAvatar.js.map +1 -0
  395. package/cjs/ui/OpenchannelConversationHeader.js +73 -0
  396. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
  397. package/cjs/ui/OpenchannelFileMessage.js +231 -0
  398. package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
  399. package/cjs/ui/OpenchannelOGMessage.js +346 -0
  400. package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
  401. package/cjs/ui/OpenchannelThumbnailMessage.js +306 -0
  402. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
  403. package/cjs/ui/OpenchannelUserMessage.js +265 -0
  404. package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
  405. package/cjs/ui/PlaceHolder.js +20 -0
  406. package/cjs/ui/PlaceHolder.js.map +1 -0
  407. package/cjs/ui/QuoteMessage.js +131 -0
  408. package/cjs/ui/QuoteMessage.js.map +1 -0
  409. package/cjs/ui/QuoteMessageInput.js +97 -0
  410. package/cjs/ui/QuoteMessageInput.js.map +1 -0
  411. package/cjs/ui/ReactionBadge.js +68 -0
  412. package/cjs/ui/ReactionBadge.js.map +1 -0
  413. package/cjs/ui/ReactionButton.js +55 -0
  414. package/cjs/ui/ReactionButton.js.map +1 -0
  415. package/cjs/ui/SortByRow.js +57 -0
  416. package/cjs/ui/SortByRow.js.map +1 -0
  417. package/cjs/ui/TextButton.js +45 -0
  418. package/cjs/ui/TextButton.js.map +1 -0
  419. package/cjs/ui/TextMessageItemBody.js +76 -0
  420. package/cjs/ui/TextMessageItemBody.js.map +1 -0
  421. package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
  422. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
  423. package/cjs/ui/Tooltip.js +35 -0
  424. package/cjs/ui/Tooltip.js.map +1 -0
  425. package/cjs/ui/TooltipWrapper.js +65 -0
  426. package/cjs/ui/TooltipWrapper.js.map +1 -0
  427. package/cjs/ui/UnknownMessageItemBody.js +41 -0
  428. package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
  429. package/cjs/ui/UserListItem.js +159 -0
  430. package/cjs/ui/UserListItem.js.map +1 -0
  431. package/cjs/ui/UserProfile.js +88 -0
  432. package/cjs/ui/UserProfile.js.map +1 -0
  433. package/cjs/ui/Word.js +76 -0
  434. package/cjs/ui/Word.js.map +1 -0
  435. package/cjs/useSendbirdStateContext.js +22 -0
  436. package/cjs/useSendbirdStateContext.js.map +1 -0
  437. package/cjs/utils-031aba48.js +6 -0
  438. package/cjs/utils-031aba48.js.map +1 -0
  439. package/cjs/utils-510b93ac.js +38 -0
  440. package/cjs/utils-510b93ac.js.map +1 -0
  441. package/cjs/utils-689065e6.js +32 -0
  442. package/cjs/utils-689065e6.js.map +1 -0
  443. package/cjs/uuid-099485ae.js +19 -0
  444. package/cjs/uuid-099485ae.js.map +1 -0
  445. package/cjs/withSendBird.js +35 -0
  446. package/cjs/withSendBird.js.map +1 -0
  447. package/color-9bf8c922.js +39 -0
  448. package/color-9bf8c922.js.map +1 -0
  449. package/compareIds-b78d7cd6.js +18 -0
  450. package/compareIds-b78d7cd6.js.map +1 -0
  451. package/const-40b58d8b.js +18 -0
  452. package/const-40b58d8b.js.map +1 -0
  453. package/const-99800b8d.js +8 -0
  454. package/const-99800b8d.js.map +1 -0
  455. package/context-bedea43b.js +12 -0
  456. package/context-bedea43b.js.map +1 -0
  457. package/dist/index.css +292 -152
  458. package/dist/index.css.map +1 -1
  459. package/groupChannel-96502de7.js +6 -0
  460. package/groupChannel-96502de7.js.map +1 -0
  461. package/index-13729368.js +512 -0
  462. package/index-13729368.js.map +1 -0
  463. package/index-16bed610.js +64 -0
  464. package/index-16bed610.js.map +1 -0
  465. package/index-1d112ad4.js +7 -0
  466. package/index-1d112ad4.js.map +1 -0
  467. package/index-71ad343b.js +171 -0
  468. package/index-71ad343b.js.map +1 -0
  469. package/index-71e2bf26.js +131 -0
  470. package/index-71e2bf26.js.map +1 -0
  471. package/index-8e6a607b.js +688 -0
  472. package/index-8e6a607b.js.map +1 -0
  473. package/index-a5e8849a.js +280 -0
  474. package/index-a5e8849a.js.map +1 -0
  475. package/index-b574cc8e.js +87 -0
  476. package/index-b574cc8e.js.map +1 -0
  477. package/index-c95d2aab.js +121 -0
  478. package/index-c95d2aab.js.map +1 -0
  479. package/index-ccd99cfe.js +1873 -0
  480. package/index-ccd99cfe.js.map +1 -0
  481. package/index.d.ts +1965 -0
  482. package/index.d.ts_bkup +1883 -0
  483. package/index.js +146 -0
  484. package/index.js.map +1 -0
  485. package/openChannel-dd5c9246.js +8 -0
  486. package/openChannel-dd5c9246.js.map +1 -0
  487. package/openChannelUtils-211a679a.js +86 -0
  488. package/openChannelUtils-211a679a.js.map +1 -0
  489. package/package.json +11 -33
  490. package/sendbirdSelectors.js +671 -0
  491. package/sendbirdSelectors.js.map +1 -0
  492. package/stringSet-d3a8a2a0.js +116 -0
  493. package/stringSet-d3a8a2a0.js.map +1 -0
  494. package/topics-f941ba80.js +10 -0
  495. package/topics-f941ba80.js.map +1 -0
  496. package/tslib.es6-a7db0cc5.js +38 -0
  497. package/tslib.es6-a7db0cc5.js.map +1 -0
  498. package/ui/Accordion.js +65 -0
  499. package/ui/Accordion.js.map +1 -0
  500. package/ui/AccordionGroup.js +26 -0
  501. package/ui/AccordionGroup.js.map +1 -0
  502. package/ui/AdminMessage.js +38 -0
  503. package/ui/AdminMessage.js.map +1 -0
  504. package/ui/Avatar.js +217 -0
  505. package/ui/Avatar.js.map +1 -0
  506. package/ui/Badge.js +38 -0
  507. package/ui/Badge.js.map +1 -0
  508. package/ui/Button.js +7 -0
  509. package/ui/Button.js.map +1 -0
  510. package/ui/ChannelAvatar.js +53 -0
  511. package/ui/ChannelAvatar.js.map +1 -0
  512. package/ui/ChannelPreview.js +201 -0
  513. package/ui/ChannelPreview.js.map +1 -0
  514. package/ui/ChatHeader.js +145 -0
  515. package/ui/ChatHeader.js.map +1 -0
  516. package/ui/Checkbox.js +42 -0
  517. package/ui/Checkbox.js.map +1 -0
  518. package/ui/ConnectionStatus.js +28 -0
  519. package/ui/ConnectionStatus.js.map +1 -0
  520. package/ui/ContextMenu.js +396 -0
  521. package/ui/ContextMenu.js.map +1 -0
  522. package/ui/DateSeparator.js +37 -0
  523. package/ui/DateSeparator.js.map +1 -0
  524. package/ui/Dropdown.js +97 -0
  525. package/ui/Dropdown.js.map +1 -0
  526. package/ui/EmojiReactions.js +121 -0
  527. package/ui/EmojiReactions.js.map +1 -0
  528. package/ui/FileMessageItemBody.js +51 -0
  529. package/ui/FileMessageItemBody.js.map +1 -0
  530. package/ui/FileViewer.js +164 -0
  531. package/ui/FileViewer.js.map +1 -0
  532. package/ui/Icon.js +1436 -0
  533. package/ui/Icon.js.map +1 -0
  534. package/ui/IconButton.js +76 -0
  535. package/ui/IconButton.js.map +1 -0
  536. package/ui/ImageRenderer.js +131 -0
  537. package/ui/ImageRenderer.js.map +1 -0
  538. package/ui/Input.js +64 -0
  539. package/ui/Input.js.map +1 -0
  540. package/ui/Label.js +6 -0
  541. package/ui/Label.js.map +1 -0
  542. package/ui/LinkLabel.js +40 -0
  543. package/ui/LinkLabel.js.map +1 -0
  544. package/ui/Loader.js +37 -0
  545. package/ui/Loader.js.map +1 -0
  546. package/ui/MentionLabel.js +94 -0
  547. package/ui/MentionLabel.js.map +1 -0
  548. package/ui/MentionUserLabel.js +19 -0
  549. package/ui/MentionUserLabel.js.map +1 -0
  550. package/ui/MessageContent.js +291 -0
  551. package/ui/MessageContent.js.map +1 -0
  552. package/ui/MessageInput.js +5044 -0
  553. package/ui/MessageInput.js.map +1 -0
  554. package/ui/MessageItemMenu.js +131 -0
  555. package/ui/MessageItemMenu.js.map +1 -0
  556. package/ui/MessageItemReactionMenu.js +106 -0
  557. package/ui/MessageItemReactionMenu.js.map +1 -0
  558. package/ui/MessageSearchFileItem.js +125 -0
  559. package/ui/MessageSearchFileItem.js.map +1 -0
  560. package/ui/MessageSearchItem.js +87 -0
  561. package/ui/MessageSearchItem.js.map +1 -0
  562. package/ui/MessageStatus.js +57 -0
  563. package/ui/MessageStatus.js.map +1 -0
  564. package/ui/Modal.js +128 -0
  565. package/ui/Modal.js.map +1 -0
  566. package/ui/MutedAvatarOverlay.js +34 -0
  567. package/ui/MutedAvatarOverlay.js.map +1 -0
  568. package/ui/OGMessageItemBody.js +113 -0
  569. package/ui/OGMessageItemBody.js.map +1 -0
  570. package/ui/OpenChannelAdminMessage.js +21 -0
  571. package/ui/OpenChannelAdminMessage.js.map +1 -0
  572. package/ui/OpenChannelAvatar.js +35 -0
  573. package/ui/OpenChannelAvatar.js.map +1 -0
  574. package/ui/OpenchannelConversationHeader.js +67 -0
  575. package/ui/OpenchannelConversationHeader.js.map +1 -0
  576. package/ui/OpenchannelFileMessage.js +225 -0
  577. package/ui/OpenchannelFileMessage.js.map +1 -0
  578. package/ui/OpenchannelOGMessage.js +340 -0
  579. package/ui/OpenchannelOGMessage.js.map +1 -0
  580. package/ui/OpenchannelThumbnailMessage.js +300 -0
  581. package/ui/OpenchannelThumbnailMessage.js.map +1 -0
  582. package/ui/OpenchannelUserMessage.js +259 -0
  583. package/ui/OpenchannelUserMessage.js.map +1 -0
  584. package/ui/PlaceHolder.js +11 -0
  585. package/ui/PlaceHolder.js.map +1 -0
  586. package/ui/QuoteMessage.js +125 -0
  587. package/ui/QuoteMessage.js.map +1 -0
  588. package/ui/QuoteMessageInput.js +91 -0
  589. package/ui/QuoteMessageInput.js.map +1 -0
  590. package/ui/ReactionBadge.js +61 -0
  591. package/ui/ReactionBadge.js.map +1 -0
  592. package/ui/ReactionButton.js +48 -0
  593. package/ui/ReactionButton.js.map +1 -0
  594. package/ui/SortByRow.js +50 -0
  595. package/ui/SortByRow.js.map +1 -0
  596. package/ui/TextButton.js +38 -0
  597. package/ui/TextButton.js.map +1 -0
  598. package/ui/TextMessageItemBody.js +70 -0
  599. package/ui/TextMessageItemBody.js.map +1 -0
  600. package/ui/ThumbnailMessageItemBody.js +76 -0
  601. package/ui/ThumbnailMessageItemBody.js.map +1 -0
  602. package/ui/Tooltip.js +28 -0
  603. package/ui/Tooltip.js.map +1 -0
  604. package/ui/TooltipWrapper.js +58 -0
  605. package/ui/TooltipWrapper.js.map +1 -0
  606. package/ui/UnknownMessageItemBody.js +35 -0
  607. package/ui/UnknownMessageItemBody.js.map +1 -0
  608. package/ui/UserListItem.js +152 -0
  609. package/ui/UserListItem.js.map +1 -0
  610. package/ui/UserProfile.js +82 -0
  611. package/ui/UserProfile.js.map +1 -0
  612. package/ui/Word.js +70 -0
  613. package/ui/Word.js.map +1 -0
  614. package/useSendbirdStateContext.js +20 -0
  615. package/useSendbirdStateContext.js.map +1 -0
  616. package/utils-2e3623c0.js +30 -0
  617. package/utils-2e3623c0.js.map +1 -0
  618. package/utils-cadde06a.js +4 -0
  619. package/utils-cadde06a.js.map +1 -0
  620. package/utils-d9325ddf.js +34 -0
  621. package/utils-d9325ddf.js.map +1 -0
  622. package/uuid-748dae7a.js +17 -0
  623. package/uuid-748dae7a.js.map +1 -0
  624. package/withSendBird.js +26 -0
  625. package/withSendBird.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModerationPanel.js","sources":["../../../../src/smart-components/ChannelSettings/components/ModerationPanel/OperatorsModal.tsx","../../../../src/smart-components/ChannelSettings/components/ModerationPanel/AddOperatorsModal.tsx","../../../../src/smart-components/ChannelSettings/components/ModerationPanel/OperatorList.tsx","../../../../src/smart-components/ChannelSettings/components/ModerationPanel/BannedUsersModal.tsx","../../../../src/smart-components/ChannelSettings/components/ModerationPanel/BannedUserList.tsx","../../../../src/smart-components/ChannelSettings/components/ModerationPanel/MutedMembersModal.tsx","../../../../src/smart-components/ChannelSettings/components/ModerationPanel/MutedMemberList.tsx","../../../../src/smart-components/ChannelSettings/components/ModerationPanel/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\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 { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props { onCancel?(): void }\n\nexport default function OperatorsModal({ onCancel }: Props): ReactElement {\n const [operators, setOperators] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 20,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\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-members__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 setOperators([\n ...operators,\n ...o,\n ])\n });\n }\n }}\n >\n { operators.map((member) => (\n <UserListItem\n currentUser={currentUser}\n user={member}\n key={member.userId}\n action={({ parentRef, actionRef }) => (\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} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([member.userId]).then(() => {\n setOperators(operators.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n </MenuItem>\n </MenuItems>\n )}\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 { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\ninterface Props {\n onCancel(): void;\n onSubmit(members: Array<string>): void;\n}\n\nexport default function AddOperatorsModal({\n onCancel,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [memberQuery, setMemberQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n const memberListQuery = channel?.createMemberListQuery({\n limit: 20,\n });\n memberListQuery.next().then((members) => {\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedMembers).filter((m) => selectedMembers[m]).length;\n return (\n <div>\n <Modal\n type={ButtonType.PRIMARY}\n submitText=\"Add\"\n onCancel={onCancel}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n channel?.addOperators(members).then(() => {\n onSubmit(members);\n })\n }}\n titleText=\"Select members\"\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-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n checkBox\n checked={selectedMembers[member.userId]}\n onChange={\n (event) => {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\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 { LocalizationContext } from '../../../../lib/LocalizationContext';\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';\n\nimport UserListItem from '../UserListItem';\nimport OperatorsModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nexport const OperatorList = (): ReactElement => {\n const [operators, setOperators] = useState([]);\n const [showMore, setShowMore] = useState(false);\n const [showAdd, setShowAdd] = useState(false);\n const [hasNext, setHasNext] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n const state = useSendbirdStateContext();\n const { channel } = useChannelSettingsContext();\n\n const userId = state?.config?.userId;\n\n useEffect(() => {\n if (!channel) {\n setOperators([]);\n return;\n }\n\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 10,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setOperators([]);\n return;\n }\n const operatorListQuery = channel?.createOperatorListQuery({\n limit: 10,\n });\n operatorListQuery.next().then((operators) => {\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n operators.map((operator) => (\n <UserListItem\n key={operator.userId}\n user={operator}\n currentUser={userId}\n action={({ actionRef, parentRef }) => {\n return (\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} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.removeOperators([operator.userId]).then(() => {\n setOperators(operators.filter(({ userId }) => {\n return userId !== operator.userId;\n }))\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n </MenuItem>\n </MenuItems>\n )}\n />\n );\n }}\n />\n ))\n }\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowAdd(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ADD}\n </Button>\n {\n hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowMore(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL}\n </Button>\n )\n }\n </div>\n {\n showMore && (\n <OperatorsModal onCancel={() => {\n setShowMore(false);\n refershList();\n }} />\n )\n }\n {\n showAdd && (\n <AddOperatorsModal\n onCancel={() => setShowAdd(false)}\n onSubmit={() => {\n refershList();\n setShowAdd(false);\n }}\n />\n )\n }\n </>\n );\n}\n\nexport default OperatorList;\n","import React, {\n ReactElement,\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 { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function BannedUsersModal({\n onCancel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n });\n setMemberQuery(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 } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n user={member}\n key={member.userId}\n action={({ parentRef, actionRef }) => (\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} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(member).then(() => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unban\n </MenuItem>\n </MenuItems>\n )}\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} from 'react';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport UserListItem from '../UserListItem';\nimport BannedUsersModal from './BannedUsersModal';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nexport const BannedMemberList = (): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useChannelSettingsContext();\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel?.createBannedUserListQuery();\n bannedUserListQuery.next().then((users) => {\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n <UserListItem\n key={member.userId}\n user={member}\n action={({ actionRef, parentRef }) => {\n return (\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} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unbanUser(member).then(() => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n Unban\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n }}\n />\n ))\n }\n {\n members && members.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n No banned members yet\n </Label>\n )\n }\n {\n hasNext && (\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n All banned members\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 BannedMemberList;\n","import React, {\n ReactElement,\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 { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function MutedMembersModal({\n onCancel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n });\n setMemberQuery(memberUserListQuery);\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 } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next().then((o) => {\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n <UserListItem\n currentUser={currentUser}\n user={member}\n key={member.userId}\n action={({ actionRef, parentRef }) => (\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} // for catching location(x, y) of MenuItems\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(member).then(() => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unmute\n </MenuItem>\n </MenuItems>\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} 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\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport UserListItem from '../UserListItem';\nimport MutedMembersModal from './MutedMembersModal';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\n\nexport const MutedMemberList = (): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n const { channel } = useChannelSettingsContext();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel?.createMemberListQuery({\n limit: 10,\n // @ts-ignore\n mutedMemberFilter: 'muted',\n });\n memberUserListQuery.next().then((members) => {\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n <UserListItem\n key={member.userId}\n user={member}\n currentUser={currentUser}\n action={({ actionRef, parentRef }) => {\n return (\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 parentContainRef={parentRef}\n parentRef={actionRef} // for catching location(x, y) of MenuItems\n >\n <MenuItem\n onClick={() => {\n channel?.unmuteUser(member).then(() => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n Unmute\n </MenuItem>\n </MenuItems>\n )}\n />\n );\n }\n }\n />\n ))\n }\n {\n members && members.length === 0 && (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n No muted members yet\n </Label>\n )\n }\n {\n hasNext && (\n <div\n className=\"sendbird-channel-settings-accordion__footer\"\n >\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n setShowModal(true);\n }}\n >\n All muted members\n </Button>\n </div>\n )\n }\n {\n showModal && (\n <MutedMembersModal\n onCancel={() => {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n </>\n );\n}\n\nexport default MutedMemberList;\n","import './admin-panel.scss';\nimport React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport OperatorList from './OperatorList';\nimport MemberList from './MemberList';\nimport BannedMemberList from './BannedUserList';\nimport MutedMemberList from './MutedMemberList';\n\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\nexport default function AdminPannel(): ReactElement {\n const [frozen, setFrozen] = useState(false);\n\n const { stringSet } = useContext(LocalizationContext);\n const { channel } = useChannelSettingsContext();\n\n\n // work around for\n // https://sendbird.slack.com/archives/G01290GCDCN/p1595922832000900\n // SDK bug - after frozen/unfrozen myRole becomes \"none\"\n useEffect(() => {\n setFrozen(channel?.isFrozen);\n }, [channel]);\n\n return (\n <AccordionGroup className=\"sendbird-channel-settings__operator\">\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\n id=\"operators\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.OPERATOR}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <OperatorList />\n </>\n )}\n />\n <Accordion\n className=\"sendbird-channel-settings__members-list\"\n id=\"members\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n </Label>\n <Badge count={kFormatter(channel?.memberCount)} />\n </>\n )}\n renderContent={() => (\n <>\n <MemberList />\n </>\n )}\n />\n {\n // No muted members in broadcast channel\n !channel?.isBroadcast && (\n <Accordion\n id=\"mutedMembers\"\n className=\"sendbird-channel-settings__muted-members-list\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MUTE}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <MutedMemberList />\n </>\n )}\n />\n )\n }\n <Accordion\n className=\"sendbird-channel-settings__banned-members-list\"\n id=\"bannedUsers\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.BAN}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <>\n <BannedMemberList />\n </>\n )}\n />\n {\n // cannot freeze broadcast channel\n !channel?.isBroadcast && (\n <div className=\"sendbird-channel-settings__freeze\">\n <Icon\n type={IconTypes.FREEZE}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-channel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__FREEZE_CHANNEL}\n </Label>\n <div className=\"sendbird-channel-settings__frozen-icon\">\n {\n frozen\n ? (\n <Icon\n onClick={() => {\n channel?.unfreeze().then(() => {\n setFrozen(false);\n });\n }}\n type={IconTypes.TOGGLE_ON}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n channel?.freeze().then(() => {\n setFrozen(true);\n });\n }}\n type={IconTypes.TOGGLE_OFF}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </div>\n )\n }\n </AccordionGroup>\n );\n}\n"],"names":["OperatorsModal","_a","onCancel","_c","useState","operators","setOperators","_d","operatorQuery","setOperatorQuery","channel","useChannelSettingsContext","state","useSendbirdStateContext","currentUser","config","userId","useEffect","operatorListQuery","createOperatorListQuery","limit","next","then","React","Modal","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","member","UserListItem","parentRef","actionRef","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","MenuItems","MenuItem","removeOperators","filter","AddOperatorsModal","onSubmit","_b","members","setMembers","selectedMembers","setSelectedMembers","memberQuery","setMemberQuery","stringSet","useContext","LocalizationContext","memberListQuery","createMemberListQuery","selectedCount","Object","keys","m","length","ButtonType","PRIMARY","addOperators","Label","LabelColors","ONBACKGROUND_3","LabelTypography","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","event","modifiedSelectedMembers","id","checked","OperatorList","showMore","setShowMore","showAdd","setShowAdd","_e","setHasNext","refershList","useCallback","operator","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","CHANNEL_SETTING__OPERATORS__TITLE_ALL","BannedUsersModal","bannedUserListQuery","createBannedUserListQuery","users","noop","unbanUser","BannedMemberList","showModal","setShowModal","refreshList","SUBTITLE_2","MutedMembersModal","memberUserListQuery","mutedMemberFilter","unmuteUser","MutedMemberList","kFormatter","num","Math","abs","toFixed","AdminPannel","frozen","setFrozen","isFrozen","AccordionGroup","Accordion","OPERATOR","SUBTITLE_1","ONBACKGROUND_1","CHANNEL_SETTING__OPERATORS__TITLE","MEMBERS","CHANNEL_SETTING__MEMBERS__TITLE","Badge","memberCount","MemberList","isBroadcast","MUTE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","BAN","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","FREEZE","CHANNEL_SETTING__FREEZE_CHANNEL","unfreeze","TOGGLE_ON","freeze","TOGGLE_OFF"],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../../tslib.es6-d9c7aa8b.js');
4
+ var React = require('react');
5
+ var LocalizationContext = require('../../LocalizationContext-5a6a0f67.js');
6
+ var UserProfileContext = require('../../UserProfileContext-17c8f75c.js');
7
+ var ui_Avatar = require('../../ui/Avatar.js');
8
+ var ui_MutedAvatarOverlay = require('../../ui/MutedAvatarOverlay.js');
9
+ var ui_Label = require('../../index-df05e765.js');
10
+ var ui_UserProfile = require('../../ui/UserProfile.js');
11
+ var ui_ContextMenu = require('../../ui/ContextMenu.js');
12
+ require('../../stringSet-2f3588b5.js');
13
+ require('../../index-72479c2a.js');
14
+ require('prop-types');
15
+ require('../../ui/ImageRenderer.js');
16
+ require('../../_rollupPluginBabelHelpers-d984e855.js');
17
+ require('../../ui/Icon.js');
18
+ require('../../uuid-099485ae.js');
19
+ require('../../withSendBird.js');
20
+ require('../../sendbirdSelectors.js');
21
+ require('../../topics-582e38dc.js');
22
+ require('../../utils-031aba48.js');
23
+ require('../../index-f9677913.js');
24
+ require('../../index-40d245a3.js');
25
+ require('react-dom');
26
+ require('../../ui/SortByRow.js');
27
+
28
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
29
+
30
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
+
32
+ var COMPONENT_NAME = 'sendbird-user-list-item--small';
33
+
34
+ var UserListItem = function UserListItem(_a) {
35
+ var user = _a.user,
36
+ className = _a.className,
37
+ currentUser = _a.currentUser,
38
+ action = _a.action;
39
+ var actionRef = React.useRef(null);
40
+ var parentRef = React.useRef(null);
41
+ var avatarRef = React.useRef(null);
42
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
43
+
44
+ var _b = React.useContext(UserProfileContext.UserProfileContext),
45
+ disableUserProfile = _b.disableUserProfile,
46
+ renderUserProfile = _b.renderUserProfile;
47
+
48
+ var injectingClassNames = Array.isArray(className) ? className : [className];
49
+ return /*#__PURE__*/React__default["default"].createElement("div", {
50
+ ref: parentRef,
51
+ className: tslib_es6.__spreadArray([COMPONENT_NAME], injectingClassNames, true).join(' ')
52
+ }, user.isMuted && /*#__PURE__*/React__default["default"].createElement(ui_MutedAvatarOverlay, null), /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
53
+ menuTrigger: function menuTrigger(toggleDropdown) {
54
+ return /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
55
+ onClick: function onClick() {
56
+ if (!disableUserProfile) {
57
+ toggleDropdown();
58
+ }
59
+ },
60
+ ref: avatarRef,
61
+ className: "".concat(COMPONENT_NAME, "__avatar"),
62
+ src: user.profileUrl,
63
+ width: 24,
64
+ height: 24
65
+ });
66
+ },
67
+ menuItems: function menuItems(closeDropdown) {
68
+ return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItems, {
69
+ openLeft: true,
70
+ parentRef: avatarRef // for catching location(x, y) of MenuItems
71
+ ,
72
+ parentContainRef: avatarRef // for toggling more options(menus & reactions)
73
+ ,
74
+ closeDropdown: closeDropdown,
75
+ style: {
76
+ paddingTop: 0,
77
+ paddingBottom: 0
78
+ }
79
+ }, renderUserProfile ? renderUserProfile({
80
+ user: user,
81
+ currentUserId: currentUser,
82
+ close: closeDropdown
83
+ }) : /*#__PURE__*/React__default["default"].createElement(ui_UserProfile, {
84
+ user: user,
85
+ currentUserId: currentUser,
86
+ onSuccess: closeDropdown
87
+ }));
88
+ }
89
+ }), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
90
+ className: "".concat(COMPONENT_NAME, "__title"),
91
+ type: ui_Label.LabelTypography.SUBTITLE_1,
92
+ color: ui_Label.LabelColors.ONBACKGROUND_1
93
+ }, user.nickname || stringSet.NO_NAME, currentUser === user.userId && " (You)"), // if there is now nickname, display userId
94
+ !user.nickname && /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
95
+ className: "".concat(COMPONENT_NAME, "__subtitle"),
96
+ type: ui_Label.LabelTypography.CAPTION_3,
97
+ color: ui_Label.LabelColors.ONBACKGROUND_2
98
+ }, user.userId), user.role === 'operator' && /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
99
+ className: "".concat(COMPONENT_NAME, "__operator"),
100
+ type: ui_Label.LabelTypography.SUBTITLE_2,
101
+ color: ui_Label.LabelColors.ONBACKGROUND_2
102
+ }, "Operator"), action && /*#__PURE__*/React__default["default"].createElement("div", {
103
+ ref: actionRef,
104
+ className: "".concat(COMPONENT_NAME, "__action")
105
+ }, action({
106
+ actionRef: actionRef,
107
+ parentRef: parentRef
108
+ })));
109
+ };
110
+
111
+ module.exports = UserListItem;
112
+ //# sourceMappingURL=UserListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserListItem.js","sources":["../../../../src/smart-components/ChannelSettings/components/UserListItem/index.tsx"],"sourcesContent":["import React, { ReactElement, useRef, useContext } from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Avatar from '../../../../ui/Avatar/index';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\n\nimport './user-list-item.scss';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item--small';\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n parentRef: React.RefObject<HTMLInputElement>;\n}\n\ntype CustomUser = SendBird.User & {\n isMuted: boolean;\n role: string;\n};\n\ninterface Props {\n user: CustomUser;\n currentUser?: string;\n className?: string;\n action?(props: ActionProps): ReactElement;\n}\n\nconst UserListItem = ({\n user,\n className,\n currentUser,\n action,\n}: Props): ReactElement => {\n const actionRef = useRef(null);\n const parentRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const injectingClassNames = Array.isArray(className) ? className : [className];\n return (\n <div\n ref={parentRef}\n className={[\n COMPONENT_NAME, ...injectingClassNames,\n ].join(' ')}\n >\n {\n user.isMuted && (\n <MutedAvatarOverlay />\n )\n }\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.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,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n <Label\n className={`${COMPONENT_NAME}__title`}\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n \" (You)\"\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className={`${COMPONENT_NAME}__subtitle`}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n user.role === 'operator' && (\n <Label\n className={`${COMPONENT_NAME}__operator`}\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n Operator\n </Label>\n )\n }\n {\n action && (\n <div ref={actionRef} className={`${COMPONENT_NAME}__action`}>\n { action({ actionRef, parentRef }) }\n </div>\n )\n }\n </div>\n );\n}\n\nexport default UserListItem;\n"],"names":["COMPONENT_NAME","UserListItem","_a","user","className","currentUser","action","actionRef","useRef","parentRef","avatarRef","stringSet","useContext","LocalizationContext","_b","UserProfileContext","disableUserProfile","renderUserProfile","injectingClassNames","Array","isArray","React","__spreadArray","join","isMuted","MutedAvatarOverlay","ContextMenu","toggleDropdown","Avatar","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","currentUserId","close","UserProfile","Label","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","userId","CAPTION_3","ONBACKGROUND_2","role","SUBTITLE_2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,cAAc,GAAG,gCAAvB;;IAmBMC,YAAY,GAAG,SAAfA,YAAe,CAACC,EAAD;MACnBC,IAAI;MACJC,SAAS;MACTC,WAAW;MACXC,MAAM;AAEN,MAAMC,SAAS,GAAGC,YAAM,CAAC,IAAD,CAAxB;AACA,MAAMC,SAAS,GAAGD,YAAM,CAAC,IAAD,CAAxB;AACA,MAAME,SAAS,GAAGF,YAAM,CAAC,IAAD,CAAxB;AACQ,MAAAG,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;;AACF,MAAAC,KAGFF,gBAAU,CAACG,qCAAD,CAHR;AAAA,MACJC,kBAAkB,wBADd;AAAA,MAEJC,iBAAiB,uBAFb;;AAIN,MAAMC,mBAAmB,GAAGC,KAAK,CAACC,OAAN,CAAchB,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAnE;AACA,sBACEiB;AACE,IAAA,GAAG,EAAEZ,SADP;AAEE,IAAA,SAAS,EAAEa,yBACTtB,iBAAmBkB,0BADV,CAETK,IAFS,CAEJ,GAFI;AAFb,KAOIpB,IAAI,CAACqB,OAAL,iBACEH,wCAACI,qBAAD,OARN,eAWEJ,wCAACK,yBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAoB,0BAC/BN,wCAACO,oBAAD;AACE,QAAA,OAAO,EAAE;AACP,cAAI,CAACZ,kBAAL,EAAyB;AACvBW,YAAAA,cAAc;AACf;AACF,SALH;AAME,QAAA,GAAG,EAAEjB,SANP;AAOE,QAAA,SAAS,EAAE,SAAA,CAAGV,cAAH,YAAA,CAPb;AAQE,QAAA,GAAG,EAAEG,IAAI,CAAC0B,UARZ;AASE,QAAA,KAAK,EAAE,EATT;AAUE,QAAA,MAAM,EAAE;AAVV,QAD+B;AAahC,KAdH;AAeE,IAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,0BAC5BT,wCAACU,wBAAD;AACE,QAAA,QAAQ,MADV;AAEE,QAAA,SAAS,EAAErB,SAFb;AAAA;AAIE,QAAA,gBAAgB,EAAEA,SAJpB;AAAA;AAME,QAAA,aAAa,EAAEoB,aANjB;AAOE,QAAA,KAAK,EAAE;AAAEE,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AAPT,SAUIhB,iBAAiB,GACbA,iBAAiB,CAAC;AAClBd,QAAAA,IAAI,MADc;AAElB+B,QAAAA,aAAa,EAAE7B,WAFG;AAGlB8B,QAAAA,KAAK,EAAEL;AAHW,OAAD,CADJ,gBAObT,wCAACe,cAAD;AACE,QAAA,IAAI,EAAEjC,IADR;AAEE,QAAA,aAAa,EAAEE,WAFjB;AAGE,QAAA,SAAS,EAAEyB;AAHb,QAjBR,CAD4B;AA0B7B;AAzCH,IAXF,eAsDET,wCAACgB,cAAD;AACE,IAAA,SAAS,EAAE,SAAA,CAAGrC,cAAH,WAAA,CADb;AAEE,IAAA,IAAI,EAAEsC,wBAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGtC,IAAI,CAACuC,QAAL,IAAiB/B,SAAS,CAACgC,OAL9B,EAOKtC,WAAW,KAAKF,IAAI,CAACyC,MAAtB,IACE,QARN,CAtDF;AAmEI,GAACzC,IAAI,CAACuC,QAAN,iBACErB,wCAACgB,cAAD;AACE,IAAA,SAAS,EAAE,SAAA,CAAGrC,cAAH,cAAA,CADb;AAEE,IAAA,IAAI,EAAEsC,wBAAe,CAACO,SAFxB;AAGE,IAAA,KAAK,EAAEL,oBAAW,CAACM;AAHrB,KAKG3C,IAAI,CAACyC,MALR,CApEN,EA8EIzC,IAAI,CAAC4C,IAAL,KAAc,UAAd,iBACE1B,wCAACgB,cAAD;AACE,IAAA,SAAS,EAAE,SAAA,CAAGrC,cAAH,cAAA,CADb;AAEE,IAAA,IAAI,EAAEsC,wBAAe,CAACU,UAFxB;AAGE,IAAA,KAAK,EAAER,oBAAW,CAACM;AAHrB,gBA/EN,EAyFIxC,MAAM,iBACJe;AAAK,IAAA,GAAG,EAAEd,SAAV;AAAqB,IAAA,SAAS,EAAE,SAAA,CAAGP,cAAH,YAAA;AAAhC,KACIM,MAAM,CAAC;AAAEC,IAAAA,SAAS,WAAX;AAAaE,IAAAA,SAAS;AAAtB,GAAD,CADV,CA1FN,CADF;AAkGD;;;;"}
@@ -0,0 +1,85 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var LocalizationContext = require('../../LocalizationContext-5a6a0f67.js');
5
+ var ui_Label = require('../../index-df05e765.js');
6
+ var ui_Icon = require('../../ui/Icon.js');
7
+ var ui_Badge = require('../../ui/Badge.js');
8
+ var MemberList = require('../../MemberList-bfecdd64.js');
9
+ var ChannelSettings_context = require('../context.js');
10
+ require('../../stringSet-2f3588b5.js');
11
+ require('../../index-72479c2a.js');
12
+ require('../../_rollupPluginBabelHelpers-d984e855.js');
13
+ require('prop-types');
14
+ require('../../index-f9677913.js');
15
+ require('../../ui/IconButton.js');
16
+ require('../../ui/ContextMenu.js');
17
+ require('../../index-40d245a3.js');
18
+ require('../../tslib.es6-d9c7aa8b.js');
19
+ require('react-dom');
20
+ require('../../ui/SortByRow.js');
21
+ require('./UserListItem.js');
22
+ require('../../UserProfileContext-17c8f75c.js');
23
+ require('../../ui/Avatar.js');
24
+ require('../../ui/ImageRenderer.js');
25
+ require('../../uuid-099485ae.js');
26
+ require('../../ui/MutedAvatarOverlay.js');
27
+ require('../../ui/UserProfile.js');
28
+ require('../../withSendBird.js');
29
+ require('../../sendbirdSelectors.js');
30
+ require('../../topics-582e38dc.js');
31
+ require('../../utils-031aba48.js');
32
+ require('../../ui/Modal.js');
33
+ require('../../index-ce679d41.js');
34
+ require('../../ui/UserListItem.js');
35
+ require('../../ui/Checkbox.js');
36
+ require('../../useSendbirdStateContext.js');
37
+
38
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
39
+
40
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
41
+
42
+ var kFormatter = function kFormatter(num) {
43
+ return Math.abs(num) > 999 ? "".concat((Math.abs(num) / 1000).toFixed(1), "K") : num;
44
+ };
45
+
46
+ var UserPanel = function UserPanel() {
47
+ var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
48
+
49
+ var _a = React.useState(false),
50
+ showAccordion = _a[0],
51
+ setShowAccordion = _a[1];
52
+
53
+ var channel = ChannelSettings_context.useChannelSettingsContext().channel;
54
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
55
+ className: ['sendbird-channel-settings__panel-item', 'sendbird-channel-settings__members'].join(' '),
56
+ role: "switch",
57
+ "aria-checked": showAccordion,
58
+ onKeyDown: function onKeyDown() {
59
+ return setShowAccordion(!showAccordion);
60
+ },
61
+ onClick: function onClick() {
62
+ return setShowAccordion(!showAccordion);
63
+ },
64
+ tabIndex: 0
65
+ }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
66
+ className: "sendbird-channel-settings__panel-icon-left",
67
+ type: ui_Icon.IconTypes.MEMBERS,
68
+ fillColor: ui_Icon.IconColors.PRIMARY,
69
+ height: "24px",
70
+ width: "24px"
71
+ }), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
72
+ type: ui_Label.LabelTypography.SUBTITLE_1,
73
+ color: ui_Label.LabelColors.ONBACKGROUND_1
74
+ }, stringSet.CHANNEL_SETTING__MEMBERS__TITLE, /*#__PURE__*/React__default["default"].createElement(ui_Badge, {
75
+ count: kFormatter(channel === null || channel === void 0 ? void 0 : channel.memberCount)
76
+ })), /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
77
+ className: ['sendbird-channel-settings__panel-icon-right', 'sendbird-channel-settings__panel-icon--chevron', showAccordion ? 'sendbird-channel-settings__panel-icon--open' : ''].join(' '),
78
+ type: ui_Icon.IconTypes.CHEVRON_RIGHT,
79
+ height: "24px",
80
+ width: "24px"
81
+ })), showAccordion && /*#__PURE__*/React__default["default"].createElement(MemberList.MemberList, null));
82
+ };
83
+
84
+ module.exports = UserPanel;
85
+ //# sourceMappingURL=UserPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserPanel.js","sources":["../../../../src/smart-components/ChannelSettings/components/UserPanel/index.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport MemberList from '../ModerationPanel/MemberList';\nimport { useChannelSettingsContext } from '../../context/ChannelSettingsProvider';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\nconst UserPanel: React.FC = () => {\n const { stringSet } = useContext(LocalizationContext);\n const [showAccordion, setShowAccordion] = useState(false);\n const { channel } = useChannelSettingsContext();\n return (\n <>\n <div\n className={[\n 'sendbird-channel-settings__panel-item',\n 'sendbird-channel-settings__members',\n ].join(' ')}\n role=\"switch\"\n aria-checked={showAccordion}\n onKeyDown={() => setShowAccordion(!showAccordion)}\n onClick={() => setShowAccordion(!showAccordion)}\n tabIndex={0}\n >\n <Icon\n className=\"sendbird-channel-settings__panel-icon-left\"\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n height=\"24px\"\n width=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n <Badge count={kFormatter(channel?.memberCount)} />\n </Label>\n <Icon\n className={[\n 'sendbird-channel-settings__panel-icon-right',\n 'sendbird-channel-settings__panel-icon--chevron',\n (showAccordion ? 'sendbird-channel-settings__panel-icon--open' : ''),\n ].join(' ')}\n type={IconTypes.CHEVRON_RIGHT}\n height=\"24px\"\n width=\"24px\"\n />\n </div>\n {\n showAccordion && (\n <MemberList />\n )\n }\n </>\n );\n}\n\nexport default UserPanel;\n"],"names":["kFormatter","num","Math","abs","toFixed","UserPanel","stringSet","useContext","LocalizationContext","_a","useState","showAccordion","setShowAccordion","channel","useChannelSettingsContext","React","join","Icon","IconTypes","MEMBERS","IconColors","PRIMARY","Label","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","CHANNEL_SETTING__MEMBERS__TITLE","Badge","memberCount","CHEVRON_RIGHT","MemberList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD;AACjB,SAAOC,IAAI,CAACC,GAAL,CAASF,GAAT,IAAgB,GAAhB,GACH,SAAA,CAAG,CAACC,IAAI,CAACC,GAAL,CAASF,GAAT,IAAc,IAAf,EAAqBG,OAArB,CAA6B,CAA7B,CAAH,KAAA,CADG,GAEHH,GAFJ;AAGD,CAJD;;IAMMI,SAAS,GAAa,SAAtBA,SAAsB;AAClB,MAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;;AACF,MAAAC,KAAoCC,cAAQ,CAAC,KAAD,CAA5C;AAAA,MAACC,aAAa,QAAd;AAAA,MAAgBC,gBAAgB,QAAhC;;AACE,MAAAC,OAAO,GAAKC,iDAAyB,UAArC;AACR,sBACEC,+FACEA;AACE,IAAA,SAAS,EAAE,CACT,uCADS,EAET,oCAFS,EAGTC,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,IAAI,EAAC,QALP;AAME,oBAAcL,aANhB;AAOE,IAAA,SAAS,EAAE;AAAM,aAAAC,gBAAgB,CAAC,CAACD,aAAF,CAAhB;AAAgC,KAPnD;AAQE,IAAA,OAAO,EAAE;AAAM,aAAAC,gBAAgB,CAAC,CAACD,aAAF,CAAhB;AAAgC,KARjD;AASE,IAAA,QAAQ,EAAE;AATZ,kBAWEI,wCAACE,kBAAD;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,IAAI,EAAEC,iBAAS,CAACC,OAFlB;AAGE,IAAA,SAAS,EAAEC,kBAAU,CAACC,OAHxB;AAIE,IAAA,MAAM,EAAC,MAJT;AAKE,IAAA,KAAK,EAAC;AALR,IAXF,eAkBEN,wCAACO,cAAD;AACE,IAAA,IAAI,EAAEC,wBAAe,CAACC,UADxB;AAEE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAFrB,KAIGpB,SAAS,CAACqB,+BAJb,eAKEZ,wCAACa,QAAD;AAAO,IAAA,KAAK,EAAE5B,UAAU,CAACa,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEgB,WAAV;AAAxB,IALF,CAlBF,eAyBEd,wCAACE,kBAAD;AACE,IAAA,SAAS,EAAE,CACT,6CADS,EAET,gDAFS,EAGRN,aAAa,GAAG,6CAAH,GAAmD,EAHxD,EAITK,IAJS,CAIJ,GAJI,CADb;AAME,IAAA,IAAI,EAAEE,iBAAS,CAACY,aANlB;AAOE,IAAA,MAAM,EAAC,MAPT;AAQE,IAAA,KAAK,EAAC;AARR,IAzBF,CADF,EAsCInB,aAAa,iBACXI,wCAACgB,qBAAD,OAvCN,CADF;AA6CD;;;;"}
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useSendbirdStateContext = require('../useSendbirdStateContext.js');
7
+ var UserProfileContext = require('../UserProfileContext-17c8f75c.js');
8
+ var uuid = require('../uuid-099485ae.js');
9
+ require('../withSendBird.js');
10
+ require('../_rollupPluginBabelHelpers-d984e855.js');
11
+ require('prop-types');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+
17
+ var ChannelSettingsContext = /*#__PURE__*/React__default["default"].createContext(undefined);
18
+
19
+ var ChannelSettingsProvider = function ChannelSettingsProvider(props) {
20
+ var children = props.children,
21
+ className = props.className,
22
+ channelUrl = props.channelUrl,
23
+ onCloseClick = props.onCloseClick,
24
+ onChannelModified = props.onChannelModified,
25
+ onBeforeUpdateChannel = props.onBeforeUpdateChannel,
26
+ queries = props.queries; // fetch store from <SendbirdProvider />
27
+
28
+ var globalStore = useSendbirdStateContext();
29
+ var config = globalStore.config,
30
+ stores = globalStore.stores;
31
+ var sdkStore = stores.sdkStore;
32
+ var logger = config.logger;
33
+ var initialized = sdkStore.initialized;
34
+ var sdk = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.sdk; // hack to keep track of channel updates by triggering useEffect
35
+
36
+ var _a = React.useState(uuid.uuidv4()),
37
+ channelUpdateId = _a[0],
38
+ setChannelUpdateId = _a[1];
39
+
40
+ var _b = React.useState(null),
41
+ channel = _b[0],
42
+ setChannel = _b[1];
43
+
44
+ var _c = React.useState(false),
45
+ invalidChannel = _c[0],
46
+ setInvalidChannel = _c[1];
47
+
48
+ var forceUpdateUI = function forceUpdateUI() {
49
+ setChannelUpdateId(uuid.uuidv4());
50
+ };
51
+
52
+ React.useEffect(function () {
53
+ logger.info('ChannelSettings: Setting up');
54
+
55
+ if (!channelUrl || !initialized || !sdk) {
56
+ logger.warning('ChannelSettings: Setting up failed', 'No channelUrl or sdk uninitialized');
57
+ setInvalidChannel(false);
58
+ } else {
59
+ if (!sdk || !sdk.groupChannel) {
60
+ logger.warning('ChannelSettings: No GroupChannel');
61
+ return;
62
+ }
63
+
64
+ sdk.groupChannel.getChannel(channelUrl).then(function (groupChannel) {
65
+ if (!groupChannel) {
66
+ logger.warning('ChannelSettings: Channel not found');
67
+ setInvalidChannel(true);
68
+ } else {
69
+ logger.info('ChannelSettings: Fetched group channel', groupChannel);
70
+ setInvalidChannel(false);
71
+ setChannel(groupChannel);
72
+ }
73
+ });
74
+ }
75
+ }, [channelUrl, initialized, channelUpdateId]);
76
+ return /*#__PURE__*/React__default["default"].createElement(ChannelSettingsContext.Provider, {
77
+ value: {
78
+ channelUrl: channelUrl,
79
+ onCloseClick: onCloseClick,
80
+ onChannelModified: onChannelModified,
81
+ onBeforeUpdateChannel: onBeforeUpdateChannel,
82
+ queries: queries,
83
+ setChannelUpdateId: setChannelUpdateId,
84
+ forceUpdateUI: forceUpdateUI,
85
+ channel: channel,
86
+ invalidChannel: invalidChannel
87
+ }
88
+ }, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
89
+ renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile,
90
+ disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile
91
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
92
+ className: "sendbird-channel-settings ".concat(className)
93
+ }, children)));
94
+ };
95
+
96
+ var useChannelSettingsContext = function useChannelSettingsContext() {
97
+ return React__default["default"].useContext(ChannelSettingsContext);
98
+ };
99
+
100
+ exports.ChannelSettingsProvider = ChannelSettingsProvider;
101
+ exports.useChannelSettingsContext = useChannelSettingsContext;
102
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../src/smart-components/ChannelSettings/context/ChannelSettingsProvider.tsx"],"sourcesContent":["\nimport React, {\n useEffect,\n useState,\n} from 'react';\nimport type {\n GroupChannel,\n GroupChannelUpdateParams,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { RenderUserProfileProps } from '../../../types';\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport uuidv4 from '../../../utils/uuid';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface ChannelSettingsQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n}\n\nexport type ChannelSettingsContextProps = {\n children: React.ReactNode;\n channelUrl: string;\n className?: string;\n onCloseClick?(): void;\n onChannelModified?(channel: GroupChannel): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;\n queries?: ChannelSettingsQueries;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n disableUserProfile?: boolean;\n}\n\ninterface ChannelSettingsProviderInterface {\n channelUrl: string;\n onCloseClick?(): void;\n onChannelModified?(channel: GroupChannel): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): GroupChannelUpdateParams;\n queries?: ChannelSettingsQueries;\n setChannelUpdateId(uniqId: string): void;\n forceUpdateUI(): void;\n channel: GroupChannel;\n invalidChannel: boolean;\n}\n\nconst ChannelSettingsContext = React.createContext<ChannelSettingsProviderInterface|null>(undefined);\n\nconst ChannelSettingsProvider: React.FC<ChannelSettingsContextProps> = (props: ChannelSettingsContextProps) => {\n const {\n children,\n className,\n channelUrl,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n queries,\n } = props;\n\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { logger } = config;\n\n const { initialized } = sdkStore;\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\n\n // hack to keep track of channel updates by triggering useEffect\n const [channelUpdateId, setChannelUpdateId] = useState(uuidv4());\n const [channel, setChannel] = useState(null);\n const [invalidChannel, setInvalidChannel] = useState(false);\n\n const forceUpdateUI = () => {\n setChannelUpdateId(uuidv4());\n }\n\n useEffect(() => {\n logger.info('ChannelSettings: Setting up');\n if (!channelUrl || !initialized || !sdk) {\n logger.warning('ChannelSettings: Setting up failed', 'No channelUrl or sdk uninitialized');\n setInvalidChannel(false);\n } else {\n if (!sdk || !sdk.groupChannel) {\n logger.warning('ChannelSettings: No GroupChannel');\n return;\n }\n sdk.groupChannel.getChannel(channelUrl).then((groupChannel) => {\n if (!groupChannel) {\n logger.warning('ChannelSettings: Channel not found');\n setInvalidChannel(true);\n } else {\n logger.info('ChannelSettings: Fetched group channel', groupChannel);\n setInvalidChannel(false);\n setChannel(groupChannel);\n }\n });\n }\n }, [channelUrl, initialized, channelUpdateId]);\n\n return (\n <ChannelSettingsContext.Provider value={{\n channelUrl,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n queries,\n setChannelUpdateId,\n forceUpdateUI,\n channel,\n invalidChannel,\n }}>\n <UserProfileProvider\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n <div className={`sendbird-channel-settings ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelSettingsContext.Provider>\n );\n}\n\nexport type UseChannelSettingsType = () => ChannelSettingsProviderInterface;\nconst useChannelSettingsContext: UseChannelSettingsType = () => React.useContext(ChannelSettingsContext);\n\nexport {\n ChannelSettingsProvider,\n useChannelSettingsContext,\n};\n"],"names":["ChannelSettingsContext","React","createContext","undefined","ChannelSettingsProvider","props","children","className","channelUrl","onCloseClick","onChannelModified","onBeforeUpdateChannel","queries","globalStore","useSendbirdStateContext","config","stores","sdkStore","logger","initialized","sdk","_a","useState","uuidv4","channelUpdateId","setChannelUpdateId","_b","channel","setChannel","_c","invalidChannel","setInvalidChannel","forceUpdateUI","useEffect","info","warning","groupChannel","getChannel","then","UserProfileProvider","renderUserProfile","disableUserProfile","useChannelSettingsContext","useContext"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ChannelSettings_components_ChannelSettingsUI = require('./ChannelSettings/components/ChannelSettingsUI.js');
5
+ var ChannelSettings_context = require('./ChannelSettings/context.js');
6
+ require('./useSendbirdStateContext.js');
7
+ require('./withSendBird.js');
8
+ require('./_rollupPluginBabelHelpers-d984e855.js');
9
+ require('./index-1e14c5b9.js');
10
+ require('prop-types');
11
+ require('./ui/Icon.js');
12
+ require('./ui/Loader.js');
13
+ require('./LocalizationContext-5a6a0f67.js');
14
+ require('./stringSet-2f3588b5.js');
15
+ require('./index-72479c2a.js');
16
+ require('./index-df05e765.js');
17
+ require('./ui/IconButton.js');
18
+ require('./ChannelSettings/components/ChannelProfile.js');
19
+ require('./ui/ChannelAvatar.js');
20
+ require('./ui/Avatar.js');
21
+ require('./tslib.es6-d9c7aa8b.js');
22
+ require('./ui/ImageRenderer.js');
23
+ require('./uuid-099485ae.js');
24
+ require('./utils-510b93ac.js');
25
+ require('./ui/TextButton.js');
26
+ require('./color-b30f84a2.js');
27
+ require('./ChannelSettings/components/EditDetailsModal.js');
28
+ require('./ui/Modal.js');
29
+ require('react-dom');
30
+ require('./index-ce679d41.js');
31
+ require('./index-f9677913.js');
32
+ require('./utils-031aba48.js');
33
+ require('./ui/Input.js');
34
+ require('./ChannelSettings/components/ModerationPanel.js');
35
+ require('./ui/Accordion.js');
36
+ require('./ui/AccordionGroup.js');
37
+ require('./context-83ecdafd.js');
38
+ require('./ui/Badge.js');
39
+ require('./ui/ContextMenu.js');
40
+ require('./index-40d245a3.js');
41
+ require('./ui/SortByRow.js');
42
+ require('./ChannelSettings/components/UserListItem.js');
43
+ require('./UserProfileContext-17c8f75c.js');
44
+ require('./ui/MutedAvatarOverlay.js');
45
+ require('./ui/UserProfile.js');
46
+ require('./sendbirdSelectors.js');
47
+ require('./topics-582e38dc.js');
48
+ require('./ui/UserListItem.js');
49
+ require('./ui/Checkbox.js');
50
+ require('./MemberList-bfecdd64.js');
51
+ require('./ChannelSettings/components/LeaveChannel.js');
52
+ require('./ChannelSettings/components/UserPanel.js');
53
+
54
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
55
+
56
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
57
+
58
+ var ChannelSettings = function ChannelSettings(props) {
59
+ return /*#__PURE__*/React__default["default"].createElement(ChannelSettings_context.ChannelSettingsProvider, {
60
+ channelUrl: props.channelUrl,
61
+ onCloseClick: props === null || props === void 0 ? void 0 : props.onCloseClick,
62
+ onChannelModified: props === null || props === void 0 ? void 0 : props.onChannelModified,
63
+ onBeforeUpdateChannel: props === null || props === void 0 ? void 0 : props.onBeforeUpdateChannel,
64
+ queries: props === null || props === void 0 ? void 0 : props.queries,
65
+ className: props === null || props === void 0 ? void 0 : props.className,
66
+ disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile,
67
+ renderUserProfile: props === null || props === void 0 ? void 0 : props.renderChannelProfile
68
+ }, /*#__PURE__*/React__default["default"].createElement(ChannelSettings_components_ChannelSettingsUI, {
69
+ renderPlaceholderError: props === null || props === void 0 ? void 0 : props.renderPlaceholderError,
70
+ renderChannelProfile: props === null || props === void 0 ? void 0 : props.renderChannelProfile,
71
+ renderModerationPanel: props === null || props === void 0 ? void 0 : props.renderModerationPanel,
72
+ renderLeaveChannel: props === null || props === void 0 ? void 0 : props.renderLeaveChannel
73
+ }));
74
+ };
75
+
76
+ module.exports = ChannelSettings;
77
+ //# sourceMappingURL=ChannelSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelSettings.js","sources":["../../src/smart-components/ChannelSettings/index.tsx"],"sourcesContent":["import React from 'react';\nimport ChannelSettingsUI, {\n ChannelSettingsUIProps,\n} from './components/ChannelSettingsUI';\n\nimport {\n ChannelSettingsProvider,\n ChannelSettingsContextProps,\n} from './context/ChannelSettingsProvider';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface ChannelSettingsProps extends ChannelSettingsUIProps, ChannelSettingsContextProps {\n}\n\nconst ChannelSettings: React.FC<ChannelSettingsProps> = (props: ChannelSettingsProps) => {\n return (\n <ChannelSettingsProvider\n channelUrl={props.channelUrl}\n onCloseClick={props?.onCloseClick}\n onChannelModified={props?.onChannelModified}\n onBeforeUpdateChannel={props?.onBeforeUpdateChannel}\n queries={props?.queries}\n className={props?.className}\n disableUserProfile={props?.disableUserProfile}\n renderUserProfile={props?.renderChannelProfile}\n >\n <ChannelSettingsUI\n renderPlaceholderError={props?.renderPlaceholderError}\n renderChannelProfile={props?.renderChannelProfile}\n renderModerationPanel={props?.renderModerationPanel}\n renderLeaveChannel={props?.renderLeaveChannel}\n />\n </ChannelSettingsProvider>\n );\n}\n\nexport default ChannelSettings;\n"],"names":["ChannelSettings","props","React","ChannelSettingsProvider","channelUrl","onCloseClick","onChannelModified","onBeforeUpdateChannel","queries","className","disableUserProfile","renderChannelProfile","ChannelSettingsUI","renderPlaceholderError","renderModerationPanel","renderLeaveChannel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBMA,eAAe,GAAmC,SAAlDA,eAAkD,CAACC,KAAD;AACtD,sBACEC,wCAACC,+CAAD;AACE,IAAA,UAAU,EAAEF,KAAK,CAACG,UADpB;AAEE,IAAA,YAAY,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,YAFvB;AAGE,IAAA,iBAAiB,EAAEJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEK,iBAH5B;AAIE,IAAA,qBAAqB,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEM,qBAJhC;AAKE,IAAA,OAAO,EAAEN,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEO,OALlB;AAME,IAAA,SAAS,EAAEP,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEQ,SANpB;AAOE,IAAA,kBAAkB,EAAER,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAES,kBAP7B;AAQE,IAAA,iBAAiB,EAAET,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU;AAR5B,kBAUET,wCAACU,4CAAD;AACE,IAAA,sBAAsB,EAAEX,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEY,sBADjC;AAEE,IAAA,oBAAoB,EAAEZ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU,oBAF/B;AAGE,IAAA,qBAAqB,EAAEV,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEa,qBAHhC;AAIE,IAAA,kBAAkB,EAAEb,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEc;AAJ7B,IAVF,CADF;AAmBD;;;;"}