@sendbird/uikit-react 3.2.6 → 3.3.0-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 (529) hide show
  1. package/App.js +163 -71
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +57 -0
  4. package/Channel/components/ChannelHeader.js +18 -43
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +28 -23
  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 +49 -24
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +21 -16
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +30 -32
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +16 -16
  17. package/Channel/components/SuggestedMentionList.js +54 -48
  18. package/Channel/components/SuggestedMentionList.js.map +1 -1
  19. package/Channel/components/TypingIndicator.js +14 -14
  20. package/Channel/components/UnreadCount.js +4 -4
  21. package/Channel/context.js +13 -13
  22. package/Channel.js +35 -24
  23. package/Channel.js.map +1 -1
  24. package/ChannelList/components/AddChannel.js +14 -14
  25. package/ChannelList/components/ChannelListHeader.js +7 -7
  26. package/ChannelList/components/ChannelListUI.js +28 -27
  27. package/ChannelList/components/ChannelListUI.js.map +1 -1
  28. package/ChannelList/components/ChannelPreview.js +26 -24
  29. package/ChannelList/components/ChannelPreview.js.map +1 -1
  30. package/ChannelList/components/ChannelPreviewAction.js +32 -25
  31. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  32. package/ChannelList/context.js +8 -8
  33. package/ChannelList.js +27 -27
  34. package/{ChannelListProvider-6596e633.js → ChannelListProvider-82fa5abc.js} +8 -8
  35. package/{ChannelListProvider-6596e633.js.map → ChannelListProvider-82fa5abc.js.map} +1 -1
  36. package/{ChannelProvider-5e995fe8.js → ChannelProvider-0c8ccbbf.js} +96 -47
  37. package/ChannelProvider-0c8ccbbf.js.map +1 -0
  38. package/ChannelSettings/components/ChannelProfile.js +12 -12
  39. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  40. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  41. package/ChannelSettings/components/LeaveChannel.js +12 -12
  42. package/ChannelSettings/components/ModerationPanel.js +24 -19
  43. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  44. package/ChannelSettings/components/UserListItem.js +13 -13
  45. package/ChannelSettings/components/UserListItem.js.map +1 -1
  46. package/ChannelSettings/components/UserPanel.js +14 -14
  47. package/ChannelSettings/context.js +3 -3
  48. package/ChannelSettings.js +18 -18
  49. package/CreateChannel/components/CreateChannelUI.js +14 -14
  50. package/CreateChannel/components/InviteUsers.js +14 -14
  51. package/CreateChannel/components/SelectChannelType.js +11 -11
  52. package/CreateChannel/context.js +4 -4
  53. package/CreateChannel.js +14 -14
  54. package/{CreateChannelProvider-fc0268d6.js → CreateChannelProvider-5bd3ebea.js} +1 -1
  55. package/{CreateChannelProvider-fc0268d6.js.map → CreateChannelProvider-5bd3ebea.js.map} +1 -1
  56. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  57. package/CreateOpenChannel/context.js +1 -1
  58. package/CreateOpenChannel.js +10 -10
  59. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  60. package/EditUserProfile.js +13 -13
  61. package/{LocalizationContext-a90809c7.js → LocalizationContext-410574e8.js} +3 -3
  62. package/{LocalizationContext-a90809c7.js.map → LocalizationContext-410574e8.js.map} +1 -1
  63. package/{MediaQueryContext-280871f5.js → MediaQueryContext-53329809.js} +1 -1
  64. package/{MediaQueryContext-280871f5.js.map → MediaQueryContext-53329809.js.map} +1 -1
  65. package/{MemberList-25c34d5b.js → MemberList-35d3c304.js} +7 -6
  66. package/MemberList-35d3c304.js.map +1 -0
  67. package/MessageSearch/components/MessageSearchUI.js +11 -11
  68. package/MessageSearch/context.js +2 -2
  69. package/MessageSearch.js +11 -11
  70. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  71. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  72. package/OpenChannel/components/OpenChannelInput.js +15 -15
  73. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  74. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  75. package/OpenChannel/components/OpenChannelUI.js +24 -24
  76. package/OpenChannel/context.js +9 -9
  77. package/OpenChannel.js +24 -24
  78. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  79. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  80. package/OpenChannelList/context.js +4 -4
  81. package/OpenChannelList.js +13 -13
  82. package/{OpenChannelListProvider-9b77cf19.js → OpenChannelListProvider-f58761c4.js} +3 -3
  83. package/{OpenChannelListProvider-9b77cf19.js.map → OpenChannelListProvider-f58761c4.js.map} +1 -1
  84. package/{OpenChannelProvider-911f3536.js → OpenChannelProvider-a572410e.js} +7 -7
  85. package/OpenChannelProvider-a572410e.js.map +1 -0
  86. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  87. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  88. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  89. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  90. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  91. package/OpenChannelSettings/context.js +3 -3
  92. package/OpenChannelSettings.js +18 -18
  93. package/RemoveMessageModal-13018bc9.js +31 -0
  94. package/RemoveMessageModal-13018bc9.js.map +1 -0
  95. package/SendbirdProvider.js +18 -14
  96. package/SendbirdProvider.js.map +1 -1
  97. package/Thread/components/ParentMessageInfo.js +360 -0
  98. package/Thread/components/ParentMessageInfo.js.map +1 -0
  99. package/Thread/components/ParentMessageInfoItem.js +197 -0
  100. package/Thread/components/ParentMessageInfoItem.js.map +1 -0
  101. package/Thread/components/ThreadHeader.js +61 -0
  102. package/Thread/components/ThreadHeader.js.map +1 -0
  103. package/Thread/components/ThreadList.js +139 -0
  104. package/Thread/components/ThreadList.js.map +1 -0
  105. package/Thread/components/ThreadListItem.js +522 -0
  106. package/Thread/components/ThreadListItem.js.map +1 -0
  107. package/Thread/components/ThreadMessageInput.js +193 -0
  108. package/Thread/components/ThreadMessageInput.js.map +1 -0
  109. package/Thread/components/ThreadUI.js +314 -0
  110. package/Thread/components/ThreadUI.js.map +1 -0
  111. package/Thread/context/types.js +30 -0
  112. package/Thread/context/types.js.map +1 -0
  113. package/Thread/context.js +18 -0
  114. package/Thread/context.js.map +1 -0
  115. package/Thread.js +112 -0
  116. package/Thread.js.map +1 -0
  117. package/ThreadProvider-b7452f09.js +1644 -0
  118. package/ThreadProvider-b7452f09.js.map +1 -0
  119. package/{UserProfileContext-4e70ef73.js → UserProfileContext-2af91c5b.js} +1 -1
  120. package/{UserProfileContext-4e70ef73.js.map → UserProfileContext-2af91c5b.js.map} +1 -1
  121. package/{_rollupPluginBabelHelpers-51c9f5c3.js → _rollupPluginBabelHelpers-0df8ccf2.js} +1 -1
  122. package/_rollupPluginBabelHelpers-0df8ccf2.js.map +1 -0
  123. package/{actionTypes-3dc172c6.js → actionTypes-56bfddb6.js} +1 -1
  124. package/{actionTypes-3dc172c6.js.map → actionTypes-56bfddb6.js.map} +1 -1
  125. package/cjs/App.js +163 -71
  126. package/cjs/App.js.map +1 -1
  127. package/cjs/Channel/components/ChannelHeader.js +20 -45
  128. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  129. package/cjs/Channel/components/ChannelUI.js +28 -23
  130. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  131. package/cjs/Channel/components/FileViewer.js +14 -14
  132. package/cjs/Channel/components/FrozenNotification.js +4 -4
  133. package/cjs/Channel/components/Message.js +49 -24
  134. package/cjs/Channel/components/Message.js.map +1 -1
  135. package/cjs/Channel/components/MessageInput.js +21 -16
  136. package/cjs/Channel/components/MessageInput.js.map +1 -1
  137. package/cjs/Channel/components/MessageList.js +30 -32
  138. package/cjs/Channel/components/MessageList.js.map +1 -1
  139. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  140. package/cjs/Channel/components/SuggestedMentionList.js +54 -48
  141. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  142. package/cjs/Channel/components/TypingIndicator.js +14 -14
  143. package/cjs/Channel/components/UnreadCount.js +4 -4
  144. package/cjs/Channel/context.js +17 -13
  145. package/cjs/Channel/context.js.map +1 -1
  146. package/cjs/Channel.js +35 -24
  147. package/cjs/Channel.js.map +1 -1
  148. package/cjs/ChannelList/components/AddChannel.js +14 -14
  149. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  150. package/cjs/ChannelList/components/ChannelListUI.js +28 -27
  151. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  152. package/cjs/ChannelList/components/ChannelPreview.js +26 -24
  153. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  154. package/cjs/ChannelList/components/ChannelPreviewAction.js +32 -25
  155. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  156. package/cjs/ChannelList/context.js +8 -8
  157. package/cjs/ChannelList.js +27 -27
  158. package/cjs/{ChannelListProvider-a61b57d9.js → ChannelListProvider-2b605a05.js} +8 -8
  159. package/cjs/{ChannelListProvider-a61b57d9.js.map → ChannelListProvider-2b605a05.js.map} +1 -1
  160. package/cjs/{ChannelProvider-4dd6e426.js → ChannelProvider-0151b6ec.js} +95 -46
  161. package/cjs/ChannelProvider-0151b6ec.js.map +1 -0
  162. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  163. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  164. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  165. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  166. package/cjs/ChannelSettings/components/ModerationPanel.js +24 -19
  167. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  168. package/cjs/ChannelSettings/components/UserListItem.js +13 -13
  169. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  170. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  171. package/cjs/ChannelSettings/context.js +3 -3
  172. package/cjs/ChannelSettings.js +18 -18
  173. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  174. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  175. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  176. package/cjs/CreateChannel/context.js +4 -4
  177. package/cjs/CreateChannel.js +14 -14
  178. package/cjs/{CreateChannelProvider-29af9e9c.js → CreateChannelProvider-67a24a4a.js} +1 -1
  179. package/cjs/{CreateChannelProvider-29af9e9c.js.map → CreateChannelProvider-67a24a4a.js.map} +1 -1
  180. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  181. package/cjs/CreateOpenChannel/context.js +1 -1
  182. package/cjs/CreateOpenChannel.js +10 -10
  183. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  184. package/cjs/EditUserProfile.js +13 -13
  185. package/cjs/{LocalizationContext-3c85c616.js → LocalizationContext-68ab5e81.js} +3 -3
  186. package/cjs/{LocalizationContext-3c85c616.js.map → LocalizationContext-68ab5e81.js.map} +1 -1
  187. package/cjs/{MediaQueryContext-c8f557d1.js → MediaQueryContext-7bd4247a.js} +1 -1
  188. package/cjs/{MediaQueryContext-c8f557d1.js.map → MediaQueryContext-7bd4247a.js.map} +1 -1
  189. package/cjs/{MemberList-0861d5f8.js → MemberList-61efd673.js} +7 -6
  190. package/cjs/MemberList-61efd673.js.map +1 -0
  191. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  192. package/cjs/MessageSearch/context.js +2 -2
  193. package/cjs/MessageSearch.js +11 -11
  194. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  195. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  196. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  197. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  198. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  199. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  200. package/cjs/OpenChannel/context.js +9 -9
  201. package/cjs/OpenChannel.js +24 -24
  202. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  203. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  204. package/cjs/OpenChannelList/context.js +4 -4
  205. package/cjs/OpenChannelList.js +13 -13
  206. package/cjs/{OpenChannelListProvider-934729b4.js → OpenChannelListProvider-03c75ad9.js} +3 -3
  207. package/cjs/{OpenChannelListProvider-934729b4.js.map → OpenChannelListProvider-03c75ad9.js.map} +1 -1
  208. package/cjs/{OpenChannelProvider-c05255cc.js → OpenChannelProvider-b3dacb85.js} +7 -7
  209. package/cjs/OpenChannelProvider-b3dacb85.js.map +1 -0
  210. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  211. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  212. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  213. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  214. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  215. package/cjs/OpenChannelSettings/context.js +3 -3
  216. package/cjs/OpenChannelSettings.js +18 -18
  217. package/cjs/RemoveMessageModal-22d7e167.js +37 -0
  218. package/cjs/RemoveMessageModal-22d7e167.js.map +1 -0
  219. package/cjs/SendbirdProvider.js +18 -14
  220. package/cjs/SendbirdProvider.js.map +1 -1
  221. package/cjs/Thread/components/ParentMessageInfo.js +366 -0
  222. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -0
  223. package/cjs/Thread/components/ParentMessageInfoItem.js +203 -0
  224. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -0
  225. package/cjs/Thread/components/ThreadHeader.js +67 -0
  226. package/cjs/Thread/components/ThreadHeader.js.map +1 -0
  227. package/cjs/Thread/components/ThreadList.js +145 -0
  228. package/cjs/Thread/components/ThreadList.js.map +1 -0
  229. package/cjs/Thread/components/ThreadListItem.js +528 -0
  230. package/cjs/Thread/components/ThreadListItem.js.map +1 -0
  231. package/cjs/Thread/components/ThreadMessageInput.js +199 -0
  232. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -0
  233. package/cjs/Thread/components/ThreadUI.js +320 -0
  234. package/cjs/Thread/components/ThreadUI.js.map +1 -0
  235. package/cjs/Thread/context/types.js +32 -0
  236. package/cjs/Thread/context/types.js.map +1 -0
  237. package/cjs/Thread/context.js +27 -0
  238. package/cjs/Thread/context.js.map +1 -0
  239. package/cjs/Thread.js +118 -0
  240. package/cjs/Thread.js.map +1 -0
  241. package/cjs/ThreadProvider-06e039df.js +1653 -0
  242. package/cjs/ThreadProvider-06e039df.js.map +1 -0
  243. package/cjs/{UserProfileContext-c16bb529.js → UserProfileContext-a411f7b7.js} +1 -1
  244. package/cjs/{UserProfileContext-c16bb529.js.map → UserProfileContext-a411f7b7.js.map} +1 -1
  245. package/cjs/{_rollupPluginBabelHelpers-23c0e950.js → _rollupPluginBabelHelpers-3886e03a.js} +1 -1
  246. package/cjs/_rollupPluginBabelHelpers-3886e03a.js.map +1 -0
  247. package/cjs/{actionTypes-d80c4fb6.js → actionTypes-898f9ec5.js} +1 -1
  248. package/cjs/{actionTypes-d80c4fb6.js.map → actionTypes-898f9ec5.js.map} +1 -1
  249. package/cjs/{color-03c2ecf2.js → color-4ed3829e.js} +1 -1
  250. package/cjs/{color-03c2ecf2.js.map → color-4ed3829e.js.map} +1 -1
  251. package/cjs/{compareIds-c670ae57.js → compareIds-fc53942c.js} +1 -1
  252. package/cjs/{compareIds-c670ae57.js.map → compareIds-fc53942c.js.map} +1 -1
  253. package/cjs/{const-fe6f002d.js → const-8a65fe1e.js} +1 -1
  254. package/cjs/{const-fe6f002d.js.map → const-8a65fe1e.js.map} +1 -1
  255. package/cjs/{const-0095baf3.js → const-d025f0a2.js} +7 -1
  256. package/cjs/const-d025f0a2.js.map +1 -0
  257. package/cjs/{context-0fb617f1.js → context-48995334.js} +2 -2
  258. package/cjs/{context-0fb617f1.js.map → context-48995334.js.map} +1 -1
  259. package/cjs/dist/index.css +1049 -196
  260. package/cjs/dist/index.css.map +1 -1
  261. package/cjs/{index-607cb4ff.js → index-0cab061c.js} +1 -1
  262. package/cjs/{index-607cb4ff.js.map → index-0cab061c.js.map} +1 -1
  263. package/cjs/{index-97e2a887.js → index-2439032c.js} +9 -9
  264. package/cjs/index-2439032c.js.map +1 -0
  265. package/cjs/{index-b1a4b6f0.js → index-249ae5ae.js} +2 -2
  266. package/cjs/{index-b1a4b6f0.js.map → index-249ae5ae.js.map} +1 -1
  267. package/cjs/{index-fab17fef.js → index-311c564c.js} +4 -4
  268. package/cjs/{index-fab17fef.js.map → index-311c564c.js.map} +1 -1
  269. package/cjs/{index-0854d1ea.js → index-4a58b2e1.js} +2 -2
  270. package/cjs/{index-0854d1ea.js.map → index-4a58b2e1.js.map} +1 -1
  271. package/cjs/{index-039012c4.js → index-79006076.js} +4 -4
  272. package/cjs/{index-039012c4.js.map → index-79006076.js.map} +1 -1
  273. package/cjs/{index-1042f264.js → index-858d4ced.js} +2 -2
  274. package/cjs/{index-1042f264.js.map → index-858d4ced.js.map} +1 -1
  275. package/cjs/{index-27c6a6bc.js → index-9a71cc15.js} +2 -2
  276. package/cjs/{index-27c6a6bc.js.map → index-9a71cc15.js.map} +1 -1
  277. package/cjs/{index-475ae379.js → index-a8e6344b.js} +5 -5
  278. package/cjs/{index-475ae379.js.map → index-a8e6344b.js.map} +1 -1
  279. package/cjs/{index-1218eab2.js → index-c015580f.js} +7 -7
  280. package/cjs/index-c015580f.js.map +1 -0
  281. package/cjs/{index-1b69f7d2.js → index-f31610a5.js} +1 -1
  282. package/cjs/{index-1b69f7d2.js.map → index-f31610a5.js.map} +1 -1
  283. package/cjs/index.js +82 -68
  284. package/cjs/index.js.map +1 -1
  285. package/cjs/sendbirdSelectors.js +2 -2
  286. package/cjs/{stringSet-da2fe019.js → stringSet-fd892563.js} +17 -3
  287. package/cjs/stringSet-fd892563.js.map +1 -0
  288. package/cjs/{topics-fd2124f5.js → topics-6a30e46d.js} +1 -1
  289. package/cjs/{topics-fd2124f5.js.map → topics-6a30e46d.js.map} +1 -1
  290. package/cjs/tslib.es6-029d13d0.js +97 -0
  291. package/cjs/{tslib.es6-bce345aa.js.map → tslib.es6-029d13d0.js.map} +1 -1
  292. package/cjs/ui/Accordion.js +3 -3
  293. package/cjs/ui/AccordionGroup.js +2 -2
  294. package/cjs/ui/AdminMessage.js +3 -3
  295. package/cjs/ui/AdminMessage.js.map +1 -1
  296. package/cjs/ui/Avatar.js +2 -2
  297. package/cjs/ui/Badge.js +5 -5
  298. package/cjs/ui/BottomSheet.js +1 -1
  299. package/cjs/ui/Button.js +3 -3
  300. package/cjs/ui/ChannelAvatar.js +3 -3
  301. package/cjs/ui/ConnectionStatus.js +4 -4
  302. package/cjs/ui/ContextMenu.js +15 -11
  303. package/cjs/ui/ContextMenu.js.map +1 -1
  304. package/cjs/ui/DateSeparator.js +4 -4
  305. package/cjs/ui/EmojiReactions.js +26 -14
  306. package/cjs/ui/EmojiReactions.js.map +1 -1
  307. package/cjs/ui/FileMessageItemBody.js +11 -8
  308. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  309. package/cjs/ui/FileViewer.js +8 -8
  310. package/cjs/ui/IconButton.js +1 -1
  311. package/cjs/ui/ImageRenderer.js +1 -1
  312. package/cjs/ui/Input.js +2 -2
  313. package/cjs/ui/Label.js +2 -2
  314. package/cjs/ui/LinkLabel.js +2 -2
  315. package/cjs/ui/Loader.js +1 -1
  316. package/cjs/ui/MentionLabel.js +15 -14
  317. package/cjs/ui/MentionLabel.js.map +1 -1
  318. package/cjs/ui/MessageContent.js +104 -56
  319. package/cjs/ui/MessageContent.js.map +1 -1
  320. package/cjs/ui/MessageInput.js +17 -13
  321. package/cjs/ui/MessageInput.js.map +1 -1
  322. package/cjs/ui/MessageItemMenu.js +40 -16
  323. package/cjs/ui/MessageItemMenu.js.map +1 -1
  324. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  325. package/cjs/ui/MessageSearchFileItem.js +9 -9
  326. package/cjs/ui/MessageSearchItem.js +9 -9
  327. package/cjs/ui/MessageStatus.js +11 -11
  328. package/cjs/ui/MessageStatus.js.map +1 -1
  329. package/cjs/ui/Modal.js +7 -7
  330. package/cjs/ui/Modal.js.map +1 -1
  331. package/cjs/ui/OGMessageItemBody.js +11 -13
  332. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  333. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  334. package/cjs/ui/OpenChannelAvatar.js +6 -6
  335. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  336. package/cjs/ui/OpenchannelFileMessage.js +21 -19
  337. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  338. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  339. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  340. package/cjs/ui/OpenchannelThumbnailMessage.js +17 -17
  341. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  342. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  343. package/cjs/ui/PlaceHolder.js +6 -6
  344. package/cjs/ui/QuoteMessage.js +34 -16
  345. package/cjs/ui/QuoteMessage.js.map +1 -1
  346. package/cjs/ui/QuoteMessageInput.js +6 -6
  347. package/cjs/ui/ReactionBadge.js +3 -3
  348. package/cjs/ui/ReactionButton.js +1 -1
  349. package/cjs/ui/SortByRow.js +2 -2
  350. package/cjs/ui/SortByRow.js.map +1 -1
  351. package/cjs/ui/TextButton.js +2 -2
  352. package/cjs/ui/TextMessageItemBody.js +11 -11
  353. package/cjs/ui/ThreadReplies.js +82 -0
  354. package/cjs/ui/ThreadReplies.js.map +1 -0
  355. package/cjs/ui/ThumbnailMessageItemBody.js +14 -12
  356. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  357. package/cjs/ui/Tooltip.js +3 -3
  358. package/cjs/ui/TooltipWrapper.js +1 -1
  359. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  360. package/cjs/ui/UserListItem.js +17 -17
  361. package/cjs/ui/UserListItem.js.map +1 -1
  362. package/cjs/ui/UserProfile.js +14 -12
  363. package/cjs/ui/UserProfile.js.map +1 -1
  364. package/cjs/ui/Word.js +11 -11
  365. package/cjs/{useLongPress-698416e4.js → useLongPress-40972b66.js} +3 -3
  366. package/cjs/{useLongPress-698416e4.js.map → useLongPress-40972b66.js.map} +1 -1
  367. package/cjs/useSendbirdStateContext.js +1 -1
  368. package/cjs/utils-d43cb0c1.js +32 -0
  369. package/cjs/utils-d43cb0c1.js.map +1 -0
  370. package/cjs/{utils-8a793976.js → utils-d8127210.js} +1 -1
  371. package/cjs/{utils-8a793976.js.map → utils-d8127210.js.map} +1 -1
  372. package/cjs/{utils-557bb5d2.js → utils-db6fb27a.js} +1 -1
  373. package/cjs/{utils-557bb5d2.js.map → utils-db6fb27a.js.map} +1 -1
  374. package/cjs/{utils-0d32641e.js → utils-f90f83c1.js} +1 -1
  375. package/cjs/{utils-0d32641e.js.map → utils-f90f83c1.js.map} +1 -1
  376. package/cjs/{uuid-2a459d4b.js → uuid-de38f276.js} +1 -1
  377. package/cjs/{uuid-2a459d4b.js.map → uuid-de38f276.js.map} +1 -1
  378. package/cjs/withSendbird.js +1 -1
  379. package/{color-e740c17f.js → color-1619c1b7.js} +1 -1
  380. package/{color-e740c17f.js.map → color-1619c1b7.js.map} +1 -1
  381. package/{compareIds-e84966df.js → compareIds-bbc4e959.js} +1 -1
  382. package/{compareIds-e84966df.js.map → compareIds-bbc4e959.js.map} +1 -1
  383. package/{const-3c9680d2.js → const-0751201c.js} +1 -1
  384. package/{const-3c9680d2.js.map → const-0751201c.js.map} +1 -1
  385. package/const-6e3eaa64.js +14 -0
  386. package/const-6e3eaa64.js.map +1 -0
  387. package/{context-3adaf9b3.js → context-0ecfbd98.js} +2 -2
  388. package/{context-3adaf9b3.js.map → context-0ecfbd98.js.map} +1 -1
  389. package/dist/index.css +1049 -196
  390. package/dist/index.css.map +1 -1
  391. package/{index-8ce0c4b6.js → index-2e0b072c.js} +5 -5
  392. package/{index-8ce0c4b6.js.map → index-2e0b072c.js.map} +1 -1
  393. package/{index-873ffa33.js → index-3ade03b5.js} +4 -4
  394. package/{index-873ffa33.js.map → index-3ade03b5.js.map} +1 -1
  395. package/{index-fb4777a9.js → index-43349e3a.js} +4 -4
  396. package/{index-fb4777a9.js.map → index-43349e3a.js.map} +1 -1
  397. package/{index-ca3ba8a0.js → index-468659e6.js} +7 -7
  398. package/index-468659e6.js.map +1 -0
  399. package/{index-8d74bd4b.js → index-4e38f6d5.js} +1 -1
  400. package/{index-8d74bd4b.js.map → index-4e38f6d5.js.map} +1 -1
  401. package/{index-0fa44537.js → index-51219968.js} +2 -2
  402. package/{index-0fa44537.js.map → index-51219968.js.map} +1 -1
  403. package/{index-8e0d1cc6.js → index-51ef2190.js} +1 -1
  404. package/{index-8e0d1cc6.js.map → index-51ef2190.js.map} +1 -1
  405. package/{index-64740116.js → index-59fddbdc.js} +2 -2
  406. package/{index-64740116.js.map → index-59fddbdc.js.map} +1 -1
  407. package/{index-cfdf3b6d.js → index-7ad981b0.js} +2 -2
  408. package/{index-cfdf3b6d.js.map → index-7ad981b0.js.map} +1 -1
  409. package/{index-041c94d3.js → index-dfbeafcd.js} +2 -2
  410. package/{index-041c94d3.js.map → index-dfbeafcd.js.map} +1 -1
  411. package/{index-05c36d6c.js → index-dfc090e4.js} +9 -9
  412. package/index-dfc090e4.js.map +1 -0
  413. package/index.d.ts +230 -14
  414. package/index.js +82 -68
  415. package/index.js.map +1 -1
  416. package/package.json +1 -1
  417. package/sendbirdSelectors.js +2 -2
  418. package/{stringSet-e413411d.js → stringSet-bd5e1130.js} +17 -3
  419. package/stringSet-bd5e1130.js.map +1 -0
  420. package/{topics-b81e5b9b.js → topics-d58e48df.js} +1 -1
  421. package/{topics-b81e5b9b.js.map → topics-d58e48df.js.map} +1 -1
  422. package/tslib.es6-0f615f78.js +92 -0
  423. package/{tslib.es6-e592f653.js.map → tslib.es6-0f615f78.js.map} +1 -1
  424. package/ui/Accordion.js +3 -3
  425. package/ui/AccordionGroup.js +2 -2
  426. package/ui/AdminMessage.js +3 -3
  427. package/ui/AdminMessage.js.map +1 -1
  428. package/ui/Avatar.js +2 -2
  429. package/ui/Badge.js +5 -5
  430. package/ui/BottomSheet.js +1 -1
  431. package/ui/Button.js +3 -3
  432. package/ui/ChannelAvatar.js +3 -3
  433. package/ui/ConnectionStatus.js +4 -4
  434. package/ui/ContextMenu.js +15 -11
  435. package/ui/ContextMenu.js.map +1 -1
  436. package/ui/DateSeparator.js +4 -4
  437. package/ui/EmojiReactions.js +26 -14
  438. package/ui/EmojiReactions.js.map +1 -1
  439. package/ui/FileMessageItemBody.js +11 -8
  440. package/ui/FileMessageItemBody.js.map +1 -1
  441. package/ui/FileViewer.js +8 -8
  442. package/ui/IconButton.js +1 -1
  443. package/ui/ImageRenderer.js +1 -1
  444. package/ui/Input.js +2 -2
  445. package/ui/Label.js +2 -2
  446. package/ui/LinkLabel.js +2 -2
  447. package/ui/Loader.js +1 -1
  448. package/ui/MentionLabel.js +15 -14
  449. package/ui/MentionLabel.js.map +1 -1
  450. package/ui/MessageContent.js +104 -56
  451. package/ui/MessageContent.js.map +1 -1
  452. package/ui/MessageInput.js +17 -13
  453. package/ui/MessageInput.js.map +1 -1
  454. package/ui/MessageItemMenu.js +40 -16
  455. package/ui/MessageItemMenu.js.map +1 -1
  456. package/ui/MessageItemReactionMenu.js +5 -5
  457. package/ui/MessageSearchFileItem.js +9 -9
  458. package/ui/MessageSearchItem.js +9 -9
  459. package/ui/MessageStatus.js +11 -11
  460. package/ui/MessageStatus.js.map +1 -1
  461. package/ui/Modal.js +7 -7
  462. package/ui/Modal.js.map +1 -1
  463. package/ui/OGMessageItemBody.js +11 -13
  464. package/ui/OGMessageItemBody.js.map +1 -1
  465. package/ui/OpenChannelAdminMessage.js +3 -3
  466. package/ui/OpenChannelAvatar.js +6 -6
  467. package/ui/OpenchannelConversationHeader.js +6 -6
  468. package/ui/OpenchannelFileMessage.js +21 -19
  469. package/ui/OpenchannelFileMessage.js.map +1 -1
  470. package/ui/OpenchannelOGMessage.js +18 -18
  471. package/ui/OpenchannelOGMessage.js.map +1 -1
  472. package/ui/OpenchannelThumbnailMessage.js +17 -17
  473. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  474. package/ui/OpenchannelUserMessage.js +16 -16
  475. package/ui/PlaceHolder.js +6 -6
  476. package/ui/QuoteMessage.js +34 -16
  477. package/ui/QuoteMessage.js.map +1 -1
  478. package/ui/QuoteMessageInput.js +6 -6
  479. package/ui/ReactionBadge.js +3 -3
  480. package/ui/ReactionButton.js +1 -1
  481. package/ui/SortByRow.js +2 -2
  482. package/ui/SortByRow.js.map +1 -1
  483. package/ui/TextButton.js +2 -2
  484. package/ui/TextMessageItemBody.js +11 -11
  485. package/ui/ThreadReplies.js +76 -0
  486. package/ui/ThreadReplies.js.map +1 -0
  487. package/ui/ThumbnailMessageItemBody.js +14 -12
  488. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  489. package/ui/Tooltip.js +3 -3
  490. package/ui/TooltipWrapper.js +1 -1
  491. package/ui/UnknownMessageItemBody.js +6 -6
  492. package/ui/UserListItem.js +17 -17
  493. package/ui/UserListItem.js.map +1 -1
  494. package/ui/UserProfile.js +14 -12
  495. package/ui/UserProfile.js.map +1 -1
  496. package/ui/Word.js +11 -11
  497. package/{useLongPress-8cda7590.js → useLongPress-3d0759b4.js} +3 -3
  498. package/{useLongPress-8cda7590.js.map → useLongPress-3d0759b4.js.map} +1 -1
  499. package/useSendbirdStateContext.js +1 -1
  500. package/{utils-c2438081.js → utils-9f07eb45.js} +1 -1
  501. package/{utils-c2438081.js.map → utils-9f07eb45.js.map} +1 -1
  502. package/{utils-f95bafde.js → utils-d76efebb.js} +1 -1
  503. package/{utils-f95bafde.js.map → utils-d76efebb.js.map} +1 -1
  504. package/{utils-90964f90.js → utils-db1bf7d1.js} +1 -1
  505. package/{utils-90964f90.js.map → utils-db1bf7d1.js.map} +1 -1
  506. package/utils-e2976a74.js +30 -0
  507. package/utils-e2976a74.js.map +1 -0
  508. package/{uuid-c41826f3.js → uuid-9f76bbf8.js} +1 -1
  509. package/{uuid-c41826f3.js.map → uuid-9f76bbf8.js.map} +1 -1
  510. package/withSendbird.js +1 -1
  511. package/ChannelProvider-5e995fe8.js.map +0 -1
  512. package/MemberList-25c34d5b.js.map +0 -1
  513. package/OpenChannelProvider-911f3536.js.map +0 -1
  514. package/_rollupPluginBabelHelpers-51c9f5c3.js.map +0 -1
  515. package/cjs/ChannelProvider-4dd6e426.js.map +0 -1
  516. package/cjs/MemberList-0861d5f8.js.map +0 -1
  517. package/cjs/OpenChannelProvider-c05255cc.js.map +0 -1
  518. package/cjs/_rollupPluginBabelHelpers-23c0e950.js.map +0 -1
  519. package/cjs/const-0095baf3.js.map +0 -1
  520. package/cjs/index-1218eab2.js.map +0 -1
  521. package/cjs/index-97e2a887.js.map +0 -1
  522. package/cjs/stringSet-da2fe019.js.map +0 -1
  523. package/cjs/tslib.es6-bce345aa.js +0 -57
  524. package/const-630a8129.js +0 -8
  525. package/const-630a8129.js.map +0 -1
  526. package/index-05c36d6c.js.map +0 -1
  527. package/index-ca3ba8a0.js.map +0 -1
  528. package/stringSet-e413411d.js.map +0 -1
  529. package/tslib.es6-e592f653.js +0 -54
