@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-mobile-web-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 (932) hide show
  1. package/App.js +276 -218
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +428 -0
  4. package/Channel/components/ChannelHeader.js +45 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +101 -129
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +55 -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 +238 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +146 -128
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +258 -174
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +33 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +138 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +43 -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 +11 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +67 -43
  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 +100 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +71 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +34 -35
  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 +31 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-f461d265.js → ChannelListProvider-42fb305a.js} +233 -285
  45. package/ChannelListProvider-42fb305a.js.map +1 -0
  46. package/{ChannelProvider-554e7116.js → ChannelProvider-42ea1a96.js} +610 -716
  47. package/ChannelProvider-42ea1a96.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 +516 -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-37af96d2.js +44 -0
  76. package/CreateChannelProvider-37af96d2.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-1839d2db.js +20 -0
  90. package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-1839d2db.js.map} +1 -1
  91. package/MediaQueryContext-0e0b3a1b.js +87 -0
  92. package/MediaQueryContext-0e0b3a1b.js.map +1 -0
  93. package/MemberList-28589b39.js +395 -0
  94. package/MemberList-28589b39.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 +36 -31
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +168 -190
  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 +34 -28
  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-71a32f2d.js +429 -0
  128. package/OpenChannelListProvider-71a32f2d.js.map +1 -0
  129. package/OpenChannelProvider-377a0b6e.js +1885 -0
  130. package/OpenChannelProvider-377a0b6e.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 +508 -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-558db27f.js +36 -0
  147. package/RemoveMessageModal-558db27f.js.map +1 -0
  148. package/SendbirdProvider.js +830 -409
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +230 -216
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +110 -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 +107 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +292 -272
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +144 -111
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +168 -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 +86 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-0b73628e.js +1695 -0
  170. package/ThreadProvider-0b73628e.js.map +1 -0
  171. package/{UserProfileContext-c58a7b86.js → UserProfileContext-7e645551.js} +1 -4
  172. package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-7e645551.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-0b5a78a1.js +169 -0
  174. package/VoiceMessageInputWrapper-0b5a78a1.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 +72 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +118 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +109 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-fbdb41cd.js +123 -0
  184. package/WebAudioUtils-fbdb41cd.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-ce69e916.js} +17 -11
  186. package/_rollupPluginBabelHelpers-ce69e916.js.map +1 -0
  187. package/actionTypes-a5283c75.js +8 -0
  188. package/actionTypes-a5283c75.js.map +1 -0
  189. package/cjs/App.js +276 -218
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +45 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +99 -127
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +55 -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 +241 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +145 -127
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +258 -174
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +33 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +138 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +43 -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 +67 -43
  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 +99 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +71 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +34 -35
  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 +31 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-b3ffe21a.js} +232 -284
  232. package/cjs/ChannelListProvider-b3ffe21a.js.map +1 -0
  233. package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-b6890429.js} +608 -714
  234. package/cjs/ChannelProvider-b6890429.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 +516 -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-e1376032.js +52 -0
  263. package/cjs/CreateChannelProvider-e1376032.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-2b3f310d.js → LocalizationContext-461a0816.js} +9 -11
  277. package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-461a0816.js.map} +1 -1
  278. package/cjs/MediaQueryContext-de7c63bc.js +94 -0
  279. package/cjs/MediaQueryContext-de7c63bc.js.map +1 -0
  280. package/cjs/MemberList-593809cb.js +401 -0
  281. package/cjs/MemberList-593809cb.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 +36 -31
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +168 -190
  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 +34 -28
  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-39c11f87.js +439 -0
  315. package/cjs/OpenChannelListProvider-39c11f87.js.map +1 -0
  316. package/cjs/OpenChannelProvider-e794e881.js +1894 -0
  317. package/cjs/OpenChannelProvider-e794e881.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 +508 -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-c01eb93b.js → RemoveMessageModal-29fa1a05.js} +19 -14
  333. package/cjs/RemoveMessageModal-29fa1a05.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +830 -410
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +229 -215
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +109 -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 +107 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +291 -271
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +144 -111
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +169 -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 +86 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-e2098298.js +1704 -0
  356. package/cjs/ThreadProvider-e2098298.js.map +1 -0
  357. package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-1bcc48a2.js} +1 -4
  358. package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-1bcc48a2.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-f18d6a5e.js +175 -0
  360. package/cjs/VoiceMessageInputWrapper-f18d6a5e.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +16 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +76 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +128 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +114 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-aedad0b1.js +126 -0
  370. package/cjs/WebAudioUtils-aedad0b1.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-919a4db3.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-919a4db3.js.map +1 -0
  373. package/cjs/actionTypes-1e75e6e9.js +10 -0
  374. package/cjs/actionTypes-1e75e6e9.js.map +1 -0
  375. package/cjs/{color-89f33656.js → color-48ff06b2.js} +13 -21
  376. package/cjs/color-48ff06b2.js.map +1 -0
  377. package/cjs/{compareIds-ca869c2e.js → compareIds-8ed822c1.js} +5 -6
  378. package/cjs/compareIds-8ed822c1.js.map +1 -0
  379. package/cjs/{const-db71e993.js → const-49de651c.js} +4 -4
  380. package/cjs/const-49de651c.js.map +1 -0
  381. package/cjs/const-852d5677.js +20 -0
  382. package/cjs/const-852d5677.js.map +1 -0
  383. package/cjs/consts-2580246d.js +6 -0
  384. package/cjs/consts-2580246d.js.map +1 -0
  385. package/cjs/consts-5851f376.js +6 -0
  386. package/cjs/consts-5851f376.js.map +1 -0
  387. package/cjs/consts-6f02fcc4.js +41 -0
  388. package/cjs/consts-6f02fcc4.js.map +1 -0
  389. package/cjs/consts-e9ee4cf4.js +6 -0
  390. package/cjs/consts-e9ee4cf4.js.map +1 -0
  391. package/cjs/{context-2f5d47fd.js → context-4d89551f.js} +6 -5
  392. package/cjs/{context-2f5d47fd.js.map → context-4d89551f.js.map} +1 -1
  393. package/cjs/dist/index.css +901 -481
  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-0126dbb4.js +161 -0
  398. package/cjs/index-0126dbb4.js.map +1 -0
  399. package/cjs/index-1a223893.js +362 -0
  400. package/cjs/index-1a223893.js.map +1 -0
  401. package/cjs/index-223e9372.js +79 -0
  402. package/cjs/index-223e9372.js.map +1 -0
  403. package/cjs/{index-621e74bd.js → index-420b8e6d.js} +29 -37
  404. package/cjs/index-420b8e6d.js.map +1 -0
  405. package/cjs/{index-d6ef2a60.js → index-44186883.js} +11 -25
  406. package/cjs/index-44186883.js.map +1 -0
  407. package/cjs/{index-de151767.js → index-5e6194f8.js} +1 -1
  408. package/cjs/{index-de151767.js.map → index-5e6194f8.js.map} +1 -1
  409. package/cjs/{index-73467e1d.js → index-60bf4d5c.js} +2 -2
  410. package/cjs/{index-73467e1d.js.map → index-60bf4d5c.js.map} +1 -1
  411. package/cjs/{index-0988ab25.js → index-60ea6503.js} +57 -3
  412. package/cjs/index-60ea6503.js.map +1 -0
  413. package/cjs/index-6a46ed00.js +292 -0
  414. package/cjs/index-6a46ed00.js.map +1 -0
  415. package/cjs/{index-c4d4ef49.js → index-7a68d56f.js} +1 -1
  416. package/cjs/index-7a68d56f.js.map +1 -0
  417. package/cjs/index-81aad270.js +197 -0
  418. package/cjs/index-81aad270.js.map +1 -0
  419. package/cjs/{index-2c5dd48c.js → index-849c0736.js} +2 -2
  420. package/cjs/{index-2c5dd48c.js.map → index-849c0736.js.map} +1 -1
  421. package/cjs/{index-be9c6237.js → index-a51f1b7d.js} +55 -63
  422. package/cjs/index-a51f1b7d.js.map +1 -0
  423. package/cjs/{index-e240e852.js → index-a7025294.js} +42 -51
  424. package/cjs/index-a7025294.js.map +1 -0
  425. package/cjs/index-bca3d144.js +587 -0
  426. package/cjs/index-bca3d144.js.map +1 -0
  427. package/cjs/index-f4682499.js +57 -0
  428. package/cjs/index-f4682499.js.map +1 -0
  429. package/cjs/index-f5399132.js +419 -0
  430. package/cjs/index-f5399132.js.map +1 -0
  431. package/cjs/index.js +77 -58
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-10ef9afc.js +6 -0
  434. package/cjs/index.module-10ef9afc.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/sendbirdSelectors.js +307 -417
  438. package/cjs/sendbirdSelectors.js.map +1 -1
  439. package/cjs/{stringSet-91b919f6.js → stringSet-d1cee26a.js} +110 -90
  440. package/cjs/stringSet-d1cee26a.js.map +1 -0
  441. package/cjs/tokenize-d3bb1637.js +164 -0
  442. package/cjs/tokenize-d3bb1637.js.map +1 -0
  443. package/cjs/topics-00c67dd6.js +18 -0
  444. package/cjs/topics-00c67dd6.js.map +1 -0
  445. package/cjs/types-2e9e46b2.js +17 -0
  446. package/cjs/types-2e9e46b2.js.map +1 -0
  447. package/cjs/ui/Accordion.js +21 -24
  448. package/cjs/ui/Accordion.js.map +1 -1
  449. package/cjs/ui/AccordionGroup.js +10 -13
  450. package/cjs/ui/AccordionGroup.js.map +1 -1
  451. package/cjs/ui/AdminMessage.js +10 -13
  452. package/cjs/ui/AdminMessage.js.map +1 -1
  453. package/cjs/ui/Avatar.js +57 -79
  454. package/cjs/ui/Avatar.js.map +1 -1
  455. package/cjs/ui/Badge.js +16 -15
  456. package/cjs/ui/Badge.js.map +1 -1
  457. package/cjs/ui/BottomSheet.js +14 -12
  458. package/cjs/ui/BottomSheet.js.map +1 -1
  459. package/cjs/ui/Button.js +20 -35
  460. package/cjs/ui/Button.js.map +1 -1
  461. package/cjs/ui/ChannelAvatar.js +38 -41
  462. package/cjs/ui/ChannelAvatar.js.map +1 -1
  463. package/cjs/ui/Checkbox.js +11 -13
  464. package/cjs/ui/Checkbox.js.map +1 -1
  465. package/cjs/ui/ConnectionStatus.js +7 -5
  466. package/cjs/ui/ConnectionStatus.js.map +1 -1
  467. package/cjs/ui/ContextMenu.js +172 -198
  468. package/cjs/ui/ContextMenu.js.map +1 -1
  469. package/cjs/ui/DateSeparator.js +12 -14
  470. package/cjs/ui/DateSeparator.js.map +1 -1
  471. package/cjs/ui/EmojiReactions.js +297 -107
  472. package/cjs/ui/EmojiReactions.js.map +1 -1
  473. package/cjs/ui/FileMessageItemBody.js +22 -23
  474. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  475. package/cjs/ui/FileViewer.js +36 -36
  476. package/cjs/ui/FileViewer.js.map +1 -1
  477. package/cjs/ui/Icon.js +447 -623
  478. package/cjs/ui/Icon.js.map +1 -1
  479. package/cjs/ui/IconButton.js +20 -31
  480. package/cjs/ui/IconButton.js.map +1 -1
  481. package/cjs/ui/ImageRenderer.js +34 -43
  482. package/cjs/ui/ImageRenderer.js.map +1 -1
  483. package/cjs/ui/Input.js +16 -16
  484. package/cjs/ui/Input.js.map +1 -1
  485. package/cjs/ui/Label.js +2 -2
  486. package/cjs/ui/LinkLabel.js +4 -3
  487. package/cjs/ui/LinkLabel.js.map +1 -1
  488. package/cjs/ui/Loader.js +10 -12
  489. package/cjs/ui/Loader.js.map +1 -1
  490. package/cjs/ui/MentionLabel.js +58 -65
  491. package/cjs/ui/MentionLabel.js.map +1 -1
  492. package/cjs/ui/MentionUserLabel.js +12 -10
  493. package/cjs/ui/MentionUserLabel.js.map +1 -1
  494. package/cjs/ui/MessageContent.js +203 -545
  495. package/cjs/ui/MessageContent.js.map +1 -1
  496. package/cjs/ui/MessageInput.js +338 -118
  497. package/cjs/ui/MessageInput.js.map +1 -1
  498. package/cjs/ui/MessageItemMenu.js +70 -77
  499. package/cjs/ui/MessageItemMenu.js.map +1 -1
  500. package/cjs/ui/MessageItemReactionMenu.js +56 -61
  501. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  502. package/cjs/ui/MessageSearchFileItem.js +56 -51
  503. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  504. package/cjs/ui/MessageSearchItem.js +42 -41
  505. package/cjs/ui/MessageSearchItem.js.map +1 -1
  506. package/cjs/ui/MessageStatus.js +10 -11
  507. package/cjs/ui/MessageStatus.js.map +1 -1
  508. package/cjs/ui/Modal.js +52 -46
  509. package/cjs/ui/Modal.js.map +1 -1
  510. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  511. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  512. package/cjs/ui/OGMessageItemBody.js +67 -63
  513. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  514. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  515. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  516. package/cjs/ui/OpenChannelAvatar.js +18 -17
  517. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  518. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  519. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  520. package/cjs/ui/OpenchannelFileMessage.js +136 -149
  521. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  522. package/cjs/ui/OpenchannelOGMessage.js +200 -233
  523. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelThumbnailMessage.js +211 -220
  525. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelUserMessage.js +160 -173
  527. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  528. package/cjs/ui/PlaceHolder.js +5 -6
  529. package/cjs/ui/PlaceHolder.js.map +1 -1
  530. package/cjs/ui/PlaybackTime.js +35 -0
  531. package/cjs/ui/PlaybackTime.js.map +1 -0
  532. package/cjs/ui/ProgressBar.js +40 -0
  533. package/cjs/ui/ProgressBar.js.map +1 -0
  534. package/cjs/ui/QuoteMessage.js +50 -44
  535. package/cjs/ui/QuoteMessage.js.map +1 -1
  536. package/cjs/ui/QuoteMessageInput.js +31 -29
  537. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  538. package/cjs/ui/ReactionBadge.js +13 -21
  539. package/cjs/ui/ReactionBadge.js.map +1 -1
  540. package/cjs/ui/ReactionButton.js +27 -26
  541. package/cjs/ui/ReactionButton.js.map +1 -1
  542. package/cjs/ui/SortByRow.js +14 -18
  543. package/cjs/ui/SortByRow.js.map +1 -1
  544. package/cjs/ui/TextButton.js +13 -21
  545. package/cjs/ui/TextButton.js.map +1 -1
  546. package/cjs/ui/TextMessageItemBody.js +41 -48
  547. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  548. package/cjs/ui/ThreadReplies.js +25 -22
  549. package/cjs/ui/ThreadReplies.js.map +1 -1
  550. package/cjs/ui/ThumbnailMessageItemBody.js +43 -45
  551. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  552. package/cjs/ui/Toggle.js +202 -0
  553. package/cjs/ui/Toggle.js.map +1 -0
  554. package/cjs/ui/Tooltip.js +8 -9
  555. package/cjs/ui/Tooltip.js.map +1 -1
  556. package/cjs/ui/TooltipWrapper.js +17 -20
  557. package/cjs/ui/TooltipWrapper.js.map +1 -1
  558. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  559. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  560. package/cjs/ui/UserListItem.js +76 -76
  561. package/cjs/ui/UserListItem.js.map +1 -1
  562. package/cjs/ui/UserProfile.js +31 -29
  563. package/cjs/ui/UserProfile.js.map +1 -1
  564. package/cjs/ui/VoiceMessageItemBody.js +108 -0
  565. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  566. package/cjs/ui/VoiceMessgeInput.js +22 -0
  567. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  568. package/cjs/ui/Word.js +31 -39
  569. package/cjs/ui/Word.js.map +1 -1
  570. package/cjs/useDirtyGetMentions-7b6c8a19.js +77 -0
  571. package/cjs/useDirtyGetMentions-7b6c8a19.js.map +1 -0
  572. package/cjs/useLongPress-4c2e9a3b.js +87 -0
  573. package/cjs/useLongPress-4c2e9a3b.js.map +1 -0
  574. package/cjs/useSendbirdStateContext.js +2 -3
  575. package/cjs/useSendbirdStateContext.js.map +1 -1
  576. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  577. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  578. package/cjs/utils/message/isVoiceMessage.js +12 -0
  579. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  580. package/cjs/{utils-3714e90e.js → utils-22d05a53.js} +3 -7
  581. package/cjs/{utils-3714e90e.js.map → utils-22d05a53.js.map} +1 -1
  582. package/cjs/{utils-1f6c6626.js → utils-3dacb9bc.js} +1 -1
  583. package/cjs/{utils-1f6c6626.js.map → utils-3dacb9bc.js.map} +1 -1
  584. package/cjs/utils-c5d4c36e.js +35 -0
  585. package/cjs/utils-c5d4c36e.js.map +1 -0
  586. package/cjs/utils-f1c09ec3.js +31 -0
  587. package/cjs/utils-f1c09ec3.js.map +1 -0
  588. package/cjs/uuid-d86ea01f.js +15 -0
  589. package/cjs/{uuid-11d4efe8.js.map → uuid-d86ea01f.js.map} +1 -1
  590. package/cjs/withSendbird.js +5 -6
  591. package/cjs/withSendbird.js.map +1 -1
  592. package/{color-ff5f9069.js → color-4ca8a2ea.js} +5 -14
  593. package/{color-ff5f9069.js.map → color-4ca8a2ea.js.map} +1 -1
  594. package/{compareIds-9430f9d8.js → compareIds-08858dd3.js} +5 -6
  595. package/compareIds-08858dd3.js.map +1 -0
  596. package/{const-83764204.js → const-714046e0.js} +4 -4
  597. package/const-714046e0.js.map +1 -0
  598. package/const-a77c08c9.js +13 -0
  599. package/const-a77c08c9.js.map +1 -0
  600. package/consts-9393e7c8.js +27 -0
  601. package/consts-9393e7c8.js.map +1 -0
  602. package/consts-aecb8fab.js +4 -0
  603. package/consts-aecb8fab.js.map +1 -0
  604. package/consts-d46e0fc1.js +4 -0
  605. package/consts-d46e0fc1.js.map +1 -0
  606. package/consts-decd9c7d.js +4 -0
  607. package/consts-decd9c7d.js.map +1 -0
  608. package/context-9a6b8b8a.js +13 -0
  609. package/{context-9a69e846.js.map → context-9a6b8b8a.js.map} +1 -1
  610. package/dist/index.css +901 -481
  611. package/dist/index.css.map +1 -1
  612. package/handlers/OpenChannelHandler.js.map +1 -1
  613. package/handlers/SessionHandler.js.map +1 -1
  614. package/{index-3f26a31c.js → index-06f34585.js} +2 -2
  615. package/{index-3f26a31c.js.map → index-06f34585.js.map} +1 -1
  616. package/{index-134314e2.js → index-20880943.js} +29 -37
  617. package/index-20880943.js.map +1 -0
  618. package/index-3130ac38.js +51 -0
  619. package/index-3130ac38.js.map +1 -0
  620. package/{index-e5b78039.js → index-3165e396.js} +1 -1
  621. package/index-3165e396.js.map +1 -0
  622. package/index-400417a1.js +154 -0
  623. package/index-400417a1.js.map +1 -0
  624. package/index-5644a6c0.js +283 -0
  625. package/index-5644a6c0.js.map +1 -0
  626. package/{index-defabece.js → index-5db37327.js} +57 -4
  627. package/index-5db37327.js.map +1 -0
  628. package/{index-fc4702b7.js → index-7c9ebc67.js} +55 -63
  629. package/index-7c9ebc67.js.map +1 -0
  630. package/{index-d3f6dbb9.js → index-9781d2b9.js} +2 -2
  631. package/{index-d3f6dbb9.js.map → index-9781d2b9.js.map} +1 -1
  632. package/index-b96440b7.js +76 -0
  633. package/index-b96440b7.js.map +1 -0
  634. package/index-bf72ef7c.js +355 -0
  635. package/index-bf72ef7c.js.map +1 -0
  636. package/{index-1b91b116.js → index-c6df8184.js} +39 -48
  637. package/index-c6df8184.js.map +1 -0
  638. package/{index-07e060cd.js → index-d9c12cf4.js} +1 -1
  639. package/{index-07e060cd.js.map → index-d9c12cf4.js.map} +1 -1
  640. package/{index-44470dab.js → index-e1cd2fcf.js} +11 -25
  641. package/index-e1cd2fcf.js.map +1 -0
  642. package/index-edfb3327.js +413 -0
  643. package/index-edfb3327.js.map +1 -0
  644. package/index-fd51c7d1.js +541 -0
  645. package/index-fd51c7d1.js.map +1 -0
  646. package/index-fd95258e.js +182 -0
  647. package/index-fd95258e.js.map +1 -0
  648. package/index.d.ts +169 -122
  649. package/index.js +77 -58
  650. package/index.js.map +1 -1
  651. package/index.module-8c144786.js +4 -0
  652. package/index.module-8c144786.js.map +1 -0
  653. package/lame.all.js +2537 -0
  654. package/lame.all.js.map +1 -0
  655. package/package.json +61 -41
  656. package/sendbirdSelectors.js +307 -417
  657. package/sendbirdSelectors.js.map +1 -1
  658. package/{stringSet-d555d877.js → stringSet-d368e289.js} +110 -90
  659. package/stringSet-d368e289.js.map +1 -0
  660. package/tokenize-7056afb7.js +159 -0
  661. package/tokenize-7056afb7.js.map +1 -0
  662. package/topics-f9628f1f.js +16 -0
  663. package/topics-f9628f1f.js.map +1 -0
  664. package/types-2b508dbc.js +15 -0
  665. package/types-2b508dbc.js.map +1 -0
  666. package/ui/Accordion.js +21 -24
  667. package/ui/Accordion.js.map +1 -1
  668. package/ui/AccordionGroup.js +10 -13
  669. package/ui/AccordionGroup.js.map +1 -1
  670. package/ui/AdminMessage.js +10 -13
  671. package/ui/AdminMessage.js.map +1 -1
  672. package/ui/Avatar.js +57 -79
  673. package/ui/Avatar.js.map +1 -1
  674. package/ui/Badge.js +16 -15
  675. package/ui/Badge.js.map +1 -1
  676. package/ui/BottomSheet.js +14 -12
  677. package/ui/BottomSheet.js.map +1 -1
  678. package/ui/Button.js +20 -35
  679. package/ui/Button.js.map +1 -1
  680. package/ui/ChannelAvatar.js +38 -41
  681. package/ui/ChannelAvatar.js.map +1 -1
  682. package/ui/Checkbox.js +11 -13
  683. package/ui/Checkbox.js.map +1 -1
  684. package/ui/ConnectionStatus.js +7 -5
  685. package/ui/ConnectionStatus.js.map +1 -1
  686. package/ui/ContextMenu.js +173 -199
  687. package/ui/ContextMenu.js.map +1 -1
  688. package/ui/DateSeparator.js +12 -14
  689. package/ui/DateSeparator.js.map +1 -1
  690. package/ui/EmojiReactions.js +298 -108
  691. package/ui/EmojiReactions.js.map +1 -1
  692. package/ui/FileMessageItemBody.js +22 -23
  693. package/ui/FileMessageItemBody.js.map +1 -1
  694. package/ui/FileViewer.js +36 -36
  695. package/ui/FileViewer.js.map +1 -1
  696. package/ui/Icon.js +448 -622
  697. package/ui/Icon.js.map +1 -1
  698. package/ui/IconButton.js +20 -31
  699. package/ui/IconButton.js.map +1 -1
  700. package/ui/ImageRenderer.js +34 -43
  701. package/ui/ImageRenderer.js.map +1 -1
  702. package/ui/Input.js +16 -16
  703. package/ui/Input.js.map +1 -1
  704. package/ui/Label.js +2 -2
  705. package/ui/LinkLabel.js +4 -3
  706. package/ui/LinkLabel.js.map +1 -1
  707. package/ui/Loader.js +10 -12
  708. package/ui/Loader.js.map +1 -1
  709. package/ui/MentionLabel.js +58 -65
  710. package/ui/MentionLabel.js.map +1 -1
  711. package/ui/MentionUserLabel.js +12 -10
  712. package/ui/MentionUserLabel.js.map +1 -1
  713. package/ui/MessageContent.js +206 -548
  714. package/ui/MessageContent.js.map +1 -1
  715. package/ui/MessageInput.js +338 -119
  716. package/ui/MessageInput.js.map +1 -1
  717. package/ui/MessageItemMenu.js +70 -77
  718. package/ui/MessageItemMenu.js.map +1 -1
  719. package/ui/MessageItemReactionMenu.js +56 -61
  720. package/ui/MessageItemReactionMenu.js.map +1 -1
  721. package/ui/MessageSearchFileItem.js +55 -50
  722. package/ui/MessageSearchFileItem.js.map +1 -1
  723. package/ui/MessageSearchItem.js +41 -40
  724. package/ui/MessageSearchItem.js.map +1 -1
  725. package/ui/MessageStatus.js +10 -11
  726. package/ui/MessageStatus.js.map +1 -1
  727. package/ui/Modal.js +52 -46
  728. package/ui/Modal.js.map +1 -1
  729. package/ui/MutedAvatarOverlay.js +10 -10
  730. package/ui/MutedAvatarOverlay.js.map +1 -1
  731. package/ui/OGMessageItemBody.js +68 -64
  732. package/ui/OGMessageItemBody.js.map +1 -1
  733. package/ui/OpenChannelAdminMessage.js +8 -7
  734. package/ui/OpenChannelAdminMessage.js.map +1 -1
  735. package/ui/OpenChannelAvatar.js +18 -17
  736. package/ui/OpenChannelAvatar.js.map +1 -1
  737. package/ui/OpenchannelConversationHeader.js +17 -13
  738. package/ui/OpenchannelConversationHeader.js.map +1 -1
  739. package/ui/OpenchannelFileMessage.js +136 -149
  740. package/ui/OpenchannelFileMessage.js.map +1 -1
  741. package/ui/OpenchannelOGMessage.js +200 -233
  742. package/ui/OpenchannelOGMessage.js.map +1 -1
  743. package/ui/OpenchannelThumbnailMessage.js +211 -220
  744. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  745. package/ui/OpenchannelUserMessage.js +160 -173
  746. package/ui/OpenchannelUserMessage.js.map +1 -1
  747. package/ui/PlaceHolder.js +5 -6
  748. package/ui/PlaceHolder.js.map +1 -1
  749. package/ui/PlaybackTime.js +26 -0
  750. package/ui/PlaybackTime.js.map +1 -0
  751. package/ui/ProgressBar.js +30 -0
  752. package/ui/ProgressBar.js.map +1 -0
  753. package/ui/QuoteMessage.js +50 -44
  754. package/ui/QuoteMessage.js.map +1 -1
  755. package/ui/QuoteMessageInput.js +31 -29
  756. package/ui/QuoteMessageInput.js.map +1 -1
  757. package/ui/ReactionBadge.js +13 -21
  758. package/ui/ReactionBadge.js.map +1 -1
  759. package/ui/ReactionButton.js +27 -26
  760. package/ui/ReactionButton.js.map +1 -1
  761. package/ui/SortByRow.js +14 -18
  762. package/ui/SortByRow.js.map +1 -1
  763. package/ui/TextButton.js +13 -21
  764. package/ui/TextButton.js.map +1 -1
  765. package/ui/TextMessageItemBody.js +41 -48
  766. package/ui/TextMessageItemBody.js.map +1 -1
  767. package/ui/ThreadReplies.js +25 -22
  768. package/ui/ThreadReplies.js.map +1 -1
  769. package/ui/ThumbnailMessageItemBody.js +43 -45
  770. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  771. package/ui/Toggle.js +191 -0
  772. package/ui/Toggle.js.map +1 -0
  773. package/ui/Tooltip.js +8 -9
  774. package/ui/Tooltip.js.map +1 -1
  775. package/ui/TooltipWrapper.js +17 -20
  776. package/ui/TooltipWrapper.js.map +1 -1
  777. package/ui/UnknownMessageItemBody.js +21 -22
  778. package/ui/UnknownMessageItemBody.js.map +1 -1
  779. package/ui/UserListItem.js +76 -76
  780. package/ui/UserListItem.js.map +1 -1
  781. package/ui/UserProfile.js +31 -29
  782. package/ui/UserProfile.js.map +1 -1
  783. package/ui/VoiceMessageItemBody.js +99 -0
  784. package/ui/VoiceMessageItemBody.js.map +1 -0
  785. package/ui/VoiceMessgeInput.js +14 -0
  786. package/ui/VoiceMessgeInput.js.map +1 -0
  787. package/ui/Word.js +31 -39
  788. package/ui/Word.js.map +1 -1
  789. package/useDirtyGetMentions-e0c0f521.js +75 -0
  790. package/useDirtyGetMentions-e0c0f521.js.map +1 -0
  791. package/useLongPress-685c7391.js +85 -0
  792. package/useLongPress-685c7391.js.map +1 -0
  793. package/useSendbirdStateContext.js +2 -3
  794. package/useSendbirdStateContext.js.map +1 -1
  795. package/utils/message/getOutgoingMessageState.js +9 -15
  796. package/utils/message/getOutgoingMessageState.js.map +1 -1
  797. package/utils/message/isVoiceMessage.js +8 -0
  798. package/utils/message/isVoiceMessage.js.map +1 -0
  799. package/{utils-e720e03a.js → utils-256f157f.js} +1 -1
  800. package/{utils-e720e03a.js.map → utils-256f157f.js.map} +1 -1
  801. package/utils-4979f950.js +31 -0
  802. package/utils-4979f950.js.map +1 -0
  803. package/{utils-8b11ff42.js → utils-f82ad058.js} +3 -7
  804. package/{utils-8b11ff42.js.map → utils-f82ad058.js.map} +1 -1
  805. package/utils-fbc09760.js +29 -0
  806. package/utils-fbc09760.js.map +1 -0
  807. package/uuid-720c99c0.js +13 -0
  808. package/{uuid-286ed926.js.map → uuid-720c99c0.js.map} +1 -1
  809. package/withSendbird.js +5 -6
  810. package/withSendbird.js.map +1 -1
  811. package/ChannelListProvider-f461d265.js.map +0 -1
  812. package/ChannelProvider-554e7116.js.map +0 -1
  813. package/CreateChannelProvider-250cd98e.js +0 -55
  814. package/CreateChannelProvider-250cd98e.js.map +0 -1
  815. package/LocalizationContext-4df0cc32.js +0 -22
  816. package/MediaQueryContext-74183e34.js +0 -90
  817. package/MediaQueryContext-74183e34.js.map +0 -1
  818. package/MemberList-51c7afaa.js +0 -435
  819. package/MemberList-51c7afaa.js.map +0 -1
  820. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  821. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  822. package/NotificationChannel/components/NotificationList.js +0 -111
  823. package/NotificationChannel/components/NotificationList.js.map +0 -1
  824. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  825. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  826. package/NotificationChannel/context.js +0 -12
  827. package/NotificationChannel.js +0 -58
  828. package/NotificationChannel.js.map +0 -1
  829. package/NotificationChannelProvider-0d8be1ad.js +0 -535
  830. package/NotificationChannelProvider-0d8be1ad.js.map +0 -1
  831. package/OpenChannelListProvider-8c753945.js +0 -434
  832. package/OpenChannelListProvider-8c753945.js.map +0 -1
  833. package/OpenChannelProvider-2fa01820.js +0 -2000
  834. package/OpenChannelProvider-2fa01820.js.map +0 -1
  835. package/RemoveMessageModal-9762fed1.js +0 -31
  836. package/RemoveMessageModal-9762fed1.js.map +0 -1
  837. package/ThreadProvider-6974fb3e.js +0 -1644
  838. package/ThreadProvider-6974fb3e.js.map +0 -1
  839. package/_rollupPluginBabelHelpers-498add61.js.map +0 -1
  840. package/actionTypes-ad2cbd73.js +0 -6
  841. package/actionTypes-ad2cbd73.js.map +0 -1
  842. package/cjs/ChannelListProvider-c2148b43.js.map +0 -1
  843. package/cjs/ChannelProvider-cf5dc7e3.js.map +0 -1
  844. package/cjs/CreateChannelProvider-c98de398.js +0 -62
  845. package/cjs/CreateChannelProvider-c98de398.js.map +0 -1
  846. package/cjs/MediaQueryContext-71862be1.js +0 -97
  847. package/cjs/MediaQueryContext-71862be1.js.map +0 -1
  848. package/cjs/MemberList-13566703.js +0 -441
  849. package/cjs/MemberList-13566703.js.map +0 -1
  850. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  851. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  852. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  853. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  855. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  856. package/cjs/NotificationChannel/context.js +0 -21
  857. package/cjs/NotificationChannel.js +0 -64
  858. package/cjs/NotificationChannel.js.map +0 -1
  859. package/cjs/NotificationChannelProvider-8f3b7320.js +0 -543
  860. package/cjs/NotificationChannelProvider-8f3b7320.js.map +0 -1
  861. package/cjs/OpenChannelListProvider-64043b4f.js +0 -443
  862. package/cjs/OpenChannelListProvider-64043b4f.js.map +0 -1
  863. package/cjs/OpenChannelProvider-5b56e629.js +0 -2009
  864. package/cjs/OpenChannelProvider-5b56e629.js.map +0 -1
  865. package/cjs/RemoveMessageModal-c01eb93b.js.map +0 -1
  866. package/cjs/ThreadProvider-d3c0c877.js +0 -1653
  867. package/cjs/ThreadProvider-d3c0c877.js.map +0 -1
  868. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +0 -1
  869. package/cjs/actionTypes-0e8bea91.js +0 -10
  870. package/cjs/actionTypes-0e8bea91.js.map +0 -1
  871. package/cjs/color-89f33656.js.map +0 -1
  872. package/cjs/compareIds-ca869c2e.js.map +0 -1
  873. package/cjs/const-55d167ca.js +0 -20
  874. package/cjs/const-55d167ca.js.map +0 -1
  875. package/cjs/const-db71e993.js.map +0 -1
  876. package/cjs/index-0988ab25.js.map +0 -1
  877. package/cjs/index-21b2339d.js +0 -701
  878. package/cjs/index-21b2339d.js.map +0 -1
  879. package/cjs/index-5c81f847.js +0 -194
  880. package/cjs/index-5c81f847.js.map +0 -1
  881. package/cjs/index-621e74bd.js.map +0 -1
  882. package/cjs/index-8de59744.js +0 -59
  883. package/cjs/index-8de59744.js.map +0 -1
  884. package/cjs/index-a52859ed.js +0 -360
  885. package/cjs/index-a52859ed.js.map +0 -1
  886. package/cjs/index-be9c6237.js.map +0 -1
  887. package/cjs/index-c4d4ef49.js.map +0 -1
  888. package/cjs/index-d6ef2a60.js.map +0 -1
  889. package/cjs/index-e240e852.js.map +0 -1
  890. package/cjs/stringSet-91b919f6.js.map +0 -1
  891. package/cjs/topics-ac9cf7ed.js +0 -22
  892. package/cjs/topics-ac9cf7ed.js.map +0 -1
  893. package/cjs/tslib.es6-43854eb1.js +0 -110
  894. package/cjs/tslib.es6-43854eb1.js.map +0 -1
  895. package/cjs/useLongPress-c7bf12b1.js +0 -118
  896. package/cjs/useLongPress-c7bf12b1.js.map +0 -1
  897. package/cjs/utils-4b529d96.js +0 -38
  898. package/cjs/utils-4b529d96.js.map +0 -1
  899. package/cjs/utils-65a380e8.js +0 -32
  900. package/cjs/utils-65a380e8.js.map +0 -1
  901. package/cjs/uuid-11d4efe8.js +0 -19
  902. package/compareIds-9430f9d8.js.map +0 -1
  903. package/const-83764204.js.map +0 -1
  904. package/const-9d11f204.js +0 -14
  905. package/const-9d11f204.js.map +0 -1
  906. package/context-9a69e846.js +0 -12
  907. package/index-134314e2.js.map +0 -1
  908. package/index-1572c90f.js +0 -57
  909. package/index-1572c90f.js.map +0 -1
  910. package/index-1b91b116.js.map +0 -1
  911. package/index-44470dab.js.map +0 -1
  912. package/index-5f08f486.js +0 -662
  913. package/index-5f08f486.js.map +0 -1
  914. package/index-d8e3ccee.js +0 -179
  915. package/index-d8e3ccee.js.map +0 -1
  916. package/index-defabece.js.map +0 -1
  917. package/index-e5b78039.js.map +0 -1
  918. package/index-ed65ee3b.js +0 -353
  919. package/index-ed65ee3b.js.map +0 -1
  920. package/index-fc4702b7.js.map +0 -1
  921. package/stringSet-d555d877.js.map +0 -1
  922. package/topics-351ea731.js +0 -13
  923. package/topics-351ea731.js.map +0 -1
  924. package/tslib.es6-bcead7e6.js +0 -104
  925. package/tslib.es6-bcead7e6.js.map +0 -1
  926. package/useLongPress-794838b8.js +0 -116
  927. package/useLongPress-794838b8.js.map +0 -1
  928. package/utils-00ac1a7d.js +0 -34
  929. package/utils-00ac1a7d.js.map +0 -1
  930. package/utils-01e76a0c.js +0 -30
  931. package/utils-01e76a0c.js.map +0 -1
  932. package/uuid-286ed926.js +0 -17
