@sendbird/uikit-react 3.4.5 → 3.4.6-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/App.js +103 -128
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +14 -0
  4. package/Channel/components/ChannelHeader.js +26 -27
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +54 -59
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +36 -37
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +5 -5
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +106 -136
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +67 -87
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +95 -140
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +20 -21
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +59 -90
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +19 -33
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +9 -10
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +14 -14
  27. package/Channel.js +39 -38
  28. package/Channel.js.map +1 -1
  29. package/ChannelList/components/AddChannel.js +19 -23
  30. package/ChannelList/components/AddChannel.js.map +1 -1
  31. package/ChannelList/components/ChannelListHeader.js +14 -18
  32. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  33. package/ChannelList/components/ChannelListUI.js +49 -64
  34. package/ChannelList/components/ChannelListUI.js.map +1 -1
  35. package/ChannelList/components/ChannelPreview.js +43 -49
  36. package/ChannelList/components/ChannelPreview.js.map +1 -1
  37. package/ChannelList/components/ChannelPreviewAction.js +19 -22
  38. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  39. package/ChannelList/context.js +8 -8
  40. package/ChannelList.js +29 -30
  41. package/ChannelList.js.map +1 -1
  42. package/{ChannelListProvider-10fe7340.js → ChannelListProvider-45cf488b.js} +77 -172
  43. package/ChannelListProvider-45cf488b.js.map +1 -0
  44. package/{ChannelProvider-4ac82784.js → ChannelProvider-9a52ed96.js} +185 -340
  45. package/ChannelProvider-9a52ed96.js.map +1 -0
  46. package/ChannelSettings/components/ChannelProfile.js +13 -21
  47. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  48. package/ChannelSettings/components/ChannelSettingsUI.js +24 -31
  49. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  50. package/ChannelSettings/components/EditDetailsModal.js +20 -29
  51. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  52. package/ChannelSettings/components/LeaveChannel.js +18 -26
  53. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  54. package/ChannelSettings/components/ModerationPanel.js +66 -109
  55. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  56. package/ChannelSettings/components/UserListItem.js +21 -21
  57. package/ChannelSettings/components/UserListItem.js.map +1 -1
  58. package/ChannelSettings/components/UserPanel.js +16 -19
  59. package/ChannelSettings/components/UserPanel.js.map +1 -1
  60. package/ChannelSettings/context.js +22 -30
  61. package/ChannelSettings/context.js.map +1 -1
  62. package/ChannelSettings.js +17 -17
  63. package/ChannelSettings.js.map +1 -1
  64. package/CreateChannel/components/CreateChannelUI.js +17 -19
  65. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  66. package/CreateChannel/components/InviteUsers.js +35 -56
  67. package/CreateChannel/components/InviteUsers.js.map +1 -1
  68. package/CreateChannel/components/SelectChannelType.js +11 -17
  69. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  70. package/CreateChannel/context.js +4 -4
  71. package/CreateChannel.js +18 -18
  72. package/CreateChannel.js.map +1 -1
  73. package/{CreateChannelProvider-11045f46.js → CreateChannelProvider-8c395571.js} +9 -16
  74. package/{CreateChannelProvider-11045f46.js.map → CreateChannelProvider-8c395571.js.map} +1 -1
  75. package/CreateOpenChannel/components/CreateOpenChannelUI.js +17 -25
  76. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  77. package/CreateOpenChannel/context.js +7 -12
  78. package/CreateOpenChannel/context.js.map +1 -1
  79. package/CreateOpenChannel.js +14 -14
  80. package/CreateOpenChannel.js.map +1 -1
  81. package/EditUserProfile/components/EditUserProfileUI.js +11 -12
  82. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  83. package/EditUserProfile/context.js +0 -2
  84. package/EditUserProfile/context.js.map +1 -1
  85. package/EditUserProfile.js +13 -14
  86. package/EditUserProfile.js.map +1 -1
  87. package/{LocalizationContext-654ae04f.js → LocalizationContext-428ea690.js} +3 -5
  88. package/{LocalizationContext-654ae04f.js.map → LocalizationContext-428ea690.js.map} +1 -1
  89. package/{MediaQueryContext-e791a4d1.js → MediaQueryContext-e4d4fb2a.js} +14 -24
  90. package/MediaQueryContext-e4d4fb2a.js.map +1 -0
  91. package/{MemberList-6f3c8288.js → MemberList-f0614320.js} +35 -68
  92. package/MemberList-f0614320.js.map +1 -0
  93. package/Message/context.js +3 -7
  94. package/Message/context.js.map +1 -1
  95. package/MessageSearch/components/MessageSearchUI.js +33 -47
  96. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  97. package/MessageSearch/context.js +44 -79
  98. package/MessageSearch/context.js.map +1 -1
  99. package/MessageSearch.js +25 -35
  100. package/MessageSearch.js.map +1 -1
  101. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  102. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  103. package/OpenChannel/components/OpenChannelHeader.js +16 -18
  104. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelInput.js +25 -28
  106. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelMessage.js +46 -70
  108. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessageList.js +44 -90
  110. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelUI.js +43 -47
  112. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  113. package/OpenChannel/context.js +8 -8
  114. package/OpenChannel.js +32 -30
  115. package/OpenChannel.js.map +1 -1
  116. package/OpenChannelList/components/OpenChannelListUI.js +31 -45
  117. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  118. package/OpenChannelList/components/OpenChannelPreview.js +7 -7
  119. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  120. package/OpenChannelList/context.js +3 -3
  121. package/OpenChannelList.js +24 -23
  122. package/OpenChannelList.js.map +1 -1
  123. package/{OpenChannelListProvider-eb189b41.js → OpenChannelListProvider-1657d7da.js} +39 -66
  124. package/OpenChannelListProvider-1657d7da.js.map +1 -0
  125. package/{OpenChannelProvider-e418b369.js → OpenChannelProvider-de3ddd2b.js} +137 -293
  126. package/OpenChannelProvider-de3ddd2b.js.map +1 -0
  127. package/OpenChannelSettings/components/EditDetailsModal.js +23 -31
  128. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  129. package/OpenChannelSettings/components/OpenChannelProfile.js +14 -18
  130. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  131. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -27
  132. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  133. package/OpenChannelSettings/components/OperatorUI.js +58 -110
  134. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  135. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  136. package/OpenChannelSettings/context.js +15 -26
  137. package/OpenChannelSettings/context.js.map +1 -1
  138. package/OpenChannelSettings.js +17 -17
  139. package/OpenChannelSettings.js.map +1 -1
  140. package/README.md +25 -5
  141. package/{RemoveMessageModal-938b400d.js → RemoveMessageModal-cced59b5.js} +5 -6
  142. package/{RemoveMessageModal-938b400d.js.map → RemoveMessageModal-cced59b5.js.map} +1 -1
  143. package/SendbirdProvider.js +260 -285
  144. package/SendbirdProvider.js.map +1 -1
  145. package/Thread/components/ParentMessageInfo.js +81 -109
  146. package/Thread/components/ParentMessageInfo.js.map +1 -1
  147. package/Thread/components/ParentMessageInfoItem.js +34 -41
  148. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  149. package/Thread/components/ThreadHeader.js +10 -11
  150. package/Thread/components/ThreadHeader.js.map +1 -1
  151. package/Thread/components/ThreadList.js +45 -53
  152. package/Thread/components/ThreadList.js.map +1 -1
  153. package/Thread/components/ThreadListItem.js +120 -148
  154. package/Thread/components/ThreadListItem.js.map +1 -1
  155. package/Thread/components/ThreadMessageInput.js +65 -83
  156. package/Thread/components/ThreadMessageInput.js.map +1 -1
  157. package/Thread/components/ThreadUI.js +75 -94
  158. package/Thread/components/ThreadUI.js.map +1 -1
  159. package/Thread/context/types.js +0 -5
  160. package/Thread/context/types.js.map +1 -1
  161. package/Thread/context.js +8 -8
  162. package/Thread.js +56 -55
  163. package/Thread.js.map +1 -1
  164. package/{ThreadProvider-faf3df5d.js → ThreadProvider-c33f66a4.js} +164 -282
  165. package/ThreadProvider-c33f66a4.js.map +1 -0
  166. package/{UserProfileContext-1996d4d2.js → UserProfileContext-576f1ef9.js} +1 -4
  167. package/{UserProfileContext-1996d4d2.js.map → UserProfileContext-576f1ef9.js.map} +1 -1
  168. package/{VoiceMessageInputWrapper-59373f20.js → VoiceMessageInputWrapper-8f6bfd36.js} +48 -57
  169. package/VoiceMessageInputWrapper-8f6bfd36.js.map +1 -0
  170. package/VoicePlayer/context.js +3 -3
  171. package/VoicePlayer/useVoicePlayer.js +14 -26
  172. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  173. package/VoiceRecorder/context.js +26 -172
  174. package/VoiceRecorder/context.js.map +1 -1
  175. package/VoiceRecorder/useVoiceRecorder.js +14 -26
  176. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  177. package/WebAudioUtils-f9237c94.js +123 -0
  178. package/WebAudioUtils-f9237c94.js.map +1 -0
  179. package/{_rollupPluginBabelHelpers-e908c50d.js → _rollupPluginBabelHelpers-6e60e429.js} +16 -10
  180. package/_rollupPluginBabelHelpers-6e60e429.js.map +1 -0
  181. package/cjs/App.js +103 -128
  182. package/cjs/App.js.map +1 -1
  183. package/cjs/Channel/components/ChannelHeader.js +26 -27
  184. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  185. package/cjs/Channel/components/ChannelUI.js +54 -59
  186. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  187. package/cjs/Channel/components/FileViewer.js +36 -37
  188. package/cjs/Channel/components/FileViewer.js.map +1 -1
  189. package/cjs/Channel/components/FrozenNotification.js +5 -5
  190. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  191. package/cjs/Channel/components/Message.js +110 -140
  192. package/cjs/Channel/components/Message.js.map +1 -1
  193. package/cjs/Channel/components/MessageInput.js +67 -87
  194. package/cjs/Channel/components/MessageInput.js.map +1 -1
  195. package/cjs/Channel/components/MessageList.js +95 -140
  196. package/cjs/Channel/components/MessageList.js.map +1 -1
  197. package/cjs/Channel/components/RemoveMessageModal.js +20 -21
  198. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  199. package/cjs/Channel/components/SuggestedMentionList.js +59 -90
  200. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  201. package/cjs/Channel/components/TypingIndicator.js +19 -33
  202. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  203. package/cjs/Channel/components/UnreadCount.js +9 -10
  204. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  205. package/cjs/Channel/context.js +14 -14
  206. package/cjs/Channel.js +39 -38
  207. package/cjs/Channel.js.map +1 -1
  208. package/cjs/ChannelList/components/AddChannel.js +19 -23
  209. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  210. package/cjs/ChannelList/components/ChannelListHeader.js +14 -18
  211. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  212. package/cjs/ChannelList/components/ChannelListUI.js +49 -64
  213. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  214. package/cjs/ChannelList/components/ChannelPreview.js +43 -49
  215. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  216. package/cjs/ChannelList/components/ChannelPreviewAction.js +19 -22
  217. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  218. package/cjs/ChannelList/context.js +8 -8
  219. package/cjs/ChannelList.js +29 -30
  220. package/cjs/ChannelList.js.map +1 -1
  221. package/cjs/{ChannelListProvider-d4f91fc4.js → ChannelListProvider-f74d4451.js} +77 -172
  222. package/cjs/ChannelListProvider-f74d4451.js.map +1 -0
  223. package/cjs/{ChannelProvider-af0b997c.js → ChannelProvider-fcb80591.js} +185 -340
  224. package/cjs/ChannelProvider-fcb80591.js.map +1 -0
  225. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -21
  226. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  227. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +24 -31
  228. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  229. package/cjs/ChannelSettings/components/EditDetailsModal.js +20 -29
  230. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  231. package/cjs/ChannelSettings/components/LeaveChannel.js +18 -26
  232. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  233. package/cjs/ChannelSettings/components/ModerationPanel.js +66 -109
  234. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  235. package/cjs/ChannelSettings/components/UserListItem.js +21 -21
  236. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  237. package/cjs/ChannelSettings/components/UserPanel.js +16 -19
  238. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  239. package/cjs/ChannelSettings/context.js +22 -30
  240. package/cjs/ChannelSettings/context.js.map +1 -1
  241. package/cjs/ChannelSettings.js +17 -17
  242. package/cjs/ChannelSettings.js.map +1 -1
  243. package/cjs/CreateChannel/components/CreateChannelUI.js +17 -19
  244. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  245. package/cjs/CreateChannel/components/InviteUsers.js +35 -56
  246. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  247. package/cjs/CreateChannel/components/SelectChannelType.js +11 -17
  248. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  249. package/cjs/CreateChannel/context.js +4 -4
  250. package/cjs/CreateChannel.js +18 -18
  251. package/cjs/CreateChannel.js.map +1 -1
  252. package/cjs/{CreateChannelProvider-c4ad28a8.js → CreateChannelProvider-1be5d0c0.js} +9 -16
  253. package/cjs/{CreateChannelProvider-c4ad28a8.js.map → CreateChannelProvider-1be5d0c0.js.map} +1 -1
  254. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +17 -25
  255. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  256. package/cjs/CreateOpenChannel/context.js +7 -12
  257. package/cjs/CreateOpenChannel/context.js.map +1 -1
  258. package/cjs/CreateOpenChannel.js +14 -14
  259. package/cjs/CreateOpenChannel.js.map +1 -1
  260. package/cjs/EditUserProfile/components/EditUserProfileUI.js +11 -12
  261. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  262. package/cjs/EditUserProfile/context.js +0 -2
  263. package/cjs/EditUserProfile/context.js.map +1 -1
  264. package/cjs/EditUserProfile.js +13 -14
  265. package/cjs/EditUserProfile.js.map +1 -1
  266. package/cjs/{LocalizationContext-01fceac0.js → LocalizationContext-9b216d02.js} +3 -5
  267. package/cjs/{LocalizationContext-01fceac0.js.map → LocalizationContext-9b216d02.js.map} +1 -1
  268. package/cjs/{MediaQueryContext-4978c777.js → MediaQueryContext-ea137add.js} +14 -24
  269. package/cjs/MediaQueryContext-ea137add.js.map +1 -0
  270. package/cjs/{MemberList-5c05b62f.js → MemberList-4f805690.js} +35 -68
  271. package/cjs/MemberList-4f805690.js.map +1 -0
  272. package/cjs/Message/context.js +3 -7
  273. package/cjs/Message/context.js.map +1 -1
  274. package/cjs/MessageSearch/components/MessageSearchUI.js +33 -47
  275. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  276. package/cjs/MessageSearch/context.js +44 -79
  277. package/cjs/MessageSearch/context.js.map +1 -1
  278. package/cjs/MessageSearch.js +25 -35
  279. package/cjs/MessageSearch.js.map +1 -1
  280. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  281. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  282. package/cjs/OpenChannel/components/OpenChannelHeader.js +16 -18
  283. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  284. package/cjs/OpenChannel/components/OpenChannelInput.js +25 -28
  285. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  286. package/cjs/OpenChannel/components/OpenChannelMessage.js +46 -70
  287. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  288. package/cjs/OpenChannel/components/OpenChannelMessageList.js +48 -94
  289. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  290. package/cjs/OpenChannel/components/OpenChannelUI.js +43 -47
  291. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  292. package/cjs/OpenChannel/context.js +8 -8
  293. package/cjs/OpenChannel.js +32 -30
  294. package/cjs/OpenChannel.js.map +1 -1
  295. package/cjs/OpenChannelList/components/OpenChannelListUI.js +31 -45
  296. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  297. package/cjs/OpenChannelList/components/OpenChannelPreview.js +7 -7
  298. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  299. package/cjs/OpenChannelList/context.js +3 -3
  300. package/cjs/OpenChannelList.js +24 -23
  301. package/cjs/OpenChannelList.js.map +1 -1
  302. package/cjs/{OpenChannelListProvider-3be4b8a5.js → OpenChannelListProvider-6883fa4a.js} +39 -66
  303. package/cjs/OpenChannelListProvider-6883fa4a.js.map +1 -0
  304. package/cjs/{OpenChannelProvider-56af9a0e.js → OpenChannelProvider-cb41bba9.js} +137 -293
  305. package/cjs/OpenChannelProvider-cb41bba9.js.map +1 -0
  306. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +23 -31
  307. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  308. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -18
  309. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  310. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -27
  311. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  312. package/cjs/OpenChannelSettings/components/OperatorUI.js +58 -110
  313. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  314. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  315. package/cjs/OpenChannelSettings/context.js +15 -26
  316. package/cjs/OpenChannelSettings/context.js.map +1 -1
  317. package/cjs/OpenChannelSettings.js +17 -17
  318. package/cjs/OpenChannelSettings.js.map +1 -1
  319. package/cjs/{RemoveMessageModal-31ff9edc.js → RemoveMessageModal-193a514d.js} +5 -6
  320. package/cjs/{RemoveMessageModal-31ff9edc.js.map → RemoveMessageModal-193a514d.js.map} +1 -1
  321. package/cjs/SendbirdProvider.js +264 -289
  322. package/cjs/SendbirdProvider.js.map +1 -1
  323. package/cjs/Thread/components/ParentMessageInfo.js +81 -109
  324. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  325. package/cjs/Thread/components/ParentMessageInfoItem.js +34 -41
  326. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  327. package/cjs/Thread/components/ThreadHeader.js +10 -11
  328. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  329. package/cjs/Thread/components/ThreadList.js +45 -53
  330. package/cjs/Thread/components/ThreadList.js.map +1 -1
  331. package/cjs/Thread/components/ThreadListItem.js +120 -148
  332. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  333. package/cjs/Thread/components/ThreadMessageInput.js +65 -83
  334. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  335. package/cjs/Thread/components/ThreadUI.js +75 -94
  336. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  337. package/cjs/Thread/context/types.js +0 -5
  338. package/cjs/Thread/context/types.js.map +1 -1
  339. package/cjs/Thread/context.js +8 -8
  340. package/cjs/Thread.js +56 -55
  341. package/cjs/Thread.js.map +1 -1
  342. package/cjs/{ThreadProvider-12784adf.js → ThreadProvider-c3623e5f.js} +164 -282
  343. package/cjs/ThreadProvider-c3623e5f.js.map +1 -0
  344. package/cjs/{UserProfileContext-c4642438.js → UserProfileContext-ad079e6d.js} +1 -4
  345. package/cjs/{UserProfileContext-c4642438.js.map → UserProfileContext-ad079e6d.js.map} +1 -1
  346. package/cjs/{VoiceMessageInputWrapper-3b5db880.js → VoiceMessageInputWrapper-1c4004d1.js} +47 -56
  347. package/cjs/VoiceMessageInputWrapper-1c4004d1.js.map +1 -0
  348. package/cjs/VoicePlayer/context.js +3 -3
  349. package/cjs/VoicePlayer/useVoicePlayer.js +14 -26
  350. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  351. package/cjs/VoiceRecorder/context.js +25 -171
  352. package/cjs/VoiceRecorder/context.js.map +1 -1
  353. package/cjs/VoiceRecorder/useVoiceRecorder.js +14 -26
  354. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  355. package/cjs/WebAudioUtils-33ee4d42.js +126 -0
  356. package/cjs/WebAudioUtils-33ee4d42.js.map +1 -0
  357. package/cjs/{_rollupPluginBabelHelpers-994cd1da.js → _rollupPluginBabelHelpers-440ec6e2.js} +16 -10
  358. package/cjs/_rollupPluginBabelHelpers-440ec6e2.js.map +1 -0
  359. package/cjs/{color-8f9fe57f.js → color-8b30623d.js} +1 -10
  360. package/cjs/color-8b30623d.js.map +1 -0
  361. package/cjs/{compareIds-b77b66f3.js → compareIds-3dbb4f79.js} +4 -5
  362. package/cjs/compareIds-3dbb4f79.js.map +1 -0
  363. package/cjs/{const-e03cb4c1.js → const-1e096998.js} +1 -2
  364. package/cjs/{const-e03cb4c1.js.map → const-1e096998.js.map} +1 -1
  365. package/cjs/{const-35f8be84.js → const-7bb85121.js} +1 -1
  366. package/cjs/{const-35f8be84.js.map → const-7bb85121.js.map} +1 -1
  367. package/cjs/{consts-69fc20be.js → consts-02c09d93.js} +8 -11
  368. package/cjs/{consts-69fc20be.js.map → consts-02c09d93.js.map} +1 -1
  369. package/cjs/{consts-aabb33e0.js → consts-3ebe6f94.js} +1 -1
  370. package/cjs/{consts-aabb33e0.js.map → consts-3ebe6f94.js.map} +1 -1
  371. package/cjs/{consts-b29bd4d5.js → consts-54b7b2b1.js} +1 -1
  372. package/cjs/{consts-b29bd4d5.js.map → consts-54b7b2b1.js.map} +1 -1
  373. package/cjs/{consts-956b1221.js → consts-d1f579c4.js} +1 -1
  374. package/cjs/{consts-956b1221.js.map → consts-d1f579c4.js.map} +1 -1
  375. package/cjs/{context-d9e248df.js → context-855dcb8e.js} +2 -2
  376. package/cjs/{context-d9e248df.js.map → context-855dcb8e.js.map} +1 -1
  377. package/cjs/dist/index.css +2 -1
  378. package/cjs/dist/index.css.map +1 -1
  379. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  380. package/cjs/handlers/SessionHandler.js.map +1 -1
  381. package/cjs/{index-7c5d21c4.js → index-02729806.js} +1 -1
  382. package/cjs/{index-7c5d21c4.js.map → index-02729806.js.map} +1 -1
  383. package/cjs/{index-b9fbe704.js → index-15a62d58.js} +18 -27
  384. package/cjs/index-15a62d58.js.map +1 -0
  385. package/cjs/{index-26a1e861.js → index-3d6159df.js} +2 -22
  386. package/cjs/{index-26a1e861.js.map → index-3d6159df.js.map} +1 -1
  387. package/cjs/index-5bba1fd5.js +41 -0
  388. package/cjs/index-5bba1fd5.js.map +1 -0
  389. package/cjs/{index-d41db9c1.js → index-6d24cef9.js} +30 -44
  390. package/cjs/index-6d24cef9.js.map +1 -0
  391. package/cjs/{index-aa908fcf.js → index-7f214e91.js} +13 -32
  392. package/cjs/index-7f214e91.js.map +1 -0
  393. package/cjs/{index-e3f00fd1.js → index-8a187344.js} +3 -3
  394. package/cjs/{index-e3f00fd1.js.map → index-8a187344.js.map} +1 -1
  395. package/cjs/{index-1e57cbdb.js → index-8a64de0e.js} +17 -33
  396. package/cjs/index-8a64de0e.js.map +1 -0
  397. package/cjs/{index-a7fa406f.js → index-8d42b734.js} +23 -27
  398. package/cjs/index-8d42b734.js.map +1 -0
  399. package/cjs/{index-603c2a7c.js → index-9e320445.js} +29 -33
  400. package/cjs/index-9e320445.js.map +1 -0
  401. package/cjs/{index-aeba3b06.js → index-a1141d68.js} +21 -22
  402. package/cjs/index-a1141d68.js.map +1 -0
  403. package/cjs/{index-1f02e60f.js → index-b95c8165.js} +2 -2
  404. package/cjs/{index-1f02e60f.js.map → index-b95c8165.js.map} +1 -1
  405. package/cjs/{index-72fd0294.js → index-d6f14382.js} +38 -142
  406. package/cjs/index-d6f14382.js.map +1 -0
  407. package/cjs/{index-36aaf992.js → index-d85616b2.js} +1 -1
  408. package/cjs/{index-36aaf992.js.map → index-d85616b2.js.map} +1 -1
  409. package/cjs/{index-959a4ab1.js → index-ecfe08c9.js} +2 -2
  410. package/cjs/{index-959a4ab1.js.map → index-ecfe08c9.js.map} +1 -1
  411. package/cjs/{index-c825cf5b.js → index-f8237241.js} +25 -52
  412. package/cjs/index-f8237241.js.map +1 -0
  413. package/cjs/index.js +49 -49
  414. package/cjs/lame.all.js.map +1 -1
  415. package/cjs/sendbirdSelectors.js +36 -94
  416. package/cjs/sendbirdSelectors.js.map +1 -1
  417. package/cjs/{stringSet-7330b627.js → stringSet-e52248ab.js} +2 -1
  418. package/cjs/stringSet-e52248ab.js.map +1 -0
  419. package/cjs/{tokenize-a5a20ef3.js → tokenize-c5dd544b.js} +30 -23
  420. package/cjs/tokenize-c5dd544b.js.map +1 -0
  421. package/cjs/{topics-7547922a.js → topics-09d72ec0.js} +1 -1
  422. package/cjs/topics-09d72ec0.js.map +1 -0
  423. package/cjs/{tslib.es6-ee1122c5.js → tslib.es6-957ba986.js} +2 -2
  424. package/cjs/tslib.es6-957ba986.js.map +1 -0
  425. package/cjs/{types-7daeb4a1.js → types-68cc0fcf.js} +1 -1
  426. package/cjs/types-68cc0fcf.js.map +1 -0
  427. package/cjs/ui/Accordion.js +12 -16
  428. package/cjs/ui/Accordion.js.map +1 -1
  429. package/cjs/ui/AccordionGroup.js +6 -8
  430. package/cjs/ui/AccordionGroup.js.map +1 -1
  431. package/cjs/ui/AdminMessage.js +5 -8
  432. package/cjs/ui/AdminMessage.js.map +1 -1
  433. package/cjs/ui/Avatar.js +23 -41
  434. package/cjs/ui/Avatar.js.map +1 -1
  435. package/cjs/ui/Badge.js +9 -9
  436. package/cjs/ui/Badge.js.map +1 -1
  437. package/cjs/ui/BottomSheet.js +5 -7
  438. package/cjs/ui/BottomSheet.js.map +1 -1
  439. package/cjs/ui/Button.js +13 -24
  440. package/cjs/ui/Button.js.map +1 -1
  441. package/cjs/ui/ChannelAvatar.js +9 -9
  442. package/cjs/ui/ChannelAvatar.js.map +1 -1
  443. package/cjs/ui/Checkbox.js +8 -10
  444. package/cjs/ui/Checkbox.js.map +1 -1
  445. package/cjs/ui/ConnectionStatus.js +4 -4
  446. package/cjs/ui/ConnectionStatus.js.map +1 -1
  447. package/cjs/ui/ContextMenu.js +40 -86
  448. package/cjs/ui/ContextMenu.js.map +1 -1
  449. package/cjs/ui/DateSeparator.js +9 -9
  450. package/cjs/ui/DateSeparator.js.map +1 -1
  451. package/cjs/ui/EmojiReactions.js +19 -24
  452. package/cjs/ui/EmojiReactions.js.map +1 -1
  453. package/cjs/ui/FileMessageItemBody.js +15 -16
  454. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  455. package/cjs/ui/FileViewer.js +22 -23
  456. package/cjs/ui/FileViewer.js.map +1 -1
  457. package/cjs/ui/Icon.js +0 -241
  458. package/cjs/ui/Icon.js.map +1 -1
  459. package/cjs/ui/IconButton.js +19 -22
  460. package/cjs/ui/IconButton.js.map +1 -1
  461. package/cjs/ui/ImageRenderer.js +27 -30
  462. package/cjs/ui/ImageRenderer.js.map +1 -1
  463. package/cjs/ui/Input.js +8 -10
  464. package/cjs/ui/Input.js.map +1 -1
  465. package/cjs/ui/Label.js +2 -2
  466. package/cjs/ui/LinkLabel.js +4 -3
  467. package/cjs/ui/LinkLabel.js.map +1 -1
  468. package/cjs/ui/Loader.js +7 -7
  469. package/cjs/ui/Loader.js.map +1 -1
  470. package/cjs/ui/MentionLabel.js +16 -22
  471. package/cjs/ui/MentionLabel.js.map +1 -1
  472. package/cjs/ui/MentionUserLabel.js +7 -7
  473. package/cjs/ui/MentionUserLabel.js.map +1 -1
  474. package/cjs/ui/MessageContent.js +118 -137
  475. package/cjs/ui/MessageContent.js.map +1 -1
  476. package/cjs/ui/MessageInput.js +82 -134
  477. package/cjs/ui/MessageInput.js.map +1 -1
  478. package/cjs/ui/MessageItemMenu.js +25 -31
  479. package/cjs/ui/MessageItemMenu.js.map +1 -1
  480. package/cjs/ui/MessageItemReactionMenu.js +12 -16
  481. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  482. package/cjs/ui/MessageSearchFileItem.js +22 -30
  483. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  484. package/cjs/ui/MessageSearchItem.js +18 -24
  485. package/cjs/ui/MessageSearchItem.js.map +1 -1
  486. package/cjs/ui/MessageStatus.js +10 -10
  487. package/cjs/ui/Modal.js +33 -34
  488. package/cjs/ui/Modal.js.map +1 -1
  489. package/cjs/ui/MutedAvatarOverlay.js +3 -3
  490. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  491. package/cjs/ui/OGMessageItemBody.js +27 -30
  492. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  493. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  494. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  495. package/cjs/ui/OpenChannelAvatar.js +11 -11
  496. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  497. package/cjs/ui/OpenchannelConversationHeader.js +10 -10
  498. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  499. package/cjs/ui/OpenchannelFileMessage.js +31 -44
  500. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  501. package/cjs/ui/OpenchannelOGMessage.js +39 -53
  502. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  503. package/cjs/ui/OpenchannelThumbnailMessage.js +36 -46
  504. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  505. package/cjs/ui/OpenchannelUserMessage.js +39 -49
  506. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  507. package/cjs/ui/PlaceHolder.js +6 -6
  508. package/cjs/ui/PlaybackTime.js +8 -8
  509. package/cjs/ui/PlaybackTime.js.map +1 -1
  510. package/cjs/ui/ProgressBar.js +8 -8
  511. package/cjs/ui/ProgressBar.js.map +1 -1
  512. package/cjs/ui/QuoteMessage.js +16 -20
  513. package/cjs/ui/QuoteMessage.js.map +1 -1
  514. package/cjs/ui/QuoteMessageInput.js +8 -11
  515. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  516. package/cjs/ui/ReactionBadge.js +13 -17
  517. package/cjs/ui/ReactionBadge.js.map +1 -1
  518. package/cjs/ui/ReactionButton.js +8 -8
  519. package/cjs/ui/ReactionButton.js.map +1 -1
  520. package/cjs/ui/SortByRow.js +7 -11
  521. package/cjs/ui/SortByRow.js.map +1 -1
  522. package/cjs/ui/TextButton.js +12 -12
  523. package/cjs/ui/TextButton.js.map +1 -1
  524. package/cjs/ui/TextMessageItemBody.js +23 -24
  525. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  526. package/cjs/ui/ThreadReplies.js +10 -11
  527. package/cjs/ui/ThreadReplies.js.map +1 -1
  528. package/cjs/ui/ThumbnailMessageItemBody.js +17 -20
  529. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  530. package/cjs/ui/Tooltip.js +6 -6
  531. package/cjs/ui/Tooltip.js.map +1 -1
  532. package/cjs/ui/TooltipWrapper.js +6 -8
  533. package/cjs/ui/TooltipWrapper.js.map +1 -1
  534. package/cjs/ui/UnknownMessageItemBody.js +13 -14
  535. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  536. package/cjs/ui/UserListItem.js +28 -27
  537. package/cjs/ui/UserListItem.js.map +1 -1
  538. package/cjs/ui/UserProfile.js +15 -17
  539. package/cjs/ui/UserProfile.js.map +1 -1
  540. package/cjs/ui/VoiceMessageItemBody.js +24 -32
  541. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  542. package/cjs/ui/VoiceMessgeInput.js +8 -8
  543. package/cjs/ui/Word.js +19 -30
  544. package/cjs/ui/Word.js.map +1 -1
  545. package/cjs/{useLongPress-3e3b1188.js → useLongPress-640ea281.js} +13 -31
  546. package/cjs/useLongPress-640ea281.js.map +1 -0
  547. package/cjs/useSendbirdStateContext.js +1 -2
  548. package/cjs/useSendbirdStateContext.js.map +1 -1
  549. package/cjs/utils/message/getOutgoingMessageState.js +0 -7
  550. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  551. package/cjs/utils/message/isVoiceMessage.js +2 -2
  552. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  553. package/cjs/{utils-e4cd6a0c.js → utils-7346a672.js} +1 -5
  554. package/cjs/{utils-e4cd6a0c.js.map → utils-7346a672.js.map} +1 -1
  555. package/cjs/{utils-de779857.js → utils-93739833.js} +2 -7
  556. package/cjs/utils-93739833.js.map +1 -0
  557. package/cjs/{utils-5ca88bb6.js → utils-a82eaed9.js} +1 -1
  558. package/cjs/{utils-5ca88bb6.js.map → utils-a82eaed9.js.map} +1 -1
  559. package/cjs/{utils-5905fc1a.js → utils-dd55b959.js} +1 -4
  560. package/cjs/utils-dd55b959.js.map +1 -0
  561. package/cjs/{uuid-26b61f16.js → uuid-a8af0c03.js} +1 -3
  562. package/cjs/{uuid-26b61f16.js.map → uuid-a8af0c03.js.map} +1 -1
  563. package/cjs/withSendbird.js +5 -7
  564. package/cjs/withSendbird.js.map +1 -1
  565. package/{color-f6e2214f.js → color-2037c3b8.js} +1 -10
  566. package/{color-f6e2214f.js.map → color-2037c3b8.js.map} +1 -1
  567. package/{compareIds-d958887d.js → compareIds-b858e41a.js} +4 -5
  568. package/compareIds-b858e41a.js.map +1 -0
  569. package/{const-735bcf5b.js → const-10a01327.js} +1 -2
  570. package/{const-735bcf5b.js.map → const-10a01327.js.map} +1 -1
  571. package/{const-c7334190.js → const-85ec8faf.js} +1 -1
  572. package/{const-c7334190.js.map → const-85ec8faf.js.map} +1 -1
  573. package/{consts-ddb92249.js → consts-3fe926ac.js} +1 -1
  574. package/{consts-ddb92249.js.map → consts-3fe926ac.js.map} +1 -1
  575. package/{consts-8f50899e.js → consts-89b1e965.js} +1 -1
  576. package/{consts-8f50899e.js.map → consts-89b1e965.js.map} +1 -1
  577. package/{consts-12512664.js → consts-ef58410d.js} +1 -1
  578. package/{consts-12512664.js.map → consts-ef58410d.js.map} +1 -1
  579. package/{consts-9422accf.js → consts-f3b2a046.js} +8 -11
  580. package/{consts-9422accf.js.map → consts-f3b2a046.js.map} +1 -1
  581. package/{context-7465b898.js → context-8436b333.js} +2 -2
  582. package/{context-7465b898.js.map → context-8436b333.js.map} +1 -1
  583. package/dist/index.css +2 -1
  584. package/dist/index.css.map +1 -1
  585. package/handlers/OpenChannelHandler.js.map +1 -1
  586. package/handlers/SessionHandler.js.map +1 -1
  587. package/{index-0ecbda20.js → index-10da4b99.js} +21 -22
  588. package/index-10da4b99.js.map +1 -0
  589. package/index-23251a75.js +39 -0
  590. package/index-23251a75.js.map +1 -0
  591. package/{index-4c3eaeb7.js → index-2f83ba2a.js} +2 -2
  592. package/{index-4c3eaeb7.js.map → index-2f83ba2a.js.map} +1 -1
  593. package/index-390c0bba.js +53 -0
  594. package/index-390c0bba.js.map +1 -0
  595. package/{index-a52a0b76.js → index-4a1325ab.js} +13 -32
  596. package/index-4a1325ab.js.map +1 -0
  597. package/{index-437c0f3c.js → index-5cbdbcf9.js} +30 -44
  598. package/index-5cbdbcf9.js.map +1 -0
  599. package/{index-63e7b57b.js → index-84b28e71.js} +18 -27
  600. package/index-84b28e71.js.map +1 -0
  601. package/{index-cf141ad7.js → index-8b3cd0b6.js} +1 -1
  602. package/{index-cf141ad7.js.map → index-8b3cd0b6.js.map} +1 -1
  603. package/{index-aced8439.js → index-8d6fa44a.js} +2 -2
  604. package/{index-aced8439.js.map → index-8d6fa44a.js.map} +1 -1
  605. package/{index-8e901b57.js → index-8efe881f.js} +2 -22
  606. package/{index-8e901b57.js.map → index-8efe881f.js.map} +1 -1
  607. package/{index-6e33b2e0.js → index-b41d07df.js} +3 -3
  608. package/{index-6e33b2e0.js.map → index-b41d07df.js.map} +1 -1
  609. package/{index-12c44496.js → index-d5a761b9.js} +1 -1
  610. package/{index-12c44496.js.map → index-d5a761b9.js.map} +1 -1
  611. package/{index-9626a87e.js → index-e01f2743.js} +25 -52
  612. package/index-e01f2743.js.map +1 -0
  613. package/{index-47d179f2.js → index-e0325c33.js} +23 -27
  614. package/index-e0325c33.js.map +1 -0
  615. package/{index-7b8ea67e.js → index-f0fa0260.js} +17 -33
  616. package/index-f0fa0260.js.map +1 -0
  617. package/{index-83ae3ffe.js → index-f87c5aab.js} +38 -142
  618. package/index-f87c5aab.js.map +1 -0
  619. package/index.d.ts +1 -1
  620. package/index.js +49 -49
  621. package/lame.all.js.map +1 -1
  622. package/package.json +4 -2
  623. package/sendbirdSelectors.js +36 -94
  624. package/sendbirdSelectors.js.map +1 -1
  625. package/{stringSet-7c7d84fc.js → stringSet-fa7e0d83.js} +2 -1
  626. package/stringSet-fa7e0d83.js.map +1 -0
  627. package/{tokenize-8f238f49.js → tokenize-7bcc2072.js} +30 -24
  628. package/tokenize-7bcc2072.js.map +1 -0
  629. package/{topics-4697c2b3.js → topics-2647294d.js} +1 -1
  630. package/topics-2647294d.js.map +1 -0
  631. package/{tslib.es6-209c9f08.js → tslib.es6-debac48c.js} +2 -2
  632. package/tslib.es6-debac48c.js.map +1 -0
  633. package/{types-41ea68c8.js → types-abb04b7a.js} +1 -1
  634. package/types-abb04b7a.js.map +1 -0
  635. package/ui/Accordion.js +12 -16
  636. package/ui/Accordion.js.map +1 -1
  637. package/ui/AccordionGroup.js +6 -8
  638. package/ui/AccordionGroup.js.map +1 -1
  639. package/ui/AdminMessage.js +5 -8
  640. package/ui/AdminMessage.js.map +1 -1
  641. package/ui/Avatar.js +23 -41
  642. package/ui/Avatar.js.map +1 -1
  643. package/ui/Badge.js +9 -9
  644. package/ui/Badge.js.map +1 -1
  645. package/ui/BottomSheet.js +5 -7
  646. package/ui/BottomSheet.js.map +1 -1
  647. package/ui/Button.js +13 -24
  648. package/ui/Button.js.map +1 -1
  649. package/ui/ChannelAvatar.js +9 -9
  650. package/ui/ChannelAvatar.js.map +1 -1
  651. package/ui/Checkbox.js +8 -10
  652. package/ui/Checkbox.js.map +1 -1
  653. package/ui/ConnectionStatus.js +4 -4
  654. package/ui/ConnectionStatus.js.map +1 -1
  655. package/ui/ContextMenu.js +40 -86
  656. package/ui/ContextMenu.js.map +1 -1
  657. package/ui/DateSeparator.js +9 -9
  658. package/ui/DateSeparator.js.map +1 -1
  659. package/ui/EmojiReactions.js +19 -24
  660. package/ui/EmojiReactions.js.map +1 -1
  661. package/ui/FileMessageItemBody.js +15 -16
  662. package/ui/FileMessageItemBody.js.map +1 -1
  663. package/ui/FileViewer.js +22 -23
  664. package/ui/FileViewer.js.map +1 -1
  665. package/ui/Icon.js +0 -241
  666. package/ui/Icon.js.map +1 -1
  667. package/ui/IconButton.js +19 -22
  668. package/ui/IconButton.js.map +1 -1
  669. package/ui/ImageRenderer.js +27 -30
  670. package/ui/ImageRenderer.js.map +1 -1
  671. package/ui/Input.js +8 -10
  672. package/ui/Input.js.map +1 -1
  673. package/ui/Label.js +2 -2
  674. package/ui/LinkLabel.js +4 -3
  675. package/ui/LinkLabel.js.map +1 -1
  676. package/ui/Loader.js +7 -7
  677. package/ui/Loader.js.map +1 -1
  678. package/ui/MentionLabel.js +16 -22
  679. package/ui/MentionLabel.js.map +1 -1
  680. package/ui/MentionUserLabel.js +7 -7
  681. package/ui/MentionUserLabel.js.map +1 -1
  682. package/ui/MessageContent.js +118 -137
  683. package/ui/MessageContent.js.map +1 -1
  684. package/ui/MessageInput.js +82 -134
  685. package/ui/MessageInput.js.map +1 -1
  686. package/ui/MessageItemMenu.js +25 -31
  687. package/ui/MessageItemMenu.js.map +1 -1
  688. package/ui/MessageItemReactionMenu.js +12 -16
  689. package/ui/MessageItemReactionMenu.js.map +1 -1
  690. package/ui/MessageSearchFileItem.js +22 -30
  691. package/ui/MessageSearchFileItem.js.map +1 -1
  692. package/ui/MessageSearchItem.js +18 -24
  693. package/ui/MessageSearchItem.js.map +1 -1
  694. package/ui/MessageStatus.js +10 -10
  695. package/ui/Modal.js +33 -34
  696. package/ui/Modal.js.map +1 -1
  697. package/ui/MutedAvatarOverlay.js +3 -3
  698. package/ui/MutedAvatarOverlay.js.map +1 -1
  699. package/ui/OGMessageItemBody.js +27 -30
  700. package/ui/OGMessageItemBody.js.map +1 -1
  701. package/ui/OpenChannelAdminMessage.js +4 -4
  702. package/ui/OpenChannelAdminMessage.js.map +1 -1
  703. package/ui/OpenChannelAvatar.js +11 -11
  704. package/ui/OpenChannelAvatar.js.map +1 -1
  705. package/ui/OpenchannelConversationHeader.js +10 -10
  706. package/ui/OpenchannelConversationHeader.js.map +1 -1
  707. package/ui/OpenchannelFileMessage.js +31 -44
  708. package/ui/OpenchannelFileMessage.js.map +1 -1
  709. package/ui/OpenchannelOGMessage.js +39 -53
  710. package/ui/OpenchannelOGMessage.js.map +1 -1
  711. package/ui/OpenchannelThumbnailMessage.js +36 -46
  712. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  713. package/ui/OpenchannelUserMessage.js +39 -49
  714. package/ui/OpenchannelUserMessage.js.map +1 -1
  715. package/ui/PlaceHolder.js +6 -6
  716. package/ui/PlaybackTime.js +8 -8
  717. package/ui/PlaybackTime.js.map +1 -1
  718. package/ui/ProgressBar.js +8 -8
  719. package/ui/ProgressBar.js.map +1 -1
  720. package/ui/QuoteMessage.js +16 -20
  721. package/ui/QuoteMessage.js.map +1 -1
  722. package/ui/QuoteMessageInput.js +8 -11
  723. package/ui/QuoteMessageInput.js.map +1 -1
  724. package/ui/ReactionBadge.js +13 -17
  725. package/ui/ReactionBadge.js.map +1 -1
  726. package/ui/ReactionButton.js +8 -8
  727. package/ui/ReactionButton.js.map +1 -1
  728. package/ui/SortByRow.js +7 -11
  729. package/ui/SortByRow.js.map +1 -1
  730. package/ui/TextButton.js +12 -12
  731. package/ui/TextButton.js.map +1 -1
  732. package/ui/TextMessageItemBody.js +23 -24
  733. package/ui/TextMessageItemBody.js.map +1 -1
  734. package/ui/ThreadReplies.js +10 -11
  735. package/ui/ThreadReplies.js.map +1 -1
  736. package/ui/ThumbnailMessageItemBody.js +17 -20
  737. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  738. package/ui/Tooltip.js +6 -6
  739. package/ui/Tooltip.js.map +1 -1
  740. package/ui/TooltipWrapper.js +6 -8
  741. package/ui/TooltipWrapper.js.map +1 -1
  742. package/ui/UnknownMessageItemBody.js +13 -14
  743. package/ui/UnknownMessageItemBody.js.map +1 -1
  744. package/ui/UserListItem.js +28 -27
  745. package/ui/UserListItem.js.map +1 -1
  746. package/ui/UserProfile.js +15 -17
  747. package/ui/UserProfile.js.map +1 -1
  748. package/ui/VoiceMessageItemBody.js +24 -32
  749. package/ui/VoiceMessageItemBody.js.map +1 -1
  750. package/ui/VoiceMessgeInput.js +8 -8
  751. package/ui/Word.js +19 -30
  752. package/ui/Word.js.map +1 -1
  753. package/{useLongPress-e2570976.js → useLongPress-42dc7c5d.js} +13 -31
  754. package/useLongPress-42dc7c5d.js.map +1 -0
  755. package/useSendbirdStateContext.js +1 -2
  756. package/useSendbirdStateContext.js.map +1 -1
  757. package/utils/message/getOutgoingMessageState.js +0 -7
  758. package/utils/message/getOutgoingMessageState.js.map +1 -1
  759. package/utils/message/isVoiceMessage.js +2 -2
  760. package/utils/message/isVoiceMessage.js.map +1 -1
  761. package/{utils-4942106c.js → utils-1905e84d.js} +2 -7
  762. package/utils-1905e84d.js.map +1 -0
  763. package/{utils-3d03001e.js → utils-19ce54ee.js} +1 -5
  764. package/{utils-3d03001e.js.map → utils-19ce54ee.js.map} +1 -1
  765. package/{utils-04bd857d.js → utils-87be98af.js} +1 -1
  766. package/{utils-04bd857d.js.map → utils-87be98af.js.map} +1 -1
  767. package/{utils-12a3467f.js → utils-b568cd44.js} +1 -4
  768. package/utils-b568cd44.js.map +1 -0
  769. package/{uuid-31c6ecb2.js → uuid-e979d613.js} +1 -3
  770. package/{uuid-31c6ecb2.js.map → uuid-e979d613.js.map} +1 -1
  771. package/withSendbird.js +5 -7
  772. package/withSendbird.js.map +1 -1
  773. package/ChannelListProvider-10fe7340.js.map +0 -1
  774. package/ChannelProvider-4ac82784.js.map +0 -1
  775. package/MediaQueryContext-e791a4d1.js.map +0 -1
  776. package/MemberList-6f3c8288.js.map +0 -1
  777. package/OpenChannelListProvider-eb189b41.js.map +0 -1
  778. package/OpenChannelProvider-e418b369.js.map +0 -1
  779. package/ThreadProvider-faf3df5d.js.map +0 -1
  780. package/VoiceMessageInputWrapper-59373f20.js.map +0 -1
  781. package/_rollupPluginBabelHelpers-e908c50d.js.map +0 -1
  782. package/actionTypes-ee7f96a9.js +0 -6
  783. package/actionTypes-ee7f96a9.js.map +0 -1
  784. package/cjs/ChannelListProvider-d4f91fc4.js.map +0 -1
  785. package/cjs/ChannelProvider-af0b997c.js.map +0 -1
  786. package/cjs/MediaQueryContext-4978c777.js.map +0 -1
  787. package/cjs/MemberList-5c05b62f.js.map +0 -1
  788. package/cjs/OpenChannelListProvider-3be4b8a5.js.map +0 -1
  789. package/cjs/OpenChannelProvider-56af9a0e.js.map +0 -1
  790. package/cjs/ThreadProvider-12784adf.js.map +0 -1
  791. package/cjs/VoiceMessageInputWrapper-3b5db880.js.map +0 -1
  792. package/cjs/_rollupPluginBabelHelpers-994cd1da.js.map +0 -1
  793. package/cjs/actionTypes-38d53eaf.js +0 -10
  794. package/cjs/actionTypes-38d53eaf.js.map +0 -1
  795. package/cjs/color-8f9fe57f.js.map +0 -1
  796. package/cjs/compareIds-b77b66f3.js.map +0 -1
  797. package/cjs/index-1e57cbdb.js.map +0 -1
  798. package/cjs/index-603c2a7c.js.map +0 -1
  799. package/cjs/index-72fd0294.js.map +0 -1
  800. package/cjs/index-a7fa406f.js.map +0 -1
  801. package/cjs/index-aa908fcf.js.map +0 -1
  802. package/cjs/index-aeba3b06.js.map +0 -1
  803. package/cjs/index-b9fbe704.js.map +0 -1
  804. package/cjs/index-c825cf5b.js.map +0 -1
  805. package/cjs/index-d41db9c1.js.map +0 -1
  806. package/cjs/stringSet-7330b627.js.map +0 -1
  807. package/cjs/tokenize-a5a20ef3.js.map +0 -1
  808. package/cjs/topics-7547922a.js.map +0 -1
  809. package/cjs/tslib.es6-ee1122c5.js.map +0 -1
  810. package/cjs/types-7daeb4a1.js.map +0 -1
  811. package/cjs/useLongPress-3e3b1188.js.map +0 -1
  812. package/cjs/utils-5905fc1a.js.map +0 -1
  813. package/cjs/utils-de779857.js.map +0 -1
  814. package/compareIds-d958887d.js.map +0 -1
  815. package/index-0ecbda20.js.map +0 -1
  816. package/index-437c0f3c.js.map +0 -1
  817. package/index-47d179f2.js.map +0 -1
  818. package/index-63e7b57b.js.map +0 -1
  819. package/index-7b8ea67e.js.map +0 -1
  820. package/index-83ae3ffe.js.map +0 -1
  821. package/index-9626a87e.js.map +0 -1
  822. package/index-a52a0b76.js.map +0 -1
  823. package/index-ace292c2.js +0 -57
  824. package/index-ace292c2.js.map +0 -1
  825. package/stringSet-7c7d84fc.js.map +0 -1
  826. package/tokenize-8f238f49.js.map +0 -1
  827. package/topics-4697c2b3.js.map +0 -1
  828. package/tslib.es6-209c9f08.js.map +0 -1
  829. package/types-41ea68c8.js.map +0 -1
  830. package/useLongPress-e2570976.js.map +0 -1
  831. package/utils-12a3467f.js.map +0 -1
  832. package/utils-4942106c.js.map +0 -1
