@sendbird/uikit-react 3.2.5 → 3.2.6-rc.1

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 (535) hide show
  1. package/App.js +327 -101
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +7 -0
  4. package/Channel/components/ChannelHeader.js +30 -18
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +31 -22
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +14 -14
  9. package/Channel/components/FrozenNotification.js +4 -4
  10. package/Channel/components/Message.js +76 -73
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +15 -15
  13. package/Channel/components/MessageList.js +23 -20
  14. package/Channel/components/MessageList.js.map +1 -1
  15. package/Channel/components/RemoveMessageModal.js +16 -15
  16. package/Channel/components/RemoveMessageModal.js.map +1 -1
  17. package/Channel/components/SuggestedMentionList.js +15 -15
  18. package/Channel/components/TypingIndicator.js +14 -14
  19. package/Channel/components/UnreadCount.js +4 -4
  20. package/Channel/context.js +13 -13
  21. package/Channel.js +25 -21
  22. package/Channel.js.map +1 -1
  23. package/ChannelList/components/AddChannel.js +14 -13
  24. package/ChannelList/components/AddChannel.js.map +1 -1
  25. package/ChannelList/components/ChannelListHeader.js +7 -7
  26. package/ChannelList/components/ChannelListUI.js +32 -26
  27. package/ChannelList/components/ChannelListUI.js.map +1 -1
  28. package/ChannelList/components/ChannelPreview.js +69 -28
  29. package/ChannelList/components/ChannelPreview.js.map +1 -1
  30. package/ChannelList/components/ChannelPreviewAction.js +14 -13
  31. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  32. package/ChannelList/context.js +8 -8
  33. package/ChannelList.js +28 -26
  34. package/ChannelList.js.map +1 -1
  35. package/{ChannelListProvider-cdb08b62.js → ChannelListProvider-f69a3eab.js} +33 -11
  36. package/ChannelListProvider-f69a3eab.js.map +1 -0
  37. package/{ChannelProvider-08b86d72.js → ChannelProvider-beed5203.js} +49 -25
  38. package/ChannelProvider-beed5203.js.map +1 -0
  39. package/ChannelSettings/components/ChannelProfile.js +12 -11
  40. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  41. package/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  42. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  43. package/ChannelSettings/components/EditDetailsModal.js +13 -11
  44. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  45. package/ChannelSettings/components/LeaveChannel.js +74 -26
  46. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  47. package/ChannelSettings/components/ModerationPanel.js +19 -14
  48. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  49. package/ChannelSettings/components/UserListItem.js +11 -11
  50. package/ChannelSettings/components/UserPanel.js +14 -13
  51. package/ChannelSettings/components/UserPanel.js.map +1 -1
  52. package/ChannelSettings/context.js +9 -5
  53. package/ChannelSettings/context.js.map +1 -1
  54. package/ChannelSettings.js +19 -17
  55. package/ChannelSettings.js.map +1 -1
  56. package/CreateChannel/components/CreateChannelUI.js +14 -13
  57. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  58. package/CreateChannel/components/InviteUsers.js +32 -13
  59. package/CreateChannel/components/InviteUsers.js.map +1 -1
  60. package/CreateChannel/components/SelectChannelType.js +13 -11
  61. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  62. package/CreateChannel/context.js +4 -4
  63. package/CreateChannel.js +14 -13
  64. package/CreateChannel.js.map +1 -1
  65. package/{CreateChannelProvider-b5fa7c16.js → CreateChannelProvider-6b83f0e6.js} +1 -1
  66. package/{CreateChannelProvider-b5fa7c16.js.map → CreateChannelProvider-6b83f0e6.js.map} +1 -1
  67. package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -9
  68. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  69. package/CreateOpenChannel/context.js +1 -1
  70. package/CreateOpenChannel.js +10 -9
  71. package/CreateOpenChannel.js.map +1 -1
  72. package/EditUserProfile/components/EditUserProfileUI.js +13 -12
  73. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  74. package/EditUserProfile.js +13 -12
  75. package/EditUserProfile.js.map +1 -1
  76. package/{LocalizationContext-9976b34e.js → LocalizationContext-4f852f2e.js} +3 -3
  77. package/{LocalizationContext-9976b34e.js.map → LocalizationContext-4f852f2e.js.map} +1 -1
  78. package/MediaQueryContext-20ff176d.js +90 -0
  79. package/MediaQueryContext-20ff176d.js.map +1 -0
  80. package/{MemberList-070e920a.js → MemberList-8ffa1f2e.js} +12 -6
  81. package/MemberList-8ffa1f2e.js.map +1 -0
  82. package/MessageSearch/components/MessageSearchUI.js +11 -11
  83. package/MessageSearch/context.js +2 -2
  84. package/MessageSearch.js +11 -11
  85. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  86. package/OpenChannel/components/OpenChannelHeader.js +25 -15
  87. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  88. package/OpenChannel/components/OpenChannelInput.js +15 -15
  89. package/OpenChannel/components/OpenChannelMessage.js +22 -20
  90. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  91. package/OpenChannel/components/OpenChannelMessageList.js +24 -22
  92. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  93. package/OpenChannel/components/OpenChannelUI.js +27 -23
  94. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  95. package/OpenChannel/context.js +9 -9
  96. package/OpenChannel.js +27 -24
  97. package/OpenChannel.js.map +1 -1
  98. package/OpenChannelList/components/OpenChannelListUI.js +15 -13
  99. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  100. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  101. package/OpenChannelList/context.js +4 -4
  102. package/OpenChannelList.js +13 -12
  103. package/OpenChannelList.js.map +1 -1
  104. package/{OpenChannelListProvider-ca1d96e3.js → OpenChannelListProvider-4e00f9cf.js} +3 -3
  105. package/{OpenChannelListProvider-ca1d96e3.js.map → OpenChannelListProvider-4e00f9cf.js.map} +1 -1
  106. package/{OpenChannelProvider-03efd3ff.js → OpenChannelProvider-f244c340.js} +40 -30
  107. package/OpenChannelProvider-f244c340.js.map +1 -0
  108. package/OpenChannelSettings/components/EditDetailsModal.js +14 -12
  109. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  110. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -12
  111. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  112. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -18
  113. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  114. package/OpenChannelSettings/components/OperatorUI.js +22 -16
  115. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  116. package/OpenChannelSettings/components/ParticipantUI.js +15 -14
  117. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  118. package/OpenChannelSettings/context.js +3 -3
  119. package/OpenChannelSettings.js +18 -17
  120. package/OpenChannelSettings.js.map +1 -1
  121. package/SendbirdProvider.js +22 -10
  122. package/SendbirdProvider.js.map +1 -1
  123. package/{UserProfileContext-24bb1c79.js → UserProfileContext-32f70da9.js} +8 -4
  124. package/UserProfileContext-32f70da9.js.map +1 -0
  125. package/{_rollupPluginBabelHelpers-a72165e4.js → _rollupPluginBabelHelpers-42595172.js} +19 -2
  126. package/_rollupPluginBabelHelpers-42595172.js.map +1 -0
  127. package/{actionTypes-b30fed5f.js → actionTypes-5126af74.js} +1 -1
  128. package/{actionTypes-b30fed5f.js.map → actionTypes-5126af74.js.map} +1 -1
  129. package/cjs/App.js +326 -100
  130. package/cjs/App.js.map +1 -1
  131. package/cjs/Channel/components/ChannelHeader.js +29 -17
  132. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  133. package/cjs/Channel/components/ChannelUI.js +31 -22
  134. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  135. package/cjs/Channel/components/FileViewer.js +14 -14
  136. package/cjs/Channel/components/FrozenNotification.js +4 -4
  137. package/cjs/Channel/components/Message.js +76 -73
  138. package/cjs/Channel/components/Message.js.map +1 -1
  139. package/cjs/Channel/components/MessageInput.js +15 -15
  140. package/cjs/Channel/components/MessageList.js +23 -20
  141. package/cjs/Channel/components/MessageList.js.map +1 -1
  142. package/cjs/Channel/components/RemoveMessageModal.js +16 -15
  143. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  144. package/cjs/Channel/components/SuggestedMentionList.js +15 -15
  145. package/cjs/Channel/components/TypingIndicator.js +14 -14
  146. package/cjs/Channel/components/UnreadCount.js +4 -4
  147. package/cjs/Channel/context.js +13 -13
  148. package/cjs/Channel.js +25 -21
  149. package/cjs/Channel.js.map +1 -1
  150. package/cjs/ChannelList/components/AddChannel.js +14 -13
  151. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  152. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  153. package/cjs/ChannelList/components/ChannelListUI.js +32 -26
  154. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  155. package/cjs/ChannelList/components/ChannelPreview.js +68 -27
  156. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  157. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -13
  158. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  159. package/cjs/ChannelList/context.js +8 -8
  160. package/cjs/ChannelList.js +28 -26
  161. package/cjs/ChannelList.js.map +1 -1
  162. package/cjs/{ChannelListProvider-5543db95.js → ChannelListProvider-573d11bf.js} +33 -11
  163. package/cjs/ChannelListProvider-573d11bf.js.map +1 -0
  164. package/cjs/{ChannelProvider-c9b390b7.js → ChannelProvider-c4c8058c.js} +49 -25
  165. package/cjs/ChannelProvider-c4c8058c.js.map +1 -0
  166. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -11
  167. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  168. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -17
  169. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  170. package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -11
  171. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  172. package/cjs/ChannelSettings/components/LeaveChannel.js +74 -26
  173. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  174. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -14
  175. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  176. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  177. package/cjs/ChannelSettings/components/UserPanel.js +14 -13
  178. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  179. package/cjs/ChannelSettings/context.js +9 -5
  180. package/cjs/ChannelSettings/context.js.map +1 -1
  181. package/cjs/ChannelSettings.js +19 -17
  182. package/cjs/ChannelSettings.js.map +1 -1
  183. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -13
  184. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  185. package/cjs/CreateChannel/components/InviteUsers.js +32 -13
  186. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  187. package/cjs/CreateChannel/components/SelectChannelType.js +13 -11
  188. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  189. package/cjs/CreateChannel/context.js +4 -4
  190. package/cjs/CreateChannel.js +14 -13
  191. package/cjs/CreateChannel.js.map +1 -1
  192. package/cjs/{CreateChannelProvider-0a28a871.js → CreateChannelProvider-d75d1c0e.js} +1 -1
  193. package/cjs/{CreateChannelProvider-0a28a871.js.map → CreateChannelProvider-d75d1c0e.js.map} +1 -1
  194. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -9
  195. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  196. package/cjs/CreateOpenChannel/context.js +1 -1
  197. package/cjs/CreateOpenChannel.js +10 -9
  198. package/cjs/CreateOpenChannel.js.map +1 -1
  199. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -12
  200. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  201. package/cjs/EditUserProfile.js +13 -12
  202. package/cjs/EditUserProfile.js.map +1 -1
  203. package/cjs/{LocalizationContext-0349dfbd.js → LocalizationContext-b8b9eb7b.js} +3 -3
  204. package/cjs/{LocalizationContext-0349dfbd.js.map → LocalizationContext-b8b9eb7b.js.map} +1 -1
  205. package/cjs/MediaQueryContext-f8dbf0b3.js +97 -0
  206. package/cjs/MediaQueryContext-f8dbf0b3.js.map +1 -0
  207. package/cjs/{MemberList-a95f8e7f.js → MemberList-7bcc79b2.js} +12 -6
  208. package/cjs/MemberList-7bcc79b2.js.map +1 -0
  209. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  210. package/cjs/MessageSearch/context.js +2 -2
  211. package/cjs/MessageSearch.js +11 -11
  212. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  213. package/cjs/OpenChannel/components/OpenChannelHeader.js +24 -14
  214. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  215. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  216. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -20
  217. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  218. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -22
  219. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  220. package/cjs/OpenChannel/components/OpenChannelUI.js +27 -23
  221. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  222. package/cjs/OpenChannel/context.js +9 -9
  223. package/cjs/OpenChannel.js +27 -24
  224. package/cjs/OpenChannel.js.map +1 -1
  225. package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -13
  226. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  227. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  228. package/cjs/OpenChannelList/context.js +4 -4
  229. package/cjs/OpenChannelList.js +13 -12
  230. package/cjs/OpenChannelList.js.map +1 -1
  231. package/cjs/{OpenChannelListProvider-df27c36c.js → OpenChannelListProvider-9d3966e5.js} +3 -3
  232. package/cjs/{OpenChannelListProvider-df27c36c.js.map → OpenChannelListProvider-9d3966e5.js.map} +1 -1
  233. package/cjs/{OpenChannelProvider-4895f5f6.js → OpenChannelProvider-a2a44b3a.js} +40 -30
  234. package/cjs/OpenChannelProvider-a2a44b3a.js.map +1 -0
  235. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -12
  236. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  237. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -12
  238. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  239. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -18
  240. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  241. package/cjs/OpenChannelSettings/components/OperatorUI.js +22 -16
  242. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  243. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -14
  244. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  245. package/cjs/OpenChannelSettings/context.js +3 -3
  246. package/cjs/OpenChannelSettings.js +18 -17
  247. package/cjs/OpenChannelSettings.js.map +1 -1
  248. package/cjs/SendbirdProvider.js +22 -10
  249. package/cjs/SendbirdProvider.js.map +1 -1
  250. package/cjs/{UserProfileContext-d1596965.js → UserProfileContext-12e3deb1.js} +8 -4
  251. package/cjs/UserProfileContext-12e3deb1.js.map +1 -0
  252. package/cjs/{_rollupPluginBabelHelpers-93d42928.js → _rollupPluginBabelHelpers-bd20f22f.js} +19 -1
  253. package/cjs/_rollupPluginBabelHelpers-bd20f22f.js.map +1 -0
  254. package/cjs/{actionTypes-6a04e98a.js → actionTypes-fa2458d4.js} +1 -1
  255. package/cjs/{actionTypes-6a04e98a.js.map → actionTypes-fa2458d4.js.map} +1 -1
  256. package/cjs/{color-8da1967d.js → color-30d0a088.js} +1 -1
  257. package/cjs/{color-8da1967d.js.map → color-30d0a088.js.map} +1 -1
  258. package/cjs/{compareIds-20b6caa8.js → compareIds-33bc8bec.js} +1 -1
  259. package/cjs/{compareIds-20b6caa8.js.map → compareIds-33bc8bec.js.map} +1 -1
  260. package/cjs/{const-0ce11db5.js → const-5ff5760f.js} +1 -1
  261. package/cjs/{const-0ce11db5.js.map → const-5ff5760f.js.map} +1 -1
  262. package/cjs/{const-ed017cc9.js → const-bc367512.js} +1 -1
  263. package/cjs/{const-ed017cc9.js.map → const-bc367512.js.map} +1 -1
  264. package/cjs/{context-bd7de995.js → context-c1adec92.js} +2 -2
  265. package/cjs/{context-bd7de995.js.map → context-c1adec92.js.map} +1 -1
  266. package/cjs/dist/index.css +439 -112
  267. package/cjs/dist/index.css.map +1 -1
  268. package/cjs/{index-a52296d6.js → index-0686bdcb.js} +9 -8
  269. package/cjs/index-0686bdcb.js.map +1 -0
  270. package/cjs/{index-e741ec2c.js → index-0e88b900.js} +4 -4
  271. package/cjs/{index-e741ec2c.js.map → index-0e88b900.js.map} +1 -1
  272. package/cjs/{index-558d367a.js → index-0f54b27e.js} +5 -5
  273. package/cjs/index-0f54b27e.js.map +1 -0
  274. package/cjs/{index-7ab4005e.js → index-3f8db0b0.js} +6 -5
  275. package/cjs/index-3f8db0b0.js.map +1 -0
  276. package/cjs/{index-491f2403.js → index-62071d1a.js} +1 -1
  277. package/cjs/{index-491f2403.js.map → index-62071d1a.js.map} +1 -1
  278. package/cjs/{index-1ce4efa3.js → index-70f4ade7.js} +4 -4
  279. package/cjs/{index-1ce4efa3.js.map → index-70f4ade7.js.map} +1 -1
  280. package/cjs/index-978dbae2.js +194 -0
  281. package/cjs/index-978dbae2.js.map +1 -0
  282. package/cjs/{index-c7bba14f.js → index-aca9abc8.js} +2 -2
  283. package/cjs/{index-c7bba14f.js.map → index-aca9abc8.js.map} +1 -1
  284. package/cjs/{index-200b85a3.js → index-be16bf7f.js} +1 -1
  285. package/cjs/{index-200b85a3.js.map → index-be16bf7f.js.map} +1 -1
  286. package/cjs/{index-09d50472.js → index-c97a25fe.js} +2 -2
  287. package/cjs/{index-09d50472.js.map → index-c97a25fe.js.map} +1 -1
  288. package/cjs/{index-e59510d3.js → index-e739b357.js} +2 -2
  289. package/cjs/{index-e59510d3.js.map → index-e739b357.js.map} +1 -1
  290. package/cjs/index.js +35 -32
  291. package/cjs/index.js.map +1 -1
  292. package/cjs/sendbirdSelectors.js +2 -2
  293. package/cjs/{stringSet-9eadd9a2.js → stringSet-b90c8eb9.js} +4 -1
  294. package/cjs/stringSet-b90c8eb9.js.map +1 -0
  295. package/cjs/{topics-c4ffdf98.js → topics-774fce2f.js} +1 -1
  296. package/cjs/{topics-c4ffdf98.js.map → topics-774fce2f.js.map} +1 -1
  297. package/cjs/{tslib.es6-712ab026.js → tslib.es6-54dccd69.js} +1 -1
  298. package/cjs/{tslib.es6-712ab026.js.map → tslib.es6-54dccd69.js.map} +1 -1
  299. package/cjs/ui/Accordion.js +3 -3
  300. package/cjs/ui/AccordionGroup.js +2 -2
  301. package/cjs/ui/AdminMessage.js +3 -3
  302. package/cjs/ui/Avatar.js +2 -2
  303. package/cjs/ui/Badge.js +5 -5
  304. package/cjs/ui/BottomSheet.js +43 -0
  305. package/cjs/ui/BottomSheet.js.map +1 -0
  306. package/cjs/ui/Button.js +3 -3
  307. package/cjs/ui/ChannelAvatar.js +3 -3
  308. package/cjs/ui/ConnectionStatus.js +4 -4
  309. package/cjs/ui/ContextMenu.js +14 -10
  310. package/cjs/ui/ContextMenu.js.map +1 -1
  311. package/cjs/ui/DateSeparator.js +4 -4
  312. package/cjs/ui/EmojiReactions.js +7 -7
  313. package/cjs/ui/FileMessageItemBody.js +8 -6
  314. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  315. package/cjs/ui/FileViewer.js +8 -8
  316. package/cjs/ui/IconButton.js +1 -1
  317. package/cjs/ui/ImageRenderer.js +1 -1
  318. package/cjs/ui/Input.js +2 -2
  319. package/cjs/ui/Label.js +2 -2
  320. package/cjs/ui/LinkLabel.js +9 -3
  321. package/cjs/ui/LinkLabel.js.map +1 -1
  322. package/cjs/ui/Loader.js +1 -1
  323. package/cjs/ui/MentionLabel.js +11 -10
  324. package/cjs/ui/MentionLabel.js.map +1 -1
  325. package/cjs/ui/MessageContent.js +450 -40
  326. package/cjs/ui/MessageContent.js.map +1 -1
  327. package/cjs/ui/MessageInput.js +23 -16
  328. package/cjs/ui/MessageInput.js.map +1 -1
  329. package/cjs/ui/MessageItemMenu.js +7 -7
  330. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  331. package/cjs/ui/MessageSearchFileItem.js +9 -9
  332. package/cjs/ui/MessageSearchItem.js +9 -9
  333. package/cjs/ui/MessageStatus.js +7 -7
  334. package/cjs/ui/Modal.js +33 -18
  335. package/cjs/ui/Modal.js.map +1 -1
  336. package/cjs/ui/OGMessageItemBody.js +11 -10
  337. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  338. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  339. package/cjs/ui/OpenChannelAvatar.js +6 -6
  340. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  341. package/cjs/ui/OpenchannelFileMessage.js +56 -26
  342. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  343. package/cjs/ui/OpenchannelOGMessage.js +75 -37
  344. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  345. package/cjs/ui/OpenchannelThumbnailMessage.js +58 -26
  346. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  347. package/cjs/ui/OpenchannelUserMessage.js +74 -51
  348. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  349. package/cjs/ui/PlaceHolder.js +6 -6
  350. package/cjs/ui/QuoteMessage.js +9 -6
  351. package/cjs/ui/QuoteMessage.js.map +1 -1
  352. package/cjs/ui/QuoteMessageInput.js +6 -6
  353. package/cjs/ui/ReactionBadge.js +4 -3
  354. package/cjs/ui/ReactionBadge.js.map +1 -1
  355. package/cjs/ui/ReactionButton.js +7 -1
  356. package/cjs/ui/ReactionButton.js.map +1 -1
  357. package/cjs/ui/SortByRow.js +2 -2
  358. package/cjs/ui/TextButton.js +2 -2
  359. package/cjs/ui/TextMessageItemBody.js +11 -10
  360. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  361. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  362. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  363. package/cjs/ui/Tooltip.js +3 -3
  364. package/cjs/ui/TooltipWrapper.js +1 -1
  365. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  366. package/cjs/ui/UserListItem.js +11 -11
  367. package/cjs/ui/UserProfile.js +18 -11
  368. package/cjs/ui/UserProfile.js.map +1 -1
  369. package/cjs/ui/Word.js +11 -10
  370. package/cjs/ui/Word.js.map +1 -1
  371. package/cjs/useLongPress-447fc2b4.js +118 -0
  372. package/cjs/useLongPress-447fc2b4.js.map +1 -0
  373. package/cjs/useSendbirdStateContext.js +1 -1
  374. package/cjs/{utils-90917fdb.js → utils-47e4a7f3.js} +1 -1
  375. package/cjs/{utils-90917fdb.js.map → utils-47e4a7f3.js.map} +1 -1
  376. package/cjs/{utils-03670a4b.js → utils-b42b5273.js} +1 -1
  377. package/cjs/{utils-03670a4b.js.map → utils-b42b5273.js.map} +1 -1
  378. package/cjs/{utils-db03a3ee.js → utils-b808700b.js} +1 -1
  379. package/cjs/{utils-db03a3ee.js.map → utils-b808700b.js.map} +1 -1
  380. package/cjs/{uuid-4fb21145.js → uuid-65030b4c.js} +1 -1
  381. package/cjs/{uuid-4fb21145.js.map → uuid-65030b4c.js.map} +1 -1
  382. package/cjs/withSendbird.js +1 -1
  383. package/{color-511dde29.js → color-d2a15055.js} +1 -1
  384. package/{color-511dde29.js.map → color-d2a15055.js.map} +1 -1
  385. package/{compareIds-8626728b.js → compareIds-cd18758a.js} +1 -1
  386. package/{compareIds-8626728b.js.map → compareIds-cd18758a.js.map} +1 -1
  387. package/{const-411c29c2.js → const-7186e391.js} +1 -1
  388. package/{const-411c29c2.js.map → const-7186e391.js.map} +1 -1
  389. package/{const-4836ca2f.js → const-9ed3c2e5.js} +1 -1
  390. package/{const-4836ca2f.js.map → const-9ed3c2e5.js.map} +1 -1
  391. package/{context-b3b0d94d.js → context-9f3c35b6.js} +2 -2
  392. package/{context-b3b0d94d.js.map → context-9f3c35b6.js.map} +1 -1
  393. package/dist/index.css +439 -112
  394. package/dist/index.css.map +1 -1
  395. package/index-115ce580.js +179 -0
  396. package/index-115ce580.js.map +1 -0
  397. package/{index-dbe2f386.js → index-14e045d4.js} +1 -1
  398. package/{index-dbe2f386.js.map → index-14e045d4.js.map} +1 -1
  399. package/{index-07ae6a1b.js → index-39b44653.js} +2 -2
  400. package/{index-07ae6a1b.js.map → index-39b44653.js.map} +1 -1
  401. package/{index-4be14273.js → index-5e8156eb.js} +6 -5
  402. package/index-5e8156eb.js.map +1 -0
  403. package/{index-c3c4236f.js → index-a28ce5ed.js} +4 -4
  404. package/{index-c3c4236f.js.map → index-a28ce5ed.js.map} +1 -1
  405. package/{index-200a8796.js → index-b02633bc.js} +2 -2
  406. package/{index-200a8796.js.map → index-b02633bc.js.map} +1 -1
  407. package/{index-5e61b8f6.js → index-c766d64c.js} +1 -1
  408. package/{index-5e61b8f6.js.map → index-c766d64c.js.map} +1 -1
  409. package/{index-9113fa9d.js → index-e0ade5e4.js} +2 -2
  410. package/{index-9113fa9d.js.map → index-e0ade5e4.js.map} +1 -1
  411. package/{index-89cd6e36.js → index-e1f156d0.js} +6 -6
  412. package/index-e1f156d0.js.map +1 -0
  413. package/{index-c16ac1c8.js → index-e2a7caae.js} +9 -8
  414. package/index-e2a7caae.js.map +1 -0
  415. package/{index-5cc28c33.js → index-f29a239d.js} +4 -4
  416. package/{index-5cc28c33.js.map → index-f29a239d.js.map} +1 -1
  417. package/index.d.ts +15 -4
  418. package/index.js +35 -32
  419. package/index.js.map +1 -1
  420. package/package.json +1 -1
  421. package/sendbirdSelectors.js +2 -2
  422. package/{stringSet-8662ec77.js → stringSet-fd9dcf1e.js} +4 -1
  423. package/stringSet-fd9dcf1e.js.map +1 -0
  424. package/{topics-0752cb33.js → topics-954a5dbc.js} +1 -1
  425. package/{topics-0752cb33.js.map → topics-954a5dbc.js.map} +1 -1
  426. package/{tslib.es6-d20349ad.js → tslib.es6-38d6449a.js} +1 -1
  427. package/{tslib.es6-d20349ad.js.map → tslib.es6-38d6449a.js.map} +1 -1
  428. package/ui/Accordion.js +3 -3
  429. package/ui/AccordionGroup.js +2 -2
  430. package/ui/AdminMessage.js +3 -3
  431. package/ui/Avatar.js +2 -2
  432. package/ui/Badge.js +5 -5
  433. package/ui/BottomSheet.js +37 -0
  434. package/ui/BottomSheet.js.map +1 -0
  435. package/ui/Button.js +3 -3
  436. package/ui/ChannelAvatar.js +3 -3
  437. package/ui/ConnectionStatus.js +4 -4
  438. package/ui/ContextMenu.js +14 -10
  439. package/ui/ContextMenu.js.map +1 -1
  440. package/ui/DateSeparator.js +4 -4
  441. package/ui/EmojiReactions.js +7 -7
  442. package/ui/FileMessageItemBody.js +8 -6
  443. package/ui/FileMessageItemBody.js.map +1 -1
  444. package/ui/FileViewer.js +8 -8
  445. package/ui/IconButton.js +1 -1
  446. package/ui/ImageRenderer.js +1 -1
  447. package/ui/Input.js +2 -2
  448. package/ui/Label.js +2 -2
  449. package/ui/LinkLabel.js +9 -3
  450. package/ui/LinkLabel.js.map +1 -1
  451. package/ui/Loader.js +1 -1
  452. package/ui/MentionLabel.js +11 -10
  453. package/ui/MentionLabel.js.map +1 -1
  454. package/ui/MessageContent.js +452 -42
  455. package/ui/MessageContent.js.map +1 -1
  456. package/ui/MessageInput.js +23 -16
  457. package/ui/MessageInput.js.map +1 -1
  458. package/ui/MessageItemMenu.js +7 -7
  459. package/ui/MessageItemReactionMenu.js +5 -5
  460. package/ui/MessageSearchFileItem.js +9 -9
  461. package/ui/MessageSearchItem.js +9 -9
  462. package/ui/MessageStatus.js +7 -7
  463. package/ui/Modal.js +33 -18
  464. package/ui/Modal.js.map +1 -1
  465. package/ui/OGMessageItemBody.js +11 -10
  466. package/ui/OGMessageItemBody.js.map +1 -1
  467. package/ui/OpenChannelAdminMessage.js +3 -3
  468. package/ui/OpenChannelAvatar.js +6 -6
  469. package/ui/OpenchannelConversationHeader.js +6 -6
  470. package/ui/OpenchannelFileMessage.js +50 -20
  471. package/ui/OpenchannelFileMessage.js.map +1 -1
  472. package/ui/OpenchannelOGMessage.js +66 -28
  473. package/ui/OpenchannelOGMessage.js.map +1 -1
  474. package/ui/OpenchannelThumbnailMessage.js +50 -18
  475. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  476. package/ui/OpenchannelUserMessage.js +67 -44
  477. package/ui/OpenchannelUserMessage.js.map +1 -1
  478. package/ui/PlaceHolder.js +6 -6
  479. package/ui/QuoteMessage.js +9 -6
  480. package/ui/QuoteMessage.js.map +1 -1
  481. package/ui/QuoteMessageInput.js +6 -6
  482. package/ui/ReactionBadge.js +4 -3
  483. package/ui/ReactionBadge.js.map +1 -1
  484. package/ui/ReactionButton.js +7 -1
  485. package/ui/ReactionButton.js.map +1 -1
  486. package/ui/SortByRow.js +2 -2
  487. package/ui/TextButton.js +2 -2
  488. package/ui/TextMessageItemBody.js +11 -10
  489. package/ui/TextMessageItemBody.js.map +1 -1
  490. package/ui/ThumbnailMessageItemBody.js +2 -2
  491. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  492. package/ui/Tooltip.js +3 -3
  493. package/ui/TooltipWrapper.js +1 -1
  494. package/ui/UnknownMessageItemBody.js +6 -6
  495. package/ui/UserListItem.js +11 -11
  496. package/ui/UserProfile.js +18 -11
  497. package/ui/UserProfile.js.map +1 -1
  498. package/ui/Word.js +11 -10
  499. package/ui/Word.js.map +1 -1
  500. package/useLongPress-3488ddd6.js +116 -0
  501. package/useLongPress-3488ddd6.js.map +1 -0
  502. package/useSendbirdStateContext.js +1 -1
  503. package/{utils-5569d95d.js → utils-80e9e20d.js} +1 -1
  504. package/{utils-5569d95d.js.map → utils-80e9e20d.js.map} +1 -1
  505. package/{utils-aba28b29.js → utils-cb1a4884.js} +1 -1
  506. package/{utils-aba28b29.js.map → utils-cb1a4884.js.map} +1 -1
  507. package/{utils-beb5bcc4.js → utils-f036cfe7.js} +1 -1
  508. package/{utils-beb5bcc4.js.map → utils-f036cfe7.js.map} +1 -1
  509. package/{uuid-e5bc1634.js → uuid-11fdaf7d.js} +1 -1
  510. package/{uuid-e5bc1634.js.map → uuid-11fdaf7d.js.map} +1 -1
  511. package/withSendbird.js +1 -1
  512. package/ChannelListProvider-cdb08b62.js.map +0 -1
  513. package/ChannelProvider-08b86d72.js.map +0 -1
  514. package/MemberList-070e920a.js.map +0 -1
  515. package/OpenChannelProvider-03efd3ff.js.map +0 -1
  516. package/UserProfileContext-24bb1c79.js.map +0 -1
  517. package/_rollupPluginBabelHelpers-a72165e4.js.map +0 -1
  518. package/cjs/ChannelListProvider-5543db95.js.map +0 -1
  519. package/cjs/ChannelProvider-c9b390b7.js.map +0 -1
  520. package/cjs/MemberList-a95f8e7f.js.map +0 -1
  521. package/cjs/OpenChannelProvider-4895f5f6.js.map +0 -1
  522. package/cjs/UserProfileContext-d1596965.js.map +0 -1
  523. package/cjs/_rollupPluginBabelHelpers-93d42928.js.map +0 -1
  524. package/cjs/index-558d367a.js.map +0 -1
  525. package/cjs/index-7ab4005e.js.map +0 -1
  526. package/cjs/index-a52296d6.js.map +0 -1
  527. package/cjs/openChannelUtils-5a371d5c.js +0 -96
  528. package/cjs/openChannelUtils-5a371d5c.js.map +0 -1
  529. package/cjs/stringSet-9eadd9a2.js.map +0 -1
  530. package/index-4be14273.js.map +0 -1
  531. package/index-89cd6e36.js.map +0 -1
  532. package/index-c16ac1c8.js.map +0 -1
  533. package/openChannelUtils-fecc8bc0.js +0 -86
  534. package/openChannelUtils-fecc8bc0.js.map +0 -1
  535. package/stringSet-8662ec77.js.map +0 -1
