@sendbird/uikit-react 3.5.0-mobile-rc-4 → 3.5.0-mobile-web-5

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 (508) hide show
  1. package/App.js +56 -48
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +19 -19
  4. package/Channel/components/ChannelUI.js +41 -41
  5. package/Channel/components/FileViewer.js +15 -15
  6. package/Channel/components/FrozenNotification.js +4 -4
  7. package/Channel/components/Message.js +36 -36
  8. package/Channel/components/MessageInput.js +29 -29
  9. package/Channel/components/MessageList.js +37 -37
  10. package/Channel/components/RemoveMessageModal.js +17 -17
  11. package/Channel/components/SuggestedMentionList.js +17 -17
  12. package/Channel/components/TypingIndicator.js +15 -15
  13. package/Channel/components/UnreadCount.js +4 -4
  14. package/Channel/context.js +12 -12
  15. package/Channel.js +41 -41
  16. package/ChannelList/components/AddChannel.js +14 -14
  17. package/ChannelList/components/ChannelListHeader.js +6 -6
  18. package/ChannelList/components/ChannelListUI.js +30 -30
  19. package/ChannelList/components/ChannelPreview.js +26 -26
  20. package/ChannelList/components/ChannelPreviewAction.js +13 -13
  21. package/ChannelList/context.js +7 -7
  22. package/ChannelList.js +30 -30
  23. package/{ChannelListProvider-f765be02.js → ChannelListProvider-8e3af350.js} +7 -7
  24. package/{ChannelListProvider-f765be02.js.map → ChannelListProvider-8e3af350.js.map} +1 -1
  25. package/{ChannelProvider-fa290b6f.js → ChannelProvider-cb73270f.js} +11 -11
  26. package/{ChannelProvider-fa290b6f.js.map → ChannelProvider-cb73270f.js.map} +1 -1
  27. package/ChannelSettings/components/ChannelProfile.js +11 -11
  28. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  29. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  30. package/ChannelSettings/components/LeaveChannel.js +11 -11
  31. package/ChannelSettings/components/ModerationPanel.js +14 -14
  32. package/ChannelSettings/components/UserListItem.js +10 -10
  33. package/ChannelSettings/components/UserPanel.js +13 -13
  34. package/ChannelSettings/context.js +3 -3
  35. package/ChannelSettings.js +17 -17
  36. package/CreateChannel/components/CreateChannelUI.js +13 -13
  37. package/CreateChannel/components/InviteUsers.js +13 -13
  38. package/CreateChannel/components/SelectChannelType.js +10 -10
  39. package/CreateChannel/context.js +4 -4
  40. package/CreateChannel.js +13 -13
  41. package/{CreateChannelProvider-121560fb.js → CreateChannelProvider-3173e8cd.js} +1 -1
  42. package/{CreateChannelProvider-121560fb.js.map → CreateChannelProvider-3173e8cd.js.map} +1 -1
  43. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  44. package/CreateOpenChannel/context.js +1 -1
  45. package/CreateOpenChannel.js +9 -9
  46. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  47. package/EditUserProfile.js +12 -12
  48. package/{LocalizationContext-98d0f9ef.js → LocalizationContext-689d8aa4.js} +3 -3
  49. package/{LocalizationContext-98d0f9ef.js.map → LocalizationContext-689d8aa4.js.map} +1 -1
  50. package/{MediaQueryContext-08f242eb.js → MediaQueryContext-2604d3dc.js} +1 -1
  51. package/{MediaQueryContext-08f242eb.js.map → MediaQueryContext-2604d3dc.js.map} +1 -1
  52. package/{MemberList-aa2b532d.js → MemberList-7b3e0ace.js} +5 -5
  53. package/{MemberList-aa2b532d.js.map → MemberList-7b3e0ace.js.map} +1 -1
  54. package/MessageSearch/components/MessageSearchUI.js +11 -11
  55. package/MessageSearch/context.js +1 -1
  56. package/MessageSearch.js +11 -11
  57. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  58. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  59. package/OpenChannel/components/OpenChannelInput.js +19 -19
  60. package/OpenChannel/components/OpenChannelMessage.js +27 -27
  61. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  62. package/OpenChannel/components/OpenChannelUI.js +31 -31
  63. package/OpenChannel/context.js +8 -8
  64. package/OpenChannel.js +31 -31
  65. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  66. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  67. package/OpenChannelList/context.js +3 -3
  68. package/OpenChannelList.js +13 -13
  69. package/{OpenChannelListProvider-f73b2d55.js → OpenChannelListProvider-154424c5.js} +3 -3
  70. package/{OpenChannelListProvider-f73b2d55.js.map → OpenChannelListProvider-154424c5.js.map} +1 -1
  71. package/{OpenChannelProvider-f7a70c1c.js → OpenChannelProvider-fc50a84b.js} +7 -7
  72. package/{OpenChannelProvider-f7a70c1c.js.map → OpenChannelProvider-fc50a84b.js.map} +1 -1
  73. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  74. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  75. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  76. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  77. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  78. package/OpenChannelSettings/context.js +3 -3
  79. package/OpenChannelSettings.js +17 -17
  80. package/{RemoveMessageModal-d00083f8.js → RemoveMessageModal-c345043b.js} +3 -3
  81. package/{RemoveMessageModal-d00083f8.js.map → RemoveMessageModal-c345043b.js.map} +1 -1
  82. package/SendbirdProvider.js +38 -24
  83. package/SendbirdProvider.js.map +1 -1
  84. package/Thread/components/ParentMessageInfo.js +34 -33
  85. package/Thread/components/ParentMessageInfo.js.map +1 -1
  86. package/Thread/components/ParentMessageInfoItem.js +21 -21
  87. package/Thread/components/ThreadHeader.js +6 -6
  88. package/Thread/components/ThreadList.js +36 -36
  89. package/Thread/components/ThreadListItem.js +36 -36
  90. package/Thread/components/ThreadMessageInput.js +30 -30
  91. package/Thread/components/ThreadUI.js +40 -40
  92. package/Thread/context.js +8 -8
  93. package/Thread.js +40 -40
  94. package/{ThreadProvider-29ee3fd4.js → ThreadProvider-4ecee019.js} +10 -10
  95. package/ThreadProvider-4ecee019.js.map +1 -0
  96. package/{UserProfileContext-876edecc.js → UserProfileContext-4c07230f.js} +1 -1
  97. package/{UserProfileContext-876edecc.js.map → UserProfileContext-4c07230f.js.map} +1 -1
  98. package/{VoiceMessageInputWrapper-0edc0592.js → VoiceMessageInputWrapper-5f95a888.js} +7 -7
  99. package/{VoiceMessageInputWrapper-0edc0592.js.map → VoiceMessageInputWrapper-5f95a888.js.map} +1 -1
  100. package/VoicePlayer/context.js +3 -3
  101. package/VoicePlayer/useVoicePlayer.js +9 -9
  102. package/VoiceRecorder/context.js +9 -9
  103. package/VoiceRecorder/useVoiceRecorder.js +8 -8
  104. package/{WebAudioUtils-77bc634e.js → WebAudioUtils-30020f07.js} +1 -1
  105. package/{WebAudioUtils-77bc634e.js.map → WebAudioUtils-30020f07.js.map} +1 -1
  106. package/{_rollupPluginBabelHelpers-67b8fcb1.js → _rollupPluginBabelHelpers-b764bedf.js} +1 -1
  107. package/_rollupPluginBabelHelpers-b764bedf.js.map +1 -0
  108. package/{actionTypes-f6ad76a3.js → actionTypes-e6bdb61c.js} +1 -1
  109. package/{actionTypes-f6ad76a3.js.map → actionTypes-e6bdb61c.js.map} +1 -1
  110. package/cjs/App.js +56 -48
  111. package/cjs/App.js.map +1 -1
  112. package/cjs/Channel/components/ChannelHeader.js +19 -19
  113. package/cjs/Channel/components/ChannelUI.js +41 -41
  114. package/cjs/Channel/components/FileViewer.js +15 -15
  115. package/cjs/Channel/components/FrozenNotification.js +4 -4
  116. package/cjs/Channel/components/Message.js +36 -36
  117. package/cjs/Channel/components/MessageInput.js +29 -29
  118. package/cjs/Channel/components/MessageList.js +37 -37
  119. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  120. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  121. package/cjs/Channel/components/TypingIndicator.js +15 -15
  122. package/cjs/Channel/components/UnreadCount.js +4 -4
  123. package/cjs/Channel/context.js +12 -12
  124. package/cjs/Channel.js +41 -41
  125. package/cjs/ChannelList/components/AddChannel.js +14 -14
  126. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  127. package/cjs/ChannelList/components/ChannelListUI.js +30 -30
  128. package/cjs/ChannelList/components/ChannelPreview.js +26 -26
  129. package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
  130. package/cjs/ChannelList/context.js +7 -7
  131. package/cjs/ChannelList.js +30 -30
  132. package/cjs/{ChannelListProvider-bb4a7d35.js → ChannelListProvider-ce4ea47a.js} +7 -7
  133. package/cjs/{ChannelListProvider-bb4a7d35.js.map → ChannelListProvider-ce4ea47a.js.map} +1 -1
  134. package/cjs/{ChannelProvider-29c98b93.js → ChannelProvider-0dba8547.js} +11 -11
  135. package/cjs/{ChannelProvider-29c98b93.js.map → ChannelProvider-0dba8547.js.map} +1 -1
  136. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  137. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  138. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  139. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  140. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  141. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  142. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  143. package/cjs/ChannelSettings/context.js +3 -3
  144. package/cjs/ChannelSettings.js +17 -17
  145. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  146. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  147. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  148. package/cjs/CreateChannel/context.js +4 -4
  149. package/cjs/CreateChannel.js +13 -13
  150. package/cjs/{CreateChannelProvider-e7a69d9e.js → CreateChannelProvider-b4859589.js} +1 -1
  151. package/cjs/{CreateChannelProvider-e7a69d9e.js.map → CreateChannelProvider-b4859589.js.map} +1 -1
  152. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  153. package/cjs/CreateOpenChannel/context.js +1 -1
  154. package/cjs/CreateOpenChannel.js +9 -9
  155. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  156. package/cjs/EditUserProfile.js +12 -12
  157. package/cjs/{LocalizationContext-5077fe4a.js → LocalizationContext-b57dbbb3.js} +3 -3
  158. package/cjs/{LocalizationContext-5077fe4a.js.map → LocalizationContext-b57dbbb3.js.map} +1 -1
  159. package/cjs/{MediaQueryContext-734ae1c9.js → MediaQueryContext-6cbb7b30.js} +1 -1
  160. package/cjs/{MediaQueryContext-734ae1c9.js.map → MediaQueryContext-6cbb7b30.js.map} +1 -1
  161. package/cjs/{MemberList-e2cecad9.js → MemberList-6d3240f1.js} +5 -5
  162. package/cjs/{MemberList-e2cecad9.js.map → MemberList-6d3240f1.js.map} +1 -1
  163. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  164. package/cjs/MessageSearch/context.js +1 -1
  165. package/cjs/MessageSearch.js +11 -11
  166. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  167. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  168. package/cjs/OpenChannel/components/OpenChannelInput.js +19 -19
  169. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
  170. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  171. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  172. package/cjs/OpenChannel/context.js +8 -8
  173. package/cjs/OpenChannel.js +31 -31
  174. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  175. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  176. package/cjs/OpenChannelList/context.js +3 -3
  177. package/cjs/OpenChannelList.js +13 -13
  178. package/cjs/{OpenChannelListProvider-fd66f73c.js → OpenChannelListProvider-3a4075da.js} +3 -3
  179. package/cjs/{OpenChannelListProvider-fd66f73c.js.map → OpenChannelListProvider-3a4075da.js.map} +1 -1
  180. package/cjs/{OpenChannelProvider-26aa8a5b.js → OpenChannelProvider-e5968018.js} +7 -7
  181. package/cjs/{OpenChannelProvider-26aa8a5b.js.map → OpenChannelProvider-e5968018.js.map} +1 -1
  182. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  183. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  184. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  185. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  186. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  187. package/cjs/OpenChannelSettings/context.js +3 -3
  188. package/cjs/OpenChannelSettings.js +17 -17
  189. package/cjs/{RemoveMessageModal-38dcf5d3.js → RemoveMessageModal-f195bcd6.js} +3 -3
  190. package/cjs/{RemoveMessageModal-38dcf5d3.js.map → RemoveMessageModal-f195bcd6.js.map} +1 -1
  191. package/cjs/SendbirdProvider.js +37 -23
  192. package/cjs/SendbirdProvider.js.map +1 -1
  193. package/cjs/Thread/components/ParentMessageInfo.js +34 -33
  194. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  195. package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
  196. package/cjs/Thread/components/ThreadHeader.js +6 -6
  197. package/cjs/Thread/components/ThreadList.js +36 -36
  198. package/cjs/Thread/components/ThreadListItem.js +36 -36
  199. package/cjs/Thread/components/ThreadMessageInput.js +30 -30
  200. package/cjs/Thread/components/ThreadUI.js +40 -40
  201. package/cjs/Thread/context.js +8 -8
  202. package/cjs/Thread.js +40 -40
  203. package/cjs/{ThreadProvider-4c69290e.js → ThreadProvider-0508aa6b.js} +10 -10
  204. package/cjs/ThreadProvider-0508aa6b.js.map +1 -0
  205. package/cjs/{UserProfileContext-c4f05bb0.js → UserProfileContext-47da79ce.js} +1 -1
  206. package/cjs/{UserProfileContext-c4f05bb0.js.map → UserProfileContext-47da79ce.js.map} +1 -1
  207. package/cjs/{VoiceMessageInputWrapper-df54ab5c.js → VoiceMessageInputWrapper-19bb43d1.js} +7 -7
  208. package/cjs/{VoiceMessageInputWrapper-df54ab5c.js.map → VoiceMessageInputWrapper-19bb43d1.js.map} +1 -1
  209. package/cjs/VoicePlayer/context.js +3 -3
  210. package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
  211. package/cjs/VoiceRecorder/context.js +9 -9
  212. package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
  213. package/cjs/{WebAudioUtils-8d1d54b9.js → WebAudioUtils-607e6d36.js} +1 -1
  214. package/cjs/{WebAudioUtils-8d1d54b9.js.map → WebAudioUtils-607e6d36.js.map} +1 -1
  215. package/cjs/{_rollupPluginBabelHelpers-adf1aba0.js → _rollupPluginBabelHelpers-eb6b8b27.js} +1 -1
  216. package/cjs/_rollupPluginBabelHelpers-eb6b8b27.js.map +1 -0
  217. package/cjs/{actionTypes-9bcfb089.js → actionTypes-5b18beb9.js} +1 -1
  218. package/cjs/{actionTypes-9bcfb089.js.map → actionTypes-5b18beb9.js.map} +1 -1
  219. package/cjs/{color-baf4f7ac.js → color-1d73789a.js} +1 -1
  220. package/cjs/{color-baf4f7ac.js.map → color-1d73789a.js.map} +1 -1
  221. package/cjs/{compareIds-1cba4056.js → compareIds-1e3d2ab4.js} +1 -1
  222. package/cjs/{compareIds-1cba4056.js.map → compareIds-1e3d2ab4.js.map} +1 -1
  223. package/cjs/{const-66f2367d.js → const-23450239.js} +1 -1
  224. package/cjs/{const-66f2367d.js.map → const-23450239.js.map} +1 -1
  225. package/cjs/{const-7dbc9e4e.js → const-a2bea8cb.js} +1 -1
  226. package/cjs/{const-7dbc9e4e.js.map → const-a2bea8cb.js.map} +1 -1
  227. package/cjs/{consts-a96b7d38.js → consts-10ef7616.js} +1 -1
  228. package/cjs/{consts-a96b7d38.js.map → consts-10ef7616.js.map} +1 -1
  229. package/cjs/{consts-117364e2.js → consts-384c3f07.js} +1 -1
  230. package/cjs/{consts-117364e2.js.map → consts-384c3f07.js.map} +1 -1
  231. package/cjs/{consts-b8abaa6f.js → consts-b7b7a6e1.js} +1 -1
  232. package/cjs/{consts-b8abaa6f.js.map → consts-b7b7a6e1.js.map} +1 -1
  233. package/cjs/{consts-016d7043.js → consts-da8cf320.js} +1 -1
  234. package/cjs/{consts-016d7043.js.map → consts-da8cf320.js.map} +1 -1
  235. package/cjs/{context-2a4c2d22.js → context-7a760f10.js} +2 -2
  236. package/cjs/{context-2a4c2d22.js.map → context-7a760f10.js.map} +1 -1
  237. package/cjs/dist/index.css +159 -144
  238. package/cjs/dist/index.css.map +1 -1
  239. package/cjs/{index-bde9599e.js → index-0bfdb242.js} +2 -7
  240. package/cjs/index-0bfdb242.js.map +1 -0
  241. package/cjs/{index-f74334ce.js → index-2abc972f.js} +3 -3
  242. package/cjs/{index-f74334ce.js.map → index-2abc972f.js.map} +1 -1
  243. package/cjs/{index-16555e69.js → index-3302aa9f.js} +4 -4
  244. package/cjs/{index-16555e69.js.map → index-3302aa9f.js.map} +1 -1
  245. package/cjs/{index-621e3015.js → index-37e8cb7f.js} +1 -1
  246. package/cjs/{index-621e3015.js.map → index-37e8cb7f.js.map} +1 -1
  247. package/cjs/{index-eb15a4ee.js → index-3bf38657.js} +6 -6
  248. package/cjs/{index-eb15a4ee.js.map → index-3bf38657.js.map} +1 -1
  249. package/cjs/{index-f14cc718.js → index-4836de1e.js} +5 -5
  250. package/cjs/{index-f14cc718.js.map → index-4836de1e.js.map} +1 -1
  251. package/cjs/{index-fc4eaae0.js → index-48e4dc27.js} +2 -2
  252. package/cjs/{index-fc4eaae0.js.map → index-48e4dc27.js.map} +1 -1
  253. package/cjs/{index-549994d9.js → index-560e60c2.js} +34 -19
  254. package/cjs/index-560e60c2.js.map +1 -0
  255. package/cjs/{index-53273d37.js → index-572ef10a.js} +1 -1
  256. package/cjs/{index-53273d37.js.map → index-572ef10a.js.map} +1 -1
  257. package/cjs/{index-d4e18bf9.js → index-604a4266.js} +2 -2
  258. package/cjs/{index-d4e18bf9.js.map → index-604a4266.js.map} +1 -1
  259. package/cjs/{index-36f8250f.js → index-735ab91e.js} +2 -2
  260. package/cjs/{index-36f8250f.js.map → index-735ab91e.js.map} +1 -1
  261. package/cjs/{index-f530a2c2.js → index-95cb25f2.js} +4 -4
  262. package/cjs/{index-f530a2c2.js.map → index-95cb25f2.js.map} +1 -1
  263. package/cjs/{index-17d4f887.js → index-bd8d9af4.js} +3 -3
  264. package/cjs/{index-17d4f887.js.map → index-bd8d9af4.js.map} +1 -1
  265. package/cjs/{index-a47e4fd8.js → index-ccb95f1e.js} +6 -6
  266. package/cjs/{index-a47e4fd8.js.map → index-ccb95f1e.js.map} +1 -1
  267. package/cjs/{index-eb9a1faa.js → index-d2315c53.js} +3 -3
  268. package/cjs/{index-eb9a1faa.js.map → index-d2315c53.js.map} +1 -1
  269. package/cjs/{index-e7a4c994.js → index-e811013a.js} +2 -2
  270. package/cjs/{index-e7a4c994.js.map → index-e811013a.js.map} +1 -1
  271. package/cjs/{index-147cf333.js → index-eda19173.js} +2 -2
  272. package/cjs/{index-147cf333.js.map → index-eda19173.js.map} +1 -1
  273. package/cjs/index.js +52 -52
  274. package/cjs/{index.module-d0516000.js → index.module-ea6bd1f1.js} +1 -1
  275. package/cjs/{index.module-d0516000.js.map → index.module-ea6bd1f1.js.map} +1 -1
  276. package/cjs/{resolvedReplyType-96f32c03.js → resolvedReplyType-8a349b8c.js} +1 -1
  277. package/cjs/{resolvedReplyType-96f32c03.js.map → resolvedReplyType-8a349b8c.js.map} +1 -1
  278. package/cjs/sendbirdSelectors.js +3 -3
  279. package/cjs/{stringSet-69ca82fa.js → stringSet-2450c9e9.js} +1 -1
  280. package/cjs/{stringSet-69ca82fa.js.map → stringSet-2450c9e9.js.map} +1 -1
  281. package/cjs/{tokenize-2bf879b9.js → tokenize-f217adbe.js} +2 -2
  282. package/cjs/{tokenize-2bf879b9.js.map → tokenize-f217adbe.js.map} +1 -1
  283. package/cjs/{topics-0c78e863.js → topics-03a59659.js} +1 -1
  284. package/cjs/{topics-0c78e863.js.map → topics-03a59659.js.map} +1 -1
  285. package/cjs/{types-0c970a08.js → types-86058820.js} +1 -1
  286. package/cjs/{types-0c970a08.js.map → types-86058820.js.map} +1 -1
  287. package/cjs/ui/Accordion.js +2 -2
  288. package/cjs/ui/AccordionGroup.js +2 -2
  289. package/cjs/ui/AdminMessage.js +2 -2
  290. package/cjs/ui/Avatar.js +1 -1
  291. package/cjs/ui/Badge.js +4 -4
  292. package/cjs/ui/BottomSheet.js +1 -1
  293. package/cjs/ui/Button.js +2 -2
  294. package/cjs/ui/ChannelAvatar.js +2 -2
  295. package/cjs/ui/ConnectionStatus.js +4 -4
  296. package/cjs/ui/ContextMenu.js +5 -5
  297. package/cjs/ui/DateSeparator.js +3 -3
  298. package/cjs/ui/EmojiReactions.js +13 -13
  299. package/cjs/ui/FileMessageItemBody.js +6 -6
  300. package/cjs/ui/FileViewer.js +8 -8
  301. package/cjs/ui/IconButton.js +1 -1
  302. package/cjs/ui/Input.js +2 -2
  303. package/cjs/ui/Label.js +2 -2
  304. package/cjs/ui/LinkLabel.js +2 -2
  305. package/cjs/ui/MentionLabel.js +10 -10
  306. package/cjs/ui/MentionUserLabel.js +1 -1
  307. package/cjs/ui/MessageContent.js +28 -28
  308. package/cjs/ui/MessageInput.js +13 -13
  309. package/cjs/ui/MessageItemMenu.js +8 -8
  310. package/cjs/ui/MessageItemReactionMenu.js +8 -8
  311. package/cjs/ui/MessageSearchFileItem.js +10 -10
  312. package/cjs/ui/MessageSearchItem.js +8 -8
  313. package/cjs/ui/MessageStatus.js +10 -10
  314. package/cjs/ui/Modal.js +7 -7
  315. package/cjs/ui/OGMessageItemBody.js +14 -14
  316. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  317. package/cjs/ui/OpenChannelAvatar.js +5 -5
  318. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  319. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  320. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  321. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  322. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  323. package/cjs/ui/PlaceHolder.js +5 -5
  324. package/cjs/ui/PlaybackTime.js +2 -2
  325. package/cjs/ui/QuoteMessage.js +6 -6
  326. package/cjs/ui/QuoteMessageInput.js +6 -6
  327. package/cjs/ui/ReactionBadge.js +2 -2
  328. package/cjs/ui/ReactionButton.js +4 -4
  329. package/cjs/ui/SortByRow.js +1 -1
  330. package/cjs/ui/TextButton.js +1 -1
  331. package/cjs/ui/TextMessageItemBody.js +14 -14
  332. package/cjs/ui/ThreadReplies.js +5 -5
  333. package/cjs/ui/ThumbnailMessageItemBody.js +5 -5
  334. package/cjs/ui/Toggle.js +1 -1
  335. package/cjs/ui/Tooltip.js +2 -2
  336. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  337. package/cjs/ui/UserListItem.js +10 -10
  338. package/cjs/ui/UserProfile.js +9 -9
  339. package/cjs/ui/VoiceMessageItemBody.js +9 -9
  340. package/cjs/ui/VoiceMessgeInput.js +7 -7
  341. package/cjs/ui/Word.js +10 -10
  342. package/cjs/{useDirtyGetMentions-80611147.js → useDirtyGetMentions-73c92dd1.js} +1 -1
  343. package/cjs/{useDirtyGetMentions-80611147.js.map → useDirtyGetMentions-73c92dd1.js.map} +1 -1
  344. package/cjs/{useLongPress-d1ebf7be.js → useLongPress-b013fc04.js} +3 -3
  345. package/cjs/{useLongPress-d1ebf7be.js.map → useLongPress-b013fc04.js.map} +1 -1
  346. package/cjs/useSendbirdStateContext.js +1 -1
  347. package/cjs/utils/message/isVoiceMessage.js +2 -2
  348. package/cjs/{utils-4123016b.js → utils-44170a0b.js} +2 -2
  349. package/cjs/{utils-4123016b.js.map → utils-44170a0b.js.map} +1 -1
  350. package/cjs/{utils-26f6ba66.js → utils-6828954f.js} +1 -1
  351. package/cjs/{utils-26f6ba66.js.map → utils-6828954f.js.map} +1 -1
  352. package/cjs/{utils-863d8360.js → utils-d2968db1.js} +1 -1
  353. package/cjs/{utils-863d8360.js.map → utils-d2968db1.js.map} +1 -1
  354. package/cjs/{utils-399e42e0.js → utils-feec79a2.js} +1 -1
  355. package/cjs/{utils-399e42e0.js.map → utils-feec79a2.js.map} +1 -1
  356. package/cjs/{uuid-415e7036.js → uuid-ec351d96.js} +1 -1
  357. package/cjs/{uuid-415e7036.js.map → uuid-ec351d96.js.map} +1 -1
  358. package/cjs/withSendbird.js +1 -1
  359. package/{color-69f6e789.js → color-65ea9130.js} +1 -1
  360. package/{color-69f6e789.js.map → color-65ea9130.js.map} +1 -1
  361. package/{compareIds-38edfc55.js → compareIds-e8adfea2.js} +1 -1
  362. package/{compareIds-38edfc55.js.map → compareIds-e8adfea2.js.map} +1 -1
  363. package/{const-a243b539.js → const-2fda8942.js} +1 -1
  364. package/{const-a243b539.js.map → const-2fda8942.js.map} +1 -1
  365. package/{const-37554925.js → const-89c31819.js} +1 -1
  366. package/{const-37554925.js.map → const-89c31819.js.map} +1 -1
  367. package/{consts-ca67a8bb.js → consts-60bc9064.js} +1 -1
  368. package/{consts-ca67a8bb.js.map → consts-60bc9064.js.map} +1 -1
  369. package/{consts-5cbbba56.js → consts-746d9d54.js} +1 -1
  370. package/{consts-5cbbba56.js.map → consts-746d9d54.js.map} +1 -1
  371. package/{consts-2569b193.js → consts-a7afe685.js} +1 -1
  372. package/{consts-2569b193.js.map → consts-a7afe685.js.map} +1 -1
  373. package/{consts-3a3fab91.js → consts-f3cb0986.js} +1 -1
  374. package/{consts-3a3fab91.js.map → consts-f3cb0986.js.map} +1 -1
  375. package/{context-20f34f21.js → context-f542aa7f.js} +2 -2
  376. package/{context-20f34f21.js.map → context-f542aa7f.js.map} +1 -1
  377. package/dist/index.css +159 -144
  378. package/dist/index.css.map +1 -1
  379. package/{index-f6e1c352.js → index-1a9ad5e8.js} +3 -3
  380. package/{index-f6e1c352.js.map → index-1a9ad5e8.js.map} +1 -1
  381. package/{index-4142b9b8.js → index-1bb6ac7b.js} +5 -5
  382. package/{index-4142b9b8.js.map → index-1bb6ac7b.js.map} +1 -1
  383. package/{index-315dcf0d.js → index-284c6669.js} +34 -19
  384. package/index-284c6669.js.map +1 -0
  385. package/{index-3884739d.js → index-4415e3d4.js} +3 -7
  386. package/index-4415e3d4.js.map +1 -0
  387. package/{index-b42c0eb1.js → index-68e4f991.js} +4 -4
  388. package/{index-b42c0eb1.js.map → index-68e4f991.js.map} +1 -1
  389. package/{index-50634013.js → index-6d5e4fbe.js} +2 -2
  390. package/{index-50634013.js.map → index-6d5e4fbe.js.map} +1 -1
  391. package/{index-f697fbcb.js → index-8ca9e057.js} +1 -1
  392. package/{index-f697fbcb.js.map → index-8ca9e057.js.map} +1 -1
  393. package/{index-a5c6db93.js → index-915d9f7d.js} +3 -3
  394. package/{index-a5c6db93.js.map → index-915d9f7d.js.map} +1 -1
  395. package/{index-a4584e34.js → index-920644b3.js} +2 -2
  396. package/{index-a4584e34.js.map → index-920644b3.js.map} +1 -1
  397. package/{index-c13a345e.js → index-ada3d917.js} +2 -2
  398. package/{index-c13a345e.js.map → index-ada3d917.js.map} +1 -1
  399. package/{index-fdfe6417.js → index-c2c5dd5d.js} +2 -2
  400. package/{index-fdfe6417.js.map → index-c2c5dd5d.js.map} +1 -1
  401. package/{index-ae663bfa.js → index-d83e2bc2.js} +1 -1
  402. package/{index-ae663bfa.js.map → index-d83e2bc2.js.map} +1 -1
  403. package/{index-eb5489b5.js → index-dc264d1a.js} +6 -6
  404. package/{index-eb5489b5.js.map → index-dc264d1a.js.map} +1 -1
  405. package/{index-d9e61250.js → index-e7546341.js} +2 -2
  406. package/{index-d9e61250.js.map → index-e7546341.js.map} +1 -1
  407. package/{index-9d36647d.js → index-ea60d5ce.js} +6 -6
  408. package/{index-9d36647d.js.map → index-ea60d5ce.js.map} +1 -1
  409. package/{index-31460208.js → index-ef404210.js} +4 -4
  410. package/{index-31460208.js.map → index-ef404210.js.map} +1 -1
  411. package/{index-1fa6dddb.js → index-fba0a213.js} +3 -3
  412. package/{index-1fa6dddb.js.map → index-fba0a213.js.map} +1 -1
  413. package/index.d.ts +1 -2
  414. package/index.js +52 -52
  415. package/{index.module-7ee52842.js → index.module-8c38026f.js} +1 -1
  416. package/{index.module-7ee52842.js.map → index.module-8c38026f.js.map} +1 -1
  417. package/package.json +2 -2
  418. package/{resolvedReplyType-db634471.js → resolvedReplyType-3b091b4c.js} +1 -1
  419. package/{resolvedReplyType-db634471.js.map → resolvedReplyType-3b091b4c.js.map} +1 -1
  420. package/sendbirdSelectors.js +3 -3
  421. package/{stringSet-48003663.js → stringSet-21b6dbb8.js} +1 -1
  422. package/{stringSet-48003663.js.map → stringSet-21b6dbb8.js.map} +1 -1
  423. package/{tokenize-d4044e1f.js → tokenize-52f8c30c.js} +2 -2
  424. package/{tokenize-d4044e1f.js.map → tokenize-52f8c30c.js.map} +1 -1
  425. package/{topics-913cf30c.js → topics-89a856f6.js} +1 -1
  426. package/{topics-913cf30c.js.map → topics-89a856f6.js.map} +1 -1
  427. package/{types-406698d9.js → types-e62d482c.js} +1 -1
  428. package/{types-406698d9.js.map → types-e62d482c.js.map} +1 -1
  429. package/ui/Accordion.js +2 -2
  430. package/ui/AccordionGroup.js +2 -2
  431. package/ui/AdminMessage.js +2 -2
  432. package/ui/Avatar.js +1 -1
  433. package/ui/Badge.js +4 -4
  434. package/ui/BottomSheet.js +1 -1
  435. package/ui/Button.js +2 -2
  436. package/ui/ChannelAvatar.js +2 -2
  437. package/ui/ConnectionStatus.js +4 -4
  438. package/ui/ContextMenu.js +5 -5
  439. package/ui/DateSeparator.js +3 -3
  440. package/ui/EmojiReactions.js +13 -13
  441. package/ui/FileMessageItemBody.js +6 -6
  442. package/ui/FileViewer.js +8 -8
  443. package/ui/IconButton.js +1 -1
  444. package/ui/Input.js +2 -2
  445. package/ui/Label.js +2 -2
  446. package/ui/LinkLabel.js +2 -2
  447. package/ui/MentionLabel.js +10 -10
  448. package/ui/MentionUserLabel.js +1 -1
  449. package/ui/MessageContent.js +28 -28
  450. package/ui/MessageInput.js +13 -13
  451. package/ui/MessageItemMenu.js +8 -8
  452. package/ui/MessageItemReactionMenu.js +8 -8
  453. package/ui/MessageSearchFileItem.js +10 -10
  454. package/ui/MessageSearchItem.js +8 -8
  455. package/ui/MessageStatus.js +10 -10
  456. package/ui/Modal.js +7 -7
  457. package/ui/OGMessageItemBody.js +14 -14
  458. package/ui/OpenChannelAdminMessage.js +2 -2
  459. package/ui/OpenChannelAvatar.js +5 -5
  460. package/ui/OpenchannelConversationHeader.js +6 -6
  461. package/ui/OpenchannelFileMessage.js +15 -15
  462. package/ui/OpenchannelOGMessage.js +18 -18
  463. package/ui/OpenchannelThumbnailMessage.js +14 -14
  464. package/ui/OpenchannelUserMessage.js +15 -15
  465. package/ui/PlaceHolder.js +5 -5
  466. package/ui/PlaybackTime.js +2 -2
  467. package/ui/QuoteMessage.js +6 -6
  468. package/ui/QuoteMessageInput.js +6 -6
  469. package/ui/ReactionBadge.js +2 -2
  470. package/ui/ReactionButton.js +4 -4
  471. package/ui/SortByRow.js +1 -1
  472. package/ui/TextButton.js +1 -1
  473. package/ui/TextMessageItemBody.js +14 -14
  474. package/ui/ThreadReplies.js +5 -5
  475. package/ui/ThumbnailMessageItemBody.js +5 -5
  476. package/ui/Toggle.js +1 -1
  477. package/ui/Tooltip.js +2 -2
  478. package/ui/UnknownMessageItemBody.js +6 -6
  479. package/ui/UserListItem.js +10 -10
  480. package/ui/UserProfile.js +9 -9
  481. package/ui/VoiceMessageItemBody.js +9 -9
  482. package/ui/VoiceMessgeInput.js +7 -7
  483. package/ui/Word.js +10 -10
  484. package/{useDirtyGetMentions-19f30317.js → useDirtyGetMentions-20e1c85d.js} +1 -1
  485. package/{useDirtyGetMentions-19f30317.js.map → useDirtyGetMentions-20e1c85d.js.map} +1 -1
  486. package/{useLongPress-84190b3e.js → useLongPress-0c20bd2f.js} +3 -3
  487. package/{useLongPress-84190b3e.js.map → useLongPress-0c20bd2f.js.map} +1 -1
  488. package/useSendbirdStateContext.js +1 -1
  489. package/utils/message/isVoiceMessage.js +2 -2
  490. package/{utils-12b3e12b.js → utils-95512c29.js} +1 -1
  491. package/{utils-12b3e12b.js.map → utils-95512c29.js.map} +1 -1
  492. package/{utils-49d7b734.js → utils-9ca6a7a1.js} +2 -2
  493. package/{utils-49d7b734.js.map → utils-9ca6a7a1.js.map} +1 -1
  494. package/{utils-06f531b7.js → utils-bee6567e.js} +1 -1
  495. package/{utils-06f531b7.js.map → utils-bee6567e.js.map} +1 -1
  496. package/{utils-5248be17.js → utils-cefd05d8.js} +1 -1
  497. package/{utils-5248be17.js.map → utils-cefd05d8.js.map} +1 -1
  498. package/{uuid-91cc1b9f.js → uuid-1141c1b4.js} +1 -1
  499. package/{uuid-91cc1b9f.js.map → uuid-1141c1b4.js.map} +1 -1
  500. package/withSendbird.js +1 -1
  501. package/ThreadProvider-29ee3fd4.js.map +0 -1
  502. package/_rollupPluginBabelHelpers-67b8fcb1.js.map +0 -1
  503. package/cjs/ThreadProvider-4c69290e.js.map +0 -1
  504. package/cjs/_rollupPluginBabelHelpers-adf1aba0.js.map +0 -1
  505. package/cjs/index-549994d9.js.map +0 -1
  506. package/cjs/index-bde9599e.js.map +0 -1
  507. package/index-315dcf0d.js.map +0 -1
  508. package/index-3884739d.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import React__default, { useReducer, useContext, createContext } from 'react';