package/cjs/ui/Avatar.js CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
5
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
6
6
  var React = require('react');
7
7
  var ui_ImageRenderer = require('./ImageRenderer.js');
8
8
  var ui_Icon = require('./Icon.js');
9
- var uuid = require('../uuid-2a459d4b.js');
9
+ var uuid = require('../uuid-de38f276.js');
10
10
  require('prop-types');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
package/cjs/ui/Badge.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
3
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
4
4
  var React = require('react');
5
- var ui_Label = require('../index-b1a4b6f0.js');
6
- var LocalizationContext = require('../LocalizationContext-3c85c616.js');
5
+ var ui_Label = require('../index-249ae5ae.js');
6
+ var LocalizationContext = require('../LocalizationContext-68ab5e81.js');
7
7
  require('prop-types');
8
- require('../stringSet-da2fe019.js');
9
- require('../index-607cb4ff.js');
8
+ require('../stringSet-fd892563.js');
9
+ require('../index-0cab061c.js');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactDom = require('react-dom');
5
- var index = require('../index-1b69f7d2.js');
5
+ var index = require('../index-f31610a5.js');
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
package/cjs/ui/Button.js CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
5
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
6
6
  var React = require('react');
7
- var ui_Label = require('../index-b1a4b6f0.js');
7
+ var ui_Label = require('../index-249ae5ae.js');
8
8
  require('prop-types');
