@sendbird/uikit-react 3.4.8 → 3.5.0-mobile-web-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/App.js +119 -70
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +18 -18
  4. package/Channel/components/ChannelUI.js +46 -41
  5. package/Channel/components/ChannelUI.js.map +1 -1
  6. package/Channel/components/FileViewer.js +14 -14
  7. package/Channel/components/FrozenNotification.js +4 -4
  8. package/Channel/components/Message.js +59 -45
  9. package/Channel/components/Message.js.map +1 -1
  10. package/Channel/components/MessageInput.js +35 -36
  11. package/Channel/components/MessageInput.js.map +1 -1
  12. package/Channel/components/MessageList.js +85 -46
  13. package/Channel/components/MessageList.js.map +1 -1
  14. package/Channel/components/RemoveMessageModal.js +16 -16
  15. package/Channel/components/SuggestedMentionList.js +16 -16
  16. package/Channel/components/TypingIndicator.js +14 -14
  17. package/Channel/components/UnreadCount.js +5 -5
  18. package/Channel/components/UnreadCount.js.map +1 -1
  19. package/Channel/context.js +11 -11
  20. package/Channel.js +46 -41
  21. package/Channel.js.map +1 -1
  22. package/ChannelList/components/AddChannel.js +14 -14
  23. package/ChannelList/components/ChannelListHeader.js +6 -6
  24. package/ChannelList/components/ChannelListUI.js +33 -32
  25. package/ChannelList/components/ChannelListUI.js.map +1 -1
  26. package/ChannelList/components/ChannelPreview.js +25 -25
  27. package/ChannelList/components/ChannelPreviewAction.js +13 -13
  28. package/ChannelList/context.js +7 -7
  29. package/ChannelList.js +29 -29
  30. package/{ChannelListProvider-1d8f4d94.js → ChannelListProvider-42fb305a.js} +19 -37
  31. package/ChannelListProvider-42fb305a.js.map +1 -0
  32. package/{ChannelProvider-bba4a095.js → ChannelProvider-42ea1a96.js} +59 -24
  33. package/ChannelProvider-42ea1a96.js.map +1 -0
  34. package/ChannelSettings/components/ChannelProfile.js +11 -11
  35. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  36. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  37. package/ChannelSettings/components/LeaveChannel.js +11 -11
  38. package/ChannelSettings/components/ModerationPanel.js +14 -14
  39. package/ChannelSettings/components/UserListItem.js +10 -10
  40. package/ChannelSettings/components/UserPanel.js +13 -13
  41. package/ChannelSettings/context.js +3 -3
  42. package/ChannelSettings.js +17 -17
  43. package/CreateChannel/components/CreateChannelUI.js +13 -13
  44. package/CreateChannel/components/InviteUsers.js +15 -14
  45. package/CreateChannel/components/InviteUsers.js.map +1 -1
  46. package/CreateChannel/components/SelectChannelType.js +10 -10
  47. package/CreateChannel/context.js +4 -4
  48. package/CreateChannel.js +13 -13
  49. package/{CreateChannelProvider-1ba7a571.js → CreateChannelProvider-37af96d2.js} +1 -1
  50. package/{CreateChannelProvider-1ba7a571.js.map → CreateChannelProvider-37af96d2.js.map} +1 -1
  51. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  52. package/CreateOpenChannel/context.js +1 -1
  53. package/CreateOpenChannel.js +9 -9
  54. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  55. package/EditUserProfile.js +12 -12
  56. package/{LocalizationContext-ae38446a.js → LocalizationContext-1839d2db.js} +3 -3
  57. package/{LocalizationContext-ae38446a.js.map → LocalizationContext-1839d2db.js.map} +1 -1
  58. package/{MediaQueryContext-8d283dc2.js → MediaQueryContext-0e0b3a1b.js} +11 -6
  59. package/MediaQueryContext-0e0b3a1b.js.map +1 -0
  60. package/{MemberList-38971d43.js → MemberList-28589b39.js} +5 -5
  61. package/{MemberList-38971d43.js.map → MemberList-28589b39.js.map} +1 -1
  62. package/Message/context.js +5 -1
  63. package/Message/context.js.map +1 -1
  64. package/MessageSearch/components/MessageSearchUI.js +11 -11
  65. package/MessageSearch/context.js +1 -1
  66. package/MessageSearch.js +11 -11
  67. package/MessageSearch.js.map +1 -1
  68. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  69. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  70. package/OpenChannel/components/OpenChannelInput.js +18 -18
  71. package/OpenChannel/components/OpenChannelMessage.js +27 -27
  72. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  73. package/OpenChannel/components/OpenChannelUI.js +31 -31
  74. package/OpenChannel/context.js +8 -8
  75. package/OpenChannel.js +31 -31
  76. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  77. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  78. package/OpenChannelList/context.js +3 -3
  79. package/OpenChannelList.js +13 -13
  80. package/{OpenChannelListProvider-e0add710.js → OpenChannelListProvider-71a32f2d.js} +3 -3
  81. package/{OpenChannelListProvider-e0add710.js.map → OpenChannelListProvider-71a32f2d.js.map} +1 -1
  82. package/{OpenChannelProvider-49db4c6c.js → OpenChannelProvider-377a0b6e.js} +7 -7
  83. package/{OpenChannelProvider-49db4c6c.js.map → OpenChannelProvider-377a0b6e.js.map} +1 -1
  84. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  85. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  86. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  87. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  88. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  89. package/OpenChannelSettings/context.js +3 -3
  90. package/OpenChannelSettings.js +17 -17
  91. package/{RemoveMessageModal-10f50eae.js → RemoveMessageModal-558db27f.js} +3 -3
  92. package/{RemoveMessageModal-10f50eae.js.map → RemoveMessageModal-558db27f.js.map} +1 -1
  93. package/SendbirdProvider.js +299 -65
  94. package/SendbirdProvider.js.map +1 -1
  95. package/Thread/components/ParentMessageInfo.js +90 -49
  96. package/Thread/components/ParentMessageInfo.js.map +1 -1
  97. package/Thread/components/ParentMessageInfoItem.js +33 -25
  98. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  99. package/Thread/components/ThreadHeader.js +7 -7
  100. package/Thread/components/ThreadHeader.js.map +1 -1
  101. package/Thread/components/ThreadList.js +40 -33
  102. package/Thread/components/ThreadList.js.map +1 -1
  103. package/Thread/components/ThreadListItem.js +88 -48
  104. package/Thread/components/ThreadListItem.js.map +1 -1
  105. package/Thread/components/ThreadMessageInput.js +36 -36
  106. package/Thread/components/ThreadMessageInput.js.map +1 -1
  107. package/Thread/components/ThreadUI.js +56 -46
  108. package/Thread/components/ThreadUI.js.map +1 -1
  109. package/Thread/context.js +8 -8
  110. package/Thread.js +49 -42
  111. package/Thread.js.map +1 -1
  112. package/{ThreadProvider-128d5041.js → ThreadProvider-0b73628e.js} +11 -8
  113. package/ThreadProvider-0b73628e.js.map +1 -0
  114. package/{UserProfileContext-91e3b3f2.js → UserProfileContext-7e645551.js} +1 -1
  115. package/{UserProfileContext-91e3b3f2.js.map → UserProfileContext-7e645551.js.map} +1 -1
  116. package/{VoiceMessageInputWrapper-cbfa4f2b.js → VoiceMessageInputWrapper-0b5a78a1.js} +7 -7
  117. package/{VoiceMessageInputWrapper-cbfa4f2b.js.map → VoiceMessageInputWrapper-0b5a78a1.js.map} +1 -1
  118. package/VoicePlayer/context.js +3 -3
  119. package/VoicePlayer/useVoicePlayer.js +3 -3
  120. package/VoiceRecorder/context.js +11 -4
  121. package/VoiceRecorder/context.js.map +1 -1
  122. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  123. package/{WebAudioUtils-5f47139c.js → WebAudioUtils-fbdb41cd.js} +1 -1
  124. package/{WebAudioUtils-5f47139c.js.map → WebAudioUtils-fbdb41cd.js.map} +1 -1
  125. package/{_rollupPluginBabelHelpers-eaf55eff.js → _rollupPluginBabelHelpers-ce69e916.js} +1 -1
  126. package/_rollupPluginBabelHelpers-ce69e916.js.map +1 -0
  127. package/{actionTypes-98eee9f4.js → actionTypes-a5283c75.js} +1 -1
  128. package/{actionTypes-98eee9f4.js.map → actionTypes-a5283c75.js.map} +1 -1
  129. package/cjs/App.js +119 -70
  130. package/cjs/App.js.map +1 -1
  131. package/cjs/Channel/components/ChannelHeader.js +18 -18
  132. package/cjs/Channel/components/ChannelUI.js +46 -41
  133. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  134. package/cjs/Channel/components/FileViewer.js +14 -14
  135. package/cjs/Channel/components/FrozenNotification.js +4 -4
  136. package/cjs/Channel/components/Message.js +59 -45
  137. package/cjs/Channel/components/Message.js.map +1 -1
  138. package/cjs/Channel/components/MessageInput.js +35 -36
  139. package/cjs/Channel/components/MessageInput.js.map +1 -1
  140. package/cjs/Channel/components/MessageList.js +85 -46
  141. package/cjs/Channel/components/MessageList.js.map +1 -1
  142. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  143. package/cjs/Channel/components/SuggestedMentionList.js +16 -16
  144. package/cjs/Channel/components/TypingIndicator.js +14 -14
  145. package/cjs/Channel/components/UnreadCount.js +5 -5
  146. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  147. package/cjs/Channel/context.js +11 -11
  148. package/cjs/Channel.js +46 -41
  149. package/cjs/Channel.js.map +1 -1
  150. package/cjs/ChannelList/components/AddChannel.js +14 -14
  151. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  152. package/cjs/ChannelList/components/ChannelListUI.js +33 -32
  153. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  154. package/cjs/ChannelList/components/ChannelPreview.js +25 -25
  155. package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
  156. package/cjs/ChannelList/context.js +7 -7
  157. package/cjs/ChannelList.js +29 -29
  158. package/cjs/{ChannelListProvider-634b78f3.js → ChannelListProvider-b3ffe21a.js} +19 -37
  159. package/cjs/ChannelListProvider-b3ffe21a.js.map +1 -0
  160. package/cjs/{ChannelProvider-5366f030.js → ChannelProvider-b6890429.js} +59 -24
  161. package/cjs/ChannelProvider-b6890429.js.map +1 -0
  162. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  163. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  164. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  165. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  166. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  167. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  168. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  169. package/cjs/ChannelSettings/context.js +3 -3
  170. package/cjs/ChannelSettings.js +17 -17
  171. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  172. package/cjs/CreateChannel/components/InviteUsers.js +15 -14
  173. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  174. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  175. package/cjs/CreateChannel/context.js +4 -4
  176. package/cjs/CreateChannel.js +13 -13
  177. package/cjs/{CreateChannelProvider-65dcc450.js → CreateChannelProvider-e1376032.js} +1 -1
  178. package/cjs/{CreateChannelProvider-65dcc450.js.map → CreateChannelProvider-e1376032.js.map} +1 -1
  179. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  180. package/cjs/CreateOpenChannel/context.js +1 -1
  181. package/cjs/CreateOpenChannel.js +9 -9
  182. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  183. package/cjs/EditUserProfile.js +12 -12
  184. package/cjs/{LocalizationContext-4fa55e6b.js → LocalizationContext-461a0816.js} +3 -3
  185. package/cjs/{LocalizationContext-4fa55e6b.js.map → LocalizationContext-461a0816.js.map} +1 -1
  186. package/cjs/{MediaQueryContext-e443379e.js → MediaQueryContext-de7c63bc.js} +11 -6
  187. package/cjs/MediaQueryContext-de7c63bc.js.map +1 -0
  188. package/cjs/{MemberList-3736f22c.js → MemberList-593809cb.js} +5 -5
  189. package/cjs/{MemberList-3736f22c.js.map → MemberList-593809cb.js.map} +1 -1
  190. package/cjs/Message/context.js +5 -1
  191. package/cjs/Message/context.js.map +1 -1
  192. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  193. package/cjs/MessageSearch/context.js +1 -1
  194. package/cjs/MessageSearch.js +11 -11
  195. package/cjs/MessageSearch.js.map +1 -1
  196. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  197. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  198. package/cjs/OpenChannel/components/OpenChannelInput.js +18 -18
  199. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
  200. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  201. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  202. package/cjs/OpenChannel/context.js +8 -8
  203. package/cjs/OpenChannel.js +31 -31
  204. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  205. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  206. package/cjs/OpenChannelList/context.js +3 -3
  207. package/cjs/OpenChannelList.js +13 -13
  208. package/cjs/{OpenChannelListProvider-458abc0e.js → OpenChannelListProvider-39c11f87.js} +3 -3
  209. package/cjs/{OpenChannelListProvider-458abc0e.js.map → OpenChannelListProvider-39c11f87.js.map} +1 -1
  210. package/cjs/{OpenChannelProvider-84f42ba8.js → OpenChannelProvider-e794e881.js} +7 -7
  211. package/cjs/{OpenChannelProvider-84f42ba8.js.map → OpenChannelProvider-e794e881.js.map} +1 -1
  212. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  213. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  214. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  215. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  216. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  217. package/cjs/OpenChannelSettings/context.js +3 -3
  218. package/cjs/OpenChannelSettings.js +17 -17
  219. package/cjs/{RemoveMessageModal-3535563a.js → RemoveMessageModal-29fa1a05.js} +3 -3
  220. package/cjs/{RemoveMessageModal-3535563a.js.map → RemoveMessageModal-29fa1a05.js.map} +1 -1
  221. package/cjs/SendbirdProvider.js +298 -64
  222. package/cjs/SendbirdProvider.js.map +1 -1
  223. package/cjs/Thread/components/ParentMessageInfo.js +90 -49
  224. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  225. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -25
  226. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  227. package/cjs/Thread/components/ThreadHeader.js +7 -7
  228. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  229. package/cjs/Thread/components/ThreadList.js +40 -33
  230. package/cjs/Thread/components/ThreadList.js.map +1 -1
  231. package/cjs/Thread/components/ThreadListItem.js +88 -48
  232. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  233. package/cjs/Thread/components/ThreadMessageInput.js +36 -36
  234. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  235. package/cjs/Thread/components/ThreadUI.js +56 -46
  236. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  237. package/cjs/Thread/context.js +8 -8
  238. package/cjs/Thread.js +49 -42
  239. package/cjs/Thread.js.map +1 -1
  240. package/cjs/{ThreadProvider-d38505b4.js → ThreadProvider-e2098298.js} +11 -8
  241. package/cjs/ThreadProvider-e2098298.js.map +1 -0
  242. package/cjs/{UserProfileContext-83eaf6e8.js → UserProfileContext-1bcc48a2.js} +1 -1
  243. package/cjs/{UserProfileContext-83eaf6e8.js.map → UserProfileContext-1bcc48a2.js.map} +1 -1
  244. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js → VoiceMessageInputWrapper-f18d6a5e.js} +7 -7
  245. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js.map → VoiceMessageInputWrapper-f18d6a5e.js.map} +1 -1
  246. package/cjs/VoicePlayer/context.js +3 -3
  247. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  248. package/cjs/VoiceRecorder/context.js +11 -4
  249. package/cjs/VoiceRecorder/context.js.map +1 -1
  250. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  251. package/cjs/{WebAudioUtils-00b9890d.js → WebAudioUtils-aedad0b1.js} +1 -1
  252. package/cjs/{WebAudioUtils-00b9890d.js.map → WebAudioUtils-aedad0b1.js.map} +1 -1
  253. package/cjs/{_rollupPluginBabelHelpers-2c0fc9c3.js → _rollupPluginBabelHelpers-919a4db3.js} +1 -1
  254. package/cjs/_rollupPluginBabelHelpers-919a4db3.js.map +1 -0
  255. package/cjs/{actionTypes-fb3f6a66.js → actionTypes-1e75e6e9.js} +1 -1
  256. package/cjs/{actionTypes-fb3f6a66.js.map → actionTypes-1e75e6e9.js.map} +1 -1
  257. package/cjs/{color-83cbca20.js → color-48ff06b2.js} +1 -1
  258. package/cjs/{color-83cbca20.js.map → color-48ff06b2.js.map} +1 -1
  259. package/cjs/{compareIds-c2907ec8.js → compareIds-8ed822c1.js} +1 -1
  260. package/cjs/{compareIds-c2907ec8.js.map → compareIds-8ed822c1.js.map} +1 -1
  261. package/cjs/{const-75153738.js → const-49de651c.js} +1 -1
  262. package/cjs/{const-75153738.js.map → const-49de651c.js.map} +1 -1
  263. package/cjs/{const-17970c49.js → const-852d5677.js} +1 -1
  264. package/cjs/{const-17970c49.js.map → const-852d5677.js.map} +1 -1
  265. package/cjs/{consts-aaf1208c.js → consts-2580246d.js} +1 -1
  266. package/cjs/{consts-aaf1208c.js.map → consts-2580246d.js.map} +1 -1
  267. package/cjs/{consts-5ead6f3b.js → consts-5851f376.js} +1 -1
  268. package/cjs/{consts-5ead6f3b.js.map → consts-5851f376.js.map} +1 -1
  269. package/cjs/{consts-0db2bedc.js → consts-6f02fcc4.js} +3 -3
  270. package/cjs/consts-6f02fcc4.js.map +1 -0
  271. package/cjs/{consts-d2103ed5.js → consts-e9ee4cf4.js} +1 -1
  272. package/cjs/{consts-d2103ed5.js.map → consts-e9ee4cf4.js.map} +1 -1
  273. package/cjs/{context-d9a84cb9.js → context-4d89551f.js} +2 -2
  274. package/cjs/{context-d9a84cb9.js.map → context-4d89551f.js.map} +1 -1
  275. package/cjs/dist/index.css +255 -202
  276. package/cjs/dist/index.css.map +1 -1
  277. package/cjs/{index-1737cbae.js → index-0126dbb4.js} +4 -4
  278. package/cjs/{index-1737cbae.js.map → index-0126dbb4.js.map} +1 -1
  279. package/cjs/{index-6ac703ea.js → index-1a223893.js} +7 -6
  280. package/cjs/{index-6ac703ea.js.map → index-1a223893.js.map} +1 -1
  281. package/cjs/{index-fcd2f4ff.js → index-223e9372.js} +3 -2
  282. package/cjs/{index-fcd2f4ff.js.map → index-223e9372.js.map} +1 -1
  283. package/cjs/{index-552eb819.js → index-420b8e6d.js} +3 -3
  284. package/cjs/{index-552eb819.js.map → index-420b8e6d.js.map} +1 -1
  285. package/cjs/{index-22bdf04e.js → index-44186883.js} +2 -2
  286. package/cjs/{index-22bdf04e.js.map → index-44186883.js.map} +1 -1
  287. package/cjs/{index-47e4bdbc.js → index-5e6194f8.js} +1 -1
  288. package/cjs/{index-47e4bdbc.js.map → index-5e6194f8.js.map} +1 -1
  289. package/cjs/{index-be9c5a7d.js → index-60bf4d5c.js} +2 -2
  290. package/cjs/{index-be9c5a7d.js.map → index-60bf4d5c.js.map} +1 -1
  291. package/cjs/{index-c8c25288.js → index-60ea6503.js} +3 -3
  292. package/cjs/{index-c8c25288.js.map → index-60ea6503.js.map} +1 -1
  293. package/cjs/{index-09f8f2a4.js → index-6a46ed00.js} +3 -3
  294. package/cjs/{index-09f8f2a4.js.map → index-6a46ed00.js.map} +1 -1
  295. package/cjs/{index-10d8f30f.js → index-7a68d56f.js} +1 -1
  296. package/cjs/{index-10d8f30f.js.map → index-7a68d56f.js.map} +1 -1
  297. package/cjs/{index-5307f6c1.js → index-81aad270.js} +2 -2
  298. package/cjs/{index-5307f6c1.js.map → index-81aad270.js.map} +1 -1
  299. package/cjs/{index-41ce4c44.js → index-849c0736.js} +2 -2
  300. package/cjs/{index-41ce4c44.js.map → index-849c0736.js.map} +1 -1
  301. package/cjs/{index-56735815.js → index-a51f1b7d.js} +5 -5
  302. package/cjs/{index-56735815.js.map → index-a51f1b7d.js.map} +1 -1
  303. package/cjs/{index-01768a5e.js → index-a7025294.js} +6 -6
  304. package/cjs/{index-01768a5e.js.map → index-a7025294.js.map} +1 -1
  305. package/cjs/{index-265937df.js → index-bca3d144.js} +18 -2
  306. package/cjs/index-bca3d144.js.map +1 -0
  307. package/cjs/{index-61c3208b.js → index-f4682499.js} +4 -4
  308. package/cjs/{index-61c3208b.js.map → index-f4682499.js.map} +1 -1
  309. package/cjs/index-f5399132.js +419 -0
  310. package/cjs/index-f5399132.js.map +1 -0
  311. package/cjs/index.js +60 -58
  312. package/cjs/index.js.map +1 -1
  313. package/cjs/{index.module-3e7701ca.js → index.module-10ef9afc.js} +1 -1
  314. package/cjs/{index.module-3e7701ca.js.map → index.module-10ef9afc.js.map} +1 -1
  315. package/cjs/sendbirdSelectors.js +3 -3
  316. package/cjs/{stringSet-c24927d9.js → stringSet-d1cee26a.js} +1 -1
  317. package/cjs/{stringSet-c24927d9.js.map → stringSet-d1cee26a.js.map} +1 -1
  318. package/cjs/{tokenize-1441f448.js → tokenize-d3bb1637.js} +7 -3
  319. package/cjs/tokenize-d3bb1637.js.map +1 -0
  320. package/cjs/{topics-0df2f6f9.js → topics-00c67dd6.js} +1 -1
  321. package/cjs/{topics-0df2f6f9.js.map → topics-00c67dd6.js.map} +1 -1
  322. package/cjs/{types-df20b895.js → types-2e9e46b2.js} +1 -1
  323. package/cjs/types-2e9e46b2.js.map +1 -0
  324. package/cjs/ui/Accordion.js +2 -2
  325. package/cjs/ui/AccordionGroup.js +2 -2
  326. package/cjs/ui/AdminMessage.js +2 -2
  327. package/cjs/ui/Avatar.js +1 -1
  328. package/cjs/ui/Badge.js +4 -4
  329. package/cjs/ui/BottomSheet.js +1 -1
  330. package/cjs/ui/Button.js +2 -2
  331. package/cjs/ui/ChannelAvatar.js +2 -2
  332. package/cjs/ui/ConnectionStatus.js +4 -4
  333. package/cjs/ui/ContextMenu.js +35 -24
  334. package/cjs/ui/ContextMenu.js.map +1 -1
  335. package/cjs/ui/DateSeparator.js +3 -3
  336. package/cjs/ui/EmojiReactions.js +249 -46
  337. package/cjs/ui/EmojiReactions.js.map +1 -1
  338. package/cjs/ui/FileMessageItemBody.js +6 -6
  339. package/cjs/ui/FileViewer.js +8 -8
  340. package/cjs/ui/Icon.js +190 -167
  341. package/cjs/ui/Icon.js.map +1 -1
  342. package/cjs/ui/IconButton.js +1 -1
  343. package/cjs/ui/Input.js +2 -2
  344. package/cjs/ui/Label.js +2 -2
  345. package/cjs/ui/LinkLabel.js +2 -2
  346. package/cjs/ui/MentionLabel.js +10 -10
  347. package/cjs/ui/MentionUserLabel.js +1 -1
  348. package/cjs/ui/MessageContent.js +55 -400
  349. package/cjs/ui/MessageContent.js.map +1 -1
  350. package/cjs/ui/MessageInput.js +12 -12
  351. package/cjs/ui/MessageItemMenu.js +8 -8
  352. package/cjs/ui/MessageItemReactionMenu.js +12 -6
  353. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  354. package/cjs/ui/MessageSearchFileItem.js +10 -10
  355. package/cjs/ui/MessageSearchItem.js +8 -8
  356. package/cjs/ui/MessageStatus.js +10 -10
  357. package/cjs/ui/Modal.js +7 -7
  358. package/cjs/ui/OGMessageItemBody.js +14 -14
  359. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  360. package/cjs/ui/OpenChannelAvatar.js +5 -5
  361. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  362. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  363. package/cjs/ui/OpenchannelOGMessage.js +45 -51
  364. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  365. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  366. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  367. package/cjs/ui/PlaceHolder.js +5 -5
  368. package/cjs/ui/PlaybackTime.js +2 -2
  369. package/cjs/ui/QuoteMessage.js +6 -6
  370. package/cjs/ui/QuoteMessageInput.js +6 -6
  371. package/cjs/ui/ReactionBadge.js +2 -2
  372. package/cjs/ui/ReactionButton.js +15 -11
  373. package/cjs/ui/ReactionButton.js.map +1 -1
  374. package/cjs/ui/SortByRow.js +1 -1
  375. package/cjs/ui/TextButton.js +1 -1
  376. package/cjs/ui/TextMessageItemBody.js +14 -14
  377. package/cjs/ui/ThreadReplies.js +5 -5
  378. package/cjs/ui/ThumbnailMessageItemBody.js +15 -9
  379. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  380. package/cjs/ui/Toggle.js +1 -1
  381. package/cjs/ui/Tooltip.js +2 -2
  382. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  383. package/cjs/ui/UserListItem.js +14 -13
  384. package/cjs/ui/UserListItem.js.map +1 -1
  385. package/cjs/ui/UserProfile.js +9 -9
  386. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  387. package/cjs/ui/VoiceMessgeInput.js +7 -7
  388. package/cjs/ui/Word.js +10 -10
  389. package/cjs/useDirtyGetMentions-7b6c8a19.js +77 -0
  390. package/cjs/useDirtyGetMentions-7b6c8a19.js.map +1 -0
  391. package/cjs/{useLongPress-8aa00a28.js → useLongPress-4c2e9a3b.js} +9 -5
  392. package/cjs/useLongPress-4c2e9a3b.js.map +1 -0
  393. package/cjs/useSendbirdStateContext.js +1 -1
  394. package/cjs/utils/message/isVoiceMessage.js +2 -2
  395. package/cjs/{utils-111f523c.js → utils-22d05a53.js} +1 -1
  396. package/cjs/{utils-111f523c.js.map → utils-22d05a53.js.map} +1 -1
  397. package/cjs/{utils-a1fead2f.js → utils-3dacb9bc.js} +1 -1
  398. package/cjs/{utils-a1fead2f.js.map → utils-3dacb9bc.js.map} +1 -1
  399. package/cjs/{utils-93abfb7c.js → utils-c5d4c36e.js} +1 -1
  400. package/cjs/{utils-93abfb7c.js.map → utils-c5d4c36e.js.map} +1 -1
  401. package/cjs/{utils-4717b83e.js → utils-f1c09ec3.js} +2 -2
  402. package/cjs/{utils-4717b83e.js.map → utils-f1c09ec3.js.map} +1 -1
  403. package/cjs/{uuid-c854e2a9.js → uuid-d86ea01f.js} +1 -1
  404. package/cjs/{uuid-c854e2a9.js.map → uuid-d86ea01f.js.map} +1 -1
  405. package/cjs/withSendbird.js +1 -1
  406. package/{color-c1b95a91.js → color-4ca8a2ea.js} +1 -1
  407. package/{color-c1b95a91.js.map → color-4ca8a2ea.js.map} +1 -1
  408. package/{compareIds-74cf4016.js → compareIds-08858dd3.js} +1 -1
  409. package/{compareIds-74cf4016.js.map → compareIds-08858dd3.js.map} +1 -1
  410. package/{const-befef81d.js → const-714046e0.js} +1 -1
  411. package/{const-befef81d.js.map → const-714046e0.js.map} +1 -1
  412. package/{const-3af04f0a.js → const-a77c08c9.js} +1 -1
  413. package/{const-3af04f0a.js.map → const-a77c08c9.js.map} +1 -1
  414. package/{consts-9ece4263.js → consts-9393e7c8.js} +3 -3
  415. package/consts-9393e7c8.js.map +1 -0
  416. package/{consts-a8bc28bd.js → consts-aecb8fab.js} +1 -1
  417. package/{consts-a8bc28bd.js.map → consts-aecb8fab.js.map} +1 -1
  418. package/{consts-354db0d9.js → consts-d46e0fc1.js} +1 -1
  419. package/{consts-354db0d9.js.map → consts-d46e0fc1.js.map} +1 -1
  420. package/{consts-bb6cbaee.js → consts-decd9c7d.js} +1 -1
  421. package/{consts-bb6cbaee.js.map → consts-decd9c7d.js.map} +1 -1
  422. package/{context-38bde7ff.js → context-9a6b8b8a.js} +2 -2
  423. package/{context-38bde7ff.js.map → context-9a6b8b8a.js.map} +1 -1
  424. package/dist/index.css +255 -202
  425. package/dist/index.css.map +1 -1
  426. package/{index-67dd0c26.js → index-06f34585.js} +2 -2
  427. package/{index-67dd0c26.js.map → index-06f34585.js.map} +1 -1
  428. package/{index-aa215b1c.js → index-20880943.js} +3 -3
  429. package/{index-aa215b1c.js.map → index-20880943.js.map} +1 -1
  430. package/{index-4554e20e.js → index-3130ac38.js} +4 -4
  431. package/{index-4554e20e.js.map → index-3130ac38.js.map} +1 -1
  432. package/{index-14bb6832.js → index-3165e396.js} +1 -1
  433. package/{index-14bb6832.js.map → index-3165e396.js.map} +1 -1
  434. package/{index-88ab67cc.js → index-400417a1.js} +4 -4
  435. package/{index-88ab67cc.js.map → index-400417a1.js.map} +1 -1
  436. package/{index-ae8e6fc3.js → index-5644a6c0.js} +3 -3
  437. package/{index-ae8e6fc3.js.map → index-5644a6c0.js.map} +1 -1
  438. package/{index-1be3f6d7.js → index-5db37327.js} +3 -3
  439. package/{index-1be3f6d7.js.map → index-5db37327.js.map} +1 -1
  440. package/{index-db801708.js → index-7c9ebc67.js} +5 -5
  441. package/{index-db801708.js.map → index-7c9ebc67.js.map} +1 -1
  442. package/{index-8a4d2b6e.js → index-9781d2b9.js} +2 -2
  443. package/{index-8a4d2b6e.js.map → index-9781d2b9.js.map} +1 -1
  444. package/{index-1556dc4a.js → index-b96440b7.js} +3 -3
  445. package/{index-1556dc4a.js.map → index-b96440b7.js.map} +1 -1
  446. package/{index-8bf82e3b.js → index-bf72ef7c.js} +7 -6
  447. package/{index-8bf82e3b.js.map → index-bf72ef7c.js.map} +1 -1
  448. package/{index-96f6e11b.js → index-c6df8184.js} +6 -6
  449. package/{index-96f6e11b.js.map → index-c6df8184.js.map} +1 -1
  450. package/{index-321e838f.js → index-d9c12cf4.js} +1 -1
  451. package/{index-321e838f.js.map → index-d9c12cf4.js.map} +1 -1
  452. package/{index-a900bd78.js → index-e1cd2fcf.js} +2 -2
  453. package/{index-a900bd78.js.map → index-e1cd2fcf.js.map} +1 -1
  454. package/index-edfb3327.js +413 -0
  455. package/index-edfb3327.js.map +1 -0
  456. package/{index-d8fdbe6f.js → index-fd51c7d1.js} +16 -3
  457. package/index-fd51c7d1.js.map +1 -0
  458. package/{index-ecf3a793.js → index-fd95258e.js} +2 -2
  459. package/{index-ecf3a793.js.map → index-fd95258e.js.map} +1 -1
  460. package/index.d.ts +3 -1
  461. package/index.js +60 -58
  462. package/index.js.map +1 -1
  463. package/{index.module-1c75b4f5.js → index.module-8c144786.js} +1 -1
  464. package/{index.module-1c75b4f5.js.map → index.module-8c144786.js.map} +1 -1
  465. package/package.json +2 -2
  466. package/sendbirdSelectors.js +3 -3
  467. package/{stringSet-6d89212b.js → stringSet-d368e289.js} +1 -1
  468. package/{stringSet-6d89212b.js.map → stringSet-d368e289.js.map} +1 -1
  469. package/{tokenize-2e969273.js → tokenize-7056afb7.js} +7 -3
  470. package/tokenize-7056afb7.js.map +1 -0
  471. package/{topics-8f4016e9.js → topics-f9628f1f.js} +1 -1
  472. package/{topics-8f4016e9.js.map → topics-f9628f1f.js.map} +1 -1
  473. package/{types-ebbbec62.js → types-2b508dbc.js} +1 -1
  474. package/types-2b508dbc.js.map +1 -0
  475. package/ui/Accordion.js +2 -2
  476. package/ui/AccordionGroup.js +2 -2
  477. package/ui/AdminMessage.js +2 -2
  478. package/ui/Avatar.js +1 -1
  479. package/ui/Badge.js +4 -4
  480. package/ui/BottomSheet.js +1 -1
  481. package/ui/Button.js +2 -2
  482. package/ui/ChannelAvatar.js +2 -2
  483. package/ui/ConnectionStatus.js +4 -4
  484. package/ui/ContextMenu.js +35 -24
  485. package/ui/ContextMenu.js.map +1 -1
  486. package/ui/DateSeparator.js +3 -3
  487. package/ui/EmojiReactions.js +250 -47
  488. package/ui/EmojiReactions.js.map +1 -1
  489. package/ui/FileMessageItemBody.js +6 -6
  490. package/ui/FileViewer.js +8 -8
  491. package/ui/Icon.js +190 -167
  492. package/ui/Icon.js.map +1 -1
  493. package/ui/IconButton.js +1 -1
  494. package/ui/Input.js +2 -2
  495. package/ui/Label.js +2 -2
  496. package/ui/LinkLabel.js +2 -2
  497. package/ui/MentionLabel.js +10 -10
  498. package/ui/MentionUserLabel.js +1 -1
  499. package/ui/MessageContent.js +56 -401
  500. package/ui/MessageContent.js.map +1 -1
  501. package/ui/MessageInput.js +12 -12
  502. package/ui/MessageItemMenu.js +8 -8
  503. package/ui/MessageItemReactionMenu.js +12 -6
  504. package/ui/MessageItemReactionMenu.js.map +1 -1
  505. package/ui/MessageSearchFileItem.js +10 -10
  506. package/ui/MessageSearchItem.js +8 -8
  507. package/ui/MessageStatus.js +10 -10
  508. package/ui/Modal.js +7 -7
  509. package/ui/OGMessageItemBody.js +14 -14
  510. package/ui/OpenChannelAdminMessage.js +2 -2
  511. package/ui/OpenChannelAvatar.js +5 -5
  512. package/ui/OpenchannelConversationHeader.js +6 -6
  513. package/ui/OpenchannelFileMessage.js +15 -15
  514. package/ui/OpenchannelOGMessage.js +45 -51
  515. package/ui/OpenchannelOGMessage.js.map +1 -1
  516. package/ui/OpenchannelThumbnailMessage.js +14 -14
  517. package/ui/OpenchannelUserMessage.js +15 -15
  518. package/ui/PlaceHolder.js +5 -5
  519. package/ui/PlaybackTime.js +2 -2
  520. package/ui/QuoteMessage.js +6 -6
  521. package/ui/QuoteMessageInput.js +6 -6
  522. package/ui/ReactionBadge.js +2 -2
  523. package/ui/ReactionButton.js +15 -11
  524. package/ui/ReactionButton.js.map +1 -1
  525. package/ui/SortByRow.js +1 -1
  526. package/ui/TextButton.js +1 -1
  527. package/ui/TextMessageItemBody.js +14 -14
  528. package/ui/ThreadReplies.js +5 -5
  529. package/ui/ThumbnailMessageItemBody.js +15 -9
  530. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  531. package/ui/Toggle.js +1 -1
  532. package/ui/Tooltip.js +2 -2
  533. package/ui/UnknownMessageItemBody.js +6 -6
  534. package/ui/UserListItem.js +14 -13
  535. package/ui/UserListItem.js.map +1 -1
  536. package/ui/UserProfile.js +9 -9
  537. package/ui/VoiceMessageItemBody.js +5 -5
  538. package/ui/VoiceMessgeInput.js +7 -7
  539. package/ui/Word.js +10 -10
  540. package/useDirtyGetMentions-e0c0f521.js +75 -0
  541. package/useDirtyGetMentions-e0c0f521.js.map +1 -0
  542. package/{useLongPress-8d44d259.js → useLongPress-685c7391.js} +9 -5
  543. package/useLongPress-685c7391.js.map +1 -0
  544. package/useSendbirdStateContext.js +1 -1
  545. package/utils/message/isVoiceMessage.js +2 -2
  546. package/{utils-c8b489c4.js → utils-256f157f.js} +1 -1
  547. package/{utils-c8b489c4.js.map → utils-256f157f.js.map} +1 -1
  548. package/{utils-8e039c1b.js → utils-4979f950.js} +1 -1
  549. package/{utils-8e039c1b.js.map → utils-4979f950.js.map} +1 -1
  550. package/{utils-7d781542.js → utils-f82ad058.js} +1 -1
  551. package/{utils-7d781542.js.map → utils-f82ad058.js.map} +1 -1
  552. package/{utils-b42f4fab.js → utils-fbc09760.js} +2 -2
  553. package/{utils-b42f4fab.js.map → utils-fbc09760.js.map} +1 -1
  554. package/{uuid-c94bd88b.js → uuid-720c99c0.js} +1 -1
  555. package/{uuid-c94bd88b.js.map → uuid-720c99c0.js.map} +1 -1
  556. package/withSendbird.js +1 -1
  557. package/ChannelListProvider-1d8f4d94.js.map +0 -1
  558. package/ChannelProvider-bba4a095.js.map +0 -1
  559. package/MediaQueryContext-8d283dc2.js.map +0 -1
  560. package/ThreadProvider-128d5041.js.map +0 -1
  561. package/_rollupPluginBabelHelpers-eaf55eff.js.map +0 -1
  562. package/cjs/ChannelListProvider-634b78f3.js.map +0 -1
  563. package/cjs/ChannelProvider-5366f030.js.map +0 -1
  564. package/cjs/MediaQueryContext-e443379e.js.map +0 -1
  565. package/cjs/ThreadProvider-d38505b4.js.map +0 -1
  566. package/cjs/_rollupPluginBabelHelpers-2c0fc9c3.js.map +0 -1
  567. package/cjs/consts-0db2bedc.js.map +0 -1
  568. package/cjs/index-265937df.js.map +0 -1
  569. package/cjs/tokenize-1441f448.js.map +0 -1
  570. package/cjs/types-df20b895.js.map +0 -1
  571. package/cjs/useLongPress-8aa00a28.js.map +0 -1
  572. package/consts-9ece4263.js.map +0 -1
  573. package/index-d8fdbe6f.js.map +0 -1
  574. package/tokenize-2e969273.js.map +0 -1
  575. package/types-ebbbec62.js.map +0 -1
  576. package/useLongPress-8d44d259.js.map +0 -1
