@sendbird/uikit-react 3.4.8 → 3.4.9

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 (601) hide show
  1. package/App.js +123 -74
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +43 -1
  4. package/Channel/components/ChannelHeader.js +18 -18
  5. package/Channel/components/ChannelUI.js +46 -41
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +14 -14
  8. package/Channel/components/FrozenNotification.js +4 -4
  9. package/Channel/components/Message.js +59 -45
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +40 -38
  12. package/Channel/components/MessageInput.js.map +1 -1
  13. package/Channel/components/MessageList.js +85 -46
  14. package/Channel/components/MessageList.js.map +1 -1
  15. package/Channel/components/RemoveMessageModal.js +16 -16
  16. package/Channel/components/SuggestedMentionList.js +16 -16
  17. package/Channel/components/TypingIndicator.js +14 -14
  18. package/Channel/components/UnreadCount.js +5 -5
  19. package/Channel/components/UnreadCount.js.map +1 -1
  20. package/Channel/context.js +11 -11
  21. package/Channel.js +46 -41
  22. package/Channel.js.map +1 -1
  23. package/ChannelList/components/AddChannel.js +14 -14
  24. package/ChannelList/components/ChannelListHeader.js +6 -6
  25. package/ChannelList/components/ChannelListUI.js +33 -32
  26. package/ChannelList/components/ChannelListUI.js.map +1 -1
  27. package/ChannelList/components/ChannelPreview.js +26 -26
  28. package/ChannelList/components/ChannelPreview.js.map +1 -1
  29. package/ChannelList/components/ChannelPreviewAction.js +15 -14
  30. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  31. package/ChannelList/context.js +7 -7
  32. package/ChannelList.js +29 -29
  33. package/{ChannelListProvider-1d8f4d94.js → ChannelListProvider-21425002.js} +19 -37
  34. package/ChannelListProvider-21425002.js.map +1 -0
  35. package/{ChannelProvider-bba4a095.js → ChannelProvider-910bbc1f.js} +81 -29
  36. package/ChannelProvider-910bbc1f.js.map +1 -0
  37. package/ChannelSettings/components/ChannelProfile.js +11 -11
  38. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  39. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  40. package/ChannelSettings/components/LeaveChannel.js +11 -11
  41. package/ChannelSettings/components/ModerationPanel.js +27 -21
  42. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  43. package/ChannelSettings/components/UserListItem.js +10 -10
  44. package/ChannelSettings/components/UserPanel.js +13 -13
  45. package/ChannelSettings/context.js +3 -3
  46. package/ChannelSettings.js +17 -17
  47. package/CreateChannel/components/CreateChannelUI.js +13 -13
  48. package/CreateChannel/components/InviteUsers.js +15 -14
  49. package/CreateChannel/components/InviteUsers.js.map +1 -1
  50. package/CreateChannel/components/SelectChannelType.js +10 -10
  51. package/CreateChannel/context.js +4 -4
  52. package/CreateChannel.js +13 -13
  53. package/{CreateChannelProvider-1ba7a571.js → CreateChannelProvider-11c8b9a3.js} +1 -1
  54. package/{CreateChannelProvider-1ba7a571.js.map → CreateChannelProvider-11c8b9a3.js.map} +1 -1
  55. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  56. package/CreateOpenChannel/context.js +1 -1
  57. package/CreateOpenChannel.js +9 -9
  58. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  59. package/EditUserProfile.js +12 -12
  60. package/{LocalizationContext-ae38446a.js → LocalizationContext-076d6d2e.js} +3 -3
  61. package/{LocalizationContext-ae38446a.js.map → LocalizationContext-076d6d2e.js.map} +1 -1
  62. package/{MediaQueryContext-8d283dc2.js → MediaQueryContext-11f0e43f.js} +20 -15
  63. package/MediaQueryContext-11f0e43f.js.map +1 -0
  64. package/{MemberList-38971d43.js → MemberList-061d186f.js} +17 -11
  65. package/MemberList-061d186f.js.map +1 -0
  66. package/Message/context.js +5 -1
  67. package/Message/context.js.map +1 -1
  68. package/MessageSearch/components/MessageSearchUI.js +11 -11
  69. package/MessageSearch/context.js +1 -1
  70. package/MessageSearch.js +11 -11
  71. package/MessageSearch.js.map +1 -1
  72. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  73. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  74. package/OpenChannel/components/OpenChannelInput.js +33 -25
  75. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  76. package/OpenChannel/components/OpenChannelMessage.js +27 -27
  77. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  78. package/OpenChannel/components/OpenChannelUI.js +31 -31
  79. package/OpenChannel/context.js +8 -8
  80. package/OpenChannel.js +31 -31
  81. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  82. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  83. package/OpenChannelList/context.js +3 -3
  84. package/OpenChannelList.js +13 -13
  85. package/{OpenChannelListProvider-e0add710.js → OpenChannelListProvider-426cfb39.js} +3 -3
  86. package/{OpenChannelListProvider-e0add710.js.map → OpenChannelListProvider-426cfb39.js.map} +1 -1
  87. package/{OpenChannelProvider-49db4c6c.js → OpenChannelProvider-d3a850e3.js} +7 -7
  88. package/{OpenChannelProvider-49db4c6c.js.map → OpenChannelProvider-d3a850e3.js.map} +1 -1
  89. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  90. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  91. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  92. package/OpenChannelSettings/components/OperatorUI.js +32 -24
  93. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  94. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  95. package/OpenChannelSettings/context.js +3 -3
  96. package/OpenChannelSettings.js +17 -17
  97. package/{RemoveMessageModal-10f50eae.js → RemoveMessageModal-78e395ad.js} +3 -3
  98. package/{RemoveMessageModal-10f50eae.js.map → RemoveMessageModal-78e395ad.js.map} +1 -1
  99. package/SendbirdProvider.js +378 -76
  100. package/SendbirdProvider.js.map +1 -1
  101. package/Thread/components/ParentMessageInfo.js +97 -52
  102. package/Thread/components/ParentMessageInfo.js.map +1 -1
  103. package/Thread/components/ParentMessageInfoItem.js +33 -25
  104. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  105. package/Thread/components/ThreadHeader.js +7 -7
  106. package/Thread/components/ThreadHeader.js.map +1 -1
  107. package/Thread/components/ThreadList.js +40 -33
  108. package/Thread/components/ThreadList.js.map +1 -1
  109. package/Thread/components/ThreadListItem.js +94 -50
  110. package/Thread/components/ThreadListItem.js.map +1 -1
  111. package/Thread/components/ThreadMessageInput.js +37 -39
  112. package/Thread/components/ThreadMessageInput.js.map +1 -1
  113. package/Thread/components/ThreadUI.js +56 -46
  114. package/Thread/components/ThreadUI.js.map +1 -1
  115. package/Thread/context.js +8 -8
  116. package/Thread.js +49 -42
  117. package/Thread.js.map +1 -1
  118. package/{ThreadProvider-128d5041.js → ThreadProvider-3a4a4db0.js} +11 -8
  119. package/ThreadProvider-3a4a4db0.js.map +1 -0
  120. package/{UserProfileContext-91e3b3f2.js → UserProfileContext-9cfbab4d.js} +1 -1
  121. package/{UserProfileContext-91e3b3f2.js.map → UserProfileContext-9cfbab4d.js.map} +1 -1
  122. package/{VoiceMessageInputWrapper-cbfa4f2b.js → VoiceMessageInputWrapper-dc459df1.js} +7 -7
  123. package/{VoiceMessageInputWrapper-cbfa4f2b.js.map → VoiceMessageInputWrapper-dc459df1.js.map} +1 -1
  124. package/VoicePlayer/context.js +3 -3
  125. package/VoicePlayer/useVoicePlayer.js +3 -3
  126. package/VoiceRecorder/context.js +11 -4
  127. package/VoiceRecorder/context.js.map +1 -1
  128. package/VoiceRecorder/useVoiceRecorder.js +2 -2
  129. package/{WebAudioUtils-5f47139c.js → WebAudioUtils-6df19fcc.js} +1 -1
  130. package/{WebAudioUtils-5f47139c.js.map → WebAudioUtils-6df19fcc.js.map} +1 -1
  131. package/{_rollupPluginBabelHelpers-eaf55eff.js → _rollupPluginBabelHelpers-6bb0305c.js} +1 -1
  132. package/_rollupPluginBabelHelpers-6bb0305c.js.map +1 -0
  133. package/{actionTypes-98eee9f4.js → actionTypes-ce6caec1.js} +1 -1
  134. package/{actionTypes-98eee9f4.js.map → actionTypes-ce6caec1.js.map} +1 -1
  135. package/cjs/App.js +123 -74
  136. package/cjs/App.js.map +1 -1
  137. package/cjs/Channel/components/ChannelHeader.js +18 -18
  138. package/cjs/Channel/components/ChannelUI.js +46 -41
  139. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  140. package/cjs/Channel/components/FileViewer.js +14 -14
  141. package/cjs/Channel/components/FrozenNotification.js +4 -4
  142. package/cjs/Channel/components/Message.js +59 -45
  143. package/cjs/Channel/components/Message.js.map +1 -1
  144. package/cjs/Channel/components/MessageInput.js +40 -38
  145. package/cjs/Channel/components/MessageInput.js.map +1 -1
  146. package/cjs/Channel/components/MessageList.js +85 -46
  147. package/cjs/Channel/components/MessageList.js.map +1 -1
  148. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  149. package/cjs/Channel/components/SuggestedMentionList.js +16 -16
  150. package/cjs/Channel/components/TypingIndicator.js +14 -14
  151. package/cjs/Channel/components/UnreadCount.js +5 -5
  152. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  153. package/cjs/Channel/context.js +11 -11
  154. package/cjs/Channel.js +46 -41
  155. package/cjs/Channel.js.map +1 -1
  156. package/cjs/ChannelList/components/AddChannel.js +14 -14
  157. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  158. package/cjs/ChannelList/components/ChannelListUI.js +33 -32
  159. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  160. package/cjs/ChannelList/components/ChannelPreview.js +26 -26
  161. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -14
  163. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  164. package/cjs/ChannelList/context.js +7 -7
  165. package/cjs/ChannelList.js +29 -29
  166. package/cjs/{ChannelListProvider-634b78f3.js → ChannelListProvider-6f1b6689.js} +19 -37
  167. package/cjs/ChannelListProvider-6f1b6689.js.map +1 -0
  168. package/cjs/{ChannelProvider-5366f030.js → ChannelProvider-da7b08a1.js} +81 -28
  169. package/cjs/ChannelProvider-da7b08a1.js.map +1 -0
  170. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  171. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  172. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  173. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  174. package/cjs/ChannelSettings/components/ModerationPanel.js +27 -21
  175. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  176. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  177. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  178. package/cjs/ChannelSettings/context.js +3 -3
  179. package/cjs/ChannelSettings.js +17 -17
  180. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  181. package/cjs/CreateChannel/components/InviteUsers.js +15 -14
  182. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  183. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  184. package/cjs/CreateChannel/context.js +4 -4
  185. package/cjs/CreateChannel.js +13 -13
  186. package/cjs/{CreateChannelProvider-65dcc450.js → CreateChannelProvider-2f105a5c.js} +1 -1
  187. package/cjs/{CreateChannelProvider-65dcc450.js.map → CreateChannelProvider-2f105a5c.js.map} +1 -1
  188. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  189. package/cjs/CreateOpenChannel/context.js +1 -1
  190. package/cjs/CreateOpenChannel.js +9 -9
  191. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  192. package/cjs/EditUserProfile.js +12 -12
  193. package/cjs/{LocalizationContext-4fa55e6b.js → LocalizationContext-df436a16.js} +3 -3
  194. package/cjs/{LocalizationContext-4fa55e6b.js.map → LocalizationContext-df436a16.js.map} +1 -1
  195. package/cjs/{MediaQueryContext-e443379e.js → MediaQueryContext-f1e8fdbc.js} +20 -15
  196. package/cjs/MediaQueryContext-f1e8fdbc.js.map +1 -0
  197. package/cjs/{MemberList-3736f22c.js → MemberList-c886fbc9.js} +17 -11
  198. package/cjs/MemberList-c886fbc9.js.map +1 -0
  199. package/cjs/Message/context.js +5 -1
  200. package/cjs/Message/context.js.map +1 -1
  201. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  202. package/cjs/MessageSearch/context.js +1 -1
  203. package/cjs/MessageSearch.js +11 -11
  204. package/cjs/MessageSearch.js.map +1 -1
  205. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  206. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  207. package/cjs/OpenChannel/components/OpenChannelInput.js +33 -25
  208. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  209. package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
  210. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  211. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  212. package/cjs/OpenChannel/context.js +8 -8
  213. package/cjs/OpenChannel.js +31 -31
  214. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  215. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  216. package/cjs/OpenChannelList/context.js +3 -3
  217. package/cjs/OpenChannelList.js +13 -13
  218. package/cjs/{OpenChannelListProvider-458abc0e.js → OpenChannelListProvider-b7914f1a.js} +3 -3
  219. package/cjs/{OpenChannelListProvider-458abc0e.js.map → OpenChannelListProvider-b7914f1a.js.map} +1 -1
  220. package/cjs/{OpenChannelProvider-84f42ba8.js → OpenChannelProvider-b431f910.js} +7 -7
  221. package/cjs/{OpenChannelProvider-84f42ba8.js.map → OpenChannelProvider-b431f910.js.map} +1 -1
  222. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  223. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  224. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  225. package/cjs/OpenChannelSettings/components/OperatorUI.js +32 -24
  226. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  227. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  228. package/cjs/OpenChannelSettings/context.js +3 -3
  229. package/cjs/OpenChannelSettings.js +17 -17
  230. package/cjs/{RemoveMessageModal-3535563a.js → RemoveMessageModal-bcf3c6fe.js} +3 -3
  231. package/cjs/{RemoveMessageModal-3535563a.js.map → RemoveMessageModal-bcf3c6fe.js.map} +1 -1
  232. package/cjs/SendbirdProvider.js +377 -75
  233. package/cjs/SendbirdProvider.js.map +1 -1
  234. package/cjs/Thread/components/ParentMessageInfo.js +97 -52
  235. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  236. package/cjs/Thread/components/ParentMessageInfoItem.js +33 -25
  237. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  238. package/cjs/Thread/components/ThreadHeader.js +7 -7
  239. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  240. package/cjs/Thread/components/ThreadList.js +40 -33
  241. package/cjs/Thread/components/ThreadList.js.map +1 -1
  242. package/cjs/Thread/components/ThreadListItem.js +94 -50
  243. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  244. package/cjs/Thread/components/ThreadMessageInput.js +37 -39
  245. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  246. package/cjs/Thread/components/ThreadUI.js +56 -46
  247. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  248. package/cjs/Thread/context.js +8 -8
  249. package/cjs/Thread.js +49 -42
  250. package/cjs/Thread.js.map +1 -1
  251. package/cjs/{ThreadProvider-d38505b4.js → ThreadProvider-654b9db0.js} +11 -8
  252. package/cjs/ThreadProvider-654b9db0.js.map +1 -0
  253. package/cjs/{UserProfileContext-83eaf6e8.js → UserProfileContext-0c255fa6.js} +1 -1
  254. package/cjs/{UserProfileContext-83eaf6e8.js.map → UserProfileContext-0c255fa6.js.map} +1 -1
  255. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js → VoiceMessageInputWrapper-2aaed45b.js} +7 -7
  256. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js.map → VoiceMessageInputWrapper-2aaed45b.js.map} +1 -1
  257. package/cjs/VoicePlayer/context.js +3 -3
  258. package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
  259. package/cjs/VoiceRecorder/context.js +11 -4
  260. package/cjs/VoiceRecorder/context.js.map +1 -1
  261. package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
  262. package/cjs/{WebAudioUtils-00b9890d.js → WebAudioUtils-58f47b3f.js} +1 -1
  263. package/cjs/{WebAudioUtils-00b9890d.js.map → WebAudioUtils-58f47b3f.js.map} +1 -1
  264. package/cjs/{_rollupPluginBabelHelpers-2c0fc9c3.js → _rollupPluginBabelHelpers-5fad415d.js} +1 -1
  265. package/cjs/_rollupPluginBabelHelpers-5fad415d.js.map +1 -0
  266. package/cjs/{actionTypes-fb3f6a66.js → actionTypes-6cbf2054.js} +1 -1
  267. package/cjs/{actionTypes-fb3f6a66.js.map → actionTypes-6cbf2054.js.map} +1 -1
  268. package/cjs/{color-83cbca20.js → color-026d07a6.js} +1 -1
  269. package/cjs/{color-83cbca20.js.map → color-026d07a6.js.map} +1 -1
  270. package/cjs/{compareIds-c2907ec8.js → compareIds-f064c47d.js} +1 -1
  271. package/cjs/{compareIds-c2907ec8.js.map → compareIds-f064c47d.js.map} +1 -1
  272. package/cjs/{const-75153738.js → const-0a12bf51.js} +1 -1
  273. package/cjs/{const-75153738.js.map → const-0a12bf51.js.map} +1 -1
  274. package/cjs/{const-17970c49.js → const-692d0039.js} +1 -1
  275. package/cjs/{const-17970c49.js.map → const-692d0039.js.map} +1 -1
  276. package/cjs/{consts-5ead6f3b.js → consts-25fc4351.js} +1 -1
  277. package/cjs/{consts-5ead6f3b.js.map → consts-25fc4351.js.map} +1 -1
  278. package/cjs/{consts-0db2bedc.js → consts-297fdae1.js} +3 -3
  279. package/cjs/consts-297fdae1.js.map +1 -0
  280. package/cjs/{consts-d2103ed5.js → consts-2f667487.js} +1 -1
  281. package/cjs/{consts-d2103ed5.js.map → consts-2f667487.js.map} +1 -1
  282. package/cjs/{consts-aaf1208c.js → consts-f0dc64d0.js} +1 -1
  283. package/cjs/{consts-aaf1208c.js.map → consts-f0dc64d0.js.map} +1 -1
  284. package/cjs/{context-d9a84cb9.js → context-ec9b8da1.js} +2 -2
  285. package/cjs/{context-d9a84cb9.js.map → context-ec9b8da1.js.map} +1 -1
  286. package/cjs/dist/index.css +161 -89
  287. package/cjs/dist/index.css.map +1 -1
  288. package/cjs/{index-6ac703ea.js → index-0bd8e5f3.js} +18 -12
  289. package/cjs/index-0bd8e5f3.js.map +1 -0
  290. package/cjs/{index-47e4bdbc.js → index-0f42efcf.js} +1 -1
  291. package/cjs/{index-47e4bdbc.js.map → index-0f42efcf.js.map} +1 -1
  292. package/cjs/{index-09f8f2a4.js → index-12ce8274.js} +3 -3
  293. package/cjs/{index-09f8f2a4.js.map → index-12ce8274.js.map} +1 -1
  294. package/cjs/{index-552eb819.js → index-162396f5.js} +3 -3
  295. package/cjs/{index-552eb819.js.map → index-162396f5.js.map} +1 -1
  296. package/cjs/{index-c8c25288.js → index-21392a2e.js} +3 -3
  297. package/cjs/{index-c8c25288.js.map → index-21392a2e.js.map} +1 -1
  298. package/cjs/{index-265937df.js → index-33b67e46.js} +18 -2
  299. package/cjs/index-33b67e46.js.map +1 -0
  300. package/cjs/{index-61c3208b.js → index-450be53e.js} +4 -4
  301. package/cjs/{index-61c3208b.js.map → index-450be53e.js.map} +1 -1
  302. package/cjs/{index-5307f6c1.js → index-45cee454.js} +12 -7
  303. package/cjs/index-45cee454.js.map +1 -0
  304. package/cjs/{index-01768a5e.js → index-4881e776.js} +6 -6
  305. package/cjs/{index-01768a5e.js.map → index-4881e776.js.map} +1 -1
  306. package/cjs/{index-56735815.js → index-606495e5.js} +5 -5
  307. package/cjs/{index-56735815.js.map → index-606495e5.js.map} +1 -1
  308. package/cjs/index-6e05ddef.js +441 -0
  309. package/cjs/index-6e05ddef.js.map +1 -0
  310. package/cjs/{index-41ce4c44.js → index-80fc14fe.js} +2 -2
  311. package/cjs/{index-41ce4c44.js.map → index-80fc14fe.js.map} +1 -1
  312. package/cjs/{index-1737cbae.js → index-9b38e167.js} +4 -4
  313. package/cjs/{index-1737cbae.js.map → index-9b38e167.js.map} +1 -1
  314. package/cjs/{index-fcd2f4ff.js → index-a715eaef.js} +3 -2
  315. package/cjs/{index-fcd2f4ff.js.map → index-a715eaef.js.map} +1 -1
  316. package/cjs/{index-be9c5a7d.js → index-bf4e62fb.js} +2 -2
  317. package/cjs/{index-be9c5a7d.js.map → index-bf4e62fb.js.map} +1 -1
  318. package/cjs/{index-22bdf04e.js → index-c89616c9.js} +2 -2
  319. package/cjs/{index-22bdf04e.js.map → index-c89616c9.js.map} +1 -1
  320. package/cjs/{index-10d8f30f.js → index-dd9bc361.js} +1 -1
  321. package/cjs/{index-10d8f30f.js.map → index-dd9bc361.js.map} +1 -1
  322. package/cjs/index.js +60 -58
  323. package/cjs/index.js.map +1 -1
  324. package/cjs/{index.module-3e7701ca.js → index.module-e5552393.js} +1 -1
  325. package/cjs/{index.module-3e7701ca.js.map → index.module-e5552393.js.map} +1 -1
  326. package/cjs/sendbirdSelectors.js +3 -3
  327. package/cjs/{stringSet-c24927d9.js → stringSet-d7f78de0.js} +1 -1
  328. package/cjs/{stringSet-c24927d9.js.map → stringSet-d7f78de0.js.map} +1 -1
  329. package/cjs/{tokenize-1441f448.js → tokenize-595877b4.js} +7 -3
  330. package/cjs/tokenize-595877b4.js.map +1 -0
  331. package/cjs/{topics-0df2f6f9.js → topics-2431bb78.js} +1 -1
  332. package/cjs/{topics-0df2f6f9.js.map → topics-2431bb78.js.map} +1 -1
  333. package/cjs/{types-df20b895.js → types-ef51254c.js} +1 -1
  334. package/cjs/types-ef51254c.js.map +1 -0
  335. package/cjs/ui/Accordion.js +2 -2
  336. package/cjs/ui/AccordionGroup.js +2 -2
  337. package/cjs/ui/AdminMessage.js +2 -2
  338. package/cjs/ui/Avatar.js +1 -1
  339. package/cjs/ui/Badge.js +4 -4
  340. package/cjs/ui/BottomSheet.js +1 -1
  341. package/cjs/ui/Button.js +2 -2
  342. package/cjs/ui/ChannelAvatar.js +2 -2
  343. package/cjs/ui/ConnectionStatus.js +4 -4
  344. package/cjs/ui/ContextMenu.js +39 -26
  345. package/cjs/ui/ContextMenu.js.map +1 -1
  346. package/cjs/ui/DateSeparator.js +3 -3
  347. package/cjs/ui/EmojiReactions.js +252 -47
  348. package/cjs/ui/EmojiReactions.js.map +1 -1
  349. package/cjs/ui/FileMessageItemBody.js +6 -6
  350. package/cjs/ui/FileViewer.js +8 -8
  351. package/cjs/ui/Icon.js +190 -167
  352. package/cjs/ui/Icon.js.map +1 -1
  353. package/cjs/ui/IconButton.js +1 -1
  354. package/cjs/ui/Input.js +2 -2
  355. package/cjs/ui/Label.js +2 -2
  356. package/cjs/ui/LinkLabel.js +2 -2
  357. package/cjs/ui/MentionLabel.js +10 -10
  358. package/cjs/ui/MentionUserLabel.js +1 -1
  359. package/cjs/ui/MessageContent.js +60 -401
  360. package/cjs/ui/MessageContent.js.map +1 -1
  361. package/cjs/ui/MessageInput.js +12 -12
  362. package/cjs/ui/MessageItemMenu.js +22 -15
  363. package/cjs/ui/MessageItemMenu.js.map +1 -1
  364. package/cjs/ui/MessageItemReactionMenu.js +14 -7
  365. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  366. package/cjs/ui/MessageSearchFileItem.js +10 -10
  367. package/cjs/ui/MessageSearchItem.js +8 -8
  368. package/cjs/ui/MessageStatus.js +10 -10
  369. package/cjs/ui/Modal.js +7 -7
  370. package/cjs/ui/OGMessageItemBody.js +14 -14
  371. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  372. package/cjs/ui/OpenChannelAvatar.js +5 -5
  373. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  374. package/cjs/ui/OpenchannelFileMessage.js +19 -17
  375. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  376. package/cjs/ui/OpenchannelOGMessage.js +53 -55
  377. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  378. package/cjs/ui/OpenchannelThumbnailMessage.js +18 -16
  379. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  380. package/cjs/ui/OpenchannelUserMessage.js +23 -19
  381. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  382. package/cjs/ui/PlaceHolder.js +5 -5
  383. package/cjs/ui/PlaybackTime.js +2 -2
  384. package/cjs/ui/QuoteMessage.js +6 -6
  385. package/cjs/ui/QuoteMessageInput.js +6 -6
  386. package/cjs/ui/ReactionBadge.js +2 -2
  387. package/cjs/ui/ReactionButton.js +18 -12
  388. package/cjs/ui/ReactionButton.js.map +1 -1
  389. package/cjs/ui/SortByRow.js +1 -1
  390. package/cjs/ui/TextButton.js +1 -1
  391. package/cjs/ui/TextMessageItemBody.js +14 -14
  392. package/cjs/ui/ThreadReplies.js +5 -5
  393. package/cjs/ui/ThumbnailMessageItemBody.js +15 -9
  394. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  395. package/cjs/ui/Toggle.js +1 -1
  396. package/cjs/ui/Tooltip.js +2 -2
  397. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  398. package/cjs/ui/UserListItem.js +14 -13
  399. package/cjs/ui/UserListItem.js.map +1 -1
  400. package/cjs/ui/UserProfile.js +9 -9
  401. package/cjs/ui/VoiceMessageItemBody.js +5 -5
  402. package/cjs/ui/VoiceMessgeInput.js +7 -7
  403. package/cjs/ui/Word.js +10 -10
  404. package/cjs/useDirtyGetMentions-cc7de01f.js +77 -0
  405. package/cjs/useDirtyGetMentions-cc7de01f.js.map +1 -0
  406. package/cjs/{useLongPress-8aa00a28.js → useLongPress-68ad7161.js} +9 -5
  407. package/cjs/useLongPress-68ad7161.js.map +1 -0
  408. package/cjs/useSendbirdStateContext.js +1 -1
  409. package/cjs/utils/message/isVoiceMessage.js +2 -2
  410. package/cjs/{utils-4717b83e.js → utils-080f7835.js} +2 -2
  411. package/cjs/{utils-4717b83e.js.map → utils-080f7835.js.map} +1 -1
  412. package/cjs/{utils-a1fead2f.js → utils-279e7553.js} +1 -1
  413. package/cjs/{utils-a1fead2f.js.map → utils-279e7553.js.map} +1 -1
  414. package/cjs/{utils-111f523c.js → utils-53aa911b.js} +1 -1
  415. package/cjs/{utils-111f523c.js.map → utils-53aa911b.js.map} +1 -1
  416. package/cjs/{utils-93abfb7c.js → utils-58e012fb.js} +1 -1
  417. package/cjs/{utils-93abfb7c.js.map → utils-58e012fb.js.map} +1 -1
  418. package/cjs/{uuid-c854e2a9.js → uuid-2953f4dd.js} +1 -1
  419. package/cjs/{uuid-c854e2a9.js.map → uuid-2953f4dd.js.map} +1 -1
  420. package/cjs/withSendbird.js +1 -1
  421. package/{color-c1b95a91.js → color-879cc347.js} +1 -1
  422. package/{color-c1b95a91.js.map → color-879cc347.js.map} +1 -1
  423. package/{compareIds-74cf4016.js → compareIds-defe2bb3.js} +1 -1
  424. package/{compareIds-74cf4016.js.map → compareIds-defe2bb3.js.map} +1 -1
  425. package/{const-befef81d.js → const-221c6a89.js} +1 -1
  426. package/{const-befef81d.js.map → const-221c6a89.js.map} +1 -1
  427. package/{const-3af04f0a.js → const-b3f02313.js} +1 -1
  428. package/{const-3af04f0a.js.map → const-b3f02313.js.map} +1 -1
  429. package/{consts-354db0d9.js → consts-81544e52.js} +1 -1
  430. package/{consts-354db0d9.js.map → consts-81544e52.js.map} +1 -1
  431. package/{consts-9ece4263.js → consts-95d8566e.js} +3 -3
  432. package/consts-95d8566e.js.map +1 -0
  433. package/{consts-bb6cbaee.js → consts-c41580ae.js} +1 -1
  434. package/{consts-bb6cbaee.js.map → consts-c41580ae.js.map} +1 -1
  435. package/{consts-a8bc28bd.js → consts-ff014656.js} +1 -1
  436. package/{consts-a8bc28bd.js.map → consts-ff014656.js.map} +1 -1
  437. package/{context-38bde7ff.js → context-63cbe5bd.js} +2 -2
  438. package/{context-38bde7ff.js.map → context-63cbe5bd.js.map} +1 -1
  439. package/dist/index.css +161 -89
  440. package/dist/index.css.map +1 -1
  441. package/{index-4554e20e.js → index-2c3e11ea.js} +4 -4
  442. package/{index-4554e20e.js.map → index-2c3e11ea.js.map} +1 -1
  443. package/{index-1be3f6d7.js → index-306bc4ab.js} +3 -3
  444. package/{index-1be3f6d7.js.map → index-306bc4ab.js.map} +1 -1
  445. package/{index-14bb6832.js → index-38e61c64.js} +1 -1
  446. package/{index-14bb6832.js.map → index-38e61c64.js.map} +1 -1
  447. package/{index-96f6e11b.js → index-5c1b672d.js} +6 -6
  448. package/{index-96f6e11b.js.map → index-5c1b672d.js.map} +1 -1
  449. package/{index-ae8e6fc3.js → index-5c985608.js} +3 -3
  450. package/{index-ae8e6fc3.js.map → index-5c985608.js.map} +1 -1
  451. package/{index-a900bd78.js → index-63949de5.js} +2 -2
  452. package/{index-a900bd78.js.map → index-63949de5.js.map} +1 -1
  453. package/{index-67dd0c26.js → index-7cdd58b8.js} +2 -2
  454. package/{index-67dd0c26.js.map → index-7cdd58b8.js.map} +1 -1
  455. package/{index-d8fdbe6f.js → index-7eb65acf.js} +16 -3
  456. package/index-7eb65acf.js.map +1 -0
  457. package/{index-321e838f.js → index-99aabd9e.js} +1 -1
  458. package/{index-321e838f.js.map → index-99aabd9e.js.map} +1 -1
  459. package/{index-1556dc4a.js → index-9e49ffe3.js} +3 -3
  460. package/{index-1556dc4a.js.map → index-9e49ffe3.js.map} +1 -1
  461. package/index-aca30408.js +435 -0
  462. package/index-aca30408.js.map +1 -0
  463. package/{index-aa215b1c.js → index-cef1cfff.js} +3 -3
  464. package/{index-aa215b1c.js.map → index-cef1cfff.js.map} +1 -1
  465. package/{index-88ab67cc.js → index-e6e562c5.js} +4 -4
  466. package/{index-88ab67cc.js.map → index-e6e562c5.js.map} +1 -1
  467. package/{index-8bf82e3b.js → index-eaf0d65b.js} +18 -12
  468. package/index-eaf0d65b.js.map +1 -0
  469. package/{index-ecf3a793.js → index-f7ec60a8.js} +12 -7
  470. package/index-f7ec60a8.js.map +1 -0
  471. package/{index-db801708.js → index-fb8a5bc3.js} +5 -5
  472. package/{index-db801708.js.map → index-fb8a5bc3.js.map} +1 -1
  473. package/{index-8a4d2b6e.js → index-fe932783.js} +2 -2
  474. package/{index-8a4d2b6e.js.map → index-fe932783.js.map} +1 -1
  475. package/index.d.ts +5 -2
  476. package/index.js +60 -58
  477. package/index.js.map +1 -1
  478. package/{index.module-1c75b4f5.js → index.module-54d57ec3.js} +1 -1
  479. package/{index.module-1c75b4f5.js.map → index.module-54d57ec3.js.map} +1 -1
  480. package/package.json +2 -2
  481. package/sendbirdSelectors.js +3 -3
  482. package/{stringSet-6d89212b.js → stringSet-13bbd4a2.js} +1 -1
  483. package/{stringSet-6d89212b.js.map → stringSet-13bbd4a2.js.map} +1 -1
  484. package/{tokenize-2e969273.js → tokenize-c40f2b57.js} +7 -3
  485. package/tokenize-c40f2b57.js.map +1 -0
  486. package/{topics-8f4016e9.js → topics-b2b77fb9.js} +1 -1
  487. package/{topics-8f4016e9.js.map → topics-b2b77fb9.js.map} +1 -1
  488. package/{types-ebbbec62.js → types-4ff4177c.js} +1 -1
  489. package/types-4ff4177c.js.map +1 -0
  490. package/ui/Accordion.js +2 -2
  491. package/ui/AccordionGroup.js +2 -2
  492. package/ui/AdminMessage.js +2 -2
  493. package/ui/Avatar.js +1 -1
  494. package/ui/Badge.js +4 -4
  495. package/ui/BottomSheet.js +1 -1
  496. package/ui/Button.js +2 -2
  497. package/ui/ChannelAvatar.js +2 -2
  498. package/ui/ConnectionStatus.js +4 -4
  499. package/ui/ContextMenu.js +39 -26
  500. package/ui/ContextMenu.js.map +1 -1
  501. package/ui/DateSeparator.js +3 -3
  502. package/ui/EmojiReactions.js +253 -48
  503. package/ui/EmojiReactions.js.map +1 -1
  504. package/ui/FileMessageItemBody.js +6 -6
  505. package/ui/FileViewer.js +8 -8
  506. package/ui/Icon.js +190 -167
  507. package/ui/Icon.js.map +1 -1
  508. package/ui/IconButton.js +1 -1
  509. package/ui/Input.js +2 -2
  510. package/ui/Label.js +2 -2
  511. package/ui/LinkLabel.js +2 -2
  512. package/ui/MentionLabel.js +10 -10
  513. package/ui/MentionUserLabel.js +1 -1
  514. package/ui/MessageContent.js +61 -402
  515. package/ui/MessageContent.js.map +1 -1
  516. package/ui/MessageInput.js +12 -12
  517. package/ui/MessageItemMenu.js +22 -15
  518. package/ui/MessageItemMenu.js.map +1 -1
  519. package/ui/MessageItemReactionMenu.js +14 -7
  520. package/ui/MessageItemReactionMenu.js.map +1 -1
  521. package/ui/MessageSearchFileItem.js +10 -10
  522. package/ui/MessageSearchItem.js +8 -8
  523. package/ui/MessageStatus.js +10 -10
  524. package/ui/Modal.js +7 -7
  525. package/ui/OGMessageItemBody.js +14 -14
  526. package/ui/OpenChannelAdminMessage.js +2 -2
  527. package/ui/OpenChannelAvatar.js +5 -5
  528. package/ui/OpenchannelConversationHeader.js +6 -6
  529. package/ui/OpenchannelFileMessage.js +19 -17
  530. package/ui/OpenchannelFileMessage.js.map +1 -1
  531. package/ui/OpenchannelOGMessage.js +53 -55
  532. package/ui/OpenchannelOGMessage.js.map +1 -1
  533. package/ui/OpenchannelThumbnailMessage.js +18 -16
  534. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  535. package/ui/OpenchannelUserMessage.js +23 -19
  536. package/ui/OpenchannelUserMessage.js.map +1 -1
  537. package/ui/PlaceHolder.js +5 -5
  538. package/ui/PlaybackTime.js +2 -2
  539. package/ui/QuoteMessage.js +6 -6
  540. package/ui/QuoteMessageInput.js +6 -6
  541. package/ui/ReactionBadge.js +2 -2
  542. package/ui/ReactionButton.js +18 -12
  543. package/ui/ReactionButton.js.map +1 -1
  544. package/ui/SortByRow.js +1 -1
  545. package/ui/TextButton.js +1 -1
  546. package/ui/TextMessageItemBody.js +14 -14
  547. package/ui/ThreadReplies.js +5 -5
  548. package/ui/ThumbnailMessageItemBody.js +15 -9
  549. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  550. package/ui/Toggle.js +1 -1
  551. package/ui/Tooltip.js +2 -2
  552. package/ui/UnknownMessageItemBody.js +6 -6
  553. package/ui/UserListItem.js +14 -13
  554. package/ui/UserListItem.js.map +1 -1
  555. package/ui/UserProfile.js +9 -9
  556. package/ui/VoiceMessageItemBody.js +5 -5
  557. package/ui/VoiceMessgeInput.js +7 -7
  558. package/ui/Word.js +10 -10
  559. package/useDirtyGetMentions-aa730e2c.js +75 -0
  560. package/useDirtyGetMentions-aa730e2c.js.map +1 -0
  561. package/{useLongPress-8d44d259.js → useLongPress-1303953d.js} +9 -5
  562. package/useLongPress-1303953d.js.map +1 -0
  563. package/useSendbirdStateContext.js +1 -1
  564. package/utils/message/isVoiceMessage.js +2 -2
  565. package/{utils-b42f4fab.js → utils-30d3ca65.js} +2 -2
  566. package/{utils-b42f4fab.js.map → utils-30d3ca65.js.map} +1 -1
  567. package/{utils-c8b489c4.js → utils-4bbbca2c.js} +1 -1
  568. package/{utils-c8b489c4.js.map → utils-4bbbca2c.js.map} +1 -1
  569. package/{utils-7d781542.js → utils-a2009c36.js} +1 -1
  570. package/{utils-7d781542.js.map → utils-a2009c36.js.map} +1 -1
  571. package/{utils-8e039c1b.js → utils-d86ad6ab.js} +1 -1
  572. package/{utils-8e039c1b.js.map → utils-d86ad6ab.js.map} +1 -1
  573. package/{uuid-c94bd88b.js → uuid-1adedf62.js} +1 -1
  574. package/{uuid-c94bd88b.js.map → uuid-1adedf62.js.map} +1 -1
  575. package/withSendbird.js +1 -1
  576. package/ChannelListProvider-1d8f4d94.js.map +0 -1
  577. package/ChannelProvider-bba4a095.js.map +0 -1
  578. package/MediaQueryContext-8d283dc2.js.map +0 -1
  579. package/MemberList-38971d43.js.map +0 -1
  580. package/ThreadProvider-128d5041.js.map +0 -1
  581. package/_rollupPluginBabelHelpers-eaf55eff.js.map +0 -1
  582. package/cjs/ChannelListProvider-634b78f3.js.map +0 -1
  583. package/cjs/ChannelProvider-5366f030.js.map +0 -1
  584. package/cjs/MediaQueryContext-e443379e.js.map +0 -1
  585. package/cjs/MemberList-3736f22c.js.map +0 -1
  586. package/cjs/ThreadProvider-d38505b4.js.map +0 -1
  587. package/cjs/_rollupPluginBabelHelpers-2c0fc9c3.js.map +0 -1
  588. package/cjs/consts-0db2bedc.js.map +0 -1
  589. package/cjs/index-265937df.js.map +0 -1
  590. package/cjs/index-5307f6c1.js.map +0 -1
  591. package/cjs/index-6ac703ea.js.map +0 -1
  592. package/cjs/tokenize-1441f448.js.map +0 -1
  593. package/cjs/types-df20b895.js.map +0 -1
  594. package/cjs/useLongPress-8aa00a28.js.map +0 -1
  595. package/consts-9ece4263.js.map +0 -1
  596. package/index-8bf82e3b.js.map +0 -1
  597. package/index-d8fdbe6f.js.map +0 -1
  598. package/index-ecf3a793.js.map +0 -1
  599. package/tokenize-2e969273.js.map +0 -1
  600. package/types-ebbbec62.js.map +0 -1
  601. package/useLongPress-8d44d259.js.map +0 -1