9
- require('../stringSet-da2fe019.js');
9
+ require('../stringSet-fd892563.js');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
12
 
@@ -3,10 +3,10 @@
3
3
  var React = require('react');
4
4
  var ui_Avatar = require('./Avatar.js');
5
5
  var ui_Icon = require('./Icon.js');
6
- var utils = require('../utils-0d32641e.js');
7
- require('../tslib.es6-bce345aa.js');
6
+ var utils = require('../utils-f90f83c1.js');
7
+ require('../tslib.es6-029d13d0.js');
8
8
  require('./ImageRenderer.js');
9
- require('../uuid-2a459d4b.js');
9
+ require('../uuid-de38f276.js');
10
10
  require('prop-types');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -2,11 +2,11 @@
2
2
 
3
3
  var React = require('react');
4
4
  var ui_Icon = require('./Icon.js');
5
- var ui_Label = require('../index-b1a4b6f0.js');
6
- var LocalizationContext = require('../LocalizationContext-3c85c616.js');
5
+ var ui_Label = require('../index-249ae5ae.js');
6
+ var LocalizationContext = require('../LocalizationContext-68ab5e81.js');
7
7
  require('prop-types');
8
- require('../stringSet-da2fe019.js');
9
- require('../index-607cb4ff.js');
8
+ require('../stringSet-fd892563.js');
9
+ require('../index-0cab061c.js');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
12
 
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
6
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
7
7
  var reactDom = require('react-dom');
8
8
  var ui_SortByRow = require('./SortByRow.js');
9
- var index = require('../index-1218eab2.js');
10
- var ui_Label = require('../index-b1a4b6f0.js');
11
- require('../uuid-2a459d4b.js');
9
+ var index = require('../index-c015580f.js');
10
+ var ui_Label = require('../index-249ae5ae.js');
11
+ require('../uuid-de38f276.js');
12
12
  require('../utils/message/getOutgoingMessageState.js');
13
13
  require('prop-types');
14
- require('../stringSet-da2fe019.js');
14
+ require('../stringSet-fd892563.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -118,13 +118,17 @@ function (_super) {
118
118
  };
119
119
 
