@sendbird/uikit-react 3.6.11-beta.1 → 3.6.11-beta.2

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 (537) hide show
  1. package/App.js +55 -55
  2. package/Channel/components/ChannelHeader.js +22 -22
  3. package/Channel/components/ChannelUI.js +48 -48
  4. package/Channel/components/FileViewer.js +18 -18
  5. package/Channel/components/FrozenNotification.js +4 -4
  6. package/Channel/components/Message.js +42 -42
  7. package/Channel/components/MessageInput.js +34 -34
  8. package/Channel/components/MessageList.js +43 -43
  9. package/Channel/components/RemoveMessageModal.js +22 -22
  10. package/Channel/components/SuggestedMentionList.js +20 -20
  11. package/Channel/components/TypingIndicator.js +18 -18
  12. package/Channel/components/UnreadCount.js +4 -4
  13. package/Channel/context.js +15 -15
  14. package/Channel/utils/compareMessagesForGrouping.js +7 -7
  15. package/Channel/utils/getMessagePartsInfo.js +8 -8
  16. package/Channel.js +48 -48
  17. package/ChannelList/components/AddChannel.js +16 -16
  18. package/ChannelList/components/ChannelListHeader.js +6 -6
  19. package/ChannelList/components/ChannelListUI.js +33 -33
  20. package/ChannelList/components/ChannelPreview.js +29 -29
  21. package/ChannelList/components/ChannelPreviewAction.js +15 -15
  22. package/ChannelList/context.js +9 -9
  23. package/ChannelList.js +36 -46
  24. package/ChannelList.js.map +1 -1
  25. package/{ChannelListProvider-3b34756f.js → ChannelListProvider-1188e373.js} +16 -14
  26. package/ChannelListProvider-1188e373.js.map +1 -0
  27. package/{ChannelProvider-84f36028.js → ChannelProvider-9de00431.js} +13 -13
  28. package/{ChannelProvider-84f36028.js.map → ChannelProvider-9de00431.js.map} +1 -1
  29. package/ChannelSettings/components/ChannelProfile.js +13 -13
  30. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  31. package/ChannelSettings/components/EditDetailsModal.js +13 -13
  32. package/ChannelSettings/components/LeaveChannel.js +12 -12
  33. package/ChannelSettings/components/ModerationPanel.js +15 -15
  34. package/ChannelSettings/components/UserListItem.js +11 -11
  35. package/ChannelSettings/components/UserPanel.js +14 -14
  36. package/ChannelSettings/context.js +3 -3
  37. package/ChannelSettings.js +18 -18
  38. package/CreateChannel/components/CreateChannelUI.js +14 -14
  39. package/CreateChannel/components/InviteUsers.js +14 -14
  40. package/CreateChannel/components/SelectChannelType.js +11 -11
  41. package/CreateChannel/context.js +4 -4
  42. package/CreateChannel.js +14 -14
  43. package/{CreateChannelProvider-4230ce8f.js → CreateChannelProvider-a2fad282.js} +1 -1
  44. package/{CreateChannelProvider-4230ce8f.js.map → CreateChannelProvider-a2fad282.js.map} +1 -1
  45. package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
  46. package/CreateOpenChannel/context.js +1 -1
  47. package/CreateOpenChannel.js +11 -11
  48. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  49. package/EditUserProfile.js +13 -13
  50. package/{LocalizationContext-feaa05ad.js → LocalizationContext-2463058b.js} +3 -3
  51. package/{LocalizationContext-feaa05ad.js.map → LocalizationContext-2463058b.js.map} +1 -1
  52. package/{MediaQueryContext-11e0a1e3.js → MediaQueryContext-e3429d12.js} +1 -1
  53. package/{MediaQueryContext-11e0a1e3.js.map → MediaQueryContext-e3429d12.js.map} +1 -1
  54. package/{MemberList-3e21b75a.js → MemberList-593867cb.js} +6 -6
  55. package/{MemberList-3e21b75a.js.map → MemberList-593867cb.js.map} +1 -1
  56. package/MessageSearch/components/MessageSearchUI.js +13 -13
  57. package/MessageSearch/context.js +1 -1
  58. package/MessageSearch.js +13 -13
  59. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  60. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  61. package/OpenChannel/components/OpenChannelInput.js +20 -20
  62. package/OpenChannel/components/OpenChannelMessage.js +31 -31
  63. package/OpenChannel/components/OpenChannelMessageList.js +34 -34
  64. package/OpenChannel/components/OpenChannelUI.js +34 -34
  65. package/OpenChannel/context.js +8 -8
  66. package/OpenChannel.js +34 -34
  67. package/OpenChannelList/components/OpenChannelListUI.js +15 -15
  68. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  69. package/OpenChannelList/context.js +3 -3
  70. package/OpenChannelList.js +15 -15
  71. package/{OpenChannelListProvider-7f336855.js → OpenChannelListProvider-a0a09f0b.js} +3 -3
  72. package/{OpenChannelListProvider-7f336855.js.map → OpenChannelListProvider-a0a09f0b.js.map} +1 -1
  73. package/{OpenChannelProvider-4953d940.js → OpenChannelProvider-3e4b8c8e.js} +7 -7
  74. package/{OpenChannelProvider-4953d940.js.map → OpenChannelProvider-3e4b8c8e.js.map} +1 -1
  75. package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  76. package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  77. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  78. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  79. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  80. package/OpenChannelSettings/context.js +3 -3
  81. package/OpenChannelSettings.js +18 -18
  82. package/{RemoveMessageModal-e3c44528.js → RemoveMessageModal-9162aebe.js} +5 -5
  83. package/{RemoveMessageModal-e3c44528.js.map → RemoveMessageModal-9162aebe.js.map} +1 -1
  84. package/SendbirdProvider.js +17 -17
  85. package/Thread/components/ParentMessageInfo.js +38 -38
  86. package/Thread/components/ParentMessageInfoItem.js +25 -25
  87. package/Thread/components/ThreadHeader.js +6 -6
  88. package/Thread/components/ThreadList.js +42 -42
  89. package/Thread/components/ThreadListItem.js +42 -42
  90. package/Thread/components/ThreadMessageInput.js +34 -34
  91. package/Thread/components/ThreadUI.js +47 -47
  92. package/Thread/context.js +12 -12
  93. package/Thread.js +47 -47
  94. package/{ThreadProvider-7f6d0d40.js → ThreadProvider-9a3b145f.js} +9 -9
  95. package/{ThreadProvider-7f6d0d40.js.map → ThreadProvider-9a3b145f.js.map} +1 -1
  96. package/{UserProfileContext-70414dd5.js → UserProfileContext-4ae968eb.js} +1 -1
  97. package/{UserProfileContext-70414dd5.js.map → UserProfileContext-4ae968eb.js.map} +1 -1
  98. package/VoicePlayer/context.js +3 -3
  99. package/VoicePlayer/useVoicePlayer.js +11 -11
  100. package/VoiceRecorder/context.js +11 -11
  101. package/VoiceRecorder/useVoiceRecorder.js +10 -10
  102. package/{WebAudioUtils-5a8539aa.js → WebAudioUtils-f9386235.js} +2 -2
  103. package/{WebAudioUtils-5a8539aa.js.map → WebAudioUtils-f9386235.js.map} +1 -1
  104. package/{_rollupPluginBabelHelpers-51534391.js → _rollupPluginBabelHelpers-50c9576f.js} +1 -1
  105. package/_rollupPluginBabelHelpers-50c9576f.js.map +1 -0
  106. package/{actionTypes-54ae5a44.js → actionTypes-501b8c11.js} +1 -1
  107. package/{actionTypes-54ae5a44.js.map → actionTypes-501b8c11.js.map} +1 -1
  108. package/cjs/App.js +55 -55
  109. package/cjs/Channel/components/ChannelHeader.js +22 -22
  110. package/cjs/Channel/components/ChannelUI.js +48 -48
  111. package/cjs/Channel/components/FileViewer.js +18 -18
  112. package/cjs/Channel/components/FrozenNotification.js +4 -4
  113. package/cjs/Channel/components/Message.js +42 -42
  114. package/cjs/Channel/components/MessageInput.js +34 -34
  115. package/cjs/Channel/components/MessageList.js +43 -43
  116. package/cjs/Channel/components/RemoveMessageModal.js +22 -22
  117. package/cjs/Channel/components/SuggestedMentionList.js +20 -20
  118. package/cjs/Channel/components/TypingIndicator.js +18 -18
  119. package/cjs/Channel/components/UnreadCount.js +4 -4
  120. package/cjs/Channel/context.js +15 -15
  121. package/cjs/Channel/utils/compareMessagesForGrouping.js +7 -7
  122. package/cjs/Channel/utils/getMessagePartsInfo.js +8 -8
  123. package/cjs/Channel.js +48 -48
  124. package/cjs/ChannelList/components/AddChannel.js +16 -16
  125. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  126. package/cjs/ChannelList/components/ChannelListUI.js +33 -33
  127. package/cjs/ChannelList/components/ChannelPreview.js +29 -29
  128. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
  129. package/cjs/ChannelList/context.js +9 -9
  130. package/cjs/ChannelList.js +35 -45
  131. package/cjs/ChannelList.js.map +1 -1
  132. package/cjs/{ChannelListProvider-0e8c13a1.js → ChannelListProvider-e55e6242.js} +16 -14
  133. package/cjs/ChannelListProvider-e55e6242.js.map +1 -0
  134. package/cjs/{ChannelProvider-7af0f1fb.js → ChannelProvider-6fa73019.js} +13 -13
  135. package/cjs/{ChannelProvider-7af0f1fb.js.map → ChannelProvider-6fa73019.js.map} +1 -1
  136. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
  137. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  138. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
  139. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  140. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  141. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  142. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  143. package/cjs/ChannelSettings/context.js +3 -3
  144. package/cjs/ChannelSettings.js +18 -18
  145. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  146. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  147. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  148. package/cjs/CreateChannel/context.js +4 -4
  149. package/cjs/CreateChannel.js +14 -14
  150. package/cjs/{CreateChannelProvider-b6f9258d.js → CreateChannelProvider-8b8a557c.js} +1 -1
  151. package/cjs/{CreateChannelProvider-b6f9258d.js.map → CreateChannelProvider-8b8a557c.js.map} +1 -1
  152. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
  153. package/cjs/CreateOpenChannel/context.js +1 -1
  154. package/cjs/CreateOpenChannel.js +11 -11
  155. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  156. package/cjs/EditUserProfile.js +13 -13
  157. package/cjs/{LocalizationContext-49278e68.js → LocalizationContext-482c1343.js} +3 -3
  158. package/cjs/{LocalizationContext-49278e68.js.map → LocalizationContext-482c1343.js.map} +1 -1
  159. package/cjs/{MediaQueryContext-5d18c7c9.js → MediaQueryContext-73aac8cf.js} +1 -1
  160. package/cjs/{MediaQueryContext-5d18c7c9.js.map → MediaQueryContext-73aac8cf.js.map} +1 -1
  161. package/cjs/{MemberList-f2874584.js → MemberList-26b8de48.js} +6 -6
  162. package/cjs/{MemberList-f2874584.js.map → MemberList-26b8de48.js.map} +1 -1
  163. package/cjs/MessageSearch/components/MessageSearchUI.js +13 -13
  164. package/cjs/MessageSearch/context.js +1 -1
  165. package/cjs/MessageSearch.js +13 -13
  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 +20 -20
  169. package/cjs/OpenChannel/components/OpenChannelMessage.js +31 -31
  170. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
  171. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
  172. package/cjs/OpenChannel/context.js +8 -8
  173. package/cjs/OpenChannel.js +34 -34
  174. package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -15
  175. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  176. package/cjs/OpenChannelList/context.js +3 -3
  177. package/cjs/OpenChannelList.js +15 -15
  178. package/cjs/{OpenChannelListProvider-44b415cd.js → OpenChannelListProvider-2e3ee48d.js} +3 -3
  179. package/cjs/{OpenChannelListProvider-44b415cd.js.map → OpenChannelListProvider-2e3ee48d.js.map} +1 -1
  180. package/cjs/{OpenChannelProvider-0c273f88.js → OpenChannelProvider-8577ea58.js} +7 -7
  181. package/cjs/{OpenChannelProvider-0c273f88.js.map → OpenChannelProvider-8577ea58.js.map} +1 -1
  182. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  183. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  184. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  185. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  186. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  187. package/cjs/OpenChannelSettings/context.js +3 -3
  188. package/cjs/OpenChannelSettings.js +18 -18
  189. package/cjs/{RemoveMessageModal-ac75b528.js → RemoveMessageModal-dfeeb36a.js} +5 -5
  190. package/cjs/{RemoveMessageModal-ac75b528.js.map → RemoveMessageModal-dfeeb36a.js.map} +1 -1
  191. package/cjs/SendbirdProvider.js +17 -17
  192. package/cjs/Thread/components/ParentMessageInfo.js +38 -38
  193. package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
  194. package/cjs/Thread/components/ThreadHeader.js +6 -6
  195. package/cjs/Thread/components/ThreadList.js +42 -42
  196. package/cjs/Thread/components/ThreadListItem.js +42 -42
  197. package/cjs/Thread/components/ThreadMessageInput.js +34 -34
  198. package/cjs/Thread/components/ThreadUI.js +47 -47
  199. package/cjs/Thread/context.js +12 -12
  200. package/cjs/Thread.js +47 -47
  201. package/cjs/{ThreadProvider-575f30a0.js → ThreadProvider-8b0cf491.js} +9 -9
  202. package/cjs/{ThreadProvider-575f30a0.js.map → ThreadProvider-8b0cf491.js.map} +1 -1
  203. package/cjs/{UserProfileContext-2d2eb37a.js → UserProfileContext-fa8d0383.js} +1 -1
  204. package/cjs/{UserProfileContext-2d2eb37a.js.map → UserProfileContext-fa8d0383.js.map} +1 -1
  205. package/cjs/VoicePlayer/context.js +3 -3
  206. package/cjs/VoicePlayer/useVoicePlayer.js +11 -11
  207. package/cjs/VoiceRecorder/context.js +11 -11
  208. package/cjs/VoiceRecorder/useVoiceRecorder.js +10 -10
  209. package/cjs/{WebAudioUtils-8579d354.js → WebAudioUtils-142344fd.js} +2 -2
  210. package/cjs/{WebAudioUtils-8579d354.js.map → WebAudioUtils-142344fd.js.map} +1 -1
  211. package/cjs/{_rollupPluginBabelHelpers-2387ee47.js → _rollupPluginBabelHelpers-83d7e84b.js} +1 -1
  212. package/cjs/_rollupPluginBabelHelpers-83d7e84b.js.map +1 -0
  213. package/cjs/{actionTypes-d0c305bd.js → actionTypes-1d118952.js} +1 -1
  214. package/cjs/{actionTypes-d0c305bd.js.map → actionTypes-1d118952.js.map} +1 -1
  215. package/cjs/{color-34055562.js → color-d83b77ac.js} +1 -1
  216. package/cjs/{color-34055562.js.map → color-d83b77ac.js.map} +1 -1
  217. package/cjs/{compareIds-6f4cd45e.js → compareIds-bef997cb.js} +1 -1
  218. package/cjs/{compareIds-6f4cd45e.js.map → compareIds-bef997cb.js.map} +1 -1
  219. package/cjs/{const-7f58640e.js → const-1726bde0.js} +1 -1
  220. package/cjs/{const-7f58640e.js.map → const-1726bde0.js.map} +1 -1
  221. package/cjs/{const-47d0ca8a.js → const-67ff9e34.js} +1 -1
  222. package/cjs/{const-47d0ca8a.js.map → const-67ff9e34.js.map} +1 -1
  223. package/cjs/{consts-98b267f9.js → consts-b018b1ed.js} +1 -1
  224. package/cjs/{consts-98b267f9.js.map → consts-b018b1ed.js.map} +1 -1
  225. package/cjs/{consts-6ee9509b.js → consts-bf228385.js} +1 -1
  226. package/cjs/{consts-6ee9509b.js.map → consts-bf228385.js.map} +1 -1
  227. package/cjs/{consts-d42a7f78.js → consts-d3b53f23.js} +1 -1
  228. package/cjs/{consts-d42a7f78.js.map → consts-d3b53f23.js.map} +1 -1
  229. package/cjs/{consts-8a7853e7.js → consts-fb07c671.js} +1 -1
  230. package/cjs/{consts-8a7853e7.js.map → consts-fb07c671.js.map} +1 -1
  231. package/cjs/{context-a7a43cca.js → context-bd2878ff.js} +2 -2
  232. package/cjs/{context-a7a43cca.js.map → context-bd2878ff.js.map} +1 -1
  233. package/cjs/dist/index.css +97 -97
  234. package/cjs/dist/index.css.map +1 -1
  235. package/cjs/{index-48a852e6.js → index-11f9cc0f.js} +3 -3
  236. package/cjs/{index-48a852e6.js.map → index-11f9cc0f.js.map} +1 -1
  237. package/cjs/{index-19115579.js → index-18720f0d.js} +2 -2
  238. package/cjs/{index-19115579.js.map → index-18720f0d.js.map} +1 -1
  239. package/cjs/{index-f7ac45b5.js → index-1a9fdbb4.js} +7 -7
  240. package/cjs/{index-f7ac45b5.js.map → index-1a9fdbb4.js.map} +1 -1
  241. package/cjs/{index-321b7779.js → index-1f6b30ea.js} +3 -3
  242. package/cjs/{index-321b7779.js.map → index-1f6b30ea.js.map} +1 -1
  243. package/cjs/{index-cf1eb205.js → index-2ab19f9b.js} +4 -4
  244. package/cjs/{index-cf1eb205.js.map → index-2ab19f9b.js.map} +1 -1
  245. package/cjs/{index-08700ffe.js → index-4b5a006d.js} +5 -5
  246. package/cjs/{index-08700ffe.js.map → index-4b5a006d.js.map} +1 -1
  247. package/cjs/{index-28cefbed.js → index-4eb7e2b5.js} +2 -2
  248. package/cjs/{index-28cefbed.js.map → index-4eb7e2b5.js.map} +1 -1
  249. package/cjs/{index-121d6c06.js → index-56a25735.js} +5 -5
  250. package/cjs/{index-121d6c06.js.map → index-56a25735.js.map} +1 -1
  251. package/cjs/{index-1aaf0b9b.js → index-6ab9a40d.js} +2 -2
  252. package/cjs/{index-1aaf0b9b.js.map → index-6ab9a40d.js.map} +1 -1
  253. package/cjs/{index-d8612762.js → index-759f2a26.js} +4 -4
  254. package/cjs/{index-d8612762.js.map → index-759f2a26.js.map} +1 -1
  255. package/cjs/{index-f482099e.js → index-7c374c20.js} +2 -2
  256. package/cjs/{index-f482099e.js.map → index-7c374c20.js.map} +1 -1
  257. package/cjs/{index-cf2ba92c.js → index-7f41c4b6.js} +3 -3
  258. package/cjs/{index-cf2ba92c.js.map → index-7f41c4b6.js.map} +1 -1
  259. package/cjs/{index-25c1ba3d.js → index-81baccd0.js} +4 -4
  260. package/cjs/{index-25c1ba3d.js.map → index-81baccd0.js.map} +1 -1
  261. package/cjs/{index-c2d4df04.js → index-857630c5.js} +9 -9
  262. package/cjs/{index-c2d4df04.js.map → index-857630c5.js.map} +1 -1
  263. package/cjs/{index-d315648b.js → index-8ec12d1d.js} +6 -6
  264. package/cjs/{index-d315648b.js.map → index-8ec12d1d.js.map} +1 -1
  265. package/cjs/{index-e9d1f7ba.js → index-91b4af96.js} +4 -4
  266. package/cjs/{index-e9d1f7ba.js.map → index-91b4af96.js.map} +1 -1
  267. package/cjs/{index-3631aadd.js → index-c9b003b3.js} +2 -2
  268. package/cjs/{index-3631aadd.js.map → index-c9b003b3.js.map} +1 -1
  269. package/cjs/{index-56ed4734.js → index-cbcacbee.js} +1 -1
  270. package/cjs/{index-56ed4734.js.map → index-cbcacbee.js.map} +1 -1
  271. package/cjs/{index-118211b2.js → index-d04f312e.js} +1 -1
  272. package/cjs/{index-118211b2.js.map → index-d04f312e.js.map} +1 -1
  273. package/cjs/{index-62a3c471.js → index-e9ac5ae1.js} +4 -4
  274. package/cjs/{index-62a3c471.js.map → index-e9ac5ae1.js.map} +1 -1
  275. package/cjs/{index-41282b8c.js → index-fbe9cc73.js} +3 -3
  276. package/cjs/{index-41282b8c.js.map → index-fbe9cc73.js.map} +1 -1
  277. package/cjs/index.js +59 -59
  278. package/cjs/{index.module-bab100ce.js → index.module-a24e9cd7.js} +1 -1
  279. package/cjs/{index.module-bab100ce.js.map → index.module-a24e9cd7.js.map} +1 -1
  280. package/cjs/package.json +1 -1
  281. package/cjs/{resolvedReplyType-1171f904.js → resolvedReplyType-85b4bd7c.js} +1 -1
  282. package/cjs/{resolvedReplyType-1171f904.js.map → resolvedReplyType-85b4bd7c.js.map} +1 -1
  283. package/cjs/sendbirdSelectors.js +3 -7
  284. package/cjs/sendbirdSelectors.js.map +1 -1
  285. package/cjs/{stringFormatterUtils-d6558728.js → stringFormatterUtils-8d6592ca.js} +3 -3
  286. package/cjs/{stringFormatterUtils-d6558728.js.map → stringFormatterUtils-8d6592ca.js.map} +1 -1
  287. package/cjs/{stringSet-ac56071f.js → stringSet-d00535a5.js} +1 -1
  288. package/cjs/{stringSet-ac56071f.js.map → stringSet-d00535a5.js.map} +1 -1
  289. package/cjs/{tokenize-2fb86225.js → tokenize-9296fc47.js} +2 -2
  290. package/cjs/{tokenize-2fb86225.js.map → tokenize-9296fc47.js.map} +1 -1
  291. package/cjs/{topics-c9c872d8.js → topics-adde627b.js} +1 -1
  292. package/cjs/{topics-c9c872d8.js.map → topics-adde627b.js.map} +1 -1
  293. package/cjs/{types-205c8c4a.js → types-0b5148cb.js} +1 -1
  294. package/cjs/{types-205c8c4a.js.map → types-0b5148cb.js.map} +1 -1
  295. package/cjs/ui/Accordion.js +2 -2
  296. package/cjs/ui/AccordionGroup.js +2 -2
  297. package/cjs/ui/AdminMessage.js +2 -2
  298. package/cjs/ui/Avatar.js +1 -1
  299. package/cjs/ui/Badge.js +4 -4
  300. package/cjs/ui/BottomSheet.js +4 -4
  301. package/cjs/ui/Button.js +2 -2
  302. package/cjs/ui/ChannelAvatar.js +2 -2
  303. package/cjs/ui/ConnectionStatus.js +4 -4
  304. package/cjs/ui/ContextMenu.js +6 -6
  305. package/cjs/ui/DateSeparator.js +3 -3
  306. package/cjs/ui/EmojiReactions.js +14 -14
  307. package/cjs/ui/FileMessageItemBody.js +7 -7
  308. package/cjs/ui/FileViewer.js +12 -12
  309. package/cjs/ui/IconButton.js +1 -1
  310. package/cjs/ui/Input.js +2 -2
  311. package/cjs/ui/Label.js +2 -2
  312. package/cjs/ui/LinkLabel.js +2 -2
  313. package/cjs/ui/MentionLabel.js +11 -11
  314. package/cjs/ui/MentionUserLabel.js +1 -1
  315. package/cjs/ui/MessageContent.js +31 -31
  316. package/cjs/ui/MessageInput/hooks/usePaste.js +4 -4
  317. package/cjs/ui/MessageInput.js +14 -14
  318. package/cjs/ui/MessageItemMenu.js +9 -9
  319. package/cjs/ui/MessageItemReactionMenu.js +9 -9
  320. package/cjs/ui/MessageSearchFileItem.js +12 -12
  321. package/cjs/ui/MessageSearchItem.js +8 -8
  322. package/cjs/ui/MessageStatus.js +11 -11
  323. package/cjs/ui/Modal.js +9 -9
  324. package/cjs/ui/OGMessageItemBody.js +14 -14
  325. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  326. package/cjs/ui/OpenChannelAvatar.js +5 -5
  327. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  328. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  329. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  330. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  331. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  332. package/cjs/ui/PlaceHolder.js +5 -5
  333. package/cjs/ui/PlaybackTime.js +2 -2
  334. package/cjs/ui/QuoteMessage.js +8 -8
  335. package/cjs/ui/QuoteMessageInput.js +8 -8
  336. package/cjs/ui/ReactionBadge.js +2 -2
  337. package/cjs/ui/ReactionButton.js +4 -4
  338. package/cjs/ui/SortByRow.js +1 -1
  339. package/cjs/ui/TextButton.js +1 -1
  340. package/cjs/ui/TextMessageItemBody.js +14 -14
  341. package/cjs/ui/ThreadReplies.js +5 -5
  342. package/cjs/ui/ThumbnailMessageItemBody.js +7 -7
  343. package/cjs/ui/Toggle.js +1 -1
  344. package/cjs/ui/Tooltip.js +2 -2
  345. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  346. package/cjs/ui/UserListItem.js +11 -11
  347. package/cjs/ui/UserProfile.js +9 -9
  348. package/cjs/ui/VoiceMessageItemBody.js +11 -11
  349. package/cjs/ui/VoiceMessgeInput.js +7 -7
  350. package/cjs/ui/Word.js +11 -11
  351. package/cjs/{useHandleUploadFiles-068f20f6.js → useHandleUploadFiles-b2fc56e5.js} +10 -10
  352. package/cjs/{useHandleUploadFiles-068f20f6.js.map → useHandleUploadFiles-b2fc56e5.js.map} +1 -1
  353. package/cjs/{useLongPress-9d2b1eb4.js → useLongPress-1c0f4696.js} +3 -3
  354. package/cjs/{useLongPress-9d2b1eb4.js.map → useLongPress-1c0f4696.js.map} +1 -1
  355. package/cjs/{useSendMultipleFilesMessage-1a45fb93.js → useSendMultipleFilesMessage-81cdc9d0.js} +4 -4
  356. package/cjs/{useSendMultipleFilesMessage-1a45fb93.js.map → useSendMultipleFilesMessage-81cdc9d0.js.map} +1 -1
  357. package/cjs/useSendbirdStateContext.js +1 -1
  358. package/cjs/utils/message/isVoiceMessage.js +3 -3
  359. package/cjs/{utils-37206722.js → utils-418b4438.js} +3 -3
  360. package/cjs/{utils-37206722.js.map → utils-418b4438.js.map} +1 -1
  361. package/cjs/{utils-6bfa61f4.js → utils-5bfb4516.js} +1 -1
  362. package/cjs/{utils-6bfa61f4.js.map → utils-5bfb4516.js.map} +1 -1
  363. package/cjs/{utils-cd281f86.js → utils-68aa6bf6.js} +4 -4
  364. package/cjs/{utils-cd281f86.js.map → utils-68aa6bf6.js.map} +1 -1
  365. package/cjs/{utils-d4ec6413.js → utils-991911af.js} +1 -1
  366. package/cjs/{utils-d4ec6413.js.map → utils-991911af.js.map} +1 -1
  367. package/cjs/{utils-e99b939e.js → utils-b34d4e2c.js} +2 -2
  368. package/cjs/{utils-e99b939e.js.map → utils-b34d4e2c.js.map} +1 -1
  369. package/cjs/{utils-a7b1d0d5.js → utils-c47c68b1.js} +1 -1
  370. package/cjs/{utils-a7b1d0d5.js.map → utils-c47c68b1.js.map} +1 -1
  371. package/cjs/{uuid-b5e00d04.js → uuid-b2806cf5.js} +1 -1
  372. package/cjs/{uuid-b5e00d04.js.map → uuid-b2806cf5.js.map} +1 -1
  373. package/cjs/withSendbird.js +1 -1
  374. package/{color-246b5587.js → color-b7f211a8.js} +1 -1
  375. package/{color-246b5587.js.map → color-b7f211a8.js.map} +1 -1
  376. package/{compareIds-1c3d8e61.js → compareIds-8ed6e36a.js} +1 -1
  377. package/{compareIds-1c3d8e61.js.map → compareIds-8ed6e36a.js.map} +1 -1
  378. package/{const-3660e2f7.js → const-711048c3.js} +1 -1
  379. package/{const-3660e2f7.js.map → const-711048c3.js.map} +1 -1
  380. package/{const-74bf821a.js → const-74ec9eb4.js} +1 -1
  381. package/{const-74bf821a.js.map → const-74ec9eb4.js.map} +1 -1
  382. package/{consts-78d0c0c7.js → consts-675764c9.js} +1 -1
  383. package/{consts-78d0c0c7.js.map → consts-675764c9.js.map} +1 -1
  384. package/{consts-d96200b8.js → consts-691a3935.js} +1 -1
  385. package/{consts-d96200b8.js.map → consts-691a3935.js.map} +1 -1
  386. package/{consts-187ad798.js → consts-6ee24012.js} +1 -1
  387. package/{consts-187ad798.js.map → consts-6ee24012.js.map} +1 -1
  388. package/{consts-67dafe59.js → consts-eb77e905.js} +1 -1
  389. package/{consts-67dafe59.js.map → consts-eb77e905.js.map} +1 -1
  390. package/{context-c3765375.js → context-b4c70964.js} +2 -2
  391. package/{context-c3765375.js.map → context-b4c70964.js.map} +1 -1
  392. package/dist/index.css +97 -97
  393. package/dist/index.css.map +1 -1
  394. package/{index-758896cd.js → index-128523eb.js} +3 -3
  395. package/{index-758896cd.js.map → index-128523eb.js.map} +1 -1
  396. package/{index-210559c2.js → index-13401b87.js} +2 -2
  397. package/{index-210559c2.js.map → index-13401b87.js.map} +1 -1
  398. package/{index-8b82957a.js → index-3530f4f6.js} +4 -4
  399. package/{index-8b82957a.js.map → index-3530f4f6.js.map} +1 -1
  400. package/{index-6cc7214a.js → index-5cb32ab5.js} +3 -3
  401. package/{index-6cc7214a.js.map → index-5cb32ab5.js.map} +1 -1
  402. package/{index-737f53db.js → index-5d6a0f12.js} +3 -3
  403. package/{index-737f53db.js.map → index-5d6a0f12.js.map} +1 -1
  404. package/{index-c4504c26.js → index-60a7bf91.js} +5 -5
  405. package/{index-c4504c26.js.map → index-60a7bf91.js.map} +1 -1
  406. package/{index-6d4a9265.js → index-7700a436.js} +1 -1
  407. package/{index-6d4a9265.js.map → index-7700a436.js.map} +1 -1
  408. package/{index-2a41a6c6.js → index-7946293f.js} +6 -6
  409. package/{index-2a41a6c6.js.map → index-7946293f.js.map} +1 -1
  410. package/{index-a53fdda2.js → index-7b7478f5.js} +5 -5
  411. package/{index-a53fdda2.js.map → index-7b7478f5.js.map} +1 -1
  412. package/{index-789c7a79.js → index-82178c6a.js} +7 -7
  413. package/{index-789c7a79.js.map → index-82178c6a.js.map} +1 -1
  414. package/{index-421912ab.js → index-8a01c364.js} +4 -4
  415. package/{index-421912ab.js.map → index-8a01c364.js.map} +1 -1
  416. package/{index-a9cf9f0c.js → index-98138798.js} +2 -2
  417. package/{index-a9cf9f0c.js.map → index-98138798.js.map} +1 -1
  418. package/{index-99df638a.js → index-98887e8d.js} +1 -1
  419. package/{index-99df638a.js.map → index-98887e8d.js.map} +1 -1
  420. package/{index-3c9c2072.js → index-aa520474.js} +2 -2
  421. package/{index-3c9c2072.js.map → index-aa520474.js.map} +1 -1
  422. package/{index-ef318bdf.js → index-ae7ef8cf.js} +4 -4
  423. package/{index-ef318bdf.js.map → index-ae7ef8cf.js.map} +1 -1
  424. package/{index-aea86722.js → index-b22c4150.js} +2 -2
  425. package/{index-aea86722.js.map → index-b22c4150.js.map} +1 -1
  426. package/{index-3b1ad5b9.js → index-b25ffa7e.js} +4 -4
  427. package/{index-3b1ad5b9.js.map → index-b25ffa7e.js.map} +1 -1
  428. package/{index-3d737d32.js → index-c421b228.js} +9 -9
  429. package/{index-3d737d32.js.map → index-c421b228.js.map} +1 -1
  430. package/{index-41674ca0.js → index-d99155f7.js} +4 -4
  431. package/{index-41674ca0.js.map → index-d99155f7.js.map} +1 -1
  432. package/{index-586ed585.js → index-daa3ae67.js} +2 -2
  433. package/{index-586ed585.js.map → index-daa3ae67.js.map} +1 -1
  434. package/{index-c2014124.js → index-e15f6b6a.js} +3 -3
  435. package/{index-c2014124.js.map → index-e15f6b6a.js.map} +1 -1
  436. package/index.d.ts +1 -1
  437. package/index.js +59 -59
  438. package/{index.module-f7dbc545.js → index.module-60af77d3.js} +1 -1
  439. package/{index.module-f7dbc545.js.map → index.module-60af77d3.js.map} +1 -1
  440. package/package.json +1 -1
  441. package/{resolvedReplyType-a27ce599.js → resolvedReplyType-1a128514.js} +1 -1
  442. package/{resolvedReplyType-a27ce599.js.map → resolvedReplyType-1a128514.js.map} +1 -1
  443. package/sendbirdSelectors.js +3 -7
  444. package/sendbirdSelectors.js.map +1 -1
  445. package/{stringFormatterUtils-5eb121e0.js → stringFormatterUtils-dbad592d.js} +3 -3
  446. package/{stringFormatterUtils-5eb121e0.js.map → stringFormatterUtils-dbad592d.js.map} +1 -1
  447. package/{stringSet-3b92a79f.js → stringSet-2814bf17.js} +1 -1
  448. package/{stringSet-3b92a79f.js.map → stringSet-2814bf17.js.map} +1 -1
  449. package/{tokenize-9047b2ad.js → tokenize-4b153552.js} +2 -2
  450. package/{tokenize-9047b2ad.js.map → tokenize-4b153552.js.map} +1 -1
  451. package/{topics-1a83bfe7.js → topics-5659403d.js} +1 -1
  452. package/{topics-1a83bfe7.js.map → topics-5659403d.js.map} +1 -1
  453. package/{types-8d585099.js → types-89092633.js} +1 -1
  454. package/{types-8d585099.js.map → types-89092633.js.map} +1 -1
  455. package/ui/Accordion.js +2 -2
  456. package/ui/AccordionGroup.js +2 -2
  457. package/ui/AdminMessage.js +2 -2
  458. package/ui/Avatar.js +1 -1
  459. package/ui/Badge.js +4 -4
  460. package/ui/BottomSheet.js +4 -4
  461. package/ui/Button.js +2 -2
  462. package/ui/ChannelAvatar.js +2 -2
  463. package/ui/ConnectionStatus.js +4 -4
  464. package/ui/ContextMenu.js +6 -6
  465. package/ui/DateSeparator.js +3 -3
  466. package/ui/EmojiReactions.js +14 -14
  467. package/ui/FileMessageItemBody.js +7 -7
  468. package/ui/FileViewer.js +12 -12
  469. package/ui/IconButton.js +1 -1
  470. package/ui/Input.js +2 -2
  471. package/ui/Label.js +2 -2
  472. package/ui/LinkLabel.js +2 -2
  473. package/ui/MentionLabel.js +11 -11
  474. package/ui/MentionUserLabel.js +1 -1
  475. package/ui/MessageContent.js +31 -31
  476. package/ui/MessageInput/hooks/usePaste.js +4 -4
  477. package/ui/MessageInput.js +14 -14
  478. package/ui/MessageItemMenu.js +9 -9
  479. package/ui/MessageItemReactionMenu.js +9 -9
  480. package/ui/MessageSearchFileItem.js +12 -12
  481. package/ui/MessageSearchItem.js +8 -8
  482. package/ui/MessageStatus.js +11 -11
  483. package/ui/Modal.js +9 -9
  484. package/ui/OGMessageItemBody.js +14 -14
  485. package/ui/OpenChannelAdminMessage.js +2 -2
  486. package/ui/OpenChannelAvatar.js +5 -5
  487. package/ui/OpenchannelConversationHeader.js +6 -6
  488. package/ui/OpenchannelFileMessage.js +16 -16
  489. package/ui/OpenchannelOGMessage.js +18 -18
  490. package/ui/OpenchannelThumbnailMessage.js +15 -15
  491. package/ui/OpenchannelUserMessage.js +16 -16
  492. package/ui/PlaceHolder.js +5 -5
  493. package/ui/PlaybackTime.js +2 -2
  494. package/ui/QuoteMessage.js +8 -8
  495. package/ui/QuoteMessageInput.js +8 -8
  496. package/ui/ReactionBadge.js +2 -2
  497. package/ui/ReactionButton.js +4 -4
  498. package/ui/SortByRow.js +1 -1
  499. package/ui/TextButton.js +1 -1
  500. package/ui/TextMessageItemBody.js +14 -14
  501. package/ui/ThreadReplies.js +5 -5
  502. package/ui/ThumbnailMessageItemBody.js +7 -7
  503. package/ui/Toggle.js +1 -1
  504. package/ui/Tooltip.js +2 -2
  505. package/ui/UnknownMessageItemBody.js +7 -7
  506. package/ui/UserListItem.js +11 -11
  507. package/ui/UserProfile.js +9 -9
  508. package/ui/VoiceMessageItemBody.js +11 -11
  509. package/ui/VoiceMessgeInput.js +7 -7
  510. package/ui/Word.js +11 -11
  511. package/{useHandleUploadFiles-65cb35c2.js → useHandleUploadFiles-406a6c9c.js} +10 -10
  512. package/{useHandleUploadFiles-65cb35c2.js.map → useHandleUploadFiles-406a6c9c.js.map} +1 -1
  513. package/{useLongPress-6fec2276.js → useLongPress-5e1ad951.js} +3 -3
  514. package/{useLongPress-6fec2276.js.map → useLongPress-5e1ad951.js.map} +1 -1
  515. package/{useSendMultipleFilesMessage-357faf33.js → useSendMultipleFilesMessage-a3a2c84b.js} +4 -4
  516. package/{useSendMultipleFilesMessage-357faf33.js.map → useSendMultipleFilesMessage-a3a2c84b.js.map} +1 -1
  517. package/useSendbirdStateContext.js +1 -1
  518. package/utils/message/isVoiceMessage.js +3 -3
  519. package/{utils-bb47ee51.js → utils-0c22998a.js} +4 -4
  520. package/{utils-bb47ee51.js.map → utils-0c22998a.js.map} +1 -1
  521. package/{utils-612edb45.js → utils-407da489.js} +1 -1
  522. package/{utils-612edb45.js.map → utils-407da489.js.map} +1 -1
  523. package/{utils-2e62b38e.js → utils-7cc92ac2.js} +1 -1
  524. package/{utils-2e62b38e.js.map → utils-7cc92ac2.js.map} +1 -1
  525. package/{utils-0efd22d6.js → utils-b97d5113.js} +3 -3
  526. package/{utils-0efd22d6.js.map → utils-b97d5113.js.map} +1 -1
  527. package/{utils-d6a054be.js → utils-cae84d8a.js} +2 -2
  528. package/{utils-d6a054be.js.map → utils-cae84d8a.js.map} +1 -1
  529. package/{utils-d95fe8c1.js → utils-ebf008e2.js} +1 -1
  530. package/{utils-d95fe8c1.js.map → utils-ebf008e2.js.map} +1 -1
  531. package/{uuid-9bb4bc3e.js → uuid-16373bba.js} +1 -1
  532. package/{uuid-9bb4bc3e.js.map → uuid-16373bba.js.map} +1 -1
  533. package/withSendbird.js +1 -1
  534. package/ChannelListProvider-3b34756f.js.map +0 -1
  535. package/_rollupPluginBabelHelpers-51534391.js.map +0 -1
  536. package/cjs/ChannelListProvider-0e8c13a1.js.map +0 -1
  537. package/cjs/_rollupPluginBabelHelpers-2387ee47.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-25c1ba3d.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
