@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-feature-config-rc-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (936) hide show
  1. package/App.js +312 -235
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +470 -0
  4. package/Channel/components/ChannelHeader.js +46 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +104 -131
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +56 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +240 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +152 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +260 -175
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +34 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +139 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +44 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +12 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +69 -44
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +101 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +72 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +32 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-f461d265.js → ChannelListProvider-e9b9d9dc.js} +233 -285
  45. package/ChannelListProvider-e9b9d9dc.js.map +1 -0
  46. package/{ChannelProvider-554e7116.js → ChannelProvider-e1ddeda2.js} +659 -726
  47. package/ChannelProvider-e1ddeda2.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-8c7aa9d6.js +44 -0
  76. package/CreateChannelProvider-8c7aa9d6.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-2a605cc6.js +20 -0
  90. package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-2a605cc6.js.map} +1 -1
  91. package/MediaQueryContext-9a1ce18e.js +87 -0
  92. package/MediaQueryContext-9a1ce18e.js.map +1 -0
  93. package/MemberList-f74830e4.js +403 -0
  94. package/MemberList-f74830e4.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +50 -35
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +174 -191
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +36 -30
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-1674b977.js +429 -0
  128. package/OpenChannelListProvider-1674b977.js.map +1 -0
  129. package/OpenChannelProvider-c1097360.js +1885 -0
  130. package/OpenChannelProvider-c1097360.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-103c3502.js +36 -0
  147. package/RemoveMessageModal-103c3502.js.map +1 -0
  148. package/SendbirdProvider.js +749 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +238 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +112 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +108 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +306 -276
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +146 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +169 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +87 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-1799dbab.js +1695 -0
  170. package/ThreadProvider-1799dbab.js.map +1 -0
  171. package/{UserProfileContext-c58a7b86.js → UserProfileContext-cf8bb199.js} +1 -4
  172. package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-cf8bb199.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-276b625e.js +170 -0
  174. package/VoiceMessageInputWrapper-276b625e.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +84 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +156 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +121 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-b2c9fae9.js +123 -0
  184. package/WebAudioUtils-b2c9fae9.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-34fc6689.js} +17 -11
  186. package/_rollupPluginBabelHelpers-34fc6689.js.map +1 -0
  187. package/actionTypes-3f51c08a.js +8 -0
  188. package/actionTypes-3f51c08a.js.map +1 -0
  189. package/cjs/App.js +312 -235
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +46 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +102 -129
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +56 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +243 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +151 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +260 -175
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +34 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +139 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +44 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +69 -44
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +100 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +72 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +32 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-26cc6944.js} +232 -284
  232. package/cjs/ChannelListProvider-26cc6944.js.map +1 -0
  233. package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-54bb28cc.js} +657 -724
  234. package/cjs/ChannelProvider-54bb28cc.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-8c106973.js +52 -0
  263. package/cjs/CreateChannelProvider-8c106973.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-bdc95952.js} +9 -11
  277. package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-bdc95952.js.map} +1 -1
  278. package/cjs/MediaQueryContext-28b81968.js +94 -0
  279. package/cjs/MediaQueryContext-28b81968.js.map +1 -0
  280. package/cjs/MemberList-5f5ab063.js +409 -0
  281. package/cjs/MemberList-5f5ab063.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +36 -30
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-da4fd54b.js +439 -0
  315. package/cjs/OpenChannelListProvider-da4fd54b.js.map +1 -0
  316. package/cjs/OpenChannelProvider-c6295ecd.js +1894 -0
  317. package/cjs/OpenChannelProvider-c6295ecd.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-c01eb93b.js → RemoveMessageModal-f4d8af47.js} +19 -14
  333. package/cjs/RemoveMessageModal-f4d8af47.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +748 -408
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +237 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +108 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +305 -275
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +146 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +170 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +87 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-17ad9d05.js +1704 -0
  356. package/cjs/ThreadProvider-17ad9d05.js.map +1 -0
  357. package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-27a5718b.js} +1 -4
  358. package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-27a5718b.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-1100905a.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-1100905a.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +17 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +166 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-cd45fa51.js +126 -0
  370. package/cjs/WebAudioUtils-cd45fa51.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-d68672d6.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-d68672d6.js.map +1 -0
  373. package/cjs/actionTypes-bf093246.js +10 -0
  374. package/cjs/actionTypes-bf093246.js.map +1 -0
  375. package/cjs/{color-89f33656.js → color-bb9924cb.js} +13 -21
  376. package/cjs/color-bb9924cb.js.map +1 -0
  377. package/cjs/{compareIds-ca869c2e.js → compareIds-96cdd2a0.js} +5 -6
  378. package/cjs/compareIds-96cdd2a0.js.map +1 -0
  379. package/cjs/const-44ddbe54.js +20 -0
  380. package/cjs/const-44ddbe54.js.map +1 -0
  381. package/cjs/{const-db71e993.js → const-73fbd467.js} +4 -4
  382. package/cjs/const-73fbd467.js.map +1 -0
  383. package/cjs/consts-2dfc1883.js +6 -0
  384. package/cjs/consts-2dfc1883.js.map +1 -0
  385. package/cjs/consts-40680de5.js +6 -0
  386. package/cjs/consts-40680de5.js.map +1 -0
  387. package/cjs/consts-4fbdb1d6.js +6 -0
  388. package/cjs/consts-4fbdb1d6.js.map +1 -0
  389. package/cjs/consts-ccfad912.js +41 -0
  390. package/cjs/consts-ccfad912.js.map +1 -0
  391. package/cjs/{context-2f5d47fd.js → context-cdc5a8dd.js} +6 -5
  392. package/cjs/{context-2f5d47fd.js.map → context-cdc5a8dd.js.map} +1 -1
  393. package/cjs/dist/index.css +1629 -1185
  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-0d4b8939.js +79 -0
  398. package/cjs/index-0d4b8939.js.map +1 -0
  399. package/cjs/{index-621e74bd.js → index-1ee86976.js} +29 -37
  400. package/cjs/index-1ee86976.js.map +1 -0
  401. package/cjs/index-2044d323.js +161 -0
  402. package/cjs/index-2044d323.js.map +1 -0
  403. package/cjs/{index-2c5dd48c.js → index-4ff12eb9.js} +2 -2
  404. package/cjs/{index-2c5dd48c.js.map → index-4ff12eb9.js.map} +1 -1
  405. package/cjs/{index-be9c6237.js → index-6d959b4d.js} +55 -63
  406. package/cjs/index-6d959b4d.js.map +1 -0
  407. package/cjs/{index-de151767.js → index-71def451.js} +1 -1
  408. package/cjs/{index-de151767.js.map → index-71def451.js.map} +1 -1
  409. package/cjs/{index-c4d4ef49.js → index-77c91851.js} +1 -1
  410. package/cjs/index-77c91851.js.map +1 -0
  411. package/cjs/index-7a9d2024.js +585 -0
  412. package/cjs/index-7a9d2024.js.map +1 -0
  413. package/cjs/index-7b19a3f7.js +367 -0
  414. package/cjs/index-7b19a3f7.js.map +1 -0
  415. package/cjs/index-89314643.js +456 -0
  416. package/cjs/index-89314643.js.map +1 -0
  417. package/cjs/index-adcca875.js +57 -0
  418. package/cjs/index-adcca875.js.map +1 -0
  419. package/cjs/index-b1485c4a.js +202 -0
  420. package/cjs/index-b1485c4a.js.map +1 -0
  421. package/cjs/{index-0988ab25.js → index-b6a49cba.js} +57 -3
  422. package/cjs/index-b6a49cba.js.map +1 -0
  423. package/cjs/{index-e240e852.js → index-ca51d316.js} +42 -51
  424. package/cjs/index-ca51d316.js.map +1 -0
  425. package/cjs/index-dada883d.js +330 -0
  426. package/cjs/index-dada883d.js.map +1 -0
  427. package/cjs/{index-d6ef2a60.js → index-e766176d.js} +11 -25
  428. package/cjs/index-e766176d.js.map +1 -0
  429. package/cjs/{index-73467e1d.js → index-f7b329d2.js} +2 -2
  430. package/cjs/{index-73467e1d.js.map → index-f7b329d2.js.map} +1 -1
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-3e11d4a7.js +6 -0
  434. package/cjs/index.module-3e11d4a7.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/resolvedReplyType-42ff3f75.js +32 -0
  438. package/cjs/resolvedReplyType-42ff3f75.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-91b919f6.js → stringSet-0cddd94a.js} +112 -90
  442. package/cjs/stringSet-0cddd94a.js.map +1 -0
  443. package/cjs/tokenize-75ed25db.js +164 -0
  444. package/cjs/tokenize-75ed25db.js.map +1 -0
  445. package/cjs/topics-3e3eb86d.js +18 -0
  446. package/cjs/topics-3e3eb86d.js.map +1 -0
  447. package/cjs/types-2138565d.js +17 -0
  448. package/cjs/types-2138565d.js.map +1 -0
  449. package/cjs/ui/Accordion.js +21 -24
  450. package/cjs/ui/Accordion.js.map +1 -1
  451. package/cjs/ui/AccordionGroup.js +10 -13
  452. package/cjs/ui/AccordionGroup.js.map +1 -1
  453. package/cjs/ui/AdminMessage.js +10 -13
  454. package/cjs/ui/AdminMessage.js.map +1 -1
  455. package/cjs/ui/Avatar.js +57 -79
  456. package/cjs/ui/Avatar.js.map +1 -1
  457. package/cjs/ui/Badge.js +16 -15
  458. package/cjs/ui/Badge.js.map +1 -1
  459. package/cjs/ui/BottomSheet.js +14 -12
  460. package/cjs/ui/BottomSheet.js.map +1 -1
  461. package/cjs/ui/Button.js +20 -35
  462. package/cjs/ui/Button.js.map +1 -1
  463. package/cjs/ui/ChannelAvatar.js +38 -41
  464. package/cjs/ui/ChannelAvatar.js.map +1 -1
  465. package/cjs/ui/Checkbox.js +11 -13
  466. package/cjs/ui/Checkbox.js.map +1 -1
  467. package/cjs/ui/ConnectionStatus.js +7 -5
  468. package/cjs/ui/ConnectionStatus.js.map +1 -1
  469. package/cjs/ui/ContextMenu.js +175 -199
  470. package/cjs/ui/ContextMenu.js.map +1 -1
  471. package/cjs/ui/DateSeparator.js +12 -14
  472. package/cjs/ui/DateSeparator.js.map +1 -1
  473. package/cjs/ui/EmojiReactions.js +299 -107
  474. package/cjs/ui/EmojiReactions.js.map +1 -1
  475. package/cjs/ui/FileMessageItemBody.js +22 -23
  476. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  477. package/cjs/ui/FileViewer.js +36 -36
  478. package/cjs/ui/FileViewer.js.map +1 -1
  479. package/cjs/ui/Icon.js +447 -623
  480. package/cjs/ui/Icon.js.map +1 -1
  481. package/cjs/ui/IconButton.js +20 -31
  482. package/cjs/ui/IconButton.js.map +1 -1
  483. package/cjs/ui/ImageRenderer.js +34 -43
  484. package/cjs/ui/ImageRenderer.js.map +1 -1
  485. package/cjs/ui/Input.js +16 -16
  486. package/cjs/ui/Input.js.map +1 -1
  487. package/cjs/ui/Label.js +2 -2
  488. package/cjs/ui/LinkLabel.js +4 -3
  489. package/cjs/ui/LinkLabel.js.map +1 -1
  490. package/cjs/ui/Loader.js +10 -12
  491. package/cjs/ui/Loader.js.map +1 -1
  492. package/cjs/ui/MentionLabel.js +58 -65
  493. package/cjs/ui/MentionLabel.js.map +1 -1
  494. package/cjs/ui/MentionUserLabel.js +12 -10
  495. package/cjs/ui/MentionUserLabel.js.map +1 -1
  496. package/cjs/ui/MessageContent.js +212 -548
  497. package/cjs/ui/MessageContent.js.map +1 -1
  498. package/cjs/ui/MessageInput.js +392 -119
  499. package/cjs/ui/MessageInput.js.map +1 -1
  500. package/cjs/ui/MessageItemMenu.js +83 -83
  501. package/cjs/ui/MessageItemMenu.js.map +1 -1
  502. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  503. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  504. package/cjs/ui/MessageSearchFileItem.js +56 -51
  505. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  506. package/cjs/ui/MessageSearchItem.js +42 -41
  507. package/cjs/ui/MessageSearchItem.js.map +1 -1
  508. package/cjs/ui/MessageStatus.js +10 -11
  509. package/cjs/ui/MessageStatus.js.map +1 -1
  510. package/cjs/ui/Modal.js +52 -46
  511. package/cjs/ui/Modal.js.map +1 -1
  512. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  513. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/cjs/ui/OGMessageItemBody.js +67 -63
  515. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  516. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  517. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/cjs/ui/OpenChannelAvatar.js +18 -17
  519. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  520. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  521. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  522. package/cjs/ui/OpenchannelFileMessage.js +140 -151
  523. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  525. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
  527. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  528. package/cjs/ui/OpenchannelUserMessage.js +168 -178
  529. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  530. package/cjs/ui/PlaceHolder.js +5 -6
  531. package/cjs/ui/PlaceHolder.js.map +1 -1
  532. package/cjs/ui/PlaybackTime.js +35 -0
  533. package/cjs/ui/PlaybackTime.js.map +1 -0
  534. package/cjs/ui/ProgressBar.js +40 -0
  535. package/cjs/ui/ProgressBar.js.map +1 -0
  536. package/cjs/ui/QuoteMessage.js +50 -44
  537. package/cjs/ui/QuoteMessage.js.map +1 -1
  538. package/cjs/ui/QuoteMessageInput.js +31 -29
  539. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  540. package/cjs/ui/ReactionBadge.js +13 -21
  541. package/cjs/ui/ReactionBadge.js.map +1 -1
  542. package/cjs/ui/ReactionButton.js +30 -27
  543. package/cjs/ui/ReactionButton.js.map +1 -1
  544. package/cjs/ui/SortByRow.js +14 -18
  545. package/cjs/ui/SortByRow.js.map +1 -1
  546. package/cjs/ui/TextButton.js +13 -21
  547. package/cjs/ui/TextButton.js.map +1 -1
  548. package/cjs/ui/TextMessageItemBody.js +41 -48
  549. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  550. package/cjs/ui/ThreadReplies.js +25 -22
  551. package/cjs/ui/ThreadReplies.js.map +1 -1
  552. package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
  553. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  554. package/cjs/ui/Toggle.js +202 -0
  555. package/cjs/ui/Toggle.js.map +1 -0
  556. package/cjs/ui/Tooltip.js +8 -9
  557. package/cjs/ui/Tooltip.js.map +1 -1
  558. package/cjs/ui/TooltipWrapper.js +17 -20
  559. package/cjs/ui/TooltipWrapper.js.map +1 -1
  560. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  561. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  562. package/cjs/ui/UserListItem.js +76 -76
  563. package/cjs/ui/UserListItem.js.map +1 -1
  564. package/cjs/ui/UserProfile.js +31 -29
  565. package/cjs/ui/UserProfile.js.map +1 -1
  566. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  567. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  568. package/cjs/ui/VoiceMessgeInput.js +22 -0
  569. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  570. package/cjs/ui/Word.js +31 -39
  571. package/cjs/ui/Word.js.map +1 -1
  572. package/cjs/useDirtyGetMentions-9945a1c0.js +77 -0
  573. package/cjs/useDirtyGetMentions-9945a1c0.js.map +1 -0
  574. package/cjs/useLongPress-5174fd42.js +87 -0
  575. package/cjs/useLongPress-5174fd42.js.map +1 -0
  576. package/cjs/useSendbirdStateContext.js +2 -3
  577. package/cjs/useSendbirdStateContext.js.map +1 -1
  578. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  579. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  580. package/cjs/utils/message/isVoiceMessage.js +12 -0
  581. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  582. package/cjs/{utils-3714e90e.js → utils-2ef71eef.js} +3 -7
  583. package/cjs/{utils-3714e90e.js.map → utils-2ef71eef.js.map} +1 -1
  584. package/cjs/{utils-1f6c6626.js → utils-37a5dfde.js} +1 -1
  585. package/cjs/{utils-1f6c6626.js.map → utils-37a5dfde.js.map} +1 -1
  586. package/cjs/utils-a7008e7b.js +31 -0
  587. package/cjs/utils-a7008e7b.js.map +1 -0
  588. package/cjs/utils-f1c0d384.js +35 -0
  589. package/cjs/utils-f1c0d384.js.map +1 -0
  590. package/cjs/uuid-075367f7.js +15 -0
  591. package/cjs/{uuid-11d4efe8.js.map → uuid-075367f7.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-ff5f9069.js → color-85cde5a7.js} +5 -14
  595. package/{color-ff5f9069.js.map → color-85cde5a7.js.map} +1 -1
  596. package/{compareIds-9430f9d8.js → compareIds-3e3591cb.js} +5 -6
  597. package/compareIds-3e3591cb.js.map +1 -0
  598. package/const-2109eff9.js +13 -0
  599. package/const-2109eff9.js.map +1 -0
  600. package/{const-83764204.js → const-91fefb8e.js} +4 -4
  601. package/const-91fefb8e.js.map +1 -0
  602. package/consts-b6194fdf.js +4 -0
  603. package/consts-b6194fdf.js.map +1 -0
  604. package/consts-bd5c0783.js +27 -0
  605. package/consts-bd5c0783.js.map +1 -0
  606. package/consts-d9de055a.js +4 -0
  607. package/consts-d9de055a.js.map +1 -0
  608. package/consts-fafa501c.js +4 -0
  609. package/consts-fafa501c.js.map +1 -0
  610. package/context-b6e563d1.js +13 -0
  611. package/{context-9a69e846.js.map → context-b6e563d1.js.map} +1 -1
  612. package/dist/index.css +1629 -1185
  613. package/dist/index.css.map +1 -1
  614. package/handlers/OpenChannelHandler.js.map +1 -1
  615. package/handlers/SessionHandler.js.map +1 -1
  616. package/{index-134314e2.js → index-10472187.js} +29 -37
  617. package/index-10472187.js.map +1 -0
  618. package/{index-fc4702b7.js → index-1a6d4397.js} +55 -63
  619. package/index-1a6d4397.js.map +1 -0
  620. package/index-2f7c2c8a.js +187 -0
  621. package/index-2f7c2c8a.js.map +1 -0
  622. package/index-31eb43c8.js +51 -0
  623. package/index-31eb43c8.js.map +1 -0
  624. package/{index-07e060cd.js → index-3515f8f3.js} +1 -1
  625. package/{index-07e060cd.js.map → index-3515f8f3.js.map} +1 -1
  626. package/index-39f0a98e.js +540 -0
  627. package/index-39f0a98e.js.map +1 -0
  628. package/index-3a6d5e45.js +154 -0
  629. package/index-3a6d5e45.js.map +1 -0
  630. package/index-76929e40.js +360 -0
  631. package/index-76929e40.js.map +1 -0
  632. package/{index-44470dab.js → index-8fb5d71a.js} +11 -25
  633. package/index-8fb5d71a.js.map +1 -0
  634. package/index-94ed0e50.js +76 -0
  635. package/index-94ed0e50.js.map +1 -0
  636. package/index-9730aae6.js +450 -0
  637. package/index-9730aae6.js.map +1 -0
  638. package/{index-e5b78039.js → index-a27543ed.js} +1 -1
  639. package/index-a27543ed.js.map +1 -0
  640. package/{index-d3f6dbb9.js → index-b05a5803.js} +2 -2
  641. package/{index-d3f6dbb9.js.map → index-b05a5803.js.map} +1 -1
  642. package/{index-defabece.js → index-bbf4f597.js} +57 -4
  643. package/index-bbf4f597.js.map +1 -0
  644. package/{index-1b91b116.js → index-bf4f0a7e.js} +39 -48
  645. package/index-bf4f0a7e.js.map +1 -0
  646. package/index-c54a357d.js +320 -0
  647. package/index-c54a357d.js.map +1 -0
  648. package/{index-3f26a31c.js → index-d847ae45.js} +2 -2
  649. package/{index-3f26a31c.js.map → index-d847ae45.js.map} +1 -1
  650. package/index.d.ts +176 -124
  651. package/index.js +84 -63
  652. package/index.js.map +1 -1
  653. package/index.module-9faf1703.js +4 -0
  654. package/index.module-9faf1703.js.map +1 -0
  655. package/lame.all.js +2537 -0
  656. package/lame.all.js.map +1 -0
  657. package/package.json +62 -41
  658. package/resolvedReplyType-f5cc6c0b.js +29 -0
  659. package/resolvedReplyType-f5cc6c0b.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-d555d877.js → stringSet-d0b92983.js} +112 -90
  663. package/stringSet-d0b92983.js.map +1 -0
  664. package/tokenize-fd0af52f.js +159 -0
  665. package/tokenize-fd0af52f.js.map +1 -0
  666. package/topics-8aa96837.js +16 -0
  667. package/topics-8aa96837.js.map +1 -0
  668. package/types-7f0754fd.js +15 -0
  669. package/types-7f0754fd.js.map +1 -0
  670. package/ui/Accordion.js +21 -24
  671. package/ui/Accordion.js.map +1 -1
  672. package/ui/AccordionGroup.js +10 -13
  673. package/ui/AccordionGroup.js.map +1 -1
  674. package/ui/AdminMessage.js +10 -13
  675. package/ui/AdminMessage.js.map +1 -1
  676. package/ui/Avatar.js +57 -79
  677. package/ui/Avatar.js.map +1 -1
  678. package/ui/Badge.js +16 -15
  679. package/ui/Badge.js.map +1 -1
  680. package/ui/BottomSheet.js +14 -12
  681. package/ui/BottomSheet.js.map +1 -1
  682. package/ui/Button.js +20 -35
  683. package/ui/Button.js.map +1 -1
  684. package/ui/ChannelAvatar.js +38 -41
  685. package/ui/ChannelAvatar.js.map +1 -1
  686. package/ui/Checkbox.js +11 -13
  687. package/ui/Checkbox.js.map +1 -1
  688. package/ui/ConnectionStatus.js +7 -5
  689. package/ui/ConnectionStatus.js.map +1 -1
  690. package/ui/ContextMenu.js +176 -200
  691. package/ui/ContextMenu.js.map +1 -1
  692. package/ui/DateSeparator.js +12 -14
  693. package/ui/DateSeparator.js.map +1 -1
  694. package/ui/EmojiReactions.js +300 -108
  695. package/ui/EmojiReactions.js.map +1 -1
  696. package/ui/FileMessageItemBody.js +22 -23
  697. package/ui/FileMessageItemBody.js.map +1 -1
  698. package/ui/FileViewer.js +36 -36
  699. package/ui/FileViewer.js.map +1 -1
  700. package/ui/Icon.js +448 -622
  701. package/ui/Icon.js.map +1 -1
  702. package/ui/IconButton.js +20 -31
  703. package/ui/IconButton.js.map +1 -1
  704. package/ui/ImageRenderer.js +34 -43
  705. package/ui/ImageRenderer.js.map +1 -1
  706. package/ui/Input.js +16 -16
  707. package/ui/Input.js.map +1 -1
  708. package/ui/Label.js +2 -2
  709. package/ui/LinkLabel.js +4 -3
  710. package/ui/LinkLabel.js.map +1 -1
  711. package/ui/Loader.js +10 -12
  712. package/ui/Loader.js.map +1 -1
  713. package/ui/MentionLabel.js +58 -65
  714. package/ui/MentionLabel.js.map +1 -1
  715. package/ui/MentionUserLabel.js +12 -10
  716. package/ui/MentionUserLabel.js.map +1 -1
  717. package/ui/MessageContent.js +215 -551
  718. package/ui/MessageContent.js.map +1 -1
  719. package/ui/MessageInput.js +392 -120
  720. package/ui/MessageInput.js.map +1 -1
  721. package/ui/MessageItemMenu.js +83 -83
  722. package/ui/MessageItemMenu.js.map +1 -1
  723. package/ui/MessageItemReactionMenu.js +58 -62
  724. package/ui/MessageItemReactionMenu.js.map +1 -1
  725. package/ui/MessageSearchFileItem.js +55 -50
  726. package/ui/MessageSearchFileItem.js.map +1 -1
  727. package/ui/MessageSearchItem.js +41 -40
  728. package/ui/MessageSearchItem.js.map +1 -1
  729. package/ui/MessageStatus.js +10 -11
  730. package/ui/MessageStatus.js.map +1 -1
  731. package/ui/Modal.js +52 -46
  732. package/ui/Modal.js.map +1 -1
  733. package/ui/MutedAvatarOverlay.js +10 -10
  734. package/ui/MutedAvatarOverlay.js.map +1 -1
  735. package/ui/OGMessageItemBody.js +68 -64
  736. package/ui/OGMessageItemBody.js.map +1 -1
  737. package/ui/OpenChannelAdminMessage.js +8 -7
  738. package/ui/OpenChannelAdminMessage.js.map +1 -1
  739. package/ui/OpenChannelAvatar.js +18 -17
  740. package/ui/OpenChannelAvatar.js.map +1 -1
  741. package/ui/OpenchannelConversationHeader.js +17 -13
  742. package/ui/OpenchannelConversationHeader.js.map +1 -1
  743. package/ui/OpenchannelFileMessage.js +140 -151
  744. package/ui/OpenchannelFileMessage.js.map +1 -1
  745. package/ui/OpenchannelOGMessage.js +204 -233
  746. package/ui/OpenchannelOGMessage.js.map +1 -1
  747. package/ui/OpenchannelThumbnailMessage.js +215 -222
  748. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  749. package/ui/OpenchannelUserMessage.js +168 -178
  750. package/ui/OpenchannelUserMessage.js.map +1 -1
  751. package/ui/PlaceHolder.js +5 -6
  752. package/ui/PlaceHolder.js.map +1 -1
  753. package/ui/PlaybackTime.js +26 -0
  754. package/ui/PlaybackTime.js.map +1 -0
  755. package/ui/ProgressBar.js +30 -0
  756. package/ui/ProgressBar.js.map +1 -0
  757. package/ui/QuoteMessage.js +50 -44
  758. package/ui/QuoteMessage.js.map +1 -1
  759. package/ui/QuoteMessageInput.js +31 -29
  760. package/ui/QuoteMessageInput.js.map +1 -1
  761. package/ui/ReactionBadge.js +13 -21
  762. package/ui/ReactionBadge.js.map +1 -1
  763. package/ui/ReactionButton.js +30 -27
  764. package/ui/ReactionButton.js.map +1 -1
  765. package/ui/SortByRow.js +14 -18
  766. package/ui/SortByRow.js.map +1 -1
  767. package/ui/TextButton.js +13 -21
  768. package/ui/TextButton.js.map +1 -1
  769. package/ui/TextMessageItemBody.js +41 -48
  770. package/ui/TextMessageItemBody.js.map +1 -1
  771. package/ui/ThreadReplies.js +25 -22
  772. package/ui/ThreadReplies.js.map +1 -1
  773. package/ui/ThumbnailMessageItemBody.js +36 -45
  774. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  775. package/ui/Toggle.js +191 -0
  776. package/ui/Toggle.js.map +1 -0
  777. package/ui/Tooltip.js +8 -9
  778. package/ui/Tooltip.js.map +1 -1
  779. package/ui/TooltipWrapper.js +17 -20
  780. package/ui/TooltipWrapper.js.map +1 -1
  781. package/ui/UnknownMessageItemBody.js +21 -22
  782. package/ui/UnknownMessageItemBody.js.map +1 -1
  783. package/ui/UserListItem.js +76 -76
  784. package/ui/UserListItem.js.map +1 -1
  785. package/ui/UserProfile.js +31 -29
  786. package/ui/UserProfile.js.map +1 -1
  787. package/ui/VoiceMessageItemBody.js +110 -0
  788. package/ui/VoiceMessageItemBody.js.map +1 -0
  789. package/ui/VoiceMessgeInput.js +14 -0
  790. package/ui/VoiceMessgeInput.js.map +1 -0
  791. package/ui/Word.js +31 -39
  792. package/ui/Word.js.map +1 -1
  793. package/useDirtyGetMentions-5b631226.js +75 -0
  794. package/useDirtyGetMentions-5b631226.js.map +1 -0
  795. package/useLongPress-700ef78f.js +85 -0
  796. package/useLongPress-700ef78f.js.map +1 -0
  797. package/useSendbirdStateContext.js +2 -3
  798. package/useSendbirdStateContext.js.map +1 -1
  799. package/utils/message/getOutgoingMessageState.js +9 -15
  800. package/utils/message/getOutgoingMessageState.js.map +1 -1
  801. package/utils/message/isVoiceMessage.js +8 -0
  802. package/utils/message/isVoiceMessage.js.map +1 -0
  803. package/{utils-e720e03a.js → utils-0e2c993e.js} +1 -1
  804. package/{utils-e720e03a.js.map → utils-0e2c993e.js.map} +1 -1
  805. package/utils-6763f910.js +31 -0
  806. package/utils-6763f910.js.map +1 -0
  807. package/{utils-8b11ff42.js → utils-8c4a9896.js} +3 -7
  808. package/{utils-8b11ff42.js.map → utils-8c4a9896.js.map} +1 -1
  809. package/utils-9de25bcb.js +29 -0
  810. package/utils-9de25bcb.js.map +1 -0
  811. package/uuid-eadf9a09.js +13 -0
  812. package/{uuid-286ed926.js.map → uuid-eadf9a09.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-f461d265.js.map +0 -1
  816. package/ChannelProvider-554e7116.js.map +0 -1
  817. package/CreateChannelProvider-250cd98e.js +0 -55
  818. package/CreateChannelProvider-250cd98e.js.map +0 -1
  819. package/LocalizationContext-4df0cc32.js +0 -22
  820. package/MediaQueryContext-74183e34.js +0 -90
  821. package/MediaQueryContext-74183e34.js.map +0 -1
  822. package/MemberList-51c7afaa.js +0 -435
  823. package/MemberList-51c7afaa.js.map +0 -1
  824. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  825. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  826. package/NotificationChannel/components/NotificationList.js +0 -111
  827. package/NotificationChannel/components/NotificationList.js.map +0 -1
  828. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  829. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  830. package/NotificationChannel/context.js +0 -12
  831. package/NotificationChannel.js +0 -58
  832. package/NotificationChannel.js.map +0 -1
  833. package/NotificationChannelProvider-0d8be1ad.js +0 -535
  834. package/NotificationChannelProvider-0d8be1ad.js.map +0 -1
  835. package/OpenChannelListProvider-8c753945.js +0 -434
  836. package/OpenChannelListProvider-8c753945.js.map +0 -1
  837. package/OpenChannelProvider-2fa01820.js +0 -2000
  838. package/OpenChannelProvider-2fa01820.js.map +0 -1
  839. package/RemoveMessageModal-9762fed1.js +0 -31
  840. package/RemoveMessageModal-9762fed1.js.map +0 -1
  841. package/ThreadProvider-6974fb3e.js +0 -1644
  842. package/ThreadProvider-6974fb3e.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-498add61.js.map +0 -1
  844. package/actionTypes-ad2cbd73.js +0 -6
  845. package/actionTypes-ad2cbd73.js.map +0 -1
  846. package/cjs/ChannelListProvider-c2148b43.js.map +0 -1
  847. package/cjs/ChannelProvider-cf5dc7e3.js.map +0 -1
  848. package/cjs/CreateChannelProvider-c98de398.js +0 -62
  849. package/cjs/CreateChannelProvider-c98de398.js.map +0 -1
  850. package/cjs/MediaQueryContext-71862be1.js +0 -97
  851. package/cjs/MediaQueryContext-71862be1.js.map +0 -1
  852. package/cjs/MemberList-13566703.js +0 -441
  853. package/cjs/MemberList-13566703.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  855. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  856. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  857. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  858. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  859. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  860. package/cjs/NotificationChannel/context.js +0 -21
  861. package/cjs/NotificationChannel.js +0 -64
  862. package/cjs/NotificationChannel.js.map +0 -1
  863. package/cjs/NotificationChannelProvider-8f3b7320.js +0 -543
  864. package/cjs/NotificationChannelProvider-8f3b7320.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-64043b4f.js +0 -443
  866. package/cjs/OpenChannelListProvider-64043b4f.js.map +0 -1
  867. package/cjs/OpenChannelProvider-5b56e629.js +0 -2009
  868. package/cjs/OpenChannelProvider-5b56e629.js.map +0 -1
  869. package/cjs/RemoveMessageModal-c01eb93b.js.map +0 -1
  870. package/cjs/ThreadProvider-d3c0c877.js +0 -1653
  871. package/cjs/ThreadProvider-d3c0c877.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +0 -1
  873. package/cjs/actionTypes-0e8bea91.js +0 -10
  874. package/cjs/actionTypes-0e8bea91.js.map +0 -1
  875. package/cjs/color-89f33656.js.map +0 -1
  876. package/cjs/compareIds-ca869c2e.js.map +0 -1
  877. package/cjs/const-55d167ca.js +0 -20
  878. package/cjs/const-55d167ca.js.map +0 -1
  879. package/cjs/const-db71e993.js.map +0 -1
  880. package/cjs/index-0988ab25.js.map +0 -1
  881. package/cjs/index-21b2339d.js +0 -701
  882. package/cjs/index-21b2339d.js.map +0 -1
  883. package/cjs/index-5c81f847.js +0 -194
  884. package/cjs/index-5c81f847.js.map +0 -1
  885. package/cjs/index-621e74bd.js.map +0 -1
  886. package/cjs/index-8de59744.js +0 -59
  887. package/cjs/index-8de59744.js.map +0 -1
  888. package/cjs/index-a52859ed.js +0 -360
  889. package/cjs/index-a52859ed.js.map +0 -1
  890. package/cjs/index-be9c6237.js.map +0 -1
  891. package/cjs/index-c4d4ef49.js.map +0 -1
  892. package/cjs/index-d6ef2a60.js.map +0 -1
  893. package/cjs/index-e240e852.js.map +0 -1
  894. package/cjs/stringSet-91b919f6.js.map +0 -1
  895. package/cjs/topics-ac9cf7ed.js +0 -22
  896. package/cjs/topics-ac9cf7ed.js.map +0 -1
  897. package/cjs/tslib.es6-43854eb1.js +0 -110
  898. package/cjs/tslib.es6-43854eb1.js.map +0 -1
  899. package/cjs/useLongPress-c7bf12b1.js +0 -118
  900. package/cjs/useLongPress-c7bf12b1.js.map +0 -1
  901. package/cjs/utils-4b529d96.js +0 -38
  902. package/cjs/utils-4b529d96.js.map +0 -1
  903. package/cjs/utils-65a380e8.js +0 -32
  904. package/cjs/utils-65a380e8.js.map +0 -1
  905. package/cjs/uuid-11d4efe8.js +0 -19
  906. package/compareIds-9430f9d8.js.map +0 -1
  907. package/const-83764204.js.map +0 -1
  908. package/const-9d11f204.js +0 -14
  909. package/const-9d11f204.js.map +0 -1
  910. package/context-9a69e846.js +0 -12
  911. package/index-134314e2.js.map +0 -1
  912. package/index-1572c90f.js +0 -57
  913. package/index-1572c90f.js.map +0 -1
  914. package/index-1b91b116.js.map +0 -1
  915. package/index-44470dab.js.map +0 -1
  916. package/index-5f08f486.js +0 -662
  917. package/index-5f08f486.js.map +0 -1
  918. package/index-d8e3ccee.js +0 -179
  919. package/index-d8e3ccee.js.map +0 -1
  920. package/index-defabece.js.map +0 -1
  921. package/index-e5b78039.js.map +0 -1
  922. package/index-ed65ee3b.js +0 -353
  923. package/index-ed65ee3b.js.map +0 -1
  924. package/index-fc4702b7.js.map +0 -1
  925. package/stringSet-d555d877.js.map +0 -1
  926. package/topics-351ea731.js +0 -13
  927. package/topics-351ea731.js.map +0 -1
  928. package/tslib.es6-bcead7e6.js +0 -104
  929. package/tslib.es6-bcead7e6.js.map +0 -1
  930. package/useLongPress-794838b8.js +0 -116
  931. package/useLongPress-794838b8.js.map +0 -1
  932. package/utils-00ac1a7d.js +0 -34
  933. package/utils-00ac1a7d.js.map +0 -1
  934. package/utils-01e76a0c.js +0 -30
  935. package/utils-01e76a0c.js.map +0 -1
  936. package/uuid-286ed926.js +0 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,475 @@
1
1
  # Changelog - v3
2
2
 
3
+ ## [v3.4.9] (June 02 2023)
4
+
5
+ Fixes:
6
+ * ChannelList
7
+ * Display a channel on channel list only when there's a message
8
+ * Remove edited message from ChannelPreview
9
+
10
+ * MarkAsRead & MarkAsDelivered
11
+ * Batch markAsRead & markAsDelivered requests
12
+
13
+ * Scrolling
14
+ * Various scroll issues in Channel component
15
+ * Shaky scroll on messages when fetching messages
16
+ * Scroll into view when starting point is set
17
+ * Scroll into message on clicking quote reply
18
+ * Inconsistent rendering on scrollToBottom button
19
+
20
+ * Mention
21
+ * Improve max mention count logic in Messages
22
+ * Improve mention detection when there are curly braces in user's name Mentions
23
+ were not working when user nickname had curly braces
24
+
25
+ * Special channels
26
+ * Disable mention in the broadcast channel
27
+ * Change OpenChannelInput muted state notice text in broadcast channel
28
+
29
+ * Reply
30
+ * Apply ellipsis to a sender of quote and admin message
31
+
32
+ * Thread
33
+ * Add border bottom to the ParentMessageInfo component
34
+ * Modify string set for thread menu "Reply to Thread" -> "Reply in Thread"
35
+ Do not display "Reply in Thread" to the reply messages
36
+ * Prevent hover style of ParentMessageInfo component
37
+
38
+ * OpenChannel
39
+ * Apply theme to the OpenChannelList header
40
+
41
+ Chores:
42
+ * Add a sample with router
43
+ * Add dataId to the every menu items
44
+
45
+ ## [v3.4.8] (May 19 2023)
46
+
47
+ Fixes:
48
+ * Prevent white space only text sending
49
+ * Mentioned user Regex parsing
50
+ Mention will now work even if userId has `.*+?^${}()|[\]\\` characters.
51
+ * ChannelList blink when when message is send
52
+ Happened when there were two channelLists in the same page with
53
+ different query params.
54
+ * ChannelSetting `renderUserProfile` prop
55
+ We were applying `renderChannelProfile` in place of `renderUserProfile`.
56
+ * MessageBody: Words break mid word
57
+ Words were breaking midword because all white spaces
58
+ were converted into nbsps. CSS couldnt distinguish nbsps
59
+ as whitespaces, so wrapping didnt work well.
60
+
61
+ Chores:
62
+ * Setup CircleCI
63
+ * We are moving from Github Actions to CircleCI
64
+ * Setup Husky
65
+ * Setup lint on post push
66
+ * Auto run yarn install on post pull
67
+ * Update EsLint
68
+ * Update version to 8.40.x
69
+ * Apply more strict rules
70
+
71
+ ## [v3.4.7] (May 4 2023)
72
+
73
+ Important Notes:
74
+ * @sendbird/chat@4.8.0 has an issue with `abortcontroller-polyfill` plugin. Please use version 4.7.2 or install it separately.
75
+
76
+ Features:
77
+ * Set Chat SDK v4.3.0 as the minimum required version.
78
+ * Add a new UI component, Toggle:
79
+ * `ToggleContainer`: A context provider component that manages only the toggle status.
80
+ * `ToggleUI`: A UI component that does not include the status managing logic.
81
+ * `Toggle`: A combination of ToggleContainer and ToggleUI components.
82
+ * `useToggleContext`: A custom useContext hook that provides context from ToggleContainer.
83
+ ```javascript
84
+ import { Toggle, ToggleContainer, ToggleUI, useToggleContext } from '@sendbird/ui/Toggle';
85
+ ```
86
+
87
+ Fixes:
88
+ * Apply `isMuted` to the participant list. Operators can now unmute the muted participants from the participant list.
89
+ * Update the max mention count notice message.
90
+ * Modify the URL Regex to filter various types of formats.
91
+ * Give a left margin to the link text inside the message.
92
+ * Move the message list scroll after the OG image is loaded.
93
+ * Specify that getSdk returns SendbirdGroupChannel or SendbirdOpenChannel.
94
+ * Fix the issue where the current channel flickers on the ChannelList while creating a new group channel.
95
+
96
+ Chores:
97
+ * Rewrite the connection logic in sdk/thunks to hooks/useConnect
98
+ ```
99
+ const reconnect = useConnect({
100
+ appId,
101
+ userId,
102
+ accessToken,
103
+ }, {
104
+ logger,
105
+ nickname,
106
+ profileUrl,
107
+ configureSession,
108
+ customApiHost,
109
+ customWebSocketHost,
110
+ sdk: sdkStore?.sdk,
111
+ sdkDispatcher,
112
+ userDispatcher,
113
+ });
114
+ ```
115
+ * Rename `smart-components/` to `modules/`.
116
+ * Modify Logger method:
117
+ * The first parameter (log message) of the method is now required.
118
+ * Any other values can be passed to the second parameter of the method in a key-value format.
119
+
120
+ ## [v3.4.6] (Apr 21 2023)
121
+
122
+ Fixes:
123
+ * Use markAsReadScheduler in MessageList:
124
+ * `markAsReadScheduler` method throttles `markAsRead` calls.
125
+ * Reduces cmd no ack error.
126
+ * Apply common scroll hook to GroupChannel MessageList:
127
+ * Prevent whole page from scrolling when <GroupChannel /> scrolls. This issue occurs when customer implements an <GroupChannel /> in a web page with scroll.
128
+ * This is a same fix that we fixed OpenChannel in `v3.4.4`.
129
+ * To unify message sending policies with ios & android:
130
+ * Do not show send button when there is only new line or empty space in the input.
131
+ * Do not trim leading white spaces in message text.
132
+ * Optimize lamjs import:
133
+ * Lazy load the audio converting processor(lamejs) only when `isVoiceMessageEnabled` is true.
134
+ * This saves 106KB Gzipped(85KB Brotli) if you are not using the VoiceMessage feature.
135
+
136
+ ## [v3.4.5] (Apr 7 2023)
137
+
138
+ Features:
139
+
140
+ * Add a message list filter of UI level in the `Channel` module
141
+ * Add `Channel.filterMessageList?: (messages: BaseMessage): boolean;`, a UI level filter prop
142
+ to Channel. This function will be used to filter messages in `<MessageList />`
143
+
144
+ example:
145
+ ```javascript
146
+ // set your channel URL
147
+ const channel = "";
148
+ export const ChannelWithFilter = () => {
149
+ const channelFilter = useCallback((message) => {
150
+ const now = Date.now();
151
+ const twoWeeksAgo = now - 1000 * 60 * 60 * 24 * 14;
152
+ return message.createdAt > twoWeeksAgo;
153
+ }, []);
154
+ return (
155
+ <Channel
156
+ channelUrl={channel}
157
+ filterMessageList={channelFilter}
158
+ />
159
+ );
160
+ };
161
+ ```
162
+
163
+ * Improve structure of message UI for copying
164
+ Before:
165
+ * The words inside messages were kept in separate spans
166
+ * This would lead to unfavourable formatting when pasted in other applications
167
+
168
+ After:
169
+ * Remove span for wrapping simple strings in message body
170
+ * Urls and Mentions will still be wrapped in spans(for formatting)
171
+ * Apply new logic & components(TextFragment) to tokenize strings
172
+ * Improve keys used in rendering inside message,
173
+ * UUIDs are not the optimal way to improve rendering
174
+ * Create a composite key with message.updatedAt
175
+ * Refactor usePaste hook to make mentions work ~
176
+ * Fix overflow of long strings
177
+ * Deprecate `Word` and `convertWordToStringObj`
178
+
179
+ * Export MessageProvider, a simple provider to avoid prop drilling into Messages
180
+ Note - this is still in works, but these props will remain
181
+ * In the future, we will add methods - to this module - to:
182
+ * Edit & delete callbacks
183
+ * Menu render options(ACLs)
184
+ * Reaction configs
185
+ * This will improve the customizability and remove a lot of prop drilling in Messages
186
+
187
+ ```
188
+ export type MessageProviderProps = {
189
+ children: React.ReactNode;
190
+ message: BaseMessage;
191
+ isByMe?: boolean;
192
+ }
193
+
194
+ import { MessageProvider, useMessageContext } from '@sendbird/uikit-react/Message/context'
195
+ ```
196
+ Incase if you were using MessageComponents and see error message
197
+ `useMessageContext must be used within a MessageProvider `
198
+ use: `<MessageProvider message={message}><CustomMessage /></MessageProvider>`
199
+
200
+ * Add a scheduler for calling markAsRead intervally
201
+ * The `markAsRead` is called on individual channels is un-optimal(causes command ack. error)
202
+ because we have a list of channels that do this
203
+ ideally this should be fixed in server/SDK
204
+ this is a work around for the meantime to un-throttle the customer
205
+
206
+ Fixes:
207
+ * Set current channel on `ChannelList` when opening channel from the parent message of `Thread`
208
+ * Issue: The ChannelPreview item is not selected when opening the channel from
209
+ the ParentMessage of the Thread
210
+ * Fix: Set activeChannelUrl of ChannelList
211
+ * Detect new lines in safari on the `MessageInput` component
212
+ * Safari puts `<div>text</div>` for new lines inside content editable div(input)
213
+ * Other browsers put newline or `br`
214
+
215
+ ## [v3.4.4] (Mar 31 2023)
216
+
217
+ Features:
218
+ * Increase default maximum recording time of Voice Message to 10 minutes
219
+ * Add logger to VoicePlayer, VoiceRecorder, and useSendVoiceMessage hook
220
+
221
+ Fixes:
222
+ * Prevent whole page from scrolling when OpenChannel scrolls
223
+ This issue occurs when customer implements an OpenChannel in a web page with scroll
224
+ * Fix edgecase in which voice messages were sent twice
225
+ * Clean up Thread interface
226
+ If message.parentMessage doesnt exist, treat message as parentMessage
227
+ `<Thread message={message} />`
228
+
229
+ ## [v3.4.3] (Mar 24 2023)
230
+
231
+ Features:
232
+ * Add rollup-plugin-size-snapshot for bundle-size
233
+ Run rollup-plugin-size-snapshot on build,
234
+ we will check bundle size before every release
235
+ * Move old samples to use vite
236
+ React team these days are using vite for their samples,
237
+ CRA is discourged
238
+ * Run code coverage on commenting `./coverage`
239
+ Check code coverage on PR comment
240
+ * Add prop to disable Channel & Thread inputs
241
+ Add prop: `disabled?: false` for Channel & Thread MessageInputWrapper
242
+ * Replace renderToString(react-dom) with custom fn
243
+ Replace renderToString from react-dom/server with custom function
244
+ This function was creating issue in customers with cra@4 & react@17
245
+
246
+ Fixes:
247
+ * Replace outdated CSS rules
248
+ `justify-content: start;` and `height: fill-available;`
249
+ * Menu position in tight screens
250
+ * Condition where some menus get clipped in left side:
251
+ * Usually user profile in channel moderation
252
+ * Context menu of last item in channel gets clipped in the bottom
253
+
254
+
255
+ ## [v3.4.2] (Mar 17 2023)
256
+
257
+ Features:
258
+ * Mentions should be preserved when copy pasted from sendbird-messages and message input
259
+ * Make sure you are posting mentions of users from same channel
260
+ * We dont support pasting of rich text from other applications
261
+ * For copying simple text, we recommend using paste option in message context-menu
262
+
263
+ * Conditions tested:
264
+ 1. paste simple text
265
+ 2. paste text with mention
266
+ 3. paste text with mention and text
267
+ 4. paste text with mention and text and paste again before and after
268
+ 5. copy message with mention(only one mention, no other text) and paste
269
+ 6. copy message with mention from input and paste(before and after)
270
+
271
+ Chores:
272
+ * Arrange the order of the string set table
273
+ Some string-set were missing on the current string set table, so our customers werent able to use the latest state of the string set feature
274
+
275
+ Library added:
276
+ * [dompurify@3.0.1](https://www.npmjs.com/package/dompurify): +8Kb Gzipped
277
+
278
+ ## [v3.4.1] (Mar 10 2023)
279
+
280
+ Fixes:
281
+ * Keep scroll if context menu is opened when receiving messages
282
+ * Handle Ephemeral channel
283
+ * Group channel list
284
+ * Remove the message receipt status (channel preview)
285
+ * Remove the unread message count (channel preview)
286
+ * Group channel
287
+ * Remove the message edit
288
+ * Remove the message delete
289
+ * Remove the message reactions
290
+ * Remove the message receipt status (message)
291
+ * Remove the message reply (quote_reply, thread)
292
+ * Group channel settings
293
+ * Remove the search in channel
294
+ * Open channel
295
+ * Remove the message edit
296
+ * Remove the message delete
297
+ * Clear timeout in useLayoutEffect of Message
298
+ * This removes memory leak warnings
299
+
300
+ ## [v3.4.0] (Mar 6 2023)
301
+
302
+ ### Voice Message
303
+ Voice message is a new type of message and feature that you can use in group channel. You can record your voice on the message input and send it to the channel. Also the messages will be displayed as a new design of the voice message. You are able to use this feature from this version.
304
+
305
+ #### How to turn on/off
306
+ * You can turn this feature on/off using the props `isVoiceMessageEnabled` on the <App /> and <SendbirdProvider /> components. Here is an example.
307
+ ```javascript
308
+ import App from '@sendbird/uikit-react/App'
309
+ import SendbirdProvider from '@sendbird/uikit-react/SendbirdProvider'
310
+ import { useEffect } from 'react'
311
+
312
+ const QuickStart = () => (<App isVoiceMessageEnabled />)
313
+ const CustomApp = () => {
314
+ const [useVoiceMessage, setUseVoiceMessage] = useEffect(true)
315
+ return (
316
+ <SendbirdProvider
317
+ isVoiceMessageEnabled={useVoiceMessage}
318
+ >
319
+ {/* Implement your custom app here */}
320
+ </SendbirdProvider>
321
+ )
322
+ }
323
+ ```
324
+
325
+ #### How to customize the voice message in Channel and Thread?
326
+ You can identify the voice message to check if `message.type` includes `sbu_type=voice`. But you can use `isVoiceMessage` util function to do that.
327
+ ```javascript
328
+ import Channel from '@sendbird/uikit-react/Channel'
329
+ import isVoiceMessage from '@sendbird/uikit-react/utils/message/isVoiceMessage'
330
+
331
+ const CustomChannel = () => {
332
+ return (
333
+ <Channel
334
+ renderMessage={({ message }) => {
335
+ if (isVoiceMessage(message)) {
336
+ // Return your custom voice message item component
337
+ }
338
+ return null
339
+ }}
340
+ />
341
+ )
342
+ }
343
+ ```
344
+
345
+ #### Limitation & Next step
346
+ * For now, it's not able to customize the inner components of VoiceMessageInput. We are going to provide an interface to customize it in the future. Until that time, you can replace the VoiceMessageInput component using the `renderVoiceMessageIcon` props of MessageInput component.
347
+
348
+ #### What has been changed?
349
+ * Add props `isVoiceMessageEnabled` and `voiceRecord` props to the App, `SendbirdProvider`, and `MessageInput` components, to turn on/off the voice message recording feature
350
+ ```javascript
351
+ import SendbirdProvider from '@sendbird/uikit-react/SendbirdProvider'
352
+ const CustomApp = () => {
353
+ return (
354
+ <SendbirdProvider
355
+ isVoiceMessageEnabled
356
+ voiceRecord={{
357
+ maxRecordingTime: 60000,
358
+ minRecordingTime: 1000,
359
+ }}
360
+ >
361
+ {/* implement custom application */}
362
+ </SendbirdProvider>
363
+ )
364
+ }
365
+ ```
366
+ * Add props `onVoiceMessageIconClick` to the `MessageInput` component
367
+ * Add props `onBeforeSendVoiceMessage` to the `Channel` component
368
+ * Fetch message list including `MetaArray` in the `Channel` and `Thread` modules
369
+ * Provide new IconType `AudioOnLined` & new IconColor `Primary2` and `OnBackground4`
370
+ * Provide new string sets
371
+ ```javascript
372
+ import SendbirdProvider from '@sendbird/uikit-react/SendbirdProvider'
373
+ const CustomApp = () => {
374
+ return (
375
+ <SendbirdProvider
376
+ stringSet={{
377
+ BUTTON__OK: 'OK',
378
+ VOICE_MESSAGE: 'Voice Message',
379
+ MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED: 'You\'re muted by the operator.',
380
+ MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN: 'Channel is frozen.',
381
+ }}
382
+ >
383
+ {/* implement custom application */}
384
+ </SendbirdProvider>
385
+ )
386
+ }
387
+ ```
388
+ * `BUTTON__OK`: 'OK' → Used on the submit button of pop up modal
389
+ * `MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED`: 'You\'re muted by the operator.' → Used in an alert pop-up modal
390
+ * `MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN`: 'Channel is frozen.' → Used in an alert pop-up modal
391
+ * `VOICE_MESSAGE`: 'Voice Message' → Used in ChannelPreviewItem, QuoteMessage, and MessageSearch to appear that the message type is the voice## External Contributions
392
+
393
+ #### What has been added?
394
+ * Install `lamejs` to convert the audio file to mp3 (iOS support)
395
+ * UI components
396
+ ```javascript
397
+ import PlaybackTime from "@sendbird/uikit-react/ui/PlaybackTime"
398
+ import ProgressBar from "@sendbird/uikit-react/ui/ProgressBar"
399
+ import VoiceMessageInput from "@sendbird/uikit-react/ui/VoiceMessageInput"
400
+ import VoiceMessageItemBody from "@sendbird/uikit-react/ui/VoiceMessageItemBody"
401
+ ```
402
+ * PlaybackTime: Display the current time in 00:00 format with the received millisecond value
403
+ * ProgressBar: Display the current progress status with the received maxSize and currentSize of millisecond unit value
404
+ * VoiceMessageInput: UI component for recording and playing a voice message
405
+ * VoiceMessageItemBody: UI component for rendering a voice message also able to play voice message
406
+ * VoiceRecorder
407
+ ```javascript
408
+ import { VoiceRecorderProvider, useVoiceRecorderContext } from '@sendbird/uikit-react/VoiceRecorder/context'
409
+ import useVoiceRecorder from '@sendbird/uikit-react/VoiceRecorder/useVoiceRecorder'
410
+ ```
411
+ * VoiceRecorderProvider: A react context provider component providing `start`, and `stop` functions
412
+ * useVoiceRecorderContext: A react useContext hook of VoiceRecorderProvider
413
+ * useVoiceRecorder: A react hook that provides advanced context, `recordingLimit`, `recordingTime`, `recordingFile`, and `recordingStatus`. Recommend using this hook in the customized components.
414
+ * VoicePlayer
415
+ ```javascript
416
+ import { VoicePlayerProvider, useVoicePlayerContext } from '@sendbird/uikit-react/VoicePlayer/context'
417
+ import useVoicePlayer from '@sendbird/uikit-react/VoicePlayer/useVoicePlayer'
418
+ ```
419
+ * VoicePlayerProvider: A react context provider component providing `play`, and `pause` functions
420
+ * useVoicePlayerContext: A react useContext hook of VoicePlayerProvider
421
+ * useVoicePlayer: A react hook that provides advanced context, `playbackTime`, `duration`, and `playingStatus`. Recommend using this hook in the customized components.
422
+ * utils/isVoiceMessage: A function that you can check if the given message is a voice message
423
+ ```javascript
424
+ import isVoiceMessage from '@sendbird/uikit-react/utils/message/isVoiceMessage'
425
+ const isVoiceMsg: boolean = isVoiceMessage(message);
426
+ ```
427
+
428
+ Features:
429
+ * Add props `renderFileUploadIcon`, `renderVoiceMessageIcon`, and `renderSendMessageIcon` into the `Channel`, `ChannelUI`, and `MessageInput` component
430
+ ```javascript
431
+ interface MessageInputProps {
432
+ renderFileUploadIcon?: () => React.ReactElement;
433
+ renderVoiceMessageIcon?: () => React.ReactElement;
434
+ renderSendMessageIcon?: () => React.ReactElement;
435
+ }
436
+ ```
437
+
438
+ Fixes:
439
+ * Use ApplicationUserListQuery on ChannelSettings component
440
+ * Fix some visual issues on the normal User Panel of ChannelSettings
441
+ * Indentify faulty images in OG message
442
+ * Add classname: sendbird-og-message-item-body__og-thumbnail__empty to identify faulty images in OG message
443
+ Clients can use CSS to target this class~
444
+ ```css
445
+ .sendbird-og-message-item-body__og-thumbnail__empty {
446
+ display: none;
447
+ }
448
+ ```
449
+
450
+ ## [v3.3.7] (Feb 24 2023)
451
+
452
+ Features:
453
+ * Add props `activeChannelUrl` to ChannelList to give an option to pragmatically set a channel from a parent component router
454
+ ```javascript
455
+ const MyChannelList = () => {
456
+ const [myActiveChannel] = useState()
457
+ return (<ChannelList activeChannelUrl={myActiveChannel.url} />)
458
+ }
459
+ ```
460
+
461
+ Fixes:
462
+ * Fix not showing newly recived messages in channel which has less messages
463
+ * Use a real `channel.invitedAt` value when trying to fetch MessageSearchQuery
464
+ * Disable the checkbox of the joined users on the InviteUsersModal
465
+ * Set the default value of CheckBox component: `@sendbird/uikit-react/ui/CheckBox` as false
466
+
467
+ ## [v3.3.6] (Feb 13 2023)
468
+
469
+ Fixes:
470
+ * pubsub should be initialized with useState
471
+ * update onBeforeCreateChannel example to use chat V4
472
+
3
473
  ## [v3.5.0-beta.0] (Feb 6 2023)
4
474
 
5
475
  ### Notification Channel
@@ -1,57 +1,61 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { g as getChannelTitle } from '../../utils-01e76a0c.js';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-44470dab.js';
2
+ import { g as getChannelTitle } from '../../utils-9de25bcb.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-8fb5d71a.js';
4
4
  import Icon, { IconColors, IconTypes } from '../../ui/Icon.js';
5
5
  import IconButton from '../../ui/IconButton.js';
6
6
  import ChannelAvatar from '../../ui/ChannelAvatar.js';
7
- import { a as LocalizationContext } from '../../LocalizationContext-4df0cc32.js';
7
+ import { a as LocalizationContext } from '../../LocalizationContext-2a605cc6.js';
8
8
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
9
- import { u as useChannelContext } from '../../ChannelProvider-554e7116.js';
10
- import { u as useMediaQueryContext } from '../../MediaQueryContext-74183e34.js';
11
- import { n as noop } from '../../utils-e720e03a.js';
9
+ import { u as useChannelContext } from '../../ChannelProvider-e1ddeda2.js';
10
+ import { u as useMediaQueryContext } from '../../MediaQueryContext-9a1ce18e.js';
11
+ import { n as noop } from '../../utils-0e2c993e.js';
12
12
  import 'prop-types';
13
- import '../../stringSet-d555d877.js';
14
- import '../../tslib.es6-bcead7e6.js';
13
+ import '../../stringSet-d0b92983.js';
14
+ import '../../_rollupPluginBabelHelpers-34fc6689.js';
15
15
  import '../../ui/Avatar.js';
16
16
  import '../../ui/ImageRenderer.js';
17
- import '../../uuid-286ed926.js';
18
- import '../../utils-00ac1a7d.js';
19
- import '../../index-07e060cd.js';
17
+ import '../../uuid-eadf9a09.js';
18
+ import '../../utils-6763f910.js';
19
+ import '../../index-3515f8f3.js';
20
20
  import '../../withSendbird.js';
21
- import '../../_rollupPluginBabelHelpers-498add61.js';
22
- import '../../UserProfileContext-c58a7b86.js';
23
- import '../../index-3f26a31c.js';
24
- import '../../topics-351ea731.js';
25
- import '../../index-5f08f486.js';
21
+ import '../../UserProfileContext-cf8bb199.js';
22
+ import '../../const-2109eff9.js';
23
+ import '../../index-d847ae45.js';
24
+ import '../../topics-8aa96837.js';
25
+ import '../../index-39f0a98e.js';
26
26
  import '../../utils/message/getOutgoingMessageState.js';
27
- import '../../compareIds-9430f9d8.js';
28
- import '../../const-9d11f204.js';
27
+ import '../../compareIds-3e3591cb.js';
29
28
  import '@sendbird/chat/groupChannel';
30
29
  import '@sendbird/chat/message';
31
- import '../../ui/ContextMenu.js';
32
- import 'react-dom';
33
- import '../../ui/SortByRow.js';
34
- import '../../ui/ReactionButton.js';
30
+ import '../../consts-bd5c0783.js';
31
+ import '../../resolvedReplyType-f5cc6c0b.js';
35
32
 
36
- var ChannelHeader = function () {
37
- var _a, _b, _c;
38
-
39
- var globalStore = useSendbirdStateContext();
40
- var userId = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _a === void 0 ? void 0 : _a.userId;
41
- var theme = (_b = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _b === void 0 ? void 0 : _b.theme;
42
- var channelStore = useChannelContext();
43
- var isMobile = useMediaQueryContext().isMobile;
44
- var currentGroupChannel = channelStore.currentGroupChannel,
45
- showSearchIcon = channelStore.showSearchIcon,
46
- onSearchClick = channelStore.onSearchClick,
47
- onChatHeaderActionClick = channelStore.onChatHeaderActionClick,
48
- _d = channelStore.onBackClick,
49
- onBackClick = _d === void 0 ? noop : _d;
50
- var subTitle = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) && ((_c = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) === null || _c === void 0 ? void 0 : _c.length) !== 2;
51
- var isMuted = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.myMutedState) === "muted";
52
- var stringSet = useContext(LocalizationContext).stringSet;
33
+ const ChannelHeader = _ref => {
34
+ var _globalStore$config, _globalStore$config2, _currentGroupChannel$;
35
+ let {
36
+ className = ''
37
+ } = _ref;
38
+ const globalStore = useSendbirdStateContext();
39
+ const userId = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$config = globalStore.config) === null || _globalStore$config === void 0 ? void 0 : _globalStore$config.userId;
40
+ const theme = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$config2 = globalStore.config) === null || _globalStore$config2 === void 0 ? void 0 : _globalStore$config2.theme;
41
+ const channelStore = useChannelContext();
42
+ const {
43
+ isMobile
44
+ } = useMediaQueryContext();
45
+ const {
46
+ currentGroupChannel,
47
+ showSearchIcon,
48
+ onSearchClick,
49
+ onChatHeaderActionClick,
50
+ onBackClick = noop
51
+ } = channelStore;
52
+ const subTitle = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) && (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : (_currentGroupChannel$ = currentGroupChannel.members) === null || _currentGroupChannel$ === void 0 ? void 0 : _currentGroupChannel$.length) !== 2;
53
+ const isMuted = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.myMutedState) === 'muted';
54
+ const {
55
+ stringSet
56
+ } = useContext(LocalizationContext);
53
57
  return /*#__PURE__*/React__default.createElement("div", {
54
- className: "sendbird-chat-header"
58
+ className: `sendbird-chat-header ${className}`
55
59
  }, /*#__PURE__*/React__default.createElement("div", {
56
60
  className: "sendbird-chat-header__left"
57
61
  }, isMobile && /*#__PURE__*/React__default.createElement(Icon, {
@@ -80,9 +84,10 @@ var ChannelHeader = function () {
80
84
  }, (typeof isMuted === 'string' && isMuted === 'true' || typeof isMuted === 'boolean' && isMuted) && /*#__PURE__*/React__default.createElement(Icon, {
81
85
  className: "sendbird-chat-header__right__mute",
82
86
  type: IconTypes.NOTIFICATIONS_OFF_FILLED,
87
+ fillColor: IconColors.ON_BACKGROUND_2,
83
88
  width: "24px",
84
89
  height: "24px"
85
- }), showSearchIcon && /*#__PURE__*/React__default.createElement(IconButton, {
90
+ }), showSearchIcon && !(currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.isEphemeral) && /*#__PURE__*/React__default.createElement(IconButton, {
86
91
  className: "sendbird-chat-header__right__search",
87
92
  width: "32px",
88
93
  height: "32px",
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelHeader.js","sources":["../../../src/smart-components/Channel/components/ChannelHeader/index.tsx"],"sourcesContent":["import './channel-header.scss';\nimport React, { useContext } from 'react';\n\nimport * as utils from './utils';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport ChannelAvatar from '../../../../ui/ChannelAvatar/index';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport { noop } from '../../../../utils/utils'\n\nconst ChannelHeader: React.FC = () => {\n const globalStore = useSendbirdStateContext();\n const userId = globalStore?.config?.userId;\n const theme = globalStore?.config?.theme;\n\n const channelStore = useChannelContext();\n const { isMobile } = useMediaQueryContext();\n const {\n currentGroupChannel,\n showSearchIcon,\n onSearchClick,\n onChatHeaderActionClick,\n onBackClick = noop,\n } = channelStore;\n const subTitle = (currentGroupChannel?.members\n && currentGroupChannel?.members?.length !== 2);\n const isMuted = currentGroupChannel?.myMutedState === \"muted\";\n\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-chat-header\">\n <div className=\"sendbird-chat-header__left\">\n {\n isMobile && (\n <Icon\n className=\"sendbird-chat-header__icon_back\"\n onClick={onBackClick}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.ARROW_LEFT}\n />\n )\n }\n <ChannelAvatar\n theme={theme}\n channel={currentGroupChannel}\n userId={userId}\n height={32}\n width={32}\n />\n <Label\n className=\"sendbird-chat-header__left__title\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-chat-header__left__subtitle\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {subTitle}\n </Label>\n </div>\n <div className=\"sendbird-chat-header__right\">\n {\n ((typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted))\n && (\n <Icon\n className=\"sendbird-chat-header__right__mute\"\n type={IconTypes.NOTIFICATIONS_OFF_FILLED}\n width=\"24px\"\n height=\"24px\"\n />\n )\n }\n {\n showSearchIcon && (\n <IconButton\n className=\"sendbird-chat-header__right__search\"\n width=\"32px\"\n height=\"32px\"\n onClick={onSearchClick}\n >\n <Icon\n type={IconTypes.SEARCH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n }\n <IconButton\n className=\"sendbird-chat-header__right__info\"\n width=\"32px\"\n height=\"32px\"\n onClick={onChatHeaderActionClick}\n >\n <Icon\n type={IconTypes.INFO}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n );\n}\n\nexport default ChannelHeader;\n"],"names":["ChannelHeader","globalStore","useSendbirdStateContext","userId","_a","config","theme","_b","channelStore","useChannelContext","isMobile","useMediaQueryContext","currentGroupChannel","showSearchIcon","onSearchClick","onChatHeaderActionClick","_d","onBackClick","noop","subTitle","members","_c","length","isMuted","myMutedState","stringSet","useContext","LocalizationContext","React","IconColors","PRIMARY","IconTypes","ARROW_LEFT","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","utils","BODY_1","ONBACKGROUND_2","NOTIFICATIONS_OFF_FILLED","SEARCH","INFO"],"mappings":"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"}
1
+ {"version":3,"file":"ChannelHeader.js","sources":["../../../src/modules/Channel/components/ChannelHeader/index.tsx"],"sourcesContent":["import './channel-header.scss';\nimport React, { useContext } from 'react';\n\nimport * as utils from './utils';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport ChannelAvatar from '../../../../ui/ChannelAvatar/index';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport { noop } from '../../../../utils/utils';\n\ninterface ChannelHeaderProps {\n className?: string;\n}\n\nconst ChannelHeader: React.FC<ChannelHeaderProps> = ({\n className = '',\n}) => {\n const globalStore = useSendbirdStateContext();\n const userId = globalStore?.config?.userId;\n const theme = globalStore?.config?.theme;\n\n const channelStore = useChannelContext();\n const { isMobile } = useMediaQueryContext();\n const {\n currentGroupChannel,\n showSearchIcon,\n onSearchClick,\n onChatHeaderActionClick,\n onBackClick = noop,\n } = channelStore;\n const subTitle = (currentGroupChannel?.members\n && currentGroupChannel?.members?.length !== 2);\n const isMuted = currentGroupChannel?.myMutedState === 'muted';\n\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className={`sendbird-chat-header ${className}`}>\n <div className=\"sendbird-chat-header__left\">\n {\n isMobile && (\n <Icon\n className=\"sendbird-chat-header__icon_back\"\n onClick={onBackClick}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.ARROW_LEFT}\n />\n )\n }\n <ChannelAvatar\n theme={theme}\n channel={currentGroupChannel}\n userId={userId}\n height={32}\n width={32}\n />\n <Label\n className=\"sendbird-chat-header__left__title\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n </Label>\n <Label\n className=\"sendbird-chat-header__left__subtitle\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {subTitle}\n </Label>\n </div>\n <div className=\"sendbird-chat-header__right\">\n {\n ((typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted))\n && (\n <Icon\n className=\"sendbird-chat-header__right__mute\"\n type={IconTypes.NOTIFICATIONS_OFF_FILLED}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n )\n }\n {\n (showSearchIcon && !currentGroupChannel?.isEphemeral) && (\n <IconButton\n className=\"sendbird-chat-header__right__search\"\n width=\"32px\"\n height=\"32px\"\n onClick={onSearchClick}\n >\n <Icon\n type={IconTypes.SEARCH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n }\n <IconButton\n className=\"sendbird-chat-header__right__info\"\n width=\"32px\"\n height=\"32px\"\n onClick={onChatHeaderActionClick}\n >\n <Icon\n type={IconTypes.INFO}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n );\n};\n\nexport default ChannelHeader;\n"],"names":["ChannelHeader","_ref","_globalStore$config","_globalStore$config2","_currentGroupChannel$","className","globalStore","useSendbirdStateContext","userId","config","theme","channelStore","useChannelContext","isMobile","useMediaQueryContext","currentGroupChannel","showSearchIcon","onSearchClick","onChatHeaderActionClick","onBackClick","noop","subTitle","members","length","isMuted","myMutedState","stringSet","useContext","LocalizationContext","React","createElement","Icon","onClick","fillColor","IconColors","PRIMARY","width","height","type","IconTypes","ARROW_LEFT","ChannelAvatar","channel","Label","LabelTypography","H_2","color","LabelColors","ONBACKGROUND_1","utils","BODY_1","ONBACKGROUND_2","NOTIFICATIONS_OFF_FILLED","ON_BACKGROUND_2","isEphemeral","IconButton","SEARCH","INFO"],"mappings":"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"}