package/ui/ContextMenu.js CHANGED
@@ -1,56 +1,44 @@
1
1
  import React__default, { useState, useRef, useEffect } from 'react';
2
- import { b as __extends, _ as __assign } from '../tslib.es6-209c9f08.js';
2
+ import { b as __extends, _ as __assign } from '../tslib.es6-debac48c.js';
3
3
  import { createPortal } from 'react-dom';
4
4
  import SortByRow from './SortByRow.js';
5
- import { j as getClassName } from '../index-83ae3ffe.js';
6
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-8e901b57.js';
7
- import '../uuid-31c6ecb2.js';
5
+ import { j as getClassName } from '../index-f87c5aab.js';
6
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-8efe881f.js';
7
+ import '../uuid-e979d613.js';
8
8
  import '../utils/message/getOutgoingMessageState.js';
9
9
  import 'prop-types';
10
- import '../stringSet-7c7d84fc.js';
10
+ import '../stringSet-fa7e0d83.js';
11
11
 
12
+ // padding to handle height of last item in message-list
12
13
  var HEIGHT_PADDING = 60;
13
-
14
- var MenuItems$1 =
15
- /** @class */
16
- function (_super) {
14
+ var MenuItems$1 = /** @class */function (_super) {
17
15
  __extends(MenuItems, _super);
18
-
19
16
  function MenuItems(props) {
20
17
  var _this = _super.call(this, props) || this;
21
-
22
18
  _this.menuRef = /*#__PURE__*/React__default.createRef();
23
-
24
19
  _this.setupEvents = function () {
25
20
  var closeDropdown = _this.props.closeDropdown;
26
21
  var menuRef = _this.menuRef;
27
-
28
22
  var handleClickOutside = function (event) {
29
23
  var _a, _b;
30
-
31
24
  if ((menuRef === null || menuRef === void 0 ? void 0 : menuRef.current) && !((_b = (_a = menuRef === null || menuRef === void 0 ? void 0 : menuRef.current) === null || _a === void 0 ? void 0 : _a.contains) === null || _b === void 0 ? void 0 : _b.call(_a, event.target))) {
32
25
  closeDropdown === null || closeDropdown === void 0 ? void 0 : closeDropdown();
33
26
  }
34
27
  };
35
-
36
28
  _this.setState({
37
29
  handleClickOutside: handleClickOutside
38
30
  });
39
-
40
31
  document.addEventListener('mousedown', handleClickOutside);
41
32
  };
42
-
43
33
  _this.cleanUpEvents = function () {
44
34
  var handleClickOutside = _this.state.handleClickOutside;
45
35
  document.removeEventListener('mousedown', handleClickOutside);
46
36
  };
47
-
48
37
  _this.getMenuPosition = function () {
49
38
  var _a, _b;
50
-
51
39
  var _c = _this.props,
52
- parentRef = _c.parentRef,
53
- openLeft = _c.openLeft;
40
+ parentRef = _c.parentRef,
41
+ openLeft = _c.openLeft;
54
42
  var parentRect = (_b = (_a = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect) === null || _b === void 0 ? void 0 : _b.call(_a);
55
43
  var x = (parentRect === null || parentRect === void 0 ? void 0 : parentRect.x) || (parentRect === null || parentRect === void 0 ? void 0 : parentRect.left) || 0;
56
44
  var y = (parentRect === null || parentRect === void 0 ? void 0 : parentRect.y) || (parentRect === null || parentRect === void 0 ? void 0 : parentRect.top) || 0;
@@ -60,68 +48,54 @@ function (_super) {
60
48
  };
61
49
  if (!_this.menuRef.current) return menuStyle;
62
50
  var innerWidth = window.innerWidth,
63
- innerHeight = window.innerHeight;
64
-
51
+ innerHeight = window.innerHeight;
65
52
  var rect = _this.menuRef.current.getBoundingClientRect();
66
-
67
53
  if (y + rect.height + HEIGHT_PADDING > innerHeight) {
68
54
  menuStyle.top -= rect.height;
69
55
  }
70
-
71
56
  if (x + rect.width > innerWidth && !openLeft) {
72
57
  menuStyle.left -= rect.width;
73
58
  }
74
-
75
59
  if (menuStyle.top < 0) {
76
60
  menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;
77
61
  }
78
-
79
62
  menuStyle.top += 32;
80
-
81
63
  if (openLeft) {
82
64
  var padding = Number.isNaN(rect.width - 30) ? 108 // default
83
65
  : rect.width - 30;
84
66
  menuStyle.left -= padding;
85
- } // warning: this section has to be executed after the openLeft is calculated
67
+ }
68
+ // warning: this section has to be executed after the openLeft is calculated
86
69
  // menu is outside viewport
87
-
88
-
89
70
  if (menuStyle.left < 0) {
90
71
  menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;
91
72
  }
92
-
93
73
  _this.setState({
94
74
  menuStyle: menuStyle
95
75
  });
96
-
97
76
  return menuStyle;
98
77
  };
99
-
100
78
  _this.state = {
101
79
  menuStyle: {},
102
80
  handleClickOutside: function () {}
103
81
  };
104
82
  return _this;
105
83
  }
106
-
107
84
  MenuItems.prototype.componentDidMount = function () {
108
85
  this.setupEvents();
109
86
  this.getMenuPosition();
110
87
  };
111
-
112
88
  MenuItems.prototype.componentWillUnmount = function () {
113
89
  this.cleanUpEvents();
114
90
  };
115
-
116
91
  MenuItems.prototype.render = function () {
117
92
  var _a;
118
-
119
93
  var menuStyle = this.state.menuStyle;
120
94
  var _b = this.props,
121
- children = _b.children,
122
- style = _b.style,
123
- _c = _b.className,
124
- className = _c === void 0 ? "" : _c;
95
+ children = _b.children,
96
+ style = _b.style,
97
+ _c = _b.className,
98
+ className = _c === void 0 ? '' : _c;
125
99
  return /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement("div", {
126
100
  className: (_a = this.props) === null || _a === void 0 ? void 0 : _a.className
127
101
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -137,36 +111,31 @@ function (_super) {
137
111
  }, style)
138
112
  }, children)), document.getElementById('sendbird-dropdown-portal'));