@@ -1,32 +1,35 @@
1
- import { a as __spreadArray } from '../tslib.es6-d20349ad.js';
2
- import React__default, { useContext, useRef, useState, useMemo, useEffect } from 'react';
3
- import { f as format } from '../index-07ae6a1b.js';
1
+ import { a as _extends } from '../_rollupPluginBabelHelpers-42595172.js';
2
+ import { a as __spreadArray, _ as __assign } from '../tslib.es6-38d6449a.js';
3
+ import React__default, { useContext, useRef, useState, useEffect } from 'react';
4
+ import { f as format } from '../index-39b44653.js';
4
5
  import Avatar from './Avatar.js';
5
6
  import ContextMenu, { MenuItems, MenuItem } from './ContextMenu.js';
6
7
  import Icon, { IconTypes, IconColors } from './Icon.js';
7
8
  import IconButton from './IconButton.js';
8
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-200a8796.js';
9
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-b02633bc.js';
9
10
  import Loader from './Loader.js';
10
11
  import ConnectedUserProfile from './UserProfile.js';
11
- import { a as UserProfileContext } from '../UserProfileContext-24bb1c79.js';
12
- import { u as useLocalization } from '../LocalizationContext-9976b34e.js';
13
- import { c as copyToClipboard } from '../utils-beb5bcc4.js';
14
- import { u as uuidv4 } from '../uuid-e5bc1634.js';
15
- import { g as getSenderFromMessage, s as showMenuTrigger, i as isFineCopy, a as isFineEdit, b as isFineResend, c as isFineDelete, d as checkIsPending, e as checkIsFailed } from '../openChannelUtils-fecc8bc0.js';
16
- import '../index-5e61b8f6.js';
12
+ import { a as UserProfileContext } from '../UserProfileContext-32f70da9.js';
13
+ import { u as useLocalization } from '../LocalizationContext-4f852f2e.js';
14
+ import { c as copyToClipboard } from '../utils-f036cfe7.js';
15
+ import { u as uuidv4 } from '../uuid-11fdaf7d.js';
16
+ import { g as getSenderFromMessage, s as showMenuTrigger, i as isFineCopy, a as isFineEdit, b as isFineResend, c as isFineDelete, O as OpenChannelMobileMenu, d as checkIsPending, e as checkIsFailed } from '../index-115ce580.js';
17
+ import { u as useMediaQueryContext } from '../MediaQueryContext-20ff176d.js';
18
+ import { u as useLongPress } from '../useLongPress-3488ddd6.js';
19
+ import { d as isEditedMessage } from '../index-e1f156d0.js';
20
+ import '../index-c766d64c.js';
17
21
  import './ImageRenderer.js';
