@sendbird/uikit-react 3.4.0 → 3.4.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/App.js +40 -40
  2. package/CHANGELOG.md +22 -0
  3. package/Channel/components/ChannelHeader.js +30 -28
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +42 -94
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +15 -15
  8. package/Channel/components/FrozenNotification.js +8 -6
  9. package/Channel/components/FrozenNotification.js.map +1 -1
  10. package/Channel/components/Message.js +162 -132
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +23 -23
  13. package/Channel/components/MessageList.js +169 -95
  14. package/Channel/components/MessageList.js.map +1 -1
  15. package/Channel/components/RemoveMessageModal.js +17 -17
  16. package/Channel/components/SuggestedMentionList.js +17 -17
  17. package/Channel/components/TypingIndicator.js +15 -15
  18. package/Channel/components/UnreadCount.js +14 -17
  19. package/Channel/components/UnreadCount.js.map +1 -1
  20. package/Channel/context.js +14 -14
  21. package/Channel.js +34 -34
  22. package/ChannelList/components/AddChannel.js +22 -17
  23. package/ChannelList/components/AddChannel.js.map +1 -1
  24. package/ChannelList/components/ChannelListHeader.js +7 -7
  25. package/ChannelList/components/ChannelListUI.js +29 -29
  26. package/ChannelList/components/ChannelPreview.js +28 -28
  27. package/ChannelList/components/ChannelPreview.js.map +1 -1
  28. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  29. package/ChannelList/context.js +8 -8
  30. package/ChannelList.js +29 -29
  31. package/{ChannelListProvider-442bea80.js → ChannelListProvider-9f51ca7a.js} +8 -8
  32. package/{ChannelListProvider-442bea80.js.map → ChannelListProvider-9f51ca7a.js.map} +1 -1
  33. package/{ChannelProvider-43d68897.js → ChannelProvider-19d75ee9.js} +13 -12
  34. package/ChannelProvider-19d75ee9.js.map +1 -0
  35. package/ChannelSettings/components/ChannelProfile.js +12 -12
  36. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  37. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  38. package/ChannelSettings/components/LeaveChannel.js +12 -12
  39. package/ChannelSettings/components/ModerationPanel.js +15 -15
  40. package/ChannelSettings/components/UserListItem.js +11 -11
  41. package/ChannelSettings/components/UserPanel.js +14 -14
  42. package/ChannelSettings/context.js +3 -3
  43. package/ChannelSettings.js +18 -18
  44. package/CreateChannel/components/CreateChannelUI.js +14 -14
  45. package/CreateChannel/components/InviteUsers.js +14 -14
  46. package/CreateChannel/components/SelectChannelType.js +11 -11
  47. package/CreateChannel/context.js +4 -4
  48. package/CreateChannel.js +14 -14
  49. package/{CreateChannelProvider-62afdf07.js → CreateChannelProvider-4a26fc5d.js} +1 -1
  50. package/{CreateChannelProvider-62afdf07.js.map → CreateChannelProvider-4a26fc5d.js.map} +1 -1
  51. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  52. package/CreateOpenChannel/context.js +1 -1
  53. package/CreateOpenChannel.js +10 -10
  54. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  55. package/EditUserProfile.js +13 -13
  56. package/{LocalizationContext-83ddce67.js → LocalizationContext-646420ca.js} +3 -3
  57. package/{LocalizationContext-83ddce67.js.map → LocalizationContext-646420ca.js.map} +1 -1
  58. package/{MediaQueryContext-010e9df0.js → MediaQueryContext-1441c35c.js} +1 -1
  59. package/{MediaQueryContext-010e9df0.js.map → MediaQueryContext-1441c35c.js.map} +1 -1
  60. package/{MemberList-299e055b.js → MemberList-e1088d7b.js} +5 -5
  61. package/{MemberList-299e055b.js.map → MemberList-e1088d7b.js.map} +1 -1
  62. package/MessageSearch/components/MessageSearchUI.js +12 -12
  63. package/MessageSearch/context.js +2 -2
  64. package/MessageSearch.js +12 -12
  65. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  66. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  67. package/OpenChannel/components/OpenChannelInput.js +15 -15
  68. package/OpenChannel/components/OpenChannelMessage.js +26 -22
  69. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  70. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  71. package/OpenChannel/components/OpenChannelUI.js +24 -24
  72. package/OpenChannel/context.js +9 -9
  73. package/OpenChannel.js +24 -24
  74. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  75. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  76. package/OpenChannelList/context.js +4 -4
  77. package/OpenChannelList.js +13 -13
  78. package/{OpenChannelListProvider-2d811cef.js → OpenChannelListProvider-76b2bc47.js} +3 -3
  79. package/{OpenChannelListProvider-2d811cef.js.map → OpenChannelListProvider-76b2bc47.js.map} +1 -1
  80. package/{OpenChannelProvider-7aef2b42.js → OpenChannelProvider-de0549fc.js} +7 -7
  81. package/{OpenChannelProvider-7aef2b42.js.map → OpenChannelProvider-de0549fc.js.map} +1 -1
  82. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  83. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  84. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  85. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  86. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  87. package/OpenChannelSettings/context.js +3 -3
  88. package/OpenChannelSettings.js +18 -18
  89. package/{RemoveMessageModal-1ca08354.js → RemoveMessageModal-c25f1f20.js} +3 -3
  90. package/{RemoveMessageModal-1ca08354.js.map → RemoveMessageModal-c25f1f20.js.map} +1 -1
  91. package/SendbirdProvider.js +12 -12
  92. package/SendbirdProvider.js.map +1 -1
  93. package/Thread/components/ParentMessageInfo.js +24 -24
  94. package/Thread/components/ParentMessageInfoItem.js +16 -16
  95. package/Thread/components/ThreadHeader.js +6 -6
  96. package/Thread/components/ThreadList.js +27 -27
  97. package/Thread/components/ThreadListItem.js +39 -38
  98. package/Thread/components/ThreadListItem.js.map +1 -1
  99. package/Thread/components/ThreadMessageInput.js +24 -24
  100. package/Thread/components/ThreadUI.js +31 -31
  101. package/Thread/context.js +9 -9
  102. package/Thread.js +31 -31
  103. package/{ThreadProvider-94605d33.js → ThreadProvider-0ebc9c60.js} +7 -7
  104. package/{ThreadProvider-94605d33.js.map → ThreadProvider-0ebc9c60.js.map} +1 -1
  105. package/{UserProfileContext-236a8db5.js → UserProfileContext-eb7f4891.js} +1 -1
  106. package/{UserProfileContext-236a8db5.js.map → UserProfileContext-eb7f4891.js.map} +1 -1
  107. package/{VoiceMessageInputWrapper-8d50dc6c.js → VoiceMessageInputWrapper-c0ac4f9c.js} +7 -7
  108. package/{VoiceMessageInputWrapper-8d50dc6c.js.map → VoiceMessageInputWrapper-c0ac4f9c.js.map} +1 -1
  109. package/VoicePlayer/context.js +3 -3
  110. package/VoicePlayer/useVoicePlayer.js +3 -3
  111. package/VoiceRecorder/context.js +1 -1
  112. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  113. package/{_rollupPluginBabelHelpers-b0efb0e7.js → _rollupPluginBabelHelpers-5827233e.js} +1 -1
  114. package/_rollupPluginBabelHelpers-5827233e.js.map +1 -0
  115. package/{actionTypes-42a0e7a6.js → actionTypes-42080a5c.js} +1 -1
  116. package/{actionTypes-42a0e7a6.js.map → actionTypes-42080a5c.js.map} +1 -1
  117. package/cjs/App.js +40 -40
  118. package/cjs/Channel/components/ChannelHeader.js +30 -28
  119. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  120. package/cjs/Channel/components/ChannelUI.js +41 -93
  121. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  122. package/cjs/Channel/components/FileViewer.js +15 -15
  123. package/cjs/Channel/components/FrozenNotification.js +8 -6
  124. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  125. package/cjs/Channel/components/Message.js +161 -131
  126. package/cjs/Channel/components/Message.js.map +1 -1
  127. package/cjs/Channel/components/MessageInput.js +23 -23
  128. package/cjs/Channel/components/MessageList.js +168 -94
  129. package/cjs/Channel/components/MessageList.js.map +1 -1
  130. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  131. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  132. package/cjs/Channel/components/TypingIndicator.js +15 -15
  133. package/cjs/Channel/components/UnreadCount.js +14 -17
  134. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  135. package/cjs/Channel/context.js +14 -14
  136. package/cjs/Channel.js +34 -34
  137. package/cjs/ChannelList/components/AddChannel.js +22 -17
  138. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  139. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  140. package/cjs/ChannelList/components/ChannelListUI.js +29 -29
  141. package/cjs/ChannelList/components/ChannelPreview.js +28 -28
  142. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  143. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  144. package/cjs/ChannelList/context.js +8 -8
  145. package/cjs/ChannelList.js +29 -29
  146. package/cjs/{ChannelListProvider-c2da1fdd.js → ChannelListProvider-f0ae2b2b.js} +8 -8
  147. package/cjs/{ChannelListProvider-c2da1fdd.js.map → ChannelListProvider-f0ae2b2b.js.map} +1 -1
  148. package/cjs/{ChannelProvider-d207316d.js → ChannelProvider-7a4dc56f.js} +12 -12
  149. package/cjs/ChannelProvider-7a4dc56f.js.map +1 -0
  150. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  151. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  152. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  153. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  154. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  155. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  156. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  157. package/cjs/ChannelSettings/context.js +3 -3
  158. package/cjs/ChannelSettings.js +18 -18
  159. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  160. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  161. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  162. package/cjs/CreateChannel/context.js +4 -4
  163. package/cjs/CreateChannel.js +14 -14
  164. package/cjs/{CreateChannelProvider-02349744.js → CreateChannelProvider-f93f94ce.js} +1 -1
  165. package/cjs/{CreateChannelProvider-02349744.js.map → CreateChannelProvider-f93f94ce.js.map} +1 -1
  166. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  167. package/cjs/CreateOpenChannel/context.js +1 -1
  168. package/cjs/CreateOpenChannel.js +10 -10
  169. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  170. package/cjs/EditUserProfile.js +13 -13
  171. package/cjs/{LocalizationContext-a60a75a7.js → LocalizationContext-c7dba320.js} +3 -3
  172. package/cjs/{LocalizationContext-a60a75a7.js.map → LocalizationContext-c7dba320.js.map} +1 -1
  173. package/cjs/{MediaQueryContext-5d0a1ebc.js → MediaQueryContext-c21176c2.js} +1 -1
  174. package/cjs/{MediaQueryContext-5d0a1ebc.js.map → MediaQueryContext-c21176c2.js.map} +1 -1
  175. package/cjs/{MemberList-4c6bb907.js → MemberList-8beacafe.js} +5 -5
  176. package/cjs/{MemberList-4c6bb907.js.map → MemberList-8beacafe.js.map} +1 -1
  177. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  178. package/cjs/MessageSearch/context.js +2 -2
  179. package/cjs/MessageSearch.js +12 -12
  180. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  181. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  182. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  183. package/cjs/OpenChannel/components/OpenChannelMessage.js +26 -22
  184. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  185. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  186. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  187. package/cjs/OpenChannel/context.js +9 -9
  188. package/cjs/OpenChannel.js +24 -24
  189. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  190. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  191. package/cjs/OpenChannelList/context.js +4 -4
  192. package/cjs/OpenChannelList.js +13 -13
  193. package/cjs/{OpenChannelListProvider-5a949d98.js → OpenChannelListProvider-be9e4a7a.js} +3 -3
  194. package/cjs/{OpenChannelListProvider-5a949d98.js.map → OpenChannelListProvider-be9e4a7a.js.map} +1 -1
  195. package/cjs/{OpenChannelProvider-7c843439.js → OpenChannelProvider-48f2c689.js} +7 -7
  196. package/cjs/{OpenChannelProvider-7c843439.js.map → OpenChannelProvider-48f2c689.js.map} +1 -1
  197. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  198. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  199. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  200. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  201. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  202. package/cjs/OpenChannelSettings/context.js +3 -3
  203. package/cjs/OpenChannelSettings.js +18 -18
  204. package/cjs/{RemoveMessageModal-a069ff52.js → RemoveMessageModal-a2906376.js} +3 -3
  205. package/cjs/{RemoveMessageModal-a069ff52.js.map → RemoveMessageModal-a2906376.js.map} +1 -1
  206. package/cjs/SendbirdProvider.js +12 -12
  207. package/cjs/SendbirdProvider.js.map +1 -1
  208. package/cjs/Thread/components/ParentMessageInfo.js +24 -24
  209. package/cjs/Thread/components/ParentMessageInfoItem.js +16 -16
  210. package/cjs/Thread/components/ThreadHeader.js +6 -6
  211. package/cjs/Thread/components/ThreadList.js +27 -27
  212. package/cjs/Thread/components/ThreadListItem.js +39 -38
  213. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  214. package/cjs/Thread/components/ThreadMessageInput.js +24 -24
  215. package/cjs/Thread/components/ThreadUI.js +31 -31
  216. package/cjs/Thread/context.js +9 -9
  217. package/cjs/Thread.js +31 -31
  218. package/cjs/{ThreadProvider-66fcc519.js → ThreadProvider-c69173ee.js} +7 -7
  219. package/cjs/{ThreadProvider-66fcc519.js.map → ThreadProvider-c69173ee.js.map} +1 -1
  220. package/cjs/{UserProfileContext-2ec6891e.js → UserProfileContext-55f0e6bb.js} +1 -1
  221. package/cjs/{UserProfileContext-2ec6891e.js.map → UserProfileContext-55f0e6bb.js.map} +1 -1
  222. package/cjs/{VoiceMessageInputWrapper-289e18f6.js → VoiceMessageInputWrapper-1f621f96.js} +7 -7
  223. package/cjs/{VoiceMessageInputWrapper-289e18f6.js.map → VoiceMessageInputWrapper-1f621f96.js.map} +1 -1
  224. package/cjs/VoicePlayer/context.js +3 -3
  225. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  226. package/cjs/VoiceRecorder/context.js +1 -1
  227. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  228. package/cjs/{_rollupPluginBabelHelpers-24f49f41.js → _rollupPluginBabelHelpers-53067984.js} +1 -1
  229. package/cjs/_rollupPluginBabelHelpers-53067984.js.map +1 -0
  230. package/cjs/{actionTypes-31463602.js → actionTypes-6116824d.js} +1 -1
  231. package/cjs/{actionTypes-31463602.js.map → actionTypes-6116824d.js.map} +1 -1
  232. package/cjs/{color-7144c59e.js → color-9ec8fac6.js} +1 -1
  233. package/cjs/{color-7144c59e.js.map → color-9ec8fac6.js.map} +1 -1
  234. package/cjs/{compareIds-b3e3cffc.js → compareIds-d6461851.js} +1 -1
  235. package/cjs/{compareIds-b3e3cffc.js.map → compareIds-d6461851.js.map} +1 -1
  236. package/cjs/{const-21424d05.js → const-1f3d1ae1.js} +1 -1
  237. package/cjs/{const-21424d05.js.map → const-1f3d1ae1.js.map} +1 -1
  238. package/cjs/{const-d6a997ec.js → const-3d3ea5a6.js} +3 -1
  239. package/cjs/const-3d3ea5a6.js.map +1 -0
  240. package/cjs/{consts-47e4d487.js → consts-a7f5f91d.js} +1 -1
  241. package/cjs/{consts-47e4d487.js.map → consts-a7f5f91d.js.map} +1 -1
  242. package/cjs/{context-8cb8affd.js → context-5374df4e.js} +2 -2
  243. package/cjs/{context-8cb8affd.js.map → context-5374df4e.js.map} +1 -1
  244. package/cjs/dist/index.css +161 -141
  245. package/cjs/dist/index.css.map +1 -1
  246. package/cjs/{index-a1b754e9.js → index-082ae73e.js} +7 -7
  247. package/cjs/{index-a1b754e9.js.map → index-082ae73e.js.map} +1 -1
  248. package/cjs/{index-31f28d2f.js → index-4dc4e6b5.js} +4 -4
  249. package/cjs/{index-31f28d2f.js.map → index-4dc4e6b5.js.map} +1 -1
  250. package/cjs/{index-4c8c854d.js → index-5993f1e6.js} +3 -3
  251. package/cjs/{index-4c8c854d.js.map → index-5993f1e6.js.map} +1 -1
  252. package/cjs/{index-62b0b176.js → index-5fef7cd4.js} +7 -7
  253. package/cjs/{index-62b0b176.js.map → index-5fef7cd4.js.map} +1 -1
  254. package/cjs/{index-a3f2fc1e.js → index-7ee2031a.js} +3 -3
  255. package/cjs/{index-a3f2fc1e.js.map → index-7ee2031a.js.map} +1 -1
  256. package/cjs/{index-e97ad39a.js → index-84e17bfc.js} +2 -2
  257. package/cjs/{index-e97ad39a.js.map → index-84e17bfc.js.map} +1 -1
  258. package/cjs/{index-c65779c7.js → index-8e745dca.js} +2 -2
  259. package/cjs/{index-c65779c7.js.map → index-8e745dca.js.map} +1 -1
  260. package/cjs/{index-4678a454.js → index-9d41d610.js} +1 -1
  261. package/cjs/{index-4678a454.js.map → index-9d41d610.js.map} +1 -1
  262. package/cjs/{index-8ea5c90b.js → index-b583b8df.js} +5 -5
  263. package/cjs/{index-8ea5c90b.js.map → index-b583b8df.js.map} +1 -1
  264. package/cjs/{index-c77b4d21.js → index-bb8788c1.js} +2 -2
  265. package/cjs/{index-c77b4d21.js.map → index-bb8788c1.js.map} +1 -1
  266. package/cjs/{index-dbe73222.js → index-dbfa9e30.js} +4 -4
  267. package/cjs/{index-dbe73222.js.map → index-dbfa9e30.js.map} +1 -1
  268. package/cjs/{index-7f8189a8.js → index-e2cb4259.js} +2 -2
  269. package/cjs/{index-7f8189a8.js.map → index-e2cb4259.js.map} +1 -1
  270. package/cjs/{index-254f336f.js → index-ef4ab52a.js} +7 -5
  271. package/cjs/index-ef4ab52a.js.map +1 -0
  272. package/cjs/{index-987764bd.js → index-f0738051.js} +1 -1
  273. package/cjs/{index-987764bd.js.map → index-f0738051.js.map} +1 -1
  274. package/cjs/index.js +44 -44
  275. package/cjs/sendbirdSelectors.js +2 -2
  276. package/cjs/{stringSet-4ee01b87.js → stringSet-39f04718.js} +1 -1
  277. package/cjs/{stringSet-4ee01b87.js.map → stringSet-39f04718.js.map} +1 -1
  278. package/cjs/{topics-022da857.js → topics-5606f43e.js} +1 -1
  279. package/cjs/{topics-022da857.js.map → topics-5606f43e.js.map} +1 -1
  280. package/cjs/{tslib.es6-e6498d62.js → tslib.es6-aab6b54f.js} +1 -1
  281. package/cjs/{tslib.es6-e6498d62.js.map → tslib.es6-aab6b54f.js.map} +1 -1
  282. package/cjs/{types-aeca242a.js → types-45b8cd42.js} +1 -1
  283. package/cjs/{types-aeca242a.js.map → types-45b8cd42.js.map} +1 -1
  284. package/cjs/ui/Accordion.js +3 -3
  285. package/cjs/ui/AccordionGroup.js +2 -2
  286. package/cjs/ui/AdminMessage.js +3 -3
  287. package/cjs/ui/Avatar.js +2 -2
  288. package/cjs/ui/Badge.js +5 -5
  289. package/cjs/ui/BottomSheet.js +1 -1
  290. package/cjs/ui/Button.js +3 -3
  291. package/cjs/ui/ChannelAvatar.js +3 -3
  292. package/cjs/ui/ConnectionStatus.js +4 -4
  293. package/cjs/ui/ContextMenu.js +7 -6
  294. package/cjs/ui/ContextMenu.js.map +1 -1
  295. package/cjs/ui/DateSeparator.js +4 -4
  296. package/cjs/ui/EmojiReactions.js +7 -7
  297. package/cjs/ui/FileMessageItemBody.js +6 -6
  298. package/cjs/ui/FileViewer.js +8 -8
  299. package/cjs/ui/IconButton.js +1 -1
  300. package/cjs/ui/ImageRenderer.js +1 -1
  301. package/cjs/ui/Input.js +2 -2
  302. package/cjs/ui/Label.js +2 -2
  303. package/cjs/ui/LinkLabel.js +2 -2
  304. package/cjs/ui/Loader.js +1 -1
  305. package/cjs/ui/MentionLabel.js +11 -11
  306. package/cjs/ui/MessageContent.js +35 -34
  307. package/cjs/ui/MessageContent.js.map +1 -1
  308. package/cjs/ui/MessageInput.js +9 -9
  309. package/cjs/ui/MessageItemMenu.js +11 -11
  310. package/cjs/ui/MessageItemMenu.js.map +1 -1
  311. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  312. package/cjs/ui/MessageSearchFileItem.js +10 -10
  313. package/cjs/ui/MessageSearchItem.js +9 -9
  314. package/cjs/ui/MessageStatus.js +10 -10
  315. package/cjs/ui/Modal.js +7 -7
  316. package/cjs/ui/OGMessageItemBody.js +11 -11
  317. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  318. package/cjs/ui/OpenChannelAvatar.js +6 -6
  319. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  320. package/cjs/ui/OpenchannelFileMessage.js +33 -27
  321. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  322. package/cjs/ui/OpenchannelOGMessage.js +32 -30
  323. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  324. package/cjs/ui/OpenchannelThumbnailMessage.js +35 -29
  325. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  326. package/cjs/ui/OpenchannelUserMessage.js +32 -30
  327. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  328. package/cjs/ui/PlaceHolder.js +6 -6
  329. package/cjs/ui/PlaybackTime.js +2 -2
  330. package/cjs/ui/QuoteMessage.js +6 -6
  331. package/cjs/ui/QuoteMessageInput.js +6 -6
  332. package/cjs/ui/ReactionBadge.js +3 -3
  333. package/cjs/ui/ReactionButton.js +1 -1
  334. package/cjs/ui/SortByRow.js +2 -2
  335. package/cjs/ui/TextButton.js +2 -2
  336. package/cjs/ui/TextMessageItemBody.js +11 -11
  337. package/cjs/ui/ThreadReplies.js +6 -6
  338. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  339. package/cjs/ui/Tooltip.js +3 -3
  340. package/cjs/ui/TooltipWrapper.js +1 -1
  341. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  342. package/cjs/ui/UserListItem.js +11 -11
  343. package/cjs/ui/UserProfile.js +10 -10
  344. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  345. package/cjs/ui/VoiceMessgeInput.js +8 -8
  346. package/cjs/ui/Word.js +11 -11
  347. package/cjs/{useLongPress-322218d9.js → useLongPress-9261da40.js} +3 -3
  348. package/cjs/{useLongPress-322218d9.js.map → useLongPress-9261da40.js.map} +1 -1
  349. package/cjs/useSendbirdStateContext.js +1 -1
  350. package/cjs/utils/message/isVoiceMessage.js +2 -2
  351. package/cjs/{utils-eb7febed.js → utils-1575dcd5.js} +1 -1
  352. package/cjs/{utils-eb7febed.js.map → utils-1575dcd5.js.map} +1 -1
  353. package/cjs/{utils-642928b9.js → utils-5ee973c5.js} +2 -2
  354. package/cjs/{utils-642928b9.js.map → utils-5ee973c5.js.map} +1 -1
  355. package/cjs/{utils-37fca8a6.js → utils-67a9f818.js} +1 -1
  356. package/cjs/{utils-37fca8a6.js.map → utils-67a9f818.js.map} +1 -1
  357. package/cjs/{utils-c95c0536.js → utils-acf605ed.js} +1 -1
  358. package/cjs/{utils-c95c0536.js.map → utils-acf605ed.js.map} +1 -1
  359. package/cjs/{uuid-74ed3d6f.js → uuid-7daa634b.js} +1 -1
  360. package/cjs/{uuid-74ed3d6f.js.map → uuid-7daa634b.js.map} +1 -1
  361. package/cjs/withSendbird.js +1 -1
  362. package/{color-1e2ee795.js → color-9754a8a3.js} +1 -1
  363. package/{color-1e2ee795.js.map → color-9754a8a3.js.map} +1 -1
  364. package/{compareIds-5ccbddc5.js → compareIds-5ff919a8.js} +1 -1
  365. package/{compareIds-5ccbddc5.js.map → compareIds-5ff919a8.js.map} +1 -1
  366. package/{const-8faafb2e.js → const-21dcd857.js} +3 -2
  367. package/const-21dcd857.js.map +1 -0
  368. package/{const-dc9e776d.js → const-7588ac16.js} +1 -1
  369. package/{const-dc9e776d.js.map → const-7588ac16.js.map} +1 -1
  370. package/{consts-36a3e18c.js → consts-20a8f693.js} +1 -1
  371. package/{consts-36a3e18c.js.map → consts-20a8f693.js.map} +1 -1
  372. package/{context-7f6e48a4.js → context-01308b37.js} +2 -2
  373. package/{context-7f6e48a4.js.map → context-01308b37.js.map} +1 -1
  374. package/dist/index.css +161 -141
  375. package/dist/index.css.map +1 -1
  376. package/{index-34aa10d1.js → index-100b143d.js} +2 -2
  377. package/{index-34aa10d1.js.map → index-100b143d.js.map} +1 -1
  378. package/{index-3fb2524a.js → index-1a8fa4cd.js} +4 -4
  379. package/{index-3fb2524a.js.map → index-1a8fa4cd.js.map} +1 -1
  380. package/{index-ba7daf9f.js → index-1de84663.js} +3 -3
  381. package/{index-ba7daf9f.js.map → index-1de84663.js.map} +1 -1
  382. package/{index-33f2cf64.js → index-2e23c452.js} +2 -2
  383. package/{index-33f2cf64.js.map → index-2e23c452.js.map} +1 -1
  384. package/{index-28d6891b.js → index-3e5cbf80.js} +7 -7
  385. package/{index-28d6891b.js.map → index-3e5cbf80.js.map} +1 -1
  386. package/{index-5f7a15e3.js → index-44342614.js} +1 -1
  387. package/{index-5f7a15e3.js.map → index-44342614.js.map} +1 -1
  388. package/{index-ece24db0.js → index-561ddd27.js} +2 -2
  389. package/{index-ece24db0.js.map → index-561ddd27.js.map} +1 -1
  390. package/{index-5eb9a836.js → index-5e057577.js} +1 -1
  391. package/{index-5eb9a836.js.map → index-5e057577.js.map} +1 -1
  392. package/{index-ba245747.js → index-82382d4a.js} +5 -5
  393. package/{index-ba245747.js.map → index-82382d4a.js.map} +1 -1
  394. package/{index-a66bf2c0.js → index-9e5cf819.js} +4 -4
  395. package/{index-a66bf2c0.js.map → index-9e5cf819.js.map} +1 -1
  396. package/{index-5258ee05.js → index-aa29a843.js} +2 -2
  397. package/{index-5258ee05.js.map → index-aa29a843.js.map} +1 -1
  398. package/{index-7e47ba7d.js → index-cebb1db7.js} +7 -5
  399. package/index-cebb1db7.js.map +1 -0
  400. package/{index-25d0ba0b.js → index-dc672161.js} +7 -7
  401. package/{index-25d0ba0b.js.map → index-dc672161.js.map} +1 -1
  402. package/{index-87ea8714.js → index-dd2a9d44.js} +3 -3
  403. package/{index-87ea8714.js.map → index-dd2a9d44.js.map} +1 -1
  404. package/index.d.ts +30 -22
  405. package/index.js +44 -44
  406. package/package.json +1 -1
  407. package/sendbirdSelectors.js +2 -2
  408. package/{stringSet-44be1369.js → stringSet-ea4aeced.js} +1 -1
  409. package/{stringSet-44be1369.js.map → stringSet-ea4aeced.js.map} +1 -1
  410. package/{topics-3f0db840.js → topics-2b0b1403.js} +1 -1
  411. package/{topics-3f0db840.js.map → topics-2b0b1403.js.map} +1 -1
  412. package/{tslib.es6-d163c646.js → tslib.es6-ca21063f.js} +1 -1
  413. package/{tslib.es6-d163c646.js.map → tslib.es6-ca21063f.js.map} +1 -1
  414. package/{types-490489b7.js → types-d5ea9376.js} +1 -1
  415. package/{types-490489b7.js.map → types-d5ea9376.js.map} +1 -1
  416. package/ui/Accordion.js +3 -3
  417. package/ui/AccordionGroup.js +2 -2
  418. package/ui/AdminMessage.js +3 -3
  419. package/ui/Avatar.js +2 -2
  420. package/ui/Badge.js +5 -5
  421. package/ui/BottomSheet.js +1 -1
  422. package/ui/Button.js +3 -3
  423. package/ui/ChannelAvatar.js +3 -3
  424. package/ui/ConnectionStatus.js +4 -4
  425. package/ui/ContextMenu.js +7 -6
  426. package/ui/ContextMenu.js.map +1 -1
  427. package/ui/DateSeparator.js +4 -4
  428. package/ui/EmojiReactions.js +7 -7
  429. package/ui/FileMessageItemBody.js +6 -6
  430. package/ui/FileViewer.js +8 -8
  431. package/ui/IconButton.js +1 -1
  432. package/ui/ImageRenderer.js +1 -1
  433. package/ui/Input.js +2 -2
  434. package/ui/Label.js +2 -2
  435. package/ui/LinkLabel.js +2 -2
  436. package/ui/Loader.js +1 -1
  437. package/ui/MentionLabel.js +11 -11
  438. package/ui/MessageContent.js +35 -34
  439. package/ui/MessageContent.js.map +1 -1
  440. package/ui/MessageInput.js +9 -9
  441. package/ui/MessageItemMenu.js +11 -11
  442. package/ui/MessageItemMenu.js.map +1 -1
  443. package/ui/MessageItemReactionMenu.js +5 -5
  444. package/ui/MessageSearchFileItem.js +10 -10
  445. package/ui/MessageSearchItem.js +9 -9
  446. package/ui/MessageStatus.js +10 -10
  447. package/ui/Modal.js +7 -7
  448. package/ui/OGMessageItemBody.js +11 -11
  449. package/ui/OpenChannelAdminMessage.js +3 -3
  450. package/ui/OpenChannelAvatar.js +6 -6
  451. package/ui/OpenchannelConversationHeader.js +6 -6
  452. package/ui/OpenchannelFileMessage.js +33 -27
  453. package/ui/OpenchannelFileMessage.js.map +1 -1
  454. package/ui/OpenchannelOGMessage.js +32 -30
  455. package/ui/OpenchannelOGMessage.js.map +1 -1
  456. package/ui/OpenchannelThumbnailMessage.js +35 -29
  457. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  458. package/ui/OpenchannelUserMessage.js +32 -30
  459. package/ui/OpenchannelUserMessage.js.map +1 -1
  460. package/ui/PlaceHolder.js +6 -6
  461. package/ui/PlaybackTime.js +2 -2
  462. package/ui/QuoteMessage.js +6 -6
  463. package/ui/QuoteMessageInput.js +6 -6
  464. package/ui/ReactionBadge.js +3 -3
  465. package/ui/ReactionButton.js +1 -1
  466. package/ui/SortByRow.js +2 -2
  467. package/ui/TextButton.js +2 -2
  468. package/ui/TextMessageItemBody.js +11 -11
  469. package/ui/ThreadReplies.js +6 -6
  470. package/ui/ThumbnailMessageItemBody.js +2 -2
  471. package/ui/Tooltip.js +3 -3
  472. package/ui/TooltipWrapper.js +1 -1
  473. package/ui/UnknownMessageItemBody.js +6 -6
  474. package/ui/UserListItem.js +11 -11
  475. package/ui/UserProfile.js +10 -10
  476. package/ui/VoiceMessageItemBody.js +5 -5
  477. package/ui/VoiceMessgeInput.js +8 -8
  478. package/ui/Word.js +11 -11
  479. package/{useLongPress-a05b8d13.js → useLongPress-0dccc5ca.js} +3 -3
  480. package/{useLongPress-a05b8d13.js.map → useLongPress-0dccc5ca.js.map} +1 -1
  481. package/useSendbirdStateContext.js +1 -1
  482. package/utils/message/isVoiceMessage.js +2 -2
  483. package/{utils-e96969ad.js → utils-2088448e.js} +1 -1
  484. package/{utils-e96969ad.js.map → utils-2088448e.js.map} +1 -1
  485. package/{utils-49a0dde3.js → utils-3f271584.js} +1 -1
  486. package/{utils-49a0dde3.js.map → utils-3f271584.js.map} +1 -1
  487. package/{utils-3a9b2a5b.js → utils-a4003ad3.js} +1 -1
  488. package/{utils-3a9b2a5b.js.map → utils-a4003ad3.js.map} +1 -1
  489. package/{utils-14105f2b.js → utils-a9e361cf.js} +2 -2
  490. package/{utils-14105f2b.js.map → utils-a9e361cf.js.map} +1 -1
  491. package/{uuid-bf5599d8.js → uuid-e2d2f65c.js} +1 -1
  492. package/{uuid-bf5599d8.js.map → uuid-e2d2f65c.js.map} +1 -1
  493. package/withSendbird.js +1 -1
  494. package/ChannelProvider-43d68897.js.map +0 -1
  495. package/_rollupPluginBabelHelpers-b0efb0e7.js.map +0 -1
  496. package/cjs/ChannelProvider-d207316d.js.map +0 -1
  497. package/cjs/_rollupPluginBabelHelpers-24f49f41.js.map +0 -1
  498. package/cjs/const-d6a997ec.js.map +0 -1
  499. package/cjs/index-254f336f.js.map +0 -1
  500. package/const-8faafb2e.js.map +0 -1
  501. package/index-7e47ba7d.js.map +0 -1
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-e6498d62.js');
3
+ var tslib_es6 = require('./tslib.es6-aab6b54f.js');
4
4
  var React = require('react');
