@sendbird/uikit-react 3.4.0-rc.7 → 3.4.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 (460) hide show
  1. package/App.js +39 -39
  2. package/Channel/components/ChannelHeader.js +19 -19
  3. package/Channel/components/ChannelUI.js +32 -32
  4. package/Channel/components/FileViewer.js +15 -15
  5. package/Channel/components/FrozenNotification.js +4 -4
  6. package/Channel/components/Message.js +27 -27
  7. package/Channel/components/MessageInput.js +23 -23
  8. package/Channel/components/MessageList.js +28 -28
  9. package/Channel/components/RemoveMessageModal.js +17 -17
  10. package/Channel/components/SuggestedMentionList.js +17 -17
  11. package/Channel/components/TypingIndicator.js +15 -15
  12. package/Channel/components/UnreadCount.js +4 -4
  13. package/Channel/context.js +14 -14
  14. package/Channel.js +32 -32
  15. package/ChannelList/components/AddChannel.js +15 -15
  16. package/ChannelList/components/ChannelListHeader.js +7 -7
  17. package/ChannelList/components/ChannelListUI.js +29 -29
  18. package/ChannelList/components/ChannelPreview.js +25 -25
  19. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  20. package/ChannelList/context.js +8 -8
  21. package/ChannelList.js +29 -29
  22. package/{ChannelListProvider-2d9ea6ae.js → ChannelListProvider-442bea80.js} +8 -8
  23. package/{ChannelListProvider-2d9ea6ae.js.map → ChannelListProvider-442bea80.js.map} +1 -1
  24. package/{ChannelProvider-a1f89176.js → ChannelProvider-43d68897.js} +10 -10
  25. package/{ChannelProvider-a1f89176.js.map → ChannelProvider-43d68897.js.map} +1 -1
  26. package/ChannelSettings/components/ChannelProfile.js +12 -12
  27. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  28. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  29. package/ChannelSettings/components/LeaveChannel.js +12 -12
  30. package/ChannelSettings/components/ModerationPanel.js +15 -15
  31. package/ChannelSettings/components/UserListItem.js +11 -11
  32. package/ChannelSettings/components/UserPanel.js +14 -14
  33. package/ChannelSettings/context.js +3 -3
  34. package/ChannelSettings.js +18 -18
  35. package/CreateChannel/components/CreateChannelUI.js +14 -14
  36. package/CreateChannel/components/InviteUsers.js +14 -14
  37. package/CreateChannel/components/SelectChannelType.js +11 -11
  38. package/CreateChannel/context.js +4 -4
  39. package/CreateChannel.js +14 -14
  40. package/{CreateChannelProvider-3bfb2750.js → CreateChannelProvider-62afdf07.js} +1 -1
  41. package/{CreateChannelProvider-3bfb2750.js.map → CreateChannelProvider-62afdf07.js.map} +1 -1
  42. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  43. package/CreateOpenChannel/context.js +1 -1
  44. package/CreateOpenChannel.js +10 -10
  45. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  46. package/EditUserProfile.js +13 -13
  47. package/{LocalizationContext-34604ccb.js → LocalizationContext-83ddce67.js} +3 -3
  48. package/{LocalizationContext-34604ccb.js.map → LocalizationContext-83ddce67.js.map} +1 -1
  49. package/{MediaQueryContext-6b657985.js → MediaQueryContext-010e9df0.js} +1 -1
  50. package/{MediaQueryContext-6b657985.js.map → MediaQueryContext-010e9df0.js.map} +1 -1
  51. package/{MemberList-b420966f.js → MemberList-299e055b.js} +5 -5
  52. package/{MemberList-b420966f.js.map → MemberList-299e055b.js.map} +1 -1
  53. package/MessageSearch/components/MessageSearchUI.js +12 -12
  54. package/MessageSearch/context.js +2 -2
  55. package/MessageSearch.js +12 -12
  56. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  57. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  58. package/OpenChannel/components/OpenChannelInput.js +15 -15
  59. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  60. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  61. package/OpenChannel/components/OpenChannelUI.js +24 -24
  62. package/OpenChannel/context.js +9 -9
  63. package/OpenChannel.js +24 -24
  64. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  65. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  66. package/OpenChannelList/context.js +4 -4
  67. package/OpenChannelList.js +13 -13
  68. package/{OpenChannelListProvider-ded489f3.js → OpenChannelListProvider-2d811cef.js} +3 -3
  69. package/{OpenChannelListProvider-ded489f3.js.map → OpenChannelListProvider-2d811cef.js.map} +1 -1
  70. package/{OpenChannelProvider-8ef44e31.js → OpenChannelProvider-7aef2b42.js} +7 -7
  71. package/{OpenChannelProvider-8ef44e31.js.map → OpenChannelProvider-7aef2b42.js.map} +1 -1
  72. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  73. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  74. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  75. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  76. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  77. package/OpenChannelSettings/context.js +3 -3
  78. package/OpenChannelSettings.js +18 -18
  79. package/{RemoveMessageModal-2246b5b6.js → RemoveMessageModal-1ca08354.js} +3 -3
  80. package/{RemoveMessageModal-2246b5b6.js.map → RemoveMessageModal-1ca08354.js.map} +1 -1
  81. package/SendbirdProvider.js +12 -12
  82. package/SendbirdProvider.js.map +1 -1
  83. package/Thread/components/ParentMessageInfo.js +24 -24
  84. package/Thread/components/ParentMessageInfoItem.js +16 -16
  85. package/Thread/components/ThreadHeader.js +6 -6
  86. package/Thread/components/ThreadList.js +27 -27
  87. package/Thread/components/ThreadListItem.js +27 -27
  88. package/Thread/components/ThreadMessageInput.js +24 -24
  89. package/Thread/components/ThreadUI.js +31 -31
  90. package/Thread/context.js +9 -9
  91. package/Thread.js +31 -31
  92. package/{ThreadProvider-9485ea4c.js → ThreadProvider-94605d33.js} +7 -7
  93. package/{ThreadProvider-9485ea4c.js.map → ThreadProvider-94605d33.js.map} +1 -1
  94. package/{UserProfileContext-49d0ed34.js → UserProfileContext-236a8db5.js} +1 -1
  95. package/{UserProfileContext-49d0ed34.js.map → UserProfileContext-236a8db5.js.map} +1 -1
  96. package/{VoiceMessageInputWrapper-0dffc749.js → VoiceMessageInputWrapper-8d50dc6c.js} +7 -7
  97. package/{VoiceMessageInputWrapper-0dffc749.js.map → VoiceMessageInputWrapper-8d50dc6c.js.map} +1 -1
  98. package/VoicePlayer/context.js +3 -3
  99. package/VoicePlayer/useVoicePlayer.js +3 -3
  100. package/VoiceRecorder/context.js +1 -1
  101. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  102. package/{_rollupPluginBabelHelpers-3d722d2a.js → _rollupPluginBabelHelpers-b0efb0e7.js} +1 -1
  103. package/_rollupPluginBabelHelpers-b0efb0e7.js.map +1 -0
  104. package/{actionTypes-25ed38bc.js → actionTypes-42a0e7a6.js} +1 -1
  105. package/{actionTypes-25ed38bc.js.map → actionTypes-42a0e7a6.js.map} +1 -1
  106. package/cjs/App.js +39 -39
  107. package/cjs/Channel/components/ChannelHeader.js +19 -19
  108. package/cjs/Channel/components/ChannelUI.js +32 -32
  109. package/cjs/Channel/components/FileViewer.js +15 -15
  110. package/cjs/Channel/components/FrozenNotification.js +4 -4
  111. package/cjs/Channel/components/Message.js +27 -27
  112. package/cjs/Channel/components/MessageInput.js +23 -23
  113. package/cjs/Channel/components/MessageList.js +28 -28
  114. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  115. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  116. package/cjs/Channel/components/TypingIndicator.js +15 -15
  117. package/cjs/Channel/components/UnreadCount.js +4 -4
  118. package/cjs/Channel/context.js +14 -14
  119. package/cjs/Channel.js +32 -32
  120. package/cjs/ChannelList/components/AddChannel.js +15 -15
  121. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  122. package/cjs/ChannelList/components/ChannelListUI.js +29 -29
  123. package/cjs/ChannelList/components/ChannelPreview.js +25 -25
  124. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  125. package/cjs/ChannelList/context.js +8 -8
  126. package/cjs/ChannelList.js +29 -29
  127. package/cjs/{ChannelListProvider-f1e7b2ae.js → ChannelListProvider-c2da1fdd.js} +8 -8
  128. package/cjs/{ChannelListProvider-f1e7b2ae.js.map → ChannelListProvider-c2da1fdd.js.map} +1 -1
  129. package/cjs/{ChannelProvider-bc93b0a8.js → ChannelProvider-d207316d.js} +10 -10
  130. package/cjs/{ChannelProvider-bc93b0a8.js.map → ChannelProvider-d207316d.js.map} +1 -1
  131. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  132. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  133. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  134. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  135. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  136. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  137. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  138. package/cjs/ChannelSettings/context.js +3 -3
  139. package/cjs/ChannelSettings.js +18 -18
  140. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  141. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  142. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  143. package/cjs/CreateChannel/context.js +4 -4
  144. package/cjs/CreateChannel.js +14 -14
  145. package/cjs/{CreateChannelProvider-ac2061a9.js → CreateChannelProvider-02349744.js} +1 -1
  146. package/cjs/{CreateChannelProvider-ac2061a9.js.map → CreateChannelProvider-02349744.js.map} +1 -1
  147. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  148. package/cjs/CreateOpenChannel/context.js +1 -1
  149. package/cjs/CreateOpenChannel.js +10 -10
  150. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  151. package/cjs/EditUserProfile.js +13 -13
  152. package/cjs/{LocalizationContext-7a6ca1b0.js → LocalizationContext-a60a75a7.js} +3 -3
  153. package/cjs/{LocalizationContext-7a6ca1b0.js.map → LocalizationContext-a60a75a7.js.map} +1 -1
  154. package/cjs/{MediaQueryContext-a6e1058a.js → MediaQueryContext-5d0a1ebc.js} +1 -1
  155. package/cjs/{MediaQueryContext-a6e1058a.js.map → MediaQueryContext-5d0a1ebc.js.map} +1 -1
  156. package/cjs/{MemberList-4c16eda4.js → MemberList-4c6bb907.js} +5 -5
  157. package/cjs/{MemberList-4c16eda4.js.map → MemberList-4c6bb907.js.map} +1 -1
  158. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  159. package/cjs/MessageSearch/context.js +2 -2
  160. package/cjs/MessageSearch.js +12 -12
  161. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  162. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  163. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  164. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  165. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  166. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  167. package/cjs/OpenChannel/context.js +9 -9
  168. package/cjs/OpenChannel.js +24 -24
  169. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  170. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  171. package/cjs/OpenChannelList/context.js +4 -4
  172. package/cjs/OpenChannelList.js +13 -13
  173. package/cjs/{OpenChannelListProvider-cd74f4df.js → OpenChannelListProvider-5a949d98.js} +3 -3
  174. package/cjs/{OpenChannelListProvider-cd74f4df.js.map → OpenChannelListProvider-5a949d98.js.map} +1 -1
  175. package/cjs/{OpenChannelProvider-69f5ad63.js → OpenChannelProvider-7c843439.js} +7 -7
  176. package/cjs/{OpenChannelProvider-69f5ad63.js.map → OpenChannelProvider-7c843439.js.map} +1 -1
  177. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  178. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  179. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  180. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  181. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  182. package/cjs/OpenChannelSettings/context.js +3 -3
  183. package/cjs/OpenChannelSettings.js +18 -18
  184. package/cjs/{RemoveMessageModal-876f9c58.js → RemoveMessageModal-a069ff52.js} +3 -3
  185. package/cjs/{RemoveMessageModal-876f9c58.js.map → RemoveMessageModal-a069ff52.js.map} +1 -1
  186. package/cjs/SendbirdProvider.js +12 -12
  187. package/cjs/SendbirdProvider.js.map +1 -1
  188. package/cjs/Thread/components/ParentMessageInfo.js +24 -24
  189. package/cjs/Thread/components/ParentMessageInfoItem.js +16 -16
  190. package/cjs/Thread/components/ThreadHeader.js +6 -6
  191. package/cjs/Thread/components/ThreadList.js +27 -27
  192. package/cjs/Thread/components/ThreadListItem.js +27 -27
  193. package/cjs/Thread/components/ThreadMessageInput.js +24 -24
  194. package/cjs/Thread/components/ThreadUI.js +31 -31
  195. package/cjs/Thread/context.js +9 -9
  196. package/cjs/Thread.js +31 -31
  197. package/cjs/{ThreadProvider-03e527f0.js → ThreadProvider-66fcc519.js} +7 -7
  198. package/cjs/{ThreadProvider-03e527f0.js.map → ThreadProvider-66fcc519.js.map} +1 -1
  199. package/cjs/{UserProfileContext-62a76572.js → UserProfileContext-2ec6891e.js} +1 -1
  200. package/cjs/{UserProfileContext-62a76572.js.map → UserProfileContext-2ec6891e.js.map} +1 -1
  201. package/cjs/{VoiceMessageInputWrapper-ce7c9f48.js → VoiceMessageInputWrapper-289e18f6.js} +7 -7
  202. package/cjs/{VoiceMessageInputWrapper-ce7c9f48.js.map → VoiceMessageInputWrapper-289e18f6.js.map} +1 -1
  203. package/cjs/VoicePlayer/context.js +3 -3
  204. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  205. package/cjs/VoiceRecorder/context.js +1 -1
  206. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  207. package/cjs/{_rollupPluginBabelHelpers-890010e8.js → _rollupPluginBabelHelpers-24f49f41.js} +1 -1
  208. package/cjs/_rollupPluginBabelHelpers-24f49f41.js.map +1 -0
  209. package/cjs/{actionTypes-2dd8d353.js → actionTypes-31463602.js} +1 -1
  210. package/cjs/{actionTypes-2dd8d353.js.map → actionTypes-31463602.js.map} +1 -1
  211. package/cjs/{color-20c73e3d.js → color-7144c59e.js} +1 -1
  212. package/cjs/{color-20c73e3d.js.map → color-7144c59e.js.map} +1 -1
  213. package/cjs/{compareIds-d2fa6a71.js → compareIds-b3e3cffc.js} +1 -1
  214. package/cjs/{compareIds-d2fa6a71.js.map → compareIds-b3e3cffc.js.map} +1 -1
  215. package/cjs/{const-a0953ccb.js → const-21424d05.js} +1 -1
  216. package/cjs/{const-a0953ccb.js.map → const-21424d05.js.map} +1 -1
  217. package/cjs/{const-db526661.js → const-d6a997ec.js} +1 -1
  218. package/cjs/{const-db526661.js.map → const-d6a997ec.js.map} +1 -1
  219. package/cjs/{consts-54febc80.js → consts-47e4d487.js} +1 -1
  220. package/cjs/{consts-54febc80.js.map → consts-47e4d487.js.map} +1 -1
  221. package/cjs/{context-c4dd79d5.js → context-8cb8affd.js} +2 -2
  222. package/cjs/{context-c4dd79d5.js.map → context-8cb8affd.js.map} +1 -1
  223. package/cjs/dist/index.css +55 -55
  224. package/cjs/dist/index.css.map +1 -1
  225. package/cjs/{index-977eae2e.js → index-254f336f.js} +2 -2
  226. package/cjs/{index-977eae2e.js.map → index-254f336f.js.map} +1 -1
  227. package/cjs/{index-093f5d99.js → index-31f28d2f.js} +4 -4
  228. package/cjs/{index-093f5d99.js.map → index-31f28d2f.js.map} +1 -1
  229. package/cjs/{index-6bc6c2d0.js → index-4678a454.js} +1 -1
  230. package/cjs/{index-6bc6c2d0.js.map → index-4678a454.js.map} +1 -1
  231. package/cjs/{index-d72adfae.js → index-4c8c854d.js} +3 -3
  232. package/cjs/{index-d72adfae.js.map → index-4c8c854d.js.map} +1 -1
  233. package/cjs/{index-cc592f23.js → index-62b0b176.js} +7 -7
  234. package/cjs/{index-cc592f23.js.map → index-62b0b176.js.map} +1 -1
  235. package/cjs/{index-726df8d6.js → index-7f8189a8.js} +2 -2
  236. package/cjs/{index-726df8d6.js.map → index-7f8189a8.js.map} +1 -1
  237. package/cjs/{index-131be6cc.js → index-8ea5c90b.js} +5 -5
  238. package/cjs/{index-131be6cc.js.map → index-8ea5c90b.js.map} +1 -1
  239. package/cjs/{index-626a6683.js → index-987764bd.js} +1 -1
  240. package/cjs/{index-626a6683.js.map → index-987764bd.js.map} +1 -1
  241. package/cjs/{index-d80a7c10.js → index-a1b754e9.js} +7 -7
  242. package/cjs/{index-d80a7c10.js.map → index-a1b754e9.js.map} +1 -1
  243. package/cjs/{index-5741f048.js → index-a3f2fc1e.js} +3 -3
  244. package/cjs/{index-5741f048.js.map → index-a3f2fc1e.js.map} +1 -1
  245. package/cjs/{index-9ee06eb9.js → index-c65779c7.js} +2 -2
  246. package/cjs/{index-9ee06eb9.js.map → index-c65779c7.js.map} +1 -1
  247. package/cjs/{index-8b55332c.js → index-c77b4d21.js} +2 -2
  248. package/cjs/{index-8b55332c.js.map → index-c77b4d21.js.map} +1 -1
  249. package/cjs/{index-51105734.js → index-dbe73222.js} +4 -4
  250. package/cjs/{index-51105734.js.map → index-dbe73222.js.map} +1 -1
  251. package/cjs/{index-926872a3.js → index-e97ad39a.js} +2 -2
  252. package/cjs/{index-926872a3.js.map → index-e97ad39a.js.map} +1 -1
  253. package/cjs/index.js +43 -43
  254. package/cjs/sendbirdSelectors.js +2 -2
  255. package/cjs/{stringSet-35db06bd.js → stringSet-4ee01b87.js} +1 -1
  256. package/cjs/{stringSet-35db06bd.js.map → stringSet-4ee01b87.js.map} +1 -1
  257. package/cjs/{topics-015dff3e.js → topics-022da857.js} +1 -1
  258. package/cjs/{topics-015dff3e.js.map → topics-022da857.js.map} +1 -1
  259. package/cjs/{tslib.es6-d43b6c33.js → tslib.es6-e6498d62.js} +1 -1
  260. package/cjs/{tslib.es6-d43b6c33.js.map → tslib.es6-e6498d62.js.map} +1 -1
  261. package/cjs/{types-50aaf370.js → types-aeca242a.js} +1 -1
  262. package/cjs/{types-50aaf370.js.map → types-aeca242a.js.map} +1 -1
  263. package/cjs/ui/Accordion.js +3 -3
  264. package/cjs/ui/AccordionGroup.js +2 -2
  265. package/cjs/ui/AdminMessage.js +3 -3
  266. package/cjs/ui/Avatar.js +2 -2
  267. package/cjs/ui/Badge.js +5 -5
  268. package/cjs/ui/BottomSheet.js +1 -1
  269. package/cjs/ui/Button.js +3 -3
  270. package/cjs/ui/ChannelAvatar.js +3 -3
  271. package/cjs/ui/ConnectionStatus.js +4 -4
  272. package/cjs/ui/ContextMenu.js +5 -5
  273. package/cjs/ui/DateSeparator.js +4 -4
  274. package/cjs/ui/EmojiReactions.js +7 -7
  275. package/cjs/ui/FileMessageItemBody.js +6 -6
  276. package/cjs/ui/FileViewer.js +8 -8
  277. package/cjs/ui/IconButton.js +1 -1
  278. package/cjs/ui/ImageRenderer.js +1 -1
  279. package/cjs/ui/Input.js +2 -2
  280. package/cjs/ui/Label.js +2 -2
  281. package/cjs/ui/LinkLabel.js +2 -2
  282. package/cjs/ui/Loader.js +1 -1
  283. package/cjs/ui/MentionLabel.js +11 -11
  284. package/cjs/ui/MessageContent.js +23 -23
  285. package/cjs/ui/MessageInput.js +9 -9
  286. package/cjs/ui/MessageItemMenu.js +8 -8
  287. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  288. package/cjs/ui/MessageSearchFileItem.js +10 -10
  289. package/cjs/ui/MessageSearchItem.js +9 -9
  290. package/cjs/ui/MessageStatus.js +10 -10
  291. package/cjs/ui/Modal.js +7 -7
  292. package/cjs/ui/OGMessageItemBody.js +11 -11
  293. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  294. package/cjs/ui/OpenChannelAvatar.js +6 -6
  295. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  296. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  297. package/cjs/ui/OpenchannelOGMessage.js +16 -16
  298. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  299. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  300. package/cjs/ui/PlaceHolder.js +6 -6
  301. package/cjs/ui/PlaybackTime.js +2 -2
  302. package/cjs/ui/QuoteMessage.js +6 -6
  303. package/cjs/ui/QuoteMessageInput.js +6 -6
  304. package/cjs/ui/ReactionBadge.js +3 -3
  305. package/cjs/ui/ReactionButton.js +1 -1
  306. package/cjs/ui/SortByRow.js +2 -2
  307. package/cjs/ui/TextButton.js +2 -2
  308. package/cjs/ui/TextMessageItemBody.js +11 -11
  309. package/cjs/ui/ThreadReplies.js +6 -6
  310. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  311. package/cjs/ui/Tooltip.js +3 -3
  312. package/cjs/ui/TooltipWrapper.js +1 -1
  313. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  314. package/cjs/ui/UserListItem.js +11 -11
  315. package/cjs/ui/UserProfile.js +10 -10
  316. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  317. package/cjs/ui/VoiceMessgeInput.js +8 -8
  318. package/cjs/ui/Word.js +11 -11
  319. package/cjs/{useLongPress-5be54285.js → useLongPress-322218d9.js} +3 -3
  320. package/cjs/{useLongPress-5be54285.js.map → useLongPress-322218d9.js.map} +1 -1
  321. package/cjs/useSendbirdStateContext.js +1 -1
  322. package/cjs/utils/message/isVoiceMessage.js +2 -2
  323. package/cjs/{utils-2b85bb00.js → utils-37fca8a6.js} +1 -1
  324. package/cjs/{utils-2b85bb00.js.map → utils-37fca8a6.js.map} +1 -1
  325. package/cjs/{utils-b779340f.js → utils-642928b9.js} +2 -2
  326. package/cjs/{utils-b779340f.js.map → utils-642928b9.js.map} +1 -1
  327. package/cjs/{utils-e521af24.js → utils-c95c0536.js} +1 -1
  328. package/cjs/{utils-e521af24.js.map → utils-c95c0536.js.map} +1 -1
  329. package/cjs/{utils-1fb17377.js → utils-eb7febed.js} +1 -1
  330. package/cjs/{utils-1fb17377.js.map → utils-eb7febed.js.map} +1 -1
  331. package/cjs/{uuid-cfe73159.js → uuid-74ed3d6f.js} +1 -1
  332. package/cjs/{uuid-cfe73159.js.map → uuid-74ed3d6f.js.map} +1 -1
  333. package/cjs/withSendbird.js +1 -1
  334. package/{color-59367d04.js → color-1e2ee795.js} +1 -1
  335. package/{color-59367d04.js.map → color-1e2ee795.js.map} +1 -1
  336. package/{compareIds-2cbe41ec.js → compareIds-5ccbddc5.js} +1 -1
  337. package/{compareIds-2cbe41ec.js.map → compareIds-5ccbddc5.js.map} +1 -1
  338. package/{const-e1abe30a.js → const-8faafb2e.js} +1 -1
  339. package/{const-e1abe30a.js.map → const-8faafb2e.js.map} +1 -1
  340. package/{const-6d6447e8.js → const-dc9e776d.js} +1 -1
  341. package/{const-6d6447e8.js.map → const-dc9e776d.js.map} +1 -1
  342. package/{consts-19f1b47c.js → consts-36a3e18c.js} +1 -1
  343. package/{consts-19f1b47c.js.map → consts-36a3e18c.js.map} +1 -1
  344. package/{context-3b95f3e6.js → context-7f6e48a4.js} +2 -2
  345. package/{context-3b95f3e6.js.map → context-7f6e48a4.js.map} +1 -1
  346. package/dist/index.css +55 -55
  347. package/dist/index.css.map +1 -1
  348. package/{index-3ab34556.js → index-25d0ba0b.js} +7 -7
  349. package/{index-3ab34556.js.map → index-25d0ba0b.js.map} +1 -1
  350. package/{index-7f6825d2.js → index-28d6891b.js} +7 -7
  351. package/{index-7f6825d2.js.map → index-28d6891b.js.map} +1 -1
  352. package/{index-1cd6e5a9.js → index-33f2cf64.js} +2 -2
  353. package/{index-1cd6e5a9.js.map → index-33f2cf64.js.map} +1 -1
  354. package/{index-8bf75458.js → index-34aa10d1.js} +2 -2
  355. package/{index-8bf75458.js.map → index-34aa10d1.js.map} +1 -1
  356. package/{index-6c0f7a11.js → index-3fb2524a.js} +4 -4
  357. package/{index-6c0f7a11.js.map → index-3fb2524a.js.map} +1 -1
  358. package/{index-e4e8ae3e.js → index-5258ee05.js} +2 -2
  359. package/{index-e4e8ae3e.js.map → index-5258ee05.js.map} +1 -1
  360. package/{index-d02ef540.js → index-5eb9a836.js} +1 -1
  361. package/{index-d02ef540.js.map → index-5eb9a836.js.map} +1 -1
  362. package/{index-72d34190.js → index-5f7a15e3.js} +1 -1
  363. package/{index-72d34190.js.map → index-5f7a15e3.js.map} +1 -1
  364. package/{index-7e116f1a.js → index-7e47ba7d.js} +2 -2
  365. package/{index-7e116f1a.js.map → index-7e47ba7d.js.map} +1 -1
  366. package/{index-4c2cc2b0.js → index-87ea8714.js} +3 -3
  367. package/{index-4c2cc2b0.js.map → index-87ea8714.js.map} +1 -1
  368. package/{index-9c831352.js → index-a66bf2c0.js} +4 -4
  369. package/{index-9c831352.js.map → index-a66bf2c0.js.map} +1 -1
  370. package/{index-c28667a8.js → index-ba245747.js} +5 -5
  371. package/{index-c28667a8.js.map → index-ba245747.js.map} +1 -1
  372. package/{index-003cd138.js → index-ba7daf9f.js} +3 -3
  373. package/{index-003cd138.js.map → index-ba7daf9f.js.map} +1 -1
  374. package/{index-94f8b701.js → index-ece24db0.js} +2 -2
  375. package/{index-94f8b701.js.map → index-ece24db0.js.map} +1 -1
  376. package/index.d.ts +1 -1
  377. package/index.js +43 -43
  378. package/package.json +1 -1
  379. package/sendbirdSelectors.js +2 -2
  380. package/{stringSet-a253a8e4.js → stringSet-44be1369.js} +1 -1
  381. package/{stringSet-a253a8e4.js.map → stringSet-44be1369.js.map} +1 -1
  382. package/{topics-5297af14.js → topics-3f0db840.js} +1 -1
  383. package/{topics-5297af14.js.map → topics-3f0db840.js.map} +1 -1
  384. package/{tslib.es6-d76132e1.js → tslib.es6-d163c646.js} +1 -1
  385. package/{tslib.es6-d76132e1.js.map → tslib.es6-d163c646.js.map} +1 -1
  386. package/{types-6c683617.js → types-490489b7.js} +1 -1
  387. package/{types-6c683617.js.map → types-490489b7.js.map} +1 -1
  388. package/ui/Accordion.js +3 -3
  389. package/ui/AccordionGroup.js +2 -2
  390. package/ui/AdminMessage.js +3 -3
  391. package/ui/Avatar.js +2 -2
  392. package/ui/Badge.js +5 -5
  393. package/ui/BottomSheet.js +1 -1
  394. package/ui/Button.js +3 -3
  395. package/ui/ChannelAvatar.js +3 -3
  396. package/ui/ConnectionStatus.js +4 -4
  397. package/ui/ContextMenu.js +5 -5
  398. package/ui/DateSeparator.js +4 -4
  399. package/ui/EmojiReactions.js +7 -7
  400. package/ui/FileMessageItemBody.js +6 -6
  401. package/ui/FileViewer.js +8 -8
  402. package/ui/IconButton.js +1 -1
  403. package/ui/ImageRenderer.js +1 -1
  404. package/ui/Input.js +2 -2
  405. package/ui/Label.js +2 -2
  406. package/ui/LinkLabel.js +2 -2
  407. package/ui/Loader.js +1 -1
  408. package/ui/MentionLabel.js +11 -11
  409. package/ui/MessageContent.js +23 -23
  410. package/ui/MessageInput.js +9 -9
  411. package/ui/MessageItemMenu.js +8 -8
  412. package/ui/MessageItemReactionMenu.js +5 -5
  413. package/ui/MessageSearchFileItem.js +10 -10
  414. package/ui/MessageSearchItem.js +9 -9
  415. package/ui/MessageStatus.js +10 -10
  416. package/ui/Modal.js +7 -7
  417. package/ui/OGMessageItemBody.js +11 -11
  418. package/ui/OpenChannelAdminMessage.js +3 -3
  419. package/ui/OpenChannelAvatar.js +6 -6
  420. package/ui/OpenchannelConversationHeader.js +6 -6
  421. package/ui/OpenchannelFileMessage.js +16 -16
  422. package/ui/OpenchannelOGMessage.js +16 -16
  423. package/ui/OpenchannelThumbnailMessage.js +15 -15
  424. package/ui/OpenchannelUserMessage.js +16 -16
  425. package/ui/PlaceHolder.js +6 -6
  426. package/ui/PlaybackTime.js +2 -2
  427. package/ui/QuoteMessage.js +6 -6
  428. package/ui/QuoteMessageInput.js +6 -6
  429. package/ui/ReactionBadge.js +3 -3
  430. package/ui/ReactionButton.js +1 -1
  431. package/ui/SortByRow.js +2 -2
  432. package/ui/TextButton.js +2 -2
  433. package/ui/TextMessageItemBody.js +11 -11
  434. package/ui/ThreadReplies.js +6 -6
  435. package/ui/ThumbnailMessageItemBody.js +2 -2
  436. package/ui/Tooltip.js +3 -3
  437. package/ui/TooltipWrapper.js +1 -1
  438. package/ui/UnknownMessageItemBody.js +6 -6
  439. package/ui/UserListItem.js +11 -11
  440. package/ui/UserProfile.js +10 -10
  441. package/ui/VoiceMessageItemBody.js +5 -5
  442. package/ui/VoiceMessgeInput.js +8 -8
  443. package/ui/Word.js +11 -11
  444. package/{useLongPress-6ac95c33.js → useLongPress-a05b8d13.js} +3 -3
  445. package/{useLongPress-6ac95c33.js.map → useLongPress-a05b8d13.js.map} +1 -1
  446. package/useSendbirdStateContext.js +1 -1
  447. package/utils/message/isVoiceMessage.js +2 -2
  448. package/{utils-c0211cad.js → utils-14105f2b.js} +2 -2
  449. package/{utils-c0211cad.js.map → utils-14105f2b.js.map} +1 -1
  450. package/{utils-5754d236.js → utils-3a9b2a5b.js} +1 -1
  451. package/{utils-5754d236.js.map → utils-3a9b2a5b.js.map} +1 -1
  452. package/{utils-61227117.js → utils-49a0dde3.js} +1 -1
  453. package/{utils-61227117.js.map → utils-49a0dde3.js.map} +1 -1
  454. package/{utils-2de71122.js → utils-e96969ad.js} +1 -1
  455. package/{utils-2de71122.js.map → utils-e96969ad.js.map} +1 -1
  456. package/{uuid-c331106c.js → uuid-bf5599d8.js} +1 -1
  457. package/{uuid-c331106c.js.map → uuid-bf5599d8.js.map} +1 -1
  458. package/withSendbird.js +1 -1
  459. package/_rollupPluginBabelHelpers-3d722d2a.js.map +0 -1
  460. package/cjs/_rollupPluginBabelHelpers-890010e8.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
  var ui_ContextMenu = require('./ui/ContextMenu.js');
