@sendbird/uikit-react 3.6.6 → 3.6.7

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 (527) hide show
  1. package/App.js +48 -48
  2. package/CHANGELOG.md +61 -0
  3. package/Channel/components/ChannelHeader.js +19 -19
  4. package/Channel/components/ChannelUI.js +41 -41
  5. package/Channel/components/FileViewer.js +15 -15
  6. package/Channel/components/FrozenNotification.js +4 -4
  7. package/Channel/components/Message.js +36 -36
  8. package/Channel/components/MessageInput.js +29 -29
  9. package/Channel/components/MessageList.js +37 -37
  10. package/Channel/components/RemoveMessageModal.js +17 -17
  11. package/Channel/components/SuggestedMentionList.js +17 -17
  12. package/Channel/components/TypingIndicator.js +15 -15
  13. package/Channel/components/UnreadCount.js +4 -4
  14. package/Channel/context.js +12 -12
  15. package/Channel.js +41 -41
  16. package/ChannelList/components/AddChannel.js +15 -14
  17. package/ChannelList/components/AddChannel.js.map +1 -1
  18. package/ChannelList/components/ChannelListHeader.js +6 -6
  19. package/ChannelList/components/ChannelListUI.js +35 -68
  20. package/ChannelList/components/ChannelListUI.js.map +1 -1
  21. package/ChannelList/components/ChannelPreview.js +26 -26
  22. package/ChannelList/components/ChannelPreviewAction.js +14 -13
  23. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  24. package/ChannelList/context.js +8 -7
  25. package/ChannelList/context.js.map +1 -1
  26. package/ChannelList.js +30 -30
  27. package/{ChannelListProvider-2e7026e9.js → ChannelListProvider-fc14f42d.js} +77 -11
  28. package/ChannelListProvider-fc14f42d.js.map +1 -0
  29. package/{ChannelProvider-31a344d3.js → ChannelProvider-78e85f32.js} +32 -21
  30. package/ChannelProvider-78e85f32.js.map +1 -0
  31. package/ChannelSettings/components/ChannelProfile.js +11 -11
  32. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  33. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  34. package/ChannelSettings/components/LeaveChannel.js +11 -11
  35. package/ChannelSettings/components/ModerationPanel.js +14 -14
  36. package/ChannelSettings/components/UserListItem.js +10 -10
  37. package/ChannelSettings/components/UserPanel.js +13 -13
  38. package/ChannelSettings/context.js +3 -3
  39. package/ChannelSettings.js +17 -17
  40. package/CreateChannel/components/CreateChannelUI.js +13 -13
  41. package/CreateChannel/components/InviteUsers.js +13 -13
  42. package/CreateChannel/components/SelectChannelType.js +10 -10
  43. package/CreateChannel/context.js +4 -4
  44. package/CreateChannel.js +13 -13
  45. package/{CreateChannelProvider-eeaa1371.js → CreateChannelProvider-fe23c38f.js} +1 -1
  46. package/{CreateChannelProvider-eeaa1371.js.map → CreateChannelProvider-fe23c38f.js.map} +1 -1
  47. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  48. package/CreateOpenChannel/context.js +1 -1
  49. package/CreateOpenChannel.js +9 -9
  50. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  51. package/EditUserProfile.js +12 -12
  52. package/{LocalizationContext-2952e678.js → LocalizationContext-5fe9b59d.js} +3 -3
  53. package/{LocalizationContext-2952e678.js.map → LocalizationContext-5fe9b59d.js.map} +1 -1
  54. package/{MediaQueryContext-2173573f.js → MediaQueryContext-66b59195.js} +1 -1
  55. package/{MediaQueryContext-2173573f.js.map → MediaQueryContext-66b59195.js.map} +1 -1
  56. package/{MemberList-a51051e6.js → MemberList-c03817ad.js} +5 -5
  57. package/{MemberList-a51051e6.js.map → MemberList-c03817ad.js.map} +1 -1
  58. package/MessageSearch/components/MessageSearchUI.js +11 -11
  59. package/MessageSearch/context.js +1 -1
  60. package/MessageSearch.js +11 -11
  61. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  62. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  63. package/OpenChannel/components/OpenChannelInput.js +19 -19
  64. package/OpenChannel/components/OpenChannelMessage.js +27 -27
  65. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  66. package/OpenChannel/components/OpenChannelUI.js +31 -31
  67. package/OpenChannel/context.js +8 -8
  68. package/OpenChannel.js +31 -31
  69. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  70. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  71. package/OpenChannelList/context.js +3 -3
  72. package/OpenChannelList.js +13 -13
  73. package/{OpenChannelListProvider-ce900f45.js → OpenChannelListProvider-5d21932a.js} +3 -3
  74. package/{OpenChannelListProvider-ce900f45.js.map → OpenChannelListProvider-5d21932a.js.map} +1 -1
  75. package/{OpenChannelProvider-bc20868c.js → OpenChannelProvider-a6f4f92a.js} +7 -7
  76. package/{OpenChannelProvider-bc20868c.js.map → OpenChannelProvider-a6f4f92a.js.map} +1 -1
  77. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  78. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  79. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  80. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  81. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  82. package/OpenChannelSettings/context.js +3 -3
  83. package/OpenChannelSettings.js +17 -17
  84. package/README.md +6 -3
  85. package/{RemoveMessageModal-9c579f0f.js → RemoveMessageModal-0d438e31.js} +3 -3
  86. package/{RemoveMessageModal-9c579f0f.js.map → RemoveMessageModal-0d438e31.js.map} +1 -1
  87. package/SendbirdProvider.js +15 -15
  88. package/Thread/components/ParentMessageInfo.js +33 -33
  89. package/Thread/components/ParentMessageInfoItem.js +21 -21
  90. package/Thread/components/ThreadHeader.js +6 -6
  91. package/Thread/components/ThreadList.js +36 -36
  92. package/Thread/components/ThreadListItem.js +36 -36
  93. package/Thread/components/ThreadMessageInput.js +30 -30
  94. package/Thread/components/ThreadUI.js +40 -40
  95. package/Thread/context.js +8 -8
  96. package/Thread.js +40 -40
  97. package/{ThreadProvider-27c497dc.js → ThreadProvider-2a4356a2.js} +21 -7
  98. package/ThreadProvider-2a4356a2.js.map +1 -0
  99. package/{UserProfileContext-76aab169.js → UserProfileContext-8b8f3e3a.js} +1 -1
  100. package/{UserProfileContext-76aab169.js.map → UserProfileContext-8b8f3e3a.js.map} +1 -1
  101. package/{VoiceMessageInputWrapper-e45ec2f0.js → VoiceMessageInputWrapper-b8742ea1.js} +7 -7
  102. package/{VoiceMessageInputWrapper-e45ec2f0.js.map → VoiceMessageInputWrapper-b8742ea1.js.map} +1 -1
  103. package/VoicePlayer/context.js +3 -3
  104. package/VoicePlayer/useVoicePlayer.js +9 -9
  105. package/VoiceRecorder/context.js +9 -9
  106. package/VoiceRecorder/useVoiceRecorder.js +8 -8
  107. package/{WebAudioUtils-97e524fa.js → WebAudioUtils-63418113.js} +2 -2
  108. package/{WebAudioUtils-97e524fa.js.map → WebAudioUtils-63418113.js.map} +1 -1
  109. package/{_rollupPluginBabelHelpers-34f2bdc3.js → _rollupPluginBabelHelpers-90ff7fc4.js} +1 -1
  110. package/_rollupPluginBabelHelpers-90ff7fc4.js.map +1 -0
  111. package/{actionTypes-e67c8999.js → actionTypes-66bf934b.js} +1 -1
  112. package/{actionTypes-e67c8999.js.map → actionTypes-66bf934b.js.map} +1 -1
  113. package/cjs/App.js +48 -48
  114. package/cjs/Channel/components/ChannelHeader.js +19 -19
  115. package/cjs/Channel/components/ChannelUI.js +41 -41
  116. package/cjs/Channel/components/FileViewer.js +15 -15
  117. package/cjs/Channel/components/FrozenNotification.js +4 -4
  118. package/cjs/Channel/components/Message.js +36 -36
  119. package/cjs/Channel/components/MessageInput.js +29 -29
  120. package/cjs/Channel/components/MessageList.js +37 -37
  121. package/cjs/Channel/components/RemoveMessageModal.js +17 -17
  122. package/cjs/Channel/components/SuggestedMentionList.js +17 -17
  123. package/cjs/Channel/components/TypingIndicator.js +15 -15
  124. package/cjs/Channel/components/UnreadCount.js +4 -4
  125. package/cjs/Channel/context.js +12 -12
  126. package/cjs/Channel.js +41 -41
  127. package/cjs/ChannelList/components/AddChannel.js +15 -14
  128. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  129. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  130. package/cjs/ChannelList/components/ChannelListUI.js +35 -68
  131. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  132. package/cjs/ChannelList/components/ChannelPreview.js +26 -26
  133. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -13
  134. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  135. package/cjs/ChannelList/context.js +8 -7
  136. package/cjs/ChannelList/context.js.map +1 -1
  137. package/cjs/ChannelList.js +30 -30
  138. package/cjs/{ChannelListProvider-51837593.js → ChannelListProvider-c1f3cf4a.js} +75 -12
  139. package/cjs/ChannelListProvider-c1f3cf4a.js.map +1 -0
  140. package/cjs/{ChannelProvider-ab59275b.js → ChannelProvider-633edf61.js} +32 -21
  141. package/cjs/ChannelProvider-633edf61.js.map +1 -0
  142. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  143. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  144. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  145. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  146. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  147. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  148. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  149. package/cjs/ChannelSettings/context.js +3 -3
  150. package/cjs/ChannelSettings.js +17 -17
  151. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  152. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  153. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  154. package/cjs/CreateChannel/context.js +4 -4
  155. package/cjs/CreateChannel.js +13 -13
  156. package/cjs/{CreateChannelProvider-e0ae2cf1.js → CreateChannelProvider-32102712.js} +1 -1
  157. package/cjs/{CreateChannelProvider-e0ae2cf1.js.map → CreateChannelProvider-32102712.js.map} +1 -1
  158. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  159. package/cjs/CreateOpenChannel/context.js +1 -1
  160. package/cjs/CreateOpenChannel.js +9 -9
  161. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  162. package/cjs/EditUserProfile.js +12 -12
  163. package/cjs/{LocalizationContext-76831b0e.js → LocalizationContext-a15ec4eb.js} +3 -3
  164. package/cjs/{LocalizationContext-76831b0e.js.map → LocalizationContext-a15ec4eb.js.map} +1 -1
  165. package/cjs/{MediaQueryContext-792b58f7.js → MediaQueryContext-80d10d7b.js} +1 -1
  166. package/cjs/{MediaQueryContext-792b58f7.js.map → MediaQueryContext-80d10d7b.js.map} +1 -1
  167. package/cjs/{MemberList-6b630054.js → MemberList-5303bbbb.js} +5 -5
  168. package/cjs/{MemberList-6b630054.js.map → MemberList-5303bbbb.js.map} +1 -1
  169. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  170. package/cjs/MessageSearch/context.js +1 -1
  171. package/cjs/MessageSearch.js +11 -11
  172. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  173. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  174. package/cjs/OpenChannel/components/OpenChannelInput.js +19 -19
  175. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
  176. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  177. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  178. package/cjs/OpenChannel/context.js +8 -8
  179. package/cjs/OpenChannel.js +31 -31
  180. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  181. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  182. package/cjs/OpenChannelList/context.js +3 -3
  183. package/cjs/OpenChannelList.js +13 -13
  184. package/cjs/{OpenChannelListProvider-4d15730f.js → OpenChannelListProvider-49874b88.js} +3 -3
  185. package/cjs/{OpenChannelListProvider-4d15730f.js.map → OpenChannelListProvider-49874b88.js.map} +1 -1
  186. package/cjs/{OpenChannelProvider-2f59b53a.js → OpenChannelProvider-c2b3dc2c.js} +7 -7
  187. package/cjs/{OpenChannelProvider-2f59b53a.js.map → OpenChannelProvider-c2b3dc2c.js.map} +1 -1
  188. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  189. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  190. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  191. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  192. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  193. package/cjs/OpenChannelSettings/context.js +3 -3
  194. package/cjs/OpenChannelSettings.js +17 -17
  195. package/cjs/{RemoveMessageModal-47cae846.js → RemoveMessageModal-271f1251.js} +3 -3
  196. package/cjs/{RemoveMessageModal-47cae846.js.map → RemoveMessageModal-271f1251.js.map} +1 -1
  197. package/cjs/SendbirdProvider.js +15 -15
  198. package/cjs/Thread/components/ParentMessageInfo.js +33 -33
  199. package/cjs/Thread/components/ParentMessageInfoItem.js +22 -22
  200. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  201. package/cjs/Thread/components/ThreadHeader.js +6 -6
  202. package/cjs/Thread/components/ThreadList.js +36 -36
  203. package/cjs/Thread/components/ThreadListItem.js +36 -36
  204. package/cjs/Thread/components/ThreadMessageInput.js +30 -30
  205. package/cjs/Thread/components/ThreadUI.js +40 -40
  206. package/cjs/Thread/context.js +8 -8
  207. package/cjs/Thread.js +40 -40
  208. package/cjs/{ThreadProvider-5844bd6d.js → ThreadProvider-8d2ce923.js} +21 -7
  209. package/cjs/ThreadProvider-8d2ce923.js.map +1 -0
  210. package/cjs/{UserProfileContext-5fd27232.js → UserProfileContext-f8f1cee7.js} +1 -1
  211. package/cjs/{UserProfileContext-5fd27232.js.map → UserProfileContext-f8f1cee7.js.map} +1 -1
  212. package/cjs/{VoiceMessageInputWrapper-e10f305f.js → VoiceMessageInputWrapper-e8d7b9ba.js} +7 -7
  213. package/cjs/{VoiceMessageInputWrapper-e10f305f.js.map → VoiceMessageInputWrapper-e8d7b9ba.js.map} +1 -1
  214. package/cjs/VoicePlayer/context.js +3 -3
  215. package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
  216. package/cjs/VoiceRecorder/context.js +9 -9
  217. package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
  218. package/cjs/{WebAudioUtils-4227909a.js → WebAudioUtils-88dbfaed.js} +2 -2
  219. package/cjs/{WebAudioUtils-4227909a.js.map → WebAudioUtils-88dbfaed.js.map} +1 -1
  220. package/cjs/{_rollupPluginBabelHelpers-2c208df7.js → _rollupPluginBabelHelpers-0d9d52a5.js} +1 -1
  221. package/cjs/_rollupPluginBabelHelpers-0d9d52a5.js.map +1 -0
  222. package/cjs/{actionTypes-64cb54b1.js → actionTypes-974dfe33.js} +1 -1
  223. package/cjs/{actionTypes-64cb54b1.js.map → actionTypes-974dfe33.js.map} +1 -1
  224. package/cjs/{color-2a756176.js → color-1e9cc481.js} +1 -1
  225. package/cjs/{color-2a756176.js.map → color-1e9cc481.js.map} +1 -1
  226. package/cjs/{compareIds-d6d1cc62.js → compareIds-0344920c.js} +1 -1
  227. package/cjs/{compareIds-d6d1cc62.js.map → compareIds-0344920c.js.map} +1 -1
  228. package/cjs/{const-0f73f007.js → const-0d4d91cd.js} +1 -1
  229. package/cjs/{const-0f73f007.js.map → const-0d4d91cd.js.map} +1 -1
  230. package/cjs/{const-2d057dc1.js → const-182fe978.js} +1 -1
  231. package/cjs/{const-2d057dc1.js.map → const-182fe978.js.map} +1 -1
  232. package/cjs/{consts-0a4f487c.js → consts-0c9a38ef.js} +5 -1
  233. package/cjs/{consts-0a4f487c.js.map → consts-0c9a38ef.js.map} +1 -1
  234. package/cjs/{consts-c1c7f3b9.js → consts-10e5b075.js} +1 -1
  235. package/cjs/{consts-c1c7f3b9.js.map → consts-10e5b075.js.map} +1 -1
  236. package/cjs/{consts-c16c955d.js → consts-5bdc2c7f.js} +1 -1
  237. package/cjs/{consts-c16c955d.js.map → consts-5bdc2c7f.js.map} +1 -1
  238. package/cjs/{consts-5a40550e.js → consts-c336bb61.js} +1 -1
  239. package/cjs/{consts-5a40550e.js.map → consts-c336bb61.js.map} +1 -1
  240. package/cjs/{context-0bf4608e.js → context-0276d21e.js} +2 -2
  241. package/cjs/{context-0bf4608e.js.map → context-0276d21e.js.map} +1 -1
  242. package/cjs/{index-ea4739fe.js → index-08c5777e.js} +2 -2
  243. package/cjs/{index-ea4739fe.js.map → index-08c5777e.js.map} +1 -1
  244. package/cjs/{index-060711f6.js → index-092b22dd.js} +2 -2
  245. package/cjs/{index-060711f6.js.map → index-092b22dd.js.map} +1 -1
  246. package/cjs/{index-f3743012.js → index-1325e266.js} +3 -3
  247. package/cjs/{index-f3743012.js.map → index-1325e266.js.map} +1 -1
  248. package/cjs/{index-71863abf.js → index-17a6519d.js} +1 -1
  249. package/cjs/{index-71863abf.js.map → index-17a6519d.js.map} +1 -1
  250. package/cjs/{index-44985c08.js → index-2cb13008.js} +2 -2
  251. package/cjs/{index-44985c08.js.map → index-2cb13008.js.map} +1 -1
  252. package/cjs/{index-03a83f97.js → index-49fe0efb.js} +4 -4
  253. package/cjs/{index-03a83f97.js.map → index-49fe0efb.js.map} +1 -1
  254. package/cjs/{index-6a9e8bcb.js → index-54228aa8.js} +6 -6
  255. package/cjs/{index-6a9e8bcb.js.map → index-54228aa8.js.map} +1 -1
  256. package/cjs/{index-b5614bfa.js → index-5a651f3c.js} +2 -2
  257. package/cjs/{index-b5614bfa.js.map → index-5a651f3c.js.map} +1 -1
  258. package/cjs/{index-b1b515a7.js → index-6cb3365f.js} +2 -2
  259. package/cjs/{index-b1b515a7.js.map → index-6cb3365f.js.map} +1 -1
  260. package/cjs/{index-d69866c1.js → index-87e11d7e.js} +5 -5
  261. package/cjs/{index-d69866c1.js.map → index-87e11d7e.js.map} +1 -1
  262. package/cjs/{index-6b02cca4.js → index-9c8e297d.js} +3 -3
  263. package/cjs/{index-6b02cca4.js.map → index-9c8e297d.js.map} +1 -1
  264. package/cjs/{index-29f85f9b.js → index-b428366f.js} +2 -2
  265. package/cjs/{index-29f85f9b.js.map → index-b428366f.js.map} +1 -1
  266. package/cjs/{index-c00c028b.js → index-c2454b7e.js} +1 -1
  267. package/cjs/{index-c00c028b.js.map → index-c2454b7e.js.map} +1 -1
  268. package/cjs/{index-803f2ff2.js → index-cebd1362.js} +4 -4
  269. package/cjs/{index-803f2ff2.js.map → index-cebd1362.js.map} +1 -1
  270. package/cjs/{index-6977efce.js → index-dbccd7fb.js} +3 -3
  271. package/cjs/{index-6977efce.js.map → index-dbccd7fb.js.map} +1 -1
  272. package/cjs/{index-6c3bc4f9.js → index-e46cc828.js} +6 -6
  273. package/cjs/{index-6c3bc4f9.js.map → index-e46cc828.js.map} +1 -1
  274. package/cjs/{index-3aeb8bf9.js → index-ed1ee70b.js} +6 -6
  275. package/cjs/{index-3aeb8bf9.js.map → index-ed1ee70b.js.map} +1 -1
  276. package/cjs/index.js +52 -52
  277. package/cjs/{index.module-bee98cc5.js → index.module-8026e7d3.js} +1 -1
  278. package/cjs/{index.module-bee98cc5.js.map → index.module-8026e7d3.js.map} +1 -1
  279. package/cjs/package.json +1 -1
  280. package/cjs/{resolvedReplyType-9517a813.js → resolvedReplyType-8137e072.js} +1 -1
  281. package/cjs/{resolvedReplyType-9517a813.js.map → resolvedReplyType-8137e072.js.map} +1 -1
  282. package/cjs/sendbirdSelectors.js +19 -5
  283. package/cjs/sendbirdSelectors.js.map +1 -1
  284. package/cjs/{stringSet-39e8b84e.js → stringSet-769f181d.js} +1 -1
  285. package/cjs/{stringSet-39e8b84e.js.map → stringSet-769f181d.js.map} +1 -1
  286. package/cjs/{tokenize-3176b8f2.js → tokenize-586ed01a.js} +2 -2
  287. package/cjs/{tokenize-3176b8f2.js.map → tokenize-586ed01a.js.map} +1 -1
  288. package/cjs/{topics-e1897e48.js → topics-99121946.js} +2 -1
  289. package/cjs/topics-99121946.js.map +1 -0
  290. package/cjs/{types-be32f153.js → types-812b3bfd.js} +1 -1
  291. package/cjs/{types-be32f153.js.map → types-812b3bfd.js.map} +1 -1
  292. package/cjs/ui/Accordion.js +2 -2
  293. package/cjs/ui/AccordionGroup.js +2 -2
  294. package/cjs/ui/AdminMessage.js +2 -2
  295. package/cjs/ui/Avatar.js +10 -10
  296. package/cjs/ui/Avatar.js.map +1 -1
  297. package/cjs/ui/Badge.js +4 -4
  298. package/cjs/ui/BottomSheet.js +1 -1
  299. package/cjs/ui/Button.js +2 -2
  300. package/cjs/ui/ChannelAvatar.js +2 -2
  301. package/cjs/ui/ConnectionStatus.js +4 -4
  302. package/cjs/ui/ContextMenu.js +5 -5
  303. package/cjs/ui/DateSeparator.js +3 -3
  304. package/cjs/ui/EmojiReactions.js +17 -17
  305. package/cjs/ui/EmojiReactions.js.map +1 -1
  306. package/cjs/ui/FileMessageItemBody.js +6 -6
  307. package/cjs/ui/FileViewer.js +8 -8
  308. package/cjs/ui/IconButton.js +1 -1
  309. package/cjs/ui/ImageRenderer.js +26 -11
  310. package/cjs/ui/ImageRenderer.js.map +1 -1
  311. package/cjs/ui/Input.js +2 -2
  312. package/cjs/ui/Label.js +2 -2
  313. package/cjs/ui/LinkLabel.js +2 -2
  314. package/cjs/ui/MentionLabel.js +10 -10
  315. package/cjs/ui/MentionUserLabel.js +1 -1
  316. package/cjs/ui/MessageContent.js +28 -28
  317. package/cjs/ui/MessageInput.js +13 -13
  318. package/cjs/ui/MessageItemMenu.js +8 -8
  319. package/cjs/ui/MessageItemReactionMenu.js +9 -9
  320. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  321. package/cjs/ui/MessageSearchFileItem.js +10 -10
  322. package/cjs/ui/MessageSearchItem.js +8 -8
  323. package/cjs/ui/MessageStatus.js +10 -10
  324. package/cjs/ui/Modal.js +7 -7
  325. package/cjs/ui/OGMessageItemBody.js +15 -15
  326. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  327. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  328. package/cjs/ui/OpenChannelAvatar.js +5 -5
  329. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  330. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  331. package/cjs/ui/OpenchannelOGMessage.js +19 -19
  332. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  333. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  334. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  335. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  336. package/cjs/ui/PlaceHolder.js +5 -5
  337. package/cjs/ui/PlaybackTime.js +2 -2
  338. package/cjs/ui/QuoteMessage.js +7 -7
  339. package/cjs/ui/QuoteMessage.js.map +1 -1
  340. package/cjs/ui/QuoteMessageInput.js +7 -7
  341. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  342. package/cjs/ui/ReactionBadge.js +2 -2
  343. package/cjs/ui/ReactionButton.js +4 -4
  344. package/cjs/ui/SortByRow.js +1 -1
  345. package/cjs/ui/TextButton.js +1 -1
  346. package/cjs/ui/TextMessageItemBody.js +14 -14
  347. package/cjs/ui/ThreadReplies.js +5 -5
  348. package/cjs/ui/ThumbnailMessageItemBody.js +6 -6
  349. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  350. package/cjs/ui/Toggle.js +1 -1
  351. package/cjs/ui/Tooltip.js +2 -2
  352. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  353. package/cjs/ui/UserListItem.js +10 -10
  354. package/cjs/ui/UserProfile.js +9 -9
  355. package/cjs/ui/VoiceMessageItemBody.js +9 -9
  356. package/cjs/ui/VoiceMessgeInput.js +7 -7
  357. package/cjs/ui/Word.js +10 -10
  358. package/cjs/{useDirtyGetMentions-041acd2a.js → useDirtyGetMentions-a37639f1.js} +1 -1
  359. package/cjs/{useDirtyGetMentions-041acd2a.js.map → useDirtyGetMentions-a37639f1.js.map} +1 -1
  360. package/cjs/{useLongPress-5432edbf.js → useLongPress-a77054d5.js} +3 -3
  361. package/cjs/{useLongPress-5432edbf.js.map → useLongPress-a77054d5.js.map} +1 -1
  362. package/cjs/useSendbirdStateContext.js +1 -1
  363. package/cjs/utils/message/isVoiceMessage.js +2 -2
  364. package/cjs/{utils-bec85954.js → utils-18517a45.js} +2 -2
  365. package/cjs/{utils-bec85954.js.map → utils-18517a45.js.map} +1 -1
  366. package/cjs/{utils-24df69e2.js → utils-3fda8de7.js} +1 -1
  367. package/cjs/{utils-24df69e2.js.map → utils-3fda8de7.js.map} +1 -1
  368. package/cjs/{utils-b653226e.js → utils-c8ca7346.js} +1 -1
  369. package/cjs/{utils-b653226e.js.map → utils-c8ca7346.js.map} +1 -1
  370. package/cjs/{utils-e7fdfd61.js → utils-d6b081f0.js} +1 -1
  371. package/cjs/{utils-e7fdfd61.js.map → utils-d6b081f0.js.map} +1 -1
  372. package/cjs/{uuid-54dc5376.js → uuid-6c019e89.js} +1 -1
  373. package/cjs/{uuid-54dc5376.js.map → uuid-6c019e89.js.map} +1 -1
  374. package/cjs/withSendbird.js +1 -1
  375. package/{color-b73a158c.js → color-2315a258.js} +1 -1
  376. package/{color-b73a158c.js.map → color-2315a258.js.map} +1 -1
  377. package/{compareIds-eab12c15.js → compareIds-2464aab2.js} +1 -1
  378. package/{compareIds-eab12c15.js.map → compareIds-2464aab2.js.map} +1 -1
  379. package/{const-9ab08d0b.js → const-0cca8d38.js} +1 -1
  380. package/{const-9ab08d0b.js.map → const-0cca8d38.js.map} +1 -1
  381. package/{const-72965dcb.js → const-c6a266f4.js} +1 -1
  382. package/{const-72965dcb.js.map → const-c6a266f4.js.map} +1 -1
  383. package/{consts-2475c80c.js → consts-32a2c4a7.js} +1 -1
  384. package/{consts-2475c80c.js.map → consts-32a2c4a7.js.map} +1 -1
  385. package/{consts-8c9214ee.js → consts-3d956927.js} +1 -1
  386. package/{consts-8c9214ee.js.map → consts-3d956927.js.map} +1 -1
  387. package/{consts-0726d733.js → consts-991d3823.js} +1 -1
  388. package/{consts-0726d733.js.map → consts-991d3823.js.map} +1 -1
  389. package/{consts-55e36248.js → consts-b6f24cc7.js} +5 -2
  390. package/{consts-55e36248.js.map → consts-b6f24cc7.js.map} +1 -1
  391. package/{context-ebecf7b8.js → context-e46fff7b.js} +2 -2
  392. package/{context-ebecf7b8.js.map → context-e46fff7b.js.map} +1 -1
  393. package/{index-7727118e.js → index-07345a6e.js} +5 -5
  394. package/{index-7727118e.js.map → index-07345a6e.js.map} +1 -1
  395. package/{index-0dd2ee39.js → index-13d9d766.js} +2 -2
  396. package/{index-0dd2ee39.js.map → index-13d9d766.js.map} +1 -1
  397. package/{index-007ff82b.js → index-17b78bb0.js} +6 -6
  398. package/{index-007ff82b.js.map → index-17b78bb0.js.map} +1 -1
  399. package/{index-7b514167.js → index-2544bb0a.js} +4 -4
  400. package/{index-7b514167.js.map → index-2544bb0a.js.map} +1 -1
  401. package/{index-b74226dc.js → index-335e7557.js} +2 -2
  402. package/{index-b74226dc.js.map → index-335e7557.js.map} +1 -1
  403. package/{index-c2640752.js → index-499d9ef9.js} +2 -2
  404. package/{index-c2640752.js.map → index-499d9ef9.js.map} +1 -1
  405. package/{index-96fe32b3.js → index-56249831.js} +2 -2
  406. package/{index-96fe32b3.js.map → index-56249831.js.map} +1 -1
  407. package/{index-c2c52b45.js → index-63c995b8.js} +3 -3
  408. package/{index-c2c52b45.js.map → index-63c995b8.js.map} +1 -1
  409. package/{index-055e94b6.js → index-7b3790d3.js} +4 -4
  410. package/{index-055e94b6.js.map → index-7b3790d3.js.map} +1 -1
  411. package/{index-8dcf7652.js → index-879bcfab.js} +3 -3
  412. package/{index-8dcf7652.js.map → index-879bcfab.js.map} +1 -1
  413. package/{index-c191462d.js → index-a39b9075.js} +3 -3
  414. package/{index-c191462d.js.map → index-a39b9075.js.map} +1 -1
  415. package/{index-e43e7fa2.js → index-b9b184a4.js} +1 -1
  416. package/{index-e43e7fa2.js.map → index-b9b184a4.js.map} +1 -1
  417. package/{index-a5bf5a96.js → index-bafedab0.js} +1 -1
  418. package/{index-a5bf5a96.js.map → index-bafedab0.js.map} +1 -1
  419. package/{index-af1fb797.js → index-c4273470.js} +4 -4
  420. package/{index-af1fb797.js.map → index-c4273470.js.map} +1 -1
  421. package/{index-04e037ff.js → index-ebb8a7df.js} +2 -2
  422. package/{index-04e037ff.js.map → index-ebb8a7df.js.map} +1 -1
  423. package/{index-8485f009.js → index-f2e30f98.js} +2 -2
  424. package/{index-8485f009.js.map → index-f2e30f98.js.map} +1 -1
  425. package/{index-642e3f32.js → index-fe2c7493.js} +6 -6
  426. package/{index-642e3f32.js.map → index-fe2c7493.js.map} +1 -1
  427. package/index.d.ts +4 -2
  428. package/index.js +52 -52
  429. package/{index.module-0ccd37ce.js → index.module-41885c5b.js} +1 -1
  430. package/{index.module-0ccd37ce.js.map → index.module-41885c5b.js.map} +1 -1
  431. package/package.json +1 -1
  432. package/{resolvedReplyType-6785a18d.js → resolvedReplyType-d6e22593.js} +1 -1
  433. package/{resolvedReplyType-6785a18d.js.map → resolvedReplyType-d6e22593.js.map} +1 -1
  434. package/sendbirdSelectors.js +19 -5
  435. package/sendbirdSelectors.js.map +1 -1
  436. package/{stringSet-23a36018.js → stringSet-47601d79.js} +1 -1
  437. package/{stringSet-23a36018.js.map → stringSet-47601d79.js.map} +1 -1
  438. package/{tokenize-6f680d6a.js → tokenize-c0cf9574.js} +2 -2
  439. package/{tokenize-6f680d6a.js.map → tokenize-c0cf9574.js.map} +1 -1
  440. package/{topics-67f9a9f1.js → topics-e985567d.js} +2 -1
  441. package/topics-e985567d.js.map +1 -0
  442. package/{types-82eb7ae8.js → types-02054e6e.js} +1 -1
  443. package/{types-82eb7ae8.js.map → types-02054e6e.js.map} +1 -1
  444. package/ui/Accordion.js +2 -2
  445. package/ui/AccordionGroup.js +2 -2
  446. package/ui/AdminMessage.js +2 -2
  447. package/ui/Avatar.js +1 -1
  448. package/ui/Badge.js +4 -4
  449. package/ui/BottomSheet.js +1 -1
  450. package/ui/Button.js +2 -2
  451. package/ui/ChannelAvatar.js +2 -2
  452. package/ui/ConnectionStatus.js +4 -4
  453. package/ui/ContextMenu.js +5 -5
  454. package/ui/DateSeparator.js +3 -3
  455. package/ui/EmojiReactions.js +13 -13
  456. package/ui/FileMessageItemBody.js +6 -6
  457. package/ui/FileViewer.js +8 -8
  458. package/ui/IconButton.js +1 -1
  459. package/ui/ImageRenderer.js +23 -11
  460. package/ui/ImageRenderer.js.map +1 -1
  461. package/ui/Input.js +2 -2
  462. package/ui/Label.js +2 -2
  463. package/ui/LinkLabel.js +2 -2
  464. package/ui/MentionLabel.js +10 -10
  465. package/ui/MentionUserLabel.js +1 -1
  466. package/ui/MessageContent.js +28 -28
  467. package/ui/MessageInput.js +13 -13
  468. package/ui/MessageItemMenu.js +8 -8
  469. package/ui/MessageItemReactionMenu.js +8 -8
  470. package/ui/MessageSearchFileItem.js +10 -10
  471. package/ui/MessageSearchItem.js +8 -8
  472. package/ui/MessageStatus.js +10 -10
  473. package/ui/Modal.js +7 -7
  474. package/ui/OGMessageItemBody.js +14 -14
  475. package/ui/OpenChannelAdminMessage.js +2 -2
  476. package/ui/OpenChannelAvatar.js +5 -5
  477. package/ui/OpenchannelConversationHeader.js +6 -6
  478. package/ui/OpenchannelFileMessage.js +15 -15
  479. package/ui/OpenchannelOGMessage.js +18 -18
  480. package/ui/OpenchannelThumbnailMessage.js +14 -14
  481. package/ui/OpenchannelUserMessage.js +15 -15
  482. package/ui/PlaceHolder.js +5 -5
  483. package/ui/PlaybackTime.js +2 -2
  484. package/ui/QuoteMessage.js +6 -6
  485. package/ui/QuoteMessageInput.js +6 -6
  486. package/ui/ReactionBadge.js +2 -2
  487. package/ui/ReactionButton.js +4 -4
  488. package/ui/SortByRow.js +1 -1
  489. package/ui/TextButton.js +1 -1
  490. package/ui/TextMessageItemBody.js +14 -14
  491. package/ui/ThreadReplies.js +5 -5
  492. package/ui/ThumbnailMessageItemBody.js +5 -5
  493. package/ui/Toggle.js +1 -1
  494. package/ui/Tooltip.js +2 -2
  495. package/ui/UnknownMessageItemBody.js +6 -6
  496. package/ui/UserListItem.js +10 -10
  497. package/ui/UserProfile.js +9 -9
  498. package/ui/VoiceMessageItemBody.js +9 -9
  499. package/ui/VoiceMessgeInput.js +7 -7
  500. package/ui/Word.js +10 -10
  501. package/{useDirtyGetMentions-e4e855e3.js → useDirtyGetMentions-3f7692ab.js} +1 -1
  502. package/{useDirtyGetMentions-e4e855e3.js.map → useDirtyGetMentions-3f7692ab.js.map} +1 -1
  503. package/{useLongPress-0cf29ece.js → useLongPress-0a2a8916.js} +3 -3
  504. package/{useLongPress-0cf29ece.js.map → useLongPress-0a2a8916.js.map} +1 -1
  505. package/useSendbirdStateContext.js +1 -1
  506. package/utils/message/isVoiceMessage.js +2 -2
  507. package/{utils-e81640a7.js → utils-2f26afa0.js} +1 -1
  508. package/{utils-e81640a7.js.map → utils-2f26afa0.js.map} +1 -1
  509. package/{utils-a7468577.js → utils-70ea4cc9.js} +2 -2
  510. package/{utils-a7468577.js.map → utils-70ea4cc9.js.map} +1 -1
  511. package/{utils-8e781334.js → utils-93924431.js} +1 -1
  512. package/{utils-8e781334.js.map → utils-93924431.js.map} +1 -1
  513. package/{utils-cae251db.js → utils-d15f13cf.js} +1 -1
  514. package/{utils-cae251db.js.map → utils-d15f13cf.js.map} +1 -1
  515. package/{uuid-10fc0de7.js → uuid-ec51ac4d.js} +1 -1
  516. package/{uuid-10fc0de7.js.map → uuid-ec51ac4d.js.map} +1 -1
  517. package/withSendbird.js +1 -1
  518. package/ChannelListProvider-2e7026e9.js.map +0 -1
  519. package/ChannelProvider-31a344d3.js.map +0 -1
  520. package/ThreadProvider-27c497dc.js.map +0 -1
  521. package/_rollupPluginBabelHelpers-34f2bdc3.js.map +0 -1
  522. package/cjs/ChannelListProvider-51837593.js.map +0 -1
  523. package/cjs/ChannelProvider-ab59275b.js.map +0 -1
  524. package/cjs/ThreadProvider-5844bd6d.js.map +0 -1
  525. package/cjs/_rollupPluginBabelHelpers-2c208df7.js.map +0 -1
  526. package/cjs/topics-e1897e48.js.map +0 -1
  527. package/topics-67f9a9f1.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-af1fb797.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-c4273470.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,7 +1,7 @@