2
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-67b8fcb1.js';
3
- import { f as VOICE_PLAYER_ROOT_ID, g as VOICE_PLAYER_AUDIO_ID, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from './consts-5cbbba56.js';
2
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-b764bedf.js';
3
+ import { f as VOICE_PLAYER_ROOT_ID, g as VOICE_PLAYER_AUDIO_ID, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from './consts-746d9d54.js';
4
4
  import useSendbirdStateContext from './useSendbirdStateContext.js';
5
5
 
6
6
  const INITIALIZE_AUDIO_UNIT = 'INITIALIZE_AUDIO_UNIT';
@@ -317,4 +317,4 @@ const VoicePlayerProvider = _ref => {
317
317
  const useVoicePlayerContext = () => useContext(Context);
318
318
 
319
319
  export { ALL as A, VoicePlayerProvider as V, VOICE_PLAYER_STATUS as a, AudioUnitDefaultValue as b, useVoicePlayerContext as u };
320
- //# sourceMappingURL=index-f6e1c352.js.map
320
+ //# sourceMappingURL=index-1a9ad5e8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-f6e1c352.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":["import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\n\nexport 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\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 { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\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: VOICE_PLAYER_STATUS.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 VOICE_PLAYER_STATUS,\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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\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\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = 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 const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\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 logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\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 logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n logger.info('VoicePlayer: Succeeded getting audio file.', { audioFile });\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 logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\n voicePlayerRoot?.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n }\n });\n };\n\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","_state$audioStorage","groupKey","payload","audioUnit","_objectSpread","audioPlayer","_state$audioStorage2","_state$audioStorage3","currentTime","_state$audioStorage4","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","_ref","children","voicePlayerDispatcher","useReducer","config","useSendbirdStateContext","logger","text","arguments","length","undefined","includes","info","_ref2","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","_audioStorage$groupKe","cachedAudioFile","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","_URL","_URL$createObjectURL","currentAudioUnit","Audio","URL","createObjectURL","call","id","volume","loop","onplaying","onpause","ontimeupdate","dataset","sbGroupId","childNodes","forEach","node","_element$dataset","element","thisGroupKey","sbGroupKey","_element$pause","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"index-1a9ad5e8.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":["import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\n\nexport 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\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 { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\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: VOICE_PLAYER_STATUS.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 VOICE_PLAYER_STATUS,\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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\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\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = 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 const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\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 logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\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 logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n logger.info('VoicePlayer: Succeeded getting audio file.', { audioFile });\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 logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\n voicePlayerRoot?.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n }\n });\n };\n\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","_state$audioStorage","groupKey","payload","audioUnit","_objectSpread","audioPlayer","_state$audioStorage2","_state$audioStorage3","currentTime","_state$audioStorage4","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","_ref","children","voicePlayerDispatcher","useReducer","config","useSendbirdStateContext","logger","text","arguments","length","undefined","includes","info","_ref2","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","_audioStorage$groupKe","cachedAudioFile","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","_URL","_URL$createObjectURL","currentAudioUnit","Audio","URL","createObjectURL","call","id","volume","loop","onplaying","onpause","ontimeupdate","dataset","sbGroupId","childNodes","forEach","node","_element$dataset","element","thisGroupKey","sbGroupKey","_element$pause","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import React__default, { useMemo, useRef, useContext, useState } from 'react';
2
2
  import Modal from './ui/Modal.js';
3
- import { a as LocalizationContext } from './LocalizationContext-98d0f9ef.js';
3
+ import { a as LocalizationContext } from './LocalizationContext-689d8aa4.js';
4
4
  import useSendbirdStateContext from './useSendbirdStateContext.js';
5
5
  import Input, { InputLabel } from './ui/Input.js';
6
6
  import Avatar from './ui/Avatar.js';
7
7
  import Icon, { IconTypes } from './ui/Icon.js';
8
8
  import { ButtonTypes } from './ui/Button.js';
9
- import { L as Label, a as LabelTypography, b as LabelColors } from './index-c13a345e.js';
9
+ import { L as Label, a as LabelTypography, b as LabelColors } from './index-ada3d917.js';
10
10
  import TextButton from './ui/TextButton.js';
11
- import { n as noop } from './utils-5248be17.js';
12
- import { U as USER_ACTIONS } from './actionTypes-f6ad76a3.js';
11
+ import { n as noop } from './utils-cefd05d8.js';
12
+ import { U as USER_ACTIONS } from './actionTypes-e6bdb61c.js';
13
13
 
14
14
  const EditUserProfileProviderContext = /*#__PURE__*/React__default.createContext(undefined);
15
15
  const EditUserProfileProvider = props => {
@@ -161,4 +161,4 @@ function EditUserProfile() {
161
161
  }
162
162
 
163
163
  export { EditUserProfileProvider as E, EditUserProfile as a };
164
- //# sourceMappingURL=index-4142b9b8.js.map
164
+ //# sourceMappingURL=index-1bb6ac7b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-4142b9b8.js","sources":["../src/modules/EditUserProfile/context/EditUserProfIleProvider.tsx","../src/modules/EditUserProfile/components/EditUserProfileUI/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport React, { useMemo } from 'react';\n\nconst EditUserProfileProviderContext = React.createContext(undefined);\n\nexport interface EditUserProfileProps {\n children?: React.ReactElement;\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nexport interface EditUserProfileProviderInterface {\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nconst EditUserProfileProvider: React.FC<EditUserProfileProps> = (props: EditUserProfileProps) => {\n const {\n children,\n onEditProfile,\n onCancel,\n onThemeChange,\n } = props;\n\n const value = useMemo(() => {\n return {\n onEditProfile,\n onCancel,\n onThemeChange,\n };\n }, []);\n\n return (\n <EditUserProfileProviderContext.Provider value={value}>\n {children}\n </EditUserProfileProviderContext.Provider>\n );\n};\n\nconst useEditUserProfileContext = (): EditUserProfileProviderInterface => (\n React.useContext(EditUserProfileProviderContext)\n);\n\nexport {\n EditUserProfileProvider,\n useEditUserProfileContext,\n};\n","import './edit-user-profile.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport { useEditUserProfileContext } from '../../context/EditUserProfIleProvider';\n\nimport Modal from '../../../../ui/Modal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Input, { InputLabel } from '../../../../ui/Input';\nimport Avatar from '../../../../ui/Avatar';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport Label, { LabelColors, LabelTypography } from '../../../../ui/Label';\nimport TextButton from '../../../../ui/TextButton';\nimport { noop } from '../../../../utils/utils';\nimport { USER_ACTIONS } from '../../../../lib/dux/user/actionTypes';\n\nexport default function EditUserProfile(): ReactElement {\n const editProfileProps = useEditUserProfileContext();\n const store = useSendbirdStateContext();\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n const {\n onEditProfile,\n onCancel,\n onThemeChange,\n } = editProfileProps;\n\n const theme = store?.config?.theme || 'light';\n const changeTheme = store?.config?.setCurrenttheme || noop;\n const user = store?.stores?.userStore?.user;\n const sdk = store?.stores?.sdkStore?.sdk;\n const userDispatcher = store?.dispatchers?.userDispatcher;\n\n return (\n <Modal\n titleText={stringSet.EDIT_PROFILE__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n type={ButtonTypes.PRIMARY}\n onCancel={onCancel}\n isFullScreenOnMobile\n onSubmit={() => {\n if (user?.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n sdk?.updateCurrentUserInfo({\n nickname: inputRef?.current?.value,\n profileImage: newFile,\n }).then((updatedUser) => {\n userDispatcher({ type: USER_ACTIONS.UPDATE_USER_INFO, payload: updatedUser });\n if (onEditProfile && typeof onEditProfile === 'function') {\n onEditProfile(updatedUser);\n }\n });\n }}\n >\n <form\n className=\"sendbird-edit-user-profile\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <section className=\"sendbird-edit-user-profile__img\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__img__avatar\">\n <Avatar\n width=\"80px\"\n height=\"80px\"\n src={currentImg || user?.profileUrl}\n />\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"sendbird-edit-user-profile__img__avatar-button\"\n disableUnderline\n onClick={() => hiddenInputRef.current.click()}\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.EDIT_PROFILE__IMAGE_UPLOAD}\n </Label>\n </TextButton>\n </section>\n <section className=\"sendbird-edit-user-profile__name\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n </InputLabel>\n <Input\n required={user?.nickname !== ''}\n name=\"sendbird-edit-user-profile__name__input\"\n ref={inputRef}\n value={user?.nickname}\n placeHolder={stringSet.EDIT_PROFILE__NICKNAME_PLACEHOLDER}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__userid\">\n <InputLabel>\n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n </InputLabel>\n <Input\n disabled\n name=\"sendbird-edit-user-profile__userid__input\"\n value={user?.userId}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__theme\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__THEME_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__theme__theme-icon\">\n {\n theme === 'dark'\n ? (\n <Icon\n onClick={() => {\n changeTheme('light');\n onThemeChange?.('light');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('light');\n // }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n changeTheme('dark');\n onThemeChange?.('dark');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('dark');\n // }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </section>\n </form>\n </Modal>\n );\n}\n"],"names":["EditUserProfileProviderContext","React","createContext","undefined","EditUserProfileProvider","props","children","onEditProfile","onCancel","onThemeChange","value","useMemo","createElement","Provider","useEditUserProfileContext","useContext","EditUserProfile","_store$config","_store$config2","_store$stores","_store$stores$userSto","_store$stores2","_store$stores2$sdkSto","_store$dispatchers","editProfileProps","store","useSendbirdStateContext","hiddenInputRef","useRef","inputRef","formRef","stringSet","LocalizationContext","currentImg","setCurrentImg","useState","newFile","setNewFile","theme","config","changeTheme","setCurrenttheme","noop","user","stores","userStore","sdk","sdkStore","userDispatcher","dispatchers","Modal","titleText","EDIT_PROFILE__TITLE","submitText","BUTTON__SAVE","type","ButtonTypes","PRIMARY","isFullScreenOnMobile","onSubmit","_inputRef$current","nickname","current","reportValidity","updateCurrentUserInfo","profileImage","then","updatedUser","USER_ACTIONS","UPDATE_USER_INFO","payload","className","ref","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","Avatar","width","height","src","profileUrl","accept","style","display","onChange","URL","createObjectURL","target","files","TextButton","disableUnderline","onClick","click","Label","LabelTypography","BUTTON_1","color","LabelColors","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","required","name","placeHolder","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","disabled","userId","EDIT_PROFILE__THEME_LABEL","Icon","IconTypes","TOGGLE_ON","TOGGLE_OFF"],"mappings":"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"}
1
+ {"version":3,"file":"index-1bb6ac7b.js","sources":["../src/modules/EditUserProfile/context/EditUserProfIleProvider.tsx","../src/modules/EditUserProfile/components/EditUserProfileUI/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport React, { useMemo } from 'react';\n\nconst EditUserProfileProviderContext = React.createContext(undefined);\n\nexport interface EditUserProfileProps {\n children?: React.ReactElement;\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nexport interface EditUserProfileProviderInterface {\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nconst EditUserProfileProvider: React.FC<EditUserProfileProps> = (props: EditUserProfileProps) => {\n const {\n children,\n onEditProfile,\n onCancel,\n onThemeChange,\n } = props;\n\n const value = useMemo(() => {\n return {\n onEditProfile,\n onCancel,\n onThemeChange,\n };\n }, []);\n\n return (\n <EditUserProfileProviderContext.Provider value={value}>\n {children}\n </EditUserProfileProviderContext.Provider>\n );\n};\n\nconst useEditUserProfileContext = (): EditUserProfileProviderInterface => (\n React.useContext(EditUserProfileProviderContext)\n);\n\nexport {\n EditUserProfileProvider,\n useEditUserProfileContext,\n};\n","import './edit-user-profile.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport { useEditUserProfileContext } from '../../context/EditUserProfIleProvider';\n\nimport Modal from '../../../../ui/Modal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Input, { InputLabel } from '../../../../ui/Input';\nimport Avatar from '../../../../ui/Avatar';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport Label, { LabelColors, LabelTypography } from '../../../../ui/Label';\nimport TextButton from '../../../../ui/TextButton';\nimport { noop } from '../../../../utils/utils';\nimport { USER_ACTIONS } from '../../../../lib/dux/user/actionTypes';\n\nexport default function EditUserProfile(): ReactElement {\n const editProfileProps = useEditUserProfileContext();\n const store = useSendbirdStateContext();\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n const {\n onEditProfile,\n onCancel,\n onThemeChange,\n } = editProfileProps;\n\n const theme = store?.config?.theme || 'light';\n const changeTheme = store?.config?.setCurrenttheme || noop;\n const user = store?.stores?.userStore?.user;\n const sdk = store?.stores?.sdkStore?.sdk;\n const userDispatcher = store?.dispatchers?.userDispatcher;\n\n return (\n <Modal\n titleText={stringSet.EDIT_PROFILE__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n type={ButtonTypes.PRIMARY}\n onCancel={onCancel}\n isFullScreenOnMobile\n onSubmit={() => {\n if (user?.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n sdk?.updateCurrentUserInfo({\n nickname: inputRef?.current?.value,\n profileImage: newFile,\n }).then((updatedUser) => {\n userDispatcher({ type: USER_ACTIONS.UPDATE_USER_INFO, payload: updatedUser });\n if (onEditProfile && typeof onEditProfile === 'function') {\n onEditProfile(updatedUser);\n }\n });\n }}\n >\n <form\n className=\"sendbird-edit-user-profile\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <section className=\"sendbird-edit-user-profile__img\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__img__avatar\">\n <Avatar\n width=\"80px\"\n height=\"80px\"\n src={currentImg || user?.profileUrl}\n />\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"sendbird-edit-user-profile__img__avatar-button\"\n disableUnderline\n onClick={() => hiddenInputRef.current.click()}\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.EDIT_PROFILE__IMAGE_UPLOAD}\n </Label>\n </TextButton>\n </section>\n <section className=\"sendbird-edit-user-profile__name\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n </InputLabel>\n <Input\n required={user?.nickname !== ''}\n name=\"sendbird-edit-user-profile__name__input\"\n ref={inputRef}\n value={user?.nickname}\n placeHolder={stringSet.EDIT_PROFILE__NICKNAME_PLACEHOLDER}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__userid\">\n <InputLabel>\n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n </InputLabel>\n <Input\n disabled\n name=\"sendbird-edit-user-profile__userid__input\"\n value={user?.userId}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__theme\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__THEME_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__theme__theme-icon\">\n {\n theme === 'dark'\n ? (\n <Icon\n onClick={() => {\n changeTheme('light');\n onThemeChange?.('light');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('light');\n // }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n changeTheme('dark');\n onThemeChange?.('dark');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('dark');\n // }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </section>\n </form>\n </Modal>\n );\n}\n"],"names":["EditUserProfileProviderContext","React","createContext","undefined","EditUserProfileProvider","props","children","onEditProfile","onCancel","onThemeChange","value","useMemo","createElement","Provider","useEditUserProfileContext","useContext","EditUserProfile","_store$config","_store$config2","_store$stores","_store$stores$userSto","_store$stores2","_store$stores2$sdkSto","_store$dispatchers","editProfileProps","store","useSendbirdStateContext","hiddenInputRef","useRef","inputRef","formRef","stringSet","LocalizationContext","currentImg","setCurrentImg","useState","newFile","setNewFile","theme","config","changeTheme","setCurrenttheme","noop","user","stores","userStore","sdk","sdkStore","userDispatcher","dispatchers","Modal","titleText","EDIT_PROFILE__TITLE","submitText","BUTTON__SAVE","type","ButtonTypes","PRIMARY","isFullScreenOnMobile","onSubmit","_inputRef$current","nickname","current","reportValidity","updateCurrentUserInfo","profileImage","then","updatedUser","USER_ACTIONS","UPDATE_USER_INFO","payload","className","ref","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","Avatar","width","height","src","profileUrl","accept","style","display","onChange","URL","createObjectURL","target","files","TextButton","disableUnderline","onClick","click","Label","LabelTypography","BUTTON_1","color","LabelColors","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","required","name","placeHolder","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","disabled","userId","EDIT_PROFILE__THEME_LABEL","Icon","IconTypes","TOGGLE_ON","TOGGLE_OFF"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import React__default, { useState } from 'react';
2
2
  import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
3
- import { q as isUserMessage, C as isSentMessage, D as isFailedMessage, E as isPendingMessage, k as isFileMessage, d as isVoiceMessage, O as isThreadMessage, F as copyToClipboard, P as isParentMessage, G as getEmojiListAll } from './index-3884739d.js';
4
- import { u as useLocalization } from './LocalizationContext-98d0f9ef.js';
3
+ import { q as isUserMessage, C as isSentMessage, D as isFailedMessage, E as isPendingMessage, k as isFileMessage, d as isVoiceMessage, O as isThreadMessage, F as copyToClipboard, G as getEmojiListAll } from './index-4415e3d4.js';
4
+ import { u as useLocalization } from './LocalizationContext-689d8aa4.js';
5
5
  import Icon, { IconTypes, IconColors } from './ui/Icon.js';
6
- import { L as Label, a as LabelTypography, b as LabelColors } from './index-c13a345e.js';
6
+ import { L as Label, a as LabelTypography, b as LabelColors } from './index-ada3d917.js';
7
7
  import BottomSheet from './ui/BottomSheet.js';
8
8
  import ImageRenderer from './ui/ImageRenderer.js';
9
9
  import ReactionButton from './ui/ReactionButton.js';
10
10
 
11
11
  const MobileContextMenu = props => {
12
- var _message$sender;
12
+ var _message$sender, _message$threadInfo$r, _message$threadInfo;
13
13
  const {
14
14
  hideMenu,
15
15
  channel,
@@ -19,6 +19,7 @@ const MobileContextMenu = props => {
19
19
  resendMessage,
20
20
  showEdit,
21
21
  showRemove,
22
+ deleteMenuState,
22
23
  setQuoteMessage,
23
24
  parentRef,
24
25
  onReplyInThread,
@@ -32,6 +33,9 @@ const MobileContextMenu = props => {
32
33
  const showMenuItemEdit = isUserMessage(message) && isSentMessage(message) && isByMe;
33
34
  const showMenuItemResend = isFailedMessage(message) && (message === null || message === void 0 ? void 0 : message.isResendable) && isByMe;
34
35
  const showMenuItemDelete = !isPendingMessage(message) && isByMe;
36
+ const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');
37
+ const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;
38
+ const disableDelete = deleteMenuState !== undefined && deleteMenuState === 'DISABLE' || ((_message$threadInfo$r = message === null || message === void 0 ? void 0 : (_message$threadInfo = message.threadInfo) === null || _message$threadInfo === void 0 ? void 0 : _message$threadInfo.replyCount) !== null && _message$threadInfo$r !== void 0 ? _message$threadInfo$r : 0) > 0;
35
39
  const showMenuItemDownload = !isPendingMessage(message) && isFileMessage(message) && !(isVoiceMessage(message) && (channel !== null && channel !== void 0 && channel.isSuper || channel !== null && channel !== void 0 && channel.isBroadcast));
36
40
  const showMenuItemReply = replyType === 'QUOTE_REPLY' && !isFailedMessage(message) && !isPendingMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel());
37
41
  const showMenuItemThread = replyType === 'THREAD' && !isOpenedFromThread && !isFailedMessage(message) && !isPendingMessage(message) && !isThreadMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel());
@@ -39,7 +43,7 @@ const MobileContextMenu = props => {
39
43
  return /*#__PURE__*/React__default.createElement(ContextMenu, {
40
44
  isOpen: true,
41
45
  menuItems: () => {
42
- var _message$parentMessag, _message$parentMessag2, _message$parentMessag3, _message$threadInfo$r, _message$threadInfo, _message$threadInfo$r2, _message$threadInfo2, _message$threadInfo$r3, _message$threadInfo3;
46
+ var _message$parentMessag, _message$parentMessag2, _message$parentMessag3;
43
47
  return /*#__PURE__*/React__default.createElement(MenuItems, {
44
48
  className: "sendbird-message__mobile-context-menu",
45
49
  parentRef: parentRef,
@@ -123,20 +127,22 @@ const MobileContextMenu = props => {
123
127
  fillColor: IconColors.PRIMARY,
124
128
  width: "24px",
125
129
  height: "24px"
126
- })), showMenuItemDelete && /*#__PURE__*/React__default.createElement(MenuItem, {
130
+ })), showMenuItemDeleteFinal && /*#__PURE__*/React__default.createElement(MenuItem, {
127
131
  className: "sendbird-message__mobile-context-menu-item menu-item-delete",
128
132
  onClick: () => {
129
- hideMenu();
130
- showRemove(true);
133
+ if (!disableDelete) {
134
+ hideMenu();
135
+ showRemove(true);
136
+ }
131
137
  },
132
- disable: ((_message$threadInfo$r = message === null || message === void 0 ? void 0 : (_message$threadInfo = message.threadInfo) === null || _message$threadInfo === void 0 ? void 0 : _message$threadInfo.replyCount) !== null && _message$threadInfo$r !== void 0 ? _message$threadInfo$r : 0) > 0,
138
+ disable: disableDelete,
133
139
  dataSbId: "ui_mobile_message_item_menu_delete"
134
140
  }, /*#__PURE__*/React__default.createElement(Label, {
135
141
  type: LabelTypography.SUBTITLE_1,
136
- color: ((_message$threadInfo$r2 = message === null || message === void 0 ? void 0 : (_message$threadInfo2 = message.threadInfo) === null || _message$threadInfo2 === void 0 ? void 0 : _message$threadInfo2.replyCount) !== null && _message$threadInfo$r2 !== void 0 ? _message$threadInfo$r2 : 0) > 0 ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1
142
+ color: disableDelete ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1
137
143
  }, stringSet.MESSAGE_MENU__DELETE), /*#__PURE__*/React__default.createElement(Icon, {
138
144
  type: IconTypes.DELETE,
139
- fillColor: ((_message$threadInfo$r3 = message === null || message === void 0 ? void 0 : (_message$threadInfo3 = message.threadInfo) === null || _message$threadInfo3 === void 0 ? void 0 : _message$threadInfo3.replyCount) !== null && _message$threadInfo$r3 !== void 0 ? _message$threadInfo$r3 : 0) > 0 ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY,
145
+ fillColor: disableDelete ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY,
140
146
  width: "24px",
141
147
  height: "24px"
142
148
  })), showMenuItemDownload && /*#__PURE__*/React__default.createElement(MenuItem, {
@@ -165,7 +171,7 @@ const MobileContextMenu = props => {
165
171
 
166
172
  const EMOJI_SIZE = 38;
167
173
  const MobileBottomSheet = props => {
168
- var _message$sender;
174
+ var _message$sender, _message$threadInfo$r, _message$threadInfo;
169
175
  const {
170
176
  hideMenu,
171
177
  channel,
@@ -178,6 +184,7 @@ const MobileBottomSheet = props => {
178
184
  isReactionEnabled,
179
185
  showEdit,
180
186
  showRemove,
187
+ deleteMenuState,
181
188
  setQuoteMessage,
182
189
  onReplyInThread,
183
190
  isOpenedFromThread = false
@@ -189,7 +196,10 @@ const MobileBottomSheet = props => {
189
196
  const showMenuItemCopy = isUserMessage(message);
190
197
  const showMenuItemEdit = isUserMessage(message) && isSentMessage(message) && isByMe;
191
198
  const showMenuItemResend = isFailedMessage(message) && (message === null || message === void 0 ? void 0 : message.isResendable) && isByMe;
192
- const showMenuItemDelete = !isPendingMessage(message) && isByMe && !isParentMessage(message);
199
+ const showMenuItemDelete = !isPendingMessage(message) && isByMe;
200
+ const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');
201
+ const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;
202
+ const disableDelete = deleteMenuState !== undefined && deleteMenuState === 'DISABLE' || ((_message$threadInfo$r = message === null || message === void 0 ? void 0 : (_message$threadInfo = message.threadInfo) === null || _message$threadInfo === void 0 ? void 0 : _message$threadInfo.replyCount) !== null && _message$threadInfo$r !== void 0 ? _message$threadInfo$r : 0) > 0;
193
203
  const showMenuItemDownload = !isPendingMessage(message) && isFileMessage(message) && !isVoiceMessage(message);
194
204
  const showReaction = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;
195
205
  const showMenuItemReply = replyType === 'QUOTE_REPLY' && !isFailedMessage(message) && !isPendingMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !(channel !== null && channel !== void 0 && channel.isBroadcast);
@@ -341,20 +351,22 @@ const MobileBottomSheet = props => {
341
351
  }), /*#__PURE__*/React__default.createElement(Label, {
342
352
  type: LabelTypography.SUBTITLE_1,
343
353
  color: LabelColors.ONBACKGROUND_1
344
- }, stringSet.MESSAGE_MENU__THREAD)), showMenuItemDelete && /*#__PURE__*/React__default.createElement("div", {
354
+ }, stringSet.MESSAGE_MENU__THREAD)), showMenuItemDeleteFinal && /*#__PURE__*/React__default.createElement("div", {
345
355
  className: "sendbird-message__bottomsheet--action",
346
356
  onClick: () => {
347
- hideMenu();
348
- showRemove(true);
357
+ if (!disableDelete) {
358
+ hideMenu();
359
+ showRemove === null || showRemove === void 0 ? void 0 : showRemove(true);
360
+ }
349
361
  }
350
362
  }, /*#__PURE__*/React__default.createElement(Icon, {
351
363
  type: IconTypes.DELETE,
352
- fillColor: IconColors.PRIMARY,
364
+ fillColor: disableDelete ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY,
353
365
  width: "24px",
354
366
  height: "24px"
355
367
  }), /*#__PURE__*/React__default.createElement(Label, {
356
368
  type: LabelTypography.SUBTITLE_1,
357
- color: LabelColors.ONBACKGROUND_1
369
+ color: disableDelete ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1
358
370
  }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__DELETE)), showMenuItemDownload && /*#__PURE__*/React__default.createElement("div", {
359
371
  className: "sendbird-message__bottomsheet--action",
360
372
  onClick: () => {
@@ -386,6 +398,7 @@ const MobileMenu = props => {
386
398
  isByMe,
387
399
  replyType,
388
400
  disabled,
401
+ deleteMenuState,
389
402
  showRemove,
390
403
  showEdit,
391
404
  resendMessage,
@@ -406,6 +419,7 @@ const MobileMenu = props => {
406
419
  disabled: disabled,
407
420
  showRemove: showRemove,
408
421
  showEdit: showEdit,
422
+ deleteMenuState: deleteMenuState,
409
423
  resendMessage: resendMessage,
410
424
  setQuoteMessage: setQuoteMessage,
411
425
  emojiContainer: emojiContainer,
@@ -422,6 +436,7 @@ const MobileMenu = props => {
422
436
  showEdit: showEdit,
423
437
  replyType: replyType,
424
438
  disabled: disabled,
439
+ deleteMenuState: deleteMenuState,
425
440
  showRemove: showRemove,
426
441
  resendMessage: resendMessage,
427
442
  setQuoteMessage: setQuoteMessage,
@@ -432,4 +447,4 @@ const MobileMenu = props => {
432
447
  };
433
448
 
434
449
  export { MobileMenu as M };
435
- //# sourceMappingURL=index-315dcf0d.js.map
450
+ //# sourceMappingURL=index-284c6669.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-284c6669.js","sources":["../src/ui/MobileMenu/MobileContextMenu.tsx","../src/ui/MobileMenu/MobileBottomSheet.tsx","../src/ui/MobileMenu/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isThreadMessage,\n isVoiceMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps): React.ReactElement => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n deleteMenuState,\n setQuoteMessage,\n parentRef,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message)\n && !(isVoiceMessage(message) && ((channel as GroupChannel)?.isSuper || (channel as GroupChannel)?.isBroadcast));\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && channel?.isGroupChannel();\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && channel?.isGroupChannel();\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_copy\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={(message?.parentMessageId ?? 0) > 0}\n dataSbId=\"ui_mobile_message_item_menu_reply\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n (message?.parentMessageId ?? 0) > 0\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={\n (message?.parentMessageId ?? 0) > 0\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n dataSbId=\"ui_mobile_message_item_menu_thread\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n dataSbId=\"ui_mobile_message_item_menu_edit\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_resend\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDeleteFinal && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n if (!disableDelete) {\n hideMenu();\n showRemove(true);\n }\n }}\n disable={disableDelete}\n dataSbId=\"ui_mobile_message_item_menu_delete\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"ui_mobile_message_item_menu_download_file\"\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { ReactElement, useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isVoiceMessage,\n isThreadMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n deleteMenuState,\n setQuoteMessage,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message) && !isVoiceMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n dataSbId={`ui_mobile_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n dataSbId=\"ui_mobile_emoji_reactions_menu_emojiadd\"\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled' : ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if (!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {showMenuItemThread && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n >\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n </div>\n )}\n {\n showMenuItemDeleteFinal && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n if (!disableDelete) {\n hideMenu();\n showRemove?.(true);\n }\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n deleteMenuState,\n showRemove,\n showEdit,\n resendMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n onReplyInThread,\n isOpenedFromThread,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n deleteMenuState={deleteMenuState}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n ) : (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n deleteMenuState={deleteMenuState}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n"],"names":["MobileContextMenu","props","_message$sender","_message$threadInfo$r","_message$threadInfo","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","deleteMenuState","setQuoteMessage","parentRef","onReplyInThread","isOpenedFromThread","isByMe","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDeleteByState","undefined","showMenuItemDeleteFinal","disableDelete","threadInfo","replyCount","showMenuItemDownload","isFileMessage","isVoiceMessage","isSuper","isBroadcast","showMenuItemReply","isGroupChannel","showMenuItemThread","isThreadMessage","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","_message$parentMessag","_message$parentMessag2","_message$parentMessag3","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","copyToClipboard","dataSbId","Label","type","LabelTypography","SUBTITLE_1","color","LabelColors","ONBACKGROUND_1","MESSAGE_MENU__COPY","Icon","IconTypes","COPY","fillColor","IconColors","PRIMARY","width","height","disable","parentMessageId","ONBACKGROUND_4","MESSAGE_MENU__REPLY","REPLY","ON_BACKGROUND_4","MESSAGE_MENU__THREAD","THREAD","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","MESSAGE_MENU__DELETE","DELETE","rel","href","url","target","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","showEmojisOnly","setShowEmojisOnly","useState","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","BottomSheet","onBackdropClick","map","emoji","_message$reactions","_message$reactions$fi","_message$reactions$fi2","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","selected","ImageRenderer","placeHolder","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","role","MobileMenu","disabled","Fragment"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-67b8fcb1.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-b764bedf.js';
2
2
  import { OutgoingMessageStates, getOutgoingMessageState } from './utils/message/getOutgoingMessageState.js';
3
3
 
4
4
  // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
@@ -76,10 +76,6 @@ const isFileMessage = message => {
76
76
  var _message$isFileMessag;
77
77
  return message && ((message === null || message === void 0 ? void 0 : (_message$isFileMessag = message.isFileMessage) === null || _message$isFileMessag === void 0 ? void 0 : _message$isFileMessag.call(message)) || (message === null || message === void 0 ? void 0 : message.messageType) === 'file');
78
78
  };
79
- const isParentMessage = message => {
80
- var _message$threadInfo$r, _message$threadInfo;
81
- return !message.parentMessageId && !message.parentMessage && ((_message$threadInfo$r = (_message$threadInfo = message.threadInfo) === null || _message$threadInfo === void 0 ? void 0 : _message$threadInfo.replyCount) !== null && _message$threadInfo$r !== void 0 ? _message$threadInfo$r : 0) > 0;
82
- };
83
79
  const isThreadMessage = message => !!message.parentMessageId && !!message.parentMessage;
84
80
  const isOGMessage = message => {
85
81
  var _message$ogMetaData, _message$ogMetaData2, _message$ogMetaData3, _message$ogMetaData4;
@@ -540,5 +536,5 @@ const arrayEqual = (array1, array2) => {
540
536
  return false;
541
537
  };
542
538
 
543
- export { isUrl as A, isEditedMessage as B, isSentMessage as C, isFailedMessage as D, isPendingMessage as E, copyToClipboard as F, getEmojiListAll as G, getEmojiUrl as H, isReactedBy as I, getEmojiTooltipString as J, getEmojiMapAll as K, getUIKitFileType as L, getUIKitFileTypes as M, isGif as N, isThreadMessage as O, isParentMessage as P, convertWordToStringObj as Q, StringObjType as S, UIKitMessageTypes as U, getSendingMessageStatus as a, isReadMessage as b, filterMessageListParams as c, isVoiceMessage as d, isSentStatus as e, filterChannelListParams as f, getChannelsWithUpsertedChannel as g, getClassName as h, isTextuallyNull as i, arrayEqual as j, isFileMessage as k, isImageMessage as l, isThumbnailMessage as m, isAudioMessage as n, isGifMessage as o, isVideoMessage as p, isUserMessage as q, getUIKitMessageType as r, getUIKitMessageTypes as s, truncateString as t, getSenderName as u, isOGMessage as v, isTextMessage as w, isSupportedFileView as x, isVideo as y, isImage as z };
544
- //# sourceMappingURL=index-3884739d.js.map
539
+ export { isUrl as A, isEditedMessage as B, isSentMessage as C, isFailedMessage as D, isPendingMessage as E, copyToClipboard as F, getEmojiListAll as G, getEmojiUrl as H, isReactedBy as I, getEmojiTooltipString as J, getEmojiMapAll as K, getUIKitFileType as L, getUIKitFileTypes as M, isGif as N, isThreadMessage as O, convertWordToStringObj as P, StringObjType as S, UIKitMessageTypes as U, getSendingMessageStatus as a, isReadMessage as b, filterMessageListParams as c, isVoiceMessage as d, isSentStatus as e, filterChannelListParams as f, getChannelsWithUpsertedChannel as g, getClassName as h, isTextuallyNull as i, arrayEqual as j, isFileMessage as k, isImageMessage as l, isThumbnailMessage as m, isAudioMessage as n, isGifMessage as o, isVideoMessage as p, isUserMessage as q, getUIKitMessageType as r, getUIKitMessageTypes as s, truncateString as t, getSenderName as u, isOGMessage as v, isTextMessage as w, isSupportedFileView as x, isVideo as y, isImage as z };
540
+ //# sourceMappingURL=index-4415e3d4.js.map