@@ -1,23 +1,23 @@
1
- import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-eaf55eff.js';
2
- import React__default, { useLayoutEffect, useState, useEffect, useCallback, useMemo, useReducer } from 'react';
1
+ import { _ as _objectSpread2, a as _defineProperty } from './_rollupPluginBabelHelpers-6bb0305c.js';
2
+ import React__default, { useLayoutEffect, useState, useEffect, useCallback, useContext, createContext, useMemo, useReducer } from 'react';
3
3
  import { SendbirdSdkContext } from './withSendbird.js';
4
4
  import cssVars from 'css-vars-ponyfill';
5
- import { K } from './index.module-1c75b4f5.js';
6
- import { U as USER_ACTIONS } from './actionTypes-98eee9f4.js';
5
+ import { K } from './index.module-54d57ec3.js';
6
+ import { U as USER_ACTIONS } from './actionTypes-ce6caec1.js';
7
7
  import SendbirdChat, { ConnectionHandler } from '@sendbird/chat';
8
- import { u as uuidv4 } from './uuid-c94bd88b.js';
8
+ import { u as uuidv4 } from './uuid-1adedf62.js';
9
9
  import { OpenChannelModule } from '@sendbird/chat/openChannel';
10
10
  import { GroupChannelModule } from '@sendbird/chat/groupChannel';