18
22
  import 'prop-types';
19
23
  import 'react-dom';
20
24
  import './SortByRow.js';
21
- import '../index-89cd6e36.js';
22
25
  import '../utils/message/getOutgoingMessageState.js';
23
- import '../stringSet-8662ec77.js';
26
+ import '../stringSet-fd9dcf1e.js';
24
27
  import '../withSendbird.js';
25
- import '../_rollupPluginBabelHelpers-a72165e4.js';
26
28
  import '../sendbirdSelectors.js';
27
- import '../topics-0752cb33.js';
28
- import '../utils-5569d95d.js';
29
+ import '../topics-954a5dbc.js';
30
+ import '../utils-80e9e20d.js';
29
31
  import './Button.js';
32
+ import '../useSendbirdStateContext.js';
30
33
 
31
34
  function OpenchannelUserMessage(_a) {
32
35
  var className = _a.className,
@@ -55,35 +58,21 @@ function OpenchannelUserMessage(_a) {
55
58
  var messageRef = useRef(null);
56
59
  var avatarRef = useRef(null);
57
60
  var contextMenuRef = useRef(null);
61
+ var mobileMenuRef = useRef(null);
58
62
 
59
63
  var _d = useState({}),
60
64
  contextStyle = _d[0],
61
- setContextStyle = _d[1]; // consts
65
+ setContextStyle = _d[1];
66
+
67
+ var _e = useState(false),
68
+ contextMenu = _e[0],
69
+ setContextMenu = _e[1]; // consts
62
70
 
63
71
 
64
72
  var status = message === null || message === void 0 ? void 0 : message.sendingStatus;
65
73
  var isPending = checkIsPending(status);
66
74
  var isFailed = checkIsFailed(status);
67
- var sender = getSenderFromMessage(message);
68
- var MemoizedMessageText = useMemo(function () {
69
- return function () {
70
- var splitMessage = message.message.split(/\r/);
71
- var matchedMessage = splitMessage.map(function (word) {
72
- return word !== '' ? word : /*#__PURE__*/React__default.createElement("br", null);
73
- });
74
-
75
- if (message.updatedAt > 0) {
76
- matchedMessage.push( /*#__PURE__*/React__default.createElement(Label, {
77
- key: uuidv4(),
78
- type: LabelTypography.BODY_1,
79
- color: LabelColors.ONBACKGROUND_2,
80
- calssName: "sendbird-openchannel-user-message-word"
81
- }, " ".concat(stringSet.MESSAGE_EDITED, " ")));
82
- }
83
-
84
- return matchedMessage;
85
- };
86
- }, [message, message.updatedAt]); // place context menu top depending clientHeight of message component
75
+ var sender = getSenderFromMessage(message); // place context menu top depending clientHeight of message component
87
76
 
88
77
  useEffect(function () {
89
78
  var _a;
@@ -98,6 +87,12 @@ function OpenchannelUserMessage(_a) {
98
87
  });
99
88
  }
100
89
  }, [window.innerWidth]);
90
+ var onLongPress = useLongPress({
91
+ onLongPress: function () {
92
+ setContextMenu(true);
93
+ }
94
+ });
95
+ var isMobile = useMediaQueryContext().isMobile;
101
96
  return /*#__PURE__*/React__default.createElement("div", {
102
97
  className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-openchannel-user-message'], false).join(' '),
103
98
  ref: messageRef
@@ -124,8 +119,8 @@ function OpenchannelUserMessage(_a) {
124
119
  parentContainRef: avatarRef,
125
120
  closeDropdown: closeDropdown,
126
121
  style: {
127
- paddingTop: 0,
128
- paddingBottom: 0
122
+ paddingTop: '0px',
123
+ paddingBottom: '0px'
129
124
  }
130
125
  }, renderUserProfile ? renderUserProfile({
131
126
  user: sender,
@@ -150,13 +145,19 @@ function OpenchannelUserMessage(_a) {
150
145
  color: LabelColors.ONBACKGROUND_3
151
146
  }, (message === null || message === void 0 ? void 0 : message.createdAt) && format(message === null || message === void 0 ? void 0 : message.createdAt, 'p', {
152
147
  locale: dateLocale
153
- }))), /*#__PURE__*/React__default.createElement("div", {
154
- className: "sendbird-openchannel-user-message__right__bottom"
155
- }, /*#__PURE__*/React__default.createElement(Label, {
148
+ }))), /*#__PURE__*/React__default.createElement("div", _extends({}, isMobile ? __assign({}, onLongPress) : {}, {
149
+ className: "sendbird-openchannel-user-message__right__bottom",
150
+ ref: mobileMenuRef
151
+ }), /*#__PURE__*/React__default.createElement(Label, {
156
152
  className: "sendbird-openchannel-user-message__right__bottom__message",
157
153
  type: LabelTypography.BODY_1,
158
154
  color: LabelColors.ONBACKGROUND_1
159
- }, MemoizedMessageText())), (isPending || isFailed) && /*#__PURE__*/React__default.createElement("div", {
155
+ }, message === null || message === void 0 ? void 0 : message.message, isEditedMessage(message) && /*#__PURE__*/React__default.createElement(Label, {
156
+ key: uuidv4(),
157
+ type: LabelTypography.BODY_1,
158
+ color: LabelColors.ONBACKGROUND_2,
159
+ calssName: "sendbird-openchannel-user-message-word"
160
+ }, " ".concat(stringSet.MESSAGE_EDITED, " ")))), (isPending || isFailed) && /*#__PURE__*/React__default.createElement("div", {
160
161
  className: "sendbird-openchannel-user-message__right__tail"
161
162
  }, isPending && /*#__PURE__*/React__default.createElement(Loader, {
162
163
  width: "16px",
@@ -173,7 +174,7 @@ function OpenchannelUserMessage(_a) {
173
174
  fillColor: IconColors.ERROR,
174
175
  width: "16px",
175
176
  height: "16px"
176
- }))), /*#__PURE__*/React__default.createElement("div", {
177
+ }))), !isMobile && /*#__PURE__*/React__default.createElement("div", {
177
178
  className: "sendbird-openchannel-user-message__context-menu",
178
179
  ref: contextMenuRef,
179
180
  style: contextStyle
@@ -253,7 +254,29 @@ function OpenchannelUserMessage(_a) {
253
254
  }
254
255
  }, stringSet.CONTEXT_MENU_DROPDOWN__DELETE));
255
256
  }
256
- })));
257
+ })), contextMenu && /*#__PURE__*/React__default.createElement(OpenChannelMobileMenu, {
258
+ message: message,
259
+ parentRef: mobileMenuRef,
260
+ hideMenu: function () {
261
+ setContextMenu(false);
262
+ },
263
+ showRemove: function () {
264
+ setContextMenu(false);
265
+ showRemove(true);
266
+ },
267
+ showEdit: function () {
268
+ setContextMenu(false);
269
+ showEdit(true);
270
+ },
271
+ copyToClipboard: function () {
272
+ setContextMenu(false);
273
+ copyToClipboard(message === null || message === void 0 ? void 0 : message.message);
274
+ },
275
+ resendMessage: function () {
276
+ setContextMenu(false);
277
+ resendMessage(message);
278
+ }
279
+ }));
257
280
  }
258
281
 
259
282
  export { OpenchannelUserMessage as default };
