@sendbird/uikit-react 3.0.0-beta.3 → 3.0.0-beta.4

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 (612) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +129 -0
  3. package/dist/index.css +0 -2
  4. package/dist/index.css.map +1 -1
  5. package/package.json +29 -7
  6. package/App.js +0 -313
  7. package/App.js.map +0 -1
  8. package/Channel/components/ChannelHeader.js +0 -117
  9. package/Channel/components/ChannelHeader.js.map +0 -1
  10. package/Channel/components/ChannelUI.js +0 -179
  11. package/Channel/components/ChannelUI.js.map +0 -1
  12. package/Channel/components/FileViewer.js +0 -151
  13. package/Channel/components/FileViewer.js.map +0 -1
  14. package/Channel/components/FrozenNotification.js +0 -20
  15. package/Channel/components/FrozenNotification.js.map +0 -1
  16. package/Channel/components/Message.js +0 -355
  17. package/Channel/components/Message.js.map +0 -1
  18. package/Channel/components/MessageInput.js +0 -202
  19. package/Channel/components/MessageInput.js.map +0 -1
  20. package/Channel/components/MessageList.js +0 -239
  21. package/Channel/components/MessageList.js.map +0 -1
  22. package/Channel/components/RemoveMessageModal.js +0 -53
  23. package/Channel/components/RemoveMessageModal.js.map +0 -1
  24. package/Channel/components/SuggestedMentionList.js +0 -250
  25. package/Channel/components/SuggestedMentionList.js.map +0 -1
  26. package/Channel/components/TypingIndicator.js +0 -98
  27. package/Channel/components/TypingIndicator.js.map +0 -1
  28. package/Channel/components/UnreadCount.js +0 -41
  29. package/Channel/components/UnreadCount.js.map +0 -1
  30. package/Channel/context.js +0 -24
  31. package/Channel/context.js.map +0 -1
  32. package/Channel.js +0 -106
  33. package/Channel.js.map +0 -1
  34. package/ChannelList/components/AddChannel.js +0 -70
  35. package/ChannelList/components/AddChannel.js.map +0 -1
  36. package/ChannelList/components/ChannelListHeader.js +0 -62
  37. package/ChannelList/components/ChannelListHeader.js.map +0 -1
  38. package/ChannelList/components/ChannelListUI.js +0 -236
  39. package/ChannelList/components/ChannelListUI.js.map +0 -1
  40. package/ChannelList/components/ChannelPreview.js +0 -211
  41. package/ChannelList/components/ChannelPreview.js.map +0 -1
  42. package/ChannelList/components/ChannelPreviewAction.js +0 -131
  43. package/ChannelList/components/ChannelPreviewAction.js.map +0 -1
  44. package/ChannelList/context.js +0 -13
  45. package/ChannelList/context.js.map +0 -1
  46. package/ChannelList.js +0 -89
  47. package/ChannelList.js.map +0 -1
  48. package/ChannelListProvider-d602a166.js +0 -926
  49. package/ChannelListProvider-d602a166.js.map +0 -1
  50. package/ChannelProvider-cf8fc05a.js +0 -2114
  51. package/ChannelProvider-cf8fc05a.js.map +0 -1
  52. package/ChannelSettings/components/AdminPanel.js +0 -905
  53. package/ChannelSettings/components/AdminPanel.js.map +0 -1
  54. package/ChannelSettings/components/ChannelProfile.js +0 -102
  55. package/ChannelSettings/components/ChannelProfile.js.map +0 -1
  56. package/ChannelSettings/components/ChannelSettingsUI.js +0 -152
  57. package/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
  58. package/ChannelSettings/components/EditDetailsModal.js +0 -154
  59. package/ChannelSettings/components/EditDetailsModal.js.map +0 -1
  60. package/ChannelSettings/components/LeaveChannel.js +0 -53
  61. package/ChannelSettings/components/LeaveChannel.js.map +0 -1
  62. package/ChannelSettings/components/UserListItem.js +0 -105
  63. package/ChannelSettings/components/UserListItem.js.map +0 -1
  64. package/ChannelSettings/components/UserPanel.js +0 -79
  65. package/ChannelSettings/components/UserPanel.js.map +0 -1
  66. package/ChannelSettings/context.js +0 -93
  67. package/ChannelSettings/context.js.map +0 -1
  68. package/ChannelSettings.js +0 -71
  69. package/ChannelSettings.js.map +0 -1
  70. package/CreateChannel/components/CreateChannelUI.js +0 -53
  71. package/CreateChannel/components/CreateChannelUI.js.map +0 -1
  72. package/CreateChannel/components/InviteMembers.js +0 -184
  73. package/CreateChannel/components/InviteMembers.js.map +0 -1
  74. package/CreateChannel/components/SelectChannelType.js +0 -131
  75. package/CreateChannel/components/SelectChannelType.js.map +0 -1
  76. package/CreateChannel/context.js +0 -8
  77. package/CreateChannel/context.js.map +0 -1
  78. package/CreateChannel.js +0 -53
  79. package/CreateChannel.js.map +0 -1
  80. package/CreateChannelProvider-3f3dafed.js +0 -53
  81. package/CreateChannelProvider-3f3dafed.js.map +0 -1
  82. package/EditUserProfile/components/EditUserProfileUI.js +0 -26
  83. package/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  84. package/EditUserProfile/context.js +0 -27
  85. package/EditUserProfile/context.js.map +0 -1
  86. package/EditUserProfile.js +0 -39
  87. package/EditUserProfile.js.map +0 -1
  88. package/LocalizationContext-b970a73c.js +0 -22
  89. package/LocalizationContext-b970a73c.js.map +0 -1
  90. package/MemberList-9d29bee4.js +0 -425
  91. package/MemberList-9d29bee4.js.map +0 -1
  92. package/MessageSearch/components/MessageSearchUI.js +0 -151
  93. package/MessageSearch/components/MessageSearchUI.js.map +0 -1
  94. package/MessageSearch/context.js +0 -392
  95. package/MessageSearch/context.js.map +0 -1
  96. package/MessageSearch.js +0 -146
  97. package/MessageSearch.js.map +0 -1
  98. package/OpenChannel/components/FrozenChannelNotification.js +0 -20
  99. package/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
  100. package/OpenChannel/components/OpenChannelHeader.js +0 -78
  101. package/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  102. package/OpenChannel/components/OpenChannelInput.js +0 -56
  103. package/OpenChannel/components/OpenChannelInput.js.map +0 -1
  104. package/OpenChannel/components/OpenChannelMessage.js +0 -282
  105. package/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  106. package/OpenChannel/components/OpenChannelMessageList.js +0 -157
  107. package/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  108. package/OpenChannel/components/OpenChannelUI.js +0 -109
  109. package/OpenChannel/components/OpenChannelUI.js.map +0 -1
  110. package/OpenChannel/context.js +0 -14
  111. package/OpenChannel/context.js.map +0 -1
  112. package/OpenChannel.js +0 -80
  113. package/OpenChannel.js.map +0 -1
  114. package/OpenChannelProvider-821fb008.js +0 -2011
  115. package/OpenChannelProvider-821fb008.js.map +0 -1
  116. package/OpenChannelSettings/components/EditDetailsModal.js +0 -149
  117. package/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
  118. package/OpenChannelSettings/components/OpenChannelProfile.js +0 -81
  119. package/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
  120. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -104
  121. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
  122. package/OpenChannelSettings/components/OperatorUI.js +0 -184
  123. package/OpenChannelSettings/components/OperatorUI.js.map +0 -1
  124. package/OpenChannelSettings/components/ParticipantUI.js +0 -172
  125. package/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
  126. package/OpenChannelSettings/context.js +0 -64
  127. package/OpenChannelSettings/context.js.map +0 -1
  128. package/OpenChannelSettings.js +0 -64
  129. package/OpenChannelSettings.js.map +0 -1
  130. package/SendbirdProvider.js +0 -762
  131. package/SendbirdProvider.js.map +0 -1
  132. package/UserProfileContext-f4ff4291.js +0 -38
  133. package/UserProfileContext-f4ff4291.js.map +0 -1
  134. package/_rollupPluginBabelHelpers-6bf18550.js +0 -233
  135. package/_rollupPluginBabelHelpers-6bf18550.js.map +0 -1
  136. package/actionTypes-8e320ded.js +0 -6
  137. package/actionTypes-8e320ded.js.map +0 -1
  138. package/cjs/App.js +0 -320
  139. package/cjs/App.js.map +0 -1
  140. package/cjs/Channel/components/ChannelHeader.js +0 -123
  141. package/cjs/Channel/components/ChannelHeader.js.map +0 -1
  142. package/cjs/Channel/components/ChannelUI.js +0 -185
  143. package/cjs/Channel/components/ChannelUI.js.map +0 -1
  144. package/cjs/Channel/components/FileViewer.js +0 -160
  145. package/cjs/Channel/components/FileViewer.js.map +0 -1
  146. package/cjs/Channel/components/FrozenNotification.js +0 -26
  147. package/cjs/Channel/components/FrozenNotification.js.map +0 -1
  148. package/cjs/Channel/components/Message.js +0 -361
  149. package/cjs/Channel/components/Message.js.map +0 -1
  150. package/cjs/Channel/components/MessageInput.js +0 -208
  151. package/cjs/Channel/components/MessageInput.js.map +0 -1
  152. package/cjs/Channel/components/MessageList.js +0 -245
  153. package/cjs/Channel/components/MessageList.js.map +0 -1
  154. package/cjs/Channel/components/RemoveMessageModal.js +0 -59
  155. package/cjs/Channel/components/RemoveMessageModal.js.map +0 -1
  156. package/cjs/Channel/components/SuggestedMentionList.js +0 -256
  157. package/cjs/Channel/components/SuggestedMentionList.js.map +0 -1
  158. package/cjs/Channel/components/TypingIndicator.js +0 -107
  159. package/cjs/Channel/components/TypingIndicator.js.map +0 -1
  160. package/cjs/Channel/components/UnreadCount.js +0 -47
  161. package/cjs/Channel/components/UnreadCount.js.map +0 -1
  162. package/cjs/Channel/context.js +0 -33
  163. package/cjs/Channel/context.js.map +0 -1
  164. package/cjs/Channel.js +0 -112
  165. package/cjs/Channel.js.map +0 -1
  166. package/cjs/ChannelList/components/AddChannel.js +0 -79
  167. package/cjs/ChannelList/components/AddChannel.js.map +0 -1
  168. package/cjs/ChannelList/components/ChannelListHeader.js +0 -68
  169. package/cjs/ChannelList/components/ChannelListHeader.js.map +0 -1
  170. package/cjs/ChannelList/components/ChannelListUI.js +0 -242
  171. package/cjs/ChannelList/components/ChannelListUI.js.map +0 -1
  172. package/cjs/ChannelList/components/ChannelPreview.js +0 -217
  173. package/cjs/ChannelList/components/ChannelPreview.js.map +0 -1
  174. package/cjs/ChannelList/components/ChannelPreviewAction.js +0 -138
  175. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +0 -1
  176. package/cjs/ChannelList/context.js +0 -22
  177. package/cjs/ChannelList/context.js.map +0 -1
  178. package/cjs/ChannelList.js +0 -95
  179. package/cjs/ChannelList.js.map +0 -1
  180. package/cjs/ChannelListProvider-64db9f70.js +0 -938
  181. package/cjs/ChannelListProvider-64db9f70.js.map +0 -1
  182. package/cjs/ChannelProvider-5e8e33b1.js +0 -2127
  183. package/cjs/ChannelProvider-5e8e33b1.js.map +0 -1
  184. package/cjs/ChannelSettings/components/AdminPanel.js +0 -911
  185. package/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
  186. package/cjs/ChannelSettings/components/ChannelProfile.js +0 -108
  187. package/cjs/ChannelSettings/components/ChannelProfile.js.map +0 -1
  188. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +0 -158
  189. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
  190. package/cjs/ChannelSettings/components/EditDetailsModal.js +0 -160
  191. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +0 -1
  192. package/cjs/ChannelSettings/components/LeaveChannel.js +0 -59
  193. package/cjs/ChannelSettings/components/LeaveChannel.js.map +0 -1
  194. package/cjs/ChannelSettings/components/UserListItem.js +0 -111
  195. package/cjs/ChannelSettings/components/UserListItem.js.map +0 -1
  196. package/cjs/ChannelSettings/components/UserPanel.js +0 -85
  197. package/cjs/ChannelSettings/components/UserPanel.js.map +0 -1
  198. package/cjs/ChannelSettings/context.js +0 -102
  199. package/cjs/ChannelSettings/context.js.map +0 -1
  200. package/cjs/ChannelSettings.js +0 -77
  201. package/cjs/ChannelSettings.js.map +0 -1
  202. package/cjs/CreateChannel/components/CreateChannelUI.js +0 -59
  203. package/cjs/CreateChannel/components/CreateChannelUI.js.map +0 -1
  204. package/cjs/CreateChannel/components/InviteMembers.js +0 -190
  205. package/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
  206. package/cjs/CreateChannel/components/SelectChannelType.js +0 -137
  207. package/cjs/CreateChannel/components/SelectChannelType.js.map +0 -1
  208. package/cjs/CreateChannel/context.js +0 -17
  209. package/cjs/CreateChannel/context.js.map +0 -1
  210. package/cjs/CreateChannel.js +0 -59
  211. package/cjs/CreateChannel.js.map +0 -1
  212. package/cjs/CreateChannelProvider-dcf7f906.js +0 -60
  213. package/cjs/CreateChannelProvider-dcf7f906.js.map +0 -1
  214. package/cjs/EditUserProfile/components/EditUserProfileUI.js +0 -32
  215. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
  216. package/cjs/EditUserProfile/context.js +0 -36
  217. package/cjs/EditUserProfile/context.js.map +0 -1
  218. package/cjs/EditUserProfile.js +0 -45
  219. package/cjs/EditUserProfile.js.map +0 -1
  220. package/cjs/LocalizationContext-382a9ef1.js +0 -30
  221. package/cjs/LocalizationContext-382a9ef1.js.map +0 -1
  222. package/cjs/MemberList-03a241cd.js +0 -431
  223. package/cjs/MemberList-03a241cd.js.map +0 -1
  224. package/cjs/MessageSearch/components/MessageSearchUI.js +0 -160
  225. package/cjs/MessageSearch/components/MessageSearchUI.js.map +0 -1
  226. package/cjs/MessageSearch/context.js +0 -401
  227. package/cjs/MessageSearch/context.js.map +0 -1
  228. package/cjs/MessageSearch.js +0 -152
  229. package/cjs/MessageSearch.js.map +0 -1
  230. package/cjs/OpenChannel/components/FrozenChannelNotification.js +0 -26
  231. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
  232. package/cjs/OpenChannel/components/OpenChannelHeader.js +0 -84
  233. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +0 -1
  234. package/cjs/OpenChannel/components/OpenChannelInput.js +0 -62
  235. package/cjs/OpenChannel/components/OpenChannelInput.js.map +0 -1
  236. package/cjs/OpenChannel/components/OpenChannelMessage.js +0 -288
  237. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +0 -1
  238. package/cjs/OpenChannel/components/OpenChannelMessageList.js +0 -163
  239. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
  240. package/cjs/OpenChannel/components/OpenChannelUI.js +0 -115
  241. package/cjs/OpenChannel/components/OpenChannelUI.js.map +0 -1
  242. package/cjs/OpenChannel/context.js +0 -23
  243. package/cjs/OpenChannel/context.js.map +0 -1
  244. package/cjs/OpenChannel.js +0 -86
  245. package/cjs/OpenChannel.js.map +0 -1
  246. package/cjs/OpenChannelProvider-9000ccb9.js +0 -2020
  247. package/cjs/OpenChannelProvider-9000ccb9.js.map +0 -1
  248. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +0 -155
  249. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
  250. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +0 -87
  251. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
  252. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -110
  253. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
  254. package/cjs/OpenChannelSettings/components/OperatorUI.js +0 -194
  255. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +0 -1
  256. package/cjs/OpenChannelSettings/components/ParticipantUI.js +0 -178
  257. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
  258. package/cjs/OpenChannelSettings/context.js +0 -73
  259. package/cjs/OpenChannelSettings/context.js.map +0 -1
  260. package/cjs/OpenChannelSettings.js +0 -70
  261. package/cjs/OpenChannelSettings.js.map +0 -1
  262. package/cjs/SendbirdProvider.js +0 -771
  263. package/cjs/SendbirdProvider.js.map +0 -1
  264. package/cjs/UserProfileContext-0b7ef11a.js +0 -46
  265. package/cjs/UserProfileContext-0b7ef11a.js.map +0 -1
  266. package/cjs/_rollupPluginBabelHelpers-6193d45d.js +0 -243
  267. package/cjs/_rollupPluginBabelHelpers-6193d45d.js.map +0 -1
  268. package/cjs/actionTypes-092bc172.js +0 -10
  269. package/cjs/actionTypes-092bc172.js.map +0 -1
  270. package/cjs/color-1816dacf.js +0 -42
  271. package/cjs/color-1816dacf.js.map +0 -1
  272. package/cjs/compareIds-e9bca8c4.js +0 -20
  273. package/cjs/compareIds-e9bca8c4.js.map +0 -1
  274. package/cjs/const-c65837c1.js +0 -22
  275. package/cjs/const-c65837c1.js.map +0 -1
  276. package/cjs/const-d9f4d880.js +0 -14
  277. package/cjs/const-d9f4d880.js.map +0 -1
  278. package/cjs/context-6ebf3379.js +0 -19
  279. package/cjs/context-6ebf3379.js.map +0 -1
  280. package/cjs/index-01072ac9.js +0 -97
  281. package/cjs/index-01072ac9.js.map +0 -1
  282. package/cjs/index-20a06ed6.js +0 -514
  283. package/cjs/index-20a06ed6.js.map +0 -1
  284. package/cjs/index-212a11f2.js +0 -722
  285. package/cjs/index-212a11f2.js.map +0 -1
  286. package/cjs/index-2faa2f93.js +0 -9
  287. package/cjs/index-2faa2f93.js.map +0 -1
  288. package/cjs/index-4f40f311.js +0 -67
  289. package/cjs/index-4f40f311.js.map +0 -1
  290. package/cjs/index-75453415.js +0 -54
  291. package/cjs/index-75453415.js.map +0 -1
  292. package/cjs/index-948426a8.js +0 -284
  293. package/cjs/index-948426a8.js.map +0 -1
  294. package/cjs/index-a2ce047a.js +0 -1880
  295. package/cjs/index-a2ce047a.js.map +0 -1
  296. package/cjs/index-d57081d1.js +0 -175
  297. package/cjs/index-d57081d1.js.map +0 -1
  298. package/cjs/index-e63da805.js +0 -130
  299. package/cjs/index-e63da805.js.map +0 -1
  300. package/cjs/index-f1971e28.js +0 -142
  301. package/cjs/index-f1971e28.js.map +0 -1
  302. package/cjs/index.css +0 -4465
  303. package/cjs/index.css.map +0 -1
  304. package/cjs/index.js +0 -162
  305. package/cjs/index.js.map +0 -1
  306. package/cjs/openChannelUtils-16f29ba2.js +0 -92
  307. package/cjs/openChannelUtils-16f29ba2.js.map +0 -1
  308. package/cjs/sendBirdSelectors.js +0 -741
  309. package/cjs/sendBirdSelectors.js.map +0 -1
  310. package/cjs/stringSet-b9ea6eef.js +0 -118
  311. package/cjs/stringSet-b9ea6eef.js.map +0 -1
  312. package/cjs/topics-11048db8.js +0 -18
  313. package/cjs/topics-11048db8.js.map +0 -1
  314. package/cjs/tslib.es6-07dd6257.js +0 -40
  315. package/cjs/tslib.es6-07dd6257.js.map +0 -1
  316. package/cjs/ui/Accordion.js +0 -74
  317. package/cjs/ui/Accordion.js.map +0 -1
  318. package/cjs/ui/AccordionGroup.js +0 -32
  319. package/cjs/ui/AccordionGroup.js.map +0 -1
  320. package/cjs/ui/AdminMessage.js +0 -44
  321. package/cjs/ui/AdminMessage.js.map +0 -1
  322. package/cjs/ui/Avatar.js +0 -226
  323. package/cjs/ui/Avatar.js.map +0 -1
  324. package/cjs/ui/Badge.js +0 -45
  325. package/cjs/ui/Badge.js.map +0 -1
  326. package/cjs/ui/Button.js +0 -17
  327. package/cjs/ui/Button.js.map +0 -1
  328. package/cjs/ui/ChannelAvatar.js +0 -59
  329. package/cjs/ui/ChannelAvatar.js.map +0 -1
  330. package/cjs/ui/ChannelPreview.js +0 -201
  331. package/cjs/ui/ChannelPreview.js.map +0 -1
  332. package/cjs/ui/ChatHeader.js +0 -145
  333. package/cjs/ui/ChatHeader.js.map +0 -1
  334. package/cjs/ui/Checkbox.js +0 -49
  335. package/cjs/ui/Checkbox.js.map +0 -1
  336. package/cjs/ui/ConnectionStatus.js +0 -34
  337. package/cjs/ui/ConnectionStatus.js.map +0 -1
  338. package/cjs/ui/ContextMenu.js +0 -431
  339. package/cjs/ui/ContextMenu.js.map +0 -1
  340. package/cjs/ui/DateSeparator.js +0 -44
  341. package/cjs/ui/DateSeparator.js.map +0 -1
  342. package/cjs/ui/Dropdown.js +0 -107
  343. package/cjs/ui/Dropdown.js.map +0 -1
  344. package/cjs/ui/EmojiReactions.js +0 -127
  345. package/cjs/ui/EmojiReactions.js.map +0 -1
  346. package/cjs/ui/FileMessageItemBody.js +0 -57
  347. package/cjs/ui/FileMessageItemBody.js.map +0 -1
  348. package/cjs/ui/FileViewer.js +0 -174
  349. package/cjs/ui/FileViewer.js.map +0 -1
  350. package/cjs/ui/Icon.js +0 -1462
  351. package/cjs/ui/Icon.js.map +0 -1
  352. package/cjs/ui/IconButton.js +0 -83
  353. package/cjs/ui/IconButton.js.map +0 -1
  354. package/cjs/ui/ImageRenderer.js +0 -138
  355. package/cjs/ui/ImageRenderer.js.map +0 -1
  356. package/cjs/ui/Input.js +0 -74
  357. package/cjs/ui/Input.js.map +0 -1
  358. package/cjs/ui/Label.js +0 -17
  359. package/cjs/ui/Label.js.map +0 -1
  360. package/cjs/ui/LinkLabel.js +0 -51
  361. package/cjs/ui/LinkLabel.js.map +0 -1
  362. package/cjs/ui/Loader.js +0 -44
  363. package/cjs/ui/Loader.js.map +0 -1
  364. package/cjs/ui/MentionUserLabel.js +0 -25
  365. package/cjs/ui/MentionUserLabel.js.map +0 -1
  366. package/cjs/ui/MessageContent.js +0 -291
  367. package/cjs/ui/MessageContent.js.map +0 -1
  368. package/cjs/ui/MessageInput.js +0 -5048
  369. package/cjs/ui/MessageInput.js.map +0 -1
  370. package/cjs/ui/MessageItemMenu.js +0 -141
  371. package/cjs/ui/MessageItemMenu.js.map +0 -1
  372. package/cjs/ui/MessageItemReactionMenu.js +0 -112
  373. package/cjs/ui/MessageItemReactionMenu.js.map +0 -1
  374. package/cjs/ui/MessageSearchFileItem.js +0 -130
  375. package/cjs/ui/MessageSearchFileItem.js.map +0 -1
  376. package/cjs/ui/MessageSearchItem.js +0 -93
  377. package/cjs/ui/MessageSearchItem.js.map +0 -1
  378. package/cjs/ui/MessageStatus.js +0 -66
  379. package/cjs/ui/MessageStatus.js.map +0 -1
  380. package/cjs/ui/Modal.js +0 -140
  381. package/cjs/ui/Modal.js.map +0 -1
  382. package/cjs/ui/MutedAvatarOverlay.js +0 -40
  383. package/cjs/ui/MutedAvatarOverlay.js.map +0 -1
  384. package/cjs/ui/OGMessageItemBody.js +0 -107
  385. package/cjs/ui/OGMessageItemBody.js.map +0 -1
  386. package/cjs/ui/OpenChannelAdminMessage.js +0 -27
  387. package/cjs/ui/OpenChannelAdminMessage.js.map +0 -1
  388. package/cjs/ui/OpenChannelAvatar.js +0 -41
  389. package/cjs/ui/OpenChannelAvatar.js.map +0 -1
  390. package/cjs/ui/OpenChannelMessageContent.js +0 -14
  391. package/cjs/ui/OpenChannelMessageContent.js.map +0 -1
  392. package/cjs/ui/OpenchannelConversationHeader.js +0 -73
  393. package/cjs/ui/OpenchannelConversationHeader.js.map +0 -1
  394. package/cjs/ui/OpenchannelFileMessage.js +0 -230
  395. package/cjs/ui/OpenchannelFileMessage.js.map +0 -1
  396. package/cjs/ui/OpenchannelOGMessage.js +0 -345
  397. package/cjs/ui/OpenchannelOGMessage.js.map +0 -1
  398. package/cjs/ui/OpenchannelThumbnailMessage.js +0 -305
  399. package/cjs/ui/OpenchannelThumbnailMessage.js.map +0 -1
  400. package/cjs/ui/OpenchannelUserMessage.js +0 -264
  401. package/cjs/ui/OpenchannelUserMessage.js.map +0 -1
  402. package/cjs/ui/PlaceHolder.js +0 -20
  403. package/cjs/ui/PlaceHolder.js.map +0 -1
  404. package/cjs/ui/QuoteMessage.js +0 -131
  405. package/cjs/ui/QuoteMessage.js.map +0 -1
  406. package/cjs/ui/QuoteMessageInput.js +0 -99
  407. package/cjs/ui/QuoteMessageInput.js.map +0 -1
  408. package/cjs/ui/ReactionBadge.js +0 -68
  409. package/cjs/ui/ReactionBadge.js.map +0 -1
  410. package/cjs/ui/ReactionButton.js +0 -55
  411. package/cjs/ui/ReactionButton.js.map +0 -1
  412. package/cjs/ui/SortByRow.js +0 -57
  413. package/cjs/ui/SortByRow.js.map +0 -1
  414. package/cjs/ui/TextButton.js +0 -45
  415. package/cjs/ui/TextButton.js.map +0 -1
  416. package/cjs/ui/TextMessageItemBody.js +0 -62
  417. package/cjs/ui/TextMessageItemBody.js.map +0 -1
  418. package/cjs/ui/ThumbnailMessageItemBody.js +0 -82
  419. package/cjs/ui/ThumbnailMessageItemBody.js.map +0 -1
  420. package/cjs/ui/Tooltip.js +0 -35
  421. package/cjs/ui/Tooltip.js.map +0 -1
  422. package/cjs/ui/TooltipWrapper.js +0 -65
  423. package/cjs/ui/TooltipWrapper.js.map +0 -1
  424. package/cjs/ui/UnknownMessageItemBody.js +0 -41
  425. package/cjs/ui/UnknownMessageItemBody.js.map +0 -1
  426. package/cjs/ui/UserListItem.js +0 -158
  427. package/cjs/ui/UserListItem.js.map +0 -1
  428. package/cjs/ui/UserProfile.js +0 -87
  429. package/cjs/ui/UserProfile.js.map +0 -1
  430. package/cjs/useSendbirdStateContext.js +0 -22
  431. package/cjs/useSendbirdStateContext.js.map +0 -1
  432. package/cjs/utils-3240365f.js +0 -32
  433. package/cjs/utils-3240365f.js.map +0 -1
  434. package/cjs/utils-53d332a6.js +0 -38
  435. package/cjs/utils-53d332a6.js.map +0 -1
  436. package/cjs/utils-94ae6cec.js +0 -6
  437. package/cjs/utils-94ae6cec.js.map +0 -1
  438. package/cjs/uuid-172844fb.js +0 -19
  439. package/cjs/uuid-172844fb.js.map +0 -1
  440. package/cjs/withSendBird.js +0 -35
  441. package/cjs/withSendBird.js.map +0 -1
  442. package/color-38dc84d3.js +0 -39
  443. package/color-38dc84d3.js.map +0 -1
  444. package/compareIds-f01e0c3c.js +0 -18
  445. package/compareIds-f01e0c3c.js.map +0 -1
  446. package/const-b6685801.js +0 -8
  447. package/const-b6685801.js.map +0 -1
  448. package/const-d46f09a1.js +0 -18
  449. package/const-d46f09a1.js.map +0 -1
  450. package/context-b5168bd0.js +0 -12
  451. package/context-b5168bd0.js.map +0 -1
  452. package/index-1c2588aa.js +0 -1873
  453. package/index-1c2588aa.js.map +0 -1
  454. package/index-2dce3a04.js +0 -87
  455. package/index-2dce3a04.js.map +0 -1
  456. package/index-3bd4a058.js +0 -168
  457. package/index-3bd4a058.js.map +0 -1
  458. package/index-62fd2db7.js +0 -48
  459. package/index-62fd2db7.js.map +0 -1
  460. package/index-6381b534.js +0 -512
  461. package/index-6381b534.js.map +0 -1
  462. package/index-9afb4d01.js +0 -64
  463. package/index-9afb4d01.js.map +0 -1
  464. package/index-a6675155.js +0 -280
  465. package/index-a6675155.js.map +0 -1
  466. package/index-b12b270e.js +0 -121
  467. package/index-b12b270e.js.map +0 -1
  468. package/index-d0b30cd5.js +0 -131
  469. package/index-d0b30cd5.js.map +0 -1
  470. package/index-d0fe8fe1.js +0 -7
  471. package/index-d0fe8fe1.js.map +0 -1
  472. package/index-e6d0889d.js +0 -682
  473. package/index-e6d0889d.js.map +0 -1
  474. package/index.d.ts +0 -1829
  475. package/index.js +0 -143
  476. package/index.js.map +0 -1
  477. package/openChannelUtils-22ed0258.js +0 -81
  478. package/openChannelUtils-22ed0258.js.map +0 -1
  479. package/sendBirdSelectors.js +0 -713
  480. package/sendBirdSelectors.js.map +0 -1
  481. package/stringSet-2e6c1d2c.js +0 -116
  482. package/stringSet-2e6c1d2c.js.map +0 -1
  483. package/topics-67738aac.js +0 -10
  484. package/topics-67738aac.js.map +0 -1
  485. package/tslib.es6-b6e567bd.js +0 -38
  486. package/tslib.es6-b6e567bd.js.map +0 -1
  487. package/ui/Accordion.js +0 -65
  488. package/ui/Accordion.js.map +0 -1
  489. package/ui/AccordionGroup.js +0 -26
  490. package/ui/AccordionGroup.js.map +0 -1
  491. package/ui/AdminMessage.js +0 -37
  492. package/ui/AdminMessage.js.map +0 -1
  493. package/ui/Avatar.js +0 -217
  494. package/ui/Avatar.js.map +0 -1
  495. package/ui/Badge.js +0 -38
  496. package/ui/Badge.js.map +0 -1
  497. package/ui/Button.js +0 -7
  498. package/ui/Button.js.map +0 -1
  499. package/ui/ChannelAvatar.js +0 -53
  500. package/ui/ChannelAvatar.js.map +0 -1
  501. package/ui/ChannelPreview.js +0 -194
  502. package/ui/ChannelPreview.js.map +0 -1
  503. package/ui/ChatHeader.js +0 -138
  504. package/ui/ChatHeader.js.map +0 -1
  505. package/ui/Checkbox.js +0 -42
  506. package/ui/Checkbox.js.map +0 -1
  507. package/ui/ConnectionStatus.js +0 -28
  508. package/ui/ConnectionStatus.js.map +0 -1
  509. package/ui/ContextMenu.js +0 -417
  510. package/ui/ContextMenu.js.map +0 -1
  511. package/ui/DateSeparator.js +0 -37
  512. package/ui/DateSeparator.js.map +0 -1
  513. package/ui/Dropdown.js +0 -97
  514. package/ui/Dropdown.js.map +0 -1
  515. package/ui/EmojiReactions.js +0 -121
  516. package/ui/EmojiReactions.js.map +0 -1
  517. package/ui/FileMessageItemBody.js +0 -51
  518. package/ui/FileMessageItemBody.js.map +0 -1
  519. package/ui/FileViewer.js +0 -164
  520. package/ui/FileViewer.js.map +0 -1
  521. package/ui/Icon.js +0 -1432
  522. package/ui/Icon.js.map +0 -1
  523. package/ui/IconButton.js +0 -76
  524. package/ui/IconButton.js.map +0 -1
  525. package/ui/ImageRenderer.js +0 -131
  526. package/ui/ImageRenderer.js.map +0 -1
  527. package/ui/Input.js +0 -64
  528. package/ui/Input.js.map +0 -1
  529. package/ui/Label.js +0 -6
  530. package/ui/Label.js.map +0 -1
  531. package/ui/LinkLabel.js +0 -40
  532. package/ui/LinkLabel.js.map +0 -1
  533. package/ui/Loader.js +0 -37
  534. package/ui/Loader.js.map +0 -1
  535. package/ui/MentionUserLabel.js +0 -19
  536. package/ui/MentionUserLabel.js.map +0 -1
  537. package/ui/MessageContent.js +0 -285
  538. package/ui/MessageContent.js.map +0 -1
  539. package/ui/MessageInput.js +0 -5040
  540. package/ui/MessageInput.js.map +0 -1
  541. package/ui/MessageItemMenu.js +0 -135
  542. package/ui/MessageItemMenu.js.map +0 -1
  543. package/ui/MessageItemReactionMenu.js +0 -106
  544. package/ui/MessageItemReactionMenu.js.map +0 -1
  545. package/ui/MessageSearchFileItem.js +0 -124
  546. package/ui/MessageSearchFileItem.js.map +0 -1
  547. package/ui/MessageSearchItem.js +0 -87
  548. package/ui/MessageSearchItem.js.map +0 -1
  549. package/ui/MessageStatus.js +0 -57
  550. package/ui/MessageStatus.js.map +0 -1
  551. package/ui/Modal.js +0 -128
  552. package/ui/Modal.js.map +0 -1
  553. package/ui/MutedAvatarOverlay.js +0 -34
  554. package/ui/MutedAvatarOverlay.js.map +0 -1
  555. package/ui/OGMessageItemBody.js +0 -101
  556. package/ui/OGMessageItemBody.js.map +0 -1
  557. package/ui/OpenChannelAdminMessage.js +0 -21
  558. package/ui/OpenChannelAdminMessage.js.map +0 -1
  559. package/ui/OpenChannelAvatar.js +0 -35
  560. package/ui/OpenChannelAvatar.js.map +0 -1
  561. package/ui/OpenChannelMessageContent.js +0 -8
  562. package/ui/OpenChannelMessageContent.js.map +0 -1
  563. package/ui/OpenchannelConversationHeader.js +0 -67
  564. package/ui/OpenchannelConversationHeader.js.map +0 -1
  565. package/ui/OpenchannelFileMessage.js +0 -224
  566. package/ui/OpenchannelFileMessage.js.map +0 -1
  567. package/ui/OpenchannelOGMessage.js +0 -339
  568. package/ui/OpenchannelOGMessage.js.map +0 -1
  569. package/ui/OpenchannelThumbnailMessage.js +0 -299
  570. package/ui/OpenchannelThumbnailMessage.js.map +0 -1
  571. package/ui/OpenchannelUserMessage.js +0 -258
  572. package/ui/OpenchannelUserMessage.js.map +0 -1
  573. package/ui/PlaceHolder.js +0 -11
  574. package/ui/PlaceHolder.js.map +0 -1
  575. package/ui/QuoteMessage.js +0 -125
  576. package/ui/QuoteMessage.js.map +0 -1
  577. package/ui/QuoteMessageInput.js +0 -93
  578. package/ui/QuoteMessageInput.js.map +0 -1
  579. package/ui/ReactionBadge.js +0 -61
  580. package/ui/ReactionBadge.js.map +0 -1
  581. package/ui/ReactionButton.js +0 -48
  582. package/ui/ReactionButton.js.map +0 -1
  583. package/ui/SortByRow.js +0 -50
  584. package/ui/SortByRow.js.map +0 -1
  585. package/ui/TextButton.js +0 -38
  586. package/ui/TextButton.js.map +0 -1
  587. package/ui/TextMessageItemBody.js +0 -56
  588. package/ui/TextMessageItemBody.js.map +0 -1
  589. package/ui/ThumbnailMessageItemBody.js +0 -76
  590. package/ui/ThumbnailMessageItemBody.js.map +0 -1
  591. package/ui/Tooltip.js +0 -28
  592. package/ui/Tooltip.js.map +0 -1
  593. package/ui/TooltipWrapper.js +0 -58
  594. package/ui/TooltipWrapper.js.map +0 -1
  595. package/ui/UnknownMessageItemBody.js +0 -35
  596. package/ui/UnknownMessageItemBody.js.map +0 -1
  597. package/ui/UserListItem.js +0 -151
  598. package/ui/UserListItem.js.map +0 -1
  599. package/ui/UserProfile.js +0 -81
  600. package/ui/UserProfile.js.map +0 -1
  601. package/useSendbirdStateContext.js +0 -20
  602. package/useSendbirdStateContext.js.map +0 -1
  603. package/utils-04c291d8.js +0 -34
  604. package/utils-04c291d8.js.map +0 -1
  605. package/utils-28de36e9.js +0 -30
  606. package/utils-28de36e9.js.map +0 -1
  607. package/utils-f5c9ef64.js +0 -4
  608. package/utils-f5c9ef64.js.map +0 -1
  609. package/uuid-0139dc21.js +0 -17
  610. package/uuid-0139dc21.js.map +0 -1
  611. package/withSendBird.js +0 -26
  612. package/withSendBird.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdminPanel.js","sources":["../../../../src/smart-components/ChannelSettings/components/AdminPanel/OperatorsModal.tsx","../../../../src/smart-components/ChannelSettings/components/AdminPanel/AddOperatorsModal.tsx","../../../../src/smart-components/ChannelSettings/components/AdminPanel/OperatorList.tsx","../../../../src/smart-components/ChannelSettings/components/AdminPanel/BannedMembersModal.tsx","../../../../src/smart-components/ChannelSettings/components/AdminPanel/BannedMemberList.tsx","../../../../src/smart-components/ChannelSettings/components/AdminPanel/MutedMembersModal.tsx","../../../../src/smart-components/ChannelSettings/components/AdminPanel/MutedMemberList.tsx","../../../../src/smart-components/ChannelSettings/components/AdminPanel/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 { useChannelSettings } 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 } = useChannelSettings();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 20;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\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((o, error) => {\n if (error) {\n return;\n }\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], (response, error) => {\n if (error) {\n return;\n }\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 { useChannelSettings } 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 } = useChannelSettings();\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\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((o, error) => {\n if (error) {\n return;\n }\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 { useChannelSettings } 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 } = useChannelSettings();\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 operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\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 operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\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], (response, error) => {\n if (error) {\n return;\n }\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 { useChannelSettings } from '../../context/ChannelSettingsProvider';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function BannedMembersModal({\n onCancel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n const { channel } = useChannelSettings();\n\n useEffect(() => {\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\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((o, error) => {\n if (error) {\n return;\n }\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, () => {\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 BannedMembersModal from './BannedMembersModal';\nimport { useChannelSettings } 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 } = useChannelSettings();\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\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(function(users, error) {\n if (error) {\n return;\n }\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, () => {\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 <BannedMembersModal\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 { useChannelSettings } 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 } = useChannelSettings();\n const state = useSendbirdStateContext();\n const currentUser = state?.config?.userId;\n\n useEffect(() => {\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\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((o, error) => {\n if (error) {\n return;\n }\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, () => {\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 { useChannelSettings } 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 } = useChannelSettings();\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 memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\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 memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\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, () => {\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 './BannedMemberList';\nimport MutedMemberList from './MutedMemberList';\n\nimport { useChannelSettings } 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 } = useChannelSettings();\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=\"bannedMembers\"\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(() => {\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(() => {\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","useChannelSettings","state","useSendbirdStateContext","currentUser","config","userId","useEffect","operatorListQuery","createOperatorListQuery","limit","next","error","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","response","filter","AddOperatorsModal","onSubmit","_b","members","setMembers","selectedMembers","setSelectedMembers","memberQuery","setMemberQuery","stringSet","useContext","LocalizationContext","memberListQuery","createMemberListQuery","selectedCount","Object","keys","m","length","ButtonType","PRIMARY","addOperators","then","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","BannedMembersModal","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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"}
@@ -1,108 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var LocalizationContext = require('../../LocalizationContext-382a9ef1.js');
5
- var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
6
- var ChannelSettings_context = require('../context.js');
7
- var ui_ChannelAvatar = require('../../ui/ChannelAvatar.js');
8
- var ui_TextButton = require('../../ui/TextButton.js');
9
- var ui_Label = require('../../index-f1971e28.js');
10
- var ChannelSettings_components_EditDetailsModal = require('./EditDetailsModal.js');
11
- require('../../stringSet-b9ea6eef.js');
12
- require('../../index-20a06ed6.js');
13
- require('../../withSendBird.js');
14
- require('../../_rollupPluginBabelHelpers-6193d45d.js');
15
- require('../../UserProfileContext-0b7ef11a.js');
16
- require('prop-types');
17
- require('../../uuid-172844fb.js');
18
- require('../../ui/Avatar.js');
19
- require('../../tslib.es6-07dd6257.js');
20
- require('../../ui/ImageRenderer.js');
21
- require('../../ui/Icon.js');
22
- require('../../utils-53d332a6.js');
23
- require('../../color-1816dacf.js');
24
- require('../../ui/Modal.js');
25
- require('react-dom');
26
- require('../../index-2faa2f93.js');
27
- require('../../ui/IconButton.js');
28
- require('../../index-01072ac9.js');
29
- require('../../utils-94ae6cec.js');
30
- require('../../ui/Input.js');
31
-
32
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
-
34
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
35
-
36
- var ChannelProfile = function ChannelProfile() {
37
- var _a, _b, _c;
38
-
39
- var state = useSendbirdStateContext();
40
- var channelSettingStore = ChannelSettings_context.useChannelSettings();
41
- var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
42
-
43
- var _d = React.useState(false),
44
- showModal = _d[0],
45
- setShowModal = _d[1];
46
-
47
- var userId = (_a = state === null || state === void 0 ? void 0 : state.config) === null || _a === void 0 ? void 0 : _a.userId;
48
- var theme = ((_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.theme) || 'light';
49
- var isOnline = (_c = state === null || state === void 0 ? void 0 : state.config) === null || _c === void 0 ? void 0 : _c.isOnline;
50
- var disabled = !isOnline;
51
- var channel = channelSettingStore.channel;
52
-
53
- var getChannelName = function getChannelName() {
54
- if ((channel === null || channel === void 0 ? void 0 : channel.name) && (channel === null || channel === void 0 ? void 0 : channel.name) !== 'Group Channel') {
55
- return channel.name;
56
- }
57
-
58
- if ((channel === null || channel === void 0 ? void 0 : channel.name) === 'Group Channel' || !(channel === null || channel === void 0 ? void 0 : channel.name)) {
59
- return channel.members.map(function (member) {
60
- return member.nickname || stringSet.NO_NAME;
61
- }).join(', ');
62
- }
63
-
64
- return stringSet.NO_TITLE;
65
- };
66
-
67
- return /*#__PURE__*/React__default["default"].createElement("div", {
68
- className: "sendbird-channel-profile"
69
- }, /*#__PURE__*/React__default["default"].createElement("div", {
70
- className: "sendbird-channel-profile--inner"
71
- }, /*#__PURE__*/React__default["default"].createElement("div", {
72
- className: "sendbird-channel-profile__avatar"
73
- }, /*#__PURE__*/React__default["default"].createElement(ui_ChannelAvatar, {
74
- channel: channel,
75
- userId: userId,
76
- theme: theme,
77
- width: 80,
78
- height: 80
79
- })), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
80
- className: "sendbird-channel-profile__title",
81
- type: ui_Label.LabelTypography.SUBTITLE_2,
82
- color: ui_Label.LabelColors.ONBACKGROUND_1
83
- }, getChannelName()), /*#__PURE__*/React__default["default"].createElement(ui_TextButton, {
84
- disabled: disabled,
85
- className: "sendbird-channel-profile__edit",
86
- onClick: function onClick() {
87
- if (disabled) {
88
- return;
89
- }
90
-
91
- setShowModal(true);
92
- },
93
- notUnderline: true
94
- }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
95
- type: ui_Label.LabelTypography.BUTTON_1,
96
- color: disabled ? ui_Label.LabelColors.ONBACKGROUND_2 : ui_Label.LabelColors.PRIMARY
97
- }, stringSet.CHANNEL_SETTING__PROFILE__EDIT)), showModal && /*#__PURE__*/React__default["default"].createElement(ChannelSettings_components_EditDetailsModal, {
98
- onCancel: function onCancel() {
99
- return setShowModal(false);
100
- },
101
- onSubmit: function onSubmit() {
102
- return setShowModal(false);
103
- }
104
- })));
105
- };
106
-
107
- module.exports = ChannelProfile;
108
- //# sourceMappingURL=ChannelProfile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChannelProfile.js","sources":["../../../../src/smart-components/ChannelSettings/components/ChannelProfile/index.tsx"],"sourcesContent":["import './channel-profile.scss';\nimport React, { useState, useContext } from 'react';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelSettings } from '../../context/ChannelSettingsProvider';\n\nimport ChannelAvatar from '../../../../ui/ChannelAvatar';\nimport TextButton from '../../../../ui/TextButton';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\n\nimport EditDetailsModal from '../EditDetailsModal';\n\nconst ChannelProfile: React.FC = () => {\n const state = useSendbirdStateContext();\n const channelSettingStore = useChannelSettings();\n const { stringSet } = useContext(LocalizationContext);\n const [showModal, setShowModal] = useState(false);\n\n const userId = state?.config?.userId;\n const theme = state?.config?.theme || 'light';\n const isOnline = state?.config?.isOnline;\n const disabled = !isOnline;\n\n const { channel } = channelSettingStore;\n\n const getChannelName = () => {\n if (channel?.name && channel?.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.name === 'Group Channel' || !channel?.name) {\n return channel.members.map((member) => member.nickname || stringSet.NO_NAME).join(', ');\n }\n\n return stringSet.NO_TITLE;\n };\n\n return (\n <div className=\"sendbird-channel-profile\">\n <div className=\"sendbird-channel-profile--inner\">\n <div className=\"sendbird-channel-profile__avatar\">\n <ChannelAvatar\n channel={channel}\n userId={userId}\n theme={theme}\n width={80}\n height={80}\n />\n </div>\n <Label\n className=\"sendbird-channel-profile__title\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {getChannelName()}\n </Label>\n <TextButton\n disabled={disabled}\n className=\"sendbird-channel-profile__edit\"\n onClick={() => {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={disabled ? LabelColors.ONBACKGROUND_2 : LabelColors.PRIMARY}\n >\n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n </Label>\n </TextButton>\n {\n showModal && (\n <EditDetailsModal\n onCancel={() => setShowModal(false)}\n onSubmit={() => setShowModal(false)}\n />\n )\n }\n </div>\n </div>\n );\n}\n\nexport default ChannelProfile;\n"],"names":["ChannelProfile","state","useSendbirdStateContext","channelSettingStore","useChannelSettings","stringSet","useContext","LocalizationContext","_d","useState","showModal","setShowModal","userId","config","theme","isOnline","disabled","channel","getChannelName","name","members","map","member","nickname","NO_NAME","join","NO_TITLE","React","ChannelAvatar","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","TextButton","BUTTON_1","ONBACKGROUND_2","PRIMARY","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal"],"mappings":"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"}
@@ -1,158 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
5
- var ChannelSettings_context = require('../context.js');
6
- var ui_PlaceHolder = require('../../index-e63da805.js');
7
- var ui_Label = require('../../index-f1971e28.js');
8
- var LocalizationContext = require('../../LocalizationContext-382a9ef1.js');
9
- var ui_Icon = require('../../ui/Icon.js');
10
- var ui_IconButton = require('../../ui/IconButton.js');
11
- var ChannelSettings_components_ChannelProfile = require('./ChannelProfile.js');
12
- var ChannelSettings_components_AdminPanel = require('./AdminPanel.js');
13
- var ChannelSettings_components_LeaveChannel = require('./LeaveChannel.js');
14
- var ChannelSettings_components_UserPanel = require('./UserPanel.js');
15
- require('../../withSendBird.js');
16
- require('../../_rollupPluginBabelHelpers-6193d45d.js');
17
- require('../../UserProfileContext-0b7ef11a.js');
18
- require('prop-types');
19
- require('../../uuid-172844fb.js');
20
- require('../../ui/Loader.js');
21
- require('../../stringSet-b9ea6eef.js');
22
- require('../../index-20a06ed6.js');
23
- require('../../ui/ChannelAvatar.js');
24
- require('../../ui/Avatar.js');
25
- require('../../tslib.es6-07dd6257.js');
26
- require('../../ui/ImageRenderer.js');
27
- require('../../utils-53d332a6.js');
28
- require('../../ui/TextButton.js');
29
- require('../../color-1816dacf.js');
30
- require('./EditDetailsModal.js');
31
- require('../../ui/Modal.js');
32
- require('react-dom');
33
- require('../../index-2faa2f93.js');
34
- require('../../index-01072ac9.js');
35
- require('../../utils-94ae6cec.js');
36
- require('../../ui/Input.js');
37
- require('../../ui/Accordion.js');
38
- require('../../ui/AccordionGroup.js');
39
- require('../../context-6ebf3379.js');
40
- require('../../ui/Badge.js');
41
- require('../../ui/ContextMenu.js');
42
- require('../../index-212a11f2.js');
43
- require('../../ui/SortByRow.js');
44
- require('./UserListItem.js');
45
- require('../../ui/MutedAvatarOverlay.js');
46
- require('../../ui/UserProfile.js');
47
- require('../../sendBirdSelectors.js');
48
- require('../../topics-11048db8.js');
49
- require('../../ui/UserListItem.js');
50
- require('../../ui/Checkbox.js');
51
- require('../../MemberList-03a241cd.js');
52
-
53
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
54
-
55
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
56
-
57
- var ChannelSettingsUI = function ChannelSettingsUI(props) {
58
- var _a, _b;
59
-
60
- var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
61
- var state = useSendbirdStateContext();
62
- var channelSettingStore = ChannelSettings_context.useChannelSettings();
63
-
64
- var _c = React.useState(false),
65
- showLeaveChannelModal = _c[0],
66
- setShowLeaveChannelModal = _c[1];
67
-
68
- var isOnline = (_a = state === null || state === void 0 ? void 0 : state.config) === null || _a === void 0 ? void 0 : _a.isOnline;
69
- var logger = (_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.logger;
70
- var channel = channelSettingStore.channel,
71
- invalidChannel = channelSettingStore.invalidChannel,
72
- onCloseClick = channelSettingStore.onCloseClick;
73
- var renderPlaceholderError = props.renderPlaceholderError,
74
- renderChannelProfile = props.renderChannelProfile,
75
- renderModerationPanel = props.renderModerationPanel,
76
- renderLeaveChannel = props.renderLeaveChannel;
77
-
78
- if (!channel || invalidChannel) {
79
- return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("div", {
80
- className: "sendbird-channel-settings__header"
81
- }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
82
- type: ui_Label.LabelTypography.H_2,
83
- color: ui_Label.LabelColors.ONBACKGROUND_1
84
- }, stringSet.CHANNEL_SETTING__HEADER__TITLE), /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
85
- className: "sendbird-channel-settings__close-icon",
86
- type: ui_Icon.IconTypes.CLOSE,
87
- height: "24px",
88
- width: "24px",
89
- onClick: function onClick() {
90
- logger.info('ChannelSettings: Click close');
91
- onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
92
- }
93
- })), /*#__PURE__*/React__default["default"].createElement("div", null, renderPlaceholderError ? renderPlaceholderError() : /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
94
- type: ui_PlaceHolder.PlaceHolderTypes.WRONG
95
- })));
96
- }
97
-
98
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
99
- className: "sendbird-channel-settings__header"
100
- }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
101
- type: ui_Label.LabelTypography.H_2,
102
- color: ui_Label.LabelColors.ONBACKGROUND_1
103
- }, stringSet.CHANNEL_SETTING__HEADER__TITLE), /*#__PURE__*/React__default["default"].createElement("div", {
104
- className: "sendbird-channel-settings__header-icon"
105
- }, /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
106
- width: "32px",
107
- height: "32px",
108
- onClick: function onClick() {
109
- logger.info('ChannelSettings: Click close');
110
- onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
111
- }
112
- }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
113
- className: "sendbird-channel-settings__close-icon",
114
- type: ui_Icon.IconTypes.CLOSE,
115
- height: "22px",
116
- width: "22px"
117
- })))), /*#__PURE__*/React__default["default"].createElement("div", {
118
- className: "sendbird-channel-settings__scroll-area"
119
- }, (renderChannelProfile === null || renderChannelProfile === void 0 ? void 0 : renderChannelProfile()) || /*#__PURE__*/React__default["default"].createElement(ChannelSettings_components_ChannelProfile, null), (renderModerationPanel === null || renderModerationPanel === void 0 ? void 0 : renderModerationPanel()) || (channel.myRole === 'operator' ? /*#__PURE__*/React__default["default"].createElement(ChannelSettings_components_AdminPanel, null) : /*#__PURE__*/React__default["default"].createElement(ChannelSettings_components_UserPanel, null)), (renderLeaveChannel === null || renderLeaveChannel === void 0 ? void 0 : renderLeaveChannel()) || /*#__PURE__*/React__default["default"].createElement("div", {
120
- className: ['sendbird-channel-settings__panel-item', 'sendbird-channel-settings__leave-channel', !isOnline ? 'sendbird-channel-settings__panel-item__disabled' : ''].join(' '),
121
- role: "button",
122
- onKeyDown: function onKeyDown() {
123
- if (!isOnline) {
124
- return;
125
- }
126
-
127
- setShowLeaveChannelModal(true);
128
- },
129
- onClick: function onClick() {
130
- if (!isOnline) {
131
- return;
132
- }
133
-
134
- setShowLeaveChannelModal(true);
135
- },
136
- tabIndex: 0
137
- }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
138
- className: ['sendbird-channel-settings__panel-icon-left', 'sendbird-channel-settings__panel-icon__leave'].join(' '),
139
- type: ui_Icon.IconTypes.LEAVE,
140
- fillColor: ui_Icon.IconColors.ERROR,
141
- height: "24px",
142
- width: "24px"
143
- }), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
144
- type: ui_Label.LabelTypography.SUBTITLE_1,
145
- color: ui_Label.LabelColors.ONBACKGROUND_1
146
- }, stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE)), showLeaveChannelModal && /*#__PURE__*/React__default["default"].createElement(ChannelSettings_components_LeaveChannel, {
147
- onCancel: function onCancel() {
148
- setShowLeaveChannelModal(false);
149
- },
150
- onSubmit: function onSubmit() {
151
- setShowLeaveChannelModal(false);
152
- onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
153
- }
154
- })));
155
- };
156
-
157
- module.exports = ChannelSettingsUI;
158
- //# sourceMappingURL=ChannelSettingsUI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChannelSettingsUI.js","sources":["../../../../src/smart-components/ChannelSettings/components/ChannelSettingsUI/index.tsx"],"sourcesContent":["import './channel-settings-ui.scss';\n\nimport React, { useContext, useState } from 'react';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelSettings } from '../../context/ChannelSettingsProvider';\n\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport ChannelProfile from '../ChannelProfile';\nimport AdminPanel from '../AdminPanel';\nimport LeaveChannelModal from '../LeaveChannel';\nimport UserPanel from '../UserPanel';\n\nexport interface ChannelSettingsUIProps {\n renderPlaceholderError?: () => React.ReactNode;\n renderChannelProfile?: () => React.ReactNode;\n renderModerationPanel?: () => React.ReactNode;\n renderLeaveChannel?: () => React.ReactNode;\n}\n\nconst ChannelSettingsUI: React.FC<ChannelSettingsUIProps> = (props: ChannelSettingsUIProps) => {\n const { stringSet } = useContext(LocalizationContext);\n\n const state = useSendbirdStateContext();\n const channelSettingStore = useChannelSettings();\n\n const [showLeaveChannelModal, setShowLeaveChannelModal] = useState(false);\n\n const isOnline = state?.config?.isOnline;\n const logger = state?.config?.logger;\n\n const {\n channel,\n invalidChannel,\n onCloseClick,\n } = channelSettingStore;\n\n const {\n renderPlaceholderError,\n renderChannelProfile,\n renderModerationPanel,\n renderLeaveChannel,\n } = props;\n\n if (!channel || invalidChannel) {\n return (\n <div>\n <div className=\"sendbird-channel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <Icon\n className=\"sendbird-channel-settings__close-icon\"\n type={IconTypes.CLOSE}\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n logger.info('ChannelSettings: Click close');\n onCloseClick?.();\n }}\n />\n </div>\n <div>\n {\n renderPlaceholderError\n ? renderPlaceholderError()\n : (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n </div>\n );\n }\n\n return (\n <>\n <div className=\"sendbird-channel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <div className=\"sendbird-channel-settings__header-icon\">\n <IconButton\n width=\"32px\"\n height=\"32px\"\n onClick={() => {\n logger.info('ChannelSettings: Click close');\n onCloseClick?.();\n }}\n >\n <Icon\n className=\"sendbird-channel-settings__close-icon\"\n type={IconTypes.CLOSE}\n height=\"22px\"\n width=\"22px\"\n />\n </IconButton>\n </div>\n </div>\n <div className=\"sendbird-channel-settings__scroll-area\">\n {\n renderChannelProfile?.() || (\n <ChannelProfile />\n )\n }\n {\n renderModerationPanel?.() || (\n channel.myRole === 'operator'\n ? (<AdminPanel />)\n : (<UserPanel />)\n )\n }\n {\n renderLeaveChannel?.() || (\n <div\n className={[\n 'sendbird-channel-settings__panel-item',\n 'sendbird-channel-settings__leave-channel',\n !isOnline ? 'sendbird-channel-settings__panel-item__disabled' : '',\n ].join(' ')}\n role=\"button\"\n onKeyDown={() => {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n tabIndex={0}\n >\n <Icon\n className={[\n 'sendbird-channel-settings__panel-icon-left',\n 'sendbird-channel-settings__panel-icon__leave',\n ].join(' ')}\n type={IconTypes.LEAVE}\n fillColor={IconColors.ERROR}\n height=\"24px\"\n width=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n </Label>\n </div>\n )\n }\n {\n showLeaveChannelModal && (\n <LeaveChannelModal\n onCancel={() => {\n setShowLeaveChannelModal(false);\n }}\n onSubmit={() => {\n setShowLeaveChannelModal(false);\n onCloseClick?.();\n }}\n />\n )\n }\n </div>\n </>\n );\n}\n\nexport default ChannelSettingsUI;\n"],"names":["ChannelSettingsUI","props","stringSet","useContext","LocalizationContext","state","useSendbirdStateContext","channelSettingStore","useChannelSettings","_c","useState","showLeaveChannelModal","setShowLeaveChannelModal","isOnline","config","logger","channel","invalidChannel","onCloseClick","renderPlaceholderError","renderChannelProfile","renderModerationPanel","renderLeaveChannel","React","Label","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","CHANNEL_SETTING__HEADER__TITLE","Icon","IconTypes","CLOSE","info","PlaceHolder","PlaceHolderTypes","WRONG","IconButton","ChannelProfile","myRole","AdminPanel","UserPanel","join","LEAVE","IconColors","ERROR","SUBTITLE_1","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","LeaveChannelModal"],"mappings":"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"}
@@ -1,160 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var ChannelSettings_context = require('../context.js');
5
- var LocalizationContext = require('../../LocalizationContext-382a9ef1.js');
6
- var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
7
- var ui_Modal = require('../../ui/Modal.js');
8
- var ui_Input = require('../../ui/Input.js');
9
- var ui_Avatar = require('../../ui/Avatar.js');
10
- var ui_Button = require('../../index-01072ac9.js');
11
- var ui_Label = require('../../index-f1971e28.js');
12
- var ui_TextButton = require('../../ui/TextButton.js');
13
- var ui_ChannelAvatar = require('../../ui/ChannelAvatar.js');
14
- var uuid = require('../../uuid-172844fb.js');
15
- require('../../UserProfileContext-0b7ef11a.js');
16
- require('prop-types');
17
- require('../../withSendBird.js');
18
- require('../../_rollupPluginBabelHelpers-6193d45d.js');
19
- require('../../stringSet-b9ea6eef.js');
20
- require('../../index-20a06ed6.js');
21
- require('react-dom');
22
- require('../../index-2faa2f93.js');
23
- require('../../ui/IconButton.js');
24
- require('../../ui/Icon.js');
25
- require('../../utils-94ae6cec.js');
26
- require('../../tslib.es6-07dd6257.js');
27
- require('../../ui/ImageRenderer.js');
28
- require('../../color-1816dacf.js');
29
- require('../../utils-53d332a6.js');
30
-
31
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
32
-
33
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
34
-
35
- var EditDetails = function EditDetails(props) {
36
- var _a, _b, _c;
37
-
38
- var _onSubmit = props.onSubmit,
39
- onCancel = props.onCancel;
40
-
41
- var _d = ChannelSettings_context.useChannelSettings(),
42
- channel = _d.channel,
43
- onChannelModified = _d.onChannelModified,
44
- onBeforeUpdateChannel = _d.onBeforeUpdateChannel,
45
- setChannelUpdateId = _d.setChannelUpdateId;
46
-
47
- var title = channel === null || channel === void 0 ? void 0 : channel.name;
48
- var state = useSendbirdStateContext();
49
- var userId = (_a = state === null || state === void 0 ? void 0 : state.config) === null || _a === void 0 ? void 0 : _a.userId;
50
- var theme = (_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.theme;
51
- var logger = (_c = state === null || state === void 0 ? void 0 : state.config) === null || _c === void 0 ? void 0 : _c.logger;
52
- var inputRef = React.useRef(null);
53
- var formRef = React.useRef(null);
54
- var hiddenInputRef = React.useRef(null);
55
-
56
- var _e = React.useState(null),
57
- currentImg = _e[0],
58
- setCurrentImg = _e[1];
59
-
60
- var _f = React.useState(null),
61
- newFile = _f[0],
62
- setNewFile = _f[1];
63
-
64
- var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
65
- return /*#__PURE__*/React__default["default"].createElement(ui_Modal["default"], {
66
- titleText: stringSet.MODAL__CHANNEL_INFORMATION__TITLE,
67
- submitText: stringSet.BUTTON__SAVE,
68
- onCancel: onCancel,
69
- onSubmit: function onSubmit() {
70
- if (title !== '' && !inputRef.current.value) {
71
- if (formRef.current.reportValidity) {
72
- // might not work in explorer
73
- formRef.current.reportValidity();
74
- }
75
-
76
- return;
77
- }
78
-
79
- var currentTitle = inputRef.current.value;
80
- var currentImg = newFile;
81
- logger.info('ChannelSettings: Channel information being updated', {
82
- currentTitle: currentTitle,
83
- currentImg: currentImg
84
- });
85
-
86
- if (onBeforeUpdateChannel) {
87
- logger.info('ChannelSettings: onBeforeUpdateChannel');
88
- var params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);
89
- channel.updateChannel(params, function (groupChannel) {
90
- onChannelModified === null || onChannelModified === void 0 ? void 0 : onChannelModified(groupChannel);
91
- setChannelUpdateId(uuid.uuidv4());
92
-
93
- _onSubmit();
94
- });
95
- } else {
96
- logger.info('ChannelSettings: normal');
97
- channel.updateChannel(currentTitle, currentImg, channel.data, function (groupChannel) {
98
- logger.info('ChannelSettings: Channel information updated', groupChannel);
99
- onChannelModified === null || onChannelModified === void 0 ? void 0 : onChannelModified(groupChannel);
100
- setChannelUpdateId(uuid.uuidv4());
101
-
102
- _onSubmit();
103
- });
104
- }
105
- },
106
- type: ui_Button.Type.PRIMARY
107
- }, /*#__PURE__*/React__default["default"].createElement("form", {
108
- className: "channel-profile-form",
109
- ref: formRef,
110
- onSubmit: function onSubmit(e) {
111
- e.preventDefault();
112
- }
113
- }, /*#__PURE__*/React__default["default"].createElement("div", {
114
- className: "channel-profile-form__img-section"
115
- }, /*#__PURE__*/React__default["default"].createElement(ui_Input.InputLabel, null, stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE), /*#__PURE__*/React__default["default"].createElement("div", {
116
- className: "channel-profile-form__avatar"
117
- }, currentImg ? /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
118
- height: "80px",
119
- width: "80px",
120
- src: currentImg
121
- }) : /*#__PURE__*/React__default["default"].createElement(ui_ChannelAvatar, {
122
- height: 80,
123
- width: 80,
124
- channel: channel,
125
- userId: userId,
126
- theme: theme
127
- })), /*#__PURE__*/React__default["default"].createElement("input", {
128
- ref: hiddenInputRef,
129
- type: "file",
130
- accept: "image/gif, image/jpeg, image/png",
131
- style: {
132
- display: 'none'
133
- },
134
- onChange: function onChange(e) {
135
- setCurrentImg(URL.createObjectURL(e.target.files[0]));
136
- setNewFile(e.target.files[0]);
137
- hiddenInputRef.current.value = '';
138
- }
139
- }), /*#__PURE__*/React__default["default"].createElement(ui_TextButton, {
140
- className: "channel-profile-form__avatar-button",
141
- onClick: function onClick() {
142
- return hiddenInputRef.current.click();
143
- },
144
- notUnderline: true
145
- }, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
146
- type: ui_Label.LabelTypography.BUTTON_1,
147
- color: ui_Label.LabelColors.PRIMARY
148
- }, stringSet.MODAL__CHANNEL_INFORMATION__UPLOAD))), /*#__PURE__*/React__default["default"].createElement("div", {
149
- className: "channel-profile-form__name-section"
150
- }, /*#__PURE__*/React__default["default"].createElement(ui_Input.InputLabel, null, stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME), /*#__PURE__*/React__default["default"].createElement(ui_Input["default"], {
151
- required: title !== '',
152
- name: "channel-profile-form__name",
153
- ref: inputRef,
154
- value: title,
155
- placeHolder: stringSet.MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER
156
- }))));
157
- };
158
-
159
- module.exports = EditDetails;
160
- //# sourceMappingURL=EditDetailsModal.js.map