5
5
  var useSendbirdStateContext = require('./useSendbirdStateContext.js');
6
- var LocalizationContext = require('./LocalizationContext-7a6ca1b0.js');
6
+ var LocalizationContext = require('./LocalizationContext-a60a75a7.js');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9
 
@@ -191,4 +191,4 @@ exports.isFineDelete = isFineDelete;
191
191
  exports.isFineEdit = isFineEdit;
192
192
  exports.isFineResend = isFineResend;
193
193
  exports.showMenuTrigger = showMenuTrigger;
194
- //# sourceMappingURL=index-977eae2e.js.map
194
+ //# sourceMappingURL=index-254f336f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-977eae2e.js","sources":["../../src/utils/openChannelUtils.ts","../../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n isFineEdit({ message, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n )\n}\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_a","messageType","_b","length","isFineResend","isResendable","isFineEdit","isUserMessage","call","isFineDelete","isFineDownload","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","ContextMenu","MenuItems","MenuItem","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","url","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
1
+ {"version":3,"file":"index-254f336f.js","sources":["../../src/utils/openChannelUtils.ts","../../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n isFineEdit({ message, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n )\n}\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_a","messageType","_b","length","isFineResend","isResendable","isFineEdit","isUserMessage","call","isFineDelete","isFineDownload","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","ContextMenu","MenuItems","MenuItem","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","url","CONTEXT_MENU_DROPDOWN__SAVE"],"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-926872a3.js');
9
- var LocalizationContext = require('./LocalizationContext-7a6ca1b0.js');
10
- var consts = require('./consts-54febc80.js');
8
+ var ui_Label = require('./index-e97ad39a.js');
9
+ var LocalizationContext = require('./LocalizationContext-a60a75a7.js');
10
+ var consts = require('./consts-47e4d487.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-093f5d99.js.map
178
+ //# sourceMappingURL=index-31f28d2f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-093f5d99.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-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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"}
@@ -6,4 +6,4 @@ require('react');
6
6
  const MODAL_ROOT = 'sendbird-modal-root';
7
7
 
8
8
  exports.MODAL_ROOT = MODAL_ROOT;
9
- //# sourceMappingURL=index-6bc6c2d0.js.map
9
+ //# sourceMappingURL=index-4678a454.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-6bc6c2d0.js","sources":["../../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} className={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;;;AAAA;AAGO,MAAMA,UAAU,GAAG;;;;"}
1
+ {"version":3,"file":"index-4678a454.js","sources":["../../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} className={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;;;AAAA;AAGO,MAAMA,UAAU,GAAG;;;;"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var tslib_es6 = require('./tslib.es6-d43b6c33.js');
5
- var consts = require('./consts-54febc80.js');
4
+ var tslib_es6 = require('./tslib.es6-e6498d62.js');
5
+ var consts = require('./consts-47e4d487.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-d72adfae.js.map
280
+ //# sourceMappingURL=index-4c8c854d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-d72adfae.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-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,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-d43b6c33.js');
3
+ var tslib_es6 = require('./tslib.es6-e6498d62.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-926872a3.js');
10
- var LocalizationContext = require('./LocalizationContext-7a6ca1b0.js');
11
- var UserProfileContext = require('./UserProfileContext-62a76572.js');
12
- require('./context-c4dd79d5.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');
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-e521af24.js');
19
+ var utils = require('./utils-c95c0536.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-cc592f23.js.map
360
+ //# sourceMappingURL=index-62b0b176.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-cc592f23.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
+ {"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":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-626a6683.js');
3
+ var index = require('./index-987764bd.js');
4
4
 
5
5
  function requiredArgs(required, args) {
6
6
  if (args.length < required) {
@@ -1854,4 +1854,4 @@ exports.format = format;
1854
1854
  exports.requiredArgs = requiredArgs;
1855
1855
  exports.toDate = toDate;
1856
1856
  exports.toInteger = toInteger;
1857
- //# sourceMappingURL=index-726df8d6.js.map
1857
+ //# sourceMappingURL=index-7f8189a8.js.map