@sendbird/uikit-react 3.5.0-rc.1 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (936) hide show
  1. package/App.js +323 -238
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +556 -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 +270 -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-1d36e2e9.js → ChannelListProvider-643a2b47.js} +234 -286
  45. package/ChannelListProvider-643a2b47.js.map +1 -0
  46. package/{ChannelProvider-289cd35f.js → ChannelProvider-33559192.js} +661 -727
  47. package/ChannelProvider-33559192.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 +55 -58
  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-5b006b58.js +44 -0
  76. package/CreateChannelProvider-5b006b58.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-25d6694d.js +20 -0
  90. package/{LocalizationContext-289c1917.js.map → LocalizationContext-25d6694d.js.map} +1 -1
  91. package/MediaQueryContext-94c9086a.js +87 -0
  92. package/MediaQueryContext-94c9086a.js.map +1 -0
  93. package/MemberList-9f8950db.js +403 -0
  94. package/MemberList-9f8950db.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-7c6b2f84.js +429 -0
  128. package/OpenChannelListProvider-7c6b2f84.js.map +1 -0
  129. package/OpenChannelProvider-18fa6128.js +1885 -0
  130. package/OpenChannelProvider-18fa6128.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 +57 -70
  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-9c0350c0.js +36 -0
  147. package/RemoveMessageModal-9c0350c0.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-6ae0b041.js +1695 -0
  170. package/ThreadProvider-6ae0b041.js.map +1 -0
  171. package/{UserProfileContext-e3530842.js → UserProfileContext-a56cc682.js} +1 -4
  172. package/{UserProfileContext-e3530842.js.map → UserProfileContext-a56cc682.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-69ac1f5a.js +170 -0
  174. package/VoiceMessageInputWrapper-69ac1f5a.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-16540f03.js +123 -0
  184. package/WebAudioUtils-16540f03.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-519f674b.js → _rollupPluginBabelHelpers-1be219c2.js} +17 -11
  186. package/_rollupPluginBabelHelpers-1be219c2.js.map +1 -0
  187. package/actionTypes-a8140d53.js +8 -0
  188. package/actionTypes-a8140d53.js.map +1 -0
  189. package/cjs/App.js +324 -239
  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 +270 -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-0de52d2b.js → ChannelListProvider-1d4a8060.js} +233 -285
  232. package/cjs/ChannelListProvider-1d4a8060.js.map +1 -0
  233. package/cjs/{ChannelProvider-fc58e60e.js → ChannelProvider-2c7ec64b.js} +659 -725
  234. package/cjs/ChannelProvider-2c7ec64b.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 +57 -60
  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-f7d36126.js +52 -0
  263. package/cjs/CreateChannelProvider-f7d36126.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-bddc5c2b.js → LocalizationContext-bd54275c.js} +9 -11
  277. package/cjs/{LocalizationContext-bddc5c2b.js.map → LocalizationContext-bd54275c.js.map} +1 -1
  278. package/cjs/MediaQueryContext-ebcb159a.js +94 -0
  279. package/cjs/MediaQueryContext-ebcb159a.js.map +1 -0
  280. package/cjs/MemberList-2204c0b1.js +409 -0
  281. package/cjs/MemberList-2204c0b1.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-865700d5.js +439 -0
  315. package/cjs/OpenChannelListProvider-865700d5.js.map +1 -0
  316. package/cjs/OpenChannelProvider-083e5628.js +1894 -0
  317. package/cjs/OpenChannelProvider-083e5628.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 +58 -71
  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-9169766a.js → RemoveMessageModal-822e0fac.js} +19 -14
  333. package/cjs/RemoveMessageModal-822e0fac.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-09392c06.js +1704 -0
  356. package/cjs/ThreadProvider-09392c06.js.map +1 -0
  357. package/cjs/{UserProfileContext-8d0dee57.js → UserProfileContext-10e1ac24.js} +1 -4
  358. package/cjs/{UserProfileContext-8d0dee57.js.map → UserProfileContext-10e1ac24.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-fee2ede6.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-fee2ede6.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-9dfbd5a9.js +126 -0
  370. package/cjs/WebAudioUtils-9dfbd5a9.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-fed1e122.js → _rollupPluginBabelHelpers-53e83515.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-53e83515.js.map +1 -0
  373. package/cjs/actionTypes-b1275c7f.js +10 -0
  374. package/cjs/actionTypes-b1275c7f.js.map +1 -0
  375. package/cjs/{color-f47044b3.js → color-e7fbb496.js} +13 -21
  376. package/cjs/color-e7fbb496.js.map +1 -0
  377. package/cjs/{compareIds-4124b297.js → compareIds-03cd7437.js} +5 -6
  378. package/cjs/compareIds-03cd7437.js.map +1 -0
  379. package/cjs/{const-fd64914b.js → const-8728e4b6.js} +4 -4
  380. package/cjs/const-8728e4b6.js.map +1 -0
  381. package/cjs/const-b3585ae0.js +20 -0
  382. package/cjs/const-b3585ae0.js.map +1 -0
  383. package/cjs/consts-6bd1cfe3.js +6 -0
  384. package/cjs/consts-6bd1cfe3.js.map +1 -0
  385. package/cjs/consts-a006bc78.js +6 -0
  386. package/cjs/consts-a006bc78.js.map +1 -0
  387. package/cjs/consts-a0e35044.js +6 -0
  388. package/cjs/consts-a0e35044.js.map +1 -0
  389. package/cjs/consts-aa056322.js +41 -0
  390. package/cjs/consts-aa056322.js.map +1 -0
  391. package/cjs/{context-7a0e057b.js → context-ad45a982.js} +6 -5
  392. package/cjs/{context-7a0e057b.js.map → context-ad45a982.js.map} +1 -1
  393. package/cjs/dist/index.css +1847 -1394
  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-343cd84a.js → index-165d52b7.js} +2 -2
  398. package/cjs/{index-343cd84a.js.map → index-165d52b7.js.map} +1 -1
  399. package/cjs/index-288afd10.js +367 -0
  400. package/cjs/index-288afd10.js.map +1 -0
  401. package/cjs/{index-9ca07037.js → index-2f206bb6.js} +29 -37
  402. package/cjs/index-2f206bb6.js.map +1 -0
  403. package/cjs/index-32244c73.js +585 -0
  404. package/cjs/index-32244c73.js.map +1 -0
  405. package/cjs/index-35d641f7.js +202 -0
  406. package/cjs/index-35d641f7.js.map +1 -0
  407. package/cjs/{index-c475c3c8.js → index-3e924a85.js} +55 -63
  408. package/cjs/index-3e924a85.js.map +1 -0
  409. package/cjs/index-4a2ec2ae.js +456 -0
  410. package/cjs/index-4a2ec2ae.js.map +1 -0
  411. package/cjs/{index-d14a43c4.js → index-745c9ce1.js} +1 -1
  412. package/cjs/{index-d14a43c4.js.map → index-745c9ce1.js.map} +1 -1
  413. package/cjs/index-7bd7f678.js +79 -0
  414. package/cjs/index-7bd7f678.js.map +1 -0
  415. package/cjs/index-7d2d89a2.js +330 -0
  416. package/cjs/index-7d2d89a2.js.map +1 -0
  417. package/cjs/{index-c5cd589d.js → index-8ada6055.js} +1 -1
  418. package/cjs/index-8ada6055.js.map +1 -0
  419. package/cjs/{index-3a4f8219.js → index-9a94e768.js} +42 -51
  420. package/cjs/index-9a94e768.js.map +1 -0
  421. package/cjs/index-9f2a1c52.js +161 -0
  422. package/cjs/index-9f2a1c52.js.map +1 -0
  423. package/cjs/{index-abbc8024.js → index-9feae73e.js} +57 -3
  424. package/cjs/index-9feae73e.js.map +1 -0
  425. package/cjs/{index-8de8f28a.js → index-a01673e9.js} +2 -2
  426. package/cjs/{index-8de8f28a.js.map → index-a01673e9.js.map} +1 -1
  427. package/cjs/index-d0b4f3c0.js +57 -0
  428. package/cjs/index-d0b4f3c0.js.map +1 -0
  429. package/cjs/{index-5d5497c2.js → index-f6621210.js} +11 -25
  430. package/cjs/index-f6621210.js.map +1 -0
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-02ae6df9.js +6 -0
  434. package/cjs/index.module-02ae6df9.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-da86056c.js +32 -0
  438. package/cjs/resolvedReplyType-da86056c.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-3e6167ef.js → stringSet-d212a015.js} +112 -90
  442. package/cjs/stringSet-d212a015.js.map +1 -0
  443. package/cjs/tokenize-b019fb84.js +164 -0
  444. package/cjs/tokenize-b019fb84.js.map +1 -0
  445. package/cjs/topics-77576a9c.js +18 -0
  446. package/cjs/topics-77576a9c.js.map +1 -0
  447. package/cjs/types-36ee2d00.js +17 -0
  448. package/cjs/types-36ee2d00.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 +216 -550
  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-792a65af.js +77 -0
  573. package/cjs/useDirtyGetMentions-792a65af.js.map +1 -0
  574. package/cjs/useLongPress-50d2028a.js +87 -0
  575. package/cjs/useLongPress-50d2028a.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-374d57b4.js → utils-85ff9137.js} +1 -1
  583. package/cjs/{utils-374d57b4.js.map → utils-85ff9137.js.map} +1 -1
  584. package/cjs/{utils-5f86a394.js → utils-8ce3a247.js} +3 -7
  585. package/cjs/{utils-5f86a394.js.map → utils-8ce3a247.js.map} +1 -1
  586. package/cjs/utils-c2543c4d.js +31 -0
  587. package/cjs/utils-c2543c4d.js.map +1 -0
  588. package/cjs/utils-d2648e7d.js +35 -0
  589. package/cjs/utils-d2648e7d.js.map +1 -0
  590. package/cjs/uuid-97ce2508.js +15 -0
  591. package/cjs/{uuid-2475ef6c.js.map → uuid-97ce2508.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-163ba24d.js → color-04427a41.js} +5 -14
  595. package/{color-163ba24d.js.map → color-04427a41.js.map} +1 -1
  596. package/{compareIds-ef41eb2c.js → compareIds-e75af4f9.js} +5 -6
  597. package/compareIds-e75af4f9.js.map +1 -0
  598. package/{const-76d87f47.js → const-8d418b81.js} +4 -4
  599. package/const-8d418b81.js.map +1 -0
  600. package/const-ec18f7f8.js +13 -0
  601. package/const-ec18f7f8.js.map +1 -0
  602. package/consts-01a1e3c0.js +4 -0
  603. package/consts-01a1e3c0.js.map +1 -0
  604. package/consts-4d93ce13.js +4 -0
  605. package/consts-4d93ce13.js.map +1 -0
  606. package/consts-a5106683.js +4 -0
  607. package/consts-a5106683.js.map +1 -0
  608. package/consts-e6fdc559.js +27 -0
  609. package/consts-e6fdc559.js.map +1 -0
  610. package/context-6272efa3.js +13 -0
  611. package/{context-10475c77.js.map → context-6272efa3.js.map} +1 -1
  612. package/dist/index.css +1847 -1394
  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-12754b45.js → index-19daf00f.js} +55 -63
  617. package/index-19daf00f.js.map +1 -0
  618. package/index-24f4354d.js +450 -0
  619. package/index-24f4354d.js.map +1 -0
  620. package/index-2d858f6d.js +187 -0
  621. package/index-2d858f6d.js.map +1 -0
  622. package/{index-232388fa.js → index-32a56033.js} +29 -37
  623. package/index-32a56033.js.map +1 -0
  624. package/index-36d49e08.js +154 -0
  625. package/index-36d49e08.js.map +1 -0
  626. package/{index-2f346069.js → index-5819e39d.js} +1 -1
  627. package/index-5819e39d.js.map +1 -0
  628. package/index-7ff2c073.js +360 -0
  629. package/index-7ff2c073.js.map +1 -0
  630. package/index-9a62272f.js +51 -0
  631. package/index-9a62272f.js.map +1 -0
  632. package/{index-4ebfc7a7.js → index-a4552c13.js} +1 -1
  633. package/{index-4ebfc7a7.js.map → index-a4552c13.js.map} +1 -1
  634. package/index-b3c3e1aa.js +76 -0
  635. package/index-b3c3e1aa.js.map +1 -0
  636. package/index-c589f349.js +540 -0
  637. package/index-c589f349.js.map +1 -0
  638. package/{index-2784bdd8.js → index-d88e3ef9.js} +11 -25
  639. package/index-d88e3ef9.js.map +1 -0
  640. package/{index-751f97ce.js → index-dcaf3cb8.js} +57 -4
  641. package/index-dcaf3cb8.js.map +1 -0
  642. package/{index-a02da5bd.js → index-dd8e8ea1.js} +2 -2
  643. package/{index-a02da5bd.js.map → index-dd8e8ea1.js.map} +1 -1
  644. package/index-f4374646.js +320 -0
  645. package/index-f4374646.js.map +1 -0
  646. package/{index-aea7b7d6.js → index-fe7ed4c0.js} +39 -48
  647. package/index-fe7ed4c0.js.map +1 -0
  648. package/{index-3c013a28.js → index-fea4f7d3.js} +2 -2
  649. package/{index-3c013a28.js.map → index-fea4f7d3.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-1ba8586e.js +4 -0
  654. package/index.module-1ba8586e.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-94a089b3.js +29 -0
  659. package/resolvedReplyType-94a089b3.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-9ae71b7d.js → stringSet-3649b375.js} +112 -90
  663. package/stringSet-3649b375.js.map +1 -0
  664. package/tokenize-053e921e.js +159 -0
  665. package/tokenize-053e921e.js.map +1 -0
  666. package/topics-d0dcd2f2.js +16 -0
  667. package/topics-d0dcd2f2.js.map +1 -0
  668. package/types-54edb45d.js +15 -0
  669. package/types-54edb45d.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 +219 -553
  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-b9a9c21b.js +75 -0
  794. package/useDirtyGetMentions-b9a9c21b.js.map +1 -0
  795. package/useLongPress-5e28b292.js +85 -0
  796. package/useLongPress-5e28b292.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-1f5c8b6c.js +29 -0
  804. package/utils-1f5c8b6c.js.map +1 -0
  805. package/{utils-ddb0df4c.js → utils-712b81f7.js} +3 -7
  806. package/{utils-ddb0df4c.js.map → utils-712b81f7.js.map} +1 -1
  807. package/{utils-ea66f822.js → utils-a1f2aa01.js} +1 -1
  808. package/{utils-ea66f822.js.map → utils-a1f2aa01.js.map} +1 -1
  809. package/utils-cbae9afc.js +31 -0
  810. package/utils-cbae9afc.js.map +1 -0
  811. package/uuid-8c96bee0.js +13 -0
  812. package/{uuid-7e004f47.js.map → uuid-8c96bee0.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-1d36e2e9.js.map +0 -1
  816. package/ChannelProvider-289cd35f.js.map +0 -1
  817. package/CreateChannelProvider-72b655e9.js +0 -55
  818. package/CreateChannelProvider-72b655e9.js.map +0 -1
  819. package/LocalizationContext-289c1917.js +0 -22
  820. package/MediaQueryContext-273d29f6.js +0 -90
  821. package/MediaQueryContext-273d29f6.js.map +0 -1
  822. package/MemberList-7ad0fa0b.js +0 -435
  823. package/MemberList-7ad0fa0b.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-ad556c64.js +0 -535
  834. package/NotificationChannelProvider-ad556c64.js.map +0 -1
  835. package/OpenChannelListProvider-0febf8b2.js +0 -434
  836. package/OpenChannelListProvider-0febf8b2.js.map +0 -1
  837. package/OpenChannelProvider-c254c663.js +0 -2000
  838. package/OpenChannelProvider-c254c663.js.map +0 -1
  839. package/RemoveMessageModal-d6cbf9fa.js +0 -31
  840. package/RemoveMessageModal-d6cbf9fa.js.map +0 -1
  841. package/ThreadProvider-8696ef31.js +0 -1644
  842. package/ThreadProvider-8696ef31.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-519f674b.js.map +0 -1
  844. package/actionTypes-9f87e87f.js +0 -6
  845. package/actionTypes-9f87e87f.js.map +0 -1
  846. package/cjs/ChannelListProvider-0de52d2b.js.map +0 -1
  847. package/cjs/ChannelProvider-fc58e60e.js.map +0 -1
  848. package/cjs/CreateChannelProvider-a82d20f4.js +0 -62
  849. package/cjs/CreateChannelProvider-a82d20f4.js.map +0 -1
  850. package/cjs/MediaQueryContext-4711a81f.js +0 -97
  851. package/cjs/MediaQueryContext-4711a81f.js.map +0 -1
  852. package/cjs/MemberList-b2623166.js +0 -441
  853. package/cjs/MemberList-b2623166.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-2cdc7ff4.js +0 -543
  864. package/cjs/NotificationChannelProvider-2cdc7ff4.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-60bc3c69.js +0 -443
  866. package/cjs/OpenChannelListProvider-60bc3c69.js.map +0 -1
  867. package/cjs/OpenChannelProvider-3ed4eb6e.js +0 -2009
  868. package/cjs/OpenChannelProvider-3ed4eb6e.js.map +0 -1
  869. package/cjs/RemoveMessageModal-9169766a.js.map +0 -1
  870. package/cjs/ThreadProvider-389f5031.js +0 -1653
  871. package/cjs/ThreadProvider-389f5031.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-fed1e122.js.map +0 -1
  873. package/cjs/actionTypes-2f90e726.js +0 -10
  874. package/cjs/actionTypes-2f90e726.js.map +0 -1
  875. package/cjs/color-f47044b3.js.map +0 -1
  876. package/cjs/compareIds-4124b297.js.map +0 -1
  877. package/cjs/const-015e5589.js +0 -20
  878. package/cjs/const-015e5589.js.map +0 -1
  879. package/cjs/const-fd64914b.js.map +0 -1
  880. package/cjs/index-30c97863.js +0 -194
  881. package/cjs/index-30c97863.js.map +0 -1
  882. package/cjs/index-3a4f8219.js.map +0 -1
  883. package/cjs/index-40e4653a.js +0 -59
  884. package/cjs/index-40e4653a.js.map +0 -1
  885. package/cjs/index-5d5497c2.js.map +0 -1
  886. package/cjs/index-62c1bdfc.js +0 -701
  887. package/cjs/index-62c1bdfc.js.map +0 -1
  888. package/cjs/index-9ca07037.js.map +0 -1
  889. package/cjs/index-9f3670d0.js +0 -360
  890. package/cjs/index-9f3670d0.js.map +0 -1
  891. package/cjs/index-abbc8024.js.map +0 -1
  892. package/cjs/index-c475c3c8.js.map +0 -1
  893. package/cjs/index-c5cd589d.js.map +0 -1
  894. package/cjs/stringSet-3e6167ef.js.map +0 -1
  895. package/cjs/topics-56842e14.js +0 -22
  896. package/cjs/topics-56842e14.js.map +0 -1
  897. package/cjs/tslib.es6-b8ba50ef.js +0 -110
  898. package/cjs/tslib.es6-b8ba50ef.js.map +0 -1
  899. package/cjs/useLongPress-99c66f7f.js +0 -118
  900. package/cjs/useLongPress-99c66f7f.js.map +0 -1
  901. package/cjs/utils-9adfd244.js +0 -38
  902. package/cjs/utils-9adfd244.js.map +0 -1
  903. package/cjs/utils-f6a96ebf.js +0 -32
  904. package/cjs/utils-f6a96ebf.js.map +0 -1
  905. package/cjs/uuid-2475ef6c.js +0 -19
  906. package/compareIds-ef41eb2c.js.map +0 -1
  907. package/const-76d87f47.js.map +0 -1
  908. package/const-da6f3d34.js +0 -14
  909. package/const-da6f3d34.js.map +0 -1
  910. package/context-10475c77.js +0 -12
  911. package/index-12754b45.js.map +0 -1
  912. package/index-1e46e582.js +0 -179
  913. package/index-1e46e582.js.map +0 -1
  914. package/index-232388fa.js.map +0 -1
  915. package/index-2784bdd8.js.map +0 -1
  916. package/index-2f346069.js.map +0 -1
  917. package/index-4637b0de.js +0 -57
  918. package/index-4637b0de.js.map +0 -1
  919. package/index-4900e890.js +0 -353
  920. package/index-4900e890.js.map +0 -1
  921. package/index-751f97ce.js.map +0 -1
  922. package/index-855ef33d.js +0 -662
  923. package/index-855ef33d.js.map +0 -1
  924. package/index-aea7b7d6.js.map +0 -1
  925. package/stringSet-9ae71b7d.js.map +0 -1
  926. package/topics-e2963bba.js +0 -13
  927. package/topics-e2963bba.js.map +0 -1
  928. package/tslib.es6-72df3331.js +0 -104
  929. package/tslib.es6-72df3331.js.map +0 -1
  930. package/useLongPress-1a777e9e.js +0 -116
  931. package/useLongPress-1a777e9e.js.map +0 -1
  932. package/utils-2976f2c1.js +0 -30
  933. package/utils-2976f2c1.js.map +0 -1
  934. package/utils-6b69fb18.js +0 -34
  935. package/utils-6b69fb18.js.map +0 -1
  936. package/uuid-7e004f47.js +0 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,561 @@
1
1
  # Changelog - v3
2
2
 
3
+ ## [v3.5.1] (June 15 2023)
4
+
5
+ Fixes:
6
+ * Set fallback values \w global configs in App comp
7
+ * Use global config's replyType if channel one is undefined
8
+ * Use global disableUserProfile if each context's one is defined
9
+ * Clear `scrollBottom` on channel state loading
10
+ * Fixes a runtime error
11
+ caused by clicking "Reply in thread" menu from a parent message
12
+ * Check if the `message.type` property is empty
13
+ and return false when it is empty in the isVoiceMessage function
14
+
15
+ ## [v3.5.0] (June 14 2023)
16
+
17
+ ### Feat:
18
+ * Mobile Browser UX Revamp
19
+ We have revamped the UX to support mobile devices -
20
+ * Revamped Modals
21
+ * Revamped Context Menu -> Long press to open context menu
22
+ * Revamped Message Input
23
+
24
+ This feature is disabled by default. To enable this feature, add the following prop to `SendBirdProvider` & `App` component.
25
+ ```javascript
26
+ breakpoint?: string | boolean
27
+ ```
28
+
29
+ Example:
30
+ ```javascript
31
+ <SendBirdProvider breakpoint="768px">
32
+ ```
33
+ ```javascript
34
+ const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
35
+ return (
36
+ <SendbirdProvider breakpoint={isMobile} />
37
+ {
38
+ isMobile
39
+ ? <MobileChatLayout />
40
+ : <DesktopChatLayout />
41
+ }
42
+ </SendbirdProvider>
43
+ )
44
+ ```
45
+
46
+ Other props:
47
+ * SendbirdProvider?.onUserProfileMessage?: (channel: GroupChannel) => void
48
+ Callback for handling when user sends a user profile message.
49
+ * Channel?.onBackClick?: () => void
50
+ Callback for handling when user clicks on back button in channel.
51
+ This is only applicable for mobile devices.
52
+
53
+ * Configure UIKit through Dashboard(not released yet)
54
+ We are doing groundwork to support configuring UIKit through
55
+ the dashboard. This will allow you to configure UIKit without
56
+ having to add props to each component. This feature *will not* be a
57
+ breaking change and will be backwards compatible.
58
+
59
+ ### Chore:
60
+ * TSC error in typescript sample
61
+ * Samples -> Upgrade vite to 4.3.9
62
+
63
+ ### Fixes:
64
+ * Connection
65
+ * Disconnect SDK on Sendbird provider component unmount
66
+ * Message
67
+ * Desktop - allow text select on Labels
68
+ * Remove loading placeholder on ThumbnailMessage
69
+ * OGMessage width overflow while adding reaction
70
+ * Center align & remove ellipsis from admin message
71
+ * Voice Message
72
+ * Hide download option for voice message
73
+ * Show warning when there is no voice recording permission
74
+ * Race condition in playing audio files simultaneously
75
+ * Stop voice player when recorder exits
76
+ * Pause voice when component is removed from layout
77
+ * Replies
78
+ * Quoted text alignment for reply messages
79
+ * MessageList: Triggering of random clicks while scroll to parent
80
+ * Thread
81
+ * Improve parent message detection
82
+ * Emoji reactions overflow in message
83
+ * Settings
84
+ * <AllMemebers />: Show context menu on click
85
+ * Open Channel
86
+ * OpenChannel Context menu click leak
87
+ * Vertical scroll on labels in open channel list
88
+
89
+ ## [v3.4.9] (June 02 2023)
90
+
91
+ Fixes:
92
+ * ChannelList
93
+ * Display a channel on channel list only when there's a message
94
+ * Remove edited message from ChannelPreview
95
+
96
+ * MarkAsRead & MarkAsDelivered
97
+ * Batch markAsRead & markAsDelivered requests
98
+
99
+ * Scrolling
100
+ * Various scroll issues in Channel component
101
+ * Shaky scroll on messages when fetching messages
102
+ * Scroll into view when starting point is set
103
+ * Scroll into message on clicking quote reply
104
+ * Inconsistent rendering on scrollToBottom button
105
+
106
+ * Mention
107
+ * Improve max mention count logic in Messages
108
+ * Improve mention detection when there are curly braces in user's name Mentions
109
+ were not working when user nickname had curly braces
110
+
111
+ * Special channels
112
+ * Disable mention in the broadcast channel
113
+ * Change OpenChannelInput muted state notice text in broadcast channel
114
+
115
+ * Reply
116
+ * Apply ellipsis to a sender of quote and admin message
117
+
118
+ * Thread
119
+ * Add border bottom to the ParentMessageInfo component
120
+ * Modify string set for thread menu "Reply to Thread" -> "Reply in Thread"
121
+ Do not display "Reply in Thread" to the reply messages
122
+ * Prevent hover style of ParentMessageInfo component
123
+
124
+ * OpenChannel
125
+ * Apply theme to the OpenChannelList header
126
+
127
+ Chores:
128
+ * Add a sample with router
129
+ * Add dataId to the every menu items
130
+
131
+ ## [v3.4.8] (May 19 2023)
132
+
133
+ Fixes:
134
+ * Prevent white space only text sending
135
+ * Mentioned user Regex parsing
136
+ Mention will now work even if userId has `.*+?^${}()|[\]\\` characters.
137
+ * ChannelList blink when when message is send
138
+ Happened when there were two channelLists in the same page with
139
+ different query params.
140
+ * ChannelSetting `renderUserProfile` prop
141
+ We were applying `renderChannelProfile` in place of `renderUserProfile`.
142
+ * MessageBody: Words break mid word
143
+ Words were breaking midword because all white spaces
144
+ were converted into nbsps. CSS couldnt distinguish nbsps
145
+ as whitespaces, so wrapping didnt work well.
146
+
147
+ Chores:
148
+ * Setup CircleCI
149
+ * We are moving from Github Actions to CircleCI
150
+ * Setup Husky
151
+ * Setup lint on post push
152
+ * Auto run yarn install on post pull
153
+ * Update EsLint
154
+ * Update version to 8.40.x
155
+ * Apply more strict rules
156
+
157
+ ## [v3.4.7] (May 4 2023)
158
+
159
+ Important Notes:
160
+ * @sendbird/chat@4.8.0 has an issue with `abortcontroller-polyfill` plugin. Please use version 4.7.2 or install it separately.
161
+
162
+ Features:
163
+ * Set Chat SDK v4.3.0 as the minimum required version.
164
+ * Add a new UI component, Toggle:
165
+ * `ToggleContainer`: A context provider component that manages only the toggle status.
166
+ * `ToggleUI`: A UI component that does not include the status managing logic.
167
+ * `Toggle`: A combination of ToggleContainer and ToggleUI components.
168
+ * `useToggleContext`: A custom useContext hook that provides context from ToggleContainer.
169
+ ```javascript
170
+ import { Toggle, ToggleContainer, ToggleUI, useToggleContext } from '@sendbird/ui/Toggle';
171
+ ```
172
+
173
+ Fixes:
174
+ * Apply `isMuted` to the participant list. Operators can now unmute the muted participants from the participant list.
175
+ * Update the max mention count notice message.
176
+ * Modify the URL Regex to filter various types of formats.
177
+ * Give a left margin to the link text inside the message.
178
+ * Move the message list scroll after the OG image is loaded.
179
+ * Specify that getSdk returns SendbirdGroupChannel or SendbirdOpenChannel.
180
+ * Fix the issue where the current channel flickers on the ChannelList while creating a new group channel.
181
+
182
+ Chores:
183
+ * Rewrite the connection logic in sdk/thunks to hooks/useConnect
184
+ ```
185
+ const reconnect = useConnect({
186
+ appId,
187
+ userId,
188
+ accessToken,
189
+ }, {
190
+ logger,
191
+ nickname,
192
+ profileUrl,
193
+ configureSession,
194
+ customApiHost,
195
+ customWebSocketHost,
196
+ sdk: sdkStore?.sdk,
197
+ sdkDispatcher,
198
+ userDispatcher,
199
+ });
200
+ ```
201
+ * Rename `smart-components/` to `modules/`.
202
+ * Modify Logger method:
203
+ * The first parameter (log message) of the method is now required.
204
+ * Any other values can be passed to the second parameter of the method in a key-value format.
205
+
206
+ ## [v3.4.6] (Apr 21 2023)
207
+
208
+ Fixes:
209
+ * Use markAsReadScheduler in MessageList:
210
+ * `markAsReadScheduler` method throttles `markAsRead` calls.
211
+ * Reduces cmd no ack error.
212
+ * Apply common scroll hook to GroupChannel MessageList:
213
+ * Prevent whole page from scrolling when <GroupChannel /> scrolls. This issue occurs when customer implements an <GroupChannel /> in a web page with scroll.
214
+ * This is a same fix that we fixed OpenChannel in `v3.4.4`.
215
+ * To unify message sending policies with ios & android:
216
+ * Do not show send button when there is only new line or empty space in the input.
217
+ * Do not trim leading white spaces in message text.
218
+ * Optimize lamjs import:
219
+ * Lazy load the audio converting processor(lamejs) only when `isVoiceMessageEnabled` is true.
220
+ * This saves 106KB Gzipped(85KB Brotli) if you are not using the VoiceMessage feature.
221
+
222
+ ## [v3.4.5] (Apr 7 2023)
223
+
224
+ Features:
225
+
226
+ * Add a message list filter of UI level in the `Channel` module
227
+ * Add `Channel.filterMessageList?: (messages: BaseMessage): boolean;`, a UI level filter prop
228
+ to Channel. This function will be used to filter messages in `<MessageList />`
229
+
230
+ example:
231
+ ```javascript
232
+ // set your channel URL
233
+ const channel = "";
234
+ export const ChannelWithFilter = () => {
235
+ const channelFilter = useCallback((message) => {
236
+ const now = Date.now();
237
+ const twoWeeksAgo = now - 1000 * 60 * 60 * 24 * 14;
238
+ return message.createdAt > twoWeeksAgo;
239
+ }, []);
240
+ return (
241
+ <Channel
242
+ channelUrl={channel}
243
+ filterMessageList={channelFilter}
244
+ />
245
+ );
246
+ };
247
+ ```
248
+
249
+ * Improve structure of message UI for copying
250
+ Before:
251
+ * The words inside messages were kept in separate spans
252
+ * This would lead to unfavourable formatting when pasted in other applications
253
+
254
+ After:
255
+ * Remove span for wrapping simple strings in message body
256
+ * Urls and Mentions will still be wrapped in spans(for formatting)
257
+ * Apply new logic & components(TextFragment) to tokenize strings
258
+ * Improve keys used in rendering inside message,
259
+ * UUIDs are not the optimal way to improve rendering
260
+ * Create a composite key with message.updatedAt
261
+ * Refactor usePaste hook to make mentions work ~
262
+ * Fix overflow of long strings
263
+ * Deprecate `Word` and `convertWordToStringObj`
264
+
265
+ * Export MessageProvider, a simple provider to avoid prop drilling into Messages
266
+ Note - this is still in works, but these props will remain
267
+ * In the future, we will add methods - to this module - to:
268
+ * Edit & delete callbacks
269
+ * Menu render options(ACLs)
270
+ * Reaction configs
271
+ * This will improve the customizability and remove a lot of prop drilling in Messages
272
+
273
+ ```
274
+ export type MessageProviderProps = {
275
+ children: React.ReactNode;
276
+ message: BaseMessage;
277
+ isByMe?: boolean;
278
+ }
279
+
280
+ import { MessageProvider, useMessageContext } from '@sendbird/uikit-react/Message/context'
281
+ ```
282
+ Incase if you were using MessageComponents and see error message
283
+ `useMessageContext must be used within a MessageProvider `
284
+ use: `<MessageProvider message={message}><CustomMessage /></MessageProvider>`
285
+
286
+ * Add a scheduler for calling markAsRead intervally
287
+ * The `markAsRead` is called on individual channels is un-optimal(causes command ack. error)
288
+ because we have a list of channels that do this
289
+ ideally this should be fixed in server/SDK
290
+ this is a work around for the meantime to un-throttle the customer
291
+
292
+ Fixes:
293
+ * Set current channel on `ChannelList` when opening channel from the parent message of `Thread`
294
+ * Issue: The ChannelPreview item is not selected when opening the channel from
295
+ the ParentMessage of the Thread
296
+ * Fix: Set activeChannelUrl of ChannelList
297
+ * Detect new lines in safari on the `MessageInput` component
298
+ * Safari puts `<div>text</div>` for new lines inside content editable div(input)
299
+ * Other browsers put newline or `br`
300
+
301
+ ## [v3.4.4] (Mar 31 2023)
302
+
303
+ Features:
304
+ * Increase default maximum recording time of Voice Message to 10 minutes
305
+ * Add logger to VoicePlayer, VoiceRecorder, and useSendVoiceMessage hook
306
+
307
+ Fixes:
308
+ * Prevent whole page from scrolling when OpenChannel scrolls
309
+ This issue occurs when customer implements an OpenChannel in a web page with scroll
310
+ * Fix edgecase in which voice messages were sent twice
311
+ * Clean up Thread interface
312
+ If message.parentMessage doesnt exist, treat message as parentMessage
313
+ `<Thread message={message} />`
314
+
315
+ ## [v3.4.3] (Mar 24 2023)
316
+
317
+ Features:
318
+ * Add rollup-plugin-size-snapshot for bundle-size
319
+ Run rollup-plugin-size-snapshot on build,
320
+ we will check bundle size before every release
321
+ * Move old samples to use vite
322
+ React team these days are using vite for their samples,
323
+ CRA is discourged
324
+ * Run code coverage on commenting `./coverage`
325
+ Check code coverage on PR comment
326
+ * Add prop to disable Channel & Thread inputs
327
+ Add prop: `disabled?: false` for Channel & Thread MessageInputWrapper
328
+ * Replace renderToString(react-dom) with custom fn
329
+ Replace renderToString from react-dom/server with custom function
330
+ This function was creating issue in customers with cra@4 & react@17
331
+
332
+ Fixes:
333
+ * Replace outdated CSS rules
334
+ `justify-content: start;` and `height: fill-available;`
335
+ * Menu position in tight screens
336
+ * Condition where some menus get clipped in left side:
337
+ * Usually user profile in channel moderation
338
+ * Context menu of last item in channel gets clipped in the bottom
339
+
340
+
341
+ ## [v3.4.2] (Mar 17 2023)
342
+
343
+ Features:
344
+ * Mentions should be preserved when copy pasted from sendbird-messages and message input
345
+ * Make sure you are posting mentions of users from same channel
346
+ * We dont support pasting of rich text from other applications
347
+ * For copying simple text, we recommend using paste option in message context-menu
348
+
349
+ * Conditions tested:
350
+ 1. paste simple text
351
+ 2. paste text with mention
352
+ 3. paste text with mention and text
353
+ 4. paste text with mention and text and paste again before and after
354
+ 5. copy message with mention(only one mention, no other text) and paste
355
+ 6. copy message with mention from input and paste(before and after)
356
+
357
+ Chores:
358
+ * Arrange the order of the string set table
359
+ 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
360
+
361
+ Library added:
362
+ * [dompurify@3.0.1](https://www.npmjs.com/package/dompurify): +8Kb Gzipped
363
+
364
+ ## [v3.4.1] (Mar 10 2023)
365
+
366
+ Fixes:
367
+ * Keep scroll if context menu is opened when receiving messages
368
+ * Handle Ephemeral channel
369
+ * Group channel list
370
+ * Remove the message receipt status (channel preview)
371
+ * Remove the unread message count (channel preview)
372
+ * Group channel
373
+ * Remove the message edit
374
+ * Remove the message delete
375
+ * Remove the message reactions
376
+ * Remove the message receipt status (message)
377
+ * Remove the message reply (quote_reply, thread)
378
+ * Group channel settings
379
+ * Remove the search in channel
380
+ * Open channel
381
+ * Remove the message edit
382
+ * Remove the message delete
383
+ * Clear timeout in useLayoutEffect of Message
384
+ * This removes memory leak warnings
385
+
386
+ ## [v3.4.0] (Mar 6 2023)
387
+
388
+ ### Voice Message
389
+ 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.
390
+
391
+ #### How to turn on/off
392
+ * You can turn this feature on/off using the props `isVoiceMessageEnabled` on the <App /> and <SendbirdProvider /> components. Here is an example.
393
+ ```javascript
394
+ import App from '@sendbird/uikit-react/App'
395
+ import SendbirdProvider from '@sendbird/uikit-react/SendbirdProvider'
396
+ import { useEffect } from 'react'
397
+
398
+ const QuickStart = () => (<App isVoiceMessageEnabled />)
399
+ const CustomApp = () => {
400
+ const [useVoiceMessage, setUseVoiceMessage] = useEffect(true)
401
+ return (
402
+ <SendbirdProvider
403
+ isVoiceMessageEnabled={useVoiceMessage}
404
+ >
405
+ {/* Implement your custom app here */}
406
+ </SendbirdProvider>
407
+ )
408
+ }
409
+ ```
410
+
411
+ #### How to customize the voice message in Channel and Thread?
412
+ 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.
413
+ ```javascript
414
+ import Channel from '@sendbird/uikit-react/Channel'
415
+ import isVoiceMessage from '@sendbird/uikit-react/utils/message/isVoiceMessage'
416
+
417
+ const CustomChannel = () => {
418
+ return (
419
+ <Channel
420
+ renderMessage={({ message }) => {
421
+ if (isVoiceMessage(message)) {
422
+ // Return your custom voice message item component
423
+ }
424
+ return null
425
+ }}
426
+ />
427
+ )
428
+ }
429
+ ```
430
+
431
+ #### Limitation & Next step
432
+ * 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.
433
+
434
+ #### What has been changed?
435
+ * Add props `isVoiceMessageEnabled` and `voiceRecord` props to the App, `SendbirdProvider`, and `MessageInput` components, to turn on/off the voice message recording feature
436
+ ```javascript
437
+ import SendbirdProvider from '@sendbird/uikit-react/SendbirdProvider'
438
+ const CustomApp = () => {
439
+ return (
440
+ <SendbirdProvider
441
+ isVoiceMessageEnabled
442
+ voiceRecord={{
443
+ maxRecordingTime: 60000,
444
+ minRecordingTime: 1000,
445
+ }}
446
+ >
447
+ {/* implement custom application */}
448
+ </SendbirdProvider>
449
+ )
450
+ }
451
+ ```
452
+ * Add props `onVoiceMessageIconClick` to the `MessageInput` component
453
+ * Add props `onBeforeSendVoiceMessage` to the `Channel` component
454
+ * Fetch message list including `MetaArray` in the `Channel` and `Thread` modules
455
+ * Provide new IconType `AudioOnLined` & new IconColor `Primary2` and `OnBackground4`
456
+ * Provide new string sets
457
+ ```javascript
458
+ import SendbirdProvider from '@sendbird/uikit-react/SendbirdProvider'
459
+ const CustomApp = () => {
460
+ return (
461
+ <SendbirdProvider
462
+ stringSet={{
463
+ BUTTON__OK: 'OK',
464
+ VOICE_MESSAGE: 'Voice Message',
465
+ MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED: 'You\'re muted by the operator.',
466
+ MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN: 'Channel is frozen.',
467
+ }}
468
+ >
469
+ {/* implement custom application */}
470
+ </SendbirdProvider>
471
+ )
472
+ }
473
+ ```
474
+ * `BUTTON__OK`: 'OK' → Used on the submit button of pop up modal
475
+ * `MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED`: 'You\'re muted by the operator.' → Used in an alert pop-up modal
476
+ * `MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN`: 'Channel is frozen.' → Used in an alert pop-up modal
477
+ * `VOICE_MESSAGE`: 'Voice Message' → Used in ChannelPreviewItem, QuoteMessage, and MessageSearch to appear that the message type is the voice## External Contributions
478
+
479
+ #### What has been added?
480
+ * Install `lamejs` to convert the audio file to mp3 (iOS support)
481
+ * UI components
482
+ ```javascript
483
+ import PlaybackTime from "@sendbird/uikit-react/ui/PlaybackTime"
484
+ import ProgressBar from "@sendbird/uikit-react/ui/ProgressBar"
485
+ import VoiceMessageInput from "@sendbird/uikit-react/ui/VoiceMessageInput"
486
+ import VoiceMessageItemBody from "@sendbird/uikit-react/ui/VoiceMessageItemBody"
487
+ ```
488
+ * PlaybackTime: Display the current time in 00:00 format with the received millisecond value
489
+ * ProgressBar: Display the current progress status with the received maxSize and currentSize of millisecond unit value
490
+ * VoiceMessageInput: UI component for recording and playing a voice message
491
+ * VoiceMessageItemBody: UI component for rendering a voice message also able to play voice message
492
+ * VoiceRecorder
493
+ ```javascript
494
+ import { VoiceRecorderProvider, useVoiceRecorderContext } from '@sendbird/uikit-react/VoiceRecorder/context'
495
+ import useVoiceRecorder from '@sendbird/uikit-react/VoiceRecorder/useVoiceRecorder'
496
+ ```
497
+ * VoiceRecorderProvider: A react context provider component providing `start`, and `stop` functions
498
+ * useVoiceRecorderContext: A react useContext hook of VoiceRecorderProvider
499
+ * useVoiceRecorder: A react hook that provides advanced context, `recordingLimit`, `recordingTime`, `recordingFile`, and `recordingStatus`. Recommend using this hook in the customized components.
500
+ * VoicePlayer
501
+ ```javascript
502
+ import { VoicePlayerProvider, useVoicePlayerContext } from '@sendbird/uikit-react/VoicePlayer/context'
503
+ import useVoicePlayer from '@sendbird/uikit-react/VoicePlayer/useVoicePlayer'
504
+ ```
505
+ * VoicePlayerProvider: A react context provider component providing `play`, and `pause` functions
506
+ * useVoicePlayerContext: A react useContext hook of VoicePlayerProvider
507
+ * useVoicePlayer: A react hook that provides advanced context, `playbackTime`, `duration`, and `playingStatus`. Recommend using this hook in the customized components.
508
+ * utils/isVoiceMessage: A function that you can check if the given message is a voice message
509
+ ```javascript
510
+ import isVoiceMessage from '@sendbird/uikit-react/utils/message/isVoiceMessage'
511
+ const isVoiceMsg: boolean = isVoiceMessage(message);
512
+ ```
513
+
514
+ Features:
515
+ * Add props `renderFileUploadIcon`, `renderVoiceMessageIcon`, and `renderSendMessageIcon` into the `Channel`, `ChannelUI`, and `MessageInput` component
516
+ ```javascript
517
+ interface MessageInputProps {
518
+ renderFileUploadIcon?: () => React.ReactElement;
519
+ renderVoiceMessageIcon?: () => React.ReactElement;
520
+ renderSendMessageIcon?: () => React.ReactElement;
521
+ }
522
+ ```
523
+
524
+ Fixes:
525
+ * Use ApplicationUserListQuery on ChannelSettings component
526
+ * Fix some visual issues on the normal User Panel of ChannelSettings
527
+ * Indentify faulty images in OG message
528
+ * Add classname: sendbird-og-message-item-body__og-thumbnail__empty to identify faulty images in OG message
529
+ Clients can use CSS to target this class~
530
+ ```css
531
+ .sendbird-og-message-item-body__og-thumbnail__empty {
532
+ display: none;
533
+ }
534
+ ```
535
+
536
+ ## [v3.3.7] (Feb 24 2023)
537
+
538
+ Features:
539
+ * Add props `activeChannelUrl` to ChannelList to give an option to pragmatically set a channel from a parent component router
540
+ ```javascript
541
+ const MyChannelList = () => {
542
+ const [myActiveChannel] = useState()
543
+ return (<ChannelList activeChannelUrl={myActiveChannel.url} />)
544
+ }
545
+ ```
546
+
547
+ Fixes:
548
+ * Fix not showing newly recived messages in channel which has less messages
549
+ * Use a real `channel.invitedAt` value when trying to fetch MessageSearchQuery
550
+ * Disable the checkbox of the joined users on the InviteUsersModal
551
+ * Set the default value of CheckBox component: `@sendbird/uikit-react/ui/CheckBox` as false
552
+
553
+ ## [v3.3.6] (Feb 13 2023)
554
+
555
+ Fixes:
556
+ * pubsub should be initialized with useState
557
+ * update onBeforeCreateChannel example to use chat V4
558
+
3
559
  ## [v3.5.0-beta.0] (Feb 6 2023)
4
560
 
5
561
  ### Notification Channel
@@ -1,57 +1,61 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { g as getChannelTitle } from '../../utils-2976f2c1.js';
3
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-2784bdd8.js';
2
+ import { g as getChannelTitle } from '../../utils-1f5c8b6c.js';
3
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-d88e3ef9.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-289c1917.js';
7
+ import { a as LocalizationContext } from '../../LocalizationContext-25d6694d.js';
8
8
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
9
- import { u as useChannelContext } from '../../ChannelProvider-289cd35f.js';
10
- import { u as useMediaQueryContext } from '../../MediaQueryContext-273d29f6.js';
11
- import { n as noop } from '../../utils-ea66f822.js';
9
+ import { u as useChannelContext } from '../../ChannelProvider-33559192.js';
10
+ import { u as useMediaQueryContext } from '../../MediaQueryContext-94c9086a.js';
11
+ import { n as noop } from '../../utils-a1f2aa01.js';
12
12
  import 'prop-types';
13
- import '../../stringSet-9ae71b7d.js';
14
- import '../../tslib.es6-72df3331.js';
13
+ import '../../stringSet-3649b375.js';
14
+ import '../../_rollupPluginBabelHelpers-1be219c2.js';
15
15
  import '../../ui/Avatar.js';
16
16
  import '../../ui/ImageRenderer.js';
17
- import '../../uuid-7e004f47.js';
18
- import '../../utils-6b69fb18.js';
19
- import '../../index-4ebfc7a7.js';
17
+ import '../../uuid-8c96bee0.js';
18
+ import '../../utils-cbae9afc.js';
19
+ import '../../index-a4552c13.js';
20
20
  import '../../withSendbird.js';
21
- import '../../_rollupPluginBabelHelpers-519f674b.js';
22
- import '../../UserProfileContext-e3530842.js';
23
- import '../../index-3c013a28.js';
24
- import '../../topics-e2963bba.js';
25
- import '../../index-855ef33d.js';
21
+ import '../../UserProfileContext-a56cc682.js';
22
+ import '../../const-ec18f7f8.js';
23
+ import '../../index-fea4f7d3.js';
24
+ import '../../topics-d0dcd2f2.js';
25
+ import '../../index-c589f349.js';
26
26
  import '../../utils/message/getOutgoingMessageState.js';
27
- import '../../compareIds-ef41eb2c.js';
28
- import '../../const-da6f3d34.js';
27
+ import '../../compareIds-e75af4f9.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-e6fdc559.js';
31
+ import '../../resolvedReplyType-94a089b3.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",