11
- import { i as isTextuallyNull } from './index-d8fdbe6f.js';
12
- import { V as VoicePlayerProvider } from './index-ae8e6fc3.js';
11
+ import { i as isTextuallyNull } from './index-7eb65acf.js';
12
+ import { V as VoicePlayerProvider } from './index-5c985608.js';
13
13
  import { VoiceRecorderProvider } from './VoiceRecorder/context.js';
14
- import { L as LocalizationProvider } from './LocalizationContext-ae38446a.js';
15
- import { M as MediaQueryProvider } from './MediaQueryContext-8d283dc2.js';
16
- import { g as getStringSet } from './stringSet-6d89212b.js';
17
- import { V as VOICE_RECORDER_DEFAULT_MAX, a as VOICE_RECORDER_DEFAULT_MIN } from './consts-9ece4263.js';
14
+ import { L as LocalizationProvider } from './LocalizationContext-076d6d2e.js';
15
+ import { M as MediaQueryProvider } from './MediaQueryContext-11f0e43f.js';
16
+ import { g as getStringSet } from './stringSet-13bbd4a2.js';
17
+ import { V as VOICE_RECORDER_DEFAULT_MAX, a as VOICE_RECORDER_DEFAULT_MIN } from './consts-95d8566e.js';
18
18
  import './utils/message/getOutgoingMessageState.js';