@@ -1 +1 @@
1
- {"version":3,"file":"OpenchannelUserMessage.js","sources":["../../src/ui/OpenchannelUserMessage/index.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport {\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n isOperator?: boolean;\n userId: string;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: UserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n}\n\nexport default function OpenchannelUserMessage({\n className,\n message,\n isOperator,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n\n // consts\n const status = message?.sendingStatus;\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const splitMessage = message.message.split(/\\r/);\n const matchedMessage = splitMessage.map((word) => (word !== '' ? word : <br />));\n if (message.updatedAt > 0) {\n matchedMessage.push(\n <Label\n key={uuidv4()}\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n calssName=\"sendbird-openchannel-user-message-word\"\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>,\n );\n }\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef?.current?.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-user-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-user-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-user-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-user-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-user-message__right__top\">\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message?.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div className=\"sendbird-openchannel-user-message__right__bottom\">\n <Label\n className=\"sendbird-openchannel-user-message__right__bottom__message\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {MemoizedMessageText()}\n </Label>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-user-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n <div\n className=\"sendbird-openchannel-user-message__context-menu\"\n ref={contextMenuRef}\n style={contextStyle}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message: message, userId: userId, status: status}) && (\n <IconButton\n className=\"sendbird-openchannel-user-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={() => {\n toggleDropdown();\n }}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__copy\"\n onClick={() => {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n </MenuItem>\n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__edit\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n </MenuItem>\n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__resend\"\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__delete\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n }\n </div>\n );\n}\n"],"names":["OpenchannelUserMessage","_a","className","message","isOperator","userId","resendMessage","disabled","showEdit","showRemove","chainTop","messageType","_b","useLocalization","stringSet","dateLocale","_c","useContext","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","_d","useState","contextStyle","setContextStyle","status","sendingStatus","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","MemoizedMessageText","useMemo","splitMessage","split","matchedMessage","map","word","React","updatedAt","push","uuidv4","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_2","concat","MESSAGE_EDITED","useEffect","current","clientHeight","top","window","innerWidth","__spreadArray","Array","isArray","join","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","CAPTION_2","SECONDARY_3","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","ONBACKGROUND_1","IconTypes","SPINNER","IconColors","PRIMARY","ERROR","showMenuTrigger","MORE","CONTENT_INVERSE","isFineCopy","copyToClipboard","CONTEXT_MENU_DROPDOWN__COPY","isFineEdit","CONTEXT_MENU_DROPDOWN__EDIT","isFineResend","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDwB,SAAAA,sBAAA,CAAuBC,EAAvB,EAUhB;MATNC,SAAS,GAAAD,EAAA,CAAAC;MACTC,OAAO,GAAAF,EAAA,CAAAE;MACPC,UAAU,GAAAH,EAAA,CAAAG;MACVC,MAAM,GAAAJ,EAAA,CAAAI;MACNC,aAAa;MACbC,QAAQ,GAAAN,EAAA,CAAAM;MACRC,QAAQ,GAAAP,EAAA,CAAAO;MACRC,UAAU,GAAAR,EAAA,CAAAQ;MACVC,QAAQ,GAAAT,EAAA,CAAAS;;EAER,IAAI,CAACP,OAAD,IAAYA,OAAO,CAACQ,WAAR,KAAwB,MAAxC,EAAgD;AAC9C,IAAA,OAAO,IAAP,CAAA;AACD,GAHK;;;EAMA,IAAAC,EAAA,GAA4BC,eAAe,EAA3C;AAAA,MAAEC,SAAS,GAAAF,EAAA,CAAAE,SAAX;AAAA,MAAaC,UAAU,GAAAH,EAAA,CAAAG,UAAvB,CAAA;;AACA,EAAA,IAAAC,EAAA,GAA4CC,UAAU,CAACC,kBAAD,CAAtD;AAAA,MAAEC,kBAAkB,GAAAH,EAAA,CAAAG,kBAApB;AAAA,MAAsBC,iBAAiB,GAAAJ,EAAA,CAAAI,iBAAvC,CAAA;;AACN,EAAA,IAAMC,UAAU,GAAGC,MAAM,CAAC,IAAD,CAAzB,CAAA;AACA,EAAA,IAAMC,SAAS,GAAGD,MAAM,CAAC,IAAD,CAAxB,CAAA;AACA,EAAA,IAAME,cAAc,GAAGF,MAAM,CAAC,IAAD,CAA7B,CAAA;;AACM,EAAA,IAAAG,EAAA,GAAkCC,QAAQ,CAAC,EAAD,CAA1C;AAAA,MAACC,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAb;AAAA,MAAeG,eAAe,GAAAH,EAAA,CAAA,CAAA,CAA9B,CAXA;;;AAcN,EAAA,IAAMI,MAAM,GAAG1B,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE2B,aAAxB,CAAA;AACA,EAAA,IAAMC,SAAS,GAAGC,cAAc,CAACH,MAAD,CAAhC,CAAA;AACA,EAAA,IAAMI,QAAQ,GAAGC,aAAa,CAACL,MAAD,CAA9B,CAAA;AACA,EAAA,IAAMM,MAAM,GAAGC,oBAAoB,CAACjC,OAAD,CAAnC,CAAA;AAEA,EAAA,IAAMkC,mBAAmB,GAAGC,OAAO,CAAC;AAAM,IAAA,OAAA,YAAA;MACxC,IAAMC,YAAY,GAAGpC,OAAO,CAACA,OAAR,CAAgBqC,KAAhB,CAAsB,IAAtB,CAArB,CAAA;MACA,IAAMC,cAAc,GAAGF,YAAY,CAACG,GAAb,CAAiB,UAACC,IAAD,EAAU;AAAA,QAAA,OAACA,IAAI,KAAK,EAAT,GAAcA,IAAd,gBAAqBC,cAAtB,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAA6B,OAAxD,CAAvB,CAAA;;AACA,MAAA,IAAIzC,OAAO,CAAC0C,SAAR,GAAoB,CAAxB,EAA2B;AACzBJ,QAAAA,cAAc,CAACK,IAAf,eACEF,cAAA,CAAA,aAAA,CAAC,KAAD,EAAA;UACE,GAAG,EAAEG,MAAM,EADb;UAEE,IAAI,EAAEC,eAAe,CAACC,MAFxB;UAGE,KAAK,EAAEC,WAAW,CAACC,cAHrB;AAIE,UAAA,SAAS,EAAC,wCAAA;SAET,EAAA,GAAA,CAAIC,MAAJ,CAAItC,SAAS,CAACuC,cAAd,KAAA,CANH,CADF,CAAA,CAAA;AAUD,OAAA;;AACD,MAAA,OAAOZ,cAAP,CAAA;KAfwC,CAAA;GAAP,EAgBhC,CAACtC,OAAD,EAAUA,OAAO,CAAC0C,SAAlB,CAhBgC,CAAnC,CAnBM;;AAsCNS,EAAAA,SAAS,CAAC,YAAA;;;AACR,IAAA,IAAI,CAAA,CAAArD,EAAA,GAAAoB,UAAU,KAAA,IAAV,IAAAA,UAAU,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAAA,UAAU,CAAEkC,OAAZ,MAAmB,IAAnB,IAAmBtD,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAEuD,YAArB,IAAoC,EAAxC,EAA4C;AAC1C5B,MAAAA,eAAe,CAAC;AAAE6B,QAAAA,GAAG,EAAE,MAAA;AAAP,OAAD,CAAf,CAAA;AACD,KAFD,MAEO;AACL7B,MAAAA,eAAe,CAAC;AAAE6B,QAAAA,GAAG,EAAE,KAAA;AAAP,OAAD,CAAf,CAAA;AACD,KAAA;AACF,GANQ,EAMN,CAACC,MAAM,CAACC,UAAR,CANM,CAAT,CAAA;EAQA,oBACEf,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAEgB,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAN,CAAc5D,SAAd,CAAA,GAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,EAC8C,IAD9C,CAAA,EAC8C,CACvD,mCADuD,CAD9C,OAAA,CAAA,CAGT6D,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,GAAG,EAAE1C,UAAAA;GAEL,eAAAuB,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;AAAf,GAAA,EAEI,CAAClC,QAAD,iBACEkC,cAAA,CAAA,aAAA,CAAC,WAAD,EAAA;IACE,WAAW,EAAE,UAACoB,cAAD,EAAoB;AAAA,MAAA,oBAC/BpB,6BAAC,MAAD,EAAA;AACE,QAAA,SAAS,EAAC,iDADZ;AAEE,QAAA,GAAG,EAAET,MAAM,CAAC8B,UAAP,IAAqB,EAF5B;AAGE,QAAA,GAAG,EAAE1C,SAHP;AAIE,QAAA,KAAK,EAAC,MAJR;AAKE,QAAA,MAAM,EAAC,MALT;AAME,QAAA,OAAO,EAAE,YAAA;UACP,IAAI,CAACJ,kBAAL,EAAyB;YACvB6C,cAAc,EAAA,CAAA;AACf,WAAA;AACF,SAAA;OAX4B,CAAA,CAAA;KADnC;IAeE,SAAS,EAAE,UAACE,aAAD,EAAmB;AAAA,MAAA,oBAC5BtB,6BAAC,SAAD,EAAA;AACE,QAAA,SAAS,EAAErB,SADb;AAEE,QAAA,gBAAgB,EAAEA,SAFpB;AAGE,QAAA,aAAa,EAAE2C,aAHjB;AAIE,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE,CAAA;AAAhC,SAAA;OAGLhD,EAAAA,iBAAiB,GAEfA,iBAAiB,CAAC;AAChBiD,QAAAA,IAAI,EAAElC,MADU;AAEhBmC,QAAAA,KAAK,EAAEJ,aAAAA;OAFQ,CAFF,gBAQftB,cAAA,CAAA,aAAA,CAAC2B,oBAAD,EAAA;AACE,QAAA,IAAI,EAAEpC,MADR;AAEE,QAAA,SAAS,EAAE+B,aAFb;QAGE,gBAAgB,EAAA,IAAA;AAHlB,OAAA,CAfN,CAD4B,CAAA;AAwB7B,KAAA;AAvCH,GAAA,CAHN,CAPF,eAsDEtB,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,0CAAA;GAEX,EAAA,CAAClC,QAAD,iBACEkC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,+CAAA;AAAf,GAAA,eACEA,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,4DADZ;IAEE,IAAI,EAAEI,eAAe,CAACwB,SAFxB;IAGE,KAAK,EAAEpE,UAAU,GAAG8C,WAAW,CAACuB,WAAf,GAA6BvB,WAAW,CAACC,cAAAA;AAH5D,GAAA,EAMIhB,MAAM,KACJA,MAAM,CAACuC,UAAP,IACGvC,MAAM,CAACwC,QADV,IAEGxC,MAAM,CAAC9B,MAHN,CANV,CADF,eAcEuC,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,wDADZ;IAEE,IAAI,EAAEI,eAAe,CAAC4B,SAFxB;IAGE,KAAK,EAAE1B,WAAW,CAAC2B,cAAAA;AAHrB,GAAA,EAMI,CAAA1E,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE2E,SAAT,KACEC,MAAM,CAAC5E,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2E,SAAV,EAAqB,GAArB,EAA0B;AAC9BE,IAAAA,MAAM,EAAEjE,UAAAA;GADJ,CAPZ,CAdF,CAHN,eAiCE6B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,kDAAA;AAAf,GAAA,eACEA,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,2DADZ;IAEE,IAAI,EAAEI,eAAe,CAACC,MAFxB;IAGE,KAAK,EAAEC,WAAW,CAAC+B,cAAAA;GAElB5C,EAAAA,mBAAmB,EALtB,CADF,CAjCF,EA2CI,CAACN,SAAS,IAAIE,QAAd,kBACEW,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gDAAA;GAEXb,EAAAA,SAAS,iBACPa,cAAA,CAAA,aAAA,CAAC,MAAD,EAAA;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAAA;AAFT,GAAA,eAIEA,6BAAC,IAAD,EAAA;AACE,IAAA,SAAS,EAAC,yDADZ;IAEE,IAAI,EAAEsC,SAAS,CAACC,OAFlB;IAGE,SAAS,EAAEC,UAAU,CAACC,OAHxB;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC,MAAA;AALT,GAAA,CAJF,CAHN,EAkBIpD,QAAQ,iBACNW,6BAAC,IAAD,EAAA;AACE,IAAA,SAAS,EAAC,wDADZ;IAEE,IAAI,EAAEsC,SAAS,CAACI,KAFlB;IAGE,SAAS,EAAEF,UAAU,CAACE,KAHxB;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC,MAAA;GAxBf,CAAA,CA5CN,CAtDF,eAmII1C,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,GAAG,EAAEpB,cAFP;AAGE,IAAA,KAAK,EAAEG,YAAAA;AAHT,GAAA,eAKEiB,6BAAC,WAAD,EAAA;IACE,WAAW,EAAE,UAACoB,cAAD;AAAoB,MAAA,OAC/BuB,eAAe,CAAC;AAAEpF,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoCwB,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAf,iBACEe,cAAA,CAAA,aAAA,CAAC,UAAD,EAAA;AACE,QAAA,SAAS,EAAC,uDADZ;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,YAAA;UACPoB,cAAc,EAAA,CAAA;AACf,SAAA;AANH,OAAA,eAQEpB,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEsC,SAAS,CAACM,IADlB;QAEE,SAAS,EAAEJ,UAAU,CAACK,eAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CARF,CAF6B,CAAA;KADnC;IAoBE,SAAS,EAAE,UAACvB,aAAD;AAAmB,MAAA,oBAC5BtB,6BAAC,SAAD,EAAA;AACE,QAAA,SAAS,EAAEpB,cADb;AAEE,QAAA,gBAAgB,EAAEA,cAFpB;AAGE,QAAA,aAAa,EAAE0C,aAHjB;QAIE,QAAQ,EAAA,IAAA;AAJV,OAAA,EAOIwB,UAAU,CAAC;AAAEvF,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoCwB,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAV,iBACEe,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,uDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;AACP+C,UAAAA,eAAe,CAACxF,OAAO,CAACA,OAAT,CAAf,CAAA;UACA+D,aAAa,EAAA,CAAA;AACd,SAAA;AALH,OAAA,EAOGpD,SAAS,CAAC8E,2BAPb,CARN,EAoBIC,UAAU,CAAC;AAAE1F,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoCwB,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAV,iBACEe,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,uDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;AACP,UAAA,IAAIrC,QAAJ,EAAc;AACZ,YAAA,OAAA;AACD,WAAA;;UACDC,QAAQ,CAAC,IAAD,CAAR,CAAA;UACA0D,aAAa,EAAA,CAAA;AACd,SAAA;AARH,OAAA,EAUGpD,SAAS,CAACgF,2BAVb,CArBN,EAoCIC,YAAY,CAAC;AAAE5F,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoCwB,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAZ,iBACEe,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,yDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACPtC,aAAa,CAACH,OAAD,CAAb,CAAA;UACA+D,aAAa,EAAA,CAAA;AACd,SAAA;AALH,OAAA,EAOGpD,SAAS,CAACkF,6BAPb,CArCN,EAiDIC,YAAY,CAAC;AAAE9F,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoCwB,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAZ,iBACEe,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,yDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;AACP,UAAA,IAAIrC,QAAJ,EAAc;AACZ,YAAA,OAAA;AACD,WAAA;;UACDE,UAAU,CAAC,IAAD,CAAV,CAAA;UACAyD,aAAa,EAAA,CAAA;AACd,SAAA;AARH,OAAA,EAUGpD,SAAS,CAACoF,6BAVb,CAlDN,CAD4B,CAAA;AAkE7B,KAAA;AAtFH,GAAA,CALF,CAnIJ,CADF,CAAA;AAqOD;;;;"}
1
+ {"version":3,"file":"OpenchannelUserMessage.js","sources":["../../src/ui/OpenchannelUserMessage/index.tsx"],"sourcesContent":["import React, {\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport {\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport OpenChannelMobileMenu from '../OpenChannelMobileMenu';\nimport useLongPress from '../../hooks/useLongPress';\nimport { isEditedMessage } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n isOperator?: boolean;\n userId: string;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: UserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n}\n\nexport default function OpenchannelUserMessage({\n className,\n message,\n isOperator,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext<UserProfileContext>(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const mobileMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n const [contextMenu, setContextMenu] = useState(false);\n\n // consts\n const status = message?.sendingStatus;\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef?.current?.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n const onLongPress = useLongPress({\n onLongPress: () => {\n setContextMenu(true);\n }\n });\n\n const { isMobile } = useMediaQueryContext();\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-user-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-user-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-user-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-user-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-user-message__right__top\">\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message?.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div\n {...(isMobile ? { ...onLongPress } : {})}\n className=\"sendbird-openchannel-user-message__right__bottom\" ref={mobileMenuRef}>\n <Label\n className=\"sendbird-openchannel-user-message__right__bottom__message\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {message?.message}\n {isEditedMessage(message) && (\n <Label\n key={uuidv4()}\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n calssName=\"sendbird-openchannel-user-message-word\"\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>\n )}\n </Label>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-user-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n !isMobile && (\n <div\n className=\"sendbird-openchannel-user-message__context-menu\"\n ref={contextMenuRef}\n style={contextStyle}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message: message, userId: userId, status: status }) && (\n <IconButton\n className=\"sendbird-openchannel-user-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={() => {\n toggleDropdown();\n }}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__copy\"\n onClick={() => {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n </MenuItem>\n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__edit\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n </MenuItem>\n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__resend\"\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__delete\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n\n )\n }\n {\n contextMenu && (\n <OpenChannelMobileMenu\n message={message}\n parentRef={mobileMenuRef}\n hideMenu={() => {\n setContextMenu(false);\n }}\n showRemove={() => {\n setContextMenu(false);\n showRemove(true);\n }}\n showEdit={() => {\n setContextMenu(false);\n showEdit(true);\n }}\n copyToClipboard={() => {\n setContextMenu(false);\n copyToClipboard(message?.message);\n }}\n resendMessage={() => {\n setContextMenu(false);\n resendMessage(message);\n }}\n />\n )\n }\n </div>\n );\n}\n"],"names":["OpenchannelUserMessage","_a","className","message","isOperator","userId","resendMessage","disabled","showEdit","showRemove","chainTop","messageType","_b","useLocalization","stringSet","dateLocale","_c","useContext","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","mobileMenuRef","_d","useState","contextStyle","setContextStyle","_e","contextMenu","setContextMenu","status","sendingStatus","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","useEffect","current","clientHeight","top","window","innerWidth","onLongPress","useLongPress","isMobile","useMediaQueryContext","React","__spreadArray","Array","isArray","join","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","LabelTypography","CAPTION_2","LabelColors","SECONDARY_3","ONBACKGROUND_2","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","__assign","BODY_1","ONBACKGROUND_1","isEditedMessage","uuidv4","concat","MESSAGE_EDITED","IconTypes","SPINNER","IconColors","PRIMARY","ERROR","showMenuTrigger","MORE","CONTENT_INVERSE","isFineCopy","copyToClipboard","CONTEXT_MENU_DROPDOWN__COPY","isFineEdit","CONTEXT_MENU_DROPDOWN__EDIT","isFineResend","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDwB,SAAAA,sBAAA,CAAuBC,EAAvB,EAUhB;MATNC,SAAS,GAAAD,EAAA,CAAAC;MACTC,OAAO,GAAAF,EAAA,CAAAE;MACPC,UAAU,GAAAH,EAAA,CAAAG;MACVC,MAAM,GAAAJ,EAAA,CAAAI;MACNC,aAAa;MACbC,QAAQ,GAAAN,EAAA,CAAAM;MACRC,QAAQ,GAAAP,EAAA,CAAAO;MACRC,UAAU,GAAAR,EAAA,CAAAQ;MACVC,QAAQ,GAAAT,EAAA,CAAAS;;EAER,IAAI,CAACP,OAAD,IAAYA,OAAO,CAACQ,WAAR,KAAwB,MAAxC,EAAgD;AAC9C,IAAA,OAAO,IAAP,CAAA;AACD,GAHK;;;EAMA,IAAAC,EAAA,GAA4BC,eAAe,EAA3C;AAAA,MAAEC,SAAS,GAAAF,EAAA,CAAAE,SAAX;AAAA,MAAaC,UAAU,GAAAH,EAAA,CAAAG,UAAvB,CAAA;;AACA,EAAA,IAAAC,EAAA,GAA4CC,UAAU,CAAqBC,kBAArB,CAAtD;AAAA,MAAEC,kBAAkB,GAAAH,EAAA,CAAAG,kBAApB;AAAA,MAAsBC,iBAAiB,GAAAJ,EAAA,CAAAI,iBAAvC,CAAA;;AACN,EAAA,IAAMC,UAAU,GAAGC,MAAM,CAAC,IAAD,CAAzB,CAAA;AACA,EAAA,IAAMC,SAAS,GAAGD,MAAM,CAAC,IAAD,CAAxB,CAAA;AACA,EAAA,IAAME,cAAc,GAAGF,MAAM,CAAC,IAAD,CAA7B,CAAA;AACA,EAAA,IAAMG,aAAa,GAAGH,MAAM,CAAC,IAAD,CAA5B,CAAA;;AACM,EAAA,IAAAI,EAAA,GAAkCC,QAAQ,CAAC,EAAD,CAA1C;AAAA,MAACC,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAb;AAAA,MAAeG,eAAe,GAAAH,EAAA,CAAA,CAAA,CAA9B,CAAA;;AACA,EAAA,IAAAI,EAAA,GAAgCH,QAAQ,CAAC,KAAD,CAAxC;AAAA,MAACI,WAAW,GAAAD,EAAA,CAAA,CAAA,CAAZ;AAAA,MAAcE,cAAc,GAAAF,EAAA,CAAA,CAAA,CAA5B,CAbA;;;AAgBN,EAAA,IAAMG,MAAM,GAAG9B,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE+B,aAAxB,CAAA;AACA,EAAA,IAAMC,SAAS,GAAGC,cAAc,CAACH,MAAD,CAAhC,CAAA;AACA,EAAA,IAAMI,QAAQ,GAAGC,aAAa,CAACL,MAAD,CAA9B,CAAA;AACA,EAAA,IAAMM,MAAM,GAAGC,oBAAoB,CAACrC,OAAD,CAAnC,CAnBM;;AAsBNsC,EAAAA,SAAS,CAAC,YAAA;;;AACR,IAAA,IAAI,CAAA,CAAAxC,EAAA,GAAAoB,UAAU,KAAA,IAAV,IAAAA,UAAU,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAAA,UAAU,CAAEqB,OAAZ,MAAmB,IAAnB,IAAmBzC,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAE0C,YAArB,IAAoC,EAAxC,EAA4C;AAC1Cd,MAAAA,eAAe,CAAC;AAAEe,QAAAA,GAAG,EAAE,MAAA;AAAP,OAAD,CAAf,CAAA;AACD,KAFD,MAEO;AACLf,MAAAA,eAAe,CAAC;AAAEe,QAAAA,GAAG,EAAE,KAAA;AAAP,OAAD,CAAf,CAAA;AACD,KAAA;AACF,GANQ,EAMN,CAACC,MAAM,CAACC,UAAR,CANM,CAAT,CAAA;EAQA,IAAMC,WAAW,GAAGC,YAAY,CAAC;AAC/BD,IAAAA,WAAW,EAAE,YAAA;MACXf,cAAc,CAAC,IAAD,CAAd,CAAA;AACD,KAAA;AAH8B,GAAD,CAAhC,CAAA;AAMQ,EAAA,IAAAiB,QAAQ,GAAKC,oBAAoB,EAAA,SAAjC,CAAA;EACR,oBACEC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAEC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAN,CAAcpD,SAAd,CAAA,GAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,EAC8C,IAD9C,CAAA,EAC8C,CACvD,mCADuD,CAD9C,OAAA,CAAA,CAGTqD,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,GAAG,EAAElC,UAAAA;GAEL,eAAA8B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;AAAf,GAAA,EAEI,CAACzC,QAAD,iBACEyC,cAAA,CAAA,aAAA,CAAC,WAAD,EAAA;IACE,WAAW,EAAE,UAACK,cAAD,EAAoB;AAAA,MAAA,oBAC/BL,6BAAC,MAAD,EAAA;AACE,QAAA,SAAS,EAAC,iDADZ;AAEE,QAAA,GAAG,EAAEZ,MAAM,CAACkB,UAAP,IAAqB,EAF5B;AAGE,QAAA,GAAG,EAAElC,SAHP;AAIE,QAAA,KAAK,EAAC,MAJR;AAKE,QAAA,MAAM,EAAC,MALT;AAME,QAAA,OAAO,EAAE,YAAA;UACP,IAAI,CAACJ,kBAAL,EAAyB;YACvBqC,cAAc,EAAA,CAAA;AACf,WAAA;AACF,SAAA;OAX4B,CAAA,CAAA;KADnC;IAeE,SAAS,EAAE,UAACE,aAAD,EAAmB;AAAA,MAAA,oBAC5BP,6BAAC,SAAD,EAAA;AACE,QAAA,SAAS,EAAE5B,SADb;AAEE,QAAA,gBAAgB,EAAEA,SAFpB;AAGE,QAAA,aAAa,EAAEmC,aAHjB;AAIE,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE,KAAd;AAAqBC,UAAAA,aAAa,EAAE,KAAA;AAApC,SAAA;OAGLxC,EAAAA,iBAAiB,GAEbA,iBAAiB,CAAC;AAChByC,QAAAA,IAAI,EAAEtB,MADU;AAEhBuB,QAAAA,KAAK,EAAEJ,aAAAA;OAFQ,CAFJ,gBAQbP,cAAA,CAAA,aAAA,CAACY,oBAAD,EAAA;AACE,QAAA,IAAI,EAAExB,MADR;AAEE,QAAA,SAAS,EAAEmB,aAFb;QAGE,gBAAgB,EAAA,IAAA;AAHlB,OAAA,CAfR,CAD4B,CAAA;AAwB7B,KAAA;AAvCH,GAAA,CAHN,CAPF,eAsDEP,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,0CAAA;GAEX,EAAA,CAACzC,QAAD,iBACEyC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,+CAAA;AAAf,GAAA,eACEA,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,4DADZ;IAEE,IAAI,EAAEa,eAAe,CAACC,SAFxB;IAGE,KAAK,EAAE7D,UAAU,GAAG8D,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE,cAAAA;AAH5D,GAAA,EAMI7B,MAAM,KACJA,MAAM,CAAC8B,UAAP,IACG9B,MAAM,CAAC+B,QADV,IAEG/B,MAAM,CAAClC,MAHN,CANV,CADF,eAcE8C,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,wDADZ;IAEE,IAAI,EAAEa,eAAe,CAACO,SAFxB;IAGE,KAAK,EAAEL,WAAW,CAACM,cAAAA;AAHrB,GAAA,EAMI,CAAArE,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEsE,SAAT,KACEC,MAAM,CAACvE,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEsE,SAAV,EAAqB,GAArB,EAA0B;AAC9BE,IAAAA,MAAM,EAAE5D,UAAAA;AADsB,GAA1B,CAPZ,CAdF,CAHN,eAiCEoC,iDACOF,QAAQ,GAAE2B,QAAA,CAAA,EAAA,EAAM7B,WAAN,CAAF,GAAwB,EADvC,EAAA;AAEE,IAAA,SAAS,EAAC,kDAFZ;AAE+D,IAAA,GAAG,EAAEtB,aAAAA;AAFpE,GAAA,CAAA,eAGE0B,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,2DADZ;IAEE,IAAI,EAAEa,eAAe,CAACa,MAFxB;IAGE,KAAK,EAAEX,WAAW,CAACY,cAAAA;GAElB3E,EAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEA,OALZ,EAMG4E,eAAe,CAAC5E,OAAD,CAAf,iBACCgD,cAAA,CAAA,aAAA,CAAC,KAAD,EAAA;IACE,GAAG,EAAE6B,MAAM,EADb;IAEE,IAAI,EAAEhB,eAAe,CAACa,MAFxB;IAGE,KAAK,EAAEX,WAAW,CAACE,cAHrB;AAIE,IAAA,SAAS,EAAC,wCAAA;AAJZ,GAAA,EAMG,IAAIa,MAAJ,CAAInE,SAAS,CAACoE,cAAd,KAAA,CANH,CAPJ,CAHF,CAjCF,EAuDI,CAAC/C,SAAS,IAAIE,QAAd,kBACEc,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gDAAA;GAEXhB,EAAAA,SAAS,iBACPgB,cAAA,CAAA,aAAA,CAAC,MAAD,EAAA;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAAA;AAFT,GAAA,eAIEA,6BAAC,IAAD,EAAA;AACE,IAAA,SAAS,EAAC,yDADZ;IAEE,IAAI,EAAEgC,SAAS,CAACC,OAFlB;IAGE,SAAS,EAAEC,UAAU,CAACC,OAHxB;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC,MAAA;AALT,GAAA,CAJF,CAHN,EAkBIjD,QAAQ,iBACNc,6BAAC,IAAD,EAAA;AACE,IAAA,SAAS,EAAC,wDADZ;IAEE,IAAI,EAAEgC,SAAS,CAACI,KAFlB;IAGE,SAAS,EAAEF,UAAU,CAACE,KAHxB;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC,MAAA;AALT,GAAA,CAnBN,CAxDN,CAtDF,EA+II,CAACtC,QAAD,iBACEE,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,GAAG,EAAE3B,cAFP;AAGE,IAAA,KAAK,EAAEI,YAAAA;AAHT,GAAA,eAKEuB,6BAAC,WAAD,EAAA;IACE,WAAW,EAAE,UAACK,cAAD;AAAoB,MAAA,OAC/BgC,eAAe,CAAC;AAAErF,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoC4B,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAf,iBACEkB,cAAA,CAAA,aAAA,CAAC,UAAD,EAAA;AACE,QAAA,SAAS,EAAC,uDADZ;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,YAAA;UACPK,cAAc,EAAA,CAAA;AACf,SAAA;AANH,OAAA,eAQEL,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEgC,SAAS,CAACM,IADlB;QAEE,SAAS,EAAEJ,UAAU,CAACK,eAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CARF,CAF6B,CAAA;KADnC;IAoBE,SAAS,EAAE,UAAChC,aAAD;AAAmB,MAAA,oBAC5BP,6BAAC,SAAD,EAAA;AACE,QAAA,SAAS,EAAE3B,cADb;AAEE,QAAA,gBAAgB,EAAEA,cAFpB;AAGE,QAAA,aAAa,EAAEkC,aAHjB;QAIE,QAAQ,EAAA,IAAA;AAJV,OAAA,EAOIiC,UAAU,CAAC;AAAExF,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoC4B,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAV,iBACEkB,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,uDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;AACPyC,UAAAA,eAAe,CAACzF,OAAO,CAACA,OAAT,CAAf,CAAA;UACAuD,aAAa,EAAA,CAAA;AACd,SAAA;AALH,OAAA,EAOG5C,SAAS,CAAC+E,2BAPb,CARN,EAoBIC,UAAU,CAAC;AAAE3F,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoC4B,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAV,iBACEkB,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,uDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;AACP,UAAA,IAAI5C,QAAJ,EAAc;AACZ,YAAA,OAAA;AACD,WAAA;;UACDC,QAAQ,CAAC,IAAD,CAAR,CAAA;UACAkD,aAAa,EAAA,CAAA;AACd,SAAA;AARH,OAAA,EAUG5C,SAAS,CAACiF,2BAVb,CArBN,EAoCIC,YAAY,CAAC;AAAE7F,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoC4B,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAZ,iBACEkB,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,yDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACP7C,aAAa,CAACH,OAAD,CAAb,CAAA;UACAuD,aAAa,EAAA,CAAA;AACd,SAAA;AALH,OAAA,EAOG5C,SAAS,CAACmF,6BAPb,CArCN,EAiDIC,YAAY,CAAC;AAAE/F,QAAAA,OAAO,EAAEA,OAAX;AAAoBE,QAAAA,MAAM,EAAEA,MAA5B;AAAoC4B,QAAAA,MAAM,EAAEA,MAAAA;OAA7C,CAAZ,iBACEkB,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,yDADZ;AAEE,QAAA,OAAO,EAAE,YAAA;AACP,UAAA,IAAI5C,QAAJ,EAAc;AACZ,YAAA,OAAA;AACD,WAAA;;UACDE,UAAU,CAAC,IAAD,CAAV,CAAA;UACAiD,aAAa,EAAA,CAAA;AACd,SAAA;AARH,OAAA,EAUG5C,SAAS,CAACqF,6BAVb,CAlDN,CAD4B,CAAA;AAkE7B,KAAA;AAtFH,GAAA,CALF,CAhJN,EAkPIpE,WAAW,iBACToB,6BAAC,qBAAD,EAAA;AACE,IAAA,OAAO,EAAEhD,OADX;AAEE,IAAA,SAAS,EAAEsB,aAFb;AAGE,IAAA,QAAQ,EAAE,YAAA;MACRO,cAAc,CAAC,KAAD,CAAd,CAAA;KAJJ;AAME,IAAA,UAAU,EAAE,YAAA;MACVA,cAAc,CAAC,KAAD,CAAd,CAAA;MACAvB,UAAU,CAAC,IAAD,CAAV,CAAA;KARJ;AAUE,IAAA,QAAQ,EAAE,YAAA;MACRuB,cAAc,CAAC,KAAD,CAAd,CAAA;MACAxB,QAAQ,CAAC,IAAD,CAAR,CAAA;KAZJ;AAcE,IAAA,eAAe,EAAE,YAAA;MACfwB,cAAc,CAAC,KAAD,CAAd,CAAA;AACA4D,MAAAA,eAAe,CAACzF,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEA,OAAV,CAAf,CAAA;KAhBJ;AAkBE,IAAA,aAAa,EAAE,YAAA;MACb6B,cAAc,CAAC,KAAD,CAAd,CAAA;MACA1B,aAAa,CAACH,OAAD,CAAb,CAAA;AACD,KAAA;AArBH,GAAA,CAnPN,CADF,CAAA;AA+QD;;;;"}
package/ui/PlaceHolder.js CHANGED
@@ -1,11 +1,11 @@
1
- import '../tslib.es6-d20349ad.js';
1
+ import '../tslib.es6-38d6449a.js';
2
2
  import 'react';
3
- export { a as PlaceHolderTypes, P as default } from '../index-c3c4236f.js';
4
- import '../LocalizationContext-9976b34e.js';
3
+ export { a as PlaceHolderTypes, P as default } from '../index-a28ce5ed.js';
4
+ import '../LocalizationContext-4f852f2e.js';
5
5
  import './Icon.js';
6
- import '../index-200a8796.js';
6
+ import '../index-b02633bc.js';
7
7
  import './Loader.js';
8
- import '../stringSet-8662ec77.js';
9
- import '../index-5e61b8f6.js';
8
+ import '../stringSet-fd9dcf1e.js';
9
+ import '../index-c766d64c.js';
10
10
  import 'prop-types';
11
11
  //# sourceMappingURL=PlaceHolder.js.map
@@ -1,13 +1,13 @@
1
1
  import React__default, { useContext, useState } from 'react';
2
2
  import Icon, { IconTypes, IconColors } from './Icon.js';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-200a8796.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-b02633bc.js';
4
4
  import ImageRenderer from './ImageRenderer.js';
5
- import { a as LocalizationContext } from '../LocalizationContext-9976b34e.js';
6
- import { K as getUIKitFileTypes, h as getClassName, r as isUserMessage, n as isThumbnailMessage, z as isVideo, L as isGif, l as isFileMessage, y as isSupportedFileView, J as getUIKitFileType, t as truncateString } from '../index-89cd6e36.js';
5
+ import { a as LocalizationContext } from '../LocalizationContext-4f852f2e.js';
6
+ import { K as getUIKitFileTypes, h as getClassName, r as isUserMessage, n as isThumbnailMessage, E as isVideo, L as isGif, l as isFileMessage, D as isSupportedFileView, J as getUIKitFileType, t as truncateString } from '../index-e1f156d0.js';
7
7
  import 'prop-types';
8
- import '../stringSet-8662ec77.js';
9
- import '../tslib.es6-d20349ad.js';
10
- import '../index-5e61b8f6.js';
8
+ import '../stringSet-fd9dcf1e.js';
9
+ import '../tslib.es6-38d6449a.js';
10
+ import '../index-c766d64c.js';
11
11
  import '../utils/message/getOutgoingMessageState.js';
12
12
 
13
13
  function QuoteMessage(_a) {
@@ -41,6 +41,9 @@ function QuoteMessage(_a) {
41
41
  key: parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId,
42
42
  onClick: function () {
43
43
  if (onClick) onClick();
44
+ },
45
+ onTouchEnd: function () {
46
+ if (onClick) onClick();
44
47
  }
45
48
  }, /*#__PURE__*/React__default.createElement("div", {
46
49
  className: "sendbird-quote-message__replied-to"
@@ -1 +1 @@
1
- {"version":3,"file":"QuoteMessage.js","sources":["../../src/ui/QuoteMessage/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ImageRenderer from '../ImageRenderer';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n getClassName,\n getUIKitFileType,\n getUIKitFileTypes,\n isFileMessage,\n isGif,\n isSupportedFileView,\n isThumbnailMessage,\n isUserMessage,\n isVideo,\n truncateString,\n} from '../../utils';\ninterface Props {\n message?: UserMessage | FileMessage;\n userId?: string;\n isByMe?: boolean;\n className?: string | Array<string>;\n onClick?: () => void;\n}\n\nexport default function QuoteMessage({\n message,\n userId = '',\n isByMe = false,\n className,\n onClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n\n const { parentMessage } = message;\n const parentMessageSender = (parentMessage as UserMessage | FileMessage)?.sender;\n const parentMessageSenderNickname = (userId === parentMessageSender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : parentMessageSender?.nickname;\n const parentMessageUrl = (parentMessage as FileMessage)?.url || '';\n const parentMessageType = (parentMessage as FileMessage)?.type;\n const currentMessageSenderNickname = (userId === message?.sender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : message?.sender?.nickname;\n\n const [isThumbnailLoaded, setThumbnailLoaded] = useState(false);\n const uikitFileTypes = getUIKitFileTypes();\n const splitFileName = (parentMessage as FileMessage)?.name ? (parentMessage as FileMessage).name.split('/') : parentMessageUrl.split('/');\n\n return (\n <div\n className={getClassName([className, 'sendbird-quote-message', isByMe ? 'outgoing' : 'incoming'])}\n key={parentMessage?.messageId}\n onClick={() => { if (onClick) onClick() }}\n >\n <div className=\"sendbird-quote-message__replied-to\">\n <Icon\n className=\"sendbird-quote-message__replied-to__icon\"\n type={IconTypes.REPLY}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"12px\"\n height=\"12px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-to__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${currentMessageSenderNickname} ${stringSet.QUOTED_MESSAGE__REPLIED_TO} ${parentMessageSenderNickname}`}\n </Label>\n </div>\n <div className=\"sendbird-quote-message__replied-message\">\n {/* text message */}\n {(isUserMessage(parentMessage as UserMessage) && (parentMessage as UserMessage)?.message?.length > 0) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {(parentMessage as UserMessage)?.message}\n </Label>\n </div>\n )}\n {/* thumbnail message */}\n {(isThumbnailMessage(parentMessage as FileMessage) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message\">\n <ImageRenderer\n className=\"sendbird-quote-message__replied-message__thumbnail-message__image\"\n url={parentMessageUrl}\n alt={parentMessageType}\n width=\"144px\"\n height=\"108px\"\n onLoad={() => setThumbnailLoaded(true)}\n defaultComponent={(\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder__icon\">\n <Icon\n type={isVideo(parentMessageType) ? IconTypes.PLAY : IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"22px\"\n height=\"22px\"\n />\n </div>\n </div>\n )}\n />\n {(isVideo(parentMessageType) && !((parentMessage as FileMessage)?.thumbnails?.length > 0)) && (\n <>\n <video className=\"sendbird-quote-message__replied-message__thumbnail-message__video\">\n <source src={parentMessageUrl} type={parentMessageType} />\n </video>\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.PLAY}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n </>\n )}\n {(isThumbnailLoaded && isGif(parentMessageType)) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n )}\n </div>\n )}\n {/* file message */}\n {(isFileMessage(parentMessage as FileMessage) && !isSupportedFileView((parentMessage as FileMessage).type) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__file-message\">\n <Icon\n className=\"sendbird-quote-message__replied-message__file-message__type-icon\"\n type={{\n [uikitFileTypes.IMAGE]: IconTypes.PHOTO,\n [uikitFileTypes.VIDEO]: IconTypes.PLAY,\n [uikitFileTypes.AUDIO]: IconTypes.FILE_AUDIO,\n [uikitFileTypes.GIF]: IconTypes.GIF,\n [uikitFileTypes.OTHERS]: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(parentMessageType)]}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"16px\"\n height=\"16px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-message__file-message__file-name\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {truncateString(splitFileName[splitFileName.length - 1])}\n </Label>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["QuoteMessage","_a","message","_g","userId","_h","isByMe","className","onClick","stringSet","useContext","LocalizationContext","parentMessage","parentMessageSender","sender","parentMessageSenderNickname","QUOTED_MESSAGE__CURRENT_USER","nickname","parentMessageUrl","url","parentMessageType","type","currentMessageSenderNickname","_c","_d","_j","useState","isThumbnailLoaded","setThumbnailLoaded","uikitFileTypes","getUIKitFileTypes","splitFileName","name","split","React","getClassName","messageId","IconTypes","REPLY","IconColors","ON_BACKGROUND_3","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_3","concat","QUOTED_MESSAGE__REPLIED_TO","isUserMessage","_e","length","BODY_2","ONBACKGROUND_1","isThumbnailMessage","isVideo","PLAY","PHOTO","ON_BACKGROUND_2","_f","thumbnails","GRAY","isGif","GIF","isFileMessage","isSupportedFileView","_b","IMAGE","VIDEO","AUDIO","FILE_AUDIO","OTHERS","FILE_DOCUMENT","getUIKitFileType","truncateString"],"mappings":"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"}
1
+ {"version":3,"file":"QuoteMessage.js","sources":["../../src/ui/QuoteMessage/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ImageRenderer from '../ImageRenderer';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n getClassName,\n getUIKitFileType,\n getUIKitFileTypes,\n isFileMessage,\n isGif,\n isSupportedFileView,\n isThumbnailMessage,\n isUserMessage,\n isVideo,\n truncateString,\n} from '../../utils';\ninterface Props {\n message?: UserMessage | FileMessage;\n userId?: string;\n isByMe?: boolean;\n className?: string | Array<string>;\n onClick?: () => void;\n}\n\nexport default function QuoteMessage({\n message,\n userId = '',\n isByMe = false,\n className,\n onClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n\n const { parentMessage } = message;\n const parentMessageSender = (parentMessage as UserMessage | FileMessage)?.sender;\n const parentMessageSenderNickname = (userId === parentMessageSender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : parentMessageSender?.nickname;\n const parentMessageUrl = (parentMessage as FileMessage)?.url || '';\n const parentMessageType = (parentMessage as FileMessage)?.type;\n const currentMessageSenderNickname = (userId === message?.sender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : message?.sender?.nickname;\n\n const [isThumbnailLoaded, setThumbnailLoaded] = useState(false);\n const uikitFileTypes = getUIKitFileTypes();\n const splitFileName = (parentMessage as FileMessage)?.name ? (parentMessage as FileMessage).name.split('/') : parentMessageUrl.split('/');\n\n return (\n <div\n className={getClassName([className, 'sendbird-quote-message', isByMe ? 'outgoing' : 'incoming'])}\n key={parentMessage?.messageId}\n onClick={() => { if (onClick) onClick() }}\n onTouchEnd={() => { if (onClick) onClick() }}\n >\n <div className=\"sendbird-quote-message__replied-to\">\n <Icon\n className=\"sendbird-quote-message__replied-to__icon\"\n type={IconTypes.REPLY}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"12px\"\n height=\"12px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-to__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${currentMessageSenderNickname} ${stringSet.QUOTED_MESSAGE__REPLIED_TO} ${parentMessageSenderNickname}`}\n </Label>\n </div>\n <div className=\"sendbird-quote-message__replied-message\">\n {/* text message */}\n {(isUserMessage(parentMessage as UserMessage) && (parentMessage as UserMessage)?.message?.length > 0) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {(parentMessage as UserMessage)?.message}\n </Label>\n </div>\n )}\n {/* thumbnail message */}\n {(isThumbnailMessage(parentMessage as FileMessage) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message\">\n <ImageRenderer\n className=\"sendbird-quote-message__replied-message__thumbnail-message__image\"\n url={parentMessageUrl}\n alt={parentMessageType}\n width=\"144px\"\n height=\"108px\"\n onLoad={() => setThumbnailLoaded(true)}\n defaultComponent={(\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder__icon\">\n <Icon\n type={isVideo(parentMessageType) ? IconTypes.PLAY : IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"22px\"\n height=\"22px\"\n />\n </div>\n </div>\n )}\n />\n {(isVideo(parentMessageType) && !((parentMessage as FileMessage)?.thumbnails?.length > 0)) && (\n <>\n <video className=\"sendbird-quote-message__replied-message__thumbnail-message__video\">\n <source src={parentMessageUrl} type={parentMessageType} />\n </video>\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.PLAY}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n </>\n )}\n {(isThumbnailLoaded && isGif(parentMessageType)) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n )}\n </div>\n )}\n {/* file message */}\n {(isFileMessage(parentMessage as FileMessage) && !isSupportedFileView((parentMessage as FileMessage).type) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__file-message\">\n <Icon\n className=\"sendbird-quote-message__replied-message__file-message__type-icon\"\n type={{\n [uikitFileTypes.IMAGE]: IconTypes.PHOTO,\n [uikitFileTypes.VIDEO]: IconTypes.PLAY,\n [uikitFileTypes.AUDIO]: IconTypes.FILE_AUDIO,\n [uikitFileTypes.GIF]: IconTypes.GIF,\n [uikitFileTypes.OTHERS]: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(parentMessageType)]}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"16px\"\n height=\"16px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-message__file-message__file-name\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {truncateString(splitFileName[splitFileName.length - 1])}\n </Label>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["QuoteMessage","_a","message","_g","userId","_h","isByMe","className","onClick","stringSet","useContext","LocalizationContext","parentMessage","parentMessageSender","sender","parentMessageSenderNickname","QUOTED_MESSAGE__CURRENT_USER","nickname","parentMessageUrl","url","parentMessageType","type","currentMessageSenderNickname","_c","_d","_j","useState","isThumbnailLoaded","setThumbnailLoaded","uikitFileTypes","getUIKitFileTypes","splitFileName","name","split","React","getClassName","messageId","IconTypes","REPLY","IconColors","ON_BACKGROUND_3","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_3","concat","QUOTED_MESSAGE__REPLIED_TO","isUserMessage","_e","length","BODY_2","ONBACKGROUND_1","isThumbnailMessage","isVideo","PLAY","PHOTO","ON_BACKGROUND_2","_f","thumbnails","GRAY","isGif","GIF","isFileMessage","isSupportedFileView","_b","IMAGE","VIDEO","AUDIO","FILE_AUDIO","OTHERS","FILE_DOCUMENT","getUIKitFileType","truncateString"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { l as isFileMessage, m as isImageMessage, n as isThumbnailMessage, o as isAudioMessage, h as getClassName, p as isGifMessage, q as isVideoMessage, r as isUserMessage } from '../index-89cd6e36.js';
2
+ import { l as isFileMessage, m as isImageMessage, n as isThumbnailMessage, o as isAudioMessage, h as getClassName, p as isGifMessage, q as isVideoMessage, r as isUserMessage } from '../index-e1f156d0.js';
3
3
  import Icon, { IconTypes, IconColors } from './Icon.js';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-200a8796.js';
5
- import { a as LocalizationContext } from '../LocalizationContext-9976b34e.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-b02633bc.js';
5
+ import { a as LocalizationContext } from '../LocalizationContext-4f852f2e.js';
6
6
  import ImageRenderer from './ImageRenderer.js';
7
- import '../tslib.es6-d20349ad.js';
7
+ import '../tslib.es6-38d6449a.js';
8
8
  import '../utils/message/getOutgoingMessageState.js';
9
9
  import 'prop-types';
10
- import '../stringSet-8662ec77.js';
11
- import '../index-5e61b8f6.js';
10
+ import '../stringSet-fd9dcf1e.js';
11
+ import '../index-c766d64c.js';
12
12
 
13
13
  var componentClassname = 'sendbird-quote_message_input__avatar';
14
14
  function QuoteMessageThumbnail(_a) {
@@ -1,8 +1,8 @@
1
- import { a as __spreadArray } from '../tslib.es6-d20349ad.js';
1
+ import { a as __spreadArray } from '../tslib.es6-38d6449a.js';
2
2
  import React__default from 'react';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-200a8796.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-b02633bc.js';
4
4
  import 'prop-types';
5
- import '../stringSet-8662ec77.js';
5
+ import '../stringSet-fd9dcf1e.js';
6
6
 
7
7
  var ReactionBadge = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
8
8
  var _a = props.className,
@@ -35,6 +35,7 @@ var ReactionBadge = /*#__PURE__*/React__default.forwardRef(function (props, ref)
35
35
  ref: ref,
36
36
  onClick: onClick,
37
37
  onKeyDown: onClick,
38
+ onTouchEnd: onClick,
38
39
  tabIndex: 0
39
40
  }, /*#__PURE__*/React__default.createElement("div", {
40
41
  className: "sendbird-reaction-badge__inner"
@@ -1 +1 @@
1
- {"version":3,"file":"ReactionBadge.js","sources":["../../src/ui/ReactionBadge/index.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';\n\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface ReactionBadgeProps {\n className?: string | Array<string>;\n children: ReactElement;\n count?: number | string;\n isAdd?: boolean;\n selected?: boolean;\n onClick?: (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n}\nconst ReactionBadge = React.forwardRef((props: ReactionBadgeProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className = '',\n children,\n count = '',\n isAdd = false,\n selected = false,\n onClick = () => {/* noop */},\n } = props;\n\n const getClassNameTail = (): string => {\n if (selected && !isAdd) {\n return '--selected';\n }\n if (isAdd) {\n return '--is-add';\n }\n return '';\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-badge${getClassNameTail()}`,\n ].join(' ')}\n role=\"button\"\n ref={ref}\n onClick={onClick}\n onKeyDown={onClick}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-badge__inner\">\n <div className=\"sendbird-reaction-badge__inner__icon\">\n {children}\n </div>\n <Label\n className={(children && count) && 'sendbird-reaction-badge__inner__count'}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_1}\n >\n {count}\n </Label>\n </div>\n </div>\n );\n});\n\nexport default ReactionBadge;\n"],"names":["ReactionBadge","React","forwardRef","props","ref","_a","className","children","_b","count","_c","isAdd","_d","selected","_e","onClick","getClassNameTail","__spreadArray","Array","isArray","concat","join","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_1"],"mappings":";;;;;;AAcMA,IAAAA,aAAa,gBAAGC,cAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA4BC,GAA5B,EAA0D;AAE7F,EAAA,IAAAC,EAAA,GAMEF,KAAK,CANOG,SAAd;MAAAA,SAAS,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAEA,EAAd;AAAA,MACAE,QAAQ,GAKNJ,KAAK,CALCI,QADR;AAAA,MAEAC,EAIE,GAAAL,KAAK,CAJGM,KAFV;MAEAA,KAAK,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAEA,EAFV;AAAA,MAGAE,EAGE,GAAAP,KAAK,MANP;MAGAQ,KAAK,mBAAG,QAAKD,EAHb;AAAA,MAIAE,EAEE,GAAAT,KAAK,CAFSU,QAJhB;MAIAA,QAAQ,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA,EAJhB;AAAA,MAKAE,EACE,GAAAX,KAAK,CADqBY,OAL5B;MAKAA,OAAO,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,YAAA,EAAA,GAAkBA,EAL5B,CAAA;;EAQF,IAAME,gBAAgB,GAAG,YAAA;AACvB,IAAA,IAAIH,QAAQ,IAAI,CAACF,KAAjB,EAAwB;AACtB,MAAA,OAAO,YAAP,CAAA;AACD,KAAA;;AACD,IAAA,IAAIA,KAAJ,EAAW;AACT,MAAA,OAAO,UAAP,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,EAAP,CAAA;GAPF,CAAA;;EAUA,oBACEV,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAEgB,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAN,CAAcb,SAAd,CAAA,GAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,EAC8C,IAD9C,CAAA,EAC8C,CACvD,yBAA0Bc,CAAAA,MAA1B,CAA0BJ,gBAAgB,EAA1C,CADuD,CAD9C,EAGT,KAHS,CAAA,CAGTK,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,IAAI,EAAC,QALP;AAME,IAAA,GAAG,EAAEjB,GANP;AAOE,IAAA,OAAO,EAAEW,OAPX;AAQE,IAAA,SAAS,EAAEA,OARb;AASE,IAAA,QAAQ,EAAE,CAAA;GAEV,eAAAd,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gCAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,sCAAA;AAAf,GAAA,EACGM,QADH,CADF,eAIEN,cAAA,CAAA,aAAA,CAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAGM,QAAQ,IAAIE,KAAb,IAAuB,uCADpC;IAEE,IAAI,EAAEa,eAAe,CAACC,SAFxB;IAGE,KAAK,EAAEC,WAAW,CAACC,cAAAA;GAElBhB,EAAAA,KALH,CAJF,CAXF,CADF,CAAA;AA0BD,CA9CqB;;;;"}
1
+ {"version":3,"file":"ReactionBadge.js","sources":["../../src/ui/ReactionBadge/index.tsx"],"sourcesContent":["import React, {\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n RefObject,\n TouchEvent,\n} from 'react';\n\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface ReactionBadgeProps {\n className?: string | Array<string>;\n children: ReactElement;\n count?: number | string;\n isAdd?: boolean;\n selected?: boolean;\n onClick?: (\n e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement> | TouchEvent<HTMLDivElement>\n ) => void;\n}\nconst ReactionBadge = React.forwardRef((props: ReactionBadgeProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className = '',\n children,\n count = '',\n isAdd = false,\n selected = false,\n onClick = () => {/* noop */},\n } = props;\n\n const getClassNameTail = (): string => {\n if (selected && !isAdd) {\n return '--selected';\n }\n if (isAdd) {\n return '--is-add';\n }\n return '';\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-badge${getClassNameTail()}`,\n ].join(' ')}\n role=\"button\"\n ref={ref}\n onClick={onClick}\n onKeyDown={onClick}\n onTouchEnd={onClick}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-badge__inner\">\n <div className=\"sendbird-reaction-badge__inner__icon\">\n {children}\n </div>\n <Label\n className={(children && count) && 'sendbird-reaction-badge__inner__count'}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_1}\n >\n {count}\n </Label>\n </div>\n </div>\n );\n});\n\nexport default ReactionBadge;\n"],"names":["ReactionBadge","React","forwardRef","props","ref","_a","className","children","_b","count","_c","isAdd","_d","selected","_e","onClick","getClassNameTail","__spreadArray","Array","isArray","concat","join","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_1"],"mappings":";;;;;;AAsBMA,IAAAA,aAAa,gBAAGC,cAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA4BC,GAA5B,EAA0D;AAE7F,EAAA,IAAAC,EAAA,GAMEF,KAAK,CANOG,SAAd;MAAAA,SAAS,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAEA,EAAd;AAAA,MACAE,QAAQ,GAKNJ,KAAK,CALCI,QADR;AAAA,MAEAC,EAIE,GAAAL,KAAK,CAJGM,KAFV;MAEAA,KAAK,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAEA,EAFV;AAAA,MAGAE,EAGE,GAAAP,KAAK,MANP;MAGAQ,KAAK,mBAAG,QAAKD,EAHb;AAAA,MAIAE,EAEE,GAAAT,KAAK,CAFSU,QAJhB;MAIAA,QAAQ,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA,EAJhB;AAAA,MAKAE,EACE,GAAAX,KAAK,CADqBY,OAL5B;MAKAA,OAAO,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,YAAA,EAAA,GAAkBA,EAL5B,CAAA;;EAQF,IAAME,gBAAgB,GAAG,YAAA;AACvB,IAAA,IAAIH,QAAQ,IAAI,CAACF,KAAjB,EAAwB;AACtB,MAAA,OAAO,YAAP,CAAA;AACD,KAAA;;AACD,IAAA,IAAIA,KAAJ,EAAW;AACT,MAAA,OAAO,UAAP,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,EAAP,CAAA;GAPF,CAAA;;EAUA,oBACEV,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAEgB,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAN,CAAcb,SAAd,CAAA,GAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,EAC8C,IAD9C,CAAA,EAC8C,CACvD,yBAA0Bc,CAAAA,MAA1B,CAA0BJ,gBAAgB,EAA1C,CADuD,CAD9C,EAGT,KAHS,CAAA,CAGTK,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,IAAI,EAAC,QALP;AAME,IAAA,GAAG,EAAEjB,GANP;AAOE,IAAA,OAAO,EAAEW,OAPX;AAQE,IAAA,SAAS,EAAEA,OARb;AASE,IAAA,UAAU,EAAEA,OATd;AAUE,IAAA,QAAQ,EAAE,CAAA;GAEV,eAAAd,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gCAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,sCAAA;AAAf,GAAA,EACGM,QADH,CADF,eAIEN,cAAA,CAAA,aAAA,CAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAGM,QAAQ,IAAIE,KAAb,IAAuB,uCADpC;IAEE,IAAI,EAAEa,eAAe,CAACC,SAFxB;IAGE,KAAK,EAAEC,WAAW,CAACC,cAAAA;GAElBhB,EAAAA,KALH,CAJF,CAZF,CADF,CAAA;AA2BD,CA/CqB;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as __spreadArray } from '../tslib.es6-d20349ad.js';
1
+ import { a as __spreadArray } from '../tslib.es6-38d6449a.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  var ReactionButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
@@ -22,6 +22,12 @@ var ReactionButton = /*#__PURE__*/React__default.forwardRef(function (props, ref
22
22
  onKeyDown: function (e) {
23
23
  return onClick(e);
24
24
  },
25
+ onTouchEnd: function (e) {
26
+ onClick(e); // to stop longpress
27
+
28
+ e.stopPropagation();
29
+ e.nativeEvent.stopImmediatePropagation();
30
+ },
25
31
  tabIndex: 0
26
32
  }, /*#__PURE__*/React__default.createElement("div", {
27
33
  className: "sendbird-reaction-button__inner"
@@ -1 +1 @@
1
- {"version":3,"file":"ReactionButton.js","sources":["../../src/ui/ReactionButton/index.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';\n\nimport './index.scss';\n\nexport interface ReactionButtonProps {\n children: ReactElement;\n className?: string | Array<string>;\n width?: string | number;\n height?: string | number;\n selected?: boolean;\n onClick?: (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n}\nconst ReactionButton = React.forwardRef((props: ReactionButtonProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className,\n width,\n height,\n selected,\n onClick,\n children,\n } = props;\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-button${selected ? '--selected' : ''}`,\n ].join(' ')}\n ref={ref}\n role=\"button\"\n style={{ width, height }}\n onClick={(e) => onClick(e)}\n onKeyDown={(e) => onClick(e)}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-button__inner\">\n {children}\n </div>\n </div>\n );\n});\n\nexport default ReactionButton;\n"],"names":["ReactionButton","React","forwardRef","props","ref","className","width","height","selected","onClick","children","__spreadArray","Array","isArray","concat","join","e"],"mappings":";;;AAYMA,IAAAA,cAAc,gBAAGC,cAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA6BC,GAA7B,EAA2D;AAE/F,EAAA,IAAAC,SAAS,GAMPF,KAAK,CAAAE,SANP;AAAA,MACAC,KAAK,GAKHH,KAAK,CALFG,KADL;AAAA,MAEAC,MAAM,GAIJJ,KAAK,CAAAI,MANP;AAAA,MAGAC,QAAQ,GAGNL,KAAK,CAHCK,QAHR;AAAA,MAIAC,OAAO,GAELN,KAAK,CAAAM,OANP;AAAA,MAKAC,QAAQ,GACNP,KAAK,SANP,CAAA;EAQF,oBACEF,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAEU,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAN,CAAcR,SAAd,CAA2BA,GAAAA,SAA3B,GAAuC,CAACA,SAAD,CADlC,EAC8C,IAD9C,CAAA,EAC8C,CACvD,0BAA2BS,CAAAA,MAA3B,CAA2BN,QAAQ,GAAG,YAAH,GAAkB,EAArD,CADuD,CAD9C,EAGT,KAHS,CAAA,CAGTO,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,GAAG,EAAEX,GALP;AAME,IAAA,IAAI,EAAC,QANP;AAOE,IAAA,KAAK,EAAE;AAAEE,MAAAA,KAAK,EAAAA,KAAP;AAASC,MAAAA,MAAM,EAAAA,MAAAA;KAPxB;IAQE,OAAO,EAAE,UAACS,CAAD,EAAE;MAAK,OAAAP,OAAO,CAACO,CAAD,CAAP,CAAA;KARlB;IASE,SAAS,EAAE,UAACA,CAAD,EAAO;MAAA,OAAAP,OAAO,CAACO,CAAD,CAAP,CAAA;KATpB;AAUE,IAAA,QAAQ,EAAE,CAAA;GAEV,eAAAf,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,iCAAA;GACZS,EAAAA,QADH,CAZF,CADF,CAAA;AAkBD,CA5BsB;;;;"}
1
+ {"version":3,"file":"ReactionButton.js","sources":["../../src/ui/ReactionButton/index.tsx"],"sourcesContent":["import React, {\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n RefObject,\n TouchEvent,\n} from 'react';\n\nimport './index.scss';\n\nexport interface ReactionButtonProps {\n children: ReactElement;\n className?: string | Array<string>;\n width?: string | number;\n height?: string | number;\n selected?: boolean;\n onClick?: (\n e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement> | TouchEvent<HTMLDivElement>\n ) => void;\n}\nconst ReactionButton = React.forwardRef((props: ReactionButtonProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className,\n width,\n height,\n selected,\n onClick,\n children,\n } = props;\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-button${selected ? '--selected' : ''}`,\n ].join(' ')}\n ref={ref}\n role=\"button\"\n style={{ width, height }}\n onClick={(e) => onClick(e)}\n onKeyDown={(e) => onClick(e)}\n onTouchEnd={(e) => {\n onClick(e);\n // to stop longpress\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n }}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-button__inner\">\n {children}\n </div>\n </div>\n );\n});\n\nexport default ReactionButton;\n"],"names":["ReactionButton","React","forwardRef","props","ref","className","width","height","selected","onClick","children","__spreadArray","Array","isArray","concat","join","e","stopPropagation","nativeEvent","stopImmediatePropagation"],"mappings":";;;AAoBMA,IAAAA,cAAc,gBAAGC,cAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA6BC,GAA7B,EAA2D;AAE/F,EAAA,IAAAC,SAAS,GAMPF,KAAK,CAAAE,SANP;AAAA,MACAC,KAAK,GAKHH,KAAK,CALFG,KADL;AAAA,MAEAC,MAAM,GAIJJ,KAAK,CAAAI,MANP;AAAA,MAGAC,QAAQ,GAGNL,KAAK,CAHCK,QAHR;AAAA,MAIAC,OAAO,GAELN,KAAK,CAAAM,OANP;AAAA,MAKAC,QAAQ,GACNP,KAAK,SANP,CAAA;EAQF,oBACEF,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAEU,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAN,CAAcR,SAAd,CAA2BA,GAAAA,SAA3B,GAAuC,CAACA,SAAD,CADlC,EAC8C,IAD9C,CAAA,EAC8C,CACvD,0BAA2BS,CAAAA,MAA3B,CAA2BN,QAAQ,GAAG,YAAH,GAAkB,EAArD,CADuD,CAD9C,EAGT,KAHS,CAAA,CAGTO,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,GAAG,EAAEX,GALP;AAME,IAAA,IAAI,EAAC,QANP;AAOE,IAAA,KAAK,EAAE;AAAEE,MAAAA,KAAK,EAAAA,KAAP;AAASC,MAAAA,MAAM,EAAAA,MAAAA;KAPxB;IAQE,OAAO,EAAE,UAACS,CAAD,EAAO;MAAA,OAAAP,OAAO,CAACO,CAAD,CAAP,CAAA;KARlB;IASE,SAAS,EAAE,UAACA,CAAD,EAAE;MAAK,OAAAP,OAAO,CAACO,CAAD,CAAP,CAAA;KATpB;IAUE,UAAU,EAAE,UAACA,CAAD,EAAE;AACZP,MAAAA,OAAO,CAACO,CAAD,CAAP,CADY;;AAGZA,MAAAA,CAAC,CAACC,eAAF,EAAA,CAAA;MACAD,CAAC,CAACE,WAAF,CAAcC,wBAAd,EAAA,CAAA;KAdJ;AAgBE,IAAA,QAAQ,EAAE,CAAA;GAEV,eAAAlB,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,iCAAA;GACZS,EAAAA,QADH,CAlBF,CADF,CAAA;AAwBD,CAlCsB;;;;"}
package/ui/SortByRow.js CHANGED
@@ -1,6 +1,6 @@
1
- import { a as __spreadArray } from '../tslib.es6-d20349ad.js';
1
+ import { a as __spreadArray } from '../tslib.es6-38d6449a.js';
2
2
  import React__default from 'react';
3
- import { u as uuidv4 } from '../uuid-e5bc1634.js';
3
+ import { u as uuidv4 } from '../uuid-11fdaf7d.js';
4
4
 
5
5
  var componentClassName = 'sendbird-sort-by-row';
6
6
  function SortByRow(_a) {
package/ui/TextButton.js CHANGED
@@ -1,6 +1,6 @@
1
- import { a as __spreadArray } from '../tslib.es6-d20349ad.js';
1
+ import { a as __spreadArray } from '../tslib.es6-38d6449a.js';
2
2
  import React__default from 'react';
3
- import { C as Colors, c as changeColorToClassName } from '../color-511dde29.js';
3
+ import { C as Colors, c as changeColorToClassName } from '../color-d2a15055.js';
4
4
 
5
5
  var TextButton = function (_a) {
6
6
  var _b = _a.className,
@@ -1,14 +1,14 @@
1
1
  import React__default, { useContext, useMemo } from 'react';
2
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-200a8796.js';
3
- import { h as getClassName, d as isEditedMessage } from '../index-89cd6e36.js';
4
- import { a as LocalizationContext } from '../LocalizationContext-9976b34e.js';
5
- import { u as uuidv4 } from '../uuid-e5bc1634.js';
2
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-b02633bc.js';
3
+ import { h as getClassName, d as isEditedMessage } from '../index-e1f156d0.js';
4
+ import { a as LocalizationContext } from '../LocalizationContext-4f852f2e.js';
5
+ import { u as uuidv4 } from '../uuid-11fdaf7d.js';
6
6
  import Word from './Word.js';
7
7
  import 'prop-types';
8
- import '../stringSet-8662ec77.js';
9
- import '../tslib.es6-d20349ad.js';
8
+ import '../stringSet-fd9dcf1e.js';
9
+ import '../tslib.es6-38d6449a.js';
10
10
  import '../utils/message/getOutgoingMessageState.js';
11
- import '../index-5e61b8f6.js';
11
+ import '../index-c766d64c.js';
12
12
  import './LinkLabel.js';
13
13
  import './MentionLabel.js';
14
14
  import './ContextMenu.js';
@@ -16,10 +16,11 @@ import 'react-dom';
16
16
  import './SortByRow.js';
17
17
  import './UserProfile.js';
18
18
  import '../withSendbird.js';
19
- import '../_rollupPluginBabelHelpers-a72165e4.js';
19
+ import '../_rollupPluginBabelHelpers-42595172.js';
20
+ import '../UserProfileContext-32f70da9.js';
20
21
  import '../sendbirdSelectors.js';
21
- import '../topics-0752cb33.js';
22
- import '../utils-5569d95d.js';
22
+ import '../topics-954a5dbc.js';
23
+ import '../utils-80e9e20d.js';
23
24
  import './Avatar.js';
24
25
  import './ImageRenderer.js';
25
26
  import './Icon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"TextMessageItemBody.js","sources":["../../src/ui/TextMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useMemo } from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { getClassName, isEditedMessage } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport uuidv4 from '../../utils/uuid';\nimport Word from '../Word';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n}\n\nexport default function TextMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const isMessageMentioned = isMentionEnabled && message?.mentionedMessageTemplate?.length > 0 && message?.mentionedUsers?.length > 0;\n const sentences: Array<Array<string>> = useMemo(() => {\n return message?.mentionedMessageTemplate?.split(/\\n/).map((sentence) => sentence.split(/\\s/));\n }, [message?.mentionedMessageTemplate]);\n return (\n <Label\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n <div className={getClassName([\n className,\n 'sendbird-text-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n {\n isMessageMentioned\n ? (\n sentences.map((sentence, index) => {\n return [\n sentence.map((word) => {\n return (\n <Word\n key={uuidv4()}\n word={word}\n message={message}\n isByMe={isByMe}\n />\n );\n }),\n sentences?.[index + 1] ? <br /> : null,\n ]\n })\n )\n : message?.message\n }\n {\n isEditedMessage(message) && (\n <Label\n className=\"sendbird-text-message-item-body__message edited\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_2 : LabelColors.ONBACKGROUND_2}\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>\n )\n }\n </div>\n </Label>\n );\n}\n"],"names":["TextMessageItemBody","_a","className","message","_e","isByMe","_f","mouseHover","_g","isMentionEnabled","_h","isReactionEnabled","stringSet","useContext","LocalizationContext","isMessageMentioned","_b","mentionedMessageTemplate","length","_c","mentionedUsers","sentences","useMemo","split","map","sentence","React","LabelTypography","BODY_1","LabelColors","ONCONTENT_1","ONBACKGROUND_1","getClassName","_d","reactions","index","word","uuidv4","isEditedMessage","ONCONTENT_2","ONBACKGROUND_2","concat","MESSAGE_EDITED"],"mappings":"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"}
1
+ {"version":3,"file":"TextMessageItemBody.js","sources":["../../src/ui/TextMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useMemo } from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { getClassName, isEditedMessage } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport uuidv4 from '../../utils/uuid';\nimport Word from '../Word';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n}\n\nexport default function TextMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const isMessageMentioned = isMentionEnabled && message?.mentionedMessageTemplate?.length > 0 && message?.mentionedUsers?.length > 0;\n const sentences: Array<Array<string>> = useMemo(() => {\n return message?.mentionedMessageTemplate?.split(/\\n/).map((sentence) => sentence.split(/\\s/));\n }, [message?.mentionedMessageTemplate]);\n return (\n <Label\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n <div className={getClassName([\n className,\n 'sendbird-text-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n {\n isMessageMentioned\n ? (\n sentences.map((sentence, index) => {\n return [\n sentence.map((word) => {\n return (\n <Word\n key={uuidv4()}\n word={word}\n message={message}\n isByMe={isByMe}\n />\n );\n }),\n sentences?.[index + 1] ? <br /> : null,\n ]\n })\n )\n : message?.message\n }\n {\n isEditedMessage(message) && (\n <Label\n className=\"sendbird-text-message-item-body__message edited\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_2 : LabelColors.ONBACKGROUND_2}\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>\n )\n }\n </div>\n </Label>\n );\n}\n"],"names":["TextMessageItemBody","_a","className","message","_e","isByMe","_f","mouseHover","_g","isMentionEnabled","_h","isReactionEnabled","stringSet","useContext","LocalizationContext","isMessageMentioned","_b","mentionedMessageTemplate","length","_c","mentionedUsers","sentences","useMemo","split","map","sentence","React","LabelTypography","BODY_1","LabelColors","ONCONTENT_1","ONBACKGROUND_1","getClassName","_d","reactions","index","word","uuidv4","isEditedMessage","ONCONTENT_2","ONBACKGROUND_2","concat","MESSAGE_EDITED"],"mappings":"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"}