@sendbird/uikit-react 3.6.9 → 3.6.10

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 (552) hide show
  1. package/App.js +55 -55
  2. package/CHANGELOG.md +6 -2
  3. package/Channel/components/ChannelHeader.js +22 -22
  4. package/Channel/components/ChannelUI.js +48 -48
  5. package/Channel/components/FileViewer.js +18 -18
  6. package/Channel/components/FrozenNotification.js +4 -4
  7. package/Channel/components/Message.js +46 -44
  8. package/Channel/components/Message.js.map +1 -1
  9. package/Channel/components/MessageInput.js +34 -34
  10. package/Channel/components/MessageList.js +75 -46
  11. package/Channel/components/MessageList.js.map +1 -1
  12. package/Channel/components/RemoveMessageModal.js +22 -22
  13. package/Channel/components/SuggestedMentionList.js +20 -20
  14. package/Channel/components/TypingIndicator.js +18 -18
  15. package/Channel/components/UnreadCount.js +4 -4
  16. package/Channel/context.js +15 -15
  17. package/Channel/utils/compareMessagesForGrouping.js +7 -7
  18. package/Channel/utils/getMessagePartsInfo.js +8 -8
  19. package/Channel.js +48 -48
  20. package/ChannelList/components/AddChannel.js +16 -16
  21. package/ChannelList/components/ChannelListHeader.js +6 -6
  22. package/ChannelList/components/ChannelListUI.js +33 -33
  23. package/ChannelList/components/ChannelPreview.js +29 -29
  24. package/ChannelList/components/ChannelPreviewAction.js +15 -15
  25. package/ChannelList/context.js +9 -9
  26. package/ChannelList.js +33 -33
  27. package/{ChannelListProvider-ba11ee5f.js → ChannelListProvider-db5ec581.js} +23 -28
  28. package/ChannelListProvider-db5ec581.js.map +1 -0
  29. package/{ChannelProvider-7400e8f6.js → ChannelProvider-4710d84f.js} +26 -20
  30. package/ChannelProvider-4710d84f.js.map +1 -0
  31. package/ChannelSettings/components/ChannelProfile.js +13 -13
  32. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  33. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  34. package/ChannelSettings/components/LeaveChannel.js +12 -12
  35. package/ChannelSettings/components/ModerationPanel.js +15 -15
  36. package/ChannelSettings/components/UserListItem.js +11 -11
  37. package/ChannelSettings/components/UserPanel.js +14 -14
  38. package/ChannelSettings/context.js +3 -3
  39. package/ChannelSettings.js +18 -18
  40. package/CreateChannel/components/CreateChannelUI.js +14 -14
  41. package/CreateChannel/components/InviteUsers.js +14 -14
  42. package/CreateChannel/components/InviteUsers.js.map +1 -1
  43. package/CreateChannel/components/SelectChannelType.js +11 -11
  44. package/CreateChannel/context.js +4 -4
  45. package/CreateChannel.js +14 -14
  46. package/{CreateChannelProvider-b2487387.js → CreateChannelProvider-2318bfd7.js} +1 -1
  47. package/{CreateChannelProvider-b2487387.js.map → CreateChannelProvider-2318bfd7.js.map} +1 -1
  48. package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
  49. package/CreateOpenChannel/context.js +1 -1
  50. package/CreateOpenChannel.js +11 -11
  51. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  52. package/EditUserProfile.js +13 -13
  53. package/{LocalizationContext-c9b218d4.js → LocalizationContext-ffc4148d.js} +3 -3
  54. package/{LocalizationContext-c9b218d4.js.map → LocalizationContext-ffc4148d.js.map} +1 -1
  55. package/{MediaQueryContext-532b0a77.js → MediaQueryContext-9401e28a.js} +1 -1
  56. package/{MediaQueryContext-532b0a77.js.map → MediaQueryContext-9401e28a.js.map} +1 -1
  57. package/{MemberList-15511dd2.js → MemberList-84e92e5d.js} +6 -6
  58. package/{MemberList-15511dd2.js.map → MemberList-84e92e5d.js.map} +1 -1
  59. package/MessageSearch/components/MessageSearchUI.js +13 -13
  60. package/MessageSearch/context.js +1 -1
  61. package/MessageSearch.js +13 -13
  62. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  63. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  64. package/OpenChannel/components/OpenChannelInput.js +20 -20
  65. package/OpenChannel/components/OpenChannelMessage.js +31 -31
  66. package/OpenChannel/components/OpenChannelMessageList.js +34 -34
  67. package/OpenChannel/components/OpenChannelUI.js +34 -34
  68. package/OpenChannel/context.js +8 -8
  69. package/OpenChannel.js +34 -34
  70. package/OpenChannelList/components/OpenChannelListUI.js +15 -15
  71. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  72. package/OpenChannelList/context.js +3 -3
  73. package/OpenChannelList.js +15 -15
  74. package/{OpenChannelListProvider-a79c47d4.js → OpenChannelListProvider-bccaef43.js} +3 -3
  75. package/{OpenChannelListProvider-a79c47d4.js.map → OpenChannelListProvider-bccaef43.js.map} +1 -1
  76. package/{OpenChannelProvider-4f21a22d.js → OpenChannelProvider-f6d7afc8.js} +8 -8
  77. package/OpenChannelProvider-f6d7afc8.js.map +1 -0
  78. package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  79. package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  80. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  81. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  82. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  83. package/OpenChannelSettings/context.js +3 -3
  84. package/OpenChannelSettings.js +18 -18
  85. package/{RemoveMessageModal-62276928.js → RemoveMessageModal-2831884b.js} +5 -5
  86. package/{RemoveMessageModal-62276928.js.map → RemoveMessageModal-2831884b.js.map} +1 -1
  87. package/SendbirdProvider.js +17 -17
  88. package/SendbirdProvider.js.map +1 -1
  89. package/Thread/components/ParentMessageInfo.js +38 -38
  90. package/Thread/components/ParentMessageInfoItem.js +25 -25
  91. package/Thread/components/ThreadHeader.js +6 -6
  92. package/Thread/components/ThreadList.js +42 -42
  93. package/Thread/components/ThreadListItem.js +42 -42
  94. package/Thread/components/ThreadMessageInput.js +34 -34
  95. package/Thread/components/ThreadUI.js +47 -47
  96. package/Thread/context.js +12 -12
  97. package/Thread.js +47 -47
  98. package/{ThreadProvider-593b6c29.js → ThreadProvider-1418ccf0.js} +8 -8
  99. package/{ThreadProvider-593b6c29.js.map → ThreadProvider-1418ccf0.js.map} +1 -1
  100. package/{UserProfileContext-36e341fd.js → UserProfileContext-4ebadc38.js} +1 -1
  101. package/{UserProfileContext-36e341fd.js.map → UserProfileContext-4ebadc38.js.map} +1 -1
  102. package/VoicePlayer/context.js +3 -3
  103. package/VoicePlayer/useVoicePlayer.js +11 -11
  104. package/VoiceRecorder/context.js +11 -11
  105. package/VoiceRecorder/useVoiceRecorder.js +10 -10
  106. package/{WebAudioUtils-ca6a01e4.js → WebAudioUtils-1b9385ec.js} +2 -2
  107. package/{WebAudioUtils-ca6a01e4.js.map → WebAudioUtils-1b9385ec.js.map} +1 -1
  108. package/{_rollupPluginBabelHelpers-ea73a031.js → _rollupPluginBabelHelpers-0cef07cb.js} +1 -1
  109. package/_rollupPluginBabelHelpers-0cef07cb.js.map +1 -0
  110. package/{actionTypes-bd59e881.js → actionTypes-318efb77.js} +1 -1
  111. package/{actionTypes-bd59e881.js.map → actionTypes-318efb77.js.map} +1 -1
  112. package/cjs/App.js +55 -55
  113. package/cjs/Channel/components/ChannelHeader.js +22 -22
  114. package/cjs/Channel/components/ChannelUI.js +48 -48
  115. package/cjs/Channel/components/FileViewer.js +18 -18
  116. package/cjs/Channel/components/FrozenNotification.js +4 -4
  117. package/cjs/Channel/components/Message.js +46 -44
  118. package/cjs/Channel/components/Message.js.map +1 -1
  119. package/cjs/Channel/components/MessageInput.js +34 -34
  120. package/cjs/Channel/components/MessageList.js +75 -46
  121. package/cjs/Channel/components/MessageList.js.map +1 -1
  122. package/cjs/Channel/components/RemoveMessageModal.js +22 -22
  123. package/cjs/Channel/components/SuggestedMentionList.js +20 -20
  124. package/cjs/Channel/components/TypingIndicator.js +18 -18
  125. package/cjs/Channel/components/UnreadCount.js +4 -4
  126. package/cjs/Channel/context.js +15 -15
  127. package/cjs/Channel/utils/compareMessagesForGrouping.js +7 -7
  128. package/cjs/Channel/utils/getMessagePartsInfo.js +8 -8
  129. package/cjs/Channel.js +48 -48
  130. package/cjs/ChannelList/components/AddChannel.js +16 -16
  131. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  132. package/cjs/ChannelList/components/ChannelListUI.js +33 -33
  133. package/cjs/ChannelList/components/ChannelPreview.js +29 -29
  134. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
  135. package/cjs/ChannelList/context.js +9 -9
  136. package/cjs/ChannelList.js +33 -33
  137. package/cjs/{ChannelListProvider-69db317f.js → ChannelListProvider-8a2c8449.js} +23 -28
  138. package/cjs/ChannelListProvider-8a2c8449.js.map +1 -0
  139. package/cjs/{ChannelProvider-2ee005bc.js → ChannelProvider-f53f6659.js} +26 -20
  140. package/cjs/ChannelProvider-f53f6659.js.map +1 -0
  141. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  142. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  143. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  144. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  145. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  146. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  147. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  148. package/cjs/ChannelSettings/context.js +3 -3
  149. package/cjs/ChannelSettings.js +18 -18
  150. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  151. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  152. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  153. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  154. package/cjs/CreateChannel/context.js +4 -4
  155. package/cjs/CreateChannel.js +14 -14
  156. package/cjs/{CreateChannelProvider-1c4d626c.js → CreateChannelProvider-c222d954.js} +1 -1
  157. package/cjs/{CreateChannelProvider-1c4d626c.js.map → CreateChannelProvider-c222d954.js.map} +1 -1
  158. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
  159. package/cjs/CreateOpenChannel/context.js +1 -1
  160. package/cjs/CreateOpenChannel.js +11 -11
  161. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  162. package/cjs/EditUserProfile.js +13 -13
  163. package/cjs/{LocalizationContext-eb7a59da.js → LocalizationContext-40eb7c9d.js} +3 -3
  164. package/cjs/{LocalizationContext-eb7a59da.js.map → LocalizationContext-40eb7c9d.js.map} +1 -1
  165. package/cjs/{MediaQueryContext-ca045060.js → MediaQueryContext-c66337d3.js} +1 -1
  166. package/cjs/{MediaQueryContext-ca045060.js.map → MediaQueryContext-c66337d3.js.map} +1 -1
  167. package/cjs/{MemberList-eea5c64b.js → MemberList-f3956662.js} +6 -6
  168. package/cjs/{MemberList-eea5c64b.js.map → MemberList-f3956662.js.map} +1 -1
  169. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -13
  170. package/cjs/MessageSearch/context.js +1 -1
  171. package/cjs/MessageSearch.js +13 -13
  172. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  173. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  174. package/cjs/OpenChannel/components/OpenChannelInput.js +20 -20
  175. package/cjs/OpenChannel/components/OpenChannelMessage.js +31 -31
  176. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
  177. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
  178. package/cjs/OpenChannel/context.js +8 -8
  179. package/cjs/OpenChannel.js +34 -34
  180. package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -15
  181. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  182. package/cjs/OpenChannelList/context.js +3 -3
  183. package/cjs/OpenChannelList.js +15 -15
  184. package/cjs/{OpenChannelListProvider-25a0f74d.js → OpenChannelListProvider-0dfce6f0.js} +3 -3
  185. package/cjs/{OpenChannelListProvider-25a0f74d.js.map → OpenChannelListProvider-0dfce6f0.js.map} +1 -1
  186. package/cjs/{OpenChannelProvider-036e515e.js → OpenChannelProvider-3fee0431.js} +8 -8
  187. package/cjs/OpenChannelProvider-3fee0431.js.map +1 -0
  188. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  189. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  190. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  191. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  192. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  193. package/cjs/OpenChannelSettings/context.js +3 -3
  194. package/cjs/OpenChannelSettings.js +18 -18
  195. package/cjs/{RemoveMessageModal-7ed24af4.js → RemoveMessageModal-57524b2e.js} +5 -5
  196. package/cjs/{RemoveMessageModal-7ed24af4.js.map → RemoveMessageModal-57524b2e.js.map} +1 -1
  197. package/cjs/SendbirdProvider.js +17 -17
  198. package/cjs/SendbirdProvider.js.map +1 -1
  199. package/cjs/Thread/components/ParentMessageInfo.js +38 -38
  200. package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
  201. package/cjs/Thread/components/ThreadHeader.js +6 -6
  202. package/cjs/Thread/components/ThreadList.js +42 -42
  203. package/cjs/Thread/components/ThreadListItem.js +42 -42
  204. package/cjs/Thread/components/ThreadMessageInput.js +34 -34
  205. package/cjs/Thread/components/ThreadUI.js +47 -47
  206. package/cjs/Thread/context.js +12 -12
  207. package/cjs/Thread.js +47 -47
  208. package/cjs/{ThreadProvider-4c93de8a.js → ThreadProvider-fe31e040.js} +8 -8
  209. package/cjs/{ThreadProvider-4c93de8a.js.map → ThreadProvider-fe31e040.js.map} +1 -1
  210. package/cjs/{UserProfileContext-abe57718.js → UserProfileContext-345b7649.js} +1 -1
  211. package/cjs/{UserProfileContext-abe57718.js.map → UserProfileContext-345b7649.js.map} +1 -1
  212. package/cjs/VoicePlayer/context.js +3 -3
  213. package/cjs/VoicePlayer/useVoicePlayer.js +11 -11
  214. package/cjs/VoiceRecorder/context.js +11 -11
  215. package/cjs/VoiceRecorder/useVoiceRecorder.js +10 -10
  216. package/cjs/{WebAudioUtils-348c38b8.js → WebAudioUtils-a3f796ae.js} +2 -2
  217. package/cjs/{WebAudioUtils-348c38b8.js.map → WebAudioUtils-a3f796ae.js.map} +1 -1
  218. package/cjs/{_rollupPluginBabelHelpers-a85bd364.js → _rollupPluginBabelHelpers-488b3e8e.js} +1 -1
  219. package/cjs/_rollupPluginBabelHelpers-488b3e8e.js.map +1 -0
  220. package/cjs/{actionTypes-412ca236.js → actionTypes-cb457098.js} +1 -1
  221. package/cjs/{actionTypes-412ca236.js.map → actionTypes-cb457098.js.map} +1 -1
  222. package/cjs/{color-2f1198fc.js → color-05f0e0c4.js} +1 -1
  223. package/cjs/{color-2f1198fc.js.map → color-05f0e0c4.js.map} +1 -1
  224. package/cjs/{compareIds-89c258a0.js → compareIds-25532c3b.js} +1 -1
  225. package/cjs/{compareIds-89c258a0.js.map → compareIds-25532c3b.js.map} +1 -1
  226. package/cjs/{const-95881697.js → const-7272c371.js} +1 -1
  227. package/cjs/{const-95881697.js.map → const-7272c371.js.map} +1 -1
  228. package/cjs/{const-24d498a6.js → const-f9dd801f.js} +1 -1
  229. package/cjs/{const-24d498a6.js.map → const-f9dd801f.js.map} +1 -1
  230. package/cjs/{consts-2957b793.js → consts-23f916a7.js} +1 -1
  231. package/cjs/{consts-2957b793.js.map → consts-23f916a7.js.map} +1 -1
  232. package/cjs/{consts-dde4f05d.js → consts-794ef905.js} +1 -1
  233. package/cjs/{consts-dde4f05d.js.map → consts-794ef905.js.map} +1 -1
  234. package/cjs/{consts-c5d38c32.js → consts-80cf31ce.js} +1 -1
  235. package/cjs/{consts-c5d38c32.js.map → consts-80cf31ce.js.map} +1 -1
  236. package/cjs/{consts-7b830cc5.js → consts-d1774353.js} +1 -1
  237. package/cjs/{consts-7b830cc5.js.map → consts-d1774353.js.map} +1 -1
  238. package/cjs/{context-b53bf38e.js → context-5bc90aa7.js} +2 -2
  239. package/cjs/{context-b53bf38e.js.map → context-5bc90aa7.js.map} +1 -1
  240. package/cjs/dist/index.css +94 -95
  241. package/cjs/dist/index.css.map +1 -1
  242. package/cjs/{index-6e0a495a.js → index-04eb31f4.js} +3 -3
  243. package/cjs/{index-6e0a495a.js.map → index-04eb31f4.js.map} +1 -1
  244. package/cjs/{index-2fbc5922.js → index-1fdc447a.js} +4 -4
  245. package/cjs/{index-2fbc5922.js.map → index-1fdc447a.js.map} +1 -1
  246. package/cjs/{index-494b5c25.js → index-2c90dcb8.js} +3 -3
  247. package/cjs/{index-494b5c25.js.map → index-2c90dcb8.js.map} +1 -1
  248. package/cjs/{index-9813a2f9.js → index-4a574f45.js} +3 -3
  249. package/cjs/{index-9813a2f9.js.map → index-4a574f45.js.map} +1 -1
  250. package/cjs/{index-967cbc91.js → index-4ca19f6d.js} +2 -2
  251. package/cjs/index-4ca19f6d.js.map +1 -0
  252. package/cjs/{index-2fd388b9.js → index-53ca77d2.js} +5 -5
  253. package/cjs/{index-2fd388b9.js.map → index-53ca77d2.js.map} +1 -1
  254. package/cjs/{index-910f48df.js → index-55a5da60.js} +6 -6
  255. package/cjs/{index-910f48df.js.map → index-55a5da60.js.map} +1 -1
  256. package/cjs/{index-7e10ab98.js → index-6c815158.js} +9 -4
  257. package/cjs/{index-7e10ab98.js.map → index-6c815158.js.map} +1 -1
  258. package/cjs/{index-5628e0c0.js → index-87cced05.js} +1 -1
  259. package/cjs/{index-5628e0c0.js.map → index-87cced05.js.map} +1 -1
  260. package/cjs/{index-ae51b0df.js → index-99f90442.js} +2 -2
  261. package/cjs/{index-ae51b0df.js.map → index-99f90442.js.map} +1 -1
  262. package/cjs/{index-28c0a443.js → index-9ac0a31d.js} +4 -4
  263. package/cjs/{index-28c0a443.js.map → index-9ac0a31d.js.map} +1 -1
  264. package/cjs/{index-0f229ac7.js → index-9e072be5.js} +4 -4
  265. package/cjs/{index-0f229ac7.js.map → index-9e072be5.js.map} +1 -1
  266. package/cjs/{index-0f7049fb.js → index-aecd6e45.js} +7 -7
  267. package/cjs/{index-0f7049fb.js.map → index-aecd6e45.js.map} +1 -1
  268. package/cjs/{index-f0b55959.js → index-b4df1d17.js} +5 -5
  269. package/cjs/{index-f0b55959.js.map → index-b4df1d17.js.map} +1 -1
  270. package/cjs/{index-03655429.js → index-ba34ece6.js} +2 -2
  271. package/cjs/{index-03655429.js.map → index-ba34ece6.js.map} +1 -1
  272. package/cjs/{index-1f796e5a.js → index-be727556.js} +4 -4
  273. package/cjs/{index-1f796e5a.js.map → index-be727556.js.map} +1 -1
  274. package/cjs/{index-613acaa0.js → index-ccda67ff.js} +3 -3
  275. package/cjs/{index-613acaa0.js.map → index-ccda67ff.js.map} +1 -1
  276. package/cjs/{index-c9a4a555.js → index-d484ba73.js} +1 -1
  277. package/cjs/{index-c9a4a555.js.map → index-d484ba73.js.map} +1 -1
  278. package/cjs/{index-4d39de27.js → index-e177bbe4.js} +9 -9
  279. package/cjs/{index-4d39de27.js.map → index-e177bbe4.js.map} +1 -1
  280. package/cjs/{index-f40c4cf0.js → index-e70a2323.js} +2 -2
  281. package/cjs/{index-f40c4cf0.js.map → index-e70a2323.js.map} +1 -1
  282. package/cjs/{index-de4da1f2.js → index-ec0d0086.js} +2 -2
  283. package/cjs/{index-de4da1f2.js.map → index-ec0d0086.js.map} +1 -1
  284. package/cjs/index.js +59 -59
  285. package/cjs/{index.module-5c951066.js → index.module-22a4bbea.js} +1 -1
  286. package/cjs/{index.module-5c951066.js.map → index.module-22a4bbea.js.map} +1 -1
  287. package/cjs/package.json +2 -2
  288. package/cjs/{resolvedReplyType-314fee09.js → resolvedReplyType-7c78f221.js} +1 -1
  289. package/cjs/{resolvedReplyType-314fee09.js.map → resolvedReplyType-7c78f221.js.map} +1 -1
  290. package/cjs/sendbirdSelectors.js +3 -3
  291. package/cjs/{stringFormatterUtils-3e53394c.js → stringFormatterUtils-2de721a6.js} +3 -3
  292. package/cjs/{stringFormatterUtils-3e53394c.js.map → stringFormatterUtils-2de721a6.js.map} +1 -1
  293. package/cjs/{stringSet-b75b75ae.js → stringSet-0c9ec33d.js} +1 -1
  294. package/cjs/{stringSet-b75b75ae.js.map → stringSet-0c9ec33d.js.map} +1 -1
  295. package/cjs/{tokenize-42536b7a.js → tokenize-46a71d6a.js} +2 -2
  296. package/cjs/{tokenize-42536b7a.js.map → tokenize-46a71d6a.js.map} +1 -1
  297. package/cjs/{topics-2c35cfd7.js → topics-cf5100f6.js} +1 -1
  298. package/cjs/{topics-2c35cfd7.js.map → topics-cf5100f6.js.map} +1 -1
  299. package/cjs/{types-382588b3.js → types-ad059133.js} +1 -1
  300. package/cjs/{types-382588b3.js.map → types-ad059133.js.map} +1 -1
  301. package/cjs/ui/Accordion.js +2 -2
  302. package/cjs/ui/AccordionGroup.js +2 -2
  303. package/cjs/ui/AdminMessage.js +2 -2
  304. package/cjs/ui/Avatar.js +1 -1
  305. package/cjs/ui/Badge.js +4 -4
  306. package/cjs/ui/BottomSheet.js +4 -4
  307. package/cjs/ui/Button.js +2 -2
  308. package/cjs/ui/ChannelAvatar.js +2 -2
  309. package/cjs/ui/ConnectionStatus.js +4 -4
  310. package/cjs/ui/ContextMenu.js +6 -6
  311. package/cjs/ui/DateSeparator.js +3 -3
  312. package/cjs/ui/EmojiReactions.js +14 -14
  313. package/cjs/ui/FileMessageItemBody.js +7 -7
  314. package/cjs/ui/FileViewer.js +12 -12
  315. package/cjs/ui/IconButton.js +1 -1
  316. package/cjs/ui/Input.js +2 -2
  317. package/cjs/ui/Label.js +2 -2
  318. package/cjs/ui/LinkLabel.js +2 -2
  319. package/cjs/ui/MentionLabel.js +11 -11
  320. package/cjs/ui/MentionUserLabel.js +1 -1
  321. package/cjs/ui/MessageContent.js +31 -31
  322. package/cjs/ui/MessageInput/hooks/usePaste.js +4 -4
  323. package/cjs/ui/MessageInput.js +26 -30
  324. package/cjs/ui/MessageInput.js.map +1 -1
  325. package/cjs/ui/MessageItemMenu.js +9 -9
  326. package/cjs/ui/MessageItemReactionMenu.js +9 -9
  327. package/cjs/ui/MessageSearchFileItem.js +12 -12
  328. package/cjs/ui/MessageSearchItem.js +8 -8
  329. package/cjs/ui/MessageStatus.js +11 -11
  330. package/cjs/ui/Modal.js +9 -9
  331. package/cjs/ui/OGMessageItemBody.js +14 -14
  332. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  333. package/cjs/ui/OpenChannelAvatar.js +5 -5
  334. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  335. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  336. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  337. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  338. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  339. package/cjs/ui/PlaceHolder.js +5 -5
  340. package/cjs/ui/PlaybackTime.js +2 -2
  341. package/cjs/ui/QuoteMessage.js +8 -8
  342. package/cjs/ui/QuoteMessageInput.js +8 -8
  343. package/cjs/ui/ReactionBadge.js +2 -2
  344. package/cjs/ui/ReactionButton.js +4 -4
  345. package/cjs/ui/SortByRow.js +1 -1
  346. package/cjs/ui/TextButton.js +1 -1
  347. package/cjs/ui/TextMessageItemBody.js +14 -14
  348. package/cjs/ui/ThreadReplies.js +5 -5
  349. package/cjs/ui/ThumbnailMessageItemBody.js +7 -7
  350. package/cjs/ui/Toggle.js +1 -1
  351. package/cjs/ui/Tooltip.js +2 -2
  352. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  353. package/cjs/ui/UserListItem.js +11 -11
  354. package/cjs/ui/UserProfile.js +9 -9
  355. package/cjs/ui/VoiceMessageItemBody.js +11 -11
  356. package/cjs/ui/VoiceMessgeInput.js +7 -7
  357. package/cjs/ui/Word.js +11 -11
  358. package/cjs/{useHandleUploadFiles-84bd5a9a.js → useHandleUploadFiles-a2515e36.js} +10 -10
  359. package/cjs/{useHandleUploadFiles-84bd5a9a.js.map → useHandleUploadFiles-a2515e36.js.map} +1 -1
  360. package/cjs/{useLongPress-49aa9a49.js → useLongPress-c9932bc1.js} +3 -3
  361. package/cjs/{useLongPress-49aa9a49.js.map → useLongPress-c9932bc1.js.map} +1 -1
  362. package/cjs/{useSendMultipleFilesMessage-c5266ca8.js → useSendMultipleFilesMessage-82dafd6e.js} +4 -4
  363. package/cjs/{useSendMultipleFilesMessage-c5266ca8.js.map → useSendMultipleFilesMessage-82dafd6e.js.map} +1 -1
  364. package/cjs/useSendbirdStateContext.js +1 -1
  365. package/cjs/utils/message/isVoiceMessage.js +3 -3
  366. package/cjs/{utils-4e18a724.js → utils-323602f7.js} +1 -1
  367. package/cjs/{utils-4e18a724.js.map → utils-323602f7.js.map} +1 -1
  368. package/cjs/{utils-1e9e97b5.js → utils-4951f17b.js} +11 -6
  369. package/cjs/utils-4951f17b.js.map +1 -0
  370. package/cjs/{utils-8958cb75.js → utils-71eb8ef7.js} +1 -1
  371. package/cjs/{utils-8958cb75.js.map → utils-71eb8ef7.js.map} +1 -1
  372. package/cjs/{utils-b3e9e1b8.js → utils-de1e1ff7.js} +2 -2
  373. package/cjs/{utils-b3e9e1b8.js.map → utils-de1e1ff7.js.map} +1 -1
  374. package/cjs/{utils-d5a929c9.js → utils-e8c4f085.js} +1 -1
  375. package/cjs/{utils-d5a929c9.js.map → utils-e8c4f085.js.map} +1 -1
  376. package/cjs/{utils-d6285655.js → utils-f41b79ef.js} +3 -3
  377. package/cjs/{utils-d6285655.js.map → utils-f41b79ef.js.map} +1 -1
  378. package/cjs/{uuid-34728ced.js → uuid-e5bd2418.js} +1 -1
  379. package/cjs/{uuid-34728ced.js.map → uuid-e5bd2418.js.map} +1 -1
  380. package/cjs/withSendbird.js +1 -1
  381. package/{color-4cef414f.js → color-8d593cfa.js} +1 -1
  382. package/{color-4cef414f.js.map → color-8d593cfa.js.map} +1 -1
  383. package/{compareIds-7e93f2e7.js → compareIds-1f514503.js} +1 -1
  384. package/{compareIds-7e93f2e7.js.map → compareIds-1f514503.js.map} +1 -1
  385. package/{const-6c10846e.js → const-16846404.js} +1 -1
  386. package/{const-6c10846e.js.map → const-16846404.js.map} +1 -1
  387. package/{const-48ffde74.js → const-b8dcad45.js} +1 -1
  388. package/{const-48ffde74.js.map → const-b8dcad45.js.map} +1 -1
  389. package/{consts-bd684c8d.js → consts-6e6f7e9f.js} +1 -1
  390. package/{consts-bd684c8d.js.map → consts-6e6f7e9f.js.map} +1 -1
  391. package/{consts-439d56b4.js → consts-9f4a812e.js} +1 -1
  392. package/{consts-439d56b4.js.map → consts-9f4a812e.js.map} +1 -1
  393. package/{consts-aad4bf65.js → consts-b5df6e74.js} +1 -1
  394. package/{consts-aad4bf65.js.map → consts-b5df6e74.js.map} +1 -1
  395. package/{consts-a979689d.js → consts-d580c2c7.js} +1 -1
  396. package/{consts-a979689d.js.map → consts-d580c2c7.js.map} +1 -1
  397. package/{context-9946197c.js → context-fb4c2157.js} +2 -2
  398. package/{context-9946197c.js.map → context-fb4c2157.js.map} +1 -1
  399. package/dist/index.css +94 -95
  400. package/dist/index.css.map +1 -1
  401. package/{index-a0bd5ef9.js → index-151e4750.js} +3 -3
  402. package/{index-a0bd5ef9.js.map → index-151e4750.js.map} +1 -1
  403. package/{index-516ad99d.js → index-304b238b.js} +1 -1
  404. package/{index-516ad99d.js.map → index-304b238b.js.map} +1 -1
  405. package/{index-44d3dac3.js → index-35747966.js} +5 -5
  406. package/{index-44d3dac3.js.map → index-35747966.js.map} +1 -1
  407. package/{index-6bca558b.js → index-390e9091.js} +7 -7
  408. package/{index-6bca558b.js.map → index-390e9091.js.map} +1 -1
  409. package/{index-c5cb0bb2.js → index-4a1fec80.js} +4 -4
  410. package/{index-c5cb0bb2.js.map → index-4a1fec80.js.map} +1 -1
  411. package/{index-825c96d3.js → index-51d1d394.js} +3 -3
  412. package/{index-825c96d3.js.map → index-51d1d394.js.map} +1 -1
  413. package/{index-526cbeea.js → index-57990954.js} +2 -2
  414. package/{index-526cbeea.js.map → index-57990954.js.map} +1 -1
  415. package/{index-9083293d.js → index-62ee116d.js} +4 -4
  416. package/{index-9083293d.js.map → index-62ee116d.js.map} +1 -1
  417. package/{index-373d3069.js → index-658da38a.js} +4 -4
  418. package/{index-373d3069.js.map → index-658da38a.js.map} +1 -1
  419. package/{index-3370a58d.js → index-6805d5c8.js} +2 -2
  420. package/{index-3370a58d.js.map → index-6805d5c8.js.map} +1 -1
  421. package/{index-fa19fef7.js → index-773ba5ba.js} +2 -2
  422. package/{index-fa19fef7.js.map → index-773ba5ba.js.map} +1 -1
  423. package/{index-d9b66555.js → index-80996ef9.js} +5 -5
  424. package/{index-d9b66555.js.map → index-80996ef9.js.map} +1 -1
  425. package/{index-0a50eba0.js → index-843f8172.js} +6 -6
  426. package/{index-0a50eba0.js.map → index-843f8172.js.map} +1 -1
  427. package/{index-b346dc02.js → index-9237667a.js} +9 -9
  428. package/{index-b346dc02.js.map → index-9237667a.js.map} +1 -1
  429. package/{index-1833cc50.js → index-9ea624d5.js} +2 -2
  430. package/{index-1833cc50.js.map → index-9ea624d5.js.map} +1 -1
  431. package/{index-c323f04b.js → index-afdd497f.js} +3 -3
  432. package/{index-c323f04b.js.map → index-afdd497f.js.map} +1 -1
  433. package/{index-e2afa53f.js → index-c277467e.js} +1 -1
  434. package/{index-e2afa53f.js.map → index-c277467e.js.map} +1 -1
  435. package/{index-6d0ae6a0.js → index-cdaae7f9.js} +3 -3
  436. package/{index-6d0ae6a0.js.map → index-cdaae7f9.js.map} +1 -1
  437. package/{index-bae83553.js → index-f35b1dcc.js} +4 -4
  438. package/{index-bae83553.js.map → index-f35b1dcc.js.map} +1 -1
  439. package/{index-320a1756.js → index-f48e9c68.js} +2 -2
  440. package/index-f48e9c68.js.map +1 -0
  441. package/{index-2d23ff73.js → index-fde902d5.js} +9 -5
  442. package/{index-2d23ff73.js.map → index-fde902d5.js.map} +1 -1
  443. package/index.d.ts +9 -11
  444. package/index.js +59 -59
  445. package/{index.module-efef0194.js → index.module-f3f31594.js} +1 -1
  446. package/{index.module-efef0194.js.map → index.module-f3f31594.js.map} +1 -1
  447. package/package.json +2 -2
  448. package/{resolvedReplyType-84f1270f.js → resolvedReplyType-ff8f48f4.js} +1 -1
  449. package/{resolvedReplyType-84f1270f.js.map → resolvedReplyType-ff8f48f4.js.map} +1 -1
  450. package/sendbirdSelectors.js +3 -3
  451. package/{stringFormatterUtils-beea8d82.js → stringFormatterUtils-272582e5.js} +3 -3
  452. package/{stringFormatterUtils-beea8d82.js.map → stringFormatterUtils-272582e5.js.map} +1 -1
  453. package/{stringSet-9fe06e0d.js → stringSet-02d58100.js} +1 -1
  454. package/{stringSet-9fe06e0d.js.map → stringSet-02d58100.js.map} +1 -1
  455. package/{tokenize-d34eb5c6.js → tokenize-65b415b8.js} +2 -2
  456. package/{tokenize-d34eb5c6.js.map → tokenize-65b415b8.js.map} +1 -1
  457. package/{topics-edd6182d.js → topics-fda6fac4.js} +1 -1
  458. package/{topics-edd6182d.js.map → topics-fda6fac4.js.map} +1 -1
  459. package/{types-269fec15.js → types-69d76470.js} +1 -1
  460. package/{types-269fec15.js.map → types-69d76470.js.map} +1 -1
  461. package/ui/Accordion.js +2 -2
  462. package/ui/AccordionGroup.js +2 -2
  463. package/ui/AdminMessage.js +2 -2
  464. package/ui/Avatar.js +1 -1
  465. package/ui/Badge.js +4 -4
  466. package/ui/BottomSheet.js +4 -4
  467. package/ui/Button.js +2 -2
  468. package/ui/ChannelAvatar.js +2 -2
  469. package/ui/ConnectionStatus.js +4 -4
  470. package/ui/ContextMenu.js +6 -6
  471. package/ui/DateSeparator.js +3 -3
  472. package/ui/EmojiReactions.js +14 -14
  473. package/ui/FileMessageItemBody.js +7 -7
  474. package/ui/FileViewer.js +12 -12
  475. package/ui/IconButton.js +1 -1
  476. package/ui/Input.js +2 -2
  477. package/ui/Label.js +2 -2
  478. package/ui/LinkLabel.js +2 -2
  479. package/ui/MentionLabel.js +11 -11
  480. package/ui/MentionUserLabel.js +1 -1
  481. package/ui/MessageContent.js +31 -31
  482. package/ui/MessageInput/hooks/usePaste.js +4 -4
  483. package/ui/MessageInput.js +26 -30
  484. package/ui/MessageInput.js.map +1 -1
  485. package/ui/MessageItemMenu.js +9 -9
  486. package/ui/MessageItemReactionMenu.js +9 -9
  487. package/ui/MessageSearchFileItem.js +12 -12
  488. package/ui/MessageSearchItem.js +8 -8
  489. package/ui/MessageStatus.js +11 -11
  490. package/ui/Modal.js +9 -9
  491. package/ui/OGMessageItemBody.js +14 -14
  492. package/ui/OpenChannelAdminMessage.js +2 -2
  493. package/ui/OpenChannelAvatar.js +5 -5
  494. package/ui/OpenchannelConversationHeader.js +6 -6
  495. package/ui/OpenchannelFileMessage.js +16 -16
  496. package/ui/OpenchannelOGMessage.js +18 -18
  497. package/ui/OpenchannelThumbnailMessage.js +15 -15
  498. package/ui/OpenchannelUserMessage.js +16 -16
  499. package/ui/PlaceHolder.js +5 -5
  500. package/ui/PlaybackTime.js +2 -2
  501. package/ui/QuoteMessage.js +8 -8
  502. package/ui/QuoteMessageInput.js +8 -8
  503. package/ui/ReactionBadge.js +2 -2
  504. package/ui/ReactionButton.js +4 -4
  505. package/ui/SortByRow.js +1 -1
  506. package/ui/TextButton.js +1 -1
  507. package/ui/TextMessageItemBody.js +14 -14
  508. package/ui/ThreadReplies.js +5 -5
  509. package/ui/ThumbnailMessageItemBody.js +7 -7
  510. package/ui/Toggle.js +1 -1
  511. package/ui/Tooltip.js +2 -2
  512. package/ui/UnknownMessageItemBody.js +7 -7
  513. package/ui/UserListItem.js +11 -11
  514. package/ui/UserProfile.js +9 -9
  515. package/ui/VoiceMessageItemBody.js +11 -11
  516. package/ui/VoiceMessgeInput.js +7 -7
  517. package/ui/Word.js +11 -11
  518. package/{useHandleUploadFiles-210750cc.js → useHandleUploadFiles-c1595636.js} +10 -10
  519. package/{useHandleUploadFiles-210750cc.js.map → useHandleUploadFiles-c1595636.js.map} +1 -1
  520. package/{useLongPress-4b698dbb.js → useLongPress-ba7e62b0.js} +3 -3
  521. package/{useLongPress-4b698dbb.js.map → useLongPress-ba7e62b0.js.map} +1 -1
  522. package/{useSendMultipleFilesMessage-4a45ffbe.js → useSendMultipleFilesMessage-5cbc19ce.js} +4 -4
  523. package/{useSendMultipleFilesMessage-4a45ffbe.js.map → useSendMultipleFilesMessage-5cbc19ce.js.map} +1 -1
  524. package/useSendbirdStateContext.js +1 -1
  525. package/utils/message/isVoiceMessage.js +3 -3
  526. package/{utils-4d948dec.js → utils-42359bc3.js} +2 -2
  527. package/{utils-4d948dec.js.map → utils-42359bc3.js.map} +1 -1
  528. package/{utils-a184f6ea.js → utils-532f83ca.js} +1 -1
  529. package/{utils-a184f6ea.js.map → utils-532f83ca.js.map} +1 -1
  530. package/{utils-55c9df93.js → utils-5a24bd3a.js} +1 -1
  531. package/{utils-55c9df93.js.map → utils-5a24bd3a.js.map} +1 -1
  532. package/{utils-ec15538c.js → utils-cbc87bb5.js} +11 -6
  533. package/utils-cbc87bb5.js.map +1 -0
  534. package/{utils-73dd35ca.js → utils-e7de752d.js} +3 -3
  535. package/{utils-73dd35ca.js.map → utils-e7de752d.js.map} +1 -1
  536. package/{utils-1bfac67e.js → utils-eb4100d3.js} +1 -1
  537. package/{utils-1bfac67e.js.map → utils-eb4100d3.js.map} +1 -1
  538. package/{uuid-9094f15c.js → uuid-46cf2f27.js} +1 -1
  539. package/{uuid-9094f15c.js.map → uuid-46cf2f27.js.map} +1 -1
  540. package/withSendbird.js +1 -1
  541. package/ChannelListProvider-ba11ee5f.js.map +0 -1
  542. package/ChannelProvider-7400e8f6.js.map +0 -1
  543. package/OpenChannelProvider-4f21a22d.js.map +0 -1
  544. package/_rollupPluginBabelHelpers-ea73a031.js.map +0 -1
  545. package/cjs/ChannelListProvider-69db317f.js.map +0 -1
  546. package/cjs/ChannelProvider-2ee005bc.js.map +0 -1
  547. package/cjs/OpenChannelProvider-036e515e.js.map +0 -1
  548. package/cjs/_rollupPluginBabelHelpers-a85bd364.js.map +0 -1
  549. package/cjs/index-967cbc91.js.map +0 -1
  550. package/cjs/utils-1e9e97b5.js.map +0 -1
  551. package/index-320a1756.js.map +0 -1
  552. package/utils-ec15538c.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-0f7049fb.js","sources":["../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { Participant, User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function ParticipantsModal({\n onCancel,\n}: Props): ReactElement {\n const state = useSendbirdStateContext();\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const userId = state?.config?.userId;\n const sdk = state?.stores?.sdkStore?.sdk;\n const isOperatorView = channel?.isOperator(userId);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n isFullScreenOnMobile\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ]);\n });\n }\n }}\n >\n {\n participants.map((p: Participant) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n key={p.userId}\n currentUser={sdk?.currentUser?.userId}\n action={\n (userId !== p.userId && isOperatorView)\n ? ({ 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}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n });\n }\n }}\n dataSbId={`open_channel_setting_participant_context_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\n }\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }\n }}\n dataSbId={`open_channel_setting_participant_context_menu_${p.isMuted ? 'unmute' : 'mute'}`\n }\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n dataSbId=\"open_channel_setting_participant_context_menu_ban\"\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n }\n />\n );\n })\n }\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport type { Participant } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: Participant;\n currentUser?: string;\n isOperator?: boolean;\n action?(props: ActionProps): ReactElement;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n user,\n currentUser,\n isOperator,\n action,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const actionRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <>\n <Avatar\n className=\"sendbird-participants-accordion__member-avatar__avatar\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n {user?.isMuted ? (<MutedAvatarOverlay />) : ''}\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: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label\n className=\"sendbird-participants-accordion__member__title\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__YOU\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className=\"sendbird-participants-accordion__member__title user-id\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n isOperator && (\n <Label\n className={\n `sendbird-participants-accordion__member__title\n ${user?.userId !== currentUser ? 'operator' : ''}\n ${user?.userId === currentUser ? 'self-operator' : ''}\n `\n }\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR}\n </Label>\n )\n }\n {\n action && (\n <div\n className=\"sendbird-participants-accordion__member__action\"\n ref={actionRef}\n >\n {action({ actionRef })}\n </div>\n )\n }\n </div>\n );\n};\n\nexport interface ParticipantsAccordionProps {\n maxMembers?: number;\n}\n\nexport default function ParticipantsAccordion(props: ParticipantsAccordionProps): ReactElement {\n const maxMembers = props?.maxMembers || SHOWN_MEMBER_MAX;\n const { channel } = useOpenChannelSettingsContext();\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {(participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : ''\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { Participant, User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport ParticipantsModal from './ParticipantsModal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface ParticipantListProps {\n isOperatorView?: boolean;\n}\n\nexport default function ParticipantList({\n isOperatorView = false,\n}: ParticipantListProps): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUserId = globalState?.config?.userId;\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>(null);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const [showParticipantsModal, setShowParticipantsModal] = useState<boolean>(false);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n const refreshList = useCallback(() => {\n if (!channel) {\n setParticipants([]);\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participant-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ]);\n });\n }\n }}\n >\n <div>\n {\n participants?.map((p: Participant) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n currentUser={currentUserId}\n key={p.userId}\n isOperator={isOperator}\n action={({ actionRef }) => (\n (isOperatorView && currentUserId !== p?.userId)\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-openchannel-participant-list__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\n }\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${p.isMuted ? 'unmute' : 'mute'}`}\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }}\n dataSbId=\"open_channel_setting_partitipant_conext_menu_ban\"\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n )}\n />\n );\n })\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : null\n }\n <div className=\"sendbird-openchannel-participant-list__footer\">\n {\n participantListQuery?.hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowParticipantsModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n </Button>\n )\n }\n </div>\n {\n showParticipantsModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowParticipantsModal(false);\n refreshList();\n }}\n />\n )\n }\n </div>\n </div>\n );\n}\n"],"names":["ParticipantsModal","_ref","_state$config","_state$stores","_state$stores$sdkStor","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","participants","setParticipants","useState","participantListQuery","setParticipantListQuery","userId","config","sdk","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","createElement","Modal","hideFooter","isFullScreenOnMobile","onSubmit","noop","titleText","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","className","onScroll","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","_sdk$currentUser","UserListItem","user","key","currentUser","action","_ref2","actionRef","parentRef","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","Icon","type","IconTypes","MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","closeDropdown","MenuItems","parentContainRef","openLeft","MenuItem","removeOperators","addOperators","dataSbId","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","isMuted","unmuteUser","muteUser","OPEN_CHANNEL_SETTING__MODERATION__UNMUTE","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","avatarRef","useRef","disableUserProfile","renderUserProfile","UserProfileContext","Fragment","Avatar","ref","src","profileUrl","MutedAvatarOverlay","style","paddingTop","paddingBottom","currentUserId","close","UserProfile","disableMessaging","onSuccess","Label","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","_globalState$config","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL"],"mappings":"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"}