1
1
  import React__default from 'react';
2
2
  import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
3
3
  import useSendbirdStateContext from './useSendbirdStateContext.js';
4
- import { u as useLocalization } from './LocalizationContext-2952e678.js';
4
+ import { u as useLocalization } from './LocalizationContext-5fe9b59d.js';
5
5
 
6
6
  const OpenChannelMessageStatusTypes = {
7
7
  NONE: 'none',
@@ -184,4 +184,4 @@ const OpenChannelMobileMenu = props => {
184
184
  };
185
185
 
186
186
  export { OpenChannelMobileMenu as O, isFineEdit as a, isFineResend as b, isFineDelete as c, checkIsPending as d, checkIsFailed as e, checkIsSent as f, getSenderFromMessage as g, isFineCopy as i, showMenuTrigger as s };
187
- //# sourceMappingURL=index-04e037ff.js.map
187
+ //# sourceMappingURL=index-ebb8a7df.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-04e037ff.js","sources":["../src/utils/openChannelUtils.ts","../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded',\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n dataSbId=\"open_channel_mobile_context_menu_copy\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n dataSbId=\"open_channel_mobile_context_menu_edit\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n dataSbId=\"open_channel_mobile_context_menu_resend\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n dataSbId=\"open_channel_mobile_context_menu_delete\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"open_channel_mobile_context_menu_download_file\"\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n );\n};\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_ref","_message$message","messageType","length","isFineResend","_ref2","isResendable","isFineEdit","_ref3","_message$isUserMessag","isUserMessage","call","isFineDelete","_ref4","isFineDownload","_ref5","_message$isFileMessag","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","_useSendbirdStateCont","_useSendbirdStateCont2","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","dataSbId","Fragment","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","rel","href","url","target","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
1
+ {"version":3,"file":"index-ebb8a7df.js","sources":["../src/utils/openChannelUtils.ts","../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded',\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n dataSbId=\"open_channel_mobile_context_menu_copy\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n dataSbId=\"open_channel_mobile_context_menu_edit\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n dataSbId=\"open_channel_mobile_context_menu_resend\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n dataSbId=\"open_channel_mobile_context_menu_delete\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"open_channel_mobile_context_menu_download_file\"\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n );\n};\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_ref","_message$message","messageType","length","isFineResend","_ref2","isResendable","isFineEdit","_ref3","_message$isUserMessag","isUserMessage","call","isFineDelete","_ref4","isFineDownload","_ref5","_message$isFileMessag","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","_useSendbirdStateCont","_useSendbirdStateCont2","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","dataSbId","Fragment","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","rel","href","url","target","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { useRef, useEffect, useCallback } from 'react';
2
- import { S as SCROLL_BUFFER } from './consts-55e36248.js';
2
+ import { S as SCROLL_BUFFER } from './consts-b6f24cc7.js';
3
3
 
4
4
  function useDebounce(callback, delay) {
5
5
  const timeoutRef = useRef(null);
@@ -73,4 +73,4 @@ function useHandleOnScrollCallback(_ref) {
73
73
  }
74
74
 
75
75
  export { useHandleOnScrollCallback as a, useDebounce as u };
76
- //# sourceMappingURL=index-8485f009.js.map
76
+ //# sourceMappingURL=index-f2e30f98.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-8485f009.js","sources":["../src/hooks/useDebounce.ts","../src/hooks/useHandleOnScrollCallback/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport function useDebounce<T extends(...args: any[]) => void>(callback: T, delay: number): T {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n // Cleanup the timeout on unmount\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n function debounceFunction(...args: Parameters<T>) {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(...args);\n }, delay);\n }\n\n return debounceFunction as T;\n}\n","import React, { useCallback } from 'react';\nimport { SCROLL_BUFFER } from '../../utils/consts';\nimport { useDebounce } from '../useDebounce';\n\nconst DELAY = 500;\n\nexport interface UseHandleOnScrollCallbackProps {\n hasMore: boolean;\n hasNext?: boolean;\n onScroll(callback: () => void): void;\n scrollRef: React.RefObject<HTMLDivElement>;\n setShowScrollDownButton?: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport function calcScrollBottom(scrollHeight: number, scrollTop: number): number {\n return scrollHeight - scrollTop;\n}\n\nexport function useHandleOnScrollCallback({\n hasMore,\n hasNext,\n onScroll,\n scrollRef,\n setShowScrollDownButton,\n}: UseHandleOnScrollCallbackProps): () => void {\n const scrollCb = useCallback(() => {\n const element = scrollRef?.current;\n if (element == null) {\n return;\n }\n\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n // https://sendbird.atlassian.net/browse/SBISSUE-11759\n // the edge case where channel is inside a page that already has scroll\n // scrollintoView will move the whole page, which we dont want\n const scrollBottom = calcScrollBottom(scrollHeight, scrollTop);\n // even if there is more to fetch or not,\n // we still have to show the scroll to bottom button\n if (typeof setShowScrollDownButton === 'function') {\n setShowScrollDownButton(scrollHeight > scrollTop + clientHeight + 1);\n }\n if (hasMore && scrollTop < SCROLL_BUFFER) {\n onScroll(() => {\n // sets the scroll position to the bottom of the new messages\n element.scrollTop = element.scrollHeight - scrollBottom;\n });\n }\n if (hasNext) {\n onScroll(() => {\n // sets the scroll position to the top of the new messages\n element.scrollTop = scrollTop - (scrollHeight - element.scrollHeight);\n });\n }\n }, [\n setShowScrollDownButton,\n hasMore,\n onScroll,\n scrollRef,\n ]);\n\n return useDebounce(scrollCb, DELAY);\n}\n"],"names":["useDebounce","callback","delay","timeoutRef","useRef","useEffect","current","clearTimeout","debounceFunction","_len","arguments","length","args","Array","_key","setTimeout","DELAY","calcScrollBottom","scrollHeight","scrollTop","useHandleOnScrollCallback","_ref","hasMore","hasNext","onScroll","scrollRef","setShowScrollDownButton","scrollCb","useCallback","element","clientHeight","scrollBottom","SCROLL_BUFFER"],"mappings":"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"}
1
+ {"version":3,"file":"index-f2e30f98.js","sources":["../src/hooks/useDebounce.ts","../src/hooks/useHandleOnScrollCallback/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport function useDebounce<T extends(...args: any[]) => void>(callback: T, delay: number): T {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n // Cleanup the timeout on unmount\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n function debounceFunction(...args: Parameters<T>) {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(...args);\n }, delay);\n }\n\n return debounceFunction as T;\n}\n","import React, { useCallback } from 'react';\nimport { SCROLL_BUFFER } from '../../utils/consts';\nimport { useDebounce } from '../useDebounce';\n\nconst DELAY = 500;\n\nexport interface UseHandleOnScrollCallbackProps {\n hasMore: boolean;\n hasNext?: boolean;\n onScroll(callback: () => void): void;\n scrollRef: React.RefObject<HTMLDivElement>;\n setShowScrollDownButton?: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport function calcScrollBottom(scrollHeight: number, scrollTop: number): number {\n return scrollHeight - scrollTop;\n}\n\nexport function useHandleOnScrollCallback({\n hasMore,\n hasNext,\n onScroll,\n scrollRef,\n setShowScrollDownButton,\n}: UseHandleOnScrollCallbackProps): () => void {\n const scrollCb = useCallback(() => {\n const element = scrollRef?.current;\n if (element == null) {\n return;\n }\n\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n // https://sendbird.atlassian.net/browse/SBISSUE-11759\n // the edge case where channel is inside a page that already has scroll\n // scrollintoView will move the whole page, which we dont want\n const scrollBottom = calcScrollBottom(scrollHeight, scrollTop);\n // even if there is more to fetch or not,\n // we still have to show the scroll to bottom button\n if (typeof setShowScrollDownButton === 'function') {\n setShowScrollDownButton(scrollHeight > scrollTop + clientHeight + 1);\n }\n if (hasMore && scrollTop < SCROLL_BUFFER) {\n onScroll(() => {\n // sets the scroll position to the bottom of the new messages\n element.scrollTop = element.scrollHeight - scrollBottom;\n });\n }\n if (hasNext) {\n onScroll(() => {\n // sets the scroll position to the top of the new messages\n element.scrollTop = scrollTop - (scrollHeight - element.scrollHeight);\n });\n }\n }, [\n setShowScrollDownButton,\n hasMore,\n onScroll,\n scrollRef,\n ]);\n\n return useDebounce(scrollCb, DELAY);\n}\n"],"names":["useDebounce","callback","delay","timeoutRef","useRef","useEffect","current","clearTimeout","debounceFunction","_len","arguments","length","args","Array","_key","setTimeout","DELAY","calcScrollBottom","scrollHeight","scrollTop","useHandleOnScrollCallback","_ref","hasMore","hasNext","onScroll","scrollRef","setShowScrollDownButton","scrollCb","useCallback","element","clientHeight","scrollBottom","SCROLL_BUFFER"],"mappings":"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"}
@@ -3,10 +3,10 @@ import Button, { ButtonTypes, ButtonSizes } from './ui/Button.js';
3
3
  import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
4
4
  import Icon, { IconTypes, IconColors } from './ui/Icon.js';
5
5
  import IconButton from './ui/IconButton.js';
6
- import { L as Label, a as LabelTypography, b as LabelColors } from './index-0dd2ee39.js';
7
- import { a as LocalizationContext } from './LocalizationContext-2952e678.js';
8
- import { a as UserProfileContext } from './UserProfileContext-76aab169.js';
9
- import './context-ebecf7b8.js';
6
+ import { L as Label, a as LabelTypography, b as LabelColors } from './index-13d9d766.js';
7
+ import { a as LocalizationContext } from './LocalizationContext-5fe9b59d.js';
8
+ import { a as UserProfileContext } from './UserProfileContext-8b8f3e3a.js';
9
+ import './context-e46fff7b.js';
10
10
  import Avatar from './ui/Avatar.js';
11
11
  import 'react-dom';
12
12
  import MutedAvatarOverlay from './ui/MutedAvatarOverlay.js';
@@ -14,7 +14,7 @@ import UserProfile from './ui/UserProfile.js';
14
14
  import '@sendbird/chat/openChannel';
15
15
  import Modal from './ui/Modal.js';
16
16
  import UserListItem$1 from './ui/UserListItem.js';
17
- import { n as noop } from './utils-cae251db.js';
17
+ import { n as noop } from './utils-d15f13cf.js';
18
18
  import { useOpenChannelSettingsContext } from './OpenChannelSettings/context.js';
19
19
  import useSendbirdStateContext from './useSendbirdStateContext.js';
20
20
 
@@ -357,4 +357,4 @@ function ParticipantList(_ref) {
357
357
  }
358
358
 
359
359
  export { ParticipantList as P, UserListItem as U };
360
- //# sourceMappingURL=index-642e3f32.js.map
360
+ //# sourceMappingURL=index-fe2c7493.js.map