+ {"version":3,"file":"index-81baccd0.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,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-2387ee47.js');
3
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-83d7e84b.js');
4
4
  var React = require('react');
5
5
  var reactDom = require('react-dom');
6
- var LocalizationContext = require('./LocalizationContext-49278e68.js');
7
- require('./index.module-bab100ce.js');
8
- var utils = require('./utils-a7b1d0d5.js');
9
- var ui_Label = require('./index-19115579.js');
6
+ var LocalizationContext = require('./LocalizationContext-482c1343.js');
7
+ require('./index.module-a24e9cd7.js');
8
+ var utils = require('./utils-c47c68b1.js');
9
+ var ui_Label = require('./index-18720f0d.js');
10
10
  var ui_Icon = require('./ui/Icon.js');
11
- var index = require('./index-56ed4734.js');
12
- var index$1 = require('./index-41282b8c.js');
11
+ var index = require('./index-cbcacbee.js');
12
+ var index$1 = require('./index-fbe9cc73.js');
13
13
  var ui_Avatar = require('./ui/Avatar.js');
14
- var consts = require('./consts-8a7853e7.js');
14
+ var consts = require('./consts-fb07c671.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -296,4 +296,4 @@ exports.FileViewer = FileViewer;
296
296
  exports.FileViewerComponent = FileViewerComponent;
297
297
  exports.isImage = isImage;
298
298
  exports.isVideo = isVideo;
299
- //# sourceMappingURL=index-c2d4df04.js.map
299
+ //# sourceMappingURL=index-857630c5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-c2d4df04.js","sources":["../../src/ui/FileViewer/types.ts","../../src/ui/FileViewer/hooks/useKeyDown.ts","../../src/ui/FileViewer/utils.ts","../../src/ui/FileViewer/DeleteButton.tsx","../../src/ui/FileViewer/Slider.tsx","../../src/ui/FileViewer/index.tsx"],"sourcesContent":["// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\n\n// TODO: refactor this to -> as const pattern\nexport type SupportedImageMimesType = 'image/jpeg' | 'image/jpg' | 'image/png' | 'image/gif' | 'image/svg+xml' | 'image/webp';\nexport type SupportedVideoMimesType = 'video/mpeg' | 'video/ogg' | 'video/webm' | 'video/mp4';\nexport type SupportedMimesType = SupportedImageMimesType | SupportedVideoMimesType;\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const isImage = (type: SupportedImageMimesType): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: SupportedVideoMimesType): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: SupportedMimesType): boolean => type === 'image/gif';\nexport const unSupported = (type: SupportedMimesType): boolean => (\n !(\n isImage(type as SupportedImageMimesType)\n || isVideo(type as SupportedVideoMimesType)\n )\n);\n\nexport default { ...SUPPORTED_MIMES };\n\nexport const ViewerTypes = {\n SINGLE: 'SINGLE',\n MULTI: 'MULTI',\n} as const;\n\nexport type ViewerType = keyof typeof ViewerTypes;\n\nexport interface SenderInfo {\n profileUrl: string;\n nickname: string;\n}\nexport interface FileInfo {\n name: string;\n type: string;\n url: string;\n}\n\nexport interface BaseViewer {\n onClose: (e: React.MouseEvent) => void;\n}\n\nexport interface SingleFileViewer extends SenderInfo, FileInfo, BaseViewer {\n viewerType?: typeof ViewerTypes.SINGLE;\n isByMe?: boolean;\n disableDelete?: boolean;\n onDelete: (e: React.MouseEvent) => void;\n}\n\nexport interface MultiFilesViewer extends SenderInfo, BaseViewer {\n viewerType: typeof ViewerTypes.MULTI;\n fileInfoList: FileInfo[];\n currentIndex: number;\n onClickLeft: () => void;\n onClickRight: () => void;\n}\n\nexport type FileViewerComponentProps = SingleFileViewer | MultiFilesViewer;\n","import { useCallback, useLayoutEffect } from 'react';\nimport { noop } from '../../../utils/utils';\nimport { FileViewerComponentProps, ViewerTypes } from '../types';\n\nexport function useKeyDown({ props, ref }: {\n props: FileViewerComponentProps,\n ref: React.RefObject<HTMLDivElement>;\n}): {\n onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;\n} {\n const { onClose } = props;\n let onClickLeft = noop;\n let onClickRight = noop;\n if (props.viewerType === ViewerTypes.MULTI) {\n onClickLeft = props.onClickLeft;\n onClickRight = props.onClickRight;\n }\n\n useLayoutEffect(() => {\n ref.current?.focus();\n }, [ref.current]);\n\n // this usecallback is not super necessary\n // discuss with others and remove it if it's not needed\n const onKeyDown: React.KeyboardEventHandler<HTMLDivElement> = useCallback((event) => {\n switch (event.key) {\n case 'Escape':\n // @ts-ignore\n onClose(event);\n break;\n case 'ArrowLeft':\n onClickLeft();\n break;\n case 'ArrowRight':\n onClickRight();\n break;\n default:\n break;\n }\n event.stopPropagation();\n }, [onClose, onClickLeft, onClickRight]);\n\n return {\n onKeyDown,\n };\n}\n","import { FileInfo, FileViewerComponentProps, MultiFilesViewer, SingleFileViewer, ViewerTypes } from './types';\n\nexport function mapFileViewerComponentProps({ props }: {\n props: FileViewerComponentProps;\n}): FileInfo {\n if (props.viewerType === ViewerTypes.MULTI) {\n const { fileInfoList, currentIndex } = props as MultiFilesViewer;\n return fileInfoList[currentIndex];\n }\n const fileInfo: FileInfo = props as SingleFileViewer;\n return {\n name: fileInfo.name,\n type: fileInfo.type,\n url: fileInfo.url,\n };\n}\n","import React from 'react';\nimport { FileViewerComponentProps, ViewerTypes } from './types';\nimport Icon, { IconColors, IconTypes } from '../Icon';\n\nexport function DeleteButton(props: FileViewerComponentProps & { className?: string }): React.ReactElement {\n if (props.viewerType !== ViewerTypes.MULTI) {\n const { onDelete, isByMe, disableDelete, className } = props;\n return (isByMe)\n ? (\n <div className={`sendbird-fileviewer__header__right__actions__delete ${className}`}>\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => { if (!disableDelete) { onDelete?.(e); } }}\n />\n </div>\n )\n : <></>;\n }\n return <></>;\n}\n","import React from 'react';\nimport { FileViewerComponentProps, ViewerTypes } from './types';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { SLIDER_BUTTON_ICON_SIDE_LENGTH } from '../../utils/consts';\n\n// this is a slider component that is used to navigate between images\nexport function Slider(props: FileViewerComponentProps): React.ReactElement {\n if (props.viewerType === ViewerTypes.MULTI) {\n const { onClickLeft, onClickRight } = props;\n return (\n <div className=\"sendbird-file-viewer-slider\">\n <div className=\"sendbird-file-viewer-arrow--left\">\n <Icon\n type={IconTypes.SLIDE_LEFT}\n fillColor={IconColors.ON_BACKGROUND_1}\n height={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n width={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n onClick={(e) => {\n onClickLeft?.();\n e.stopPropagation();\n }}\n />\n </div>\n <div className=\"sendbird-file-viewer-arrow--right\">\n <Icon\n type={IconTypes.SLIDE_LEFT}\n fillColor={IconColors.ON_BACKGROUND_1}\n height={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n width={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n onClick={(e) => {\n e.stopPropagation();\n onClickRight?.();\n }}\n />\n </div>\n </div>\n );\n }\n // return empty fragment if viewerType is not ViewerTypes.MULTI\n return <></>;\n}\n","import './index.scss';\n\nimport React, { MouseEvent, ReactElement, useContext, useRef } from 'react';\nimport { FileMessage, MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport { createPortal } from 'react-dom';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { MODAL_ROOT } from '../../hooks/useModal';\nimport { isImage, isVideo, isSupportedFileView } from '../../utils';\nimport { noop } from '../../utils/utils';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { FileInfo, FileViewerComponentProps, ViewerTypes } from './types';\nimport { useKeyDown } from './hooks/useKeyDown';\nimport { mapFileViewerComponentProps } from './utils';\nimport { DeleteButton } from './DeleteButton';\nimport { Slider } from './Slider';\n\nexport const FileViewerComponent = (props: FileViewerComponentProps): ReactElement => {\n const ref = useRef<HTMLDivElement>(null);\n const { profileUrl, nickname, onClose } = props;\n const { onKeyDown } = useKeyDown({ props, ref });\n const { name, type, url } = mapFileViewerComponentProps({ props });\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n <div\n className=\"sendbird-fileviewer\"\n onKeyDown={onKeyDown}\n // to focus\n tabIndex={1}\n ref={ref}\n >\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div\n className=\"sendbird-fileviewer__header__right\"\n >\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\" >\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n <DeleteButton\n className='sendbird-fileviewer__header__right__actions__delete'\n {...props}\n />\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => onClose?.(e)}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video\n controls\n className=\"sendbird-fileviewer__content__video\"\n >\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className={\n props.viewerType === ViewerTypes.MULTI\n ? 'sendbird-fileviewer__content__img__multi'\n : 'sendbird-fileviewer__content__img'\n }\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.UI__FILE_VIEWER__UNSUPPORT || 'Unsupported message'}\n </Label>\n </div>\n )\n }\n <Slider {...props} />\n </div>\n </div>\n );\n};\n\nexport interface FileViewerProps {\n message: FileMessage | MultipleFilesMessage;\n isByMe?: boolean;\n currentIndex?: number;\n onClose: (e: MouseEvent) => void;\n onDelete?: (e: MouseEvent) => void;\n onClickLeft?: () => void;\n onClickRight?: () => void;\n}\n\nexport default function FileViewer({\n message,\n onClose,\n isByMe = false,\n onDelete,\n currentIndex,\n onClickLeft,\n onClickRight,\n}: FileViewerProps): ReactElement {\n if (message.isMultipleFilesMessage()) {\n return (\n <FileViewerComponent\n profileUrl={message.sender?.profileUrl}\n nickname={message.sender?.nickname}\n viewerType={ViewerTypes.MULTI}\n fileInfoList={message.fileInfoList.map((fileInfo: UploadedFileInfo): FileInfo => {\n return {\n name: fileInfo.fileName || '',\n type: fileInfo.mimeType || '',\n url: fileInfo.url,\n };\n })}\n currentIndex={currentIndex || 0}\n onClickLeft={onClickLeft || noop}\n onClickRight={onClickRight || noop}\n onClose={onClose}\n />\n );\n } else if (message.isFileMessage()) {\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={message.sender?.profileUrl}\n nickname={message.sender?.nickname}\n name={message.name}\n type={message.type}\n url={message?.url}\n isByMe={isByMe}\n disableDelete={(message?.threadInfo?.replyCount || 0) > 0}\n onClose={onClose}\n onDelete={onDelete || noop}\n />\n ),\n (document.getElementById(MODAL_ROOT) as HTMLElement),\n );\n }\n return <></>;\n}\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","isImage","type","indexOf","isVideo","_objectSpread","ViewerTypes","SINGLE","MULTI","useKeyDown","_ref","props","ref","onClose","onClickLeft","noop","onClickRight","viewerType","useLayoutEffect","_ref$current","current","focus","onKeyDown","useCallback","event","key","stopPropagation","mapFileViewerComponentProps","fileInfoList","currentIndex","fileInfo","name","url","DeleteButton","onDelete","isByMe","disableDelete","className","React","createElement","Icon","IconTypes","DELETE","fillColor","IconColors","GRAY","ON_BACKGROUND_1","height","width","onClick","e","Fragment","Slider","SLIDE_LEFT","SLIDER_BUTTON_ICON_SIDE_LENGTH","FileViewerComponent","useRef","profileUrl","nickname","stringSet","useContext","LocalizationContext","tabIndex","Avatar","src","Label","LabelTypography","H_2","color","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","rel","href","target","DOWNLOAD","_extends","CLOSE","controls","alt","H_1","UI__FILE_VIEWER__UNSUPPORT","FileViewer","message","isMultipleFilesMessage","_message$sender","_message$sender2","sender","map","fileName","mimeType","isFileMessage","_message$sender3","_message$sender4","_message$threadInfo","createPortal","threadInfo","replyCount","document","getElementById","MODAL_ROOT"],"mappings":"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"}
1
+ {"version":3,"file":"index-857630c5.js","sources":["../../src/ui/FileViewer/types.ts","../../src/ui/FileViewer/hooks/useKeyDown.ts","../../src/ui/FileViewer/utils.ts","../../src/ui/FileViewer/DeleteButton.tsx","../../src/ui/FileViewer/Slider.tsx","../../src/ui/FileViewer/index.tsx"],"sourcesContent":["// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\n\n// TODO: refactor this to -> as const pattern\nexport type SupportedImageMimesType = 'image/jpeg' | 'image/jpg' | 'image/png' | 'image/gif' | 'image/svg+xml' | 'image/webp';\nexport type SupportedVideoMimesType = 'video/mpeg' | 'video/ogg' | 'video/webm' | 'video/mp4';\nexport type SupportedMimesType = SupportedImageMimesType | SupportedVideoMimesType;\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const isImage = (type: SupportedImageMimesType): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: SupportedVideoMimesType): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: SupportedMimesType): boolean => type === 'image/gif';\nexport const unSupported = (type: SupportedMimesType): boolean => (\n !(\n isImage(type as SupportedImageMimesType)\n || isVideo(type as SupportedVideoMimesType)\n )\n);\n\nexport default { ...SUPPORTED_MIMES };\n\nexport const ViewerTypes = {\n SINGLE: 'SINGLE',\n MULTI: 'MULTI',\n} as const;\n\nexport type ViewerType = keyof typeof ViewerTypes;\n\nexport interface SenderInfo {\n profileUrl: string;\n nickname: string;\n}\nexport interface FileInfo {\n name: string;\n type: string;\n url: string;\n}\n\nexport interface BaseViewer {\n onClose: (e: React.MouseEvent) => void;\n}\n\nexport interface SingleFileViewer extends SenderInfo, FileInfo, BaseViewer {\n viewerType?: typeof ViewerTypes.SINGLE;\n isByMe?: boolean;\n disableDelete?: boolean;\n onDelete: (e: React.MouseEvent) => void;\n}\n\nexport interface MultiFilesViewer extends SenderInfo, BaseViewer {\n viewerType: typeof ViewerTypes.MULTI;\n fileInfoList: FileInfo[];\n currentIndex: number;\n onClickLeft: () => void;\n onClickRight: () => void;\n}\n\nexport type FileViewerComponentProps = SingleFileViewer | MultiFilesViewer;\n","import { useCallback, useLayoutEffect } from 'react';\nimport { noop } from '../../../utils/utils';\nimport { FileViewerComponentProps, ViewerTypes } from '../types';\n\nexport function useKeyDown({ props, ref }: {\n props: FileViewerComponentProps,\n ref: React.RefObject<HTMLDivElement>;\n}): {\n onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;\n} {\n const { onClose } = props;\n let onClickLeft = noop;\n let onClickRight = noop;\n if (props.viewerType === ViewerTypes.MULTI) {\n onClickLeft = props.onClickLeft;\n onClickRight = props.onClickRight;\n }\n\n useLayoutEffect(() => {\n ref.current?.focus();\n }, [ref.current]);\n\n // this usecallback is not super necessary\n // discuss with others and remove it if it's not needed\n const onKeyDown: React.KeyboardEventHandler<HTMLDivElement> = useCallback((event) => {\n switch (event.key) {\n case 'Escape':\n // @ts-ignore\n onClose(event);\n break;\n case 'ArrowLeft':\n onClickLeft();\n break;\n case 'ArrowRight':\n onClickRight();\n break;\n default:\n break;\n }\n event.stopPropagation();\n }, [onClose, onClickLeft, onClickRight]);\n\n return {\n onKeyDown,\n };\n}\n","import { FileInfo, FileViewerComponentProps, MultiFilesViewer, SingleFileViewer, ViewerTypes } from './types';\n\nexport function mapFileViewerComponentProps({ props }: {\n props: FileViewerComponentProps;\n}): FileInfo {\n if (props.viewerType === ViewerTypes.MULTI) {\n const { fileInfoList, currentIndex } = props as MultiFilesViewer;\n return fileInfoList[currentIndex];\n }\n const fileInfo: FileInfo = props as SingleFileViewer;\n return {\n name: fileInfo.name,\n type: fileInfo.type,\n url: fileInfo.url,\n };\n}\n","import React from 'react';\nimport { FileViewerComponentProps, ViewerTypes } from './types';\nimport Icon, { IconColors, IconTypes } from '../Icon';\n\nexport function DeleteButton(props: FileViewerComponentProps & { className?: string }): React.ReactElement {\n if (props.viewerType !== ViewerTypes.MULTI) {\n const { onDelete, isByMe, disableDelete, className } = props;\n return (isByMe)\n ? (\n <div className={`sendbird-fileviewer__header__right__actions__delete ${className}`}>\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => { if (!disableDelete) { onDelete?.(e); } }}\n />\n </div>\n )\n : <></>;\n }\n return <></>;\n}\n","import React from 'react';\nimport { FileViewerComponentProps, ViewerTypes } from './types';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { SLIDER_BUTTON_ICON_SIDE_LENGTH } from '../../utils/consts';\n\n// this is a slider component that is used to navigate between images\nexport function Slider(props: FileViewerComponentProps): React.ReactElement {\n if (props.viewerType === ViewerTypes.MULTI) {\n const { onClickLeft, onClickRight } = props;\n return (\n <div className=\"sendbird-file-viewer-slider\">\n <div className=\"sendbird-file-viewer-arrow--left\">\n <Icon\n type={IconTypes.SLIDE_LEFT}\n fillColor={IconColors.ON_BACKGROUND_1}\n height={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n width={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n onClick={(e) => {\n onClickLeft?.();\n e.stopPropagation();\n }}\n />\n </div>\n <div className=\"sendbird-file-viewer-arrow--right\">\n <Icon\n type={IconTypes.SLIDE_LEFT}\n fillColor={IconColors.ON_BACKGROUND_1}\n height={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n width={SLIDER_BUTTON_ICON_SIDE_LENGTH}\n onClick={(e) => {\n e.stopPropagation();\n onClickRight?.();\n }}\n />\n </div>\n </div>\n );\n }\n // return empty fragment if viewerType is not ViewerTypes.MULTI\n return <></>;\n}\n","import './index.scss';\n\nimport React, { MouseEvent, ReactElement, useContext, useRef } from 'react';\nimport { FileMessage, MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport { createPortal } from 'react-dom';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { MODAL_ROOT } from '../../hooks/useModal';\nimport { isImage, isVideo, isSupportedFileView } from '../../utils';\nimport { noop } from '../../utils/utils';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { FileInfo, FileViewerComponentProps, ViewerTypes } from './types';\nimport { useKeyDown } from './hooks/useKeyDown';\nimport { mapFileViewerComponentProps } from './utils';\nimport { DeleteButton } from './DeleteButton';\nimport { Slider } from './Slider';\n\nexport const FileViewerComponent = (props: FileViewerComponentProps): ReactElement => {\n const ref = useRef<HTMLDivElement>(null);\n const { profileUrl, nickname, onClose } = props;\n const { onKeyDown } = useKeyDown({ props, ref });\n const { name, type, url } = mapFileViewerComponentProps({ props });\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n <div\n className=\"sendbird-fileviewer\"\n onKeyDown={onKeyDown}\n // to focus\n tabIndex={1}\n ref={ref}\n >\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div\n className=\"sendbird-fileviewer__header__right\"\n >\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\" >\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n <DeleteButton\n className='sendbird-fileviewer__header__right__actions__delete'\n {...props}\n />\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => onClose?.(e)}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video\n controls\n className=\"sendbird-fileviewer__content__video\"\n >\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className={\n props.viewerType === ViewerTypes.MULTI\n ? 'sendbird-fileviewer__content__img__multi'\n : 'sendbird-fileviewer__content__img'\n }\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.UI__FILE_VIEWER__UNSUPPORT || 'Unsupported message'}\n </Label>\n </div>\n )\n }\n <Slider {...props} />\n </div>\n </div>\n );\n};\n\nexport interface FileViewerProps {\n message: FileMessage | MultipleFilesMessage;\n isByMe?: boolean;\n currentIndex?: number;\n onClose: (e: MouseEvent) => void;\n onDelete?: (e: MouseEvent) => void;\n onClickLeft?: () => void;\n onClickRight?: () => void;\n}\n\nexport default function FileViewer({\n message,\n onClose,\n isByMe = false,\n onDelete,\n currentIndex,\n onClickLeft,\n onClickRight,\n}: FileViewerProps): ReactElement {\n if (message.isMultipleFilesMessage()) {\n return (\n <FileViewerComponent\n profileUrl={message.sender?.profileUrl}\n nickname={message.sender?.nickname}\n viewerType={ViewerTypes.MULTI}\n fileInfoList={message.fileInfoList.map((fileInfo: UploadedFileInfo): FileInfo => {\n return {\n name: fileInfo.fileName || '',\n type: fileInfo.mimeType || '',\n url: fileInfo.url,\n };\n })}\n currentIndex={currentIndex || 0}\n onClickLeft={onClickLeft || noop}\n onClickRight={onClickRight || noop}\n onClose={onClose}\n />\n );\n } else if (message.isFileMessage()) {\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={message.sender?.profileUrl}\n nickname={message.sender?.nickname}\n name={message.name}\n type={message.type}\n url={message?.url}\n isByMe={isByMe}\n disableDelete={(message?.threadInfo?.replyCount || 0) > 0}\n onClose={onClose}\n onDelete={onDelete || noop}\n />\n ),\n (document.getElementById(MODAL_ROOT) as HTMLElement),\n );\n }\n return <></>;\n}\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","isImage","type","indexOf","isVideo","_objectSpread","ViewerTypes","SINGLE","MULTI","useKeyDown","_ref","props","ref","onClose","onClickLeft","noop","onClickRight","viewerType","useLayoutEffect","_ref$current","current","focus","onKeyDown","useCallback","event","key","stopPropagation","mapFileViewerComponentProps","fileInfoList","currentIndex","fileInfo","name","url","DeleteButton","onDelete","isByMe","disableDelete","className","React","createElement","Icon","IconTypes","DELETE","fillColor","IconColors","GRAY","ON_BACKGROUND_1","height","width","onClick","e","Fragment","Slider","SLIDE_LEFT","SLIDER_BUTTON_ICON_SIDE_LENGTH","FileViewerComponent","useRef","profileUrl","nickname","stringSet","useContext","LocalizationContext","tabIndex","Avatar","src","Label","LabelTypography","H_2","color","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","rel","href","target","DOWNLOAD","_extends","CLOSE","controls","alt","H_1","UI__FILE_VIEWER__UNSUPPORT","FileViewer","message","isMultipleFilesMessage","_message$sender","_message$sender2","sender","map","fileName","mimeType","isFileMessage","_message$sender3","_message$sender4","_message$threadInfo","createPortal","threadInfo","replyCount","document","getElementById","MODAL_ROOT"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index$1 = require('./index-3631aadd.js');
4
+ var index$1 = require('./index-c9b003b3.js');
5
5
  var ui_Icon = require('./ui/Icon.js');
6
- var ui_Label = require('./index-19115579.js');
6
+ var ui_Label = require('./index-18720f0d.js');
7
7
  var ui_Loader = require('./ui/Loader.js');
8
- var index$2 = require('./index-41282b8c.js');
8
+ var index$2 = require('./index-fbe9cc73.js');
9
9
  var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
10
- var index = require('./index-48a852e6.js');
11
- var LocalizationContext = require('./LocalizationContext-49278e68.js');
10
+ var index = require('./index-11f9cc0f.js');
11
+ var LocalizationContext = require('./LocalizationContext-482c1343.js');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
@@ -161,4 +161,4 @@ exports.getChannelUnreadMessageCount = getChannelUnreadMessageCount;
161
161
  exports.getLastMessage = getLastMessage;
162
162
  exports.getLastMessageCreatedAt = getLastMessageCreatedAt;
163
163
  exports.getTotalMembers = getTotalMembers;
164
- //# sourceMappingURL=index-d315648b.js.map
164
+ //# sourceMappingURL=index-8ec12d1d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-d315648b.js","sources":["../../src/modules/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport {\n isGif, isImage, isVideo,\n} from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\n/* eslint-disable default-param-last */\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getChannelPreviewFileDisplayString = (mimeType) => {\n if (isGif(mimeType)) {\n return 'GIF';\n }\n if (isImage(mimeType)) {\n return 'Photo';\n }\n if (isVideo(mimeType)) {\n return 'Video';\n }\n return 'File';\n};\n\nconst getPrettyLastMessage = (message = null) => {\n if (!message) return '';\n if (message.isFileMessage()) {\n return getChannelPreviewFileDisplayString(message.type);\n }\n if (message.isMultipleFilesMessage()) {\n const { fileInfoList } = message;\n return fileInfoList.length > 0\n ? getChannelPreviewFileDisplayString(fileInfoList[0].mimeType)\n : '';\n }\n return message.message ?? '';\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport { CoreMessageType, isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../modules/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { Nullable } from '../../types';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message?: CoreMessageType | null;\n channel: Nullable<GroupChannel>;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","_channel$members","channel","arguments","length","undefined","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join","getLastMessageCreatedAt","_ref3","_channel$lastMessage","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getChannelPreviewFileDisplayString","mimeType","isGif","isImage","isVideo","getPrettyLastMessage","_message$message","message","isFileMessage","type","isMultipleFilesMessage","fileInfoList","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_channel$isGroupChann","className","isDateSeparatorConsidered","dateLocale","useLocalization","status","getOutgoingMessageState","hideMessageStatusIcon","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","IconColors","React","createElement","Array","isArray","Loader","width","height","Icon","SPINNER","fillColor","PRIMARY","isSentStatus","Label","LabelTypography","CAPTION_3","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
1
+ {"version":3,"file":"index-8ec12d1d.js","sources":["../../src/modules/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport {\n isGif, isImage, isVideo,\n} from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\n/* eslint-disable default-param-last */\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getChannelPreviewFileDisplayString = (mimeType) => {\n if (isGif(mimeType)) {\n return 'GIF';\n }\n if (isImage(mimeType)) {\n return 'Photo';\n }\n if (isVideo(mimeType)) {\n return 'Video';\n }\n return 'File';\n};\n\nconst getPrettyLastMessage = (message = null) => {\n if (!message) return '';\n if (message.isFileMessage()) {\n return getChannelPreviewFileDisplayString(message.type);\n }\n if (message.isMultipleFilesMessage()) {\n const { fileInfoList } = message;\n return fileInfoList.length > 0\n ? getChannelPreviewFileDisplayString(fileInfoList[0].mimeType)\n : '';\n }\n return message.message ?? '';\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport { CoreMessageType, isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../modules/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { Nullable } from '../../types';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message?: CoreMessageType | null;\n channel: Nullable<GroupChannel>;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","_channel$members","channel","arguments","length","undefined","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join","getLastMessageCreatedAt","_ref3","_channel$lastMessage","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getChannelPreviewFileDisplayString","mimeType","isGif","isImage","isVideo","getPrettyLastMessage","_message$message","message","isFileMessage","type","isMultipleFilesMessage","fileInfoList","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_channel$isGroupChann","className","isDateSeparatorConsidered","dateLocale","useLocalization","status","getOutgoingMessageState","hideMessageStatusIcon","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","IconColors","React","createElement","Array","isArray","Loader","width","height","Icon","SPINNER","fillColor","PRIMARY","isSentStatus","Label","LabelTypography","CAPTION_3","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
@@ -5,9 +5,9 @@ var ui_PlaybackTime = require('./ui/PlaybackTime.js');
5
5
  var ui_ProgressBar = require('./ui/ProgressBar.js');
6
6
  var ui_TextButton = require('./ui/TextButton.js');
7
7
  var ui_Icon = require('./ui/Icon.js');
8
- var ui_Label = require('./index-19115579.js');
9
- var LocalizationContext = require('./LocalizationContext-49278e68.js');
10
- var consts = require('./consts-8a7853e7.js');
8
+ var ui_Label = require('./index-18720f0d.js');
9
+ var LocalizationContext = require('./LocalizationContext-482c1343.js');
10
+ var consts = require('./consts-fb07c671.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -158,4 +158,4 @@ const VoiceMessageInput = _ref => {
158
158
 
159
159
  exports.VoiceMessageInput = VoiceMessageInput;
160
160
  exports.VoiceMessageInputStatus = VoiceMessageInputStatus;
161
- //# sourceMappingURL=index-e9d1f7ba.js.map
161
+ //# sourceMappingURL=index-91b4af96.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-e9d1f7ba.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState,\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue;\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_ref","inputState","React","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","ON_BACKGROUND_1","VoiceMessageInput","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","lastClickTime","setLastClickTime","useState","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
1
+ {"version":3,"file":"index-91b4af96.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState,\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue;\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_ref","inputState","React","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","ON_BACKGROUND_1","VoiceMessageInput","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","lastClickTime","setLastClickTime","useState","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}