1
+ {"version":3,"file":"index-aecd6e45.js","sources":["../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { Participant, User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function ParticipantsModal({\n onCancel,\n}: Props): ReactElement {\n const state = useSendbirdStateContext();\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const userId = state?.config?.userId;\n const sdk = state?.stores?.sdkStore?.sdk;\n const isOperatorView = channel?.isOperator(userId);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n isFullScreenOnMobile\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ]);\n });\n }\n }}\n >\n {\n participants.map((p: Participant) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n key={p.userId}\n currentUser={sdk?.currentUser?.userId}\n action={\n (userId !== p.userId && isOperatorView)\n ? ({ 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}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n });\n }\n }}\n dataSbId={`open_channel_setting_participant_context_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\n }\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }\n }}\n dataSbId={`open_channel_setting_participant_context_menu_${p.isMuted ? 'unmute' : 'mute'}`\n }\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n dataSbId=\"open_channel_setting_participant_context_menu_ban\"\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n }\n />\n );\n })\n }\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport type { Participant } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: Participant;\n currentUser?: string;\n isOperator?: boolean;\n action?(props: ActionProps): ReactElement;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n user,\n currentUser,\n isOperator,\n action,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const actionRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <>\n <Avatar\n className=\"sendbird-participants-accordion__member-avatar__avatar\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n {user?.isMuted ? (<MutedAvatarOverlay />) : ''}\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: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label\n className=\"sendbird-participants-accordion__member__title\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__YOU\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className=\"sendbird-participants-accordion__member__title user-id\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n isOperator && (\n <Label\n className={\n `sendbird-participants-accordion__member__title\n ${user?.userId !== currentUser ? 'operator' : ''}\n ${user?.userId === currentUser ? 'self-operator' : ''}\n `\n }\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR}\n </Label>\n )\n }\n {\n action && (\n <div\n className=\"sendbird-participants-accordion__member__action\"\n ref={actionRef}\n >\n {action({ actionRef })}\n </div>\n )\n }\n </div>\n );\n};\n\nexport interface ParticipantsAccordionProps {\n maxMembers?: number;\n}\n\nexport default function ParticipantsAccordion(props: ParticipantsAccordionProps): ReactElement {\n const maxMembers = props?.maxMembers || SHOWN_MEMBER_MAX;\n const { channel } = useOpenChannelSettingsContext();\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {(participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : ''\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { Participant, User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport ParticipantsModal from './ParticipantsModal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface ParticipantListProps {\n isOperatorView?: boolean;\n}\n\nexport default function ParticipantList({\n isOperatorView = false,\n}: ParticipantListProps): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUserId = globalState?.config?.userId;\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>(null);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const [showParticipantsModal, setShowParticipantsModal] = useState<boolean>(false);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n const refreshList = useCallback(() => {\n if (!channel) {\n setParticipants([]);\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participant-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ]);\n });\n }\n }}\n >\n <div>\n {\n participants?.map((p: Participant) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n currentUser={currentUserId}\n key={p.userId}\n isOperator={isOperator}\n action={({ actionRef }) => (\n (isOperatorView && currentUserId !== p?.userId)\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-openchannel-participant-list__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\n }\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${p.isMuted ? 'unmute' : 'mute'}`}\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }}\n dataSbId=\"open_channel_setting_partitipant_conext_menu_ban\"\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n )}\n />\n );\n })\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : null\n }\n <div className=\"sendbird-openchannel-participant-list__footer\">\n {\n participantListQuery?.hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowParticipantsModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n </Button>\n )\n }\n </div>\n {\n showParticipantsModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowParticipantsModal(false);\n refreshList();\n }}\n />\n )\n }\n </div>\n </div>\n );\n}\n"],"names":["ParticipantsModal","_ref","_state$config","_state$stores","_state$stores$sdkStor","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","participants","setParticipants","useState","participantListQuery","setParticipantListQuery","userId","config","sdk","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","createElement","Modal","hideFooter","isFullScreenOnMobile","onSubmit","noop","titleText","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","className","onScroll","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","_sdk$currentUser","UserListItem","user","key","currentUser","action","_ref2","actionRef","parentRef","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","Icon","type","IconTypes","MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","closeDropdown","MenuItems","parentContainRef","openLeft","MenuItem","removeOperators","addOperators","dataSbId","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","isMuted","unmuteUser","muteUser","OPEN_CHANNEL_SETTING__MODERATION__UNMUTE","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","avatarRef","useRef","disableUserProfile","renderUserProfile","UserProfileContext","Fragment","Avatar","ref","src","profileUrl","MutedAvatarOverlay","style","paddingTop","paddingBottom","currentUserId","close","UserProfile","disableMessaging","onSuccess","Label","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","_globalState$config","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL"],"mappings":"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"}
@@ -3,10 +3,10 @@
3
3
  var React = require('react');
