@sendbird/uikit-react 3.5.0-rc.0 → 3.5.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 (936) hide show
  1. package/App.js +312 -235
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +544 -0
  4. package/Channel/components/ChannelHeader.js +46 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +104 -131
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +56 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +240 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +152 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +260 -175
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +34 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +139 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +44 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +12 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +69 -44
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +101 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +72 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +32 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-ade145a7.js → ChannelListProvider-4cf5c0f5.js} +233 -285
  45. package/ChannelListProvider-4cf5c0f5.js.map +1 -0
  46. package/{ChannelProvider-c9db10c0.js → ChannelProvider-6e8e99df.js} +659 -726
  47. package/ChannelProvider-6e8e99df.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-34603fa5.js +44 -0
  76. package/CreateChannelProvider-34603fa5.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-04c0c9dc.js +20 -0
  90. package/{LocalizationContext-60894e38.js.map → LocalizationContext-04c0c9dc.js.map} +1 -1
  91. package/MediaQueryContext-ff9dca2b.js +87 -0
  92. package/MediaQueryContext-ff9dca2b.js.map +1 -0
  93. package/MemberList-9bf26111.js +403 -0
  94. package/MemberList-9bf26111.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +50 -35
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +174 -191
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +36 -30
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-d7372692.js +429 -0
  128. package/OpenChannelListProvider-d7372692.js.map +1 -0
  129. package/OpenChannelProvider-24cd68b9.js +1885 -0
  130. package/OpenChannelProvider-24cd68b9.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-94e2bf9e.js +36 -0
  147. package/RemoveMessageModal-94e2bf9e.js.map +1 -0
  148. package/SendbirdProvider.js +749 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +238 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +112 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +108 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +306 -276
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +146 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +169 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +87 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-203b94f3.js +1695 -0
  170. package/ThreadProvider-203b94f3.js.map +1 -0
  171. package/{UserProfileContext-33a26cc4.js → UserProfileContext-c776d522.js} +1 -4
  172. package/{UserProfileContext-33a26cc4.js.map → UserProfileContext-c776d522.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-77d8f487.js +170 -0
  174. package/VoiceMessageInputWrapper-77d8f487.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +84 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +156 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +121 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-62e6d3a7.js +123 -0
  184. package/WebAudioUtils-62e6d3a7.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-ed44209e.js → _rollupPluginBabelHelpers-fb0e05a4.js} +17 -11
  186. package/_rollupPluginBabelHelpers-fb0e05a4.js.map +1 -0
  187. package/actionTypes-1db5749d.js +8 -0
  188. package/actionTypes-1db5749d.js.map +1 -0
  189. package/cjs/App.js +312 -235
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +46 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +102 -129
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +56 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +243 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +151 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +260 -175
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +34 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +139 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +44 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +69 -44
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +100 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +72 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +32 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-65473831.js → ChannelListProvider-e0ce316a.js} +232 -284
  232. package/cjs/ChannelListProvider-e0ce316a.js.map +1 -0
  233. package/cjs/{ChannelProvider-1e08a7a9.js → ChannelProvider-0df75472.js} +657 -724
  234. package/cjs/ChannelProvider-0df75472.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-c0fca0a5.js +52 -0
  263. package/cjs/CreateChannelProvider-c0fca0a5.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-8780a64e.js → LocalizationContext-0e429c3d.js} +9 -11
  277. package/cjs/{LocalizationContext-8780a64e.js.map → LocalizationContext-0e429c3d.js.map} +1 -1
  278. package/cjs/MediaQueryContext-33fc3b17.js +94 -0
  279. package/cjs/MediaQueryContext-33fc3b17.js.map +1 -0
  280. package/cjs/MemberList-a45a51c4.js +409 -0
  281. package/cjs/MemberList-a45a51c4.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +36 -30
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-fc8b53ee.js +439 -0
  315. package/cjs/OpenChannelListProvider-fc8b53ee.js.map +1 -0
  316. package/cjs/OpenChannelProvider-217a8ac2.js +1894 -0
  317. package/cjs/OpenChannelProvider-217a8ac2.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-0da4f94b.js → RemoveMessageModal-5903f232.js} +19 -14
  333. package/cjs/RemoveMessageModal-5903f232.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +748 -408
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +237 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +108 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +305 -275
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +146 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +170 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +87 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-8ee179c2.js +1704 -0
  356. package/cjs/ThreadProvider-8ee179c2.js.map +1 -0
  357. package/cjs/{UserProfileContext-0808e413.js → UserProfileContext-87580795.js} +1 -4
  358. package/cjs/{UserProfileContext-0808e413.js.map → UserProfileContext-87580795.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +17 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +166 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-e226789c.js +126 -0
  370. package/cjs/WebAudioUtils-e226789c.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-bd6baf0a.js → _rollupPluginBabelHelpers-c89f311a.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-c89f311a.js.map +1 -0
  373. package/cjs/actionTypes-0fa2943d.js +10 -0
  374. package/cjs/actionTypes-0fa2943d.js.map +1 -0
  375. package/cjs/{color-fdbe394d.js → color-bada0fc7.js} +13 -21
  376. package/cjs/color-bada0fc7.js.map +1 -0
  377. package/cjs/{compareIds-d0c02eca.js → compareIds-ccccfe86.js} +5 -6
  378. package/cjs/compareIds-ccccfe86.js.map +1 -0
  379. package/cjs/const-a85f3364.js +20 -0
  380. package/cjs/const-a85f3364.js.map +1 -0
  381. package/cjs/{const-8785e4ad.js → const-d8cece19.js} +4 -4
  382. package/cjs/const-d8cece19.js.map +1 -0
  383. package/cjs/consts-1c3020ad.js +6 -0
  384. package/cjs/consts-1c3020ad.js.map +1 -0
  385. package/cjs/consts-1d94dc61.js +6 -0
  386. package/cjs/consts-1d94dc61.js.map +1 -0
  387. package/cjs/consts-5e0f96b3.js +41 -0
  388. package/cjs/consts-5e0f96b3.js.map +1 -0
  389. package/cjs/consts-740f60b8.js +6 -0
  390. package/cjs/consts-740f60b8.js.map +1 -0
  391. package/cjs/{context-012aecd1.js → context-8e7e8457.js} +6 -5
  392. package/cjs/{context-012aecd1.js.map → context-8e7e8457.js.map} +1 -1
  393. package/cjs/dist/index.css +1682 -1229
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/{index-48d85d8f.js → index-016f7106.js} +1 -1
  398. package/cjs/{index-48d85d8f.js.map → index-016f7106.js.map} +1 -1
  399. package/cjs/{index-e8544e24.js → index-1613ae03.js} +29 -37
  400. package/cjs/index-1613ae03.js.map +1 -0
  401. package/cjs/index-2be14d85.js +57 -0
  402. package/cjs/index-2be14d85.js.map +1 -0
  403. package/cjs/index-3b30939e.js +79 -0
  404. package/cjs/index-3b30939e.js.map +1 -0
  405. package/cjs/index-5231fde8.js +585 -0
  406. package/cjs/index-5231fde8.js.map +1 -0
  407. package/cjs/index-648c06ed.js +330 -0
  408. package/cjs/index-648c06ed.js.map +1 -0
  409. package/cjs/{index-bdd889a2.js → index-6cb0d040.js} +11 -25
  410. package/cjs/index-6cb0d040.js.map +1 -0
  411. package/cjs/{index-ebb542c3.js → index-71fdaa1b.js} +55 -63
  412. package/cjs/index-71fdaa1b.js.map +1 -0
  413. package/cjs/{index-abe135e6.js → index-7d125728.js} +2 -2
  414. package/cjs/{index-abe135e6.js.map → index-7d125728.js.map} +1 -1
  415. package/cjs/{index-e191d245.js → index-7f6bbe0c.js} +42 -51
  416. package/cjs/index-7f6bbe0c.js.map +1 -0
  417. package/cjs/{index-5ea12b7a.js → index-869e9a94.js} +2 -2
  418. package/cjs/{index-5ea12b7a.js.map → index-869e9a94.js.map} +1 -1
  419. package/cjs/index-89d81dad.js +456 -0
  420. package/cjs/index-89d81dad.js.map +1 -0
  421. package/cjs/{index-c13771a7.js → index-8affdde5.js} +57 -3
  422. package/cjs/index-8affdde5.js.map +1 -0
  423. package/cjs/index-99f16473.js +202 -0
  424. package/cjs/index-99f16473.js.map +1 -0
  425. package/cjs/index-c9d348b6.js +367 -0
  426. package/cjs/index-c9d348b6.js.map +1 -0
  427. package/cjs/index-e8c0080f.js +161 -0
  428. package/cjs/index-e8c0080f.js.map +1 -0
  429. package/cjs/{index-08d232f8.js → index-f570d25c.js} +1 -1
  430. package/cjs/index-f570d25c.js.map +1 -0
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-0585715f.js +6 -0
  434. package/cjs/index.module-0585715f.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/resolvedReplyType-67e78c63.js +32 -0
  438. package/cjs/resolvedReplyType-67e78c63.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-60660a99.js → stringSet-106da549.js} +112 -90
  442. package/cjs/stringSet-106da549.js.map +1 -0
  443. package/cjs/tokenize-2aa0f876.js +164 -0
  444. package/cjs/tokenize-2aa0f876.js.map +1 -0
  445. package/cjs/topics-b384e6b3.js +18 -0
  446. package/cjs/topics-b384e6b3.js.map +1 -0
  447. package/cjs/types-e0b77c8c.js +17 -0
  448. package/cjs/types-e0b77c8c.js.map +1 -0
  449. package/cjs/ui/Accordion.js +21 -24
  450. package/cjs/ui/Accordion.js.map +1 -1
  451. package/cjs/ui/AccordionGroup.js +10 -13
  452. package/cjs/ui/AccordionGroup.js.map +1 -1
  453. package/cjs/ui/AdminMessage.js +10 -13
  454. package/cjs/ui/AdminMessage.js.map +1 -1
  455. package/cjs/ui/Avatar.js +57 -79
  456. package/cjs/ui/Avatar.js.map +1 -1
  457. package/cjs/ui/Badge.js +16 -15
  458. package/cjs/ui/Badge.js.map +1 -1
  459. package/cjs/ui/BottomSheet.js +14 -12
  460. package/cjs/ui/BottomSheet.js.map +1 -1
  461. package/cjs/ui/Button.js +20 -35
  462. package/cjs/ui/Button.js.map +1 -1
  463. package/cjs/ui/ChannelAvatar.js +38 -41
  464. package/cjs/ui/ChannelAvatar.js.map +1 -1
  465. package/cjs/ui/Checkbox.js +11 -13
  466. package/cjs/ui/Checkbox.js.map +1 -1
  467. package/cjs/ui/ConnectionStatus.js +7 -5
  468. package/cjs/ui/ConnectionStatus.js.map +1 -1
  469. package/cjs/ui/ContextMenu.js +175 -199
  470. package/cjs/ui/ContextMenu.js.map +1 -1
  471. package/cjs/ui/DateSeparator.js +12 -14
  472. package/cjs/ui/DateSeparator.js.map +1 -1
  473. package/cjs/ui/EmojiReactions.js +299 -107
  474. package/cjs/ui/EmojiReactions.js.map +1 -1
  475. package/cjs/ui/FileMessageItemBody.js +22 -23
  476. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  477. package/cjs/ui/FileViewer.js +36 -36
  478. package/cjs/ui/FileViewer.js.map +1 -1
  479. package/cjs/ui/Icon.js +447 -623
  480. package/cjs/ui/Icon.js.map +1 -1
  481. package/cjs/ui/IconButton.js +20 -31
  482. package/cjs/ui/IconButton.js.map +1 -1
  483. package/cjs/ui/ImageRenderer.js +34 -43
  484. package/cjs/ui/ImageRenderer.js.map +1 -1
  485. package/cjs/ui/Input.js +16 -16
  486. package/cjs/ui/Input.js.map +1 -1
  487. package/cjs/ui/Label.js +2 -2
  488. package/cjs/ui/LinkLabel.js +4 -3
  489. package/cjs/ui/LinkLabel.js.map +1 -1
  490. package/cjs/ui/Loader.js +10 -12
  491. package/cjs/ui/Loader.js.map +1 -1
  492. package/cjs/ui/MentionLabel.js +58 -65
  493. package/cjs/ui/MentionLabel.js.map +1 -1
  494. package/cjs/ui/MentionUserLabel.js +12 -10
  495. package/cjs/ui/MentionUserLabel.js.map +1 -1
  496. package/cjs/ui/MessageContent.js +212 -548
  497. package/cjs/ui/MessageContent.js.map +1 -1
  498. package/cjs/ui/MessageInput.js +392 -119
  499. package/cjs/ui/MessageInput.js.map +1 -1
  500. package/cjs/ui/MessageItemMenu.js +83 -83
  501. package/cjs/ui/MessageItemMenu.js.map +1 -1
  502. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  503. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  504. package/cjs/ui/MessageSearchFileItem.js +56 -51
  505. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  506. package/cjs/ui/MessageSearchItem.js +42 -41
  507. package/cjs/ui/MessageSearchItem.js.map +1 -1
  508. package/cjs/ui/MessageStatus.js +10 -11
  509. package/cjs/ui/MessageStatus.js.map +1 -1
  510. package/cjs/ui/Modal.js +52 -46
  511. package/cjs/ui/Modal.js.map +1 -1
  512. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  513. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/cjs/ui/OGMessageItemBody.js +67 -63
  515. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  516. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  517. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/cjs/ui/OpenChannelAvatar.js +18 -17
  519. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  520. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  521. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  522. package/cjs/ui/OpenchannelFileMessage.js +140 -151
  523. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  525. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
  527. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  528. package/cjs/ui/OpenchannelUserMessage.js +168 -178
  529. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  530. package/cjs/ui/PlaceHolder.js +5 -6
  531. package/cjs/ui/PlaceHolder.js.map +1 -1
  532. package/cjs/ui/PlaybackTime.js +35 -0
  533. package/cjs/ui/PlaybackTime.js.map +1 -0
  534. package/cjs/ui/ProgressBar.js +40 -0
  535. package/cjs/ui/ProgressBar.js.map +1 -0
  536. package/cjs/ui/QuoteMessage.js +50 -44
  537. package/cjs/ui/QuoteMessage.js.map +1 -1
  538. package/cjs/ui/QuoteMessageInput.js +31 -29
  539. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  540. package/cjs/ui/ReactionBadge.js +13 -21
  541. package/cjs/ui/ReactionBadge.js.map +1 -1
  542. package/cjs/ui/ReactionButton.js +30 -27
  543. package/cjs/ui/ReactionButton.js.map +1 -1
  544. package/cjs/ui/SortByRow.js +14 -18
  545. package/cjs/ui/SortByRow.js.map +1 -1
  546. package/cjs/ui/TextButton.js +13 -21
  547. package/cjs/ui/TextButton.js.map +1 -1
  548. package/cjs/ui/TextMessageItemBody.js +41 -48
  549. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  550. package/cjs/ui/ThreadReplies.js +25 -22
  551. package/cjs/ui/ThreadReplies.js.map +1 -1
  552. package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
  553. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  554. package/cjs/ui/Toggle.js +202 -0
  555. package/cjs/ui/Toggle.js.map +1 -0
  556. package/cjs/ui/Tooltip.js +8 -9
  557. package/cjs/ui/Tooltip.js.map +1 -1
  558. package/cjs/ui/TooltipWrapper.js +17 -20
  559. package/cjs/ui/TooltipWrapper.js.map +1 -1
  560. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  561. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  562. package/cjs/ui/UserListItem.js +76 -76
  563. package/cjs/ui/UserListItem.js.map +1 -1
  564. package/cjs/ui/UserProfile.js +31 -29
  565. package/cjs/ui/UserProfile.js.map +1 -1
  566. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  567. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  568. package/cjs/ui/VoiceMessgeInput.js +22 -0
  569. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  570. package/cjs/ui/Word.js +31 -39
  571. package/cjs/ui/Word.js.map +1 -1
  572. package/cjs/useDirtyGetMentions-b8ca5675.js +77 -0
  573. package/cjs/useDirtyGetMentions-b8ca5675.js.map +1 -0
  574. package/cjs/useLongPress-8037894e.js +87 -0
  575. package/cjs/useLongPress-8037894e.js.map +1 -0
  576. package/cjs/useSendbirdStateContext.js +2 -3
  577. package/cjs/useSendbirdStateContext.js.map +1 -1
  578. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  579. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  580. package/cjs/utils/message/isVoiceMessage.js +12 -0
  581. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  582. package/cjs/{utils-ba58eacf.js → utils-01ff5332.js} +3 -7
  583. package/cjs/{utils-ba58eacf.js.map → utils-01ff5332.js.map} +1 -1
  584. package/cjs/utils-2edcddc8.js +35 -0
  585. package/cjs/utils-2edcddc8.js.map +1 -0
  586. package/cjs/utils-5ac3db44.js +31 -0
  587. package/cjs/utils-5ac3db44.js.map +1 -0
  588. package/cjs/{utils-708aa730.js → utils-ad7b5b82.js} +1 -1
  589. package/cjs/{utils-708aa730.js.map → utils-ad7b5b82.js.map} +1 -1
  590. package/cjs/uuid-12b01f73.js +15 -0
  591. package/cjs/{uuid-a9006ea2.js.map → uuid-12b01f73.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-c39702d1.js → color-347926b6.js} +5 -14
  595. package/{color-c39702d1.js.map → color-347926b6.js.map} +1 -1
  596. package/{compareIds-063e5503.js → compareIds-3a43c11b.js} +5 -6
  597. package/compareIds-3a43c11b.js.map +1 -0
  598. package/const-18dba7a4.js +13 -0
  599. package/const-18dba7a4.js.map +1 -0
  600. package/{const-1510a671.js → const-c608f749.js} +4 -4
  601. package/const-c608f749.js.map +1 -0
  602. package/consts-6bca01c7.js +4 -0
  603. package/consts-6bca01c7.js.map +1 -0
  604. package/consts-7a169a0f.js +4 -0
  605. package/consts-7a169a0f.js.map +1 -0
  606. package/consts-c1baf70a.js +27 -0
  607. package/consts-c1baf70a.js.map +1 -0
  608. package/consts-fb4d475a.js +4 -0
  609. package/consts-fb4d475a.js.map +1 -0
  610. package/context-786ef1a2.js +13 -0
  611. package/{context-d5dc28c9.js.map → context-786ef1a2.js.map} +1 -1
  612. package/dist/index.css +1682 -1229
  613. package/dist/index.css.map +1 -1
  614. package/handlers/OpenChannelHandler.js.map +1 -1
  615. package/handlers/SessionHandler.js.map +1 -1
  616. package/{index-7c1f570b.js → index-06b854f7.js} +55 -63
  617. package/index-06b854f7.js.map +1 -0
  618. package/index-2673effb.js +360 -0
  619. package/index-2673effb.js.map +1 -0
  620. package/{index-5e776774.js → index-319984d0.js} +1 -1
  621. package/{index-5e776774.js.map → index-319984d0.js.map} +1 -1
  622. package/{index-eadca08d.js → index-4455855e.js} +2 -2
  623. package/{index-eadca08d.js.map → index-4455855e.js.map} +1 -1
  624. package/index-6663ce18.js +450 -0
  625. package/index-6663ce18.js.map +1 -0
  626. package/{index-b19486f5.js → index-6c252d25.js} +2 -2
  627. package/{index-b19486f5.js.map → index-6c252d25.js.map} +1 -1
  628. package/index-71a20863.js +320 -0
  629. package/index-71a20863.js.map +1 -0
  630. package/index-7d71b26c.js +154 -0
  631. package/index-7d71b26c.js.map +1 -0
  632. package/{index-d81c515b.js → index-9a4e0846.js} +1 -1
  633. package/index-9a4e0846.js.map +1 -0
  634. package/{index-fd15e3b0.js → index-9cd77b08.js} +29 -37
  635. package/index-9cd77b08.js.map +1 -0
  636. package/index-c149ea48.js +187 -0
  637. package/index-c149ea48.js.map +1 -0
  638. package/index-cf3939c6.js +76 -0
  639. package/index-cf3939c6.js.map +1 -0
  640. package/index-cf859f03.js +540 -0
  641. package/index-cf859f03.js.map +1 -0
  642. package/{index-95ac9232.js → index-e33f7f55.js} +11 -25
  643. package/index-e33f7f55.js.map +1 -0
  644. package/{index-b8de16d6.js → index-eabd1e7e.js} +39 -48
  645. package/index-eabd1e7e.js.map +1 -0
  646. package/index-ebb62af1.js +51 -0
  647. package/index-ebb62af1.js.map +1 -0
  648. package/{index-0fd24497.js → index-edf844f0.js} +57 -4
  649. package/index-edf844f0.js.map +1 -0
  650. package/index.d.ts +176 -124
  651. package/index.js +84 -63
  652. package/index.js.map +1 -1
  653. package/index.module-6b7ed635.js +4 -0
  654. package/index.module-6b7ed635.js.map +1 -0
  655. package/lame.all.js +2537 -0
  656. package/lame.all.js.map +1 -0
  657. package/package.json +62 -41
  658. package/resolvedReplyType-8776d777.js +29 -0
  659. package/resolvedReplyType-8776d777.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-7ace5726.js → stringSet-e0ee1265.js} +112 -90
  663. package/stringSet-e0ee1265.js.map +1 -0
  664. package/tokenize-1b053c86.js +159 -0
  665. package/tokenize-1b053c86.js.map +1 -0
  666. package/topics-70f569e9.js +16 -0
  667. package/topics-70f569e9.js.map +1 -0
  668. package/types-77bbdda6.js +15 -0
  669. package/types-77bbdda6.js.map +1 -0
  670. package/ui/Accordion.js +21 -24
  671. package/ui/Accordion.js.map +1 -1
  672. package/ui/AccordionGroup.js +10 -13
  673. package/ui/AccordionGroup.js.map +1 -1
  674. package/ui/AdminMessage.js +10 -13
  675. package/ui/AdminMessage.js.map +1 -1
  676. package/ui/Avatar.js +57 -79
  677. package/ui/Avatar.js.map +1 -1
  678. package/ui/Badge.js +16 -15
  679. package/ui/Badge.js.map +1 -1
  680. package/ui/BottomSheet.js +14 -12
  681. package/ui/BottomSheet.js.map +1 -1
  682. package/ui/Button.js +20 -35
  683. package/ui/Button.js.map +1 -1
  684. package/ui/ChannelAvatar.js +38 -41
  685. package/ui/ChannelAvatar.js.map +1 -1
  686. package/ui/Checkbox.js +11 -13
  687. package/ui/Checkbox.js.map +1 -1
  688. package/ui/ConnectionStatus.js +7 -5
  689. package/ui/ConnectionStatus.js.map +1 -1
  690. package/ui/ContextMenu.js +176 -200
  691. package/ui/ContextMenu.js.map +1 -1
  692. package/ui/DateSeparator.js +12 -14
  693. package/ui/DateSeparator.js.map +1 -1
  694. package/ui/EmojiReactions.js +300 -108
  695. package/ui/EmojiReactions.js.map +1 -1
  696. package/ui/FileMessageItemBody.js +22 -23
  697. package/ui/FileMessageItemBody.js.map +1 -1
  698. package/ui/FileViewer.js +36 -36
  699. package/ui/FileViewer.js.map +1 -1
  700. package/ui/Icon.js +448 -622
  701. package/ui/Icon.js.map +1 -1
  702. package/ui/IconButton.js +20 -31
  703. package/ui/IconButton.js.map +1 -1
  704. package/ui/ImageRenderer.js +34 -43
  705. package/ui/ImageRenderer.js.map +1 -1
  706. package/ui/Input.js +16 -16
  707. package/ui/Input.js.map +1 -1
  708. package/ui/Label.js +2 -2
  709. package/ui/LinkLabel.js +4 -3
  710. package/ui/LinkLabel.js.map +1 -1
  711. package/ui/Loader.js +10 -12
  712. package/ui/Loader.js.map +1 -1
  713. package/ui/MentionLabel.js +58 -65
  714. package/ui/MentionLabel.js.map +1 -1
  715. package/ui/MentionUserLabel.js +12 -10
  716. package/ui/MentionUserLabel.js.map +1 -1
  717. package/ui/MessageContent.js +215 -551
  718. package/ui/MessageContent.js.map +1 -1
  719. package/ui/MessageInput.js +392 -120
  720. package/ui/MessageInput.js.map +1 -1
  721. package/ui/MessageItemMenu.js +83 -83
  722. package/ui/MessageItemMenu.js.map +1 -1
  723. package/ui/MessageItemReactionMenu.js +58 -62
  724. package/ui/MessageItemReactionMenu.js.map +1 -1
  725. package/ui/MessageSearchFileItem.js +55 -50
  726. package/ui/MessageSearchFileItem.js.map +1 -1
  727. package/ui/MessageSearchItem.js +41 -40
  728. package/ui/MessageSearchItem.js.map +1 -1
  729. package/ui/MessageStatus.js +10 -11
  730. package/ui/MessageStatus.js.map +1 -1
  731. package/ui/Modal.js +52 -46
  732. package/ui/Modal.js.map +1 -1
  733. package/ui/MutedAvatarOverlay.js +10 -10
  734. package/ui/MutedAvatarOverlay.js.map +1 -1
  735. package/ui/OGMessageItemBody.js +68 -64
  736. package/ui/OGMessageItemBody.js.map +1 -1
  737. package/ui/OpenChannelAdminMessage.js +8 -7
  738. package/ui/OpenChannelAdminMessage.js.map +1 -1
  739. package/ui/OpenChannelAvatar.js +18 -17
  740. package/ui/OpenChannelAvatar.js.map +1 -1
  741. package/ui/OpenchannelConversationHeader.js +17 -13
  742. package/ui/OpenchannelConversationHeader.js.map +1 -1
  743. package/ui/OpenchannelFileMessage.js +140 -151
  744. package/ui/OpenchannelFileMessage.js.map +1 -1
  745. package/ui/OpenchannelOGMessage.js +204 -233
  746. package/ui/OpenchannelOGMessage.js.map +1 -1
  747. package/ui/OpenchannelThumbnailMessage.js +215 -222
  748. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  749. package/ui/OpenchannelUserMessage.js +168 -178
  750. package/ui/OpenchannelUserMessage.js.map +1 -1
  751. package/ui/PlaceHolder.js +5 -6
  752. package/ui/PlaceHolder.js.map +1 -1
  753. package/ui/PlaybackTime.js +26 -0
  754. package/ui/PlaybackTime.js.map +1 -0
  755. package/ui/ProgressBar.js +30 -0
  756. package/ui/ProgressBar.js.map +1 -0
  757. package/ui/QuoteMessage.js +50 -44
  758. package/ui/QuoteMessage.js.map +1 -1
  759. package/ui/QuoteMessageInput.js +31 -29
  760. package/ui/QuoteMessageInput.js.map +1 -1
  761. package/ui/ReactionBadge.js +13 -21
  762. package/ui/ReactionBadge.js.map +1 -1
  763. package/ui/ReactionButton.js +30 -27
  764. package/ui/ReactionButton.js.map +1 -1
  765. package/ui/SortByRow.js +14 -18
  766. package/ui/SortByRow.js.map +1 -1
  767. package/ui/TextButton.js +13 -21
  768. package/ui/TextButton.js.map +1 -1
  769. package/ui/TextMessageItemBody.js +41 -48
  770. package/ui/TextMessageItemBody.js.map +1 -1
  771. package/ui/ThreadReplies.js +25 -22
  772. package/ui/ThreadReplies.js.map +1 -1
  773. package/ui/ThumbnailMessageItemBody.js +36 -45
  774. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  775. package/ui/Toggle.js +191 -0
  776. package/ui/Toggle.js.map +1 -0
  777. package/ui/Tooltip.js +8 -9
  778. package/ui/Tooltip.js.map +1 -1
  779. package/ui/TooltipWrapper.js +17 -20
  780. package/ui/TooltipWrapper.js.map +1 -1
  781. package/ui/UnknownMessageItemBody.js +21 -22
  782. package/ui/UnknownMessageItemBody.js.map +1 -1
  783. package/ui/UserListItem.js +76 -76
  784. package/ui/UserListItem.js.map +1 -1
  785. package/ui/UserProfile.js +31 -29
  786. package/ui/UserProfile.js.map +1 -1
  787. package/ui/VoiceMessageItemBody.js +110 -0
  788. package/ui/VoiceMessageItemBody.js.map +1 -0
  789. package/ui/VoiceMessgeInput.js +14 -0
  790. package/ui/VoiceMessgeInput.js.map +1 -0
  791. package/ui/Word.js +31 -39
  792. package/ui/Word.js.map +1 -1
  793. package/useDirtyGetMentions-f00f1f94.js +75 -0
  794. package/useDirtyGetMentions-f00f1f94.js.map +1 -0
  795. package/useLongPress-1ab49410.js +85 -0
  796. package/useLongPress-1ab49410.js.map +1 -0
  797. package/useSendbirdStateContext.js +2 -3
  798. package/useSendbirdStateContext.js.map +1 -1
  799. package/utils/message/getOutgoingMessageState.js +9 -15
  800. package/utils/message/getOutgoingMessageState.js.map +1 -1
  801. package/utils/message/isVoiceMessage.js +8 -0
  802. package/utils/message/isVoiceMessage.js.map +1 -0
  803. package/{utils-30c326f7.js → utils-56cb7de5.js} +1 -1
  804. package/{utils-30c326f7.js.map → utils-56cb7de5.js.map} +1 -1
  805. package/utils-77f7e8b2.js +29 -0
  806. package/utils-77f7e8b2.js.map +1 -0
  807. package/{utils-ded73fa5.js → utils-7f3d0d8c.js} +3 -7
  808. package/{utils-ded73fa5.js.map → utils-7f3d0d8c.js.map} +1 -1
  809. package/utils-af9b1c06.js +31 -0
  810. package/utils-af9b1c06.js.map +1 -0
  811. package/uuid-92d22300.js +13 -0
  812. package/{uuid-968941a0.js.map → uuid-92d22300.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-ade145a7.js.map +0 -1
  816. package/ChannelProvider-c9db10c0.js.map +0 -1
  817. package/CreateChannelProvider-be2dfe96.js +0 -55
  818. package/CreateChannelProvider-be2dfe96.js.map +0 -1
  819. package/LocalizationContext-60894e38.js +0 -22
  820. package/MediaQueryContext-bcf72e28.js +0 -90
  821. package/MediaQueryContext-bcf72e28.js.map +0 -1
  822. package/MemberList-ce1fd162.js +0 -435
  823. package/MemberList-ce1fd162.js.map +0 -1
  824. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  825. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  826. package/NotificationChannel/components/NotificationList.js +0 -111
  827. package/NotificationChannel/components/NotificationList.js.map +0 -1
  828. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  829. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  830. package/NotificationChannel/context.js +0 -12
  831. package/NotificationChannel.js +0 -58
  832. package/NotificationChannel.js.map +0 -1
  833. package/NotificationChannelProvider-2cb7ca21.js +0 -535
  834. package/NotificationChannelProvider-2cb7ca21.js.map +0 -1
  835. package/OpenChannelListProvider-0bdafda1.js +0 -434
  836. package/OpenChannelListProvider-0bdafda1.js.map +0 -1
  837. package/OpenChannelProvider-a72c6fb7.js +0 -2000
  838. package/OpenChannelProvider-a72c6fb7.js.map +0 -1
  839. package/RemoveMessageModal-b025d4a7.js +0 -31
  840. package/RemoveMessageModal-b025d4a7.js.map +0 -1
  841. package/ThreadProvider-de5a7889.js +0 -1644
  842. package/ThreadProvider-de5a7889.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-ed44209e.js.map +0 -1
  844. package/actionTypes-aa58fd27.js +0 -6
  845. package/actionTypes-aa58fd27.js.map +0 -1
  846. package/cjs/ChannelListProvider-65473831.js.map +0 -1
  847. package/cjs/ChannelProvider-1e08a7a9.js.map +0 -1
  848. package/cjs/CreateChannelProvider-cbf490c6.js +0 -62
  849. package/cjs/CreateChannelProvider-cbf490c6.js.map +0 -1
  850. package/cjs/MediaQueryContext-e455934a.js +0 -97
  851. package/cjs/MediaQueryContext-e455934a.js.map +0 -1
  852. package/cjs/MemberList-aee91fce.js +0 -441
  853. package/cjs/MemberList-aee91fce.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  855. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  856. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  857. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  858. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  859. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  860. package/cjs/NotificationChannel/context.js +0 -21
  861. package/cjs/NotificationChannel.js +0 -64
  862. package/cjs/NotificationChannel.js.map +0 -1
  863. package/cjs/NotificationChannelProvider-4cc9575f.js +0 -543
  864. package/cjs/NotificationChannelProvider-4cc9575f.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-4aab4391.js +0 -443
  866. package/cjs/OpenChannelListProvider-4aab4391.js.map +0 -1
  867. package/cjs/OpenChannelProvider-a763b71c.js +0 -2009
  868. package/cjs/OpenChannelProvider-a763b71c.js.map +0 -1
  869. package/cjs/RemoveMessageModal-0da4f94b.js.map +0 -1
  870. package/cjs/ThreadProvider-51be09a5.js +0 -1653
  871. package/cjs/ThreadProvider-51be09a5.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-bd6baf0a.js.map +0 -1
  873. package/cjs/actionTypes-561bdde9.js +0 -10
  874. package/cjs/actionTypes-561bdde9.js.map +0 -1
  875. package/cjs/color-fdbe394d.js.map +0 -1
  876. package/cjs/compareIds-d0c02eca.js.map +0 -1
  877. package/cjs/const-8785e4ad.js.map +0 -1
  878. package/cjs/const-beb25e10.js +0 -20
  879. package/cjs/const-beb25e10.js.map +0 -1
  880. package/cjs/index-08d232f8.js.map +0 -1
  881. package/cjs/index-8a4b2f10.js +0 -59
  882. package/cjs/index-8a4b2f10.js.map +0 -1
  883. package/cjs/index-8c350889.js +0 -194
  884. package/cjs/index-8c350889.js.map +0 -1
  885. package/cjs/index-b3371ef2.js +0 -701
  886. package/cjs/index-b3371ef2.js.map +0 -1
  887. package/cjs/index-bdd889a2.js.map +0 -1
  888. package/cjs/index-c13771a7.js.map +0 -1
  889. package/cjs/index-e191d245.js.map +0 -1
  890. package/cjs/index-e8544e24.js.map +0 -1
  891. package/cjs/index-ebb542c3.js.map +0 -1
  892. package/cjs/index-f032bd2c.js +0 -360
  893. package/cjs/index-f032bd2c.js.map +0 -1
  894. package/cjs/stringSet-60660a99.js.map +0 -1
  895. package/cjs/topics-f3f74edc.js +0 -22
  896. package/cjs/topics-f3f74edc.js.map +0 -1
  897. package/cjs/tslib.es6-5a7eb30d.js +0 -110
  898. package/cjs/tslib.es6-5a7eb30d.js.map +0 -1
  899. package/cjs/useLongPress-e7140087.js +0 -118
  900. package/cjs/useLongPress-e7140087.js.map +0 -1
  901. package/cjs/utils-693dd952.js +0 -38
  902. package/cjs/utils-693dd952.js.map +0 -1
  903. package/cjs/utils-b6001dd4.js +0 -32
  904. package/cjs/utils-b6001dd4.js.map +0 -1
  905. package/cjs/uuid-a9006ea2.js +0 -19
  906. package/compareIds-063e5503.js.map +0 -1
  907. package/const-14919575.js +0 -14
  908. package/const-14919575.js.map +0 -1
  909. package/const-1510a671.js.map +0 -1
  910. package/context-d5dc28c9.js +0 -12
  911. package/index-0fd24497.js.map +0 -1
  912. package/index-2561104e.js +0 -179
  913. package/index-2561104e.js.map +0 -1
  914. package/index-54843058.js +0 -57
  915. package/index-54843058.js.map +0 -1
  916. package/index-58e5d82d.js +0 -662
  917. package/index-58e5d82d.js.map +0 -1
  918. package/index-7c1f570b.js.map +0 -1
  919. package/index-95ac9232.js.map +0 -1
  920. package/index-b8de16d6.js.map +0 -1
  921. package/index-d07faed8.js +0 -353
  922. package/index-d07faed8.js.map +0 -1
  923. package/index-d81c515b.js.map +0 -1
  924. package/index-fd15e3b0.js.map +0 -1
  925. package/stringSet-7ace5726.js.map +0 -1
  926. package/topics-d390daf6.js +0 -13
  927. package/topics-d390daf6.js.map +0 -1
  928. package/tslib.es6-d9fa3716.js +0 -104
  929. package/tslib.es6-d9fa3716.js.map +0 -1
  930. package/useLongPress-7d9a5f67.js +0 -116
  931. package/useLongPress-7d9a5f67.js.map +0 -1
  932. package/utils-40ce4da5.js +0 -34
  933. package/utils-40ce4da5.js.map +0 -1
  934. package/utils-d485030c.js +0 -30
  935. package/utils-d485030c.js.map +0 -1
  936. package/uuid-968941a0.js +0 -17
@@ -1,28 +1,26 @@
1
- import { a as __spreadArray } from '../tslib.es6-d9fa3716.js';
2
1
  import React__default from 'react';
3
- import { C as Colors, c as changeColorToClassName } from '../color-c39702d1.js';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-95ac9232.js';
2
+ import { C as Colors, c as changeColorToClassName } from '../color-347926b6.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e33f7f55.js';
5
4
  import 'prop-types';
6
- import '../stringSet-7ace5726.js';
5
+ import '../stringSet-e0ee1265.js';
7
6
 
8
- var DateSeparator = function (_a) {
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;
7
+ const DateSeparator = _ref => {
8
+ let {
9
+ children = null,
10
+ className = '',
11
+ separatorColor = Colors.ONBACKGROUND_4
12
+ } = _ref;
15
13
  return /*#__PURE__*/React__default.createElement("div", {
16
- className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-separator'], false).join(' ')
14
+ className: [...(Array.isArray(className) ? className : [className]), 'sendbird-separator'].join(' ')
17
15
  }, /*#__PURE__*/React__default.createElement("div", {
18
- className: ['sendbird-separator__left', "".concat(changeColorToClassName(separatorColor), "--background-color")].join(' ')
16
+ className: ['sendbird-separator__left', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')
19
17
  }), /*#__PURE__*/React__default.createElement("div", {
20
18
  className: "sendbird-separator__text"
21
19
  }, children || /*#__PURE__*/React__default.createElement(Label, {
22
20
  type: LabelTypography.CAPTION_2,
23
21
  color: LabelColors.ONBACKGROUND_2
24
22
  }, "Date Separator")), /*#__PURE__*/React__default.createElement("div", {
25
- className: ['sendbird-separator__right', "".concat(changeColorToClassName(separatorColor), "--background-color")].join(' ')
23
+ className: ['sendbird-separator__right', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')
26
24
  }));
27
25
  };
28
26
 
@@ -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","_ref","children","className","separatorColor","Colors","ONBACKGROUND_4","React","createElement","Array","isArray","join","changeColorToClassName","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2"],"mappings":";;;;;;AAgBMA,MAAAA,aAAa,GAAGC,IAAA,IAIkB;EAAA,IAJjB;AACrBC,IAAAA,QAAQ,GAAG,IAAI;AACfC,IAAAA,SAAS,GAAG,EAAE;IACdC,cAAc,GAAGC,MAAM,CAACC,cAAAA;AACN,GAAC,GAAAL,IAAA,CAAA;EACnB,oBACEM,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEL,SAAS,EAAE,CACT,IAAIM,KAAK,CAACC,OAAO,CAACP,SAAS,CAAC,GAAGA,SAAS,GAAG,CAACA,SAAS,CAAC,CAAC,EACvD,oBAAoB,CACrB,CAACQ,IAAI,CAAC,GAAG,CAAA;GAEVJ,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAE,CAAC,0BAA0B,EAAG,GAAES,sBAAsB,CAACR,cAAc,CAAE,CAAmB,kBAAA,CAAA,CAAC,CAACO,IAAI,CAAC,GAAG,CAAA;GAAK,CAAA,eACzHJ,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,0BAAA;AAA0B,GAAA,EAErCD,QAAQ,iBAENK,cAAA,CAAAC,aAAA,CAACK,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,SAAU;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;AAAe,GAAA,EAAC,gBAE3E,CACD,CAEC,eACNZ,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAE,CAAC,2BAA2B,EAAG,GAAES,sBAAsB,CAACR,cAAc,CAAE,CAAmB,kBAAA,CAAA,CAAC,CAACO,IAAI,CAAC,GAAG,CAAA;AAAE,GAAA,CAAG,CACtH,CAAA;AAEV;;;;"}
@@ -1,132 +1,324 @@
1
- import React__default, { useContext, useRef } from 'react';
2
- import Tooltip from './Tooltip.js';
3
- import TooltipWrapper from './TooltipWrapper.js';
1
+ import React__default, { useState, useContext, useMemo, useRef } from 'react';
4
2
  import ReactionBadge from './ReactionBadge.js';
5
3
  import ReactionButton from './ReactionButton.js';
6
4
  import ImageRenderer from './ImageRenderer.js';
7
5
  import Icon, { IconTypes, IconColors } from './Icon.js';
8
6
  import ContextMenu, { EmojiListItems } from './ContextMenu.js';
9
- import { G as getEmojiMapAll, h as getClassName, H as isReactedBy, I as getEmojiTooltipString, x as getEmojiListAll } from '../index-58e5d82d.js';
10
- import { a as LocalizationContext } from '../LocalizationContext-60894e38.js';
11
- import '../tslib.es6-d9fa3716.js';
12
- import '../index-95ac9232.js';
7
+ import { H as getEmojiUrl, I as isReactedBy, J as getEmojiTooltipString, G as getEmojiListAll, K as getEmojiMapAll, h as getClassName } from '../index-cf859f03.js';
8
+ import BottomSheet from './BottomSheet.js';
9
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e33f7f55.js';
10
+ import UserListItem from './UserListItem.js';
11
+ import Tooltip from './Tooltip.js';
12
+ import TooltipWrapper from './TooltipWrapper.js';
13
+ import { u as useMediaQueryContext } from '../MediaQueryContext-ff9dca2b.js';
14
+ import { u as useLongPress } from '../useLongPress-1ab49410.js';
15
+ import { a as LocalizationContext } from '../LocalizationContext-04c0c9dc.js';
16
+ import useSendbirdStateContext from '../useSendbirdStateContext.js';
17
+ import { useMessageContext } from '../Message/context.js';
18
+ import { b as _extends } from '../_rollupPluginBabelHelpers-fb0e05a4.js';
19
+ import '../utils-56cb7de5.js';
13
20
  import 'prop-types';
14
- import '../stringSet-7ace5726.js';
15
21
  import 'react-dom';
16
22
  import './SortByRow.js';
17
- import '../uuid-968941a0.js';
23
+ import '../uuid-92d22300.js';
18
24
  import '../utils/message/getOutgoingMessageState.js';
19
- import '../index-5e776774.js';
20
-
21
- var EmojiReactions = function (_a) {
22
- var _b, _c;
23
-
24
- 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;
37
- var stringSet = useContext(LocalizationContext).stringSet;
38
- var emojisMap = getEmojiMapAll(emojiContainer);
39
- var addReactionRef = useRef(null);
40
- return /*#__PURE__*/React__default.createElement("div", {
41
- className: getClassName([className, 'sendbird-emoji-reactions', isByMe ? 'outgoing' : 'incoming'])
42
- }, ((_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
- var _a, _b;
25
+ import '../stringSet-e0ee1265.js';
26
+ import '../index-9a4e0846.js';
27
+ import '../UserProfileContext-c776d522.js';
28
+ import './Avatar.js';
29
+ import './MutedAvatarOverlay.js';
30
+ import './Checkbox.js';
31
+ import './UserProfile.js';
32
+ import '../sendbirdSelectors.js';
33
+ import '../topics-70f569e9.js';
34
+ import './Button.js';
35
+ import '../index-319984d0.js';
36
+ import '../withSendbird.js';
44
37
 
45
- var reactedByMe = isReactedBy(userId, reaction);
46
- return /*#__PURE__*/React__default.createElement(TooltipWrapper, {
47
- className: "sendbird-emoji-reactions__reaction-badge",
48
- key: reaction === null || reaction === void 0 ? void 0 : reaction.key,
49
- hoverTooltip: ((_a = reaction === null || reaction === void 0 ? void 0 : reaction.userIds) === null || _a === void 0 ? void 0 : _a.length) > 0 && /*#__PURE__*/React__default.createElement(Tooltip, null, getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet))
50
- }, /*#__PURE__*/React__default.createElement(ReactionBadge, {
51
- count: reaction.userIds.length,
52
- selected: reactedByMe,
53
- onClick: function (e) {
54
- var _a;
55
-
56
- toggleReaction(message, reaction.key, reactedByMe);
57
- (_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
38
+ const ReactedMembersBottomSheet = _ref => {
39
+ var _message$reactions, _message$reactions2, _message$reactions2$f;
40
+ let {
41
+ message,
42
+ channel,
43
+ emojiKey = '',
44
+ hideMenu,
45
+ emojiContainer
46
+ } = _ref;
47
+ const {
48
+ members = []
49
+ } = channel;
50
+ const [selectedEmoji, setSelectedEmoji] = useState(emojiKey);
51
+ return /*#__PURE__*/React__default.createElement(BottomSheet, {
52
+ onBackdropClick: hideMenu
53
+ }, /*#__PURE__*/React__default.createElement("div", {
54
+ className: "sendbird-message__bottomsheet"
55
+ }, /*#__PURE__*/React__default.createElement("div", {
56
+ className: "sendbird-message__bottomsheet__reacted-members"
57
+ }, (_message$reactions = message.reactions) === null || _message$reactions === void 0 ? void 0 : _message$reactions.map(reaction => {
58
+ const emojiUrl = getEmojiUrl(emojiContainer, reaction.key);
59
+ return /*#__PURE__*/React__default.createElement("div", {
60
+ key: reaction.key,
61
+ className: `
62
+ sendbird-message__bottomsheet__reacted-members__item
63
+ ${selectedEmoji === reaction.key ? 'sendbird-message__bottomsheet__reacted-members__item__selected' : ''}
64
+ `,
65
+ onClick: () => {
66
+ setSelectedEmoji(reaction.key);
58
67
  }
59
68
  }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
60
- circle: true,
61
- url: ((_b = emojisMap.get(reaction === null || reaction === void 0 ? void 0 : reaction.key)) === null || _b === void 0 ? void 0 : _b.url) || '',
69
+ url: emojiUrl,
70
+ width: "28px",
71
+ height: "28px",
72
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
73
+ style: style
74
+ }, /*#__PURE__*/React__default.createElement(Icon, {
75
+ type: IconTypes.QUESTION,
76
+ fillColor: IconColors.ON_BACKGROUND_3,
77
+ width: "28px",
78
+ height: "28px"
79
+ }))
80
+ }), /*#__PURE__*/React__default.createElement(Label, {
81
+ type: LabelTypography.BUTTON_2,
82
+ color: selectedEmoji === reaction.key ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3
83
+ }, reaction.userIds.length));
84
+ })), /*#__PURE__*/React__default.createElement("div", {
85
+ className: "sendbird-message__bottomsheet__reactor-list"
86
+ },
87
+ // making a member list who reacted to the message with the `selectedEmoji`
88
+ ((_message$reactions2 = message.reactions) === null || _message$reactions2 === void 0 ? void 0 : (_message$reactions2$f = _message$reactions2.find(reaction => reaction.key === selectedEmoji)) === null || _message$reactions2$f === void 0 ? void 0 : _message$reactions2$f.userIds.map(userId => members.find(member => member.userId === userId)).filter(member => member !== undefined)).map(member => /*#__PURE__*/React__default.createElement(UserListItem, {
89
+ key: member.userId,
90
+ className: "sendbird-message__bottomsheet__reactor-list__item",
91
+ user: member,
92
+ avatarSize: "36px"
93
+ })))));
94
+ };
95
+
96
+ function ReactionItem(_ref) {
97
+ var _emojisMap$get;
98
+ let {
99
+ reaction,
100
+ memberNicknamesMap,
101
+ setEmojiKey,
102
+ toggleReaction,
103
+ emojisMap
104
+ } = _ref;
105
+ const store = useSendbirdStateContext();
106
+ const {
107
+ isMobile
108
+ } = useMediaQueryContext();
109
+ const messageStore = useMessageContext();
110
+ const message = messageStore === null || messageStore === void 0 ? void 0 : messageStore.message;
111
+ const {
112
+ stringSet
113
+ } = useContext(LocalizationContext);
114
+ const userId = store.config.userId;
115
+ const reactedByMe = isReactedBy(userId, reaction);
116
+ const handleOnClick = () => {
117
+ setEmojiKey('');
118
+ toggleReaction === null || toggleReaction === void 0 ? void 0 : toggleReaction(message, reaction.key, reactedByMe);
119
+ };
120
+ const longPress = useLongPress({
121
+ onLongPress: () => {
122
+ setEmojiKey(reaction.key);
123
+ },
124
+ onClick: handleOnClick
125
+ }, {
126
+ shouldPreventDefault: true,
127
+ shouldStopPropagation: true
128
+ });
129
+ return /*#__PURE__*/React__default.createElement(TooltipWrapper, {
130
+ className: "sendbird-emoji-reactions__reaction-badge",
131
+ hoverTooltip: reaction.userIds.length > 0 ? /*#__PURE__*/React__default.createElement(Tooltip, null, getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null)
132
+ }, /*#__PURE__*/React__default.createElement("div", isMobile ? longPress : {
133
+ onClick: handleOnClick
134
+ }, /*#__PURE__*/React__default.createElement(ReactionBadge, {
135
+ count: reaction.userIds.length,
136
+ selected: reactedByMe
137
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
138
+ circle: true,
139
+ url: ((_emojisMap$get = emojisMap.get(reaction === null || reaction === void 0 ? void 0 : reaction.key)) === null || _emojisMap$get === void 0 ? void 0 : _emojisMap$get.url) || '',
140
+ width: "20px",
141
+ height: "20px",
142
+ defaultComponent: /*#__PURE__*/React__default.createElement(Icon, {
62
143
  width: "20px",
63
144
  height: "20px",
64
- defaultComponent: /*#__PURE__*/React__default.createElement(Icon, {
65
- width: "20px",
66
- height: "20px",
67
- type: IconTypes.QUESTION
68
- })
69
- })));
70
- }), ((_c = message === null || message === void 0 ? void 0 : message.reactions) === null || _c === void 0 ? void 0 : _c.length) < emojisMap.size && /*#__PURE__*/React__default.createElement(ContextMenu, {
71
- menuTrigger: function (toggleDropdown) {
72
- return /*#__PURE__*/React__default.createElement(ReactionBadge, {
73
- className: "sendbird-emoji-reactions__add-reaction-badge",
74
- ref: addReactionRef,
75
- isAdd: true,
76
- onClick: function (e) {
77
- var _a;
145
+ type: IconTypes.QUESTION
146
+ })
147
+ }))));
148
+ }
78
149
 
79
- toggleDropdown();
80
- (_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
81
- }
150
+ const AddReactionBadgeItem = _ref => {
151
+ let {
152
+ onClick
153
+ } = _ref;
154
+ const onlyClick = useLongPress({
155
+ onLongPress: () => {/* noop */},
156
+ onClick
157
+ }, {
158
+ shouldPreventDefault: true,
159
+ shouldStopPropagation: true
160
+ });
161
+ return /*#__PURE__*/React__default.createElement("div", _extends({
162
+ className: "sendbird-emoji-reactions__add-reaction-badge"
163
+ }, onlyClick), /*#__PURE__*/React__default.createElement(ReactionBadge, {
164
+ isAdd: true
165
+ }, /*#__PURE__*/React__default.createElement(Icon, {
166
+ type: IconTypes.EMOJI_MORE,
167
+ fillColor: IconColors.ON_BACKGROUND_3,
168
+ width: "20px",
169
+ height: "20px"
170
+ })));
171
+ };
172
+
173
+ const MobileEmojisBottomSheet = _ref => {
174
+ let {
175
+ userId,
176
+ message,
177
+ emojiContainer,
178
+ hideMenu,
179
+ toggleReaction
180
+ } = _ref;
181
+ const emojiAllList = useMemo(() => {
182
+ return getEmojiListAll(emojiContainer);
183
+ }, [emojiContainer]);
184
+ return /*#__PURE__*/React__default.createElement(BottomSheet, {
185
+ onBackdropClick: hideMenu
186
+ }, /*#__PURE__*/React__default.createElement("div", {
187
+ className: "sendbird-message__bottomsheet sendbird-message__emojis-bottomsheet"
188
+ }, emojiAllList.map(emoji => {
189
+ var _message$reactions$fi, _message$reactions, _message$reactions$fi2, _message$reactions$fi3;
190
+ const isReacted = (_message$reactions$fi = message === null || message === void 0 ? void 0 : (_message$reactions = message.reactions) === null || _message$reactions === void 0 ? void 0 : (_message$reactions$fi2 = _message$reactions.find(reaction => reaction.key === emoji.key)) === null || _message$reactions$fi2 === void 0 ? void 0 : (_message$reactions$fi3 = _message$reactions$fi2.userIds) === null || _message$reactions$fi3 === void 0 ? void 0 : _message$reactions$fi3.some(reactorId => reactorId === userId)) !== null && _message$reactions$fi !== void 0 ? _message$reactions$fi : false;
191
+ return /*#__PURE__*/React__default.createElement(ReactionButton, {
192
+ key: emoji.key,
193
+ width: "44px",
194
+ height: "44px",
195
+ selected: isReacted,
196
+ onClick: e => {
197
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
198
+ toggleReaction === null || toggleReaction === void 0 ? void 0 : toggleReaction(message, emoji.key, isReacted);
199
+ hideMenu();
200
+ },
201
+ dataSbId: `ui_mobile_emoji_reactions_menu_${emoji.key}`
202
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
203
+ url: emoji.url,
204
+ width: "38px",
205
+ height: "38px",
206
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
207
+ style: style
82
208
  }, /*#__PURE__*/React__default.createElement(Icon, {
83
- type: IconTypes.EMOJI_MORE,
209
+ type: IconTypes.QUESTION,
84
210
  fillColor: IconColors.ON_BACKGROUND_3,
85
- width: "20px",
86
- height: "20px"
87
- }));
88
- },
89
- menuItems: function (closeDropdown) {
90
- return /*#__PURE__*/React__default.createElement(EmojiListItems, {
91
- parentRef: addReactionRef,
92
- parentContainRef: addReactionRef,
93
- closeDropdown: closeDropdown,
94
- spacefromTrigger: spaceFromTrigger
95
- }, getEmojiListAll(emojiContainer).map(function (emoji) {
96
- var _a, _b, _c;
211
+ width: "28px",
212
+ height: "28px"
213
+ }))
214
+ }));
215
+ })));
216
+ };
97
217
 
98
- 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
- return reaction.key === emoji.key;
100
- })) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
101
- return reactorId === userId;
102
- });
103
- return /*#__PURE__*/React__default.createElement(ReactionButton, {
104
- key: emoji.key,
105
- width: "36px",
106
- height: "36px",
107
- selected: isReacted,
108
- onClick: function (e) {
109
- closeDropdown();
110
- toggleReaction(message, emoji.key, isReacted);
111
- e === null || e === void 0 ? void 0 : e.stopPropagation();
112
- }
113
- }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
114
- url: (emoji === null || emoji === void 0 ? void 0 : emoji.url) || '',
218
+ const EmojiReactions = _ref => {
219
+ var _message$reactions$le, _message$reactions, _message$reactions$le2, _message$reactions2, _message$reactions3;
220
+ let {
221
+ className = '',
222
+ userId,
223
+ message,
224
+ channel,
225
+ emojiContainer,
226
+ memberNicknamesMap,
227
+ spaceFromTrigger = {
228
+ x: 0,
229
+ y: 0
230
+ },
231
+ isByMe = false,
232
+ toggleReaction
233
+ } = _ref;
234
+ const {
235
+ isMobile
236
+ } = useMediaQueryContext();
237
+ const addReactionRef = useRef(null);
238
+ const [showEmojiList, setShowEmojiList] = useState(false);
239
+ const [selectedEmojiKey, setSelectedEmojiKey] = useState('');
240
+ const emojisMap = getEmojiMapAll(emojiContainer);
241
+ const showAddReactionBadge = ((_message$reactions$le = (_message$reactions = message.reactions) === null || _message$reactions === void 0 ? void 0 : _message$reactions.length) !== null && _message$reactions$le !== void 0 ? _message$reactions$le : 0) < emojisMap.size;
242
+ return /*#__PURE__*/React__default.createElement("div", {
243
+ className: getClassName([className, 'sendbird-emoji-reactions', isByMe ? 'outgoing' : 'incoming'])
244
+ }, ((_message$reactions$le2 = (_message$reactions2 = message.reactions) === null || _message$reactions2 === void 0 ? void 0 : _message$reactions2.length) !== null && _message$reactions$le2 !== void 0 ? _message$reactions$le2 : 0) > 0 && ((_message$reactions3 = message.reactions) === null || _message$reactions3 === void 0 ? void 0 : _message$reactions3.map(reaction => {
245
+ return /*#__PURE__*/React__default.createElement(ReactionItem, {
246
+ key: reaction === null || reaction === void 0 ? void 0 : reaction.key,
247
+ reaction: reaction,
248
+ memberNicknamesMap: memberNicknamesMap,
249
+ setEmojiKey: setSelectedEmojiKey,
250
+ toggleReaction: toggleReaction,
251
+ emojisMap: emojisMap
252
+ });
253
+ })), !isMobile && showAddReactionBadge && /*#__PURE__*/React__default.createElement(ContextMenu, {
254
+ menuTrigger: toggleDropdown => /*#__PURE__*/React__default.createElement(ReactionBadge, {
255
+ className: "sendbird-emoji-reactions__add-reaction-badge",
256
+ ref: addReactionRef,
257
+ isAdd: true,
258
+ onClick: e => {
259
+ var _e$stopPropagation;
260
+ toggleDropdown();
261
+ e === null || e === void 0 ? void 0 : (_e$stopPropagation = e.stopPropagation) === null || _e$stopPropagation === void 0 ? void 0 : _e$stopPropagation.call(e);
262
+ }
263
+ }, /*#__PURE__*/React__default.createElement(Icon, {
264
+ type: IconTypes.EMOJI_MORE,
265
+ fillColor: IconColors.ON_BACKGROUND_3,
266
+ width: "20px",
267
+ height: "20px"
268
+ })),
269
+ menuItems: closeDropdown => /*#__PURE__*/React__default.createElement(EmojiListItems, {
270
+ parentRef: addReactionRef,
271
+ parentContainRef: addReactionRef,
272
+ closeDropdown: closeDropdown,
273
+ spaceFromTrigger: spaceFromTrigger
274
+ }, getEmojiListAll(emojiContainer).map(emoji => {
275
+ var _message$reactions4, _message$reactions4$f, _message$reactions4$f2;
276
+ const isReacted = (message === null || message === void 0 ? void 0 : (_message$reactions4 = message.reactions) === null || _message$reactions4 === void 0 ? void 0 : (_message$reactions4$f = _message$reactions4.find(reaction => reaction.key === emoji.key)) === null || _message$reactions4$f === void 0 ? void 0 : (_message$reactions4$f2 = _message$reactions4$f.userIds) === null || _message$reactions4$f2 === void 0 ? void 0 : _message$reactions4$f2.some(reactorId => reactorId === userId)) || false;
277
+ return /*#__PURE__*/React__default.createElement(ReactionButton, {
278
+ key: emoji.key,
279
+ width: "36px",
280
+ height: "36px",
281
+ selected: isReacted,
282
+ onClick: e => {
283
+ closeDropdown();
284
+ toggleReaction === null || toggleReaction === void 0 ? void 0 : toggleReaction(message, emoji.key, isReacted);
285
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
286
+ },
287
+ dataSbId: `ui_emoji_reactions_menu_${emoji.key}`
288
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
289
+ url: (emoji === null || emoji === void 0 ? void 0 : emoji.url) || '',
290
+ width: "28px",
291
+ height: "28px",
292
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
293
+ style: style
294
+ }, /*#__PURE__*/React__default.createElement(Icon, {
295
+ type: IconTypes.QUESTION,
296
+ fillColor: IconColors.ON_BACKGROUND_3,
115
297
  width: "28px",
116
- height: "28px",
117
- placeHolder: function (style) {
118
- return /*#__PURE__*/React__default.createElement("div", {
119
- style: style
120
- }, /*#__PURE__*/React__default.createElement(Icon, {
121
- type: IconTypes.QUESTION,
122
- fillColor: IconColors.ON_BACKGROUND_3,
123
- width: "28px",
124
- height: "28px"
125
- }));
126
- }
127
- }));
298
+ height: "28px"
299
+ }))
128
300
  }));
301
+ }))
302
+ }), isMobile && showAddReactionBadge && /*#__PURE__*/React__default.createElement(AddReactionBadgeItem, {
303
+ onClick: () => {
304
+ setShowEmojiList(true);
129
305
  }
306
+ }), isMobile && showEmojiList && /*#__PURE__*/React__default.createElement(MobileEmojisBottomSheet, {
307
+ userId: userId,
308
+ message: message,
309
+ emojiContainer: emojiContainer,
310
+ hideMenu: () => {
311
+ setShowEmojiList(false);
312
+ },
313
+ toggleReaction: toggleReaction
314
+ }), isMobile && selectedEmojiKey && channel !== null && /*#__PURE__*/React__default.createElement(ReactedMembersBottomSheet, {
315
+ message: message,
316
+ channel: channel,
317
+ emojiKey: selectedEmojiKey,
318
+ hideMenu: () => {
319
+ setSelectedEmojiKey('');
320
+ },
321
+ emojiContainer: emojiContainer
130
322
  }));