@@ -0,0 +1,413 @@
1
+ import React__default, { useState } from 'react';
2
+ import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
3
+ import { r as isUserMessage, C as isSentMessage, D as isFailedMessage, E as isPendingMessage, l as isFileMessage, O as isThreadMessage, F as copyToClipboard, P as isParentMessage, d as isVoiceMessage, G as getEmojiListAll } from './index-fd51c7d1.js';
4
+ import { u as useLocalization } from './LocalizationContext-1839d2db.js';
5
+ import Icon, { IconTypes, IconColors } from './ui/Icon.js';
6
+ import { L as Label, a as LabelTypography, b as LabelColors } from './index-e1cd2fcf.js';
7
+ import BottomSheet from './ui/BottomSheet.js';
8
+ import ImageRenderer from './ui/ImageRenderer.js';
9
+ import ReactionButton from './ui/ReactionButton.js';
10
+
11
+ const MobileContextMenu = props => {
12
+ var _message$sender;
13
+ const {
14
+ hideMenu,
15
+ channel,
16
+ message,
17
+ replyType,
18
+ userId,
19
+ resendMessage,
20
+ showEdit,
21
+ showRemove,
22
+ setQuoteMessage,
23
+ parentRef,
24
+ onReplyInThread,
25
+ isOpenedFromThread = false
26
+ } = props;
27
+ const isByMe = (message === null || message === void 0 ? void 0 : (_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.userId) === userId;
28
+ const {
29
+ stringSet
30
+ } = useLocalization();
31
+ const showMenuItemCopy = isUserMessage(message);
32
+ const showMenuItemEdit = isUserMessage(message) && isSentMessage(message) && isByMe;
33
+ const showMenuItemResend = isFailedMessage(message) && (message === null || message === void 0 ? void 0 : message.isResendable) && isByMe;
34
+ const showMenuItemDelete = !isPendingMessage(message) && isByMe;
35
+ const showMenuItemDownload = !isPendingMessage(message) && isFileMessage(message);
36
+ const showMenuItemReply = replyType === 'QUOTE_REPLY' && !isFailedMessage(message) && !isPendingMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !(channel !== null && channel !== void 0 && channel.isBroadcast);
37
+ const showMenuItemThread = replyType === 'THREAD' && !isOpenedFromThread && !isFailedMessage(message) && !isPendingMessage(message) && !isThreadMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel());
38
+ const fileMessage = message;
39
+ return /*#__PURE__*/React__default.createElement(ContextMenu, {
40
+ isOpen: true,
41
+ menuItems: () => {
42
+ var _message$threadInfo;
43
+ return /*#__PURE__*/React__default.createElement(MenuItems, {
44
+ className: "sendbird-message__mobile-context-menu",
45
+ parentRef: parentRef,
46
+ parentContainRef: parentRef,
47
+ closeDropdown: hideMenu
48
+ }, showMenuItemCopy && /*#__PURE__*/React__default.createElement(MenuItem, {
49
+ className: "sendbird-message__mobile-context-menu-item menu-item-copy",
50
+ onClick: () => {
51
+ hideMenu();
52
+ copyToClipboard(message === null || message === void 0 ? void 0 : message.message);
53
+ }
54
+ }, /*#__PURE__*/React__default.createElement(Label, {
55
+ type: LabelTypography.SUBTITLE_1
56
+ }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__COPY), /*#__PURE__*/React__default.createElement(Icon, {
57
+ type: IconTypes.COPY,
58
+ fillColor: IconColors.PRIMARY,
59
+ width: "24px",
60
+ height: "24px"
61
+ })), showMenuItemReply && /*#__PURE__*/React__default.createElement(MenuItem, {
62
+ className: "sendbird-message__mobile-context-menu-item menu-item-reply",
63
+ onClick: () => {
64
+ hideMenu();
65
+ setQuoteMessage(message);
66
+ },
67
+ disable: (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0
68
+ }, /*#__PURE__*/React__default.createElement(Label, {
69
+ type: LabelTypography.SUBTITLE_1
70
+ }, stringSet.MESSAGE_MENU__REPLY), /*#__PURE__*/React__default.createElement(Icon, {
71
+ type: IconTypes.REPLY,
72
+ fillColor: IconColors.PRIMARY,
73
+ width: "24px",
74
+ height: "24px"
75
+ })), showMenuItemThread && /*#__PURE__*/React__default.createElement(MenuItem, {
76
+ className: "sendbird-message__mobile-context-menu-item menu-item-reply",
77
+ onClick: () => {
78
+ hideMenu();
79
+ onReplyInThread === null || onReplyInThread === void 0 ? void 0 : onReplyInThread({
80
+ message
81
+ });
82
+ }
83
+ }, /*#__PURE__*/React__default.createElement(Label, {
84
+ type: LabelTypography.SUBTITLE_1
85
+ }, stringSet.MESSAGE_MENU__THREAD), /*#__PURE__*/React__default.createElement(Icon, {
86
+ type: IconTypes.THREAD,
87
+ fillColor: IconColors.PRIMARY,
88
+ width: "24px",
89
+ height: "24px"
90
+ })), showMenuItemEdit && /*#__PURE__*/React__default.createElement(MenuItem, {
91
+ className: "sendbird-message__mobile-context-menu-item menu-item-edit",
92
+ onClick: () => {
93
+ hideMenu();
94
+ showEdit(true);
95
+ }
96
+ }, /*#__PURE__*/React__default.createElement(Label, {
97
+ type: LabelTypography.SUBTITLE_1
98
+ }, stringSet.MESSAGE_MENU__EDIT), /*#__PURE__*/React__default.createElement(Icon, {
99
+ type: IconTypes.EDIT,
100
+ fillColor: IconColors.PRIMARY,
101
+ width: "24px",
102
+ height: "24px"
103
+ })), showMenuItemResend && /*#__PURE__*/React__default.createElement(MenuItem, {
104
+ className: "sendbird-message__mobile-context-menu-item menu-item-resend",
105
+ onClick: () => {
106
+ hideMenu();
107
+ resendMessage(message);
108
+ }
109
+ }, /*#__PURE__*/React__default.createElement(Label, {
110
+ type: LabelTypography.SUBTITLE_1
111
+ }, stringSet.MESSAGE_MENU__RESEND), /*#__PURE__*/React__default.createElement(Icon, {
112
+ type: IconTypes.REFRESH,
113
+ fillColor: IconColors.PRIMARY,
114
+ width: "24px",
115
+ height: "24px"
116
+ })), showMenuItemDelete && /*#__PURE__*/React__default.createElement(MenuItem, {
117
+ className: "sendbird-message__mobile-context-menu-item menu-item-delete",
118
+ onClick: () => {
119
+ hideMenu();
120
+ showRemove(true);
121
+ },
122
+ disable: (message === null || message === void 0 ? void 0 : (_message$threadInfo = message.threadInfo) === null || _message$threadInfo === void 0 ? void 0 : _message$threadInfo.replyCount) > 0
123
+ }, /*#__PURE__*/React__default.createElement(Label, {
124
+ type: LabelTypography.SUBTITLE_1
125
+ }, stringSet.MESSAGE_MENU__DELETE), /*#__PURE__*/React__default.createElement(Icon, {
126
+ type: IconTypes.DELETE,
127
+ fillColor: IconColors.PRIMARY,
128
+ width: "24px",
129
+ height: "24px"
130
+ })), showMenuItemDownload && /*#__PURE__*/React__default.createElement(MenuItem, {
131
+ className: "sendbird-message__mobile-context-menu-item menu-item-save",
132
+ onClick: () => {
133
+ hideMenu();
134
+ }
135
+ }, /*#__PURE__*/React__default.createElement("a", {
136
+ className: "sendbird-message__contextmenu--hyperlink",
137
+ rel: "noopener noreferrer",
138
+ href: fileMessage === null || fileMessage === void 0 ? void 0 : fileMessage.url,
139
+ target: "_blank"
140
+ }, /*#__PURE__*/React__default.createElement(Label, {
141
+ type: LabelTypography.SUBTITLE_1
142
+ }, stringSet.MESSAGE_MENU__SAVE), /*#__PURE__*/React__default.createElement(Icon, {
143
+ type: IconTypes.DOWNLOAD,
144
+ fillColor: IconColors.PRIMARY,
145
+ width: "24px",
146
+ height: "24px"
147
+ }))));
148
+ }
149
+ });
150
+ };
151
+
152
+ const EMOJI_SIZE = 38;
153
+ const MobileBottomSheet = props => {
154
+ var _message$sender;
155
+ const {
156
+ hideMenu,
157
+ channel,
158
+ emojiContainer,
159
+ message,
160
+ replyType,
161
+ userId,
162
+ resendMessage,
163
+ toggleReaction,
164
+ isReactionEnabled,
165
+ showEdit,
166
+ showRemove,
167
+ setQuoteMessage,
168
+ onReplyInThread,
169
+ isOpenedFromThread = false
170
+ } = props;
171
+ const isByMe = (message === null || message === void 0 ? void 0 : (_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.userId) === userId;
172
+ const {
173
+ stringSet
174
+ } = useLocalization();
175
+ const showMenuItemCopy = isUserMessage(message);
176
+ const showMenuItemEdit = isUserMessage(message) && isSentMessage(message) && isByMe;
177
+ const showMenuItemResend = isFailedMessage(message) && (message === null || message === void 0 ? void 0 : message.isResendable) && isByMe;
178
+ const showMenuItemDelete = !isPendingMessage(message) && isByMe && !isParentMessage(message);
179
+ const showMenuItemDownload = !isPendingMessage(message) && isFileMessage(message) && !isVoiceMessage(message);
180
+ const showReaction = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;
181
+ const showMenuItemReply = replyType === 'QUOTE_REPLY' && !isFailedMessage(message) && !isPendingMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !(channel !== null && channel !== void 0 && channel.isBroadcast);
182
+ const showMenuItemThread = replyType === 'THREAD' && !isOpenedFromThread && !isFailedMessage(message) && !isPendingMessage(message) && !isThreadMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !(channel !== null && channel !== void 0 && channel.isBroadcast);
183
+ const disableReaction = (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0;
184
+ const fileMessage = message;
185
+ const maxEmojisPerRow = Math.floor(window.innerWidth / EMOJI_SIZE) - 1;
186
+ const [showEmojisOnly, setShowEmojisOnly] = useState(false);
187
+ const emojis = getEmojiListAll(emojiContainer);
188
+ // calculate max emojis that can be shown in screen
189
+ const visibleEmojis = showEmojisOnly ? emojis : emojis === null || emojis === void 0 ? void 0 : emojis.slice(0, maxEmojisPerRow);
190
+ const canShowMoreEmojis = emojis.length > maxEmojisPerRow;
191
+ return /*#__PURE__*/React__default.createElement(BottomSheet, {
192
+ onBackdropClick: hideMenu
193
+ }, /*#__PURE__*/React__default.createElement("div", {
194
+ className: "sendbird-message__bottomsheet"
195
+ }, showReaction && /*#__PURE__*/React__default.createElement("div", {
196
+ className: "sendbird-message__bottomsheet-reactions"
197
+ }, /*#__PURE__*/React__default.createElement("ul", {
198
+ className: "sendbird-message__bottomsheet-reaction-bar"
199
+ }, /*#__PURE__*/React__default.createElement("div", {
200
+ className: `
201
+ sendbird-message__bottomsheet-reaction-bar__row
202
+ ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}
203
+ `
204
+ }, visibleEmojis.map(emoji => {
205
+ var _message$reactions, _message$reactions$fi, _message$reactions$fi2;
206
+ const isReacted = message === null || message === void 0 ? void 0 : (_message$reactions = message.reactions) === null || _message$reactions === void 0 ? void 0 : (_message$reactions$fi = _message$reactions.filter(reaction => reaction.key === emoji.key)[0]) === null || _message$reactions$fi === void 0 ? void 0 : (_message$reactions$fi2 = _message$reactions$fi.userIds) === null || _message$reactions$fi2 === void 0 ? void 0 : _message$reactions$fi2.some(reactorId => reactorId === userId);
207
+ return /*#__PURE__*/React__default.createElement(ReactionButton, {
208
+ key: emoji.key,
209
+ width: `${EMOJI_SIZE}px`,
210
+ height: `${EMOJI_SIZE}px`,
211
+ selected: isReacted,
212
+ onClick: () => {
213
+ hideMenu();
214
+ toggleReaction(message, emoji.key, isReacted);
215
+ }
216
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
217
+ url: (emoji === null || emoji === void 0 ? void 0 : emoji.url) || '',
218
+ width: "28px",
219
+ height: "28px",
220
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
221
+ style: style
222
+ }, /*#__PURE__*/React__default.createElement(Icon, {
223
+ type: IconTypes.QUESTION,
224
+ fillColor: IconColors.ON_BACKGROUND_3,
225
+ width: "28px",
226
+ height: "28px"
227
+ }))
228
+ }));
229
+ }), canShowMoreEmojis && !showEmojisOnly && /*#__PURE__*/React__default.createElement(ReactionButton, {
230
+ key: "emoji_more",
231
+ width: "38px",
232
+ height: "38px",
233
+ onClick: () => {
234
+ setShowEmojisOnly(true);
235
+ }
236
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
237
+ url: '',
238
+ width: "28px",
239
+ height: "28px",
240
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
241
+ style: style
242
+ }, /*#__PURE__*/React__default.createElement(Icon, {
243
+ type: IconTypes.EMOJI_MORE,
244
+ fillColor: IconColors.ON_BACKGROUND_3,
245
+ width: "28px",
246
+ height: "28px"
247
+ }))
248
+ }))))), !showEmojisOnly && /*#__PURE__*/React__default.createElement("div", {
249
+ className: "sendbird-message__bottomsheet--actions"
250
+ }, showMenuItemCopy && /*#__PURE__*/React__default.createElement("div", {
251
+ className: "sendbird-message__bottomsheet--action",
252
+ onClick: () => {
253
+ hideMenu();
254
+ copyToClipboard(message === null || message === void 0 ? void 0 : message.message);
255
+ }
256
+ }, /*#__PURE__*/React__default.createElement(Icon, {
257
+ type: IconTypes.COPY,
258
+ fillColor: IconColors.PRIMARY,
259
+ width: "24px",
260
+ height: "24px"
261
+ }), /*#__PURE__*/React__default.createElement(Label, {
262
+ type: LabelTypography.SUBTITLE_1
263
+ }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__COPY)), showMenuItemEdit && /*#__PURE__*/React__default.createElement("div", {
264
+ className: "sendbird-message__bottomsheet--action",
265
+ onClick: () => {
266
+ hideMenu();
267
+ showEdit(true);
268
+ }
269
+ }, /*#__PURE__*/React__default.createElement(Icon, {
270
+ type: IconTypes.EDIT,
271
+ fillColor: IconColors.PRIMARY,
272
+ width: "24px",
273
+ height: "24px"
274
+ }), /*#__PURE__*/React__default.createElement(Label, {
275
+ type: LabelTypography.SUBTITLE_1
276
+ }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__EDIT)), showMenuItemResend && /*#__PURE__*/React__default.createElement("div", {
277
+ className: "sendbird-message__bottomsheet--action",
278
+ onClick: () => {
279
+ hideMenu();
280
+ resendMessage(message);
281
+ }
282
+ }, /*#__PURE__*/React__default.createElement(Icon, {
283
+ type: IconTypes.REFRESH,
284
+ fillColor: IconColors.PRIMARY,
285
+ width: "24px",
286
+ height: "24px"
287
+ }), /*#__PURE__*/React__default.createElement(Label, {
288
+ type: LabelTypography.SUBTITLE_1
289
+ }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__RESEND)), showMenuItemReply && /*#__PURE__*/React__default.createElement("div", {
290
+ className: `sendbird-message__bottomsheet--action
291
+ ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled' : ''}
292
+ `,
293
+ role: "menuitem",
294
+ "aria-disabled": disableReaction ? true : false,
295
+ onClick: () => {
296
+ if (!disableReaction) {
297
+ hideMenu();
298
+ setQuoteMessage(message);
299
+ }
300
+ }
301
+ }, /*#__PURE__*/React__default.createElement(Icon, {
302
+ type: IconTypes.REPLY,
303
+ fillColor: disableReaction ? IconColors.ON_BACKGROUND_3 : IconColors.PRIMARY,
304
+ width: "24px",
305
+ height: "24px"
306
+ }), /*#__PURE__*/React__default.createElement(Label, {
307
+ type: LabelTypography.SUBTITLE_1,
308
+ color: disableReaction && LabelColors.ONBACKGROUND_4
309
+ }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__REPLY)), showMenuItemThread && /*#__PURE__*/React__default.createElement("div", {
310
+ className: "sendbird-message__bottomsheet--action",
311
+ onClick: () => {
312
+ hideMenu();
313
+ onReplyInThread === null || onReplyInThread === void 0 ? void 0 : onReplyInThread({
314
+ message
315
+ });
316
+ }
317
+ }, /*#__PURE__*/React__default.createElement(Icon, {
318
+ type: IconTypes.THREAD,
319
+ fillColor: IconColors.PRIMARY,
320
+ width: "24px",
321
+ height: "24px"
322
+ }), /*#__PURE__*/React__default.createElement(Label, {
323
+ type: LabelTypography.SUBTITLE_1
324
+ }, stringSet.MESSAGE_MENU__THREAD)), showMenuItemDelete && /*#__PURE__*/React__default.createElement("div", {
325
+ className: "sendbird-message__bottomsheet--action",
326
+ onClick: () => {
327
+ hideMenu();
328
+ showRemove(true);
329
+ }
330
+ }, /*#__PURE__*/React__default.createElement(Icon, {
331
+ type: IconTypes.DELETE,
332
+ fillColor: IconColors.PRIMARY,
333
+ width: "24px",
334
+ height: "24px"
335
+ }), /*#__PURE__*/React__default.createElement(Label, {
336
+ type: LabelTypography.SUBTITLE_1
337
+ }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__DELETE)), showMenuItemDownload && /*#__PURE__*/React__default.createElement("div", {
338
+ className: "sendbird-message__bottomsheet--action",
339
+ onClick: () => {
340
+ hideMenu();
341
+ }
342
+ }, /*#__PURE__*/React__default.createElement("a", {
343
+ className: "sendbird-message__bottomsheet--hyperlink",
344
+ rel: "noopener noreferrer",
345
+ href: fileMessage === null || fileMessage === void 0 ? void 0 : fileMessage.url,
346
+ target: "_blank"
347
+ }, /*#__PURE__*/React__default.createElement(Icon, {
348
+ type: IconTypes.DOWNLOAD,
349
+ fillColor: IconColors.PRIMARY,
350
+ width: "24px",
351
+ height: "24px"
352
+ }), /*#__PURE__*/React__default.createElement(Label, {
353
+ type: LabelTypography.SUBTITLE_1
354
+ }, stringSet === null || stringSet === void 0 ? void 0 : stringSet.MESSAGE_MENU__SAVE))))));
355
+ };
356
+
357
+ const MobileMenu = props => {
358
+ const {
359
+ message,
360
+ hideMenu,
361
+ userId,
362
+ channel,
363
+ isReactionEnabled = false,
364
+ isByMe,
365
+ replyType,
366
+ disabled,
367
+ showRemove,
368
+ showEdit,
369
+ resendMessage,
370
+ setQuoteMessage,
371
+ emojiContainer,
372
+ toggleReaction,
373
+ parentRef,
374
+ onReplyInThread,
375
+ isOpenedFromThread
376
+ } = props;
377
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isReactionEnabled ? /*#__PURE__*/React__default.createElement(MobileBottomSheet, {
378
+ channel: channel,
379
+ message: message,
380
+ hideMenu: hideMenu,
381
+ isByMe: isByMe,
382
+ userId: userId,
383
+ replyType: replyType,
384
+ disabled: disabled,
385
+ showRemove: showRemove,
386
+ showEdit: showEdit,
387
+ resendMessage: resendMessage,
388
+ setQuoteMessage: setQuoteMessage,
389
+ emojiContainer: emojiContainer,
390
+ toggleReaction: toggleReaction,
391
+ isReactionEnabled: isReactionEnabled,
392
+ onReplyInThread: onReplyInThread,
393
+ isOpenedFromThread: isOpenedFromThread
394
+ }) : /*#__PURE__*/React__default.createElement(MobileContextMenu, {
395
+ channel: channel,
396
+ userId: userId,
397
+ message: message,
398
+ hideMenu: hideMenu,
399
+ isByMe: isByMe,
400
+ showEdit: showEdit,
401
+ replyType: replyType,
402
+ disabled: disabled,
403
+ showRemove: showRemove,
404
+ resendMessage: resendMessage,
405
+ setQuoteMessage: setQuoteMessage,
406
+ parentRef: parentRef,
407
+ onReplyInThread: onReplyInThread,
408
+ isOpenedFromThread: isOpenedFromThread
409
+ }));
410
+ };
411
+
412
+ export { MobileMenu as M };
413
+ //# sourceMappingURL=index-edfb3327.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-edfb3327.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';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isThreadMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography } from '../Label';\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 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 const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\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();\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 >\n <Label type={LabelTypography.SUBTITLE_1}>\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}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={IconColors.PRIMARY}\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 >\n <Label type={LabelTypography.SUBTITLE_1}>\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 >\n <Label type={LabelTypography.SUBTITLE_1}>\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 >\n <Label type={LabelTypography.SUBTITLE_1}>\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 {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\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 >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label type={LabelTypography.SUBTITLE_1}>\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 isParentMessage,\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 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 const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe && !isParentMessage(message);\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 >\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 >\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}>\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}>\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}>\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}\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}>\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n </div>\n )}\n {\n showMenuItemDelete && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\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}>\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 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 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 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","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","setQuoteMessage","parentRef","onReplyInThread","isOpenedFromThread","isByMe","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDownload","isFileMessage","showMenuItemReply","isGroupChannel","isBroadcast","showMenuItemThread","isThreadMessage","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","_message$threadInfo","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","copyToClipboard","Label","type","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","Icon","IconTypes","COPY","fillColor","IconColors","PRIMARY","width","height","disable","parentMessageId","MESSAGE_MENU__REPLY","REPLY","MESSAGE_MENU__THREAD","THREAD","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","threadInfo","replyCount","MESSAGE_MENU__DELETE","DELETE","rel","href","url","target","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","isParentMessage","isVoiceMessage","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","color","LabelColors","ONBACKGROUND_4","MobileMenu","disabled","Fragment"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-eaf55eff.js';
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-ce69e916.js';
2
2
  import { OutgoingMessageStates, getOutgoingMessageState } from './utils/message/getOutgoingMessageState.js';