139
113
  };
140
-
141
114
  return MenuItems;
142
115
  }(React__default.Component);
143
116
 
144
117
  var EmojiListItems$1 = function (_a) {
145
118
  var children = _a.children,
146
- parentRef = _a.parentRef,
147
- parentContainRef = _a.parentContainRef,
148
- _b = _a.spaceFromTrigger,
149
- spaceFromTrigger = _b === void 0 ? {
150
- x: 0,
151
- y: 0
152
- } : _b,
153
- closeDropdown = _a.closeDropdown;
154
-
119
+ parentRef = _a.parentRef,
120
+ parentContainRef = _a.parentContainRef,
121
+ _b = _a.spaceFromTrigger,
122
+ spaceFromTrigger = _b === void 0 ? {
123
+ x: 0,
124
+ y: 0
125
+ } : _b,
126
+ closeDropdown = _a.closeDropdown;
155
127
  var _c = useState({
156
- left: 0,
157
- top: 0
158
- }),
159
- reactionStyle = _c[0],
160
- setReactionStyle = _c[1];
161
-
128
+ left: 0,
129
+ top: 0
130
+ }),
131
+ reactionStyle = _c[0],
132
+ setReactionStyle = _c[1];
162
133
  var reactionRef = useRef(null);
163
134
  /* showParent & hideParent */