131
323
  };
132
324
 
@@ -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/MobileMenu/ReactedMembersBottomSheet.tsx","../../src/ui/EmojiReactions/ReactionItem.tsx","../../src/ui/EmojiReactions/AddReactionBadgeItem.tsx","../../src/ui/MobileMenu/MobileEmojisBottomSheet.tsx","../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import React, { ReactElement, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { GroupChannel, Member } from '@sendbird/chat/groupChannel';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\n\nimport './mobile-menu-reacted-members.scss';\n\nimport BottomSheet from '../BottomSheet';\nimport { getEmojiUrl } from '../../utils';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport UserListItem from '../UserListItem';\n\nexport interface ReactedMembersBottomSheetProps {\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n emojiKey: string;\n hideMenu: () => void;\n emojiContainer?: EmojiContainer;\n}\n\nexport const ReactedMembersBottomSheet = ({\n message,\n channel,\n emojiKey = '',\n hideMenu,\n emojiContainer,\n}: ReactedMembersBottomSheetProps): ReactElement => {\n const { members = [] } = channel;\n const [selectedEmoji, setSelectedEmoji] = useState(emojiKey);\n\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className=\"sendbird-message__bottomsheet\">\n <div className=\"sendbird-message__bottomsheet__reacted-members\">\n {message.reactions?.map((reaction: Reaction): ReactElement => {\n const emojiUrl = getEmojiUrl(emojiContainer, reaction.key);\n return (\n <div\n key={reaction.key}\n className={`\n sendbird-message__bottomsheet__reacted-members__item\n ${selectedEmoji === reaction.key ? 'sendbird-message__bottomsheet__reacted-members__item__selected' : ''}\n `}\n onClick={() => {\n setSelectedEmoji(reaction.key);\n }}\n >\n <ImageRenderer\n url={emojiUrl}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style) => (\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 <Label\n type={LabelTypography.BUTTON_2}\n color={selectedEmoji === reaction.key ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n >\n {reaction.userIds.length}\n </Label>\n </div>\n );\n })}\n </div>\n <div className=\"sendbird-message__bottomsheet__reactor-list\">\n { // making a member list who reacted to the message with the `selectedEmoji`\n (\n message.reactions?.find(reaction => reaction.key === selectedEmoji)\n ?.userIds.map((userId) => members.find((member) => member.userId === userId))\n .filter((member) => member !== undefined) as Array<Member>\n )\n .map((member) => (\n <UserListItem\n key={member.userId}\n className=\"sendbird-message__bottomsheet__reactor-list__item\"\n user={member}\n avatarSize=\"36px\"\n />\n ))\n }\n </div>\n </div>\n </BottomSheet>\n );\n};\n","import React, { useContext } from 'react';\n\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\n\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport ReactionBadge from '../ReactionBadge';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes } from '../Icon';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport useLongPress from '../../hooks/useLongPress';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { getEmojiTooltipString, isReactedBy } from '../../utils';\nimport { useMessageContext } from '../../modules/Message/context/MessageProvider';\nimport { Emoji } from '@sendbird/chat';\n\ntype Props = {\n reaction: Reaction;\n memberNicknamesMap: Map<string, string>;\n setEmojiKey: React.Dispatch<React.SetStateAction<string>>;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n emojisMap: Map<string, Emoji>;\n};\n\nexport default function ReactionItem({\n reaction,\n memberNicknamesMap,\n setEmojiKey,\n toggleReaction,\n emojisMap,\n}: Props) {\n const store = useSendbirdStateContext();\n const { isMobile } = useMediaQueryContext();\n const messageStore = useMessageContext();\n const message = messageStore?.message as UserMessage;\n const { stringSet } = useContext(LocalizationContext);\n\n const userId = store.config.userId;\n const reactedByMe = isReactedBy(userId, reaction);\n\n const handleOnClick = () => {\n setEmojiKey('');\n toggleReaction?.((message), reaction.key, reactedByMe);\n };\n const longPress = useLongPress({\n onLongPress: () => {\n setEmojiKey(reaction.key);\n },\n onClick: handleOnClick,\n }, {\n shouldPreventDefault: true,\n shouldStopPropagation: true,\n });\n\n return (\n <TooltipWrapper\n className=\"sendbird-emoji-reactions__reaction-badge\"\n hoverTooltip={(reaction.userIds.length > 0) ? (\n <Tooltip>\n {getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)}\n </Tooltip>\n ) : <></>}\n >\n <div\n {...(\n isMobile\n ? longPress\n : { onClick: handleOnClick }\n )}\n >\n <ReactionBadge\n count={reaction.userIds.length}\n selected={reactedByMe}\n >\n <ImageRenderer\n circle\n url={emojisMap.get(reaction?.key)?.url || ''}\n width=\"20px\"\n height=\"20px\"\n defaultComponent={(\n <Icon width=\"20px\" height=\"20px\" type={IconTypes.QUESTION} />\n )}\n />\n </ReactionBadge>\n </div>\n </TooltipWrapper>\n );\n}\n","import React, {\n KeyboardEvent,\n MouseEvent,\n TouchEvent,\n} from 'react';\nimport ReactionBadge from '../ReactionBadge';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport useLongPress from '../../hooks/useLongPress';\n\nexport interface AddReactionBadgeItemProps {\n onClick: (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement> | TouchEvent<HTMLDivElement>) => void;\n}\n\nexport const AddReactionBadgeItem = ({\n onClick,\n}: AddReactionBadgeItemProps): React.ReactElement => {\n const onlyClick = useLongPress({\n onLongPress: () => { /* noop */ },\n onClick,\n }, {\n shouldPreventDefault: true,\n shouldStopPropagation: true,\n });\n\n return (\n <div\n className=\"sendbird-emoji-reactions__add-reaction-badge\"\n {...onlyClick}\n >\n <ReactionBadge\n isAdd\n >\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"20px\"\n height=\"20px\"\n />\n </ReactionBadge>\n </div>\n );\n};\n","import React, { ReactElement, useMemo } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\n\nimport BottomSheet from '../BottomSheet';\nimport { getEmojiListAll } from '../../utils';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconColors, IconTypes } from '../Icon';\n\nexport interface MobileEmojisBottomSheetProps {\n userId: string;\n message: UserMessage | FileMessage;\n emojiContainer: EmojiContainer;\n hideMenu: () => void;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nexport const MobileEmojisBottomSheet = ({\n userId,\n message,\n emojiContainer,\n hideMenu,\n toggleReaction,\n}: MobileEmojisBottomSheetProps): ReactElement => {\n const emojiAllList = useMemo(() => {\n return getEmojiListAll(emojiContainer);\n }, [emojiContainer]);\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className=\"sendbird-message__bottomsheet sendbird-message__emojis-bottomsheet\">\n {emojiAllList.map((emoji) => {\n const isReacted: boolean = (message?.reactions\n ?.find((reaction: Reaction): boolean => reaction.key === emoji.key)?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId)) ?? false;\n return (\n <ReactionButton\n key={emoji.key}\n width=\"44px\"\n height=\"44px\"\n selected={isReacted}\n onClick={(e) => {\n e?.stopPropagation();\n toggleReaction?.(message, emoji.key, isReacted);\n hideMenu();\n }}\n dataSbId={`ui_mobile_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji.url}\n width=\"38px\"\n height=\"38px\"\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 </div>\n </BottomSheet>\n );\n};\n","import './index.scss';\nimport React, { ReactElement, useRef, useState } from 'react';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport ReactionBadge from '../ReactionBadge';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\nimport { Nullable, SpaceFromTriggerType } from '../../types';\n\nimport { getClassName, getEmojiListAll, getEmojiMapAll } from '../../utils';\nimport { ReactedMembersBottomSheet } from '../MobileMenu/ReactedMembersBottomSheet';\nimport ReactionItem from './ReactionItem';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport { AddReactionBadgeItem } from './AddReactionBadgeItem';\nimport { MobileEmojisBottomSheet } from '../MobileMenu/MobileEmojisBottomSheet';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n message: UserMessage | FileMessage;\n channel: Nullable<GroupChannel>;\n emojiContainer: EmojiContainer;\n memberNicknamesMap: Map<string, string>;\n spaceFromTrigger?: SpaceFromTriggerType;\n isByMe?: boolean;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nconst EmojiReactions = ({\n className = '',\n userId,\n message,\n channel,\n emojiContainer,\n memberNicknamesMap,\n spaceFromTrigger = { x: 0, y: 0 },\n isByMe = false,\n toggleReaction,\n}: Props): ReactElement => {\n const { isMobile } = useMediaQueryContext();\n const addReactionRef = useRef(null);\n const [showEmojiList, setShowEmojiList] = useState(false);\n const [selectedEmojiKey, setSelectedEmojiKey] = useState('');\n\n const emojisMap = getEmojiMapAll(emojiContainer);\n const showAddReactionBadge = (message.reactions?.length ?? 0) < emojisMap.size;\n\n return (\n <div className={getClassName([\n className, 'sendbird-emoji-reactions',\n isByMe ? 'outgoing' : 'incoming',\n ])}>\n {((message.reactions?.length ?? 0) > 0) && (\n message.reactions?.map((reaction: Reaction): ReactElement => {\n return (\n <ReactionItem\n key={reaction?.key}\n reaction={reaction}\n memberNicknamesMap={memberNicknamesMap}\n setEmojiKey={setSelectedEmojiKey}\n toggleReaction={toggleReaction}\n emojisMap={emojisMap}\n />\n );\n })\n )}\n {(!isMobile && showAddReactionBadge) && (\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)) || false;\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 dataSbId={`ui_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n )}\n />\n )}\n {(isMobile && showAddReactionBadge) && (\n <AddReactionBadgeItem\n onClick={() => {\n setShowEmojiList(true);\n }}\n />\n )}\n {(isMobile && showEmojiList) && (\n <MobileEmojisBottomSheet\n userId={userId}\n message={message}\n emojiContainer={emojiContainer}\n hideMenu={() => {\n setShowEmojiList(false);\n }}\n toggleReaction={toggleReaction}\n />\n )}\n {(isMobile && selectedEmojiKey && channel !== null) && (\n <ReactedMembersBottomSheet\n message={message}\n channel={channel}\n emojiKey={selectedEmojiKey}\n hideMenu={() => {\n setSelectedEmojiKey('');\n }}\n emojiContainer={emojiContainer}\n />\n )}\n </div>\n );\n};\n\nexport default EmojiReactions;\n"],"names":["ReactedMembersBottomSheet","_ref","_message$reactions","_message$reactions2","_message$reactions2$f","message","channel","emojiKey","hideMenu","emojiContainer","members","selectedEmoji","setSelectedEmoji","useState","React","createElement","BottomSheet","onBackdropClick","className","reactions","map","reaction","emojiUrl","getEmojiUrl","key","onClick","ImageRenderer","url","width","height","placeHolder","style","Icon","type","IconTypes","QUESTION","fillColor","IconColors","ON_BACKGROUND_3","Label","LabelTypography","BUTTON_2","color","LabelColors","PRIMARY","ONBACKGROUND_3","userIds","length","find","userId","member","filter","undefined","UserListItem","user","avatarSize","ReactionItem","_emojisMap$get","memberNicknamesMap","setEmojiKey","toggleReaction","emojisMap","store","useSendbirdStateContext","isMobile","useMediaQueryContext","messageStore","useMessageContext","stringSet","useContext","LocalizationContext","config","reactedByMe","isReactedBy","handleOnClick","longPress","useLongPress","onLongPress","shouldPreventDefault","shouldStopPropagation","TooltipWrapper","hoverTooltip","Tooltip","getEmojiTooltipString","Fragment","ReactionBadge","count","selected","circle","get","defaultComponent","AddReactionBadgeItem","onlyClick","_extends","isAdd","EMOJI_MORE","MobileEmojisBottomSheet","emojiAllList","useMemo","getEmojiListAll","emoji","_message$reactions$fi","_message$reactions$fi2","_message$reactions$fi3","isReacted","some","reactorId","ReactionButton","e","stopPropagation","dataSbId","EmojiReactions","_message$reactions$le","_message$reactions$le2","_message$reactions3","spaceFromTrigger","x","y","isByMe","addReactionRef","useRef","showEmojiList","setShowEmojiList","selectedEmojiKey","setSelectedEmojiKey","getEmojiMapAll","showAddReactionBadge","size","getClassName","ContextMenu","menuTrigger","toggleDropdown","ref","_e$stopPropagation","call","menuItems","closeDropdown","EmojiListItems","parentRef","parentContainRef","_message$reactions4","_message$reactions4$f","_message$reactions4$f2"],"mappings":"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"}