@sendbird/uikit-react 3.4.8 → 3.4.9-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-b42f8a70.js} +19 -37
  34. package/ChannelListProvider-b42f8a70.js.map +1 -0
  35. package/{ChannelProvider-bba4a095.js → ChannelProvider-6c5b02f1.js} +81 -29
  36. package/ChannelProvider-6c5b02f1.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-4a0190ed.js} +1 -1
  54. package/{CreateChannelProvider-1ba7a571.js.map → CreateChannelProvider-4a0190ed.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-8b7b48ec.js} +3 -3
  61. package/{LocalizationContext-ae38446a.js.map → LocalizationContext-8b7b48ec.js.map} +1 -1
  62. package/{MediaQueryContext-8d283dc2.js → MediaQueryContext-744e0eb4.js} +20 -15
  63. package/MediaQueryContext-744e0eb4.js.map +1 -0
  64. package/{MemberList-38971d43.js → MemberList-6e52b1b1.js} +17 -11
  65. package/MemberList-6e52b1b1.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-d99e3cd2.js} +3 -3
  86. package/{OpenChannelListProvider-e0add710.js.map → OpenChannelListProvider-d99e3cd2.js.map} +1 -1
  87. package/{OpenChannelProvider-49db4c6c.js → OpenChannelProvider-4857158c.js} +7 -7
  88. package/{OpenChannelProvider-49db4c6c.js.map → OpenChannelProvider-4857158c.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-38fef9c4.js} +3 -3
  98. package/{RemoveMessageModal-10f50eae.js.map → RemoveMessageModal-38fef9c4.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-637aa7f0.js} +11 -8
  119. package/ThreadProvider-637aa7f0.js.map +1 -0
  120. package/{UserProfileContext-91e3b3f2.js → UserProfileContext-9040499b.js} +1 -1
  121. package/{UserProfileContext-91e3b3f2.js.map → UserProfileContext-9040499b.js.map} +1 -1
  122. package/{VoiceMessageInputWrapper-cbfa4f2b.js → VoiceMessageInputWrapper-f593346c.js} +7 -7
  123. package/{VoiceMessageInputWrapper-cbfa4f2b.js.map → VoiceMessageInputWrapper-f593346c.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-904afd00.js} +1 -1
  130. package/{WebAudioUtils-5f47139c.js.map → WebAudioUtils-904afd00.js.map} +1 -1
  131. package/{_rollupPluginBabelHelpers-eaf55eff.js → _rollupPluginBabelHelpers-8c286a7c.js} +1 -1
  132. package/_rollupPluginBabelHelpers-8c286a7c.js.map +1 -0
  133. package/{actionTypes-98eee9f4.js → actionTypes-bd8af98d.js} +1 -1
  134. package/{actionTypes-98eee9f4.js.map → actionTypes-bd8af98d.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-2ea52e8f.js} +19 -37
  167. package/cjs/ChannelListProvider-2ea52e8f.js.map +1 -0
  168. package/cjs/{ChannelProvider-5366f030.js → ChannelProvider-4057a4e6.js} +81 -28
  169. package/cjs/ChannelProvider-4057a4e6.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-83cd1b9a.js} +1 -1
  187. package/cjs/{CreateChannelProvider-65dcc450.js.map → CreateChannelProvider-83cd1b9a.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-a7ac3575.js} +3 -3
  194. package/cjs/{LocalizationContext-4fa55e6b.js.map → LocalizationContext-a7ac3575.js.map} +1 -1
  195. package/cjs/{MediaQueryContext-e443379e.js → MediaQueryContext-f0b22fae.js} +20 -15
  196. package/cjs/MediaQueryContext-f0b22fae.js.map +1 -0
  197. package/cjs/{MemberList-3736f22c.js → MemberList-d02103a5.js} +17 -11
  198. package/cjs/MemberList-d02103a5.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-8c304b22.js} +3 -3
  219. package/cjs/{OpenChannelListProvider-458abc0e.js.map → OpenChannelListProvider-8c304b22.js.map} +1 -1
  220. package/cjs/{OpenChannelProvider-84f42ba8.js → OpenChannelProvider-ea1d6825.js} +7 -7
  221. package/cjs/{OpenChannelProvider-84f42ba8.js.map → OpenChannelProvider-ea1d6825.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-95aeddfe.js} +3 -3
  231. package/cjs/{RemoveMessageModal-3535563a.js.map → RemoveMessageModal-95aeddfe.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-6a39fc92.js} +11 -8
  252. package/cjs/ThreadProvider-6a39fc92.js.map +1 -0
  253. package/cjs/{UserProfileContext-83eaf6e8.js → UserProfileContext-a026a307.js} +1 -1
  254. package/cjs/{UserProfileContext-83eaf6e8.js.map → UserProfileContext-a026a307.js.map} +1 -1
  255. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js → VoiceMessageInputWrapper-ab392692.js} +7 -7
  256. package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js.map → VoiceMessageInputWrapper-ab392692.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-2196360d.js} +1 -1
  263. package/cjs/{WebAudioUtils-00b9890d.js.map → WebAudioUtils-2196360d.js.map} +1 -1
  264. package/cjs/{_rollupPluginBabelHelpers-2c0fc9c3.js → _rollupPluginBabelHelpers-af66a654.js} +1 -1
  265. package/cjs/_rollupPluginBabelHelpers-af66a654.js.map +1 -0
  266. package/cjs/{actionTypes-fb3f6a66.js → actionTypes-8348f508.js} +1 -1
  267. package/cjs/{actionTypes-fb3f6a66.js.map → actionTypes-8348f508.js.map} +1 -1
  268. package/cjs/{color-83cbca20.js → color-2ebe48ee.js} +1 -1
  269. package/cjs/{color-83cbca20.js.map → color-2ebe48ee.js.map} +1 -1
  270. package/cjs/{compareIds-c2907ec8.js → compareIds-d863dd50.js} +1 -1
  271. package/cjs/{compareIds-c2907ec8.js.map → compareIds-d863dd50.js.map} +1 -1
  272. package/cjs/{const-75153738.js → const-08ab2fdd.js} +1 -1
  273. package/cjs/{const-75153738.js.map → const-08ab2fdd.js.map} +1 -1
  274. package/cjs/{const-17970c49.js → const-6414a39e.js} +1 -1
  275. package/cjs/{const-17970c49.js.map → const-6414a39e.js.map} +1 -1
  276. package/cjs/{consts-5ead6f3b.js → consts-083ada31.js} +1 -1
  277. package/cjs/{consts-5ead6f3b.js.map → consts-083ada31.js.map} +1 -1
  278. package/cjs/{consts-d2103ed5.js → consts-3cb3a988.js} +1 -1
  279. package/cjs/{consts-d2103ed5.js.map → consts-3cb3a988.js.map} +1 -1
  280. package/cjs/{consts-0db2bedc.js → consts-78795eea.js} +3 -3
  281. package/cjs/consts-78795eea.js.map +1 -0
  282. package/cjs/{consts-aaf1208c.js → consts-eadce101.js} +1 -1
  283. package/cjs/{consts-aaf1208c.js.map → consts-eadce101.js.map} +1 -1
  284. package/cjs/{context-d9a84cb9.js → context-717f3cfa.js} +2 -2
  285. package/cjs/{context-d9a84cb9.js.map → context-717f3cfa.js.map} +1 -1
  286. package/cjs/dist/index.css +253 -181
  287. package/cjs/dist/index.css.map +1 -1
  288. package/cjs/{index-56735815.js → index-00cb06de.js} +5 -5
  289. package/cjs/{index-56735815.js.map → index-00cb06de.js.map} +1 -1
  290. package/cjs/{index-265937df.js → index-05291303.js} +18 -2
  291. package/cjs/index-05291303.js.map +1 -0
  292. package/cjs/{index-47e4bdbc.js → index-0dad3b72.js} +1 -1
  293. package/cjs/{index-47e4bdbc.js.map → index-0dad3b72.js.map} +1 -1
  294. package/cjs/{index-41ce4c44.js → index-148f38a8.js} +2 -2
  295. package/cjs/{index-41ce4c44.js.map → index-148f38a8.js.map} +1 -1
  296. package/cjs/{index-1737cbae.js → index-33b26fc7.js} +4 -4
  297. package/cjs/{index-1737cbae.js.map → index-33b26fc7.js.map} +1 -1
  298. package/cjs/{index-01768a5e.js → index-4bfecbd3.js} +6 -6
  299. package/cjs/{index-01768a5e.js.map → index-4bfecbd3.js.map} +1 -1
  300. package/cjs/index-564380b1.js +441 -0
  301. package/cjs/index-564380b1.js.map +1 -0
  302. package/cjs/{index-61c3208b.js → index-5d3946d1.js} +4 -4
  303. package/cjs/{index-61c3208b.js.map → index-5d3946d1.js.map} +1 -1
  304. package/cjs/{index-fcd2f4ff.js → index-73f2b1ce.js} +3 -2
  305. package/cjs/{index-fcd2f4ff.js.map → index-73f2b1ce.js.map} +1 -1
  306. package/cjs/{index-6ac703ea.js → index-77d2b6d3.js} +18 -12
  307. package/cjs/index-77d2b6d3.js.map +1 -0
  308. package/cjs/{index-c8c25288.js → index-793e52a7.js} +3 -3
  309. package/cjs/{index-c8c25288.js.map → index-793e52a7.js.map} +1 -1
  310. package/cjs/{index-552eb819.js → index-8fb98e2d.js} +3 -3
  311. package/cjs/{index-552eb819.js.map → index-8fb98e2d.js.map} +1 -1
  312. package/cjs/{index-5307f6c1.js → index-9b389aa4.js} +12 -7
  313. package/cjs/index-9b389aa4.js.map +1 -0
  314. package/cjs/{index-22bdf04e.js → index-b6443976.js} +2 -2
  315. package/cjs/{index-22bdf04e.js.map → index-b6443976.js.map} +1 -1
  316. package/cjs/{index-09f8f2a4.js → index-b8d7e1e9.js} +3 -3
  317. package/cjs/{index-09f8f2a4.js.map → index-b8d7e1e9.js.map} +1 -1
  318. package/cjs/{index-be9c5a7d.js → index-c2afb27d.js} +2 -2
  319. package/cjs/{index-be9c5a7d.js.map → index-c2afb27d.js.map} +1 -1
  320. package/cjs/{index-10d8f30f.js → index-f70fcb3a.js} +1 -1
  321. package/cjs/{index-10d8f30f.js.map → index-f70fcb3a.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-045566c2.js} +1 -1
  325. package/cjs/{index.module-3e7701ca.js.map → index.module-045566c2.js.map} +1 -1
  326. package/cjs/sendbirdSelectors.js +3 -3
  327. package/cjs/{stringSet-c24927d9.js → stringSet-12caaa90.js} +1 -1
  328. package/cjs/{stringSet-c24927d9.js.map → stringSet-12caaa90.js.map} +1 -1
  329. package/cjs/{tokenize-1441f448.js → tokenize-6d05ba0a.js} +7 -3
  330. package/cjs/tokenize-6d05ba0a.js.map +1 -0
  331. package/cjs/{topics-0df2f6f9.js → topics-d00505e4.js} +1 -1
  332. package/cjs/{topics-0df2f6f9.js.map → topics-d00505e4.js.map} +1 -1
  333. package/cjs/{types-df20b895.js → types-0d699a7d.js} +1 -1
  334. package/cjs/types-0d699a7d.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-ccb235e4.js +77 -0
  405. package/cjs/useDirtyGetMentions-ccb235e4.js.map +1 -0
  406. package/cjs/{useLongPress-8aa00a28.js → useLongPress-5df6f108.js} +9 -5
  407. package/cjs/useLongPress-5df6f108.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-6436fe9d.js} +2 -2
  411. package/cjs/{utils-4717b83e.js.map → utils-6436fe9d.js.map} +1 -1
  412. package/cjs/{utils-111f523c.js → utils-abf8a0cd.js} +1 -1
  413. package/cjs/{utils-111f523c.js.map → utils-abf8a0cd.js.map} +1 -1
  414. package/cjs/{utils-93abfb7c.js → utils-b812f859.js} +1 -1
  415. package/cjs/{utils-93abfb7c.js.map → utils-b812f859.js.map} +1 -1
  416. package/cjs/{utils-a1fead2f.js → utils-ddd1b029.js} +1 -1
  417. package/cjs/{utils-a1fead2f.js.map → utils-ddd1b029.js.map} +1 -1
  418. package/cjs/{uuid-c854e2a9.js → uuid-cd931d55.js} +1 -1
  419. package/cjs/{uuid-c854e2a9.js.map → uuid-cd931d55.js.map} +1 -1
  420. package/cjs/withSendbird.js +1 -1
  421. package/{color-c1b95a91.js → color-be032457.js} +1 -1
  422. package/{color-c1b95a91.js.map → color-be032457.js.map} +1 -1
  423. package/{compareIds-74cf4016.js → compareIds-fa21456c.js} +1 -1
  424. package/{compareIds-74cf4016.js.map → compareIds-fa21456c.js.map} +1 -1
  425. package/{const-3af04f0a.js → const-48b39769.js} +1 -1
  426. package/{const-3af04f0a.js.map → const-48b39769.js.map} +1 -1
  427. package/{const-befef81d.js → const-71be96fe.js} +1 -1
  428. package/{const-befef81d.js.map → const-71be96fe.js.map} +1 -1
  429. package/{consts-a8bc28bd.js → consts-5cbd0257.js} +1 -1
  430. package/{consts-a8bc28bd.js.map → consts-5cbd0257.js.map} +1 -1
  431. package/{consts-9ece4263.js → consts-63e52cd8.js} +3 -3
  432. package/consts-63e52cd8.js.map +1 -0
  433. package/{consts-354db0d9.js → consts-967162b2.js} +1 -1
  434. package/{consts-354db0d9.js.map → consts-967162b2.js.map} +1 -1
  435. package/{consts-bb6cbaee.js → consts-c4702413.js} +1 -1
  436. package/{consts-bb6cbaee.js.map → consts-c4702413.js.map} +1 -1
  437. package/{context-38bde7ff.js → context-70804470.js} +2 -2
  438. package/{context-38bde7ff.js.map → context-70804470.js.map} +1 -1
  439. package/dist/index.css +253 -181
  440. package/dist/index.css.map +1 -1
  441. package/{index-ecf3a793.js → index-01c17da3.js} +12 -7
  442. package/index-01c17da3.js.map +1 -0
  443. package/{index-db801708.js → index-02d5e1f7.js} +5 -5
  444. package/{index-db801708.js.map → index-02d5e1f7.js.map} +1 -1
  445. package/{index-8a4d2b6e.js → index-0872eca4.js} +2 -2
  446. package/{index-8a4d2b6e.js.map → index-0872eca4.js.map} +1 -1
  447. package/{index-4554e20e.js → index-29ec12d6.js} +4 -4
  448. package/{index-4554e20e.js.map → index-29ec12d6.js.map} +1 -1
  449. package/{index-d8fdbe6f.js → index-2d3d2283.js} +16 -3
  450. package/index-2d3d2283.js.map +1 -0
  451. package/{index-1556dc4a.js → index-2eaeb4c8.js} +3 -3
  452. package/{index-1556dc4a.js.map → index-2eaeb4c8.js.map} +1 -1
  453. package/{index-321e838f.js → index-617179bd.js} +1 -1
  454. package/{index-321e838f.js.map → index-617179bd.js.map} +1 -1
  455. package/{index-88ab67cc.js → index-6ba87b2d.js} +4 -4
  456. package/{index-88ab67cc.js.map → index-6ba87b2d.js.map} +1 -1
  457. package/{index-ae8e6fc3.js → index-8d2735b6.js} +3 -3
  458. package/{index-ae8e6fc3.js.map → index-8d2735b6.js.map} +1 -1
  459. package/{index-14bb6832.js → index-a62f231a.js} +1 -1
  460. package/{index-14bb6832.js.map → index-a62f231a.js.map} +1 -1
  461. package/{index-1be3f6d7.js → index-c281a87e.js} +3 -3
  462. package/{index-1be3f6d7.js.map → index-c281a87e.js.map} +1 -1
  463. package/{index-96f6e11b.js → index-c3176145.js} +6 -6
  464. package/{index-96f6e11b.js.map → index-c3176145.js.map} +1 -1
  465. package/{index-a900bd78.js → index-c4af409f.js} +2 -2
  466. package/{index-a900bd78.js.map → index-c4af409f.js.map} +1 -1
  467. package/index-de27e990.js +435 -0
  468. package/index-de27e990.js.map +1 -0
  469. package/{index-aa215b1c.js → index-e307d0c3.js} +3 -3
  470. package/{index-aa215b1c.js.map → index-e307d0c3.js.map} +1 -1
  471. package/{index-8bf82e3b.js → index-efb59270.js} +18 -12
  472. package/index-efb59270.js.map +1 -0
  473. package/{index-67dd0c26.js → index-f22b46c2.js} +2 -2
  474. package/{index-67dd0c26.js.map → index-f22b46c2.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-3529d572.js} +1 -1
  479. package/{index.module-1c75b4f5.js.map → index.module-3529d572.js.map} +1 -1
  480. package/package.json +2 -2
  481. package/sendbirdSelectors.js +3 -3
  482. package/{stringSet-6d89212b.js → stringSet-387833a3.js} +1 -1
  483. package/{stringSet-6d89212b.js.map → stringSet-387833a3.js.map} +1 -1
  484. package/{tokenize-2e969273.js → tokenize-c2f4569f.js} +7 -3
  485. package/tokenize-c2f4569f.js.map +1 -0
  486. package/{topics-8f4016e9.js → topics-019712e5.js} +1 -1
  487. package/{topics-8f4016e9.js.map → topics-019712e5.js.map} +1 -1
  488. package/{types-ebbbec62.js → types-34b09dae.js} +1 -1
  489. package/types-34b09dae.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-a032c723.js +75 -0
  560. package/useDirtyGetMentions-a032c723.js.map +1 -0
  561. package/{useLongPress-8d44d259.js → useLongPress-b803e920.js} +9 -5
  562. package/useLongPress-b803e920.js.map +1 -0
  563. package/useSendbirdStateContext.js +1 -1
  564. package/utils/message/isVoiceMessage.js +2 -2
  565. package/{utils-b42f4fab.js → utils-1d8ffd91.js} +2 -2
  566. package/{utils-b42f4fab.js.map → utils-1d8ffd91.js.map} +1 -1
  567. package/{utils-c8b489c4.js → utils-28a3bfad.js} +1 -1
  568. package/{utils-c8b489c4.js.map → utils-28a3bfad.js.map} +1 -1
  569. package/{utils-7d781542.js → utils-43d93f46.js} +1 -1
  570. package/{utils-7d781542.js.map → utils-43d93f46.js.map} +1 -1
  571. package/{utils-8e039c1b.js → utils-cb06f177.js} +1 -1
  572. package/{utils-8e039c1b.js.map → utils-cb06f177.js.map} +1 -1
  573. package/{uuid-c94bd88b.js → uuid-295e6b8b.js} +1 -1
  574. package/{uuid-c94bd88b.js.map → uuid-295e6b8b.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 +1 @@
1
- {"version":3,"file":"SendbirdProvider.js","sources":["../../src/lib/hooks/useTheme.ts","../../src/lib/dux/sdk/actionTypes.ts","../../src/lib/dux/sdk/initialState.ts","../../src/lib/dux/sdk/reducers.ts","../../src/lib/dux/user/initialState.ts","../../src/lib/dux/user/reducers.ts","../../src/lib/hooks/useOnlineStatus.js","../../src/lib/hooks/useConnect/disconnectSdk.ts","../../src/lib/hooks/useConnect/setupConnection.ts","../../src/lib/hooks/useConnect/connect.ts","../../src/lib/hooks/useConnect/index.ts","../../src/lib/Logger/index.ts","../../src/lib/pubSub/index.ts","../../src/hooks/useAppendDomNode.js","../../src/lib/VoiceMessageProvider.tsx","../../src/lib/hooks/useMarkAsReadScheduler.ts","../../src/lib/Sendbird.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n};\n\nconst useTheme = (overrides: Record<string, string>): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","import SendbirdChat from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/CreateAction';\n\nexport const SDK_ACTIONS = {\n INIT_SDK: 'INIT_SDK',\n SET_SDK_LOADING: 'SET_SDK_LOADING',\n RESET_SDK: 'RESET_SDK',\n SDK_ERROR: 'SDK_ERROR',\n} as const;\n\ntype SDK_PAYLOAD_TYPES = {\n [SDK_ACTIONS.SET_SDK_LOADING]: boolean,\n [SDK_ACTIONS.INIT_SDK]: SendbirdChat,\n [SDK_ACTIONS.SDK_ERROR]: null,\n [SDK_ACTIONS.RESET_SDK]: null,\n};\n\nexport type SdkActionTypes = CreateAction<SDK_PAYLOAD_TYPES>;\n","import SendbirdChat from '@sendbird/chat';\n\nexport interface SdkStoreStateType {\n initialized: boolean;\n loading: boolean;\n sdk: SendbirdChat,\n error: boolean;\n}\n\nconst initialState: SdkStoreStateType = {\n initialized: false,\n loading: false,\n sdk: {} as SendbirdChat,\n error: false,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { SdkActionTypes, SDK_ACTIONS } from './actionTypes';\nimport initialState, { SdkStoreStateType } from './initialState';\n\nexport default function reducer(state: SdkStoreStateType, action: SdkActionTypes): SdkStoreStateType {\n return match(action)\n .with({ type: SDK_ACTIONS.SET_SDK_LOADING }, ({ payload }) => {\n return {\n ...state,\n initialized: false,\n loading: payload,\n };\n })\n .with({ type: SDK_ACTIONS.SDK_ERROR }, () => {\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n })\n .with({ type: SDK_ACTIONS.INIT_SDK }, ({ payload }) => {\n return {\n sdk: payload,\n initialized: true,\n loading: false,\n error: false,\n };\n })\n .with({ type: SDK_ACTIONS.RESET_SDK }, () => {\n return initialState;\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { User } from '@sendbird/chat';\n\nexport interface UserStoreStateType {\n initialized: boolean;\n loading: boolean;\n user: User;\n}\n\nconst initialState: UserStoreStateType = {\n initialized: false,\n loading: false,\n user: {} as User,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { UserActionTypes, USER_ACTIONS } from './actionTypes';\nimport initialState, { UserStoreStateType } from './initialState';\n\nexport default function reducer(state: UserStoreStateType, action: UserActionTypes): UserStoreStateType {\n return match(action)\n .with({ type: USER_ACTIONS.INIT_USER }, ({ payload }) => {\n return {\n initialized: true,\n loading: false,\n user: payload,\n };\n })\n .with({ type: USER_ACTIONS.RESET_USER }, () => {\n return initialState;\n })\n .with({ type: USER_ACTIONS.UPDATE_USER_INFO }, ({ payload }) => {\n return {\n ...state,\n user: payload,\n };\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { ConnectionHandler } from '@sendbird/chat';\nimport { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n try {\n logger.warning('sdk changed', uniqueHandlerId);\n const handler = new ConnectionHandler();\n handler.onDisconnected = () => {\n logger.warning('onDisconnected', { isOnline });\n };\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n // workaround -> addConnectionHandler invalidates session handler\n // provided through configureSession\n if (sdk?.addConnectionHandler) {\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n } catch {\n //\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.connectionState !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","import { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { DisconnectSdkTypes } from './types';\n\nexport async function disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n}: DisconnectSdkTypes): Promise<boolean> {\n return new Promise((resolve) => {\n sdkDispatcher({ type: SDK_ACTIONS.SET_SDK_LOADING, payload: true });\n if (sdk?.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: SDK_ACTIONS.RESET_SDK });\n userDispatcher({ type: USER_ACTIONS.RESET_USER });\n })\n .finally(() => {\n resolve(true);\n });\n } else {\n resolve(true);\n }\n });\n}\n","import SendbirdChat, { SendbirdError, User } from '@sendbird/chat';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\n\nimport { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { isTextuallyNull } from '../../../utils';\nimport { SetupConnectionTypes } from './types';\n\nconst { INIT_SDK, SET_SDK_LOADING, RESET_SDK, SDK_ERROR } = SDK_ACTIONS;\nconst { INIT_USER, UPDATE_USER_INFO, RESET_USER } = USER_ACTIONS;\nconst APP_VERSION_STRING = '__uikit_app_version__';\nconst IS_ROLLUP = '__is_rollup__';\nconst IS_ROLLUP_REPLACE = '__is_rollup_replace__';\n\nexport function getMissingParamError({ userId, appId }: { userId?: string, appId?: string }): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed UserId: ${userId} or appId: ${appId} missing`;\n}\nexport function getConnectSbError(error?: SendbirdError): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed. ${error?.code || ''} ${error?.message || ''}`;\n}\n\nexport function setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n}: {\n appId: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n}): SendbirdChat {\n const params = {\n appId,\n modules: [\n new GroupChannelModule(),\n new OpenChannelModule(),\n ],\n };\n if (customApiHost) {\n params['customApiHost'] = customApiHost;\n }\n if (customWebSocketHost) {\n params['customWebSocketHost'] = customWebSocketHost;\n }\n const newSdk = SendbirdChat.init(params);\n return newSdk;\n}\n\n// Steps\n// 1. Check if minimum userID/appID is provided\n// 1.a. If not, throw error > !reject\n// 1.b. If yes, continue\n// 2. Set up params with custom host if provided\n// 3. Set up session handler if provided\n// 4. Set up version if not storybook\n// 5. Connect to Sendbird -> either using user ID or (user ID + access token)\n// 6. If connected, connectCbSucess\n// 6.a check if nickname is to be updated -> no > !resolve immediately\n// 6.b check if nickname is to be updated -> yes > update nickname > !resolve\n// 7. If not connected, connectCbError > !reject\nexport async function setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n}: SetupConnectionTypes): Promise<void> {\n return new Promise((resolve, reject) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/init', { userId, appId });\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (userId && appId) {\n const newSdk = setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n });\n\n if (configureSession && typeof configureSession === 'function') {\n const sessionHandler = configureSession(newSdk);\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);\n newSdk.setSessionHandler(sessionHandler);\n }\n // to check if code is released version from rollup and *not from storybook*\n // see rollup config file\n // @ts-ignore\n if (IS_ROLLUP === IS_ROLLUP_REPLACE) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/setVersion', APP_VERSION_STRING);\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n }\n const connectCbSucess = (user: User) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n // use nickname/profileUrl if provided\n // or set userID as nickname\n if ((nickname !== user.nickname || profileUrl !== user.profileUrl)\n && !(isTextuallyNull(nickname) && isTextuallyNull(profileUrl))\n ) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {\n nickname,\n profileUrl,\n });\n newSdk.updateCurrentUserInfo({\n nickname: nickname || user.nickname,\n profileUrl: profileUrl || user.profileUrl,\n }).then((namedUser) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {\n nickname,\n profileUrl,\n });\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n }).finally(() => {\n resolve();\n });\n } else {\n resolve();\n }\n };\n\n const connectCbError = (e: SendbirdError) => {\n const errorMessage = getConnectSbError(e);\n logger?.error?.(errorMessage, {\n e,\n appId,\n userId,\n });\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n sdkDispatcher({ type: SDK_ERROR });\n // exit promise with error\n reject(errorMessage);\n };\n\n if (accessToken) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connect connecting using accessToken');\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connect connecting using userId');\n newSdk.connect(userId)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n }\n } else {\n const errorMessage = getMissingParamError({ userId, appId });\n sdkDispatcher({ type: SDK_ERROR });\n logger?.error?.(errorMessage);\n // exit promise with error\n reject(errorMessage);\n }\n });\n}\n","import { disconnectSdk } from './disconnectSdk';\nimport { setUpConnection } from './setupConnection';\nimport { ConnectTypes } from './types';\n\nexport async function connect({\n logger,\n sdkDispatcher,\n userDispatcher,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n}: ConnectTypes): Promise<void> {\n await disconnectSdk({\n logger,\n sdkDispatcher,\n userDispatcher,\n sdk,\n });\n await setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n });\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { ReconnectType, StaticTypes, TriggerTypes } from './types';\nimport { connect } from './connect';\n\nexport default function useConnect(triggerTypes: TriggerTypes, staticTypes: StaticTypes): ReconnectType {\n const { userId, appId, accessToken } = triggerTypes;\n const {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n } = staticTypes;\n logger?.info?.('SendbirdProvider | useConnect', { ...triggerTypes, ...staticTypes });\n useEffect(() => {\n logger?.info?.('SendbirdProvider | useConnect/useEffect', { userId, appId, accessToken });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/useEffect', error);\n }\n }, [userId, appId, accessToken]);\n const reconnect = useCallback(() => {\n logger?.info?.('SendbirdProvider | useConnect/reconnect/useCallback', { sdk });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/reconnect/useCallback', error);\n }\n }, [sdk]);\n return reconnect;\n}\n","// Logger, pretty much explains it\n// in SendbirdProvider\n\nimport { ObjectValues } from '../../utils/typeHelpers/objectValues';\n\n// const [logger, setLogger] = useState(LoggerFactory(logLevel));\nexport const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n} as const;\nexport type LogLevel = ObjectValues<typeof LOG_LEVELS>;\n\nconst colorLog = (level: LogLevel): string => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\ninterface PrintLogProps {\n level: LogLevel;\n title: string;\n description?: string;\n}\nexport const printLog = ({\n level,\n title,\n description = '',\n}: PrintLogProps): void => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level), description,\n );\n};\n\ntype LoggerLogType = (title?: string, description?: string) => void;\ninterface LoggerInterface {\n info: LoggerLogType;\n error: LoggerLogType;\n warning: LoggerLogType;\n}\n\nconst noop = () => { /* noop */ };\nexport const getDefaultLogger = (): LoggerInterface => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\nexport const LoggerFactory = (\n lvl: LogLevel,\n customInterface?: () => void,\n): LoggerInterface => {\n const logInterface = customInterface || printLog;\n const lvlArray: Array<LogLevel> = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl: LogLevel) => (title?: string, description?: string) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n\n// TODO: Make this to hook, useLogger\n","// https://davidwalsh.name/pubsub-javascript\n// we use pubsub to sync events between multiple components(example - ChannelList, Channel)\n// for example, if customer sends a message from their custom component\n// without pubsub,we would not be able to listen to it\n// in our ChannelList or Conversation\n\ninterface PubSubTypes {\n __getTopics: () => Record<string, string>;\n subscribe: (topic: string, listener: unknown) => { remove: () => void };\n publish: (topic: string, info: unknown) => void;\n}\n\nconst pubSubFactory = (): PubSubTypes => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n\nexport default pubSubFactory;\n","import { useEffect } from 'react';\n\n/* eslint-disable default-param-last */\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","import React from 'react';\nimport { VoicePlayerProvider } from '../hooks/VoicePlayer';\nimport { VoiceRecorderProvider } from '../hooks/VoiceRecorder';\n\nexport interface VoiceMessageProviderProps {\n children: React.ReactElement;\n isVoiceMessageEnabled?: boolean;\n}\n\nexport const VoiceMessageProvider = ({\n children,\n isVoiceMessageEnabled = true,\n}: VoiceMessageProviderProps): React.ReactElement => {\n if (!isVoiceMessageEnabled) {\n return (\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n );\n }\n return (\n <VoiceRecorderProvider>\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n </VoiceRecorderProvider>\n );\n};\n\nexport default VoiceMessageProvider;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { useEffect, useMemo } from 'react';\nimport { Logger } from '../SendbirdState';\n\nexport type MarkAsReadSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\nconst TIMEOUT = 5000;\n\nexport const schedulerFactory = (logger: Logger, timeout?: number): MarkAsReadSchedulerType => {\n let queue: GroupChannel[] = [];\n let interval = null;\n const push = (channel: GroupChannel) => {\n const channelPresent = queue.find((c) => c.url === channel.url);\n if (!channelPresent) {\n queue.push(channel);\n } else {\n logger.info('Channel: Mark as read already in queue', channel);\n }\n // start the interval if it's not already running\n if (interval) {\n return;\n }\n interval = setInterval(() => {\n if (queue.length === 0) {\n clearInterval(interval);\n interval = null;\n return;\n }\n const channel = queue.shift();\n if (channel) {\n try {\n channel.markAsRead();\n } catch (error) {\n logger.error('Channel: Mark as read failed', error);\n }\n }\n }, (timeout || TIMEOUT));\n };\n const clear = () => {\n queue = [];\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n };\n return {\n push,\n clear,\n getQueue: () => queue,\n };\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsReadScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsReadSchedulerType {\n const markAsReadScheduler = useMemo(() => schedulerFactory(logger), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsReadScheduler.clear();\n }\n }, [isConnected]);\n\n return markAsReadScheduler;\n}\n","import './index.scss';\nimport './__experimental__typography.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport { User } from '@sendbird/chat';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\nimport useConnect from './hooks/useConnect';\nimport { LoggerFactory, LogLevel } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { VoiceMessageProvider } from './VoiceMessageProvider';\nimport { LocalizationProvider } from './LocalizationContext';\nimport { MediaQueryProvider } from './MediaQueryContext';\nimport getStringSet from '../ui/Label/stringSet';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../utils/consts';\nimport { useMarkAsReadScheduler } from './hooks/useMarkAsReadScheduler';\nimport { ConfigureSessionTypes } from './hooks/useConnect/types';\n\nexport type UserListQueryType = {\n hasNext?: boolean;\n next: () => Promise<Array<User>>;\n};\n\ninterface VoiceRecordOptions {\n maxRecordingTime?: number;\n minRecordingTime?: number;\n}\n\nexport interface ImageCompressionOptions {\n compressionRate?: number;\n resizingWidth?: number | string;\n resizingHeight?: number | string;\n}\n\nexport interface SendbirdConfig {\n logLevel?: string | Array<string>;\n pubSub?: () => void;// TODO: Define pubSub type and apply it here\n userMention?: {\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n };\n isREMUnitEnabled?: boolean;\n}\n\nexport interface SendbirdProviderProps {\n appId: string;\n userId: string;\n children: React.ReactElement;\n accessToken?: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n configureSession?: ConfigureSessionTypes;\n theme?: 'light' | 'dark';\n config?: SendbirdConfig;\n nickname?: string;\n colorSet?: Record<string, string>;\n stringSet?: Record<string, string>;\n replyType?: 'NONE' | 'QUOTE_REPLY' | 'THREAD';\n dateLocale?: Locale;\n profileUrl?: string;\n voiceRecord?: VoiceRecordOptions;\n userListQuery?: UserListQueryType;\n imageCompression?: ImageCompressionOptions;\n allowProfileEdit?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableUserProfile?: boolean;\n isVoiceMessageEnabled?: boolean;\n disableMarkAsDelivered?: boolean;\n isTypingIndicatorEnabledOnChannelList?: boolean;\n isMessageReceiptStatusEnabledOnChannelList?: boolean;\n renderUserProfile?: () => React.ReactElement;\n onUserProfileMessage?: () => void;\n}\n\nconst Sendbird = ({\n appId,\n userId,\n children,\n accessToken = '',\n customApiHost = '',\n customWebSocketHost = '',\n configureSession = null,\n theme = 'light',\n config = {},\n nickname = '',\n colorSet = null,\n stringSet = null,\n replyType = 'NONE',\n dateLocale = null,\n profileUrl = '',\n voiceRecord = { maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX, minRecordingTime: VOICE_RECORDER_DEFAULT_MIN },\n userListQuery = null,\n imageCompression = {},\n allowProfileEdit = false,\n isMentionEnabled = false,\n isReactionEnabled = true,\n disableUserProfile = false,\n isVoiceMessageEnabled = true,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n renderUserProfile = null,\n onUserProfileMessage = null,\n}: SendbirdProviderProps): React.ReactElement => {\n const mediaQueryBreakPoint = false;\n\n const {\n logLevel = '',\n userMention = {},\n isREMUnitEnabled = false,\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel as LogLevel));\n const [pubSub] = useState(pubSubFactory());\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n useTheme(colorSet);\n\n const reconnect = useConnect({\n appId,\n userId,\n accessToken,\n }, {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk: sdkStore?.sdk,\n sdkDispatcher,\n userDispatcher,\n });\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel as LogLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-experimental__rem__units');\n if (isREMUnitEnabled) {\n body.classList.add('sendbird-experimental__rem__units');\n }\n }, [isREMUnitEnabled]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const markAsReadScheduler = useMarkAsReadScheduler({ isConnected: isOnline }, { logger });\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n <SendbirdSdkContext.Provider\n value={{\n stores: {\n sdkStore,\n userStore,\n },\n dispatchers: {\n sdkDispatcher,\n userDispatcher,\n reconnect,\n },\n config: {\n disableUserProfile,\n disableMarkAsDelivered,\n renderUserProfile,\n onUserProfileMessage,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression: {\n compressionRate: 0.7,\n ...imageCompression,\n },\n isReactionEnabled,\n isMentionEnabled: isMentionEnabled || false,\n isVoiceMessageEnabled,\n voiceRecord,\n userMention: {\n maxMentionCount: userMention?.maxMentionCount || 10,\n maxSuggestionCount: userMention?.maxSuggestionCount || 15,\n },\n isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabledOnChannelList,\n replyType,\n markAsReadScheduler,\n },\n }}\n >\n <MediaQueryProvider logger={logger} mediaQueryBreakPoint={mediaQueryBreakPoint}>\n <LocalizationProvider stringSet={localeStringSet} dateLocale={dateLocale}>\n <VoiceMessageProvider isVoiceMessageEnabled={isVoiceMessageEnabled}>\n {children}\n </VoiceMessageProvider>\n </LocalizationProvider>\n </MediaQueryProvider>\n </SendbirdSdkContext.Provider>\n );\n};\n\nexport default Sendbird;\n"],"names":["isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","_objectSpread","SDK_ACTIONS","INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","initialState","initialized","loading","sdk","error","reducer","state","action","match","with","type","_ref","payload","_ref2","otherwise","user","USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO","useConnectionStatus","logger","isOnline","setIsOnline","useState","useEffect","uniqueHandlerId","uuidv4","warning","handler","ConnectionHandler","onDisconnected","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","info","addConnectionHandler","_unused","removeConnectionHandler","_unused2","tryReconnect","connectionState","_unused3","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","e","remove","disconnectSdk","sdkDispatcher","userDispatcher","Promise","resolve","disconnect","then","finally","APP_VERSION_STRING","getMissingParamError","userId","appId","getConnectSbError","code","message","setUpParams","customApiHost","customWebSocketHost","params","modules","GroupChannelModule","OpenChannelModule","newSdk","SendbirdChat","init","setUpConnection","_ref3","configureSession","nickname","profileUrl","accessToken","reject","_logger$info","call","_logger$info2","sessionHandler","setSessionHandler","_logger$info3","addExtension","connectCbSucess","_logger$info4","isTextuallyNull","_logger$info5","updateCurrentUserInfo","namedUser","_logger$info6","connectCbError","_logger$error","errorMessage","_logger$info7","connect","res","catch","err","_logger$info8","_logger$error2","useConnect","triggerTypes","staticTypes","useCallback","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","noop","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","pubSubFactory","topics","hOP","__getTopics","subscribe","topic","listener","index","push","publish","forEach","item","useAppendDomNode","ids","arguments","length","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","VoiceMessageProvider","children","isVoiceMessageEnabled","React","VoicePlayerProvider","VoiceRecorderProvider","TIMEOUT","schedulerFactory","timeout","queue","interval","channel","channelPresent","find","c","url","setInterval","clearInterval","shift","markAsRead","clear","getQueue","useMarkAsReadScheduler","isConnected","markAsReadScheduler","useMemo","Sendbird","theme","config","colorSet","stringSet","replyType","dateLocale","voiceRecord","maxRecordingTime","VOICE_RECORDER_DEFAULT_MAX","minRecordingTime","VOICE_RECORDER_DEFAULT_MIN","userListQuery","imageCompression","allowProfileEdit","isMentionEnabled","isReactionEnabled","disableUserProfile","disableMarkAsDelivered","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","renderUserProfile","onUserProfileMessage","mediaQueryBreakPoint","logLevel","userMention","isREMUnitEnabled","setLogger","pubSub","sdkStore","useReducer","sdkReducers","sdkInitialState","userStore","userReducers","userInitialState","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","getStringSet","SendbirdSdkContext","Provider","value","stores","dispatchers","compressionRate","maxMentionCount","maxSuggestionCount","MediaQueryProvider","LocalizationProvider"],"mappings":"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"}
1
+ {"version":3,"file":"SendbirdProvider.js","sources":["../../src/lib/hooks/useTheme.ts","../../src/lib/dux/sdk/actionTypes.ts","../../src/lib/dux/sdk/initialState.ts","../../src/lib/dux/sdk/reducers.ts","../../src/lib/dux/user/initialState.ts","../../src/lib/dux/user/reducers.ts","../../src/lib/hooks/useOnlineStatus.js","../../src/lib/hooks/useConnect/disconnectSdk.ts","../../src/lib/hooks/useConnect/setupConnection.ts","../../src/lib/hooks/useConnect/connect.ts","../../src/lib/hooks/useConnect/index.ts","../../src/lib/Logger/index.ts","../../src/lib/pubSub/index.ts","../../src/hooks/useAppendDomNode.js","../../src/lib/UIKitConfigProvider/utils/snakeToCamel.ts","../../src/lib/UIKitConfigProvider/utils/types.ts","../../src/lib/UIKitConfigProvider/utils/getConfigsByPriority.ts","../../src/lib/UIKitConfigProvider/const/initialConfig.ts","../../src/lib/UIKitConfigProvider/UIKitConfigStorageManager/index.ts","../../src/lib/UIKitConfigProvider/index.tsx","../../src/lib/VoiceMessageProvider.tsx","../../src/lib/hooks/schedulerFactory.ts","../../src/hooks/useUnmount.ts","../../src/lib/hooks/useMarkAsReadScheduler.ts","../../src/lib/hooks/useMarkAsDeliveredScheduler.ts","../../src/lib/Sendbird.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n};\n\nconst useTheme = (overrides: Record<string, string>): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","import SendbirdChat from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const SDK_ACTIONS = {\n INIT_SDK: 'INIT_SDK',\n SET_SDK_LOADING: 'SET_SDK_LOADING',\n RESET_SDK: 'RESET_SDK',\n SDK_ERROR: 'SDK_ERROR',\n} as const;\n\ntype SDK_PAYLOAD_TYPES = {\n [SDK_ACTIONS.SET_SDK_LOADING]: boolean,\n [SDK_ACTIONS.INIT_SDK]: SendbirdChat,\n [SDK_ACTIONS.SDK_ERROR]: null,\n [SDK_ACTIONS.RESET_SDK]: null,\n};\n\nexport type SdkActionTypes = CreateAction<SDK_PAYLOAD_TYPES>;\n","import SendbirdChat from '@sendbird/chat';\n\nexport interface SdkStoreStateType {\n initialized: boolean;\n loading: boolean;\n sdk: SendbirdChat,\n error: boolean;\n}\n\nconst initialState: SdkStoreStateType = {\n initialized: false,\n loading: false,\n sdk: {} as SendbirdChat,\n error: false,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { SdkActionTypes, SDK_ACTIONS } from './actionTypes';\nimport initialState, { SdkStoreStateType } from './initialState';\n\nexport default function reducer(state: SdkStoreStateType, action: SdkActionTypes): SdkStoreStateType {\n return match(action)\n .with({ type: SDK_ACTIONS.SET_SDK_LOADING }, ({ payload }) => {\n return {\n ...state,\n initialized: false,\n loading: payload,\n };\n })\n .with({ type: SDK_ACTIONS.SDK_ERROR }, () => {\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n })\n .with({ type: SDK_ACTIONS.INIT_SDK }, ({ payload }) => {\n return {\n sdk: payload,\n initialized: true,\n loading: false,\n error: false,\n };\n })\n .with({ type: SDK_ACTIONS.RESET_SDK }, () => {\n return initialState;\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { User } from '@sendbird/chat';\n\nexport interface UserStoreStateType {\n initialized: boolean;\n loading: boolean;\n user: User;\n}\n\nconst initialState: UserStoreStateType = {\n initialized: false,\n loading: false,\n user: {} as User,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { UserActionTypes, USER_ACTIONS } from './actionTypes';\nimport initialState, { UserStoreStateType } from './initialState';\n\nexport default function reducer(state: UserStoreStateType, action: UserActionTypes): UserStoreStateType {\n return match(action)\n .with({ type: USER_ACTIONS.INIT_USER }, ({ payload }) => {\n return {\n initialized: true,\n loading: false,\n user: payload,\n };\n })\n .with({ type: USER_ACTIONS.RESET_USER }, () => {\n return initialState;\n })\n .with({ type: USER_ACTIONS.UPDATE_USER_INFO }, ({ payload }) => {\n return {\n ...state,\n user: payload,\n };\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { ConnectionHandler } from '@sendbird/chat';\nimport { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n try {\n logger.warning('sdk changed', uniqueHandlerId);\n const handler = new ConnectionHandler();\n handler.onDisconnected = () => {\n logger.warning('onDisconnected', { isOnline });\n };\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n // workaround -> addConnectionHandler invalidates session handler\n // provided through configureSession\n if (sdk?.addConnectionHandler) {\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n } catch {\n //\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.connectionState !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","import { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { DisconnectSdkTypes } from './types';\n\nexport async function disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n}: DisconnectSdkTypes): Promise<boolean> {\n return new Promise((resolve) => {\n sdkDispatcher({ type: SDK_ACTIONS.SET_SDK_LOADING, payload: true });\n if (sdk?.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: SDK_ACTIONS.RESET_SDK });\n userDispatcher({ type: USER_ACTIONS.RESET_USER });\n })\n .finally(() => {\n resolve(true);\n });\n } else {\n resolve(true);\n }\n });\n}\n","import SendbirdChat, { SendbirdError, User } from '@sendbird/chat';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\n\nimport { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\n\nimport { isTextuallyNull } from '../../../utils';\n\nimport { SetupConnectionTypes } from './types';\n\nconst APP_VERSION_STRING = '__react_dev_mode__';\n\nconst { INIT_SDK, SET_SDK_LOADING, RESET_SDK, SDK_ERROR } = SDK_ACTIONS;\nconst { INIT_USER, UPDATE_USER_INFO, RESET_USER } = USER_ACTIONS;\n\nexport function getMissingParamError({ userId, appId }: { userId?: string, appId?: string }): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed UserId: ${userId} or appId: ${appId} missing`;\n}\nexport function getConnectSbError(error?: SendbirdError): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed. ${error?.code || ''} ${error?.message || ''}`;\n}\n\nexport function setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n}: {\n appId: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n}): SendbirdChat {\n const params = {\n appId,\n modules: [\n new GroupChannelModule(),\n new OpenChannelModule(),\n ],\n };\n if (customApiHost) {\n params['customApiHost'] = customApiHost;\n }\n if (customWebSocketHost) {\n params['customWebSocketHost'] = customWebSocketHost;\n }\n const newSdk = SendbirdChat.init(params);\n return newSdk;\n}\n\n// Steps\n// 1. Check if minimum userID/appID is provided\n// 1.a. If not, throw error > !reject\n// 1.b. If yes, continue\n// 2. Set up params with custom host if provided\n// 3. Set up session handler if provided\n// 4. Set up version\n// 5. Connect to Sendbird -> either using user ID or (user ID + access token)\n// 6. If connected, connectCbSucess\n// 6.a check if nickname is to be updated -> no > !resolve immediately\n// 6.b check if nickname is to be updated -> yes > update nickname > !resolve\n// 7. If not connected, connectCbError > !reject\nexport async function setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n}: SetupConnectionTypes): Promise<void> {\n return new Promise((resolve, reject) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/init', { userId, appId });\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n\n if (userId && appId) {\n const newSdk = setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n });\n\n if (configureSession && typeof configureSession === 'function') {\n const sessionHandler = configureSession(newSdk);\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);\n newSdk.setSessionHandler(sessionHandler);\n }\n\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/setVersion', { version: APP_VERSION_STRING });\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n\n const connectCbSucess = async (user: User) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n\n initDashboardConfigs(newSdk)\n .then(config => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration success', {\n config,\n });\n })\n .catch(error => {\n logger?.error?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration failed', {\n error,\n });\n });\n\n // use nickname/profileUrl if provided\n // or set userID as nickname\n if ((nickname !== user.nickname || profileUrl !== user.profileUrl)\n && !(isTextuallyNull(nickname) && isTextuallyNull(profileUrl))\n ) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {\n nickname,\n profileUrl,\n });\n newSdk.updateCurrentUserInfo({\n nickname: nickname || user.nickname,\n profileUrl: profileUrl || user.profileUrl,\n }).then((namedUser) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {\n nickname,\n profileUrl,\n });\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n }).finally(() => {\n resolve();\n });\n } else {\n resolve();\n }\n };\n\n const connectCbError = (e: SendbirdError) => {\n const errorMessage = getConnectSbError(e);\n logger?.error?.(errorMessage, {\n e,\n appId,\n userId,\n });\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n\n sdkDispatcher({ type: SDK_ERROR });\n // exit promise with error\n reject(errorMessage);\n };\n\n logger?.info?.(`SendbirdProvider | useConnect/setupConnection/connect connecting using ${accessToken ?? userId}`);\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n const errorMessage = getMissingParamError({ userId, appId });\n sdkDispatcher({ type: SDK_ERROR });\n logger?.error?.(errorMessage);\n // exit promise with error\n reject(errorMessage);\n }\n });\n}\n","import { disconnectSdk } from './disconnectSdk';\nimport { setUpConnection } from './setupConnection';\nimport { ConnectTypes } from './types';\n\nexport async function connect({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n}: ConnectTypes): Promise<void> {\n await disconnectSdk({\n logger,\n sdkDispatcher,\n userDispatcher,\n sdk,\n });\n await setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n });\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { ReconnectType, StaticTypes, TriggerTypes } from './types';\nimport { connect } from './connect';\n\nexport default function useConnect(triggerTypes: TriggerTypes, staticTypes: StaticTypes): ReconnectType {\n const { userId, appId, accessToken } = triggerTypes;\n const {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n } = staticTypes;\n logger?.info?.('SendbirdProvider | useConnect', { ...triggerTypes, ...staticTypes });\n\n useEffect(() => {\n logger?.info?.('SendbirdProvider | useConnect/useEffect', { userId, appId, accessToken });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/useEffect', error);\n }\n }, [userId, appId, accessToken]);\n const reconnect = useCallback(() => {\n logger?.info?.('SendbirdProvider | useConnect/reconnect/useCallback', { sdk });\n\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/reconnect/useCallback', error);\n }\n }, [sdk]);\n return reconnect;\n}\n","// Logger, pretty much explains it\n// in SendbirdProvider\n\nimport { ObjectValues } from '../../utils/typeHelpers/objectValues';\n\n// const [logger, setLogger] = useState(LoggerFactory(logLevel));\nexport const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n} as const;\nexport type LogLevel = ObjectValues<typeof LOG_LEVELS>;\n\nconst colorLog = (level: LogLevel): string => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\ninterface PrintLogProps {\n level: LogLevel;\n title: string;\n description?: string;\n}\nexport const printLog = ({\n level,\n title,\n description = '',\n}: PrintLogProps): void => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level), description,\n );\n};\n\ntype LoggerLogType = (title?: string, description?: string) => void;\ninterface LoggerInterface {\n info: LoggerLogType;\n error: LoggerLogType;\n warning: LoggerLogType;\n}\n\nconst noop = () => { /* noop */ };\nexport const getDefaultLogger = (): LoggerInterface => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\nexport const LoggerFactory = (\n lvl: LogLevel,\n customInterface?: () => void,\n): LoggerInterface => {\n const logInterface = customInterface || printLog;\n const lvlArray: Array<LogLevel> = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl: LogLevel) => (title?: string, description?: string) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n\n// TODO: Make this to hook, useLogger\n","// https://davidwalsh.name/pubsub-javascript\n// we use pubsub to sync events between multiple components(example - ChannelList, Channel)\n// for example, if customer sends a message from their custom component\n// without pubsub,we would not be able to listen to it\n// in our ChannelList or Conversation\n\ninterface PubSubTypes {\n __getTopics: () => Record<string, string>;\n subscribe: (topic: string, listener: unknown) => { remove: () => void };\n publish: (topic: string, info: unknown) => void;\n}\n\nconst pubSubFactory = (): PubSubTypes => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n\nexport default pubSubFactory;\n","import { useEffect } from 'react';\n\n/* eslint-disable default-param-last */\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","type CamelCase<T> = T extends object\n ? {\n [K in keyof T as Uncapitalize<CamelCaseKey<K & string>>]: CamelCase<T[K]>;\n }\n : T;\n\ntype CamelCaseKey<K extends string> = K extends `${infer A}_${infer B}`\n ? `${Lowercase<A>}${Capitalize<CamelCaseKey<B & string>>}`\n : K;\n\nexport function snakeToCamel<T>(obj: T): CamelCase<T> {\n if (typeof obj !== 'object' || obj === null) {\n return obj as CamelCase<T>;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => snakeToCamel(item)) as CamelCase<T>;\n }\n\n const result = {} as CamelCase<T>;\n Object.keys(obj).forEach((key) => {\n const camelKey = key.replace(/_\\w/g, (m) => m[1].toUpperCase());\n result[camelKey] = snakeToCamel(obj[key]);\n });\n\n return result;\n}\n","// @link https://gist.github.com/navix/6c25c15e0a2d3cd0e5bce999e0086fc9\n/* eslint-disable @typescript-eslint/ban-types */\nexport type DeepPartial<T> = T extends Function\n ? T\n : (T extends object ? { [P in keyof T]?: DeepPartial<T[P]>; } : T);\n\nexport function isSameType<T, U>(a: T, b: U): boolean {\n // we do this cause typeof can't differenciate object/ array/ null\n return Object.prototype.toString.call(a) === Object.prototype.toString.call(b);\n}\n","import { DeepPartial, isSameType } from './types';\nimport { UIKitConfigInfo } from '../types';\n\n/**\n * @param localConfigs Set directly in code level. It has higher priority than remote ones\n * @param remoteConfigs Set by Feature Config setting in Dashboard\n * @returns\n */\nexport default function getConfigsByPriority(localConfigs: DeepPartial<UIKitConfigInfo>, remoteConfigs: UIKitConfigInfo): UIKitConfigInfo {\n const prioritizedConfigs = { ...remoteConfigs }; // copy remoteConfigs to prevent mutation\n\n Object.keys(localConfigs).forEach(key => {\n if (prioritizedConfigs.hasOwnProperty(key) && isSameType(localConfigs[key], prioritizedConfigs[key])) {\n prioritizedConfigs[key] = typeof localConfigs[key] === 'object'\n // Recursively call getConfigsByPriority only when the value of the key is Object\n ? getConfigsByPriority(localConfigs[key], prioritizedConfigs[key])\n : localConfigs[key];\n }\n });\n\n return prioritizedConfigs;\n}\n","import { UIKitConfigInfo } from '../types';\n\n// @link: https://docs.google.com/spreadsheets/d/1-AozBMHRYOXS74vZ-7x2ptQcBL6nnM-orJWRvUgmkd4/edit#gid=0\nconst initialConfig: UIKitConfigInfo = {\n common: {\n enableUsingDefaultUserProfile: false,\n },\n groupChannel: {\n channel: {\n enableMention: false,\n enableOgtag: true,\n enableReactions: true,\n enableTypingIndicator: true,\n enableVoiceMessage: false,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n replyType: 'quote_reply',\n threadReplySelectType: 'thread',\n },\n channelList: {\n enableMessageReceiptStatus: false,\n enableTypingIndicator: false,\n },\n setting: {\n enableMessageSearch: false,\n },\n },\n openChannel: {\n channel: {\n enableOgtag: true,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n },\n },\n};\n\nexport default initialConfig;\n","import { UIKitConfigPayload } from '../types';\nimport mergeConfigs from '../utils/getConfigsByPriority';\nimport initialConfig from '../const/initialConfig';\n\nexport interface StorageInterface {\n getItem(key: string): Promise<null|string>;\n setItem(key: string, value: string): Promise<void>;\n}\n\nexport class UIKitConfigStorageManager {\n key: string;\n\n storage: StorageInterface;\n\n constructor(storage: StorageInterface) {\n this.storage = storage;\n }\n\n init(appId: string) {\n this.key = `sbu@${appId}.uikitConfiguration`;\n return this.get();\n }\n\n async update(payload: UIKitConfigPayload) {\n const storedConfig = await this.get();\n const mergedConfig = {\n lastUpdatedAt: payload.lastUpdatedAt,\n uikitConfigurations: mergeConfigs(payload?.uikitConfigurations, storedConfig?.uikitConfigurations),\n };\n await this.storage.setItem(this.key, JSON.stringify(mergedConfig));\n return mergedConfig;\n }\n\n async get(): Promise<UIKitConfigPayload> {\n const initialPayload = {\n lastUpdatedAt: 0,\n uikitConfigurations: initialConfig,\n };\n try {\n const storedConfig = await this.storage.getItem(this.key);\n if (storedConfig) {\n // TODO: Validation\n return JSON.parse(storedConfig);\n } else {\n return initialPayload;\n }\n } catch {\n return initialPayload;\n }\n }\n}\n","import SendbirdChat from '@sendbird/chat';\nimport React, { useCallback, useState, createContext, useContext } from 'react';\n\nimport { snakeToCamel } from './utils/snakeToCamel';\nimport { DeepPartial } from './utils/types';\n\nimport getConfigsByPriority from './utils/getConfigsByPriority';\n\nimport { UIKitConfigInfo } from './types';\nimport initialConfig from './const/initialConfig';\nimport { UIKitConfigStorageManager, type StorageInterface } from './UIKitConfigStorageManager';\n\ninterface UIKitConfigContextInterface {\n initDashboardConfigs: (sdk: SendbirdChat) => Promise<void>;\n configs: UIKitConfigInfo;\n}\nconst UIKitConfigContext = createContext<UIKitConfigContextInterface>({\n initDashboardConfigs: () => Promise.resolve(),\n configs: initialConfig,\n});\n\ninterface UIKitConfigProviderProps {\n // Configurations set by code level\n localConfigs: DeepPartial<UIKitConfigInfo>;\n children: React.ReactElement;\n // If the storage value is not provided,\n // it'll fetch the new configs set by dashboard everytime\n storage?: StorageInterface;\n}\n\nconst UIKitConfigProvider = ({ storage, children, localConfigs }: UIKitConfigProviderProps) => {\n // Set by Feature Config setting in Dashboard\n const [remoteConfigs, setRemoteConfigs] = useState<UIKitConfigInfo>(initialConfig);\n\n const initDashboardConfigs = useCallback(async (sdk: SendbirdChat) => {\n try {\n if (storage == null) {\n const payload = await sdk.getUIKitConfiguration();\n setRemoteConfigs(snakeToCamel(payload.json.uikit_configurations));\n return;\n }\n\n // Compare the sdk uikitConfig's lastUpdatedAt <-> stored one\n const manager = new UIKitConfigStorageManager(storage);\n const storedConfigs = await manager.init(sdk.appId);\n\n if (sdk.appInfo.uikitConfigInfo.lastUpdatedAt === storedConfigs.lastUpdatedAt) {\n setRemoteConfigs(storedConfigs.uikitConfigurations);\n } else {\n const payload = await sdk.getUIKitConfiguration();\n const updatedPayloed = await manager.update(snakeToCamel(payload.json));\n setRemoteConfigs(updatedPayloed.uikitConfigurations);\n }\n } catch (error) {\n //\n }\n }, []);\n\n const configs = getConfigsByPriority(localConfigs, remoteConfigs);\n\n return <UIKitConfigContext.Provider value={{\n initDashboardConfigs,\n configs,\n }}>{children}</UIKitConfigContext.Provider>;\n};\n\nconst useUIKitConfig = () => useContext(UIKitConfigContext);\n\nexport { UIKitConfigProvider, useUIKitConfig };\n","import React from 'react';\nimport { VoicePlayerProvider } from '../hooks/VoicePlayer';\nimport { VoiceRecorderProvider } from '../hooks/VoiceRecorder';\n\nexport interface VoiceMessageProviderProps {\n children: React.ReactElement;\n isVoiceMessageEnabled?: boolean;\n}\n\nexport const VoiceMessageProvider = ({\n children,\n isVoiceMessageEnabled = true,\n}: VoiceMessageProviderProps): React.ReactElement => {\n if (!isVoiceMessageEnabled) {\n return (\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n );\n }\n return (\n <VoiceRecorderProvider>\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n </VoiceRecorderProvider>\n );\n};\n\nexport default VoiceMessageProvider;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../SendbirdState';\n\nconst TIMEOUT = 2000;\n\n/*\n * This is a factory function that returns a scheduler.\n * The scheduler is a queue that calls the callback function on intervals.\n * If interval is empty, the callback function is called immediately.\n * If interval is not empty, the callback function is called after the interval.\n*/\nexport function schedulerFactory<T>({\n logger,\n timeout,\n cb,\n}: {\n logger: Logger;\n timeout?: number;\n cb: (item: T) => void;\n}) {\n let queue: GroupChannel[] = [];\n let interval: ReturnType<typeof setTimeout> | null = null;\n const push = (channel: GroupChannel) => {\n const channelPresent = queue.find((c) => c.url === channel.url);\n if (!channelPresent) {\n queue.push(channel);\n } else {\n logger.info('Channel: Mark as read already in queue', { channel });\n }\n // start the interval if it's not already running\n if (interval) {\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n interval = setInterval(() => {\n if (queue.length === 0 && interval) {\n clearInterval(interval);\n interval = null;\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n }, (timeout || TIMEOUT));\n };\n const clear = () => {\n queue = [];\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n };\n return {\n push,\n clear,\n getQueue: () => queue,\n };\n}\n","import { useLayoutEffect } from 'react';\n\n// this hook accepts a callback to run component is unmounted\nexport function useUnmount(callback: () => void) {\n useLayoutEffect(() => {\n return () => {\n callback();\n };\n }, []);\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsReadSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsReadScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsReadSchedulerType {\n const markAsReadScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsRead();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsReadScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsReadScheduler.clear(); });\n\n return markAsReadScheduler;\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsDeliveredSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsDeliveredScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsDeliveredSchedulerType {\n const markAsDeliveredScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsDelivered();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsDeliveredScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsDeliveredScheduler.clear(); });\n\n return markAsDeliveredScheduler;\n}\n","import './index.scss';\nimport './__experimental__typography.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport { User } from '@sendbird/chat';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\n\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\nimport useConnect from './hooks/useConnect';\nimport { LoggerFactory, LogLevel } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { UIKitConfigProvider, useUIKitConfig } from './UIKitConfigProvider';\nimport { VoiceMessageProvider } from './VoiceMessageProvider';\nimport { LocalizationProvider } from './LocalizationContext';\nimport { MediaQueryProvider } from './MediaQueryContext';\nimport getStringSet from '../ui/Label/stringSet';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../utils/consts';\nimport { useMarkAsReadScheduler } from './hooks/useMarkAsReadScheduler';\nimport { ConfigureSessionTypes } from './hooks/useConnect/types';\nimport { useMarkAsDeliveredScheduler } from './hooks/useMarkAsDeliveredScheduler';\n\nexport type UserListQueryType = {\n hasNext?: boolean;\n next: () => Promise<Array<User>>;\n};\n\ninterface VoiceRecordOptions {\n maxRecordingTime?: number;\n minRecordingTime?: number;\n}\n\nexport interface ImageCompressionOptions {\n compressionRate?: number;\n resizingWidth?: number | string;\n resizingHeight?: number | string;\n}\n\nexport interface SendbirdConfig {\n logLevel?: string | Array<string>;\n pubSub?: () => void;// TODO: Define pubSub type and apply it here\n userMention?: {\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n };\n isREMUnitEnabled?: boolean;\n}\n\ninterface CommonUIKitConfigProps {\n replyType?: 'NONE' | 'QUOTE_REPLY' | 'THREAD';\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableUserProfile?: boolean;\n isVoiceMessageEnabled?: boolean;\n isTypingIndicatorEnabledOnChannelList?: boolean;\n isMessageReceiptStatusEnabledOnChannelList?: boolean;\n}\nexport interface SendbirdProviderProps extends CommonUIKitConfigProps {\n appId: string;\n userId: string;\n children: React.ReactElement;\n accessToken?: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n configureSession?: ConfigureSessionTypes;\n theme?: 'light' | 'dark';\n config?: SendbirdConfig;\n nickname?: string;\n colorSet?: Record<string, string>;\n stringSet?: Record<string, string>;\n dateLocale?: Locale;\n profileUrl?: string;\n voiceRecord?: VoiceRecordOptions;\n userListQuery?: UserListQueryType;\n imageCompression?: ImageCompressionOptions;\n allowProfileEdit?: boolean;\n disableMarkAsDelivered?: boolean;\n renderUserProfile?: () => React.ReactElement;\n onUserProfileMessage?: () => void;\n}\n\nfunction Sendbird(props: SendbirdProviderProps) {\n const {\n replyType = 'NONE',\n isMentionEnabled = false,\n isReactionEnabled = true,\n disableUserProfile = false,\n isVoiceMessageEnabled = true,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = props;\n\n return (\n <UIKitConfigProvider\n localConfigs={{\n common: {\n enableUsingDefaultUserProfile: !disableUserProfile,\n },\n groupChannel: {\n channel: {\n enableReactions: isReactionEnabled,\n enableMention: isMentionEnabled,\n enableVoiceMessage: isVoiceMessageEnabled,\n /**\n * Since dashbord UIKit Configuration's replyType is consisted of all lowercase letters,\n * we convert it from here.\n * i.e. 'THREAD' -> 'thread'\n */\n replyType: replyType.toLowerCase(),\n },\n channelList: {\n enableTypingIndicator: isTypingIndicatorEnabledOnChannelList,\n enableMessageReceiptStatus: isMessageReceiptStatusEnabledOnChannelList,\n },\n },\n }}\n >\n <SendbirdSDK {...props} />\n </UIKitConfigProvider>\n );\n}\nconst SendbirdSDK = ({\n appId,\n userId,\n children,\n accessToken = '',\n customApiHost = '',\n customWebSocketHost = '',\n configureSession = null,\n theme = 'light',\n config = {},\n nickname = '',\n colorSet = null,\n stringSet = null,\n dateLocale = null,\n profileUrl = '',\n voiceRecord = { maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX, minRecordingTime: VOICE_RECORDER_DEFAULT_MIN },\n userListQuery = null,\n imageCompression = {},\n allowProfileEdit = false,\n disableMarkAsDelivered = false,\n renderUserProfile = null,\n onUserProfileMessage = null,\n}: SendbirdProviderProps): React.ReactElement => {\n const breakpoint = false;\n\n const {\n logLevel = '',\n userMention = {},\n isREMUnitEnabled = false,\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel as LogLevel));\n const [pubSub] = useState(pubSubFactory());\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n const { configs, initDashboardConfigs } = useUIKitConfig();\n\n useTheme(colorSet);\n\n const reconnect = useConnect({\n appId,\n userId,\n accessToken,\n }, {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk: sdkStore?.sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel as LogLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-experimental__rem__units');\n if (isREMUnitEnabled) {\n body.classList.add('sendbird-experimental__rem__units');\n }\n }, [isREMUnitEnabled]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const markAsReadScheduler = useMarkAsReadScheduler({ isConnected: isOnline }, { logger });\n const markAsDeliveredScheduler = useMarkAsDeliveredScheduler({ isConnected: isOnline }, { logger });\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n <SendbirdSdkContext.Provider\n value={{\n stores: {\n sdkStore,\n userStore,\n },\n dispatchers: {\n sdkDispatcher,\n userDispatcher,\n reconnect,\n },\n config: {\n disableMarkAsDelivered,\n renderUserProfile,\n onUserProfileMessage,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression: {\n compressionRate: 0.7,\n ...imageCompression,\n },\n voiceRecord,\n userMention: {\n maxMentionCount: userMention?.maxMentionCount || 10,\n maxSuggestionCount: userMention?.maxSuggestionCount || 15,\n },\n markAsReadScheduler,\n markAsDeliveredScheduler,\n // From UIKitConfigProvider.localConfigs\n disableUserProfile:\n !configs.common.enableUsingDefaultUserProfile,\n isReactionEnabled:\n configs.groupChannel.channel.enableReactions,\n isMentionEnabled:\n configs.groupChannel.channel.enableMention,\n isVoiceMessageEnabled:\n configs.groupChannel.channel.enableVoiceMessage,\n replyType:\n /**\n * Since UIKitConfigContext's replyType is consisted of all lowercase letters,\n * we need to convert it into all uppercase ones like\n * - 'thread' -> 'THREAD'\n * - 'quote_reply' -> 'QUOTE_REPLY'\n */\n configs.groupChannel.channel.replyType.toUpperCase(),\n isTypingIndicatorEnabledOnChannelList:\n configs.groupChannel.channelList.enableTypingIndicator,\n isMessageReceiptStatusEnabledOnChannelList:\n configs.groupChannel.channelList.enableMessageReceiptStatus,\n // TODO(Ahyoung): add more configs from UIKitConfigProvider.remoteConfigs\n },\n }}\n >\n <MediaQueryProvider logger={logger} breakpoint={breakpoint}>\n <LocalizationProvider stringSet={localeStringSet} dateLocale={dateLocale}>\n <VoiceMessageProvider isVoiceMessageEnabled={configs.groupChannel.channel.enableVoiceMessage}>\n {children}\n </VoiceMessageProvider>\n </LocalizationProvider>\n </MediaQueryProvider>\n </SendbirdSdkContext.Provider>\n );\n};\n\nexport default Sendbird;\n"],"names":["isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","_objectSpread","SDK_ACTIONS","INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","initialState","initialized","loading","sdk","error","reducer","state","action","match","with","type","_ref","payload","_ref2","otherwise","user","USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO","useConnectionStatus","logger","isOnline","setIsOnline","useState","useEffect","uniqueHandlerId","uuidv4","warning","handler","ConnectionHandler","onDisconnected","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","info","addConnectionHandler","_unused","removeConnectionHandler","_unused2","tryReconnect","connectionState","_unused3","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","e","remove","disconnectSdk","sdkDispatcher","userDispatcher","Promise","resolve","disconnect","then","finally","APP_VERSION_STRING","getMissingParamError","userId","appId","getConnectSbError","code","message","setUpParams","customApiHost","customWebSocketHost","params","modules","GroupChannelModule","OpenChannelModule","newSdk","SendbirdChat","init","setUpConnection","_ref3","initDashboardConfigs","configureSession","nickname","profileUrl","accessToken","reject","_logger$info","call","_logger$info3","_logger$info8","_logger$info2","sessionHandler","setSessionHandler","version","addExtension","connectCbSucess","_logger$info4","config","_logger$info5","catch","_logger$error","isTextuallyNull","_logger$info6","updateCurrentUserInfo","namedUser","_logger$info7","connectCbError","_logger$error2","errorMessage","connect","res","err","_logger$error3","useConnect","triggerTypes","staticTypes","useCallback","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","noop","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","pubSubFactory","topics","hOP","__getTopics","subscribe","topic","listener","index","push","publish","forEach","item","useAppendDomNode","ids","arguments","length","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","snakeToCamel","map","result","Object","keys","key","camelKey","replace","m","toUpperCase","isSameType","a","b","prototype","toString","getConfigsByPriority","localConfigs","remoteConfigs","prioritizedConfigs","initialConfig","common","enableUsingDefaultUserProfile","groupChannel","channel","enableMention","enableOgtag","enableReactions","enableTypingIndicator","enableVoiceMessage","input","camera","enablePhoto","enableVideo","enableDocument","gallery","replyType","threadReplySelectType","channelList","enableMessageReceiptStatus","setting","enableMessageSearch","openChannel","UIKitConfigStorageManager","constructor","storage","_defineProperty","get","update","storedConfig","mergedConfig","lastUpdatedAt","uikitConfigurations","mergeConfigs","setItem","initialPayload","getItem","parse","UIKitConfigContext","createContext","configs","UIKitConfigProvider","children","setRemoteConfigs","getUIKitConfiguration","json","uikit_configurations","manager","storedConfigs","appInfo","uikitConfigInfo","updatedPayloed","React","Provider","value","useUIKitConfig","useContext","VoiceMessageProvider","isVoiceMessageEnabled","VoicePlayerProvider","VoiceRecorderProvider","TIMEOUT","schedulerFactory","timeout","cb","queue","interval","channelPresent","find","c","url","shift","setInterval","clearInterval","clear","getQueue","useUnmount","callback","useMarkAsReadScheduler","isConnected","markAsReadScheduler","useMemo","markAsRead","useMarkAsDeliveredScheduler","markAsDeliveredScheduler","markAsDelivered","Sendbird","props","isMentionEnabled","isReactionEnabled","disableUserProfile","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","toLowerCase","SendbirdSDK","theme","colorSet","stringSet","dateLocale","voiceRecord","maxRecordingTime","VOICE_RECORDER_DEFAULT_MAX","minRecordingTime","VOICE_RECORDER_DEFAULT_MIN","userListQuery","imageCompression","allowProfileEdit","disableMarkAsDelivered","renderUserProfile","onUserProfileMessage","breakpoint","logLevel","userMention","isREMUnitEnabled","setLogger","pubSub","sdkStore","useReducer","sdkReducers","sdkInitialState","userStore","userReducers","userInitialState","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","getStringSet","SendbirdSdkContext","stores","dispatchers","compressionRate","maxMentionCount","maxSuggestionCount","MediaQueryProvider","LocalizationProvider"],"mappings":"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"}