19
19
  import './useSendbirdStateContext.js';
20
- import './index-321e838f.js';
20
+ import './index-99aabd9e.js';
21
21
 
22
22
  const isEmpty = obj => {
23
23
  if (obj === null || obj === undefined) {
@@ -322,6 +322,7 @@ async function disconnectSdk(_ref) {
322
322
  });
323
323
  }
324
324
 
325
+ const APP_VERSION_STRING = '3.4.9';
325
326
  const {
326
327
  INIT_SDK,
327
328
  SET_SDK_LOADING,
@@ -333,7 +334,6 @@ const {
333
334
  UPDATE_USER_INFO,
334
335
  RESET_USER
335
336
  } = USER_ACTIONS;
336
- const APP_VERSION_STRING = '3.4.8';
337
337
  function getMissingParamError(_ref) {
338
338
  let {
339
339
  userId,
@@ -370,7 +370,7 @@ function setUpParams(_ref2) {
370
370
  // 1.b. If yes, continue
371
371
  // 2. Set up params with custom host if provided
372
372
  // 3. Set up session handler if provided
373
- // 4. Set up version if not storybook
373
+ // 4. Set up version
374
374
  // 5. Connect to Sendbird -> either using user ID or (user ID + access token)
375
375
  // 6. If connected, connectCbSucess
376
376
  // 6.a check if nickname is to be updated -> no > !resolve immediately
@@ -381,6 +381,7 @@ async function setUpConnection(_ref3) {
381
381
  logger,
382
382
  sdkDispatcher,
383
383
  userDispatcher,
384
+ initDashboardConfigs,
384
385
  userId,
385
386
  appId,
386
387
  customApiHost,
@@ -401,6 +402,7 @@ async function setUpConnection(_ref3) {
401
402
  payload: true
402
403
  });
403
404
  if (userId && appId) {
405
+ var _logger$info3, _logger$info8;
404
406
  const newSdk = setUpParams({
405
407
  appId,
406
408
  customApiHost,
@@ -412,15 +414,11 @@ async function setUpConnection(_ref3) {
412
414
  logger === null || logger === void 0 ? void 0 : (_logger$info2 = logger.info) === null || _logger$info2 === void 0 ? void 0 : _logger$info2.call(logger, 'SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);
413
415
  newSdk.setSessionHandler(sessionHandler);
414
416
  }
415
- // to check if code is released version from rollup and *not from storybook*
416
- // see rollup config file
417
- // @ts-ignore
418
- {
419
- var _logger$info3;
420
- logger === null || logger === void 0 ? void 0 : (_logger$info3 = logger.info) === null || _logger$info3 === void 0 ? void 0 : _logger$info3.call(logger, 'SendbirdProvider | useConnect/setupConnection/setVersion', APP_VERSION_STRING);
421
- newSdk.addExtension('sb_uikit', APP_VERSION_STRING);
422
- }
423
- const connectCbSucess = user => {
417
+ logger === null || logger === void 0 ? void 0 : (_logger$info3 = logger.info) === null || _logger$info3 === void 0 ? void 0 : _logger$info3.call(logger, 'SendbirdProvider | useConnect/setupConnection/setVersion', {
418
+ version: APP_VERSION_STRING
419
+ });
420
+ newSdk.addExtension('sb_uikit', APP_VERSION_STRING);
421
+ const connectCbSucess = async user => {
424
422
  var _logger$info4;
425
423
  logger === null || logger === void 0 ? void 0 : (_logger$info4 = logger.info) === null || _logger$info4 === void 0 ? void 0 : _logger$info4.call(logger, 'SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);
426
424
  sdkDispatcher({
@@ -431,11 +429,23 @@ async function setUpConnection(_ref3) {
431
429
  type: INIT_USER,
432
430
  payload: user
433
431
  });
432
+ initDashboardConfigs(newSdk).then(config => {
433
+ var _logger$info5;
434
+ logger === null || logger === void 0 ? void 0 : (_logger$info5 = logger.info) === null || _logger$info5 === void 0 ? void 0 : _logger$info5.call(logger, 'SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration success', {
435
+ config
436
+ });
437
+ }).catch(error => {
438
+ var _logger$error;
439
+ logger === null || logger === void 0 ? void 0 : (_logger$error = logger.error) === null || _logger$error === void 0 ? void 0 : _logger$error.call(logger, 'SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration failed', {
440
+ error
441
+ });
442
+ });
443
+
434
444
  // use nickname/profileUrl if provided
435
445
  // or set userID as nickname
436
446
  if ((nickname !== user.nickname || profileUrl !== user.profileUrl) && !(isTextuallyNull(nickname) && isTextuallyNull(profileUrl))) {
437
- var _logger$info5;
438
- logger === null || logger === void 0 ? void 0 : (_logger$info5 = logger.info) === null || _logger$info5 === void 0 ? void 0 : _logger$info5.call(logger, 'SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {
447
+ var _logger$info6;
448
+ logger === null || logger === void 0 ? void 0 : (_logger$info6 = logger.info) === null || _logger$info6 === void 0 ? void 0 : _logger$info6.call(logger, 'SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {
439
449
  nickname,
440
450
  profileUrl
441
451
  });
@@ -443,8 +453,8 @@ async function setUpConnection(_ref3) {
443
453
  nickname: nickname || user.nickname,
444
454
  profileUrl: profileUrl || user.profileUrl
445
455
  }).then(namedUser => {
446
- var _logger$info6;
447
- logger === null || logger === void 0 ? void 0 : (_logger$info6 = logger.info) === null || _logger$info6 === void 0 ? void 0 : _logger$info6.call(logger, 'SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {
456
+ var _logger$info7;
457
+ logger === null || logger === void 0 ? void 0 : (_logger$info7 = logger.info) === null || _logger$info7 === void 0 ? void 0 : _logger$info7.call(logger, 'SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {
448
458
  nickname,
449
459
  profileUrl
450
460
  });
@@ -460,9 +470,9 @@ async function setUpConnection(_ref3) {
460
470
  }
461
471
  };
462
472
  const connectCbError = e => {
463
- var _logger$error;
473
+ var _logger$error2;
464
474
  const errorMessage = getConnectSbError(e);
465
- logger === null || logger === void 0 ? void 0 : (_logger$error = logger.error) === null || _logger$error === void 0 ? void 0 : _logger$error.call(logger, errorMessage, {
475
+ logger === null || logger === void 0 ? void 0 : (_logger$error2 = logger.error) === null || _logger$error2 === void 0 ? void 0 : _logger$error2.call(logger, errorMessage, {
466
476
  e,
467
477
  appId,
468
478
  userId
@@ -479,17 +489,10 @@ async function setUpConnection(_ref3) {
479
489
  // exit promise with error
480
490
  reject(errorMessage);
481
491
  };
482
- if (accessToken) {
483
- var _logger$info7;
484
- logger === null || logger === void 0 ? void 0 : (_logger$info7 = logger.info) === null || _logger$info7 === void 0 ? void 0 : _logger$info7.call(logger, 'SendbirdProvider | useConnect/setupConnection/connect connecting using accessToken');
485
- newSdk.connect(userId, accessToken).then(res => connectCbSucess(res)).catch(err => connectCbError(err));
486
- } else {
487
- var _logger$info8;
488
- logger === null || logger === void 0 ? void 0 : (_logger$info8 = logger.info) === null || _logger$info8 === void 0 ? void 0 : _logger$info8.call(logger, 'SendbirdProvider | useConnect/setupConnection/connect connecting using userId');
489
- newSdk.connect(userId).then(res => connectCbSucess(res)).catch(err => connectCbError(err));
490
- }
492
+ logger === null || logger === void 0 ? void 0 : (_logger$info8 = logger.info) === null || _logger$info8 === void 0 ? void 0 : _logger$info8.call(logger, `SendbirdProvider | useConnect/setupConnection/connect connecting using ${accessToken !== null && accessToken !== void 0 ? accessToken : userId}`);
493
+ newSdk.connect(userId, accessToken).then(res => connectCbSucess(res)).catch(err => connectCbError(err));
491
494
  } else {
492
- var _logger$error2;
495
+ var _logger$error3;
493
496
  const errorMessage = getMissingParamError({
494
497
  userId,
495
498
  appId
@@ -497,7 +500,7 @@ async function setUpConnection(_ref3) {
497
500
  sdkDispatcher({
498
501
  type: SDK_ERROR
499
502
  });
500
- logger === null || logger === void 0 ? void 0 : (_logger$error2 = logger.error) === null || _logger$error2 === void 0 ? void 0 : _logger$error2.call(logger, errorMessage);
503
+ logger === null || logger === void 0 ? void 0 : (_logger$error3 = logger.error) === null || _logger$error3 === void 0 ? void 0 : _logger$error3.call(logger, errorMessage);
501
504
  // exit promise with error
502
505
  reject(errorMessage);
503
506
  }
@@ -509,6 +512,7 @@ async function connect(_ref) {
509
512
  logger,
510
513
  sdkDispatcher,
511
514
  userDispatcher,
515
+ initDashboardConfigs,
512
516
  userId,
513
517
  appId,
514
518
  customApiHost,
@@ -529,6 +533,7 @@ async function connect(_ref) {
529
533
  logger,
530
534
  sdkDispatcher,
531
535
  userDispatcher,
536
+ initDashboardConfigs,
532
537
  userId,
533
538
  appId,
534
539
  customApiHost,
@@ -556,7 +561,8 @@ function useConnect(triggerTypes, staticTypes) {
556
561
  customWebSocketHost,
557
562
  sdk,
558
563
  sdkDispatcher,
559
- userDispatcher
564
+ userDispatcher,
565
+ initDashboardConfigs
560
566
  } = staticTypes;
561
567
  logger === null || logger === void 0 ? void 0 : (_logger$info = logger.info) === null || _logger$info === void 0 ? void 0 : _logger$info.call(logger, 'SendbirdProvider | useConnect', _objectSpread2(_objectSpread2({}, triggerTypes), staticTypes));
562
568
  useEffect(() => {
@@ -579,7 +585,8 @@ function useConnect(triggerTypes, staticTypes) {
579
585
  customWebSocketHost,
580
586
  sdk,
581
587
  sdkDispatcher,
582
- userDispatcher
588
+ userDispatcher,
589
+ initDashboardConfigs
583
590
  });
584
591
  } catch (error) {
585
592
  var _logger$error;
@@ -604,7 +611,8 @@ function useConnect(triggerTypes, staticTypes) {
604
611
  customWebSocketHost,
605
612
  sdk,
606
613
  sdkDispatcher,
607
- userDispatcher
614
+ userDispatcher,
615
+ initDashboardConfigs
608
616
  });
609
617
  } catch (error) {
610
618
  var _logger$error2;
@@ -751,6 +759,181 @@ function useAppendDomNode() {
751
759
  }, []);
752
760
  }
753
761
 
762
+ function snakeToCamel(obj) {
763
+ if (typeof obj !== 'object' || obj === null) {
764
+ return obj;
765
+ }
766
+ if (Array.isArray(obj)) {
767
+ return obj.map(item => snakeToCamel(item));
768
+ }
769
+ const result = {};
770
+ Object.keys(obj).forEach(key => {
771
+ const camelKey = key.replace(/_\w/g, m => m[1].toUpperCase());
772
+ result[camelKey] = snakeToCamel(obj[key]);
773
+ });
774
+ return result;
775
+ }
776
+
777
+ // @link https://gist.github.com/navix/6c25c15e0a2d3cd0e5bce999e0086fc9
778
+ /* eslint-disable @typescript-eslint/ban-types */
779
+
780
+ function isSameType(a, b) {
781
+ // we do this cause typeof can't differenciate object/ array/ null
782
+ return Object.prototype.toString.call(a) === Object.prototype.toString.call(b);
783
+ }
784
+
785
+ /**
786
+ * @param localConfigs Set directly in code level. It has higher priority than remote ones
787
+ * @param remoteConfigs Set by Feature Config setting in Dashboard
788
+ * @returns
789
+ */
790
+ function getConfigsByPriority(localConfigs, remoteConfigs) {
791
+ const prioritizedConfigs = _objectSpread2({}, remoteConfigs); // copy remoteConfigs to prevent mutation
792
+
793
+ Object.keys(localConfigs).forEach(key => {
794
+ if (prioritizedConfigs.hasOwnProperty(key) && isSameType(localConfigs[key], prioritizedConfigs[key])) {
795
+ prioritizedConfigs[key] = typeof localConfigs[key] === 'object'
796
+ // Recursively call getConfigsByPriority only when the value of the key is Object
797
+ ? getConfigsByPriority(localConfigs[key], prioritizedConfigs[key]) : localConfigs[key];
798
+ }
799
+ });
800
+ return prioritizedConfigs;
801
+ }
802
+
803
+ // @link: https://docs.google.com/spreadsheets/d/1-AozBMHRYOXS74vZ-7x2ptQcBL6nnM-orJWRvUgmkd4/edit#gid=0
804
+ const initialConfig = {
805
+ common: {
806
+ enableUsingDefaultUserProfile: false
807
+ },
808
+ groupChannel: {
809
+ channel: {
810
+ enableMention: false,
811
+ enableOgtag: true,
812
+ enableReactions: true,
813
+ enableTypingIndicator: true,
814
+ enableVoiceMessage: false,
815
+ input: {
816
+ camera: {
817
+ enablePhoto: true,
818
+ enableVideo: true
819
+ },
820
+ enableDocument: true,
821
+ gallery: {
822
+ enablePhoto: true,
823
+ enableVideo: true
824
+ }
825
+ },
826
+ replyType: 'quote_reply',
827
+ threadReplySelectType: 'thread'
828
+ },
829
+ channelList: {
830
+ enableMessageReceiptStatus: false,
831
+ enableTypingIndicator: false
832
+ },
833
+ setting: {
834
+ enableMessageSearch: false
835
+ }
836
+ },
837
+ openChannel: {
838
+ channel: {
839
+ enableOgtag: true,
840
+ input: {
841
+ camera: {
842
+ enablePhoto: true,
843
+ enableVideo: true
844
+ },
845
+ enableDocument: true,
846
+ gallery: {
847
+ enablePhoto: true,
848
+ enableVideo: true
849
+ }
850
+ }
851
+ }
852
+ }
853
+ };
854
+
855
+ class UIKitConfigStorageManager {
856
+ constructor(storage) {
857
+ _defineProperty(this, "key", void 0);
858
+ _defineProperty(this, "storage", void 0);
859
+ this.storage = storage;
860
+ }
861
+ init(appId) {
862
+ this.key = `sbu@${appId}.uikitConfiguration`;
863
+ return this.get();
864
+ }
865
+ async update(payload) {
866
+ const storedConfig = await this.get();
867
+ const mergedConfig = {
868
+ lastUpdatedAt: payload.lastUpdatedAt,
869
+ uikitConfigurations: getConfigsByPriority(payload === null || payload === void 0 ? void 0 : payload.uikitConfigurations, storedConfig === null || storedConfig === void 0 ? void 0 : storedConfig.uikitConfigurations)
870
+ };
871
+ await this.storage.setItem(this.key, JSON.stringify(mergedConfig));
872
+ return mergedConfig;
873
+ }
874
+ async get() {
875
+ const initialPayload = {
876
+ lastUpdatedAt: 0,
877
+ uikitConfigurations: initialConfig
878
+ };
879
+ try {
880
+ const storedConfig = await this.storage.getItem(this.key);
881
+ if (storedConfig) {
882
+ // TODO: Validation
883
+ return JSON.parse(storedConfig);
884
+ } else {
885
+ return initialPayload;
886
+ }
887
+ } catch (_unused) {
888
+ return initialPayload;
889
+ }
890
+ }
891
+ }
892
+
893
+ const UIKitConfigContext = /*#__PURE__*/createContext({
894
+ initDashboardConfigs: () => Promise.resolve(),
895
+ configs: initialConfig
896
+ });
897
+ const UIKitConfigProvider = _ref => {
898
+ let {
899
+ storage,
900
+ children,
901
+ localConfigs
902
+ } = _ref;
903
+ // Set by Feature Config setting in Dashboard
904
+ const [remoteConfigs, setRemoteConfigs] = useState(initialConfig);
905
+ const initDashboardConfigs = useCallback(async sdk => {
906
+ try {
907
+ if (storage == null) {
908
+ const payload = await sdk.getUIKitConfiguration();
909
+ setRemoteConfigs(snakeToCamel(payload.json.uikit_configurations));
910
+ return;
911
+ }
912
+
913
+ // Compare the sdk uikitConfig's lastUpdatedAt <-> stored one
914
+ const manager = new UIKitConfigStorageManager(storage);
915
+ const storedConfigs = await manager.init(sdk.appId);
916
+ if (sdk.appInfo.uikitConfigInfo.lastUpdatedAt === storedConfigs.lastUpdatedAt) {
917
+ setRemoteConfigs(storedConfigs.uikitConfigurations);
918
+ } else {
919
+ const payload = await sdk.getUIKitConfiguration();
920
+ const updatedPayloed = await manager.update(snakeToCamel(payload.json));
921
+ setRemoteConfigs(updatedPayloed.uikitConfigurations);
922
+ }
923
+ } catch (error) {
924
+ //
925
+ }
926
+ }, []);
927
+ const configs = getConfigsByPriority(localConfigs, remoteConfigs);
928
+ return /*#__PURE__*/React__default.createElement(UIKitConfigContext.Provider, {
929
+ value: {
930
+ initDashboardConfigs,
931
+ configs
932
+ }
933
+ }, children);
934
+ };
935
+ const useUIKitConfig = () => useContext(UIKitConfigContext);
936
+
754
937
  const VoiceMessageProvider = _ref => {
755
938
  let {
756
939
  children,
@@ -762,8 +945,20 @@ const VoiceMessageProvider = _ref => {
762
945
  return /*#__PURE__*/React__default.createElement(VoiceRecorderProvider, null, /*#__PURE__*/React__default.createElement(VoicePlayerProvider, null, children));
763
946
  };
764
947
 
765
- const TIMEOUT = 5000;
766
- const schedulerFactory = (logger, timeout) => {
948
+ const TIMEOUT = 2000;
949
+
950
+ /*
951
+ * This is a factory function that returns a scheduler.
952
+ * The scheduler is a queue that calls the callback function on intervals.
953
+ * If interval is empty, the callback function is called immediately.
954
+ * If interval is not empty, the callback function is called after the interval.
955
+ */
956
+ function schedulerFactory(_ref) {
957
+ let {
958
+ logger,
959
+ timeout,
960
+ cb
961
+ } = _ref;
767
962
  let queue = [];
768
963
  let interval = null;
769
964
  const push = channel => {
@@ -771,25 +966,27 @@ const schedulerFactory = (logger, timeout) => {
771
966
  if (!channelPresent) {
772
967
  queue.push(channel);
773
968
  } else {
774
- logger.info('Channel: Mark as read already in queue', channel);
969
+ logger.info('Channel: Mark as read already in queue', {
970
+ channel
971
+ });
775
972
  }
776
973
  // start the interval if it's not already running
777
974
  if (interval) {
778
975
  return;
779
976
  }
977
+ const item = queue.shift();
978
+ if (item) {
979
+ cb(item);
980
+ }
780
981
  interval = setInterval(() => {
781
- if (queue.length === 0) {
982
+ if (queue.length === 0 && interval) {
782
983
  clearInterval(interval);
783
984
  interval = null;
784
985
  return;
785
986
  }
786
- const channel = queue.shift();
787
- if (channel) {
788
- try {
789
- channel.markAsRead();
790
- } catch (error) {
791
- logger.error('Channel: Mark as read failed', error);
792
- }
987
+ const item = queue.shift();
988
+ if (item) {
989
+ cb(item);
793
990
  }
794
991
  }, timeout || TIMEOUT);
795
992
  };
@@ -805,7 +1002,17 @@ const schedulerFactory = (logger, timeout) => {
805
1002
  clear,
806
1003
  getQueue: () => queue
807
1004
  };
808
- };
1005
+ }
1006
+
1007
+ // this hook accepts a callback to run component is unmounted
1008
+ function useUnmount(callback) {
1009
+ useLayoutEffect(() => {
1010
+ return () => {
1011
+ callback();
1012
+ };
1013
+ }, []);
1014
+ }
1015
+
809
1016
  function useMarkAsReadScheduler(_ref, _ref2) {
810
1017
  let {
811
1018
  isConnected
@@ -813,17 +1020,99 @@ function useMarkAsReadScheduler(_ref, _ref2) {
813
1020
  let {
814
1021
  logger
815
1022
  } = _ref2;
816
- const markAsReadScheduler = useMemo(() => schedulerFactory(logger), []);
1023
+ const markAsReadScheduler = useMemo(() => schedulerFactory({
1024
+ logger,
1025
+ cb: channel => {
1026
+ try {
1027
+ channel.markAsRead();
1028
+ } catch (error) {
1029
+ logger.warning('Channel: Mark as delivered failed', {
1030
+ channel,
1031
+ error
1032
+ });
1033
+ }
1034
+ }
1035
+ }), []);
817
1036
  useEffect(() => {
818
1037
  // for simplicity, we clear the queue when the connection is lost
819
1038
  if (!isConnected) {
820
1039
  markAsReadScheduler.clear();
821
1040
  }
822
1041
  }, [isConnected]);
1042
+ useUnmount(() => {
1043
+ markAsReadScheduler.clear();
1044
+ });
823
1045
  return markAsReadScheduler;
824
1046
  }
825
1047
 
826
- const Sendbird = _ref => {
1048
+ function useMarkAsDeliveredScheduler(_ref, _ref2) {
1049
+ let {
1050
+ isConnected
1051
+ } = _ref;
1052
+ let {
1053
+ logger
1054
+ } = _ref2;
1055
+ const markAsDeliveredScheduler = useMemo(() => schedulerFactory({
1056
+ logger,
1057
+ cb: channel => {
1058
+ try {
1059
+ channel.markAsDelivered();
1060
+ } catch (error) {
1061
+ logger.warning('Channel: Mark as delivered failed', {
1062
+ channel,
1063
+ error
1064
+ });
1065
+ }
1066
+ }
1067
+ }), []);
1068
+ useEffect(() => {
1069
+ // for simplicity, we clear the queue when the connection is lost
1070
+ if (!isConnected) {
1071
+ markAsDeliveredScheduler.clear();
1072
+ }
1073
+ }, [isConnected]);
1074
+ useUnmount(() => {
1075
+ markAsDeliveredScheduler.clear();
1076
+ });
1077
+ return markAsDeliveredScheduler;
1078
+ }
1079
+
1080
+ function Sendbird(props) {
1081
+ const {
1082
+ replyType = 'NONE',
1083
+ isMentionEnabled = false,
1084
+ isReactionEnabled = true,
1085
+ disableUserProfile = false,
1086
+ isVoiceMessageEnabled = true,
1087
+ isTypingIndicatorEnabledOnChannelList = false,
1088
+ isMessageReceiptStatusEnabledOnChannelList = false
1089
+ } = props;
1090
+ return /*#__PURE__*/React__default.createElement(UIKitConfigProvider, {
1091
+ localConfigs: {
1092
+ common: {
1093
+ enableUsingDefaultUserProfile: !disableUserProfile
1094
+ },
1095
+ groupChannel: {
1096
+ channel: {
1097
+ enableReactions: isReactionEnabled,
1098
+ enableMention: isMentionEnabled,
1099
+ enableVoiceMessage: isVoiceMessageEnabled,
1100
+ /**
1101
+ * Since dashbord UIKit Configuration's replyType is consisted of all lowercase letters,
1102
+ * we convert it from here.
1103
+ * i.e. 'THREAD' -> 'thread'
1104
+ */
1105
+ replyType: replyType.toLowerCase()
1106
+ },
1107
+ channelList: {
1108
+ enableTypingIndicator: isTypingIndicatorEnabledOnChannelList,
1109
+ enableMessageReceiptStatus: isMessageReceiptStatusEnabledOnChannelList
1110
+ }
1111
+ }
1112
+ }
1113
+ }, /*#__PURE__*/React__default.createElement(SendbirdSDK, props));
1114
+ }
1115
+ const SendbirdSDK = _ref => {
827
1116
  let {
828
1117
  appId,
829
1118
  userId,
@@ -837,7 +1126,6 @@ const Sendbird = _ref => {
837
1126
  nickname = '',
838
1127
  colorSet = null,
839
1128
  stringSet = null,
840
- replyType = 'NONE',
841
1129
  dateLocale = null,
842
1130
  profileUrl = '',
843
1131
  voiceRecord = {
@@ -847,17 +1135,11 @@ const Sendbird = _ref => {
847
1135
  userListQuery = null,
848
1136
  imageCompression = {},
849
1137
  allowProfileEdit = false,
850
- isMentionEnabled = false,
851
- isReactionEnabled = true,
852
- disableUserProfile = false,
853
- isVoiceMessageEnabled = true,
854
1138
  disableMarkAsDelivered = false,
855
- isTypingIndicatorEnabledOnChannelList = false,
856
- isMessageReceiptStatusEnabledOnChannelList = false,
857
1139
  renderUserProfile = null,
858
1140
  onUserProfileMessage = null
859
1141
  } = _ref;
860
- const mediaQueryBreakPoint = false;
1142
+ const breakpoint = false;
861
1143
  const {
862
1144
  logLevel = '',
863
1145
  userMention = {},
@@ -867,6 +1149,10 @@ const Sendbird = _ref => {
867
1149
  const [pubSub] = useState(pubSubFactory());
868
1150
  const [sdkStore, sdkDispatcher] = useReducer(reducer$1, initialState$1);
869
1151
  const [userStore, userDispatcher] = useReducer(reducer, initialState);
1152
+ const {
1153
+ configs,
1154
+ initDashboardConfigs
1155
+ } = useUIKitConfig();
870
1156
  useTheme(colorSet);
871
1157
  const reconnect = useConnect({
872
1158
  appId,
@@ -881,7 +1167,8 @@ const Sendbird = _ref => {
881
1167
  customWebSocketHost,
882
1168
  sdk: sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.sdk,
883
1169
  sdkDispatcher,
884
- userDispatcher
1170
+ userDispatcher,
1171
+ initDashboardConfigs
885
1172
  });
886
1173
 
887
1174
  // to create a pubsub to communicate between parent and child
@@ -930,6 +1217,11 @@ const Sendbird = _ref => {
930
1217
  }, {
931
1218
  logger
932
1219
  });
1220
+ const markAsDeliveredScheduler = useMarkAsDeliveredScheduler({
1221
+ isConnected: isOnline
1222
+ }, {
1223
+ logger
1224
+ });
933
1225
  const localeStringSet = React__default.useMemo(() => {
934
1226
  if (!stringSet) {
935
1227
  return getStringSet('en');
@@ -948,7 +1240,6 @@ const Sendbird = _ref => {
948
1240
  reconnect
949
1241
  },
950
1242
  config: {
951
- disableUserProfile,
952
1243
  disableMarkAsDelivered,
953
1244
  renderUserProfile,
954
1245
  onUserProfileMessage,
@@ -965,28 +1256,39 @@ const Sendbird = _ref => {
965
1256
  imageCompression: _objectSpread2({
966
1257
  compressionRate: 0.7
967
1258
  }, imageCompression),
968
- isReactionEnabled,
969
- isMentionEnabled: isMentionEnabled || false,
970
- isVoiceMessageEnabled,
971
1259
  voiceRecord,
972
1260
  userMention: {
973
1261
  maxMentionCount: (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount) || 10,
974
1262
  maxSuggestionCount: (userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount) || 15
975
1263
  },
976
- isTypingIndicatorEnabledOnChannelList,
977
- isMessageReceiptStatusEnabledOnChannelList,
978
- replyType,
979
- markAsReadScheduler
1264
+ markAsReadScheduler,
1265
+ markAsDeliveredScheduler,
1266
+ // From UIKitConfigProvider.localConfigs
1267
+ disableUserProfile: !configs.common.enableUsingDefaultUserProfile,
1268
+ isReactionEnabled: configs.groupChannel.channel.enableReactions,
1269
+ isMentionEnabled: configs.groupChannel.channel.enableMention,
1270
+ isVoiceMessageEnabled: configs.groupChannel.channel.enableVoiceMessage,
1271
+ replyType:
1272
+ /**
1273
+ * Since UIKitConfigContext's replyType is consisted of all lowercase letters,
1274
+ * we need to convert it into all uppercase ones like
1275
+ * - 'thread' -> 'THREAD'
1276
+ * - 'quote_reply' -> 'QUOTE_REPLY'
1277
+ */
1278
+ configs.groupChannel.channel.replyType.toUpperCase(),
1279
+ isTypingIndicatorEnabledOnChannelList: configs.groupChannel.channelList.enableTypingIndicator,
1280
+ isMessageReceiptStatusEnabledOnChannelList: configs.groupChannel.channelList.enableMessageReceiptStatus
1281
+ // TODO(Ahyoung): add more configs from UIKitConfigProvider.remoteConfigs
980
1282
  }
981
1283
  }
982
1284
  }, /*#__PURE__*/React__default.createElement(MediaQueryProvider, {
983
1285
  logger: logger,
984
- mediaQueryBreakPoint: mediaQueryBreakPoint
1286
+ breakpoint: breakpoint
985
1287
  }, /*#__PURE__*/React__default.createElement(LocalizationProvider, {
986
1288
  stringSet: localeStringSet,
987
1289
  dateLocale: dateLocale
988
1290
  }, /*#__PURE__*/React__default.createElement(VoiceMessageProvider, {
989
- isVoiceMessageEnabled: isVoiceMessageEnabled
1291
+ isVoiceMessageEnabled: configs.groupChannel.channel.enableVoiceMessage
990
1292
  }, children))));
991
1293
  };
992
1294