120
120
  MenuItems.prototype.render = function () {
121
+ var _a;
122
+
121
123
  var menuStyle = this.state.menuStyle;
122
- var _a = this.props,
123
- children = _a.children,
124
- style = _a.style,
125
- _b = _a.className,
126
- className = _b === void 0 ? "" : _b;
127
- return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
124
+ var _b = this.props,
125
+ children = _b.children,
126
+ style = _b.style,
127
+ _c = _b.className,
128
+ className = _c === void 0 ? "" : _c;
129
+ return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement("div", {
130
+ className: (_a = this.props) === null || _a === void 0 ? void 0 : _a.className
131
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
128
132
  className: "sendbird-dropdown__menu-backdrop"
129
133
  }), /*#__PURE__*/React__default["default"].createElement("ul", {
130
134
  className: "".concat(className, " sendbird-dropdown__menu"),
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","sources":["../../../src/ui/ContextMenu/MenuItems.tsx","../../../src/ui/ContextMenu/EmojiListItems.tsx","../../../src/ui/ContextMenu/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface MenuItemsProps {\n className?: string;\n style?: Record<string, string>;\n openLeft?: boolean;\n children: React.ReactElement | Array<React.ReactElement>;\n parentRef: React.RefObject<HTMLElement>;\n parentContainRef: React.RefObject<HTMLElement>;\n closeDropdown: () => void;\n}\n\ntype MenuStyleType = { top?: number, left?: number };\ninterface MenuItemsState {\n menuStyle: MenuStyleType;\n handleClickOutside: (e: MouseEvent) => void;\n}\n\nexport default class MenuItems extends React.Component<MenuItemsProps, MenuItemsState> {\n constructor(props: MenuItemsProps) {\n super(props);\n this.state = {\n menuStyle: {},\n handleClickOutside: () => {/* noop */ },\n };\n }\n menuRef: React.RefObject<HTMLUListElement> = React.createRef();\n\n componentDidMount(): void {\n this.setupEvents();\n this.getMenuPosition();\n }\n\n componentWillUnmount(): void {\n this.cleanUpEvents();\n }\n\n setupEvents = (): void => {\n const { closeDropdown } = this.props;\n const { menuRef } = this;\n const handleClickOutside = (event) => {\n if (menuRef?.current && !menuRef?.current?.contains?.(event.target)) {\n closeDropdown?.();\n }\n };\n this.setState({\n handleClickOutside,\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = (): void => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getMenuPosition = (): MenuStyleType => {\n const { parentRef, openLeft } = this.props;\n const parentRect = parentRef?.current?.getBoundingClientRect?.();\n const x = parentRect?.x || parentRect?.left || 0;\n const y = parentRect?.y || parentRect?.top || 0;\n const menuStyle = {\n top: y,\n left: x,\n };\n if (!this.menuRef.current) return menuStyle;\n const { innerWidth, innerHeight } = window;\n const rect = this.menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n menuStyle.top += 32;\n if (openLeft) {\n const padding = Number.isNaN(rect.width - 30)\n ? 108 // default\n : rect.width - 30;\n menuStyle.left -= padding;\n }\n this.setState({ menuStyle })\n return menuStyle;\n }\n\n render(): ReactElement {\n const { menuStyle } = this.state;\n const { children, style, className=\"\" } = this.props;\n return (\n createPortal(\n (\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className={`${className} sendbird-dropdown__menu`}\n ref={this.menuRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(menuStyle.left)}px`,\n top: `${Math.round(menuStyle.top)}px`,\n ...style,\n }}\n >\n {children}\n </ul>\n </>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\n","import React, { ReactElement, RefObject, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport SortByRow from '../SortByRow';\n\ntype SpaceFromTrigger = { x: number, y: number };\ntype ReactionStyle = { left: number, top: number };\nexport interface EmojiListItemsProps {\n closeDropdown: () => void;\n children: ReactElement;\n parentRef: RefObject<HTMLDivElement>;\n parentContainRef: RefObject<HTMLDivElement>;\n spaceFromTrigger?: SpaceFromTrigger;\n}\n\nconst EmojiListItems = ({\n children,\n parentRef,\n parentContainRef,\n spaceFromTrigger = { x: 0, y: 0 },\n closeDropdown,\n}: EmojiListItemsProps): ReactElement => {\n const [reactionStyle, setReactionStyle] = useState<ReactionStyle>({ left: 0, top: 0 });\n const reactionRef = useRef(null);\n\n /* showParent & hideParent */\n useEffect(() => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.add('sendbird-reactions--pressed');\n }\n return () => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.remove('sendbird-reactions--pressed');\n }\n };\n }, []);\n\n /* setupEvents & cleanupEvents */\n useEffect(() => {\n const handleClickOutSide = (event) => {\n if (reactionRef?.current && !reactionRef?.current?.contains?.(event.target)) {\n closeDropdown();\n }\n };\n document.addEventListener('mousedown', handleClickOutSide);\n return () => {\n document.removeEventListener('mousedown', handleClickOutSide);\n };\n }, []);\n\n /* getBarPosition */\n useEffect(() => {\n const spaceFromTriggerX = spaceFromTrigger?.x || 0;\n const spaceFromTriggerY = spaceFromTrigger?.y || 0;\n const parentRect = parentRef?.current?.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const reactionStyle = {\n top: y,\n left: x,\n };\n if (!reactionRef?.current) {\n setReactionStyle(reactionStyle);\n } else {\n const rect = reactionRef?.current?.getBoundingClientRect();\n if (reactionStyle.top < rect.height) {\n reactionStyle.top += parentRect.height;\n reactionStyle.top += spaceFromTriggerY;\n } else {\n reactionStyle.top -= rect.height;\n reactionStyle.top -= spaceFromTriggerY;\n }\n reactionStyle.left -= rect.width / 2;\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\n const maximumLeft = window.innerWidth - rect.width;\n if (maximumLeft < reactionStyle.left) {\n reactionStyle.left = maximumLeft;\n }\n if (reactionStyle.left < 0) {\n reactionStyle.left = 0;\n }\n setReactionStyle(reactionStyle);\n }\n }, []);\n\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={reactionRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(reactionStyle.left)}px`,\n top: `${Math.round(reactionStyle.top)}px`,\n }}\n >\n <SortByRow\n className=\"sendbird-dropdown__reaction-bar__row\"\n maxItemCount={8}\n itemWidth={44}\n itemHeight={40}\n >\n {children}\n </SortByRow>\n </ul>\n </>,\n document.getElementById('sendbird-emoji-list-portal'),\n )\n );\n};\n\nexport default EmojiListItems;\n","import React, { ReactElement, MouseEvent, useState, ReactNode } from 'react';\nimport './index.scss';\n\nimport _MenuItems from './MenuItems';\nimport _EmojiListItems from './EmojiListItems';\n\nimport { getClassName } from '../../utils';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nconst ENTER_KEY = 13;\n\nexport const MenuItems = _MenuItems;\nexport const EmojiListItems = _EmojiListItems;\n\nexport interface MenuItemProps {\n className?: string | Array<string>;\n children: ReactNode | Array<ReactNode>;\n onClick?: (e: MouseEvent<HTMLLIElement>) => void;\n disable?: boolean;\n}\nexport const MenuItem = ({\n className = '',\n children,\n onClick,\n disable = false,\n}: MenuItemProps): ReactElement => {\n const handleClickEvent = (e) => {\n if (!disable && onClick) {\n onClick?.(e);\n }\n };\n return (\n <li\n className={getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : ''])}\n role=\"menuitem\"\n aria-disabled={disable ? true : false}\n onClick={handleClickEvent}\n onKeyPress={(e) => { if (e.keyCode === ENTER_KEY) handleClickEvent(e); }}\n tabIndex={0}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={disable ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n );\n};\n\nexport const MenuRoot = (): ReactElement => (\n <div\n id=\"sendbird-dropdown-portal\"\n className=\"sendbird-dropdown-portal\"\n />\n);\nexport const EmojiReactionListRoot = (): ReactElement => <div id=\"sendbird-emoji-list-portal\" />;\n\ntype MenuDisplayingFunc = () => void;\nexport interface ContextMenuProps {\n menuTrigger?: (MenuDisplayingFunc) => ReactElement;\n menuItems: (MenuDisplayingFunc) => ReactElement;\n isOpen?: boolean;\n}\nexport default function ContextMenu({\n menuTrigger,\n menuItems,\n isOpen,\n}: ContextMenuProps): ReactElement {\n const [showMenu, setShowMenu] = useState(false);\n return (\n <div\n className=\"sendbird-context-menu\"\n style={{ display: 'inline' }}\n >\n {menuTrigger?.(() => setShowMenu(!showMenu))}\n {(showMenu || isOpen) && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n"],"names":["MenuItems","_super","__extends","props","_this","call","menuRef","React","createRef","setupEvents","closeDropdown","handleClickOutside","event","current","_b","_a","contains","target","setState","document","addEventListener","cleanUpEvents","state","removeEventListener","getMenuPosition","_c","parentRef","openLeft","parentRect","getBoundingClientRect","x","left","y","top","menuStyle","innerWidth","window","innerHeight","rect","height","width","padding","Number","isNaN","prototype","componentDidMount","componentWillUnmount","render","children","style","className","createPortal","concat","__assign","display","position","Math","round","getElementById","Component","EmojiListItems","parentContainRef","spaceFromTrigger","useState","reactionStyle","setReactionStyle","reactionRef","useRef","useEffect","classList","add","remove","handleClickOutSide","spaceFromTriggerX","spaceFromTriggerY","maximumLeft","SortByRow","ENTER_KEY","_MenuItems","_EmojiListItems","MenuItem","onClick","disable","handleClickEvent","e","getClassName","keyCode","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","isOpen","showMenu","setShowMenu"],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenu.js","sources":["../../../src/ui/ContextMenu/MenuItems.tsx","../../../src/ui/ContextMenu/EmojiListItems.tsx","../../../src/ui/ContextMenu/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface MenuItemsProps {\n className?: string;\n style?: Record<string, string>;\n openLeft?: boolean;\n children: React.ReactElement | Array<React.ReactElement>;\n parentRef: React.RefObject<HTMLElement>;\n parentContainRef: React.RefObject<HTMLElement>;\n closeDropdown: () => void;\n}\n\ntype MenuStyleType = { top?: number, left?: number };\ninterface MenuItemsState {\n menuStyle: MenuStyleType;\n handleClickOutside: (e: MouseEvent) => void;\n}\n\nexport default class MenuItems extends React.Component<MenuItemsProps, MenuItemsState> {\n constructor(props: MenuItemsProps) {\n super(props);\n this.state = {\n menuStyle: {},\n handleClickOutside: () => {/* noop */ },\n };\n }\n menuRef: React.RefObject<HTMLUListElement> = React.createRef();\n\n componentDidMount(): void {\n this.setupEvents();\n this.getMenuPosition();\n }\n\n componentWillUnmount(): void {\n this.cleanUpEvents();\n }\n\n setupEvents = (): void => {\n const { closeDropdown } = this.props;\n const { menuRef } = this;\n const handleClickOutside = (event) => {\n if (menuRef?.current && !menuRef?.current?.contains?.(event.target)) {\n closeDropdown?.();\n }\n };\n this.setState({\n handleClickOutside,\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = (): void => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getMenuPosition = (): MenuStyleType => {\n const { parentRef, openLeft } = this.props;\n const parentRect = parentRef?.current?.getBoundingClientRect?.();\n const x = parentRect?.x || parentRect?.left || 0;\n const y = parentRect?.y || parentRect?.top || 0;\n const menuStyle = {\n top: y,\n left: x,\n };\n if (!this.menuRef.current) return menuStyle;\n const { innerWidth, innerHeight } = window;\n const rect = this.menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n menuStyle.top += 32;\n if (openLeft) {\n const padding = Number.isNaN(rect.width - 30)\n ? 108 // default\n : rect.width - 30;\n menuStyle.left -= padding;\n }\n this.setState({ menuStyle })\n return menuStyle;\n }\n\n render(): ReactElement {\n const { menuStyle } = this.state;\n const { children, style, className=\"\" } = this.props;\n return (\n createPortal(\n (\n <div className={this.props?.className}>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className={`${className} sendbird-dropdown__menu`}\n ref={this.menuRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(menuStyle.left)}px`,\n top: `${Math.round(menuStyle.top)}px`,\n ...style,\n }}\n >\n {children}\n </ul>\n </div>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\n","import React, { ReactElement, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport SortByRow from '../SortByRow';\n\ntype SpaceFromTrigger = { x: number, y: number };\ntype ReactionStyle = { left: number, top: number };\nexport interface EmojiListItemsProps {\n closeDropdown: () => void;\n children: ReactNode;\n parentRef: RefObject<HTMLDivElement>;\n parentContainRef: RefObject<HTMLDivElement>;\n spaceFromTrigger?: SpaceFromTrigger;\n}\n\nconst EmojiListItems = ({\n children,\n parentRef,\n parentContainRef,\n spaceFromTrigger = { x: 0, y: 0 },\n closeDropdown,\n}: EmojiListItemsProps): ReactElement => {\n const [reactionStyle, setReactionStyle] = useState<ReactionStyle>({ left: 0, top: 0 });\n const reactionRef = useRef(null);\n\n /* showParent & hideParent */\n useEffect(() => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.add('sendbird-reactions--pressed');\n }\n return () => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.remove('sendbird-reactions--pressed');\n }\n };\n }, []);\n\n /* setupEvents & cleanupEvents */\n useEffect(() => {\n const handleClickOutSide = (event) => {\n if (reactionRef?.current && !reactionRef?.current?.contains?.(event.target)) {\n closeDropdown();\n }\n };\n document.addEventListener('mousedown', handleClickOutSide);\n return () => {\n document.removeEventListener('mousedown', handleClickOutSide);\n };\n }, []);\n\n /* getBarPosition */\n useEffect(() => {\n const spaceFromTriggerX = spaceFromTrigger?.x || 0;\n const spaceFromTriggerY = spaceFromTrigger?.y || 0;\n const parentRect = parentRef?.current?.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const reactionStyle = {\n top: y,\n left: x,\n };\n if (!reactionRef?.current) {\n setReactionStyle(reactionStyle);\n } else {\n const rect = reactionRef?.current?.getBoundingClientRect();\n if (reactionStyle.top < rect.height) {\n reactionStyle.top += parentRect.height;\n reactionStyle.top += spaceFromTriggerY;\n } else {\n reactionStyle.top -= rect.height;\n reactionStyle.top -= spaceFromTriggerY;\n }\n reactionStyle.left -= rect.width / 2;\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\n const maximumLeft = window.innerWidth - rect.width;\n if (maximumLeft < reactionStyle.left) {\n reactionStyle.left = maximumLeft;\n }\n if (reactionStyle.left < 0) {\n reactionStyle.left = 0;\n }\n setReactionStyle(reactionStyle);\n }\n }, []);\n\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={reactionRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(reactionStyle.left)}px`,\n top: `${Math.round(reactionStyle.top)}px`,\n }}\n >\n <SortByRow\n className=\"sendbird-dropdown__reaction-bar__row\"\n maxItemCount={8}\n itemWidth={44}\n itemHeight={40}\n >\n {children}\n </SortByRow>\n </ul>\n </>,\n document.getElementById('sendbird-emoji-list-portal'),\n )\n );\n};\n\nexport default EmojiListItems;\n","import React, { ReactElement, MouseEvent, useState, ReactNode } from 'react';\nimport './index.scss';\n\nimport _MenuItems from './MenuItems';\nimport _EmojiListItems from './EmojiListItems';\n\nimport { getClassName } from '../../utils';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nconst ENTER_KEY = 13;\n\nexport const MenuItems = _MenuItems;\nexport const EmojiListItems = _EmojiListItems;\n\nexport interface MenuItemProps {\n className?: string | Array<string>;\n children: ReactElement | ReactElement[] | ReactNode;\n onClick?: (e: MouseEvent<HTMLLIElement>) => void;\n disable?: boolean;\n}\nexport const MenuItem = ({\n className = '',\n children,\n onClick,\n disable = false,\n}: MenuItemProps): ReactElement => {\n const handleClickEvent = (e) => {\n if (!disable && onClick) {\n onClick?.(e);\n }\n };\n return (\n <li\n className={getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : ''])}\n role=\"menuitem\"\n aria-disabled={disable ? true : false}\n onClick={handleClickEvent}\n onKeyPress={(e) => { if (e.keyCode === ENTER_KEY) handleClickEvent(e); }}\n tabIndex={0}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={disable ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n );\n};\n\nexport const MenuRoot = (): ReactElement => (\n <div\n id=\"sendbird-dropdown-portal\"\n className=\"sendbird-dropdown-portal\"\n />\n);\nexport const EmojiReactionListRoot = (): ReactElement => <div id=\"sendbird-emoji-list-portal\" />;\n\ntype MenuDisplayingFunc = () => void;\nexport interface ContextMenuProps {\n menuTrigger?: (MenuDisplayingFunc) => ReactElement;\n menuItems: (MenuDisplayingFunc) => ReactElement;\n isOpen?: boolean;\n}\nexport default function ContextMenu({\n menuTrigger,\n menuItems,\n isOpen,\n}: ContextMenuProps): ReactElement {\n const [showMenu, setShowMenu] = useState(false);\n return (\n <div\n className=\"sendbird-context-menu\"\n style={{ display: 'inline' }}\n >\n {menuTrigger?.(() => setShowMenu(!showMenu))}\n {(showMenu || isOpen) && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n"],"names":["MenuItems","_super","__extends","props","_this","call","menuRef","React","createRef","setupEvents","closeDropdown","handleClickOutside","event","current","_b","_a","contains","target","setState","document","addEventListener","cleanUpEvents","state","removeEventListener","getMenuPosition","_c","parentRef","openLeft","parentRect","getBoundingClientRect","x","left","y","top","menuStyle","innerWidth","window","innerHeight","rect","height","width","padding","Number","isNaN","prototype","componentDidMount","componentWillUnmount","render","children","style","className","createPortal","concat","__assign","display","position","Math","round","getElementById","Component","EmojiListItems","parentContainRef","spaceFromTrigger","useState","reactionStyle","setReactionStyle","reactionRef","useRef","useEffect","classList","add","remove","handleClickOutSide","spaceFromTriggerX","spaceFromTriggerY","maximumLeft","SortByRow","ENTER_KEY","_MenuItems","_EmojiListItems","MenuItem","onClick","disable","handleClickEvent","e","getClassName","keyCode","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","isOpen","showMenu","setShowMenu"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,IAAAA,WAAA;AAAA;AAAA,UAAAC,MAAA,EAAA;AAAuCC,EAAAA,mBAA+C,CAAAF,SAAA,EAAAC,MAAA,CAA/C,CAAA;;EACrC,SAAAD,SAAA,CAAYG,KAAZ,EAAiC;IAAjC,IACEC,KAAA,GAAAH,MAAA,CAAAI,IAAA,CAAA,IAAA,EAAMF,KAAN,CAAA,IAKD,IAND,CAAA;;AAOAC,IAAAA,KAAA,CAAAE,OAAA,gBAA6CC,yBAAK,CAACC,SAAN,EAA7C,CAAA;;IAWAJ,KAAA,CAAAK,WAAA,GAAc,YAAA;AACJ,MAAA,IAAAC,aAAa,GAAKN,KAAI,CAACD,KAAL,cAAlB,CAAA;AACA,MAAA,IAAAG,OAAO,GAAKF,KAAI,CAAAE,OAAhB,CAAA;;AACR,MAAA,IAAMK,kBAAkB,GAAG,UAACC,KAAD,EAAM;;;AAC/B,QAAA,IAAI,CAAAN,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEO,OAAT,KAAoB,EAAC,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAT,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEO,OAAT,MAAkB,IAAlB,IAAkBE,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAAC,QAAlB,MAA6B,IAA7B,IAA6BF,EAAA,KAAA,KAAA,CAA7B,GAA6B,KAAA,CAA7B,GAA6BA,EAAA,CAAAT,IAAA,CAAAU,EAAA,EAAAH,KAAK,CAACK,MAAN,CAA9B,CAAxB,EAAqE;AACnEP,UAAAA,aAAa,KAAb,IAAA,IAAAA,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,aAAa,EAAb,CAAA;AACD,SAAA;OAHH,CAAA;;MAKAN,KAAI,CAACc,QAAL,CAAc;AACZP,QAAAA,kBAAkB,EAAAA,kBAAAA;OADpB,CAAA,CAAA;;AAIAQ,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCT,kBAAvC,CAAA,CAAA;KAZF,CAAA;;IAeAP,KAAA,CAAAiB,aAAA,GAAgB,YAAA;AAEZ,MAAA,IAAAV,kBAAkB,GAChBP,KAAI,CAACkB,KAAL,mBADF,CAAA;AAEFH,MAAAA,QAAQ,CAACI,mBAAT,CAA6B,WAA7B,EAA0CZ,kBAA1C,CAAA,CAAA;KAJF,CAAA;;IAOAP,KAAA,CAAAoB,eAAA,GAAkB,YAAA;;;AACV,MAAA,IAAAC,EAAA,GAA0BrB,KAAI,CAACD,KAA/B;AAAA,UAAEuB,SAAS,GAAAD,EAAA,CAAAC,SAAX;AAAA,UAAaC,QAAQ,GAAAF,EAAA,CAAAE,QAArB,CAAA;MACN,IAAMC,UAAU,GAAG,CAAAd,EAAA,GAAA,CAAAC,EAAA,GAAAW,SAAS,KAAT,IAAA,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEb,OAAX,MAAoB,IAApB,IAAoBE,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAc,qBAApB,UAAA,iBAAA,SAAA,cAAnB,CAAA;AACA,MAAA,IAAMC,CAAC,GAAG,CAAAF,UAAU,SAAV,IAAAA,UAAU,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAAA,UAAU,CAAEE,CAAZ,MAAiBF,UAAU,KAAA,IAAV,IAAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,UAAU,CAAEG,IAA7B,KAAqC,CAA/C,CAAA;AACA,MAAA,IAAMC,CAAC,GAAG,CAAAJ,UAAU,SAAV,IAAAA,UAAU,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAAA,UAAU,CAAEI,CAAZ,MAAiBJ,UAAU,KAAA,IAAV,IAAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,UAAU,CAAEK,GAA7B,KAAoC,CAA9C,CAAA;AACA,MAAA,IAAMC,SAAS,GAAG;AAChBD,QAAAA,GAAG,EAAED,CADW;AAEhBD,QAAAA,IAAI,EAAED,CAAAA;OAFR,CAAA;MAIA,IAAI,CAAC1B,KAAI,CAACE,OAAL,CAAaO,OAAlB,EAA2B,OAAOqB,SAAP,CAAA;AACnB,MAAA,IAAAC,UAAU,GAAkBC,MAAM,CAAAD,UAAlC;AAAA,UAAYE,WAAW,GAAKD,MAAM,CAAAC,WAAlC,CAAA;;MACR,IAAMC,IAAI,GAAGlC,KAAI,CAACE,OAAL,CAAaO,OAAb,CAAqBgB,qBAArB,EAAb,CAAA;;AACA,MAAA,IAAIG,CAAC,GAAGM,IAAI,CAACC,MAAT,GAAkBF,WAAtB,EAAmC;AACjCH,QAAAA,SAAS,CAACD,GAAV,IAAiBK,IAAI,CAACC,MAAtB,CAAA;AACD,OAAA;;MACD,IAAIT,CAAC,GAAGQ,IAAI,CAACE,KAAT,GAAiBL,UAAjB,IAA+B,CAACR,QAApC,EAA8C;AAC5CO,QAAAA,SAAS,CAACH,IAAV,IAAkBO,IAAI,CAACE,KAAvB,CAAA;AACD,OAAA;;AACD,MAAA,IAAIN,SAAS,CAACD,GAAV,GAAgB,CAApB,EAAuB;AACrBC,QAAAA,SAAS,CAACD,GAAV,GAAgBK,IAAI,CAACC,MAAL,GAAcF,WAAd,GAA4B,CAACA,WAAW,GAAGC,IAAI,CAACC,MAApB,IAA8B,CAA1D,GAA8D,CAA9E,CAAA;AACD,OAAA;;AACD,MAAA,IAAIL,SAAS,CAACH,IAAV,GAAiB,CAArB,EAAwB;AACtBG,QAAAA,SAAS,CAACH,IAAV,GAAiBO,IAAI,CAACE,KAAL,GAAaL,UAAb,GAA0B,CAACA,UAAU,GAAGG,IAAI,CAACE,KAAnB,IAA4B,CAAtD,GAA0D,CAA3E,CAAA;AACD,OAAA;;MACDN,SAAS,CAACD,GAAV,IAAiB,EAAjB,CAAA;;AACA,MAAA,IAAIN,QAAJ,EAAc;AACZ,QAAA,IAAMc,OAAO,GAAGC,MAAM,CAACC,KAAP,CAAaL,IAAI,CAACE,KAAL,GAAa,EAA1B,CAAA,GACZ,GADY;AAAA,UAEZF,IAAI,CAACE,KAAL,GAAa,EAFjB,CAAA;QAGAN,SAAS,CAACH,IAAV,IAAkBU,OAAlB,CAAA;AACD,OAAA;;MACDrC,KAAI,CAACc,QAAL,CAAc;AAAEgB,QAAAA,SAAS,EAAAA,SAAAA;OAAzB,CAAA,CAAA;;AACA,MAAA,OAAOA,SAAP,CAAA;KAhCF,CAAA;;IAtCE9B,KAAI,CAACkB,KAAL,GAAa;AACXY,MAAAA,SAAS,EAAE,EADA;MAEXvB,kBAAkB,EAAE,cAAmB;KAFzC,CAAA;;AAID,GAAA;;AAGDX,EAAAA,SAAA,CAAA4C,SAAA,CAAAC,iBAAA,GAAA,YAAA;AACE,IAAA,IAAA,CAAKpC,WAAL,EAAA,CAAA;AACA,IAAA,IAAA,CAAKe,eAAL,EAAA,CAAA;GAFF,CAAA;;AAKAxB,EAAAA,SAAA,CAAA4C,SAAA,CAAAE,oBAAA,GAAA,YAAA;AACE,IAAA,IAAA,CAAKzB,aAAL,EAAA,CAAA;GADF,CAAA;;AA6DArB,EAAAA,SAAA,CAAA4C,SAAA,CAAAG,MAAA,GAAA,YAAA;;;AACU,IAAA,IAAAb,SAAS,GAAK,IAAKZ,CAAAA,KAAL,UAAd,CAAA;IACF,IAAAR,KAAoC,IAAA,CAAKX,KAAzC;AAAA,QAAE6C,QAAQ,GAAAlC,EAAA,CAAAkC,QAAV;AAAA,QAAYC,KAAK,GAAAnC,EAAA,CAAAmC,KAAjB;AAAA,QAAmBxB,EAAY,GAAAX,EAAA,CAAAoC,SAA/B;QAAmBA,SAAS,GAACzB,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,KAA7B,CAAA;AACN,IAAA,oBACE0B,qBAAY,eAER5C,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAE,MAAA,IAAKJ,CAAAA,KAAL,MAAY,IAAZ,IAAYY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAYA,EAAA,CAAAmC,SAAAA;KAC1B,eAAA3C,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAC,kCAAA;AAAf,KAAA,CADF,eAEEA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AACE,MAAA,SAAS,EAAE,EAAG6C,CAAAA,MAAH,CAAGF,SAAH,EAAsC,0BAAtC,CADb;MAEE,GAAG,EAAE,KAAK5C,OAFZ;MAGE,KAAK,EACH+C,kBAAA,CAAA;AAAAC,QAAAA,OAAO,EAAE,cAAT;AACAC,QAAAA,QAAQ,EAAE,OADV;AAEAxB,QAAAA,IAAI,EAAE,EAAA,CAAGqB,MAAH,CAAGI,IAAI,CAACC,KAAL,CAAWvB,SAAS,CAACH,IAArB,CAAH,EAA6B,IAA7B,CAFN;AAGAE,QAAAA,GAAG,EAAE,EAAA,CAAAmB,MAAA,CAAGI,IAAI,CAACC,KAAL,CAAWvB,SAAS,CAACD,GAArB,CAAH,EAAgC,IAAhC,CAAA;AAHL,OAAA,EAIGgB,KAJH,CAAA;KAODD,EAAAA,QAXH,CAFF,CAFQ,EAmBV7B,QAAQ,CAACuC,cAAT,CAAwB,0BAAxB,CAnBU,CADd,CAAA;GAHF,CAAA;;AA2BF,EAAA,OAAC1D,SAAD,CAAA;AAAC,CAvGD,CAAuCO,yBAAK,CAACoD,SAA7C,CAAA;;ACJA,IAAMC,gBAAc,GAAG,UAAC7C,EAAD,EAMD;MALpBiC,QAAQ,GAAAjC,EAAA,CAAAiC;MACRtB,SAAS,GAAAX,EAAA,CAAAW;MACTmC,gBAAgB,GAAA9C,EAAA,CAAA8C;MAChB/C,EAAiC,GAAAC,EAAA,CAAA+C;MAAjCA,gBAAgB,GAAAhD,EAAA,KAAA,KAAA,CAAA,GAAG;AAAEgB,IAAAA,CAAC,EAAE,CAAL;AAAQE,IAAAA,CAAC,EAAE,CAAA;AAAX,GAAH,GAAiBlB;MACjCJ,aAAa,GAAAK,EAAA,CAAAL;;EAEP,IAAAe,KAAoCsC,cAAQ,CAAgB;AAAEhC,IAAAA,IAAI,EAAE,CAAR;AAAWE,IAAAA,GAAG,EAAE,CAAA;AAAhB,GAAhB,CAA5C;AAAA,MAAC+B,aAAa,QAAd;AAAA,MAAgBC,gBAAgB,QAAhC,CAAA;;AACN,EAAA,IAAMC,WAAW,GAAGC,YAAM,CAAC,IAAD,CAA1B,CAAA;AAEA;;AACAC,EAAAA,eAAS,CAAC,YAAA;AACR,IAAA,IAAIP,gBAAgB,KAAIA,gBAAgB,KAAhB,IAAA,IAAAA,gBAAgB,WAAhB,SAAA,GAAAA,gBAAgB,CAAEhD,OAAtB,CAApB,EAAmD;AACjDgD,MAAAA,gBAAgB,CAAChD,OAAjB,CAAyBwD,SAAzB,CAAmCC,GAAnC,CAAuC,6BAAvC,CAAA,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,YAAA;AACL,MAAA,IAAIT,gBAAgB,KAAIA,gBAAgB,KAAhB,IAAA,IAAAA,gBAAgB,WAAhB,SAAA,GAAAA,gBAAgB,CAAEhD,OAAtB,CAApB,EAAmD;AACjDgD,QAAAA,gBAAgB,CAAChD,OAAjB,CAAyBwD,SAAzB,CAAmCE,MAAnC,CAA0C,6BAA1C,CAAA,CAAA;AACD,OAAA;KAHH,CAAA;GAJO,EASN,EATM,CAAT,CAAA;AAWA;;AACAH,EAAAA,eAAS,CAAC,YAAA;AACR,IAAA,IAAMI,kBAAkB,GAAG,UAAC5D,KAAD,EAAM;;;AAC/B,MAAA,IAAI,CAAAsD,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAErD,OAAb,KAAwB,EAAC,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAmD,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAErD,OAAb,MAAsB,IAAtB,IAAsBE,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsBA,EAAA,CAAAC,QAAtB,MAAiC,IAAjC,IAAiCF,EAAA,KAAA,KAAA,CAAjC,GAAiC,KAAA,CAAjC,GAAiCA,EAAA,CAAAT,IAAA,CAAAU,EAAA,EAAAH,KAAK,CAACK,MAAN,CAAlC,CAA5B,EAA6E;QAC3EP,aAAa,EAAA,CAAA;AACd,OAAA;KAHH,CAAA;;AAKAS,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCoD,kBAAvC,CAAA,CAAA;AACA,IAAA,OAAO,YAAA;AACLrD,MAAAA,QAAQ,CAACI,mBAAT,CAA6B,WAA7B,EAA0CiD,kBAA1C,CAAA,CAAA;KADF,CAAA;GAPO,EAUN,EAVM,CAAT,CAAA;AAYA;;AACAJ,EAAAA,eAAS,CAAC,YAAA;;;AACR,IAAA,IAAMK,iBAAiB,GAAG,CAAAX,gBAAgB,KAAhB,IAAA,IAAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,gBAAgB,CAAEhC,CAAlB,KAAuB,CAAjD,CAAA;AACA,IAAA,IAAM4C,iBAAiB,GAAG,CAAAZ,gBAAgB,KAAhB,IAAA,IAAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,gBAAgB,CAAE9B,CAAlB,KAAuB,CAAjD,CAAA;AACA,IAAA,IAAMJ,UAAU,GAAG,CAAAb,EAAA,GAAAW,SAAS,KAAT,IAAA,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEb,OAAX,MAAoB,IAApB,IAAoBE,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAc,qBAAA,EAAvC,CAAA;IACA,IAAMC,CAAC,GAAGF,UAAU,CAACE,CAAX,IAAgBF,UAAU,CAACG,IAArC,CAAA;IACA,IAAMC,CAAC,GAAGJ,UAAU,CAACI,CAAX,IAAgBJ,UAAU,CAACK,GAArC,CAAA;AACA,IAAA,IAAM+B,aAAa,GAAG;AACpB/B,MAAAA,GAAG,EAAED,CADe;AAEpBD,MAAAA,IAAI,EAAED,CAAAA;KAFR,CAAA;;AAIA,IAAA,IAAI,EAACoC,WAAW,KAAX,IAAA,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAErD,OAAd,CAAJ,EAA2B;MACzBoD,gBAAgB,CAACD,aAAD,CAAhB,CAAA;AACD,KAFD,MAEO;AACL,MAAA,IAAM1B,IAAI,GAAG,CAAAxB,EAAA,GAAAoD,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAErD,OAAb,MAAsB,IAAtB,IAAsBC,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsBA,EAAA,CAAAe,qBAAA,EAAnC,CAAA;;AACA,MAAA,IAAImC,aAAa,CAAC/B,GAAd,GAAoBK,IAAI,CAACC,MAA7B,EAAqC;AACnCyB,QAAAA,aAAa,CAAC/B,GAAd,IAAqBL,UAAU,CAACW,MAAhC,CAAA;QACAyB,aAAa,CAAC/B,GAAd,IAAqByC,iBAArB,CAAA;AACD,OAHD,MAGO;AACLV,QAAAA,aAAa,CAAC/B,GAAd,IAAqBK,IAAI,CAACC,MAA1B,CAAA;QACAyB,aAAa,CAAC/B,GAAd,IAAqByC,iBAArB,CAAA;AACD,OAAA;;AACDV,MAAAA,aAAa,CAACjC,IAAd,IAAsBO,IAAI,CAACE,KAAL,GAAa,CAAnC,CAAA;MACAwB,aAAa,CAACjC,IAAd,IAAuBH,UAAU,CAACW,MAAX,GAAoB,CAArB,GAA0B,CAAhD,CAAA;MACAyB,aAAa,CAACjC,IAAd,IAAsB0C,iBAAtB,CAAA;MACA,IAAME,WAAW,GAAGvC,MAAM,CAACD,UAAP,GAAoBG,IAAI,CAACE,KAA7C,CAAA;;AACA,MAAA,IAAImC,WAAW,GAAGX,aAAa,CAACjC,IAAhC,EAAsC;QACpCiC,aAAa,CAACjC,IAAd,GAAqB4C,WAArB,CAAA;AACD,OAAA;;AACD,MAAA,IAAIX,aAAa,CAACjC,IAAd,GAAqB,CAAzB,EAA4B;QAC1BiC,aAAa,CAACjC,IAAd,GAAqB,CAArB,CAAA;AACD,OAAA;;MACDkC,gBAAgB,CAACD,aAAD,CAAhB,CAAA;AACD,KAAA;GAhCM,EAiCN,EAjCM,CAAT,CAAA;EAmCA,oBACEb,qBAAY,eACV5C,yBACE,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,eAAAA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,kCAAA;AAAf,GAAA,CADF,eAEEA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AACE,IAAA,SAAS,EAAC,iCADZ;AAEE,IAAA,GAAG,EAAE2D,WAFP;AAGE,IAAA,KAAK,EAAE;AACLZ,MAAAA,OAAO,EAAE,cADJ;AAELC,MAAAA,QAAQ,EAAE,OAFL;AAGLxB,MAAAA,IAAI,EAAE,EAAA,CAAGqB,MAAH,CAAGI,IAAI,CAACC,KAAL,CAAWO,aAAa,CAACjC,IAAzB,CAAH,EAAqC,IAArC,CAHD;AAILE,MAAAA,GAAG,EAAE,EAAA,CAAGmB,MAAH,CAAGI,IAAI,CAACC,KAAL,CAAWO,aAAa,CAAC/B,GAAzB,CAAH,EAAoC,IAApC,CAAA;AAJA,KAAA;AAHT,GAAA,eAUE1B,wCAACqE,YAAD,EAAA;AACE,IAAA,SAAS,EAAC,sCADZ;AAEE,IAAA,YAAY,EAAE,CAFhB;AAGE,IAAA,SAAS,EAAE,EAHb;AAIE,IAAA,UAAU,EAAE,EAAA;GAEX5B,EAAAA,QANH,CAVF,CAFF,CADU,EAuBV7B,QAAQ,CAACuC,cAAT,CAAwB,4BAAxB,CAvBU,CADd,CAAA;AA2BD,CAlGD;;ACNA,IAAMmB,SAAS,GAAG,EAAlB,CAAA;AAEO,IAAM7E,SAAS,GAAG8E,YAAlB;AACA,IAAMlB,cAAc,GAAGmB,iBAAvB;AAQMC,IAAAA,QAAQ,GAAG,UAACjE,EAAD,EAKR;AAJd,EAAA,IAAAD,EAAA,GAAAC,EAAA,CAAAmC,SAAA;MAAAA,SAAS,GAAApC,EAAA,KAAA,KAAA,CAAA,GAAG,EAAH,GAAKA,EAAd;AAAA,MACAkC,QAAQ,GAAAjC,EAAA,CAAAiC,QADR;AAAA,MAEAiC,OAAO,aAFP;AAAA,MAGAxD,EAAA,GAAAV,EAAA,CAAAmE,OAHA;MAGAA,OAAO,GAAAzD,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA,EAHf,CAAA;;AAKA,EAAA,IAAM0D,gBAAgB,GAAG,UAACC,CAAD,EAAE;AACzB,IAAA,IAAI,CAACF,OAAD,IAAYD,OAAhB,EAAyB;AACvBA,MAAAA,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAGG,CAAH,CAAP,CAAA;AACD,KAAA;GAHH,CAAA;;EAKA,oBACE7E,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AACE,IAAA,SAAS,EAAE8E,kBAAY,CAAC,CAACnC,SAAD,EAAY,8BAAZ,EAA4CgC,OAAO,GAAG,SAAH,GAAe,EAAlE,CAAD,CADzB;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,eAAA,EAAeA,OAAO,GAAG,IAAH,GAAU,KAHlC;AAIE,IAAA,OAAO,EAAEC,gBAJX;IAKE,UAAU,EAAE,UAACC,CAAD,EAAE;MAAO,IAAIA,CAAC,CAACE,OAAF,KAAcT,SAAlB,EAA6BM,gBAAgB,CAACC,CAAD,CAAhB,CAAA;KALpD;AAME,IAAA,QAAQ,EAAE,CAAA;AANZ,GAAA,eAQE7E,wCAACgF,cAAD,EAAA;AACE,IAAA,SAAS,EAAC,oCADZ;IAEE,IAAI,EAAEC,wBAAe,CAACC,UAFxB;IAGE,KAAK,EAAEP,OAAO,GAAGQ,oBAAW,CAACC,cAAf,GAAgCD,oBAAW,CAACE,cAAAA;GAEzD5C,EAAAA,QALH,CARF,CADF,CAAA;AAkBD,EA7BM;AA+BA,IAAM6C,QAAQ,GAAG;EAAoB,oBAC1CtF,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,EAAE,EAAC,0BADL;AAEE,IAAA,SAAS,EAAC,0BAAA;GAH8B,CAAA,CAAA;AAK3C,EALM;AAMA,IAAMuF,qBAAqB,GAAG;EAAoB,oBAAAvF,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,EAAE,EAAC,4BAAA;GAAR,CAAA,CAAA;AAAuC,EAAzF;AAQiB,SAAAwF,WAAA,CAAYhF,EAAZ,EAIL;AAHjB,EAAA,IAAAiF,WAAW,iBAAX;AAAA,MACAC,SAAS,GAAAlF,EAAA,CAAAkF,SADT;AAAA,MAEAC,MAAM,GAAAnF,EAAA,CAAAmF,MAFN,CAAA;;AAIM,EAAA,IAAApF,EAAA,GAA0BiD,cAAQ,CAAC,KAAD,CAAlC;AAAA,MAACoC,QAAQ,GAAArF,EAAA,CAAA,CAAA,CAAT;AAAA,MAAWsF,WAAW,GAAAtF,EAAA,CAAA,CAAA,CAAtB,CAAA;;EACN,oBACEP,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,uBADZ;AAEE,IAAA,KAAK,EAAE;AAAE+C,MAAAA,OAAO,EAAE,QAAA;AAAX,KAAA;AAFT,GAAA,EAIG0C,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAG,YAAM;AAAA,IAAA,OAAAI,WAAW,CAAC,CAACD,QAAF,CAAX,CAAA;GAAT,CAJd,EAKG,CAACA,QAAQ,IAAID,MAAb,KAAwBD,SAAS,CAAC,YAAM;IAAA,OAAAG,WAAW,CAAC,KAAD,CAAX,CAAA;AAAkB,GAAzB,CALpC,CADF,CAAA;AASD;;;;;;;;;"}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
3
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
4
4
  var React = require('react');
5
- var color = require('../color-03c2ecf2.js');
6
- var ui_Label = require('../index-b1a4b6f0.js');
5
+ var color = require('../color-4ed3829e.js');
6
+ var ui_Label = require('../index-249ae5ae.js');
7
7
  require('prop-types');
8
- require('../stringSet-da2fe019.js');
8
+ require('../stringSet-fd892563.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
@@ -8,17 +8,17 @@ var ui_ReactionButton = require('./ReactionButton.js');
8
8
  var ui_ImageRenderer = require('./ImageRenderer.js');
9
9
  var ui_Icon = require('./Icon.js');
10
10
  var ui_ContextMenu = require('./ContextMenu.js');
11
- var index = require('../index-1218eab2.js');
12
- var LocalizationContext = require('../LocalizationContext-3c85c616.js');
13
- require('../tslib.es6-bce345aa.js');
14
- require('../index-b1a4b6f0.js');
11
+ var index = require('../index-c015580f.js');
12
+ var LocalizationContext = require('../LocalizationContext-68ab5e81.js');
13
+ require('../tslib.es6-029d13d0.js');
14
+ require('../index-249ae5ae.js');
15
15
  require('prop-types');
16
- require('../stringSet-da2fe019.js');
16
+ require('../stringSet-fd892563.js');
17
17
  require('react-dom');
18
18
  require('./SortByRow.js');
19
- require('../uuid-2a459d4b.js');
19
+ require('../uuid-de38f276.js');
20
20
  require('../utils/message/getOutgoingMessageState.js');
21
- require('../index-607cb4ff.js');
21
+ require('../index-0cab061c.js');
22
22
 
23
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
24
 
@@ -33,7 +33,10 @@ var EmojiReactions = function (_a) {
33
33
  emojiContainer = _a.emojiContainer,
34
34
  memberNicknamesMap = _a.memberNicknamesMap,
35
35
  _d = _a.spaceFromTrigger,
36
- spaceFromTrigger = _d === void 0 ? {} : _d,
36
+ spaceFromTrigger = _d === void 0 ? {
37
+ x: 0,
38
+ y: 0
39
+ } : _d,
37
40
  _e = _a.isByMe,
38
41
  isByMe = _e === void 0 ? false : _e,
39
42
  toggleReaction = _a.toggleReaction;
@@ -53,8 +56,11 @@ var EmojiReactions = function (_a) {
53
56
  }, /*#__PURE__*/React__default["default"].createElement(ui_ReactionBadge, {
54
57
  count: reaction.userIds.length,
55
58
  selected: reactedByMe,
56
- onClick: function () {
57
- return toggleReaction(message, reaction.key, reactedByMe);
59
+ onClick: function (e) {
60
+ var _a;
61
+
62
+ toggleReaction(message, reaction.key, reactedByMe);
63
+ (_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
58
64
  }
59
65
  }, /*#__PURE__*/React__default["default"].createElement(ui_ImageRenderer, {
60
66
  circle: true,
@@ -73,7 +79,12 @@ var EmojiReactions = function (_a) {
73
79
  className: "sendbird-emoji-reactions__add-reaction-badge",
74
80
  ref: addReactionRef,
75
81
  isAdd: true,
76
- onClick: toggleDropdown
82
+ onClick: function (e) {
83
+ var _a;
84
+
85
+ toggleDropdown();
86
+ (_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
87
+ }
77
88
  }, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
78
89
  type: ui_Icon.IconTypes.EMOJI_MORE,
79
90
  fillColor: ui_Icon.IconColors.ON_BACKGROUND_3,
@@ -90,9 +101,9 @@ var EmojiReactions = function (_a) {
90
101
  }, index.getEmojiListAll(emojiContainer).map(function (emoji) {
91
102
  var _a, _b, _c;
92
103
 
93
- var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.filter(function (reaction) {
104
+ var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.find(function (reaction) {
94
105
  return reaction.key === emoji.key;
95
- })[0]) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
106
+ })) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
96
107
  return reactorId === userId;
97
108
  });
98
109
  return /*#__PURE__*/React__default["default"].createElement(ui_ReactionButton, {
@@ -100,9 +111,10 @@ var EmojiReactions = function (_a) {
100
111
  width: "36px",
101
112
  height: "36px",
102
113
  selected: isReacted,
103
- onClick: function () {
114
+ onClick: function (e) {
104
115
  closeDropdown();
105
116
  toggleReaction(message, emoji.key, isReacted);
117
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
106
118
  }
107
119
  }, /*#__PURE__*/React__default["default"].createElement(ui_ImageRenderer, {
108
120
  url: (emoji === null || emoji === void 0 ? void 0 : emoji.url) || '',
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiReactions.js","sources":["../../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport ReactionBadge from '../ReactionBadge';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\n\nimport { getClassName, getEmojiListAll, getEmojiMapAll, getEmojiTooltipString, isReactedBy } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n message: UserMessage | FileMessage;\n emojiContainer: EmojiContainer;\n memberNicknamesMap: Map<string, string>;\n spaceFromTrigger?: Record<string, unknown>;\n isByMe?: boolean;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nconst EmojiReactions = ({\n className,\n userId,\n message,\n emojiContainer,\n memberNicknamesMap,\n spaceFromTrigger = {},\n isByMe = false,\n toggleReaction,\n}: Props): ReactElement => {\n const { stringSet } = useContext(LocalizationContext);\n const emojisMap = getEmojiMapAll(emojiContainer);\n const addReactionRef = useRef(null);\n\n return (\n <div className={getClassName([\n className, 'sendbird-emoji-reactions',\n isByMe ? 'outgoing' : 'incoming',\n ])}>\n {(message?.reactions?.length > 0) && (\n message.reactions.map((reaction: Reaction): ReactElement => {\n const reactedByMe = isReactedBy(userId, reaction);\n return (\n <TooltipWrapper\n className=\"sendbird-emoji-reactions__reaction-badge\"\n key={reaction?.key}\n hoverTooltip={(reaction?.userIds?.length > 0) && (\n <Tooltip>\n {getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)}\n </Tooltip>\n )}\n >\n <ReactionBadge\n count={reaction.userIds.length}\n selected={reactedByMe}\n onClick={() => toggleReaction(message, reaction.key, reactedByMe)}\n >\n <ImageRenderer\n circle\n url={emojisMap.get(reaction?.key)?.url || ''}\n width=\"20px\"\n height=\"20px\"\n defaultComponent={(\n <Icon width=\"20px\" height=\"20px\" type={IconTypes.QUESTION} />\n )}\n />\n </ReactionBadge>\n </TooltipWrapper>\n );\n })\n )}\n {(message?.reactions?.length < emojisMap.size) && (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <ReactionBadge\n className=\"sendbird-emoji-reactions__add-reaction-badge\"\n ref={addReactionRef}\n isAdd\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"20px\"\n height=\"20px\"\n />\n </ReactionBadge>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <EmojiListItems\n parentRef={addReactionRef}\n parentContainRef={addReactionRef}\n closeDropdown={closeDropdown}\n spacefromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={(): void => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n )}\n />\n )}\n </div>\n );\n}\n\nexport default EmojiReactions;\n"],"names":["EmojiReactions","_a","className","userId","message","emojiContainer","memberNicknamesMap","_d","spaceFromTrigger","_e","isByMe","toggleReaction","stringSet","useContext","LocalizationContext","emojisMap","getEmojiMapAll","addReactionRef","useRef","React","getClassName","_b","reactions","length","map","reaction","reactedByMe","isReactedBy","TooltipWrapper","key","userIds","Tooltip","getEmojiTooltipString","ReactionBadge","ImageRenderer","get","url","Icon","IconTypes","QUESTION","_c","size","ContextMenu","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","EmojiListItems","getEmojiListAll","emoji","isReacted","filter","some","reactorId","ReactionButton","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,IAAMA,cAAc,GAAG,UAACC,EAAD,EASf;;;AARN,EAAA,IAAAC,SAAS,GAAAD,EAAA,CAAAC,SAAT;AAAA,MACAC,MAAM,GAAAF,EAAA,CAAAE,MADN;AAAA,MAEAC,OAAO,GAAAH,EAAA,CAAAG,OAFP;AAAA,MAGAC,cAAc,GAAAJ,EAAA,CAAAI,cAHd;AAAA,MAIAC,kBAAkB,GAAAL,EAAA,CAAAK,kBAJlB;AAAA,MAKAC,EAAqB,GAAAN,EAAA,CAAAO,gBALrB;MAKAA,gBAAgB,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,EAAH,GAAKA,EALrB;AAAA,MAMAE,EAAA,GAAAR,EAAA,CAAAS,MANA;MAMAA,MAAM,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EANd;AAAA,MAOAE,cAAc,GAAAV,EAAA,CAAAU,cAPd,CAAA;AASQ,EAAA,IAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd,CAAA;AACR,EAAA,IAAMC,SAAS,GAAGC,oBAAc,CAACX,cAAD,CAAhC,CAAA;AACA,EAAA,IAAMY,cAAc,GAAGC,YAAM,CAAC,IAAD,CAA7B,CAAA;EAEA,oBACEC,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAEC,kBAAY,CAAC,CAC3BlB,SAD2B,EAChB,0BADgB,EAE3BQ,MAAM,GAAG,UAAH,GAAgB,UAFK,CAAD,CAAA;GAIxB,EAAA,CAAA,CAAAW,EAAA,GAAAjB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEkB,SAAT,MAAoB,IAApB,IAAoBD,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAE,MAApB,IAA6B,CAA9B,IACCnB,OAAO,CAACkB,SAAR,CAAkBE,GAAlB,CAAsB,UAACC,QAAD,EAAmB;;;AACvC,IAAA,IAAMC,WAAW,GAAGC,iBAAW,CAACxB,MAAD,EAASsB,QAAT,CAA/B,CAAA;AACA,IAAA,oBACEN,wCAACS,iBAAD,EAAA;AACE,MAAA,SAAS,EAAC,0CADZ;AAEE,MAAA,GAAG,EAAEH,QAAQ,SAAR,IAAAA,QAAQ,KAAA,KAAA,CAAR,GAAQ,KAAA,CAAR,GAAAA,QAAQ,CAAEI,GAFjB;MAGE,YAAY,EAAG,CAAA,CAAA5B,EAAA,GAAAwB,QAAQ,KAAR,IAAA,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEK,OAAV,MAAmB,IAAnB,IAAmB7B,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAAsB,MAAnB,IAA4B,CAA7B,iBACZJ,wCAACY,UAAD,EAAA,IAAA,EACGC,2BAAqB,CAACP,QAAD,EAAWtB,MAAX,EAAmBG,kBAAnB,EAAuCM,SAAvC,CADxB,CAAA;AAJJ,KAAA,eASEO,wCAACc,gBAAD,EAAA;AACE,MAAA,KAAK,EAAER,QAAQ,CAACK,OAAT,CAAiBP,MAD1B;AAEE,MAAA,QAAQ,EAAEG,WAFZ;AAGE,MAAA,OAAO,EAAE,YAAM;QAAA,OAAAf,cAAc,CAACP,OAAD,EAAUqB,QAAQ,CAACI,GAAnB,EAAwBH,WAAxB,CAAd,CAAA;AAAkD,OAAA;AAHnE,KAAA,eAKEP,wCAACe,gBAAD,EAAA;AACE,MAAA,MAAM,EADR,IAAA;AAEE,MAAA,GAAG,EAAE,CAAA,CAAAb,EAAA,GAAAN,SAAS,CAACoB,GAAV,CAAcV,QAAQ,KAAR,IAAA,IAAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,QAAQ,CAAEI,GAAxB,CAAA,MAA4B,IAA5B,IAA4BR,EAAA,KAAA,KAAA,CAA5B,GAA4B,KAAA,CAA5B,GAA4BA,EAAA,CAAEe,GAA9B,KAAqC,EAF5C;AAGE,MAAA,KAAK,EAAC,MAHR;AAIE,MAAA,MAAM,EAAC,MAJT;MAKE,gBAAgB,eACdjB,wCAACkB,kBAAD,EAAA;AAAM,QAAA,KAAK,EAAC,MAAZ;AAAmB,QAAA,MAAM,EAAC,MAA1B;QAAiC,IAAI,EAAEC,iBAAS,CAACC,QAAAA;AAAjD,OAAA,CAAA;AANJ,KAAA,CALF,CATF,CADF,CAAA;AA2BD,GA7BD,CALJ,EAoCI,CAAA,CAAAC,EAAA,GAAApC,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEkB,SAAT,MAAkB,IAAlB,IAAkBkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAEjB,MAApB,IAA6BR,SAAS,CAAC0B,IAAxC,iBACCtB,wCAACuB,yBAAD,EAAA;IACE,WAAW,EAAE,UAACC,cAAD,EAA2B;AAAmB,MAAA,oBACzDxB,wCAACc,gBAAD,EAAA;AACE,QAAA,SAAS,EAAC,8CADZ;AAEE,QAAA,GAAG,EAAEhB,cAFP;AAGE,QAAA,KAAK,EAHP,IAAA;AAIE,QAAA,OAAO,EAAE0B,cAAAA;AAJX,OAAA,eAMExB,wCAACkB,kBAAD,EAAA;QACE,IAAI,EAAEC,iBAAS,CAACM,UADlB;QAEE,SAAS,EAAEC,kBAAU,CAACC,eAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CANF,CADyD,CAAA;KAD7D;IAgBE,SAAS,EAAE,UAACC,aAAD,EAA6C;AAAA,MAAA,oBACtD5B,wCAAC6B,6BAAD,EAAA;AACE,QAAA,SAAS,EAAE/B,cADb;AAEE,QAAA,gBAAgB,EAAEA,cAFpB;AAGE,QAAA,aAAa,EAAE8B,aAHjB;AAIE,QAAA,gBAAgB,EAAEvC,gBAAAA;OAEjByC,EAAAA,qBAAe,CAAC5C,cAAD,CAAf,CAAgCmB,GAAhC,CAAoC,UAAC0B,KAAD,EAAa;;;AAChD,QAAA,IAAMC,SAAS,GAAY,CAAAX,EAAA,GAAA,CAAAnB,EAAA,GAAA,MAAAjB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEkB,SAAT,MAAkB,IAAlB,IAAkBrB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAC3CmD,MAD2C,CACpC,UAAC3B,QAAD,EAAiC;AAAA,UAAA,OAAAA,QAAQ,CAACI,GAAT,KAAiBqB,KAAK,CAACrB,GAAvB,CAAA;AAA0B,SADvB,CACyB,CAAA,CADzB,CAAlB,MAC6C,IAD7C,IAC6CR,EAAA,KAAA,KAAA,CAD7C,GAC6C,KAAA,CAD7C,GAC6CA,EAAA,CAAES,OAD/C,MAEzB,IAFyB,IAEzBU,EAAA,KAAA,KAAA,CAFyB,GAEzB,KAAA,CAFyB,GAEzBA,EAAA,CAAAa,IAAA,CAAK,UAACC,SAAD;UAAgC,OAAAA,SAAS,KAAKnD,MAAd,CAAA;AAAoB,SAAzD,CAFF,CAAA;AAGA,QAAA,oBACEgB,wCAACoC,iBAAD,EAAA;UACE,GAAG,EAAEL,KAAK,CAACrB,GADb;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,QAAQ,EAAEsB,SAJZ;AAKE,UAAA,OAAO,EAAE,YAAA;YACPJ,aAAa,EAAA,CAAA;YACbpC,cAAc,CAACP,OAAD,EAAU8C,KAAK,CAACrB,GAAhB,EAAqBsB,SAArB,CAAd,CAAA;AACD,WAAA;AARH,SAAA,eAUEhC,wCAACe,gBAAD,EAAA;AACE,UAAA,GAAG,EAAE,CAAAgB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEd,GAAP,KAAc,EADrB;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;UAIE,WAAW,EAAE,UAACoB,KAAD,EAA+B;YAAmB,oBAC7DrC,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,cAAA,KAAK,EAAEqC,KAAAA;AAAZ,aAAA,eACErC,wCAACkB,kBAAD,EAAA;cACE,IAAI,EAAEC,iBAAS,CAACC,QADlB;cAEE,SAAS,EAAEM,kBAAU,CAACC,eAFxB;AAGE,cAAA,KAAK,EAAC,MAHR;AAIE,cAAA,MAAM,EAAC,MAAA;AAJT,aAAA,CADF,CAD6D,CAAA;AAS9D,WAAA;AAbH,SAAA,CAVF,CADF,CAAA;AA4BD,OAhCA,CANH,CADsD,CAAA;AAyCvD,KAAA;AAzDH,GAAA,CArCJ,CADF,CAAA;AAoGD;;;;"}
1
+ {"version":3,"file":"EmojiReactions.js","sources":["../../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport ReactionBadge from '../ReactionBadge';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\n\nimport { getClassName, getEmojiListAll, getEmojiMapAll, getEmojiTooltipString, isReactedBy } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n message: UserMessage | FileMessage;\n emojiContainer: EmojiContainer;\n memberNicknamesMap: Map<string, string>;\n spaceFromTrigger?: { x: number, y: number };\n isByMe?: boolean;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nconst EmojiReactions = ({\n className,\n userId,\n message,\n emojiContainer,\n memberNicknamesMap,\n spaceFromTrigger = { x: 0, y: 0 },\n isByMe = false,\n toggleReaction,\n}: Props): ReactElement => {\n const { stringSet } = useContext(LocalizationContext);\n const emojisMap = getEmojiMapAll(emojiContainer);\n const addReactionRef = useRef(null);\n\n return (\n <div className={getClassName([\n className, 'sendbird-emoji-reactions',\n isByMe ? 'outgoing' : 'incoming',\n ])}>\n {(message?.reactions?.length > 0) && (\n message.reactions.map((reaction: Reaction): ReactElement => {\n const reactedByMe = isReactedBy(userId, reaction);\n return (\n <TooltipWrapper\n className=\"sendbird-emoji-reactions__reaction-badge\"\n key={reaction?.key}\n hoverTooltip={(reaction?.userIds?.length > 0) && (\n <Tooltip>\n {getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)}\n </Tooltip>\n )}\n >\n <ReactionBadge\n count={reaction.userIds.length}\n selected={reactedByMe}\n onClick={(e) => {\n toggleReaction(message, reaction.key, reactedByMe);\n e?.stopPropagation?.();\n }}\n >\n <ImageRenderer\n circle\n url={emojisMap.get(reaction?.key)?.url || ''}\n width=\"20px\"\n height=\"20px\"\n defaultComponent={(\n <Icon width=\"20px\" height=\"20px\" type={IconTypes.QUESTION} />\n )}\n />\n </ReactionBadge>\n </TooltipWrapper>\n );\n })\n )}\n {(message?.reactions?.length < emojisMap.size) && (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <ReactionBadge\n className=\"sendbird-emoji-reactions__add-reaction-badge\"\n ref={addReactionRef}\n isAdd\n onClick={(e) => {\n toggleDropdown();\n e?.stopPropagation?.();\n }}\n >\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"20px\"\n height=\"20px\"\n />\n </ReactionBadge>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <EmojiListItems\n parentRef={addReactionRef}\n parentContainRef={addReactionRef}\n closeDropdown={closeDropdown}\n spacefromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = (message?.reactions?.\n find((reaction: Reaction): boolean => reaction.key === emoji.key)?.userIds?.\n some((reactorId: string): boolean => reactorId === userId));\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={(e): void => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n e?.stopPropagation();\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n )}\n />\n )}\n </div>\n );\n}\n\nexport default EmojiReactions;\n"],"names":["EmojiReactions","_a","className","userId","message","emojiContainer","memberNicknamesMap","_d","spaceFromTrigger","x","y","_e","isByMe","toggleReaction","stringSet","useContext","LocalizationContext","emojisMap","getEmojiMapAll","addReactionRef","useRef","React","getClassName","_b","reactions","length","map","reaction","reactedByMe","isReactedBy","TooltipWrapper","key","userIds","Tooltip","getEmojiTooltipString","ReactionBadge","e","stopPropagation","ImageRenderer","get","url","Icon","IconTypes","QUESTION","_c","size","ContextMenu","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","EmojiListItems","getEmojiListAll","emoji","isReacted","find","some","reactorId","ReactionButton","style"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var ui_Label = require('../index-b1a4b6f0.js');
4
+ var ui_Label = require('../index-249ae5ae.js');
5
5
  var ui_Icon = require('./Icon.js');
6
6
  var ui_TextButton = require('./TextButton.js');
7
- var index = require('../index-1218eab2.js');
8
- var color = require('../color-03c2ecf2.js');
9
- var MediaQueryContext = require('../MediaQueryContext-c8f557d1.js');
7
+ var index = require('../index-c015580f.js');
8
+ var color = require('../color-4ed3829e.js');
9
+ var MediaQueryContext = require('../MediaQueryContext-7bd4247a.js');
10
10
  require('prop-types');
11
- require('../stringSet-da2fe019.js');
12
- require('../tslib.es6-bce345aa.js');
11
+ require('../stringSet-fd892563.js');
12
+ require('../tslib.es6-029d13d0.js');
13
13
  require('../utils/message/getOutgoingMessageState.js');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -26,8 +26,11 @@ function FileMessageItemBody(_a) {
26
26
  _d = _a.mouseHover,
27
27
  mouseHover = _d === void 0 ? false : _d,
28
28
  _e = _a.isReactionEnabled,
29
- isReactionEnabled = _e === void 0 ? false : _e;
29
+ isReactionEnabled = _e === void 0 ? false : _e,
30
+ _f = _a.truncateLimit,
31
+ truncateLimit = _f === void 0 ? null : _f;
30
32
  var isMobile = MediaQueryContext.useMediaQueryContext().isMobile;
33
+ var truncateMaxNum = truncateLimit || (isMobile ? 20 : null);
31
34
  return /*#__PURE__*/React__default["default"].createElement("div", {
32
35
  className: index.getClassName([className, 'sendbird-file-message-item-body', isByMe ? 'outgoing' : 'incoming', mouseHover ? 'mouse-hover' : '', isReactionEnabled && ((_b = message === null || message === void 0 ? void 0 : message.reactions) === null || _b === void 0 ? void 0 : _b.length) > 0 ? 'reactions' : ''])
33
36
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -54,7 +57,7 @@ function FileMessageItemBody(_a) {
54
57
  className: "sendbird-file-message-item-body__file-name__text",
55
58
  type: ui_Label.LabelTypography.BODY_1,
56
59
  color: isByMe ? ui_Label.LabelColors.ONCONTENT_1 : ui_Label.LabelColors.ONBACKGROUND_1
57
- }, index.truncateString((message === null || message === void 0 ? void 0 : message.name) || (message === null || message === void 0 ? void 0 : message.url), isMobile ? 20 : null))));
60
+ }, index.truncateString((message === null || message === void 0 ? void 0 : message.name) || (message === null || message === void 0 ? void 0 : message.url), truncateMaxNum))));
58
61
  }
59
62
 
60
63
  module.exports = FileMessageItemBody;
@@ -1 +1 @@
1
- {"version":3,"file":"FileMessageItemBody.js","sources":["../../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport { getClassName, getUIKitFileType, truncateString } from '../../utils';\nimport { Colors } from '../../utils/color';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n}\n\nexport default function FileMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n isReactionEnabled = false,\n}: Props): ReactElement {\n const { isMobile } = useMediaQueryContext();\n return (\n <div className={getClassName([\n className,\n 'sendbird-file-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n <div className=\"sendbird-file-message-item-body__file-icon\">\n <Icon\n className=\"sendbird-file-message-item-body__file-icon__icon\"\n type={{\n IMAGE: IconTypes.PHOTO,\n VIDEO: IconTypes.PLAY,\n AUDIO: IconTypes.FILE_AUDIO,\n GIF: IconTypes.GIF,\n OTHERS: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(message?.type)]}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n <TextButton\n className=\"sendbird-file-message-item-body__file-name\"\n onClick={() => { window.open(message?.url) }}\n color={isByMe ? Colors.ONCONTENT_1 : Colors.ONBACKGROUND_1}\n >\n <Label\n className=\"sendbird-file-message-item-body__file-name__text\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {\n truncateString(message?.name || message?.url, isMobile ? 20 : null)\n }\n </Label>\n </TextButton>\n </div>\n );\n}\n"],"names":["FileMessageItemBody","_a","className","message","_c","isByMe","_d","mouseHover","_e","isReactionEnabled","isMobile","useMediaQueryContext","React","getClassName","_b","reactions","length","Icon","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","TextButton","window","open","url","Colors","ONCONTENT_1","ONBACKGROUND_1","Label","LabelTypography","BODY_1","LabelColors","truncateString","name"],"mappings":";;;;;;;;;;;;;;;;;;AAmBwB,SAAAA,mBAAA,CAAoBC,EAApB,EAMhB;;;MALNC,SAAS,GAAAD,EAAA,CAAAC;MACTC,OAAO,GAAAF,EAAA,CAAAE;MACPC;MAAAC,MAAM,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA;MACdE;MAAAC,UAAU,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA;MAClBE;MAAAC,iBAAiB,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA;AAEjB,EAAA,IAAAE,QAAQ,GAAKC,sCAAoB,EAAA,SAAjC,CAAA;EACR,oBACEC,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAEC,kBAAY,CAAC,CAC3BX,SAD2B,EAE3B,iCAF2B,EAG3BG,MAAM,GAAG,UAAH,GAAgB,UAHK,EAI3BE,UAAU,GAAG,aAAH,GAAmB,EAJF,EAK1BE,iBAAiB,IAAI,CAAA,CAAAK,EAAA,GAAAX,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEY,SAAT,UAAA,iBAAA,SAAA,MAAoBC,MAApB,IAA6B,CAAnD,GAAwD,WAAxD,GAAsE,EAL3C,CAAD,CAAA;GAO1B,eAAAJ,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,4CAAA;AAAf,GAAA,eACEA,wCAACK,kBAAD,EAAA;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAE;MACJC,KAAK,EAAEC,iBAAS,CAACC,KADb;MAEJC,KAAK,EAAEF,iBAAS,CAACG,IAFb;MAGJC,KAAK,EAAEJ,iBAAS,CAACK,UAHb;MAIJC,GAAG,EAAEN,iBAAS,CAACM,GAJX;MAKJC,MAAM,EAAEP,iBAAS,CAACQ,aAAAA;AALd,KAAA,CAMJC,sBAAgB,CAACzB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE0B,IAAV,CANZ,CAFR;IASE,SAAS,EAAEC,kBAAU,CAACC,OATxB;AAUE,IAAA,KAAK,EAAC,MAVR;AAWE,IAAA,MAAM,EAAC,MAAA;GAZX,CAAA,CAPF,eAsBEnB,yBAAA,CAAA,aAAA,CAACoB,aAAD,EAAA;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE,YAAA;AAAQC,MAAAA,MAAM,CAACC,IAAP,CAAY/B,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEgC,GAArB,CAAA,CAAA;KAFnB;IAGE,KAAK,EAAE9B,MAAM,GAAG+B,YAAM,CAACC,WAAV,GAAwBD,YAAM,CAACE,cAAAA;AAH9C,GAAA,eAKE1B,wCAAC2B,cAAD,EAAA;AACE,IAAA,SAAS,EAAC,kDADZ;IAEE,IAAI,EAAEC,wBAAe,CAACC,MAFxB;IAGE,KAAK,EAAEpC,MAAM,GAAGqC,oBAAW,CAACL,WAAf,GAA6BK,oBAAW,CAACJ,cAAAA;GAGpDK,EAAAA,oBAAc,CAAC,CAAAxC,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEyC,IAAT,MAAiBzC,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEgC,GAA1B,CAAD,EAAgCzB,QAAQ,GAAG,EAAH,GAAQ,IAAhD,CANlB,CALF,CAtBF,CADF,CAAA;AAwCD;;;;"}
1
+ {"version":3,"file":"FileMessageItemBody.js","sources":["../../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport { getClassName, getUIKitFileType, truncateString } from '../../utils';\nimport { Colors } from '../../utils/color';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n truncateLimit?: number;\n}\n\nexport default function FileMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n isReactionEnabled = false,\n truncateLimit = null,\n}: Props): ReactElement {\n const { isMobile } = useMediaQueryContext();\n const truncateMaxNum = truncateLimit || (isMobile ? 20 : null);\n return (\n <div className={getClassName([\n className,\n 'sendbird-file-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n <div className=\"sendbird-file-message-item-body__file-icon\">\n <Icon\n className=\"sendbird-file-message-item-body__file-icon__icon\"\n type={{\n IMAGE: IconTypes.PHOTO,\n VIDEO: IconTypes.PLAY,\n AUDIO: IconTypes.FILE_AUDIO,\n GIF: IconTypes.GIF,\n OTHERS: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(message?.type)]}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n <TextButton\n className=\"sendbird-file-message-item-body__file-name\"\n onClick={() => { window.open(message?.url) }}\n color={isByMe ? Colors.ONCONTENT_1 : Colors.ONBACKGROUND_1}\n >\n <Label\n className=\"sendbird-file-message-item-body__file-name__text\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {truncateString(message?.name || message?.url, truncateMaxNum)}\n </Label>\n </TextButton>\n </div>\n );\n}\n"],"names":["FileMessageItemBody","_a","className","message","_c","isByMe","_d","mouseHover","_e","isReactionEnabled","_f","truncateLimit","isMobile","useMediaQueryContext","truncateMaxNum","React","getClassName","_b","reactions","length","Icon","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","TextButton","window","open","url","Colors","ONCONTENT_1","ONBACKGROUND_1","Label","LabelTypography","BODY_1","LabelColors","truncateString","name"],"mappings":"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"}
@@ -4,18 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var reactDom = require('react-dom');
7
- var LocalizationContext = require('../LocalizationContext-3c85c616.js');
8
- var index = require('../index-1b69f7d2.js');
9
- var index$1 = require('../index-1218eab2.js');
7
+ var LocalizationContext = require('../LocalizationContext-68ab5e81.js');
8
+ var index = require('../index-f31610a5.js');
9
+ var index$1 = require('../index-c015580f.js');
10
10
  var ui_Avatar = require('./Avatar.js');
11
- var ui_Label = require('../index-b1a4b6f0.js');
11
+ var ui_Label = require('../index-249ae5ae.js');
12
12
  var ui_Icon = require('./Icon.js');
13
- require('../stringSet-da2fe019.js');
14
- require('../index-607cb4ff.js');
15
- require('../tslib.es6-bce345aa.js');
13
+ require('../stringSet-fd892563.js');
14
+ require('../index-0cab061c.js');
15
+ require('../tslib.es6-029d13d0.js');
16
16
  require('../utils/message/getOutgoingMessageState.js');
17
17
  require('./ImageRenderer.js');
18
- require('../uuid-2a459d4b.js');
18
+ require('../uuid-de38f276.js');
19
19
  require('prop-types');
20
20
 
21
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
3
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
3
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
package/cjs/ui/Input.js CHANGED
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var ui_Label = require('../index-b1a4b6f0.js');
6
+ var ui_Label = require('../index-249ae5ae.js');
7
7
  require('prop-types');
8
- require('../stringSet-da2fe019.js');
8
+ require('../stringSet-fd892563.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
package/cjs/ui/Label.js CHANGED
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
6
  require('prop-types');
7
- var ui_Label = require('../index-b1a4b6f0.js');
8
- require('../stringSet-da2fe019.js');
7
+ var ui_Label = require('../index-249ae5ae.js');
8
+ require('../stringSet-fd892563.js');
9
9
 
10
10
 
11
11
 
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var PropTypes = require('prop-types');
7
- var ui_Label = require('../index-b1a4b6f0.js');
8
- require('../stringSet-da2fe019.js');
7
+ var ui_Label = require('../index-249ae5ae.js');
8
+ require('../stringSet-fd892563.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
package/cjs/ui/Loader.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../tslib.es6-bce345aa.js');
3
+ var tslib_es6 = require('../tslib.es6-029d13d0.js');
4
4
  var React = require('react');
5
5
  var ui_Icon = require('./Icon.js');
6
6
  require('prop-types');