3
3
 
4
4
  // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
@@ -76,6 +76,8 @@ const isFileMessage = message => {
76
76
  var _message$isFileMessag;
77
77
  return message && ((message === null || message === void 0 ? void 0 : (_message$isFileMessag = message.isFileMessage) === null || _message$isFileMessag === void 0 ? void 0 : _message$isFileMessag.call(message)) || (message === null || message === void 0 ? void 0 : message.messageType) === 'file');
78
78
  };
79
+ const isParentMessage = message => !message.parentMessageId && !message.parentMessage && message.threadInfo !== null;
80
+ const isThreadMessage = message => !!message.parentMessageId && !!message.parentMessage;
79
81
  const isOGMessage = message => {
80
82
  var _message$ogMetaData, _message$ogMetaData2, _message$ogMetaData3, _message$ogMetaData4;
81
83
  return !!(message && isUserMessage(message) && message !== null && message !== void 0 && message.ogMetaData && ((_message$ogMetaData = message.ogMetaData) !== null && _message$ogMetaData !== void 0 && _message$ogMetaData.url || (_message$ogMetaData2 = message.ogMetaData) !== null && _message$ogMetaData2 !== void 0 && _message$ogMetaData2.title || (_message$ogMetaData3 = message.ogMetaData) !== null && _message$ogMetaData3 !== void 0 && _message$ogMetaData3.description || (_message$ogMetaData4 = message.ogMetaData) !== null && _message$ogMetaData4 !== void 0 && _message$ogMetaData4.defaultImage));
@@ -194,6 +196,17 @@ const getEmojiMapAll = emojiContainer => {
194
196
  });