4
4
  var ui_Icon = require('./ui/Icon.js');
5
5
  var ui_ImageRenderer = require('./ui/ImageRenderer.js');
6
- var index = require('./index-613acaa0.js');
7
- var ui_FileViewer = require('./index-4d39de27.js');
8
- var MediaQueryContext = require('./MediaQueryContext-ca045060.js');
9
- var index_module = require('./index.module-5c951066.js');
6
+ var index = require('./index-ccda67ff.js');
7
+ var ui_FileViewer = require('./index-e177bbe4.js');
8
+ var MediaQueryContext = require('./MediaQueryContext-c66337d3.js');
9
+ var index_module = require('./index.module-22a4bbea.js');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
12
 
@@ -136,4 +136,4 @@ function MultipleFilesMessageItemBody(_ref) {
136
136
 
137
137
  exports.MultipleFilesMessageItemBody = MultipleFilesMessageItemBody;
138
138
  exports.ThreadMessageKind = ThreadMessageKind;
139
- //# sourceMappingURL=index-f0b55959.js.map
139
+ //# sourceMappingURL=index-b4df1d17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-f0b55959.js","sources":["../../src/ui/ImageGrid/index.tsx","../../src/ui/MultipleFilesMessageItemBody/useThreadMessageKindKeySelector.ts","../../src/ui/MultipleFilesMessageItemBody/const.ts","../../src/ui/MultipleFilesMessageItemBody/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport './index.scss';\nimport { getClassName } from '../../utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\ninterface ImageGridProps {\n children: ReactElement[];\n className?: string;\n message: MultipleFilesMessage;\n isReactionEnabled?: boolean;\n}\n\nexport default function ImageGrid({\n children,\n className,\n message,\n isReactionEnabled,\n}: ImageGridProps): ReactElement {\n return (\n <div className='sendbird-image-grid-wrap'>\n <div className={getClassName([\n className,\n 'sendbird-image-grid',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n { children }\n </div>\n </div>\n );\n}\n","import { useMemo } from 'react';\nimport { ThreadMessageKind, ThreadMessageKindType } from './index';\nimport { match } from 'ts-pattern';\n\ninterface DynamicSideLengthProps {\n threadMessageKind: ThreadMessageKindType;\n isMobile: boolean;\n}\n\nexport function useThreadMessageKindKeySelector({\n threadMessageKind,\n isMobile,\n}: DynamicSideLengthProps): string {\n const threadMessageKindKey = useMemo(() => {\n return match(threadMessageKind)\n .with(ThreadMessageKind.PARENT, () => (isMobile\n ? 'THREAD_PARENT_MOBILE'\n : 'THREAD_PARENT_WEB'\n ))\n .with(ThreadMessageKind.CHILD, () => (isMobile\n ? 'THREAD_CHILD_MOBILE'\n : 'THREAD_CHILD_WEB'\n ))\n .otherwise(() => (isMobile\n ? 'CHAT_MOBILE'\n : 'CHAT_WEB'\n ));\n }, [isMobile, threadMessageKind]);\n return threadMessageKindKey;\n}\n","const GRID_WIDTH_CHAT_WEB = 400;\nconst GRID_SIDE_PADDING = 8;\nconst GRID_GAP = 4;\nconst TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 54;\nconst PROFILE_IMAGE_WIDTH = 40;\n\nconst CHAT_MOBILE_SIDE_PADDING = 48;\n\nconst THREAD_PARENT_WIDTH = 320;\nconst THREAD_PARENT_SIDE_PADDING = 28;\nconst THREAD_PARENT_GRID_MARGIN_LEFT = 12;\n\nconst THREAD_CHILD_WIDTH = 200;\nconst THREAD_CHILD_SIDE_PADDING = 8;\nconst THREAD_CHILD_MOBILE_SIDE_PADDING = 32;\nconst THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 60;\n\nexport const MULTIPLE_FILES_IMAGE_SIDE_LENGTH = {\n CHAT_WEB: `calc(${GRID_WIDTH_CHAT_WEB / 2}px - ${(GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n CHAT_MOBILE: `calc(50vw - ${(CHAT_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n THREAD_PARENT_WEB: `calc(${(THREAD_PARENT_WIDTH - (THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP)) / 2}px)`,\n THREAD_PARENT_MOBILE: `calc(50vw - ${(THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP) / 2}px)`,\n THREAD_CHILD_WEB: `calc(${(THREAD_CHILD_WIDTH - THREAD_CHILD_SIDE_PADDING - GRID_GAP) / 2}px)`,\n THREAD_CHILD_MOBILE: `calc(50vw - ${(THREAD_CHILD_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n};\nexport const MULTIPLE_FILES_IMAGE_BORDER_RADIUS = {\n CHAT_WEB: '6px',\n CHAT_MOBILE: '6px',\n THREAD_PARENT_WEB: '6px',\n THREAD_PARENT_MOBILE: '6px',\n THREAD_CHILD_WEB: '6px',\n THREAD_CHILD_MOBILE: '6px',\n};\nexport const MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH = '40px';\n","import React, { ReactElement, useState } from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport ImageRenderer from '../ImageRenderer';\nimport ImageGrid from '../ImageGrid';\nimport FileViewer from '../FileViewer';\nimport './index.scss';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport { useThreadMessageKindKeySelector } from './useThreadMessageKindKeySelector';\nimport {\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS,\n MULTIPLE_FILES_IMAGE_SIDE_LENGTH,\n MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,\n} from './const';\nimport { isGifFileInfo } from '../../utils';\n\nexport const ThreadMessageKind = {\n PARENT: 'parent',\n CHILD: 'child',\n} as const;\n\nexport type ThreadMessageKindType = typeof ThreadMessageKind[keyof typeof ThreadMessageKind];\n\ninterface Props {\n className?: string;\n message: MultipleFilesMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n truncateLimit?: number;\n threadMessageKind?: ThreadMessageKindType;\n}\n\nexport default function MultipleFilesMessageItemBody({\n className,\n message,\n isReactionEnabled = false,\n threadMessageKind,\n}: Props): ReactElement {\n const { isMobile } = useMediaQueryContext();\n const [fileInfoList] = useState<UploadedFileInfo[]>(message.fileInfoList);\n const threadMessageKindKey = useThreadMessageKindKeySelector({ threadMessageKind, isMobile });\n const [currentIndex, setCurrentIndex] = useState(-1);\n\n function onClose() {\n setCurrentIndex(-1);\n }\n\n function onClickLeft() {\n setCurrentIndex(\n currentIndex === 0\n ? fileInfoList.length - 1\n : currentIndex - 1,\n );\n }\n\n function onClickRight() {\n setCurrentIndex(\n currentIndex === fileInfoList.length - 1\n ? 0\n : currentIndex + 1,\n );\n }\n\n return threadMessageKindKey && (\n <>\n {\n currentIndex > -1 && (\n <FileViewer\n message={message}\n currentIndex={currentIndex}\n onClickLeft={onClickLeft}\n onClickRight={onClickRight}\n onClose={onClose}\n />\n )\n }\n <ImageGrid\n className={className}\n message={message}\n isReactionEnabled={isReactionEnabled}\n >\n {\n fileInfoList.map((fileInfo: UploadedFileInfo, index: number) => {\n return <div\n className='sendbird-multiple-files-image-renderer-wrapper'\n onClick={() => setCurrentIndex(index)}\n key={`sendbird-multiple-files-image-renderer-${index}-${fileInfo.plainUrl}`}\n >\n <ImageRenderer\n url={fileInfo.url}\n fixedSize={false}\n width={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n maxSideLength={MULTIPLE_FILES_IMAGE_SIDE_LENGTH.CHAT_WEB}\n height={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n borderRadius={MULTIPLE_FILES_IMAGE_BORDER_RADIUS[threadMessageKindKey]}\n shadeOnHover={true}\n isGif={isGifFileInfo(fileInfo)}\n defaultComponent={\n <div\n className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\"\n >\n <Icon\n type={IconTypes.THUMBNAIL_NONE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n </div>\n }\n />\n </div>;\n })\n }\n </ImageGrid>\n </>\n );\n}\n"],"names":["ImageGrid","_ref","_message$reactions","children","className","message","isReactionEnabled","React","createElement","getClassName","reactions","length","useThreadMessageKindKeySelector","threadMessageKind","isMobile","threadMessageKindKey","useMemo","match","with","ThreadMessageKind","PARENT","CHILD","otherwise","GRID_WIDTH_CHAT_WEB","GRID_SIDE_PADDING","GRID_GAP","TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","PROFILE_IMAGE_WIDTH","CHAT_MOBILE_SIDE_PADDING","THREAD_PARENT_WIDTH","THREAD_PARENT_SIDE_PADDING","THREAD_PARENT_GRID_MARGIN_LEFT","THREAD_CHILD_WIDTH","THREAD_CHILD_SIDE_PADDING","THREAD_CHILD_MOBILE_SIDE_PADDING","THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","MULTIPLE_FILES_IMAGE_SIDE_LENGTH","CHAT_WEB","CHAT_MOBILE","THREAD_PARENT_WEB","THREAD_PARENT_MOBILE","THREAD_CHILD_WEB","THREAD_CHILD_MOBILE","MULTIPLE_FILES_IMAGE_BORDER_RADIUS","MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH","MultipleFilesMessageItemBody","useMediaQueryContext","fileInfoList","useState","currentIndex","setCurrentIndex","onClose","onClickLeft","onClickRight","Fragment","FileViewer","map","fileInfo","index","onClick","key","plainUrl","ImageRenderer","url","fixedSize","width","maxSideLength","height","borderRadius","shadeOnHover","isGif","isGifFileInfo","defaultComponent","Icon","type","IconTypes","THUMBNAIL_NONE","fillColor","IconColors","ON_BACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"index-b4df1d17.js","sources":["../../src/ui/ImageGrid/index.tsx","../../src/ui/MultipleFilesMessageItemBody/useThreadMessageKindKeySelector.ts","../../src/ui/MultipleFilesMessageItemBody/const.ts","../../src/ui/MultipleFilesMessageItemBody/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport './index.scss';\nimport { getClassName } from '../../utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\ninterface ImageGridProps {\n children: ReactElement[];\n className?: string;\n message: MultipleFilesMessage;\n isReactionEnabled?: boolean;\n}\n\nexport default function ImageGrid({\n children,\n className,\n message,\n isReactionEnabled,\n}: ImageGridProps): ReactElement {\n return (\n <div className='sendbird-image-grid-wrap'>\n <div className={getClassName([\n className,\n 'sendbird-image-grid',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n { children }\n </div>\n </div>\n );\n}\n","import { useMemo } from 'react';\nimport { ThreadMessageKind, ThreadMessageKindType } from './index';\nimport { match } from 'ts-pattern';\n\ninterface DynamicSideLengthProps {\n threadMessageKind: ThreadMessageKindType;\n isMobile: boolean;\n}\n\nexport function useThreadMessageKindKeySelector({\n threadMessageKind,\n isMobile,\n}: DynamicSideLengthProps): string {\n const threadMessageKindKey = useMemo(() => {\n return match(threadMessageKind)\n .with(ThreadMessageKind.PARENT, () => (isMobile\n ? 'THREAD_PARENT_MOBILE'\n : 'THREAD_PARENT_WEB'\n ))\n .with(ThreadMessageKind.CHILD, () => (isMobile\n ? 'THREAD_CHILD_MOBILE'\n : 'THREAD_CHILD_WEB'\n ))\n .otherwise(() => (isMobile\n ? 'CHAT_MOBILE'\n : 'CHAT_WEB'\n ));\n }, [isMobile, threadMessageKind]);\n return threadMessageKindKey;\n}\n","const GRID_WIDTH_CHAT_WEB = 400;\nconst GRID_SIDE_PADDING = 8;\nconst GRID_GAP = 4;\nconst TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 54;\nconst PROFILE_IMAGE_WIDTH = 40;\n\nconst CHAT_MOBILE_SIDE_PADDING = 48;\n\nconst THREAD_PARENT_WIDTH = 320;\nconst THREAD_PARENT_SIDE_PADDING = 28;\nconst THREAD_PARENT_GRID_MARGIN_LEFT = 12;\n\nconst THREAD_CHILD_WIDTH = 200;\nconst THREAD_CHILD_SIDE_PADDING = 8;\nconst THREAD_CHILD_MOBILE_SIDE_PADDING = 32;\nconst THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 60;\n\nexport const MULTIPLE_FILES_IMAGE_SIDE_LENGTH = {\n CHAT_WEB: `calc(${GRID_WIDTH_CHAT_WEB / 2}px - ${(GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n CHAT_MOBILE: `calc(50vw - ${(CHAT_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n THREAD_PARENT_WEB: `calc(${(THREAD_PARENT_WIDTH - (THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP)) / 2}px)`,\n THREAD_PARENT_MOBILE: `calc(50vw - ${(THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP) / 2}px)`,\n THREAD_CHILD_WEB: `calc(${(THREAD_CHILD_WIDTH - THREAD_CHILD_SIDE_PADDING - GRID_GAP) / 2}px)`,\n THREAD_CHILD_MOBILE: `calc(50vw - ${(THREAD_CHILD_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n};\nexport const MULTIPLE_FILES_IMAGE_BORDER_RADIUS = {\n CHAT_WEB: '6px',\n CHAT_MOBILE: '6px',\n THREAD_PARENT_WEB: '6px',\n THREAD_PARENT_MOBILE: '6px',\n THREAD_CHILD_WEB: '6px',\n THREAD_CHILD_MOBILE: '6px',\n};\nexport const MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH = '40px';\n","import React, { ReactElement, useState } from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport ImageRenderer from '../ImageRenderer';\nimport ImageGrid from '../ImageGrid';\nimport FileViewer from '../FileViewer';\nimport './index.scss';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport { useThreadMessageKindKeySelector } from './useThreadMessageKindKeySelector';\nimport {\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS,\n MULTIPLE_FILES_IMAGE_SIDE_LENGTH,\n MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,\n} from './const';\nimport { isGifFileInfo } from '../../utils';\n\nexport const ThreadMessageKind = {\n PARENT: 'parent',\n CHILD: 'child',\n} as const;\n\nexport type ThreadMessageKindType = typeof ThreadMessageKind[keyof typeof ThreadMessageKind];\n\ninterface Props {\n className?: string;\n message: MultipleFilesMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n truncateLimit?: number;\n threadMessageKind?: ThreadMessageKindType;\n}\n\nexport default function MultipleFilesMessageItemBody({\n className,\n message,\n isReactionEnabled = false,\n threadMessageKind,\n}: Props): ReactElement {\n const { isMobile } = useMediaQueryContext();\n const [fileInfoList] = useState<UploadedFileInfo[]>(message.fileInfoList);\n const threadMessageKindKey = useThreadMessageKindKeySelector({ threadMessageKind, isMobile });\n const [currentIndex, setCurrentIndex] = useState(-1);\n\n function onClose() {\n setCurrentIndex(-1);\n }\n\n function onClickLeft() {\n setCurrentIndex(\n currentIndex === 0\n ? fileInfoList.length - 1\n : currentIndex - 1,\n );\n }\n\n function onClickRight() {\n setCurrentIndex(\n currentIndex === fileInfoList.length - 1\n ? 0\n : currentIndex + 1,\n );\n }\n\n return threadMessageKindKey && (\n <>\n {\n currentIndex > -1 && (\n <FileViewer\n message={message}\n currentIndex={currentIndex}\n onClickLeft={onClickLeft}\n onClickRight={onClickRight}\n onClose={onClose}\n />\n )\n }\n <ImageGrid\n className={className}\n message={message}\n isReactionEnabled={isReactionEnabled}\n >\n {\n fileInfoList.map((fileInfo: UploadedFileInfo, index: number) => {\n return <div\n className='sendbird-multiple-files-image-renderer-wrapper'\n onClick={() => setCurrentIndex(index)}\n key={`sendbird-multiple-files-image-renderer-${index}-${fileInfo.plainUrl}`}\n >\n <ImageRenderer\n url={fileInfo.url}\n fixedSize={false}\n width={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n maxSideLength={MULTIPLE_FILES_IMAGE_SIDE_LENGTH.CHAT_WEB}\n height={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n borderRadius={MULTIPLE_FILES_IMAGE_BORDER_RADIUS[threadMessageKindKey]}\n shadeOnHover={true}\n isGif={isGifFileInfo(fileInfo)}\n defaultComponent={\n <div\n className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\"\n >\n <Icon\n type={IconTypes.THUMBNAIL_NONE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n </div>\n }\n />\n </div>;\n })\n }\n </ImageGrid>\n </>\n );\n}\n"],"names":["ImageGrid","_ref","_message$reactions","children","className","message","isReactionEnabled","React","createElement","getClassName","reactions","length","useThreadMessageKindKeySelector","threadMessageKind","isMobile","threadMessageKindKey","useMemo","match","with","ThreadMessageKind","PARENT","CHILD","otherwise","GRID_WIDTH_CHAT_WEB","GRID_SIDE_PADDING","GRID_GAP","TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","PROFILE_IMAGE_WIDTH","CHAT_MOBILE_SIDE_PADDING","THREAD_PARENT_WIDTH","THREAD_PARENT_SIDE_PADDING","THREAD_PARENT_GRID_MARGIN_LEFT","THREAD_CHILD_WIDTH","THREAD_CHILD_SIDE_PADDING","THREAD_CHILD_MOBILE_SIDE_PADDING","THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","MULTIPLE_FILES_IMAGE_SIDE_LENGTH","CHAT_WEB","CHAT_MOBILE","THREAD_PARENT_WEB","THREAD_PARENT_MOBILE","THREAD_CHILD_WEB","THREAD_CHILD_MOBILE","MULTIPLE_FILES_IMAGE_BORDER_RADIUS","MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH","MultipleFilesMessageItemBody","useMediaQueryContext","fileInfoList","useState","currentIndex","setCurrentIndex","onClose","onClickLeft","onClickRight","Fragment","FileViewer","map","fileInfo","index","onClick","key","plainUrl","ImageRenderer","url","fixedSize","width","maxSideLength","height","borderRadius","shadeOnHover","isGif","isGifFileInfo","defaultComponent","Icon","type","IconTypes","THUMBNAIL_NONE","fillColor","IconColors","ON_BACKGROUND_2"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-de4da1f2.js');
3
+ var index = require('./index-ec0d0086.js');
4
4
 
5
5
  /**
6
6
  * @name startOfDay
@@ -65,4 +65,4 @@ function isSameDay(dirtyDateLeft, dirtyDateRight) {
65
65
  }
66
66
 
67
67
  exports.isSameDay = isSameDay;
68
- //# sourceMappingURL=index-03655429.js.map
68
+ //# sourceMappingURL=index-ba34ece6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-03655429.js","sources":["../../node_modules/date-fns/esm/startOfDay/index.js","../../node_modules/date-fns/esm/isSameDay/index.js"],"sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}"],"names":["requiredArgs","toDate"],"mappings":";;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,SAAS,EAAE;AAC9C,EAAEA,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,IAAI,GAAGC,YAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE;AACjE,EAAED,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACrD,EAAE,IAAI,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACxE;;;;"}
1
+ {"version":3,"file":"index-ba34ece6.js","sources":["../../node_modules/date-fns/esm/startOfDay/index.js","../../node_modules/date-fns/esm/isSameDay/index.js"],"sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}"],"names":["requiredArgs","toDate"],"mappings":";;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,SAAS,EAAE;AAC9C,EAAEA,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,IAAI,GAAGC,YAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE;AACjE,EAAED,kBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACrD,EAAE,IAAI,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACxE;;;;"}
@@ -2,10 +2,10 @@
2
2
 
3
3
  var React = require('react');
4
4
  var ui_ContextMenu = require('./ui/ContextMenu.js');
5
- var index = require('./index-613acaa0.js');
6
- var LocalizationContext = require('./LocalizationContext-eb7a59da.js');
5
+ var index = require('./index-ccda67ff.js');
6
+ var LocalizationContext = require('./LocalizationContext-40eb7c9d.js');
7
7
  var ui_Icon = require('./ui/Icon.js');
8
- var ui_Label = require('./index-f40c4cf0.js');
8
+ var ui_Label = require('./index-e70a2323.js');
9
9
  var ui_BottomSheet = require('./ui/BottomSheet.js');
10
10
  var ui_ImageRenderer = require('./ui/ImageRenderer.js');
11
11
  var ui_ReactionButton = require('./ui/ReactionButton.js');
@@ -453,4 +453,4 @@ const MobileMenu = props => {
453
453
  };
454
454
 
455
455
  exports.MobileMenu = MobileMenu;
456
- //# sourceMappingURL=index-1f796e5a.js.map
456
+ //# sourceMappingURL=index-be727556.js.map