@@ -1,28 +1,26 @@
1
- import { a as __spreadArray } from '../tslib.es6-bcead7e6.js';
2
1
  import React__default from 'react';
3
- import { C as Colors, c as changeColorToClassName } from '../color-ff5f9069.js';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../index-44470dab.js';
2
+ import { C as Colors, c as changeColorToClassName } from '../color-4ca8a2ea.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e1cd2fcf.js';
5
4
  import 'prop-types';
6
- import '../stringSet-d555d877.js';
5
+ import '../stringSet-d368e289.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,322 @@
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-5f08f486.js';
10
- import { a as LocalizationContext } from '../LocalizationContext-4df0cc32.js';
11
- import '../tslib.es6-bcead7e6.js';
12
- import '../index-44470dab.js';
7
+ import { H as getEmojiUrl, I as isReactedBy, J as getEmojiTooltipString, G as getEmojiListAll, K as getEmojiMapAll, j as getClassName } from '../index-fd51c7d1.js';
8
+ import BottomSheet from './BottomSheet.js';
9
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e1cd2fcf.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-0e0b3a1b.js';
14
+ import { u as useLongPress } from '../useLongPress-685c7391.js';
15
+ import { a as LocalizationContext } from '../LocalizationContext-1839d2db.js';
16
+ import useSendbirdStateContext from '../useSendbirdStateContext.js';
17
+ import { useMessageContext } from '../Message/context.js';
18
+ import { b as _extends } from '../_rollupPluginBabelHelpers-ce69e916.js';
19
+ import '../utils-256f157f.js';
13
20
  import 'prop-types';