164
-
165
135
  useEffect(function () {
166
136
  if (parentContainRef && (parentContainRef === null || parentContainRef === void 0 ? void 0 : parentContainRef.current)) {
167
137
  parentContainRef.current.classList.add('sendbird-reactions--pressed');
168
138
  }
169
-
170
139
  return function () {
171
140
  if (parentContainRef && (parentContainRef === null || parentContainRef === void 0 ? void 0 : parentContainRef.current)) {
172
141
  parentContainRef.current.classList.remove('sendbird-reactions--pressed');
@@ -174,26 +143,21 @@ var EmojiListItems$1 = function (_a) {
174
143
  };
175
144
  }, []);
176
145
  /* setupEvents & cleanupEvents */
177
-
178
146
  useEffect(function () {
179
147
  var handleClickOutSide = function (event) {
180
148
  var _a, _b;
181
-
182
149
  if ((reactionRef === null || reactionRef === void 0 ? void 0 : reactionRef.current) && !((_b = (_a = reactionRef === null || reactionRef === void 0 ? void 0 : reactionRef.current) === null || _a === void 0 ? void 0 : _a.contains) === null || _b === void 0 ? void 0 : _b.call(_a, event.target))) {
183
150
  closeDropdown();
184
151
  }
185
152
  };
186
-
187
153
  document.addEventListener('mousedown', handleClickOutSide);
188
154
  return function () {
189
155
  document.removeEventListener('mousedown', handleClickOutSide);
190
156
  };
191
157
  }, []);
192
158
  /* getBarPosition */
193
-
194
159
  useEffect(function () {
195
160
  var _a, _b;
196
-
197
161
  var spaceFromTriggerX = (spaceFromTrigger === null || spaceFromTrigger === void 0 ? void 0 : spaceFromTrigger.x) || 0;
198
162
  var spaceFromTriggerY = (spaceFromTrigger === null || spaceFromTrigger === void 0 ? void 0 : spaceFromTrigger.y) || 0;
199
163
  var parentRect = (_a = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
@@ -203,12 +167,10 @@ var EmojiListItems$1 = function (_a) {
203
167
  top: y,
204
168
  left: x
205
169
  };
206
-
207
170
  if (!(reactionRef === null || reactionRef === void 0 ? void 0 : reactionRef.current)) {
208
171
  setReactionStyle(reactionStyle);
209
172
  } else {
210
173
  var rect = (_b = reactionRef === null || reactionRef === void 0 ? void 0 : reactionRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
211
-
212
174
  if (reactionStyle.top < rect.height) {
213
175
  reactionStyle.top += parentRect.height;
214
176
  reactionStyle.top += spaceFromTriggerY;
@@ -216,20 +178,16 @@ var EmojiListItems$1 = function (_a) {
216
178
  reactionStyle.top -= rect.height;
217
179
  reactionStyle.top -= spaceFromTriggerY;
218
180
  }
219
-
220
181
  reactionStyle.left -= rect.width / 2;
221
182
  reactionStyle.left += parentRect.height / 2 - 2;
222
183
  reactionStyle.left += spaceFromTriggerX;
223
184
  var maximumLeft = window.innerWidth - rect.width;
224
-
225
185
  if (maximumLeft < reactionStyle.left) {
226
186
  reactionStyle.left = maximumLeft;
227
187
  }
228
-
229
188
  if (reactionStyle.left < 0) {
230
189
  reactionStyle.left = 0;
231
190
  }
232
-
233
191
  setReactionStyle(reactionStyle);
234
192
  }
235
193
  }, []);
@@ -257,18 +215,16 @@ var MenuItems = MenuItems$1;
257
215
  var EmojiListItems = EmojiListItems$1;
258
216
  var MenuItem = function (_a) {
259
217
  var _b = _a.className,
260
- className = _b === void 0 ? '' : _b,
261
- children = _a.children,
262
- onClick = _a.onClick,
263
- _c = _a.disable,
264
- disable = _c === void 0 ? false : _c;
265
-
218
+ className = _b === void 0 ? '' : _b,
219
+ children = _a.children,
220
+ onClick = _a.onClick,
221
+ _c = _a.disable,
222
+ disable = _c === void 0 ? false : _c;
266
223
  var handleClickEvent = function (e) {
267
224
  if (!disable && onClick) {
268
225
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
269
226
  }
270
227
  };
271
-
272
228
  return /*#__PURE__*/React__default.createElement("li", {
273
229
  className: getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : '']),
274
230
  role: "menuitem",
@@ -289,8 +245,8 @@ var MenuRoot = function () {
289
245
  id: "sendbird-dropdown-portal",
290
246
  className: "sendbird-dropdown-portal"
291
247
  });
292
- }; // For the test environment
293
-
248
+ };
249
+ // For the test environment
294
250
  var EmojiReactionListRoot = function () {
295
251
  return /*#__PURE__*/React__default.createElement("div", {
296
252
  id: "sendbird-emoji-list-portal"
@@ -298,13 +254,11 @@ var EmojiReactionListRoot = function () {
298
254
  };
299
255
  function ContextMenu(_a) {
300
256
  var menuTrigger = _a.menuTrigger,
301
- menuItems = _a.menuItems,
302
- isOpen = _a.isOpen;
303
-
257
+ menuItems = _a.menuItems,
258
+ isOpen = _a.isOpen;
304
259
  var _b = useState(false),
305
- showMenu = _b[0],
306
- setShowMenu = _b[1];
307
-
260
+ showMenu = _b[0],
261
+ setShowMenu = _b[1];
308
262
  return /*#__PURE__*/React__default.createElement("div", {
309
263
  className: "sendbird-context-menu",
310
264
  style: {
@@ -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\n// padding to handle height of last item in message-list\nconst HEIGHT_PADDING = 60;\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 + HEIGHT_PADDING > 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 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 // warning: this section has to be executed after the openLeft is calculated\n // menu is outside viewport\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\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);\n\n// For the test environment\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":["HEIGHT_PADDING","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","ENTER_KEY","_MenuItems","_EmojiListItems","MenuItem","onClick","disable","handleClickEvent","e","getClassName","keyCode","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\n// padding to handle height of last item in message-list\nconst HEIGHT_PADDING = 60;\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\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 + HEIGHT_PADDING > 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 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 // warning: this section has to be executed after the openLeft is calculated\n // menu is outside viewport\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\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);\n\n// For the test environment\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":["HEIGHT_PADDING","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","createElement","concat","ref","__assign","display","position","Math","round","getElementById","Component","EmojiListItems","parentContainRef","spaceFromTrigger","useState","reactionStyle","setReactionStyle","reactionRef","useRef","useEffect","classList","add","remove","handleClickOutSide","spaceFromTriggerX","spaceFromTriggerY","maximumLeft","Fragment","SortByRow","maxItemCount","itemWidth","itemHeight","ENTER_KEY","_MenuItems","_EmojiListItems","MenuItem","onClick","disable","handleClickEvent","e","getClassName","role","onKeyPress","keyCode","tabIndex","Label","type","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","id","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","isOpen","showMenu","setShowMenu"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { a as __spreadArray } from '../tslib.es6-209c9f08.js';
1
+ import { a as __spreadArray } from '../tslib.es6-debac48c.js';
2
2
  import React__default from 'react';
3
- import { C as Colors, c as changeColorToClassName } from '../color-f6e2214f.js';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-8e901b57.js';
3
+ import { C as Colors, c as changeColorToClassName } from '../color-2037c3b8.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-8efe881f.js';
5
5
  import 'prop-types';
6
- import '../stringSet-7c7d84fc.js';
6
+ import '../stringSet-fa7e0d83.js';
7
7
 
8
8
  var DateSeparator = function (_a) {
9
9
  var _b = _a.children,
10
- children = _b === void 0 ? null : _b,
11
- _c = _a.className,
12
- className = _c === void 0 ? '' : _c,
13
- _d = _a.separatorColor,
14
- separatorColor = _d === void 0 ? Colors.ONBACKGROUND_4 : _d;
10
+ children = _b === void 0 ? null : _b,
11
+ _c = _a.className,
12
+ className = _c === void 0 ? '' : _c,
13
+ _d = _a.separatorColor,
14
+ separatorColor = _d === void 0 ? Colors.ONBACKGROUND_4 : _d;
15
15
  return /*#__PURE__*/React__default.createElement("div", {
16
16
  className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-separator'], false).join(' ')
17
17
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"DateSeparator.js","sources":["../../src/ui/DateSeparator/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\n\nimport './index.scss';\n\nimport {\n Colors,\n changeColorToClassName,\n} from '../../utils/color';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface DateSeparatorProps {\n children?: string | ReactElement;\n className?: string | Array<string>;\n separatorColor?: Colors;\n}\nconst DateSeparator = ({\n children = null,\n className = '',\n separatorColor = Colors.ONBACKGROUND_4,\n}: DateSeparatorProps): ReactElement => {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-separator',\n ].join(' ')}\n >\n <div className={['sendbird-separator__left', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n <div className=\"sendbird-separator__text\">\n {\n children\n || (\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n Date Separator\n </Label>\n )\n }\n </div>\n <div className={['sendbird-separator__right', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n </div>\n );\n};\n\nexport default DateSeparator;\n"],"names":["DateSeparator","_a","_b","children","_c","className","_d","separatorColor","Colors","ONBACKGROUND_4","React","__spreadArray","Array","isArray","join","concat","changeColorToClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":";;;;;;;AAgBA,IAAMA,aAAa,GAAG,UAACC,EAAD,EAID;MAHnBC,EAAe,GAAAD,EAAA,CAAAE;MAAfA,QAAQ,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,IAAA;MACXE,EAAA,GAAAH,EAAA,CAAAI;MAAAA,SAAS,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,EAAH,GAAKA;MACdE;MAAAC,cAAc,mBAAGC,MAAM,CAACC,iBAAcH;EAEtC,oBACEI,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAEC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAN,CAAcR,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,EAC8C,IAD9C,CAAA,EAC8C,CACvD,oBADuD,CAD9C,EAGT,KAHS,CAAA,CAGTS,IAHS,CAGJ,GAHI,CAAA;GAKX,eAAAJ,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAE,CAAC,0BAAD,EAA6B,EAAA,CAAGK,MAAH,CAAGC,sBAAsB,CAACT,cAAD,CAAzB,sBAAA,CAA7B,CAA4FO,CAAAA,IAA5F,CAAiG,GAAjG,CAAA;AAAhB,GAAA,CANF,eAOEJ,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,0BAAA;GAEXP,EAAAA,QAAQ,iBAENO,cAAA,CAAA,aAAA,CAAC,KAAD,EAAA;IAAO,IAAI,EAAEO,eAAe,CAACC,SAA7B;IAAwC,KAAK,EAAEC,WAAW,CAACC,cAAAA;AAA3D,GAAA,EAAA,gBAAA,CAJN,CAPF,eAiBEV,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAE,CAAC,2BAAD,EAA8B,EAAA,CAAGK,MAAH,CAAGC,sBAAsB,CAACT,cAAD,CAAzB,sBAAA,CAA9B,CAA6FO,CAAAA,IAA7F,CAAkG,GAAlG,CAAA;AAAhB,GAAA,CAjBF,CADF,CAAA;AAqBD;;;;"}
1
+ {"version":3,"file":"DateSeparator.js","sources":["../../src/ui/DateSeparator/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\n\nimport './index.scss';\n\nimport {\n Colors,\n changeColorToClassName,\n} from '../../utils/color';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface DateSeparatorProps {\n children?: string | ReactElement;\n className?: string | Array<string>;\n separatorColor?: Colors;\n}\nconst DateSeparator = ({\n children = null,\n className = '',\n separatorColor = Colors.ONBACKGROUND_4,\n}: DateSeparatorProps): ReactElement => {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-separator',\n ].join(' ')}\n >\n <div className={['sendbird-separator__left', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n <div className=\"sendbird-separator__text\">\n {\n children\n || (\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n Date Separator\n </Label>\n )\n }\n </div>\n <div className={['sendbird-separator__right', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n </div>\n );\n};\n\nexport default DateSeparator;\n"],"names":["DateSeparator","_a","_b","children","_c","className","_d","separatorColor","Colors","ONBACKGROUND_4","React","createElement","__spreadArray","Array","isArray","join","concat","changeColorToClassName","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2"],"mappings":";;;;;;;AAgBA,IAAMA,aAAa,GAAG,UAACC,EAIF,EAAA;MAHnBC,EAAe,GAAAD,EAAA,CAAAE,QAAA;IAAfA,QAAQ,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,KAAA;IACfE,EAAA,GAAAH,EAAA,CAAAI,SAAc;IAAdA,SAAS,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,EAAA;IACdE,sBAAsC;IAAtCC,cAAc,mBAAGC,MAAM,CAACC,cAAc,GAAAH,EAAA,CAAA;EAEtC,oBACEI,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEN,IAAAA,SAAS,EAAEO,aAAA,CAAAA,aAAA,CAAA,EAAA,EACLC,KAAK,CAACC,OAAO,CAACT,SAAS,CAAC,GAAGA,SAAS,GAAG,CAACA,SAAS,CAAC,EAAC,IAAA,CAAA,EAAA,CACvD,oBAAoB,CACpB,EAAA,KAAA,CAAA,CAAAU,IAAI,CAAC,GAAG,CAAA;GAEVL,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAE,CAAC,0BAA0B,EAAE,EAAG,CAAAW,MAAA,CAAAC,sBAAsB,CAACV,cAAc,CAAC,uBAAoB,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAA;GACpH,CAAA,eAAAL,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC,0BAAA;AAA0B,GAAA,EAErCF,QAAQ,iBAENO,cAAA,CAAAC,aAAA,CAACO,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,SAAU;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;AAAe,GAAA,EACxE,gBACF,CACD,CAGL,eAAAd,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAE,CAAC,2BAA2B,EAAE,EAAG,CAAAW,MAAA,CAAAC,sBAAsB,CAACV,cAAc,CAAC,uBAAoB,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAA;AAAE,GAAA,CACzH,CAAM,CAAA;AAEV;;;;"}
@@ -6,34 +6,33 @@ import ReactionButton from './ReactionButton.js';
6
6
  import ImageRenderer from './ImageRenderer.js';
7
7
  import Icon, { IconTypes, IconColors } from './Icon.js';
8
8
  import ContextMenu, { EmojiListItems } from './ContextMenu.js';
9
- import { H as getEmojiMapAll, j as getClassName, I as isReactedBy, J as getEmojiTooltipString, y as getEmojiListAll } from '../index-83ae3ffe.js';
10
- import { a as LocalizationContext } from '../LocalizationContext-654ae04f.js';
11
- import '../tslib.es6-209c9f08.js';
12
- import '../index-8e901b57.js';
9
+ import { H as getEmojiMapAll, j as getClassName, I as isReactedBy, J as getEmojiTooltipString, y as getEmojiListAll } from '../index-f87c5aab.js';
10
+ import { a as LocalizationContext } from '../LocalizationContext-428ea690.js';
11
+ import '../tslib.es6-debac48c.js';
12
+ import '../index-8efe881f.js';
13
13
  import 'prop-types';
14
- import '../stringSet-7c7d84fc.js';
14
+ import '../stringSet-fa7e0d83.js';
15
15
  import 'react-dom';
16
16
  import './SortByRow.js';
17
- import '../uuid-31c6ecb2.js';
17
+ import '../uuid-e979d613.js';
18
18
  import '../utils/message/getOutgoingMessageState.js';
19
- import '../index-cf141ad7.js';
19
+ import '../index-8b3cd0b6.js';
20
20
 
21
21
  var EmojiReactions = function (_a) {
22
22
  var _b, _c;
23
-
24
23
  var className = _a.className,
25
- userId = _a.userId,
26
- message = _a.message,
27
- emojiContainer = _a.emojiContainer,
28
- memberNicknamesMap = _a.memberNicknamesMap,
29
- _d = _a.spaceFromTrigger,
30
- spaceFromTrigger = _d === void 0 ? {
31
- x: 0,
32
- y: 0
33
- } : _d,
34
- _e = _a.isByMe,
35
- isByMe = _e === void 0 ? false : _e,
36
- toggleReaction = _a.toggleReaction;
24
+ userId = _a.userId,
25
+ message = _a.message,
26
+ emojiContainer = _a.emojiContainer,
27
+ memberNicknamesMap = _a.memberNicknamesMap,
28
+ _d = _a.spaceFromTrigger,
29
+ spaceFromTrigger = _d === void 0 ? {
30
+ x: 0,
31
+ y: 0
32
+ } : _d,
33
+ _e = _a.isByMe,
34
+ isByMe = _e === void 0 ? false : _e,
35
+ toggleReaction = _a.toggleReaction;
37
36
  var stringSet = useContext(LocalizationContext).stringSet;
38
37
  var emojisMap = getEmojiMapAll(emojiContainer);
39
38
  var addReactionRef = useRef(null);
@@ -41,7 +40,6 @@ var EmojiReactions = function (_a) {
41
40
  className: getClassName([className, 'sendbird-emoji-reactions', isByMe ? 'outgoing' : 'incoming'])
42
41
  }, ((_b = message === null || message === void 0 ? void 0 : message.reactions) === null || _b === void 0 ? void 0 : _b.length) > 0 && message.reactions.map(function (reaction) {
43
42
  var _a, _b;
44
-
45
43
  var reactedByMe = isReactedBy(userId, reaction);
46
44
  return /*#__PURE__*/React__default.createElement(TooltipWrapper, {
47
45
  className: "sendbird-emoji-reactions__reaction-badge",
@@ -52,7 +50,6 @@ var EmojiReactions = function (_a) {
52
50
  selected: reactedByMe,
53
51
  onClick: function (e) {
54
52
  var _a;
55
-
56
53
  toggleReaction(message, reaction.key, reactedByMe);
57
54
  (_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
58
55
  }
@@ -75,7 +72,6 @@ var EmojiReactions = function (_a) {
75
72
  isAdd: true,
76
73
  onClick: function (e) {
77
74
  var _a;
78
-
79
75
  toggleDropdown();
80
76
  (_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
81
77
  }
@@ -94,7 +90,6 @@ var EmojiReactions = function (_a) {
94
90
  spacefromTrigger: spaceFromTrigger
95
91
  }, getEmojiListAll(emojiContainer).map(function (emoji) {
96
92
  var _a, _b, _c;
97
-
98
93
  var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.find(function (reaction) {
99
94
  return reaction.key === emoji.key;
100
95
  })) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
@@ -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?: { 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","key","userIds","getEmojiTooltipString","e","stopPropagation","get","url","IconTypes","QUESTION","_c","size","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","getEmojiListAll","emoji","isReacted","find","some","reactorId","style"],"mappings":"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"}
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","createElement","getClassName","_b","reactions","length","map","reaction","reactedByMe","isReactedBy","TooltipWrapper","key","hoverTooltip","userIds","Tooltip","getEmojiTooltipString","ReactionBadge","count","selected","onClick","e","stopPropagation","ImageRenderer","circle","url","get","width","height","defaultComponent","Icon","type","IconTypes","QUESTION","_c","size","ContextMenu","menuTrigger","toggleDropdown","ref","isAdd","EMOJI_MORE","fillColor","IconColors","ON_BACKGROUND_3","menuItems","closeDropdown","EmojiListItems","parentRef","parentContainRef","spacefromTrigger","getEmojiListAll","emoji","isReacted","find","some","reactorId","ReactionButton","placeHolder","style"],"mappings":"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"}