195
197
  return emojiMap;
196
198
  };
199
+ const findEmojiUrl = targetKey => _ref => {
200
+ let {
201
+ key
202
+ } = _ref;
203
+ return key === targetKey;
204
+ };
205
+ const getEmojiUrl = (emojiContainer, emojiKey) => {
206
+ var _emojiContainer$emoji3, _emojiContainer$emoji4;
207
+ const isFindingKey = findEmojiUrl(emojiKey !== null && emojiKey !== void 0 ? emojiKey : '');
208
+ return (emojiContainer === null || emojiContainer === void 0 ? void 0 : (_emojiContainer$emoji3 = emojiContainer.emojiCategories.find(category => category.emojis.some(isFindingKey))) === null || _emojiContainer$emoji3 === void 0 ? void 0 : (_emojiContainer$emoji4 = _emojiContainer$emoji3.emojis.find(isFindingKey)) === null || _emojiContainer$emoji4 === void 0 ? void 0 : _emojiContainer$emoji4.url) || '';
209
+ };
197
210
  const getUserName = user => (user === null || user === void 0 ? void 0 : user.friendName) || (user === null || user === void 0 ? void 0 : user.nickname) || (user === null || user === void 0 ? void 0 : user.userId);
198
211
  const getSenderName = message => (message === null || message === void 0 ? void 0 : message.sender) && getUserName(message === null || message === void 0 ? void 0 : message.sender);
