@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-mobile-web-0

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