5
- var index$1 = require('./index-7f8189a8.js');
5
+ var index$1 = require('./index-e2cb4259.js');
6
6
  var ui_Icon = require('./ui/Icon.js');
7
- var ui_Label = require('./index-e97ad39a.js');
7
+ var ui_Label = require('./index-84e17bfc.js');
8
8
  var ui_Loader = require('./ui/Loader.js');
9
- var index$2 = require('./index-c65779c7.js');
9
+ var index$2 = require('./index-8e745dca.js');
10
10
  var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
11
- var index = require('./index-a3f2fc1e.js');
12
- var LocalizationContext = require('./LocalizationContext-a60a75a7.js');
11
+ var index = require('./index-7ee2031a.js');
12
+ var LocalizationContext = require('./LocalizationContext-c7dba320.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
@@ -154,4 +154,4 @@ exports.getChannelUnreadMessageCount = getChannelUnreadMessageCount;
154
154
  exports.getLastMessage = getLastMessage;
155
155
  exports.getLastMessageCreatedAt = getLastMessageCreatedAt;
156
156
  exports.getTotalMembers = getTotalMembers;
157
- //# sourceMappingURL=index-a1b754e9.js.map
157
+ //# sourceMappingURL=index-082ae73e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-a1b754e9.js","sources":["../../src/smart-components/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport { isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../smart-components/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_a","className","_e","isDateSeparatorConsidered","_f","useLocalization","dateLocale","status","getOutgoingMessageState","hideMessageStatusIcon","_d","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","_b","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","_c","IconColors","React","__spreadArray","Array","isArray","Loader","Icon","SPINNER","PRIMARY","concat","isSentStatus","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"index-082ae73e.js","sources":["../../src/smart-components/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport { isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../smart-components/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_a","className","_e","isDateSeparatorConsidered","_f","useLocalization","dateLocale","status","getOutgoingMessageState","hideMessageStatusIcon","_d","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","_b","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","_c","IconColors","React","__spreadArray","Array","isArray","Loader","Icon","SPINNER","PRIMARY","concat","isSentStatus","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
@@ -5,9 +5,9 @@ var ui_PlaybackTime = require('./ui/PlaybackTime.js');
5
5
  var ui_ProgressBar = require('./ui/ProgressBar.js');
6
6
  var ui_TextButton = require('./ui/TextButton.js');
7
7
  var ui_Icon = require('./ui/Icon.js');
8
- var ui_Label = require('./index-e97ad39a.js');
9
- var LocalizationContext = require('./LocalizationContext-a60a75a7.js');
10
- var consts = require('./consts-47e4d487.js');
8
+ var ui_Label = require('./index-84e17bfc.js');
9
+ var LocalizationContext = require('./LocalizationContext-c7dba320.js');
10
+ var consts = require('./consts-a7f5f91d.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -175,4 +175,4 @@ var VoiceMessageInput = function (_a) {
175
175
 
176
176
  exports.VoiceMessageInput = VoiceMessageInput;
177
177
  exports.VoiceMessageInputStatus = VoiceMessageInputStatus;
178
- //# sourceMappingURL=index-31f28d2f.js.map
178
+ //# sourceMappingURL=index-4dc4e6b5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-31f28d2f.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["export const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_a","inputState","React","Icon","IconTypes","PLAY","IconColors","ON_BACKGROUND_1","VoiceMessageInput","_b","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","_c","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","_d","useState","lastClickTime","setLastClickTime","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","PlaybackTime","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","Label","LabelTypography","BUTTON_1","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
1
+ {"version":3,"file":"index-4dc4e6b5.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["export const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_a","inputState","React","Icon","IconTypes","PLAY","IconColors","ON_BACKGROUND_1","VoiceMessageInput","_b","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","_c","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","_d","useState","lastClickTime","setLastClickTime","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","PlaybackTime","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","Label","LabelTypography","BUTTON_1","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var tslib_es6 = require('./tslib.es6-e6498d62.js');
5
- var consts = require('./consts-47e4d487.js');
4
+ var tslib_es6 = require('./tslib.es6-aab6b54f.js');
5
+ var consts = require('./consts-a7f5f91d.js');
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -277,4 +277,4 @@ exports.AudioUnitDefaultValue = AudioUnitDefaultValue;
277
277
  exports.VoicePlayerProvider = VoicePlayerProvider;
278
278
  exports.VoicePlayerStatus = VoicePlayerStatus;
279
279
  exports.useVoicePlayerContext = useVoicePlayerContext;
280
- //# sourceMappingURL=index-4c8c854d.js.map
280
+ //# sourceMappingURL=index-5993f1e6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-4c8c854d.js","sources":["../../src/hooks/VoicePlayer/dux/actionTypes.ts","../../src/hooks/VoicePlayer/dux/initialState.ts","../../src/hooks/VoicePlayer/dux/reducer.ts","../../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["export const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\ntype ObjectValues<T> = T[keyof T];\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: {\n groupKey,\n },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: {\n groupKey,\n audioFile,\n },\n });\n };\n audioPlayer.onpause = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: {\n groupKey,\n audioPlayer,\n },\n });\n })\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","text","includes","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"index-5993f1e6.js","sources":["../../src/hooks/VoicePlayer/dux/actionTypes.ts","../../src/hooks/VoicePlayer/dux/initialState.ts","../../src/hooks/VoicePlayer/dux/reducer.ts","../../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["export const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\ntype ObjectValues<T> = T[keyof T];\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: {\n groupKey,\n },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: {\n groupKey,\n audioFile,\n },\n });\n };\n audioPlayer.onpause = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: {\n groupKey,\n audioPlayer,\n },\n });\n })\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","text","includes","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-e6498d62.js');
3
+ var tslib_es6 = require('./tslib.es6-aab6b54f.js');
4
4
  var React = require('react');
5
5
  var ui_Button = require('./ui/Button.js');
6
6
  var ui_ContextMenu = require('./ui/ContextMenu.js');
7
7
  var ui_Icon = require('./ui/Icon.js');
8
8
  var ui_IconButton = require('./ui/IconButton.js');
9
- var ui_Label = require('./index-e97ad39a.js');
10
- var LocalizationContext = require('./LocalizationContext-a60a75a7.js');
11
- var UserProfileContext = require('./UserProfileContext-2ec6891e.js');
12
- require('./context-8cb8affd.js');
9
+ var ui_Label = require('./index-84e17bfc.js');
10
+ var LocalizationContext = require('./LocalizationContext-c7dba320.js');
11
+ var UserProfileContext = require('./UserProfileContext-55f0e6bb.js');
12
+ require('./context-5374df4e.js');
13
13
  var ui_Avatar = require('./ui/Avatar.js');
14
14
  require('react-dom');
15
15
  var ui_UserProfile = require('./ui/UserProfile.js');
16
16
  require('@sendbird/chat/openChannel');
17
17
  var ui_Modal = require('./ui/Modal.js');
18
18
  var ui_UserListItem = require('./ui/UserListItem.js');
19
- var utils = require('./utils-c95c0536.js');
19
+ var utils = require('./utils-acf605ed.js');
20
20
  var OpenChannelSettings_context = require('./OpenChannelSettings/context.js');
21
21
  var useSendbirdStateContext = require('./useSendbirdStateContext.js');
22
22
 
@@ -357,4 +357,4 @@ function ParticipantList(_a) {
357
357
 
358
358
  exports.ParticipantList = ParticipantList;
359
359
  exports.UserListItem = UserListItem;
360
- //# sourceMappingURL=index-62b0b176.js.map
360
+ //# sourceMappingURL=index-5fef7cd4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-62b0b176.js","sources":["../../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../src/smart-components/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { 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) => {\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 >\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 channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\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 { User } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: User;\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 <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 )}\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 {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { 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: User) => {\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 refreshList();\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n })\n }\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 channel?.muteUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\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","_a","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","_e","useState","participants","setParticipants","_f","participantListQuery","setParticipantListQuery","userId","_b","config","sdk","_d","_c","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","Modal","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","__spreadArray","map","p","UserListItem","currentUser","actionRef","parentRef","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","MenuItems","MenuItem","removeOperators","addOperators","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","muteUser","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","user","action","avatarRef","useRef","UserProfileContext","disableUserProfile","renderUserProfile","Avatar","profileUrl","paddingTop","paddingBottom","currentUserId","close","UserProfile","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","concat","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuBwB,SAAAA,iBAAA,CAAkBC,EAAlB,EAEhB;;;AADN,EAAA,IAAAC,QAAQ,GAAAD,EAAA,CAAAC,QAAR,CAAA;EAEA,IAAMC,KAAK,GAAGC,uBAAuB,EAArC,CAAA;AACQ,EAAA,IAAAC,OAAO,GAAKC,yDAA6B,EAAA,QAAzC,CAAA;AACA,EAAA,IAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd,CAAA;;AACF,EAAA,IAAAC,EAAA,GAAkCC,cAAQ,CAAqB,EAArB,CAA1C;AAAA,MAACC,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAb;AAAA,MAAeG,eAAe,GAAAH,EAAA,CAAA,CAAA,CAA9B,CAAA;;AACA,EAAA,IAAAI,EAAA,GAAkDH,cAAQ,CAA8B,IAA9B,CAA1D;AAAA,MAACI,oBAAoB,GAAAD,EAAA,CAAA,CAAA,CAArB;AAAA,MAAuBE,uBAAuB,GAAAF,EAAA,CAAA,CAAA,CAA9C,CAAA;;AACN,EAAA,IAAMG,MAAM,GAAG,CAAAC,EAAA,GAAAf,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEgB,MAAP,MAAe,IAAf,IAAeD,EAAA,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAeA,EAAA,CAAAD,MAA9B,CAAA;EACA,IAAMG,GAAG,GAAG,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAnB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEoB,MAAP,MAAa,IAAb,IAAaD,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAEE,QAAf,MAAuB,IAAvB,IAAuBH,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuBA,EAAA,CAAED,GAArC,CAAA;AACA,EAAA,IAAMK,cAAc,GAAGpB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEqB,UAAT,CAAoBT,MAApB,CAAvB,CAAA;AACAU,EAAAA,eAAS,CAAC,YAAA;IACR,IAAI,CAACtB,OAAD,IAAY,EAACA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEuB,0BAAV,CAAhB,EAAsD;AACpD,MAAA,OAAA;AACD,KAAA;;AACD,IAAA,IAAMb,oBAAoB,GAAGV,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEuB,0BAAT,CAAoC,EAApC,CAA7B,CAAA;IACAZ,uBAAuB,CAACD,oBAAD,CAAvB,CAAA;AACAA,IAAAA,oBAAoB,CAACc,IAArB,EAAA,CAA4BC,IAA5B,CAAiC,UAACC,eAAD,EAAgB;MAC/ClB,eAAe,CAACkB,eAAD,CAAf,CAAA;KADF,CAAA,CAAA;GANO,EASN,EATM,CAAT,CAAA;EAUA,oBACEC,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,eACEA,wCAACC,mBAAD,EAAA;AACE,IAAA,UAAU,EADZ,IAAA;AAEE,IAAA,oBAAoB,EAFtB,IAAA;AAGE,IAAA,QAAQ,EAAE,YAAA;AAAM,MAAA,OAAA/B,QAAQ,EAAR,CAAA;KAHlB;AAIE,IAAA,QAAQ,EAAEgC,UAJZ;IAKE,SAAS,EAAE3B,SAAS,CAAC4B,6CAAAA;GAErB,eAAAH,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,qCADZ;IAEE,QAAQ,EAAE,UAACI,CAAD,EAAE;AACF,MAAA,IAAAC,OAAO,GAAKtB,oBAAoB,CAAAsB,OAAhC,CAAA;AACR,MAAA,IAAMC,MAAM,GAAGF,CAAC,CAACE,MAAjB,CAAA;AACA,MAAA,IAAMC,SAAS,GACbD,MAAM,CAACE,YAAP,GAAsBF,MAAM,CAACG,SAA7B,KAA2CH,MAAM,CAACI,YADpD,CAAA;;MAIA,IAAIL,OAAO,IAAIE,SAAf,EAA0B;AACxBxB,QAAAA,oBAAoB,CAACc,IAArB,EAAA,CAA4BC,IAA5B,CAAiC,UAACa,mBAAD,EAAoB;AACnD9B,UAAAA,eAAe,CACV+B,uBAAA,CAAAA,uBAAA,CAAA,EAAA,EAAAhC,YAAA,EACA,IADA,CAAA,EACA+B,mBADA,MAAA,CADU,CAAf,CAAA;SADF,CAAA,CAAA;AAMD,OAAA;AACF,KAAA;AAjBH,GAAA,EAoBI/B,YAAY,CAACiC,GAAb,CAAiB,UAACC,CAAD,EAAE;;;IACjB,IAAMpB,UAAU,GAAGrB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEqB,UAAT,CAAoBoB,CAAC,CAAC7B,MAAtB,CAAnB,CAAA;AACA,IAAA,oBACEe,wCAACe,eAAD,EAAA;AACE,MAAA,IAAI,EAAED,CADR;MAEE,GAAG,EAAEA,CAAC,CAAC7B,MAFT;AAGE,MAAA,WAAW,EAAE,CAAAhB,EAAA,GAAAmB,GAAG,KAAH,IAAA,IAAAA,GAAG,WAAH,SAAA,GAAAA,GAAG,CAAE4B,WAAL,MAAkB,IAAlB,IAAkB/C,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAAgB,MAHjC;MAIE,MAAM,EACHA,MAAM,KAAK6B,CAAC,CAAC7B,MAAb,IAAuBQ,cAAxB,GACI,UAACxB,EAAD,EAAyB;YAAtBgD,SAAS,GAAAhD,EAAA,CAAAgD;YAAEC,SAAS,GAAAjD,EAAA,CAAAiD;AAAO,QAAA,oBAC9BlB,wCAACmB,yBAAD,EAAA;UACE,WAAW,EAAE,UAACC,cAAD,EAAoB;AAAA,YAAA,oBAC/BpB,wCAACqB,aAAD,EAAA;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAED,cAAAA;AAJX,aAAA,eAMEpB,wCAACsB,kBAAD,EAAA;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;cAGE,IAAI,EAAEC,iBAAS,CAACC,IAHlB;cAIE,SAAS,EAAEC,kBAAU,CAACC,eAAAA;AAJxB,aAAA,CANF,CAD+B,CAAA;WADnC;UAgBE,SAAS,EAAE,UAACC,aAAD,EAAc;AAAK,YAAA,oBAC5B3B,wCAAC4B,wBAAD,EAAA;AACE,cAAA,gBAAgB,EAAEV,SADpB;AAEE,cAAA,SAAS,EAAED,SAFb;AAGE,cAAA,aAAa,EAAEU,aAHjB;cAIE,QAAQ,EAAA,IAAA;AAJV,aAAA,eAME3B,wCAAC6B,uBAAD,EAAA;AACE,cAAA,OAAO,EAAE,YAAA;AACP,gBAAA,IAAInC,UAAJ,EAAgB;kBACdrB,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEyD,eAAT,CAAyB,CAAChB,CAAC,CAAC7B,MAAH,CAAzB,CAAA,CAAqCa,IAArC,CAA0C,YAAA;oBACxC6B,aAAa,EAAA,CAAA;AACd,mBAFD,CAAA,CAAA;AAGD,iBAJD,MAIO;kBACLtD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0D,YAAT,CAAsB,CAACjB,CAAC,CAAC7B,MAAH,CAAtB,CAAA,CAAkCa,IAAlC,CAAuC,YAAA;oBACrC6B,aAAa,EAAA,CAAA;AACd,mBAFD,CAAA,CAAA;AAGD,iBAAA;AACF,eAAA;AAXH,aAAA,EAcIjC,UAAU,GACNnB,SAAS,CAACyD,qDADJ,GAENzD,SAAS,CAAC0D,sDAhBlB,CANF,eAyBEjC,yBAAA,CAAA,aAAA,CAAC6B,uBAAD,EAAA;AACE,cAAA,OAAO,EAAE,YAAA;AACPxD,gBAAAA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE6D,QAAT,CAAkBpB,CAAlB,CAAqBhB,CAAAA,IAArB,CAA0B,YAAA;kBACxB6B,aAAa,EAAA,CAAA;AACd,iBAFD,CAAA,CAAA;AAGD,eAAA;AALH,aAAA,EAOGpD,SAAS,CAAC4D,sCAPb,CAzBF,eAkCEnC,wCAAC6B,uBAAD,EAAA;AACE,cAAA,OAAO,EAAE,YAAA;AACPxD,gBAAAA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE+D,OAAT,CAAiBtB,CAAjB,CAAoBhB,CAAAA,IAApB,CAAyB,YAAA;kBACvB6B,aAAa,EAAA,CAAA;AACd,iBAFD,CAAA,CAAA;AAGD,eAAA;AALH,aAAA,EAOGpD,SAAS,CAAC8D,qCAPb,CAlCF,CAD4B,CAAA;AA6C7B,WAAA;SA9D2B,CAAA,CAAA;AAgE/B,OAjEH,GAkEI,IAAA;KAxEV,CAAA,CAAA;GAFF,CApBJ,CAPF,CADF,CADF,CAAA;AAiHD;;AC3HYtB,IAAAA,YAAY,GAAgC,UAAC9C,EAAD,EAKrC;MAJlBqE,IAAI,GAAArE,EAAA,CAAAqE;MACJtB,WAAW,GAAA/C,EAAA,CAAA+C;MACXtB,UAAU,GAAAzB,EAAA,CAAAyB;MACV6C,MAAM,GAAAtE,EAAA,CAAAsE;AAEN,EAAA,IAAMC,SAAS,GAAGC,YAAM,CAAC,IAAD,CAAxB,CAAA;AACA,EAAA,IAAMxB,SAAS,GAAGwB,YAAM,CAAC,IAAD,CAAxB,CAAA;;AACM,EAAA,IAAAvD,EAAA,GAGFV,gBAAU,CAACkE,qCAAD,CAHR;AAAA,MACJC,kBAAkB,GAAAzD,EAAA,CAAAyD,kBADd;AAAA,MAEJC,iBAAiB,GAAA1D,EAAA,CAAA0D,iBAFb,CAAA;;AAIE,EAAA,IAAArE,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd,CAAA;EACR,oBACEuB,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;GACb,eAAAA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gDAAA;AAAf,GAAA,eACEA,wCAACmB,yBAAD,EAAA;IACE,WAAW,EAAE,UAACC,cAAD,EAAoB;AAAA,MAAA,oBAC/BpB,wCAAC6C,oBAAD,EAAA;AACE,QAAA,OAAO,EAAE,YAAA;UACP,IAAI,CAACF,kBAAL,EAAyB;YACvBvB,cAAc,EAAA,CAAA;AACf,WAAA;SAJL;AAME,QAAA,GAAG,EAAEoB,SANP;QAOE,GAAG,EAAEF,IAAI,CAACQ,UAPZ;AAQE,QAAA,KAAK,EAAE,EART;AASE,QAAA,MAAM,EAAE,EAAA;OAVqB,CAAA,CAAA;KADnC;IAcE,SAAS,EAAE,UAACnB,aAAD;AAAmB,MAAA,oBAC5B3B,wCAAC4B,wBAAD,EAAA;AACE,QAAA,QAAQ,EADV,IAAA;QAEE,SAAS,EAAEY,SAFb;AAAA;QAIE,gBAAgB,EAAEA,SAJpB;AAAA;AAME,QAAA,aAAa,EAAEb,aANjB;AAOE,QAAA,KAAK,EAAE;AAAEoB,UAAAA,UAAU,EAAE,KAAd;AAAqBC,UAAAA,aAAa,EAAE,KAAA;AAApC,SAAA;OAGLJ,EAAAA,iBAAiB,GACbA,iBAAiB,CAAC;AAClBN,QAAAA,IAAI,EAAEA,IADY;AAElBW,QAAAA,aAAa,EAAEjC,WAFG;AAGlBkC,QAAAA,KAAK,EAAEvB,aAAAA;OAHU,CADJ,gBAOb3B,yBAAA,CAAA,aAAA,CAACmD,cAAD,EAAA;AACE,QAAA,gBAAgB,EADlB,IAAA;AAEE,QAAA,IAAI,EAAEb,IAFR;AAGE,QAAA,aAAa,EAAEtB,WAHjB;AAIE,QAAA,SAAS,EAAEW,aAAAA;AAJb,OAAA,CAjBR,CAD4B,CAAA;AA2B7B,KAAA;GA1CL,CAAA,CADF,eA8CE3B,yBAAA,CAAA,aAAA,CAACoD,cAAD,EAAA;AACE,IAAA,SAAS,EAAC,gDADZ;IAEE,IAAI,EAAEC,wBAAe,CAACC,UAFxB;IAGE,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAHrB,GAAA,EAKGlB,IAAI,CAACmB,QAAL,IAAiBlF,SAAS,CAACmF,OAL9B,EAOK1C,WAAW,KAAKsB,IAAI,CAACrD,MAAtB,IACEV,SAAS,CAACoF,mCARhB,CA9CF;AA2DI,EAAA,CAACrB,IAAI,CAACmB,QAAN,iBACEzD,wCAACoD,cAAD,EAAA;AACE,IAAA,SAAS,EAAC,wDADZ;IAEE,IAAI,EAAEC,wBAAe,CAACO,SAFxB;IAGE,KAAK,EAAEL,oBAAW,CAACM,cAAAA;GAElBvB,EAAAA,IAAI,CAACrD,MALR,CA5DN,EAsEIS,UAAU,iBACRM,wCAACoD,cAAD,EAAA;IACE,SAAS,EACP,kEAAAU,CAAAA,MAAA,CACI,CAAAxB,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAErD,MAAN,MAAiB+B,WAAjB,GAA+B,UAA/B,GAA4C,EADhD,EACkD,oBADlD,CACkD8C,CAAAA,MADlD,CAEI,CAAAxB,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAErD,MAAN,MAAiB+B,WAAjB,GAA+B,eAA/B,GAAiD,EAFrD,EAGC,kBAHD,CAFJ;IAOE,IAAI,EAAEqC,wBAAe,CAACC,UAPxB;IAQE,KAAK,EAAEC,oBAAW,CAACM,cAAAA;AARrB,GAAA,EAUGtF,SAAS,CAACwF,wCAVb,CAvEN,EAsFIxB,MAAM,iBACJvC,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,GAAG,EAAEiB,SAAAA;AAFP,GAAA,EAIIsB,MAAM,CAAC;AAAEtB,IAAAA,SAAS,EAAAA,SAAAA;GAAZ,CAJV,CAvFN,CADF,CAAA;AAkGD;;ACvHuB,SAAA+C,eAAA,CAAgB/F,EAAhB,EAED;;;AADrB,EAAA,IAAAqB,EAAA,GAAArB,EAAA,CAAAwB,cAAA;MAAAA,cAAc,GAAGH,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EAAtB,CAAA;EAEA,IAAM2E,WAAW,GAAG7F,uBAAuB,EAA3C,CAAA;AACA,EAAA,IAAM6E,aAAa,GAAG,CAAA/D,EAAA,GAAA+E,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAE9E,MAAb,MAAqB,IAArB,IAAqBD,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAAD,MAA3C,CAAA;AACQ,EAAA,IAAAZ,OAAO,GAAKC,yDAA6B,EAAA,QAAzC,CAAA;AACA,EAAA,IAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd,CAAA;;AACF,EAAA,IAAAY,EAAA,GAAkCV,cAAQ,CAAqB,IAArB,CAA1C;AAAA,MAACC,YAAY,GAAAS,EAAA,CAAA,CAAA,CAAb;AAAA,MAAeR,eAAe,GAAAQ,EAAA,CAAA,CAAA,CAA9B,CAAA;;AACA,EAAA,IAAAX,EAAA,GAAkDC,cAAQ,CAA8B,IAA9B,CAA1D;AAAA,MAACI,oBAAoB,GAAAL,EAAA,CAAA,CAAA,CAArB;AAAA,MAAuBM,uBAAuB,GAAAN,EAAA,CAAA,CAAA,CAA9C,CAAA;;AACA,EAAA,IAAAI,EAAA,GAAoDH,cAAQ,CAAU,KAAV,CAA5D;AAAA,MAACuF,qBAAqB,GAAApF,EAAA,CAAA,CAAA,CAAtB;AAAA,MAAwBqF,wBAAwB,GAAArF,EAAA,CAAA,CAAA,CAAhD,CAAA;;AACNa,EAAAA,eAAS,CAAC,YAAA;IACR,IAAI,CAACtB,OAAD,IAAY,EAACA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEuB,0BAAV,CAAhB,EAAsD;AACpD,MAAA,OAAA;AACD,KAAA;;AACD,IAAA,IAAMb,oBAAoB,GAAGV,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEuB,0BAAT,CAAoC;AAAEwE,MAAAA,KAAK,EAAE,EAAA;AAAT,KAApC,CAA7B,CAAA;IACApF,uBAAuB,CAACD,oBAAD,CAAvB,CAAA;AACAA,IAAAA,oBAAoB,CAACc,IAArB,EAAA,CAA4BC,IAA5B,CAAiC,UAAClB,YAAD,EAAa;MAC5CC,eAAe,CAACD,YAAD,CAAf,CAAA;KADF,CAAA,CAAA;AAGD,GATQ,EASN,CAACP,OAAD,CATM,CAAT,CAAA;AAUA,EAAA,IAAMgG,WAAW,GAAGC,iBAAW,CAAC,YAAA;IAC9B,IAAI,CAACjG,OAAL,EAAc;MACZQ,eAAe,CAAC,EAAD,CAAf,CAAA;AACA,MAAA,OAAA;AACD,KAAA;;AACD,IAAA,IAAME,oBAAoB,GAAGV,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEuB,0BAAT,CAAoC;AAAEwE,MAAAA,KAAK,EAAE,EAAA;AAAT,KAApC,CAA7B,CAAA;AACArF,IAAAA,oBAAoB,CAACc,IAArB,EAAA,CAA4BC,IAA5B,CAAiC,UAAClB,YAAD,EAAa;MAC5CC,eAAe,CAACD,YAAD,CAAf,CAAA;KADF,CAAA,CAAA;AAGD,GAT8B,EAS5B,CAACP,OAAD,CAT4B,CAA/B,CAAA;EAUA,oBACE2B,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,iDADZ;IAEE,QAAQ,EAAE,UAACI,CAAD,EAAE;AACF,MAAA,IAAAC,OAAO,GAAKtB,oBAAoB,CAAAsB,OAAhC,CAAA;AACR,MAAA,IAAMC,MAAM,GAAGF,CAAC,CAACE,MAAjB,CAAA;AACA,MAAA,IAAMC,SAAS,GACbD,MAAM,CAACE,YAAP,GAAsBF,MAAM,CAACG,SAA7B,KAA2CH,MAAM,CAACI,YADpD,CAAA;;MAIA,IAAIL,OAAO,IAAIE,SAAf,EAA0B;AACxBxB,QAAAA,oBAAoB,CAACc,IAArB,EAAA,CAA4BC,IAA5B,CAAiC,UAACa,mBAAD,EAAoB;AACnD9B,UAAAA,eAAe,CACV+B,uBAAA,CAAAA,uBAAA,CAAA,EAAA,EAAAhC,YAAA,EACA,IADA,CAAA,EACA+B,mBADA,MAAA,CADU,CAAf,CAAA;SADF,CAAA,CAAA;AAMD,OAAA;AACF,KAAA;AAjBH,GAAA,eAmBEX,qDAEIpB,YAAY,SAAZ,IAAAA,YAAY,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAAA,YAAY,CAAEiC,GAAd,CAAkB,UAACC,CAAD,EAAQ;IACxB,IAAMpB,UAAU,GAAGrB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEqB,UAAT,CAAoBoB,CAAC,CAAC7B,MAAtB,CAAnB,CAAA;AACA,IAAA,oBACEe,wCAAC,YAAD,EAAA;AACE,MAAA,IAAI,EAAEc,CADR;AAEE,MAAA,WAAW,EAAEmC,aAFf;MAGE,GAAG,EAAEnC,CAAC,CAAC7B,MAHT;AAIE,MAAA,UAAU,EAAES,UAJd;MAKE,MAAM,EAAE,UAACzB,EAAD,EAAc;AAAX,QAAA,IAAAgD,SAAS,GAAAhD,EAAA,CAAAgD,SAAT,CAAA;QAAgB,OACxBxB,cAAc,IAAIwD,aAAa,MAAKnC,CAAC,KAAD,IAAA,IAAAA,CAAC,KAAD,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,CAAC,CAAE7B,MAAR,CAAhC,gBAEIe,yBAAA,CAAA,aAAA,CAACmB,yBAAD,EAAA;UACE,WAAW,EAAE,UAACC,cAAD,EAAe;AAAK,YAAA,oBAC/BpB,wCAACqB,aAAD,EAAA;AACE,cAAA,SAAS,EAAC,6CADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAED,cAAAA;AAJX,aAAA,eAMEpB,wCAACsB,kBAAD,EAAA;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;cAGE,IAAI,EAAEC,iBAAS,CAACC,IAHlB;cAIE,SAAS,EAAEC,kBAAU,CAACC,eAAAA;AAJxB,aAAA,CANF,CAD+B,CAAA;WADnC;UAgBE,SAAS,EAAE,UAACC,aAAD;AAAmB,YAAA,oBAC5B3B,wCAAC4B,wBAAD,EAAA;AACE,cAAA,SAAS,EAAEX,SADb;AAEE,cAAA,aAAa,EAAEU,aAFjB;cAGE,QAAQ,EAAA,IAAA;AAHV,aAAA,eAKE3B,wCAAC6B,uBAAD,EAAA;AACE,cAAA,OAAO,EAAE,YAAA;AACP,gBAAA,IAAInC,UAAJ,EAAgB;kBACdrB,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEyD,eAAT,CAAyB,CAAChB,CAAC,CAAC7B,MAAH,CAAzB,CAAA,CAAqCa,IAArC,CAA0C,YAAA;oBACxCuE,WAAW,EAAA,CAAA;oBACX1C,aAAa,EAAA,CAAA;AACd,mBAHD,CAAA,CAAA;AAID,iBALD,MAKO;kBACLtD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0D,YAAT,CAAsB,CAACjB,CAAC,CAAC7B,MAAH,CAAtB,CAAA,CAAkCa,IAAlC,CAAuC,YAAA;oBACrCuE,WAAW,EAAA,CAAA;oBACX1C,aAAa,EAAA,CAAA;AACd,mBAHD,CAAA,CAAA;AAID,iBAAA;AACF,eAAA;AAbH,aAAA,EAgBIjC,UAAU,GACNnB,SAAS,CAACyD,qDADJ,GAENzD,SAAS,CAAC0D,sDAlBlB,CALF,eA0BEjC,yBAAA,CAAA,aAAA,CAAC6B,uBAAD,EAAA;AACE,cAAA,OAAO,EAAE,YAAA;AACPxD,gBAAAA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE6D,QAAT,CAAkBpB,CAAlB,CAAqBhB,CAAAA,IAArB,CAA0B,YAAA;kBACxBuE,WAAW,EAAA,CAAA;kBACX1C,aAAa,EAAA,CAAA;AACd,iBAHD,CAAA,CAAA;AAID,eAAA;AANH,aAAA,EAQGpD,SAAS,CAAC4D,sCARb,CA1BF,eAoCEnC,wCAAC6B,uBAAD,EAAA;AACE,cAAA,OAAO,EAAE,YAAA;AACPxD,gBAAAA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE+D,OAAT,CAAiBtB,CAAjB,CAAoBhB,CAAAA,IAApB,CAAyB,YAAA;kBACvBuE,WAAW,EAAA,CAAA;kBACX1C,aAAa,EAAA,CAAA;AACd,iBAHD,CAAA,CAAA;AAID,eAAA;AANH,aAAA,EAQGpD,SAAS,CAAC8D,qCARb,CApCF,CAD4B,CAAA;AAgD7B,WAAA;AAhEH,SAAA,CAFJ,GAqEI,IAtEqB,CAAA;AAuE1B,OAAA;KA7EL,CAAA,CAAA;GAFF,CAFJ,EAuFKzD,YAAY,IAAIA,YAAY,CAAC2F,MAAb,KAAwB,CAAzC,gBAEIvE,yBAAA,CAAA,aAAA,CAACoD,cAAD,EAAA;AACE,IAAA,SAAS,EAAC,uCADZ;IAEE,IAAI,EAAEC,wBAAe,CAACC,UAFxB;IAGE,KAAK,EAAEC,oBAAW,CAACiB,cAAAA;AAHrB,GAAA,EAKGjG,SAAS,CAACkG,iCALb,CAFJ,GASM,IAhGV,eAkGEzE,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,+CAAA;AAAf,GAAA,EAEI,CAAAjB,oBAAoB,KAAA,IAApB,IAAAA,oBAAoB,KAApB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,oBAAoB,CAAEsB,OAAtB,kBACEL,wCAAC0E,oBAAD,EAAA;IACE,IAAI,EAAEC,qBAAW,CAACC,SADpB;IAEE,IAAI,EAAEC,qBAAW,CAACC,KAFpB;AAGE,IAAA,OAAO,EAAE,YAAM;MAAA,OAAAX,wBAAwB,CAAC,IAAD,CAAxB,CAAA;AAA8B,KAAA;GAE5C5F,EAAAA,SAAS,CAAC4B,6CALb,CAHN,CAlGF,EAgHI+D,qBAAqB,iBACnBlE,yBAAA,CAAA,aAAA,CAAC,iBAAD,EAAA;AACE,IAAA,QAAQ,EAAE,YAAA;MACRmE,wBAAwB,CAAC,KAAD,CAAxB,CAAA;MACAE,WAAW,EAAA,CAAA;AACZ,KAAA;AAJH,GAAA,CAjHN,CAnBF,CADF,CAAA;AAgJD;;;;;"}
1
+ {"version":3,"file":"index-5fef7cd4.js","sources":["../../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../src/smart-components/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { 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) => {\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 >\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 channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\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 { User } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: User;\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 <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 )}\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 {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { 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: User) => {\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 refreshList();\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n })\n }\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 channel?.muteUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\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","_a","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","_e","useState","participants","setParticipants","_f","participantListQuery","setParticipantListQuery","userId","_b","config","sdk","_d","_c","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","Modal","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","__spreadArray","map","p","UserListItem","currentUser","actionRef","parentRef","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","MenuItems","MenuItem","removeOperators","addOperators","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","muteUser","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","user","action","avatarRef","useRef","UserProfileContext","disableUserProfile","renderUserProfile","Avatar","profileUrl","paddingTop","paddingBottom","currentUserId","close","UserProfile","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","concat","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./index-c77b4d21.js');
4
- var index = require('./index-7f8189a8.js');
3
+ var index$1 = require('./index-bb8788c1.js');
4
+ var index = require('./index-e2cb4259.js');
5
5
 
6
6
  /**
7
7
  * @name isToday
@@ -175,4 +175,4 @@ function isYesterday(dirtyDate) {
175
175
  exports.isThisYear = isThisYear;
176
176
  exports.isToday = isToday;
177
177
  exports.isYesterday = isYesterday;
178
- //# sourceMappingURL=index-a3f2fc1e.js.map
178
+ //# sourceMappingURL=index-7ee2031a.js.map