14
- import '../stringSet-d555d877.js';
15
21
  import 'react-dom';
16
22
  import './SortByRow.js';
17
- import '../uuid-286ed926.js';
23
+ import '../uuid-720c99c0.js';
18
24
  import '../utils/message/getOutgoingMessageState.js';
19
- import '../index-07e060cd.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-d368e289.js';
26
+ import '../index-3165e396.js';
27
+ import '../UserProfileContext-7e645551.js';
28
+ import './Avatar.js';
29
+ import './MutedAvatarOverlay.js';
30
+ import './Checkbox.js';
31
+ import './UserProfile.js';
32
+ import '../sendbirdSelectors.js';
33
+ import '../topics-f9628f1f.js';
34
+ import './Button.js';
35
+ import '../index-d9c12cf4.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
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
202
+ url: emoji.url,
203
+ width: "38px",
204
+ height: "38px",
205
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
206
+ style: style
82
207
  }, /*#__PURE__*/React__default.createElement(Icon, {
83
- type: IconTypes.EMOJI_MORE,
208
+ type: IconTypes.QUESTION,
84
209
  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;
210
+ width: "28px",
211
+ height: "28px"
212
+ }))
213
+ }));
214
+ })));
215
+ };
97
216
 
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) || '',
217
+ const EmojiReactions = _ref => {
218
+ var _message$reactions$le, _message$reactions, _message$reactions$le2, _message$reactions2, _message$reactions3;
219
+ let {
220
+ className = '',
221
+ userId,
222
+ message,
223
+ channel,
224
+ emojiContainer,
225
+ memberNicknamesMap,
226
+ spaceFromTrigger = {
227
+ x: 0,
228
+ y: 0
229
+ },
230
+ isByMe = false,
231
+ toggleReaction
232
+ } = _ref;
233
+ const {
234
+ isMobile
235
+ } = useMediaQueryContext();
236
+ const addReactionRef = useRef(null);
237
+ const [showEmojiList, setShowEmojiList] = useState(false);
238
+ const [selectedEmojiKey, setSelectedEmojiKey] = useState('');
239
+ const emojisMap = getEmojiMapAll(emojiContainer);
240
+ 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;
241
+ return /*#__PURE__*/React__default.createElement("div", {
242
+ className: getClassName([className, 'sendbird-emoji-reactions', isByMe ? 'outgoing' : 'incoming'])
243
+ }, ((_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 => {
244
+ return /*#__PURE__*/React__default.createElement(ReactionItem, {
245
+ key: reaction === null || reaction === void 0 ? void 0 : reaction.key,
246
+ reaction: reaction,
247
+ memberNicknamesMap: memberNicknamesMap,
248
+ setEmojiKey: setSelectedEmojiKey,
249
+ toggleReaction: toggleReaction,
250
+ emojisMap: emojisMap
251
+ });
252
+ })), !isMobile && showAddReactionBadge && /*#__PURE__*/React__default.createElement(ContextMenu, {
253
+ menuTrigger: toggleDropdown => /*#__PURE__*/React__default.createElement(ReactionBadge, {
254
+ className: "sendbird-emoji-reactions__add-reaction-badge",
255
+ ref: addReactionRef,
256
+ isAdd: true,
257
+ onClick: e => {
258
+ var _e$stopPropagation;
259
+ toggleDropdown();
260
+ e === null || e === void 0 ? void 0 : (_e$stopPropagation = e.stopPropagation) === null || _e$stopPropagation === void 0 ? void 0 : _e$stopPropagation.call(e);
261
+ }
262
+ }, /*#__PURE__*/React__default.createElement(Icon, {
263
+ type: IconTypes.EMOJI_MORE,
264
+ fillColor: IconColors.ON_BACKGROUND_3,
265
+ width: "20px",
266
+ height: "20px"
267
+ })),
268
+ menuItems: closeDropdown => /*#__PURE__*/React__default.createElement(EmojiListItems, {
269
+ parentRef: addReactionRef,
270
+ parentContainRef: addReactionRef,
271
+ closeDropdown: closeDropdown,
272
+ spaceFromTrigger: spaceFromTrigger
273
+ }, getEmojiListAll(emojiContainer).map(emoji => {
274
+ var _message$reactions4, _message$reactions4$f, _message$reactions4$f2;
275
+ 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;
276
+ return /*#__PURE__*/React__default.createElement(ReactionButton, {
277
+ key: emoji.key,
278
+ width: "36px",
279
+ height: "36px",
280
+ selected: isReacted,
281
+ onClick: e => {
282
+ closeDropdown();
283
+ toggleReaction === null || toggleReaction === void 0 ? void 0 : toggleReaction(message, emoji.key, isReacted);
284
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
285
+ }
286
+ }, /*#__PURE__*/React__default.createElement(ImageRenderer, {
287
+ url: (emoji === null || emoji === void 0 ? void 0 : emoji.url) || '',
288
+ width: "28px",
289
+ height: "28px",
290
+ placeHolder: style => /*#__PURE__*/React__default.createElement("div", {
291
+ style: style
292
+ }, /*#__PURE__*/React__default.createElement(Icon, {
293
+ type: IconTypes.QUESTION,
294
+ fillColor: IconColors.ON_BACKGROUND_3,
115
295
  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
- }));
296
+ height: "28px"
297
+ }))
128
298
  }));
299
+ }))
300
+ }), isMobile && showAddReactionBadge && /*#__PURE__*/React__default.createElement(AddReactionBadgeItem, {
301
+ onClick: () => {
302
+ setShowEmojiList(true);
129
303
  }
304
+ }), isMobile && showEmojiList && /*#__PURE__*/React__default.createElement(MobileEmojisBottomSheet, {
305
+ userId: userId,
306
+ message: message,
307
+ emojiContainer: emojiContainer,
308
+ hideMenu: () => {
309
+ setShowEmojiList(false);
310
+ },
311
+ toggleReaction: toggleReaction
312
+ }), isMobile && selectedEmojiKey && channel !== null && /*#__PURE__*/React__default.createElement(ReactedMembersBottomSheet, {
313
+ message: message,
314
+ channel: channel,
315
+ emojiKey: selectedEmojiKey,
316
+ hideMenu: () => {
317
+ setSelectedEmojiKey('');
318
+ },
319
+ emojiContainer: emojiContainer
130
320
  }));
131
321
  };
132
322
 
@@ -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 >\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 >\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","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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"}