199
212
  const hasSameMembers = (a, b) => {
@@ -524,5 +537,5 @@ const arrayEqual = (array1, array2) => {
524
537
  return false;
525
538
  };
526
539
 
527
- export { getSenderName as A, isTextMessage as B, isOGMessage as C, isSupportedFileView as D, isVideo as E, isImage as F, isUrl as G, getEmojiMapAll as H, isReactedBy as I, getEmojiTooltipString as J, getUIKitFileType as K, getUIKitFileTypes as L, isGif as M, convertWordToStringObj as N, StringObjType as S, UIKitMessageTypes as U, getSendingMessageStatus as a, isReadMessage as b, filterMessageListParams as c, isVoiceMessage as d, isEditedMessage as e, filterChannelListParams as f, getChannelsWithUpsertedChannel as g, isSentStatus as h, isTextuallyNull as i, getClassName as j, arrayEqual as k, isFileMessage as l, isImageMessage as m, isThumbnailMessage as n, isAudioMessage as o, isGifMessage as p, isVideoMessage as q, isUserMessage as r, getUIKitMessageType as s, truncateString as t, isSentMessage as u, isFailedMessage as v, isPendingMessage as w, copyToClipboard as x, getEmojiListAll as y, getUIKitMessageTypes as z };
528
- //# sourceMappingURL=index-d8fdbe6f.js.map
540
+ export { isImage as A, isUrl as B, isSentMessage as C, isFailedMessage as D, isPendingMessage as E, copyToClipboard as F, getEmojiListAll as G, getEmojiUrl as H, isReactedBy as I, getEmojiTooltipString as J, getEmojiMapAll as K, getUIKitFileType as L, getUIKitFileTypes as M, isGif as N, isThreadMessage as O, isParentMessage as P, convertWordToStringObj as Q, StringObjType as S, UIKitMessageTypes as U, getSendingMessageStatus as a, isReadMessage as b, filterMessageListParams as c, isVoiceMessage as d, isEditedMessage as e, filterChannelListParams as f, getChannelsWithUpsertedChannel as g, isSentStatus as h, isTextuallyNull as i, getClassName as j, arrayEqual as k, isFileMessage as l, isImageMessage as m, isThumbnailMessage as n, isAudioMessage as o, isGifMessage as p, isVideoMessage as q, isUserMessage as r, getUIKitMessageType as s, truncateString as t, getUIKitMessageTypes as u, getSenderName as v, isTextMessage as w, isOGMessage as x, isSupportedFileView as y, isVideo as z };
541
+ //# sourceMappingURL=index-fd51c7d1.js.map