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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (932) hide show
  1. package/App.js +276 -218
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +428 -0
  4. package/Channel/components/ChannelHeader.js +45 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +101 -129
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +55 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +238 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +146 -128
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +258 -174
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +33 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +138 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +43 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +11 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +67 -43
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +100 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +71 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +34 -35
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +31 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-f461d265.js → ChannelListProvider-42fb305a.js} +233 -285
  45. package/ChannelListProvider-42fb305a.js.map +1 -0
  46. package/{ChannelProvider-554e7116.js → ChannelProvider-42ea1a96.js} +610 -716
  47. package/ChannelProvider-42ea1a96.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +516 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-37af96d2.js +44 -0
  76. package/CreateChannelProvider-37af96d2.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-1839d2db.js +20 -0
  90. package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-1839d2db.js.map} +1 -1
  91. package/MediaQueryContext-0e0b3a1b.js +87 -0
  92. package/MediaQueryContext-0e0b3a1b.js.map +1 -0
  93. package/MemberList-28589b39.js +395 -0
  94. package/MemberList-28589b39.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +36 -31
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +168 -190
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +34 -28
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-71a32f2d.js +429 -0
  128. package/OpenChannelListProvider-71a32f2d.js.map +1 -0
  129. package/OpenChannelProvider-377a0b6e.js +1885 -0
  130. package/OpenChannelProvider-377a0b6e.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +508 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-558db27f.js +36 -0
  147. package/RemoveMessageModal-558db27f.js.map +1 -0
  148. package/SendbirdProvider.js +830 -409
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +230 -216
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +110 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +107 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +292 -272
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +144 -111
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +168 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +86 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-0b73628e.js +1695 -0
  170. package/ThreadProvider-0b73628e.js.map +1 -0
  171. package/{UserProfileContext-c58a7b86.js → UserProfileContext-7e645551.js} +1 -4
  172. package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-7e645551.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-0b5a78a1.js +169 -0
  174. package/VoiceMessageInputWrapper-0b5a78a1.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +72 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +118 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +109 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-fbdb41cd.js +123 -0
  184. package/WebAudioUtils-fbdb41cd.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-ce69e916.js} +17 -11
  186. package/_rollupPluginBabelHelpers-ce69e916.js.map +1 -0
  187. package/actionTypes-a5283c75.js +8 -0
  188. package/actionTypes-a5283c75.js.map +1 -0
  189. package/cjs/App.js +276 -218
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +45 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +99 -127
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +55 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +241 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +145 -127
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +258 -174
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +33 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +138 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +43 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +67 -43
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +99 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +71 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +34 -35
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +31 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-b3ffe21a.js} +232 -284
  232. package/cjs/ChannelListProvider-b3ffe21a.js.map +1 -0
  233. package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-b6890429.js} +608 -714
  234. package/cjs/ChannelProvider-b6890429.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +516 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-e1376032.js +52 -0
  263. package/cjs/CreateChannelProvider-e1376032.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-2b3f310d.js → LocalizationContext-461a0816.js} +9 -11
  277. package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-461a0816.js.map} +1 -1
  278. package/cjs/MediaQueryContext-de7c63bc.js +94 -0
  279. package/cjs/MediaQueryContext-de7c63bc.js.map +1 -0
  280. package/cjs/MemberList-593809cb.js +401 -0
  281. package/cjs/MemberList-593809cb.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +36 -31
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +168 -190
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +34 -28
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-39c11f87.js +439 -0
  315. package/cjs/OpenChannelListProvider-39c11f87.js.map +1 -0
  316. package/cjs/OpenChannelProvider-e794e881.js +1894 -0
  317. package/cjs/OpenChannelProvider-e794e881.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +508 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-c01eb93b.js → RemoveMessageModal-29fa1a05.js} +19 -14
  333. package/cjs/RemoveMessageModal-29fa1a05.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +830 -410
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +229 -215
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +109 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +107 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +291 -271
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +144 -111
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +169 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +86 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-e2098298.js +1704 -0
  356. package/cjs/ThreadProvider-e2098298.js.map +1 -0
  357. package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-1bcc48a2.js} +1 -4
  358. package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-1bcc48a2.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-f18d6a5e.js +175 -0
  360. package/cjs/VoiceMessageInputWrapper-f18d6a5e.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +16 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +76 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +128 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +114 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-aedad0b1.js +126 -0
  370. package/cjs/WebAudioUtils-aedad0b1.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-919a4db3.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-919a4db3.js.map +1 -0
  373. package/cjs/actionTypes-1e75e6e9.js +10 -0
  374. package/cjs/actionTypes-1e75e6e9.js.map +1 -0
  375. package/cjs/{color-89f33656.js → color-48ff06b2.js} +13 -21
  376. package/cjs/color-48ff06b2.js.map +1 -0
  377. package/cjs/{compareIds-ca869c2e.js → compareIds-8ed822c1.js} +5 -6
  378. package/cjs/compareIds-8ed822c1.js.map +1 -0
  379. package/cjs/{const-db71e993.js → const-49de651c.js} +4 -4
  380. package/cjs/const-49de651c.js.map +1 -0
  381. package/cjs/const-852d5677.js +20 -0
  382. package/cjs/const-852d5677.js.map +1 -0
  383. package/cjs/consts-2580246d.js +6 -0
  384. package/cjs/consts-2580246d.js.map +1 -0
  385. package/cjs/consts-5851f376.js +6 -0
  386. package/cjs/consts-5851f376.js.map +1 -0
  387. package/cjs/consts-6f02fcc4.js +41 -0
  388. package/cjs/consts-6f02fcc4.js.map +1 -0
  389. package/cjs/consts-e9ee4cf4.js +6 -0
  390. package/cjs/consts-e9ee4cf4.js.map +1 -0
  391. package/cjs/{context-2f5d47fd.js → context-4d89551f.js} +6 -5
  392. package/cjs/{context-2f5d47fd.js.map → context-4d89551f.js.map} +1 -1
  393. package/cjs/dist/index.css +901 -481
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/index-0126dbb4.js +161 -0
  398. package/cjs/index-0126dbb4.js.map +1 -0
  399. package/cjs/index-1a223893.js +362 -0
  400. package/cjs/index-1a223893.js.map +1 -0
  401. package/cjs/index-223e9372.js +79 -0
  402. package/cjs/index-223e9372.js.map +1 -0
  403. package/cjs/{index-621e74bd.js → index-420b8e6d.js} +29 -37
  404. package/cjs/index-420b8e6d.js.map +1 -0
  405. package/cjs/{index-d6ef2a60.js → index-44186883.js} +11 -25
  406. package/cjs/index-44186883.js.map +1 -0
  407. package/cjs/{index-de151767.js → index-5e6194f8.js} +1 -1
  408. package/cjs/{index-de151767.js.map → index-5e6194f8.js.map} +1 -1
  409. package/cjs/{index-73467e1d.js → index-60bf4d5c.js} +2 -2
  410. package/cjs/{index-73467e1d.js.map → index-60bf4d5c.js.map} +1 -1
  411. package/cjs/{index-0988ab25.js → index-60ea6503.js} +57 -3
  412. package/cjs/index-60ea6503.js.map +1 -0
  413. package/cjs/index-6a46ed00.js +292 -0
  414. package/cjs/index-6a46ed00.js.map +1 -0
  415. package/cjs/{index-c4d4ef49.js → index-7a68d56f.js} +1 -1
  416. package/cjs/index-7a68d56f.js.map +1 -0
  417. package/cjs/index-81aad270.js +197 -0
  418. package/cjs/index-81aad270.js.map +1 -0
  419. package/cjs/{index-2c5dd48c.js → index-849c0736.js} +2 -2
  420. package/cjs/{index-2c5dd48c.js.map → index-849c0736.js.map} +1 -1
  421. package/cjs/{index-be9c6237.js → index-a51f1b7d.js} +55 -63
  422. package/cjs/index-a51f1b7d.js.map +1 -0
  423. package/cjs/{index-e240e852.js → index-a7025294.js} +42 -51
  424. package/cjs/index-a7025294.js.map +1 -0
  425. package/cjs/index-bca3d144.js +587 -0
  426. package/cjs/index-bca3d144.js.map +1 -0
  427. package/cjs/index-f4682499.js +57 -0
  428. package/cjs/index-f4682499.js.map +1 -0
  429. package/cjs/index-f5399132.js +419 -0
  430. package/cjs/index-f5399132.js.map +1 -0
  431. package/cjs/index.js +77 -58
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-10ef9afc.js +6 -0
  434. package/cjs/index.module-10ef9afc.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/sendbirdSelectors.js +307 -417
  438. package/cjs/sendbirdSelectors.js.map +1 -1
  439. package/cjs/{stringSet-91b919f6.js → stringSet-d1cee26a.js} +110 -90
  440. package/cjs/stringSet-d1cee26a.js.map +1 -0
  441. package/cjs/tokenize-d3bb1637.js +164 -0
  442. package/cjs/tokenize-d3bb1637.js.map +1 -0
  443. package/cjs/topics-00c67dd6.js +18 -0
  444. package/cjs/topics-00c67dd6.js.map +1 -0
  445. package/cjs/types-2e9e46b2.js +17 -0
  446. package/cjs/types-2e9e46b2.js.map +1 -0
  447. package/cjs/ui/Accordion.js +21 -24
  448. package/cjs/ui/Accordion.js.map +1 -1
  449. package/cjs/ui/AccordionGroup.js +10 -13
  450. package/cjs/ui/AccordionGroup.js.map +1 -1
  451. package/cjs/ui/AdminMessage.js +10 -13
  452. package/cjs/ui/AdminMessage.js.map +1 -1
  453. package/cjs/ui/Avatar.js +57 -79
  454. package/cjs/ui/Avatar.js.map +1 -1
  455. package/cjs/ui/Badge.js +16 -15
  456. package/cjs/ui/Badge.js.map +1 -1
  457. package/cjs/ui/BottomSheet.js +14 -12
  458. package/cjs/ui/BottomSheet.js.map +1 -1
  459. package/cjs/ui/Button.js +20 -35
  460. package/cjs/ui/Button.js.map +1 -1
  461. package/cjs/ui/ChannelAvatar.js +38 -41
  462. package/cjs/ui/ChannelAvatar.js.map +1 -1
  463. package/cjs/ui/Checkbox.js +11 -13
  464. package/cjs/ui/Checkbox.js.map +1 -1
  465. package/cjs/ui/ConnectionStatus.js +7 -5
  466. package/cjs/ui/ConnectionStatus.js.map +1 -1
  467. package/cjs/ui/ContextMenu.js +172 -198
  468. package/cjs/ui/ContextMenu.js.map +1 -1
  469. package/cjs/ui/DateSeparator.js +12 -14
  470. package/cjs/ui/DateSeparator.js.map +1 -1
  471. package/cjs/ui/EmojiReactions.js +297 -107
  472. package/cjs/ui/EmojiReactions.js.map +1 -1
  473. package/cjs/ui/FileMessageItemBody.js +22 -23
  474. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  475. package/cjs/ui/FileViewer.js +36 -36
  476. package/cjs/ui/FileViewer.js.map +1 -1
  477. package/cjs/ui/Icon.js +447 -623
  478. package/cjs/ui/Icon.js.map +1 -1
  479. package/cjs/ui/IconButton.js +20 -31
  480. package/cjs/ui/IconButton.js.map +1 -1
  481. package/cjs/ui/ImageRenderer.js +34 -43
  482. package/cjs/ui/ImageRenderer.js.map +1 -1
  483. package/cjs/ui/Input.js +16 -16
  484. package/cjs/ui/Input.js.map +1 -1
  485. package/cjs/ui/Label.js +2 -2
  486. package/cjs/ui/LinkLabel.js +4 -3
  487. package/cjs/ui/LinkLabel.js.map +1 -1
  488. package/cjs/ui/Loader.js +10 -12
  489. package/cjs/ui/Loader.js.map +1 -1
  490. package/cjs/ui/MentionLabel.js +58 -65
  491. package/cjs/ui/MentionLabel.js.map +1 -1
  492. package/cjs/ui/MentionUserLabel.js +12 -10
  493. package/cjs/ui/MentionUserLabel.js.map +1 -1
  494. package/cjs/ui/MessageContent.js +203 -545
  495. package/cjs/ui/MessageContent.js.map +1 -1
  496. package/cjs/ui/MessageInput.js +338 -118
  497. package/cjs/ui/MessageInput.js.map +1 -1
  498. package/cjs/ui/MessageItemMenu.js +70 -77
  499. package/cjs/ui/MessageItemMenu.js.map +1 -1
  500. package/cjs/ui/MessageItemReactionMenu.js +56 -61
  501. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  502. package/cjs/ui/MessageSearchFileItem.js +56 -51
  503. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  504. package/cjs/ui/MessageSearchItem.js +42 -41
  505. package/cjs/ui/MessageSearchItem.js.map +1 -1
  506. package/cjs/ui/MessageStatus.js +10 -11
  507. package/cjs/ui/MessageStatus.js.map +1 -1
  508. package/cjs/ui/Modal.js +52 -46
  509. package/cjs/ui/Modal.js.map +1 -1
  510. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  511. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  512. package/cjs/ui/OGMessageItemBody.js +67 -63
  513. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  514. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  515. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  516. package/cjs/ui/OpenChannelAvatar.js +18 -17
  517. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  518. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  519. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  520. package/cjs/ui/OpenchannelFileMessage.js +136 -149
  521. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  522. package/cjs/ui/OpenchannelOGMessage.js +200 -233
  523. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelThumbnailMessage.js +211 -220
  525. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelUserMessage.js +160 -173
  527. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  528. package/cjs/ui/PlaceHolder.js +5 -6
  529. package/cjs/ui/PlaceHolder.js.map +1 -1
  530. package/cjs/ui/PlaybackTime.js +35 -0
  531. package/cjs/ui/PlaybackTime.js.map +1 -0
  532. package/cjs/ui/ProgressBar.js +40 -0
  533. package/cjs/ui/ProgressBar.js.map +1 -0
  534. package/cjs/ui/QuoteMessage.js +50 -44
  535. package/cjs/ui/QuoteMessage.js.map +1 -1
  536. package/cjs/ui/QuoteMessageInput.js +31 -29
  537. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  538. package/cjs/ui/ReactionBadge.js +13 -21
  539. package/cjs/ui/ReactionBadge.js.map +1 -1
  540. package/cjs/ui/ReactionButton.js +27 -26
  541. package/cjs/ui/ReactionButton.js.map +1 -1
  542. package/cjs/ui/SortByRow.js +14 -18
  543. package/cjs/ui/SortByRow.js.map +1 -1
  544. package/cjs/ui/TextButton.js +13 -21
  545. package/cjs/ui/TextButton.js.map +1 -1
  546. package/cjs/ui/TextMessageItemBody.js +41 -48
  547. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  548. package/cjs/ui/ThreadReplies.js +25 -22
  549. package/cjs/ui/ThreadReplies.js.map +1 -1
  550. package/cjs/ui/ThumbnailMessageItemBody.js +43 -45
  551. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  552. package/cjs/ui/Toggle.js +202 -0
  553. package/cjs/ui/Toggle.js.map +1 -0
  554. package/cjs/ui/Tooltip.js +8 -9
  555. package/cjs/ui/Tooltip.js.map +1 -1
  556. package/cjs/ui/TooltipWrapper.js +17 -20
  557. package/cjs/ui/TooltipWrapper.js.map +1 -1
  558. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  559. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  560. package/cjs/ui/UserListItem.js +76 -76
  561. package/cjs/ui/UserListItem.js.map +1 -1
  562. package/cjs/ui/UserProfile.js +31 -29
  563. package/cjs/ui/UserProfile.js.map +1 -1
  564. package/cjs/ui/VoiceMessageItemBody.js +108 -0
  565. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  566. package/cjs/ui/VoiceMessgeInput.js +22 -0
  567. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  568. package/cjs/ui/Word.js +31 -39
  569. package/cjs/ui/Word.js.map +1 -1
  570. package/cjs/useDirtyGetMentions-7b6c8a19.js +77 -0
  571. package/cjs/useDirtyGetMentions-7b6c8a19.js.map +1 -0
  572. package/cjs/useLongPress-4c2e9a3b.js +87 -0
  573. package/cjs/useLongPress-4c2e9a3b.js.map +1 -0
  574. package/cjs/useSendbirdStateContext.js +2 -3
  575. package/cjs/useSendbirdStateContext.js.map +1 -1
  576. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  577. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  578. package/cjs/utils/message/isVoiceMessage.js +12 -0
  579. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  580. package/cjs/{utils-3714e90e.js → utils-22d05a53.js} +3 -7
  581. package/cjs/{utils-3714e90e.js.map → utils-22d05a53.js.map} +1 -1
  582. package/cjs/{utils-1f6c6626.js → utils-3dacb9bc.js} +1 -1
  583. package/cjs/{utils-1f6c6626.js.map → utils-3dacb9bc.js.map} +1 -1
  584. package/cjs/utils-c5d4c36e.js +35 -0
  585. package/cjs/utils-c5d4c36e.js.map +1 -0
  586. package/cjs/utils-f1c09ec3.js +31 -0
  587. package/cjs/utils-f1c09ec3.js.map +1 -0
  588. package/cjs/uuid-d86ea01f.js +15 -0
  589. package/cjs/{uuid-11d4efe8.js.map → uuid-d86ea01f.js.map} +1 -1
  590. package/cjs/withSendbird.js +5 -6
  591. package/cjs/withSendbird.js.map +1 -1
  592. package/{color-ff5f9069.js → color-4ca8a2ea.js} +5 -14
  593. package/{color-ff5f9069.js.map → color-4ca8a2ea.js.map} +1 -1
  594. package/{compareIds-9430f9d8.js → compareIds-08858dd3.js} +5 -6
  595. package/compareIds-08858dd3.js.map +1 -0
  596. package/{const-83764204.js → const-714046e0.js} +4 -4
  597. package/const-714046e0.js.map +1 -0
  598. package/const-a77c08c9.js +13 -0
  599. package/const-a77c08c9.js.map +1 -0
  600. package/consts-9393e7c8.js +27 -0
  601. package/consts-9393e7c8.js.map +1 -0
  602. package/consts-aecb8fab.js +4 -0
  603. package/consts-aecb8fab.js.map +1 -0
  604. package/consts-d46e0fc1.js +4 -0
  605. package/consts-d46e0fc1.js.map +1 -0
  606. package/consts-decd9c7d.js +4 -0
  607. package/consts-decd9c7d.js.map +1 -0
  608. package/context-9a6b8b8a.js +13 -0
  609. package/{context-9a69e846.js.map → context-9a6b8b8a.js.map} +1 -1
  610. package/dist/index.css +901 -481
  611. package/dist/index.css.map +1 -1
  612. package/handlers/OpenChannelHandler.js.map +1 -1
  613. package/handlers/SessionHandler.js.map +1 -1
  614. package/{index-3f26a31c.js → index-06f34585.js} +2 -2
  615. package/{index-3f26a31c.js.map → index-06f34585.js.map} +1 -1
  616. package/{index-134314e2.js → index-20880943.js} +29 -37
  617. package/index-20880943.js.map +1 -0
  618. package/index-3130ac38.js +51 -0
  619. package/index-3130ac38.js.map +1 -0
  620. package/{index-e5b78039.js → index-3165e396.js} +1 -1
  621. package/index-3165e396.js.map +1 -0
  622. package/index-400417a1.js +154 -0
  623. package/index-400417a1.js.map +1 -0
  624. package/index-5644a6c0.js +283 -0
  625. package/index-5644a6c0.js.map +1 -0
  626. package/{index-defabece.js → index-5db37327.js} +57 -4
  627. package/index-5db37327.js.map +1 -0
  628. package/{index-fc4702b7.js → index-7c9ebc67.js} +55 -63
  629. package/index-7c9ebc67.js.map +1 -0
  630. package/{index-d3f6dbb9.js → index-9781d2b9.js} +2 -2
  631. package/{index-d3f6dbb9.js.map → index-9781d2b9.js.map} +1 -1
  632. package/index-b96440b7.js +76 -0
  633. package/index-b96440b7.js.map +1 -0
  634. package/index-bf72ef7c.js +355 -0
  635. package/index-bf72ef7c.js.map +1 -0
  636. package/{index-1b91b116.js → index-c6df8184.js} +39 -48
  637. package/index-c6df8184.js.map +1 -0
  638. package/{index-07e060cd.js → index-d9c12cf4.js} +1 -1
  639. package/{index-07e060cd.js.map → index-d9c12cf4.js.map} +1 -1
  640. package/{index-44470dab.js → index-e1cd2fcf.js} +11 -25
  641. package/index-e1cd2fcf.js.map +1 -0
  642. package/index-edfb3327.js +413 -0
  643. package/index-edfb3327.js.map +1 -0
  644. package/index-fd51c7d1.js +541 -0
  645. package/index-fd51c7d1.js.map +1 -0
  646. package/index-fd95258e.js +182 -0
  647. package/index-fd95258e.js.map +1 -0
  648. package/index.d.ts +169 -122
  649. package/index.js +77 -58
  650. package/index.js.map +1 -1
  651. package/index.module-8c144786.js +4 -0
  652. package/index.module-8c144786.js.map +1 -0
  653. package/lame.all.js +2537 -0
  654. package/lame.all.js.map +1 -0
  655. package/package.json +61 -41
  656. package/sendbirdSelectors.js +307 -417
  657. package/sendbirdSelectors.js.map +1 -1
  658. package/{stringSet-d555d877.js → stringSet-d368e289.js} +110 -90
  659. package/stringSet-d368e289.js.map +1 -0
  660. package/tokenize-7056afb7.js +159 -0
  661. package/tokenize-7056afb7.js.map +1 -0
  662. package/topics-f9628f1f.js +16 -0
  663. package/topics-f9628f1f.js.map +1 -0
  664. package/types-2b508dbc.js +15 -0
  665. package/types-2b508dbc.js.map +1 -0
  666. package/ui/Accordion.js +21 -24
  667. package/ui/Accordion.js.map +1 -1
  668. package/ui/AccordionGroup.js +10 -13
  669. package/ui/AccordionGroup.js.map +1 -1
  670. package/ui/AdminMessage.js +10 -13
  671. package/ui/AdminMessage.js.map +1 -1
  672. package/ui/Avatar.js +57 -79
  673. package/ui/Avatar.js.map +1 -1
  674. package/ui/Badge.js +16 -15
  675. package/ui/Badge.js.map +1 -1
  676. package/ui/BottomSheet.js +14 -12
  677. package/ui/BottomSheet.js.map +1 -1
  678. package/ui/Button.js +20 -35
  679. package/ui/Button.js.map +1 -1
  680. package/ui/ChannelAvatar.js +38 -41
  681. package/ui/ChannelAvatar.js.map +1 -1
  682. package/ui/Checkbox.js +11 -13
  683. package/ui/Checkbox.js.map +1 -1
  684. package/ui/ConnectionStatus.js +7 -5
  685. package/ui/ConnectionStatus.js.map +1 -1
  686. package/ui/ContextMenu.js +173 -199
  687. package/ui/ContextMenu.js.map +1 -1
  688. package/ui/DateSeparator.js +12 -14
  689. package/ui/DateSeparator.js.map +1 -1
  690. package/ui/EmojiReactions.js +298 -108
  691. package/ui/EmojiReactions.js.map +1 -1
  692. package/ui/FileMessageItemBody.js +22 -23
  693. package/ui/FileMessageItemBody.js.map +1 -1
  694. package/ui/FileViewer.js +36 -36
  695. package/ui/FileViewer.js.map +1 -1
  696. package/ui/Icon.js +448 -622
  697. package/ui/Icon.js.map +1 -1
  698. package/ui/IconButton.js +20 -31
  699. package/ui/IconButton.js.map +1 -1
  700. package/ui/ImageRenderer.js +34 -43
  701. package/ui/ImageRenderer.js.map +1 -1
  702. package/ui/Input.js +16 -16
  703. package/ui/Input.js.map +1 -1
  704. package/ui/Label.js +2 -2
  705. package/ui/LinkLabel.js +4 -3
  706. package/ui/LinkLabel.js.map +1 -1
  707. package/ui/Loader.js +10 -12
  708. package/ui/Loader.js.map +1 -1
  709. package/ui/MentionLabel.js +58 -65
  710. package/ui/MentionLabel.js.map +1 -1
  711. package/ui/MentionUserLabel.js +12 -10
  712. package/ui/MentionUserLabel.js.map +1 -1
  713. package/ui/MessageContent.js +206 -548
  714. package/ui/MessageContent.js.map +1 -1
  715. package/ui/MessageInput.js +338 -119
  716. package/ui/MessageInput.js.map +1 -1
  717. package/ui/MessageItemMenu.js +70 -77
  718. package/ui/MessageItemMenu.js.map +1 -1
  719. package/ui/MessageItemReactionMenu.js +56 -61
  720. package/ui/MessageItemReactionMenu.js.map +1 -1
  721. package/ui/MessageSearchFileItem.js +55 -50
  722. package/ui/MessageSearchFileItem.js.map +1 -1
  723. package/ui/MessageSearchItem.js +41 -40
  724. package/ui/MessageSearchItem.js.map +1 -1
  725. package/ui/MessageStatus.js +10 -11
  726. package/ui/MessageStatus.js.map +1 -1
  727. package/ui/Modal.js +52 -46
  728. package/ui/Modal.js.map +1 -1
  729. package/ui/MutedAvatarOverlay.js +10 -10
  730. package/ui/MutedAvatarOverlay.js.map +1 -1
  731. package/ui/OGMessageItemBody.js +68 -64
  732. package/ui/OGMessageItemBody.js.map +1 -1
  733. package/ui/OpenChannelAdminMessage.js +8 -7
  734. package/ui/OpenChannelAdminMessage.js.map +1 -1
  735. package/ui/OpenChannelAvatar.js +18 -17
  736. package/ui/OpenChannelAvatar.js.map +1 -1
  737. package/ui/OpenchannelConversationHeader.js +17 -13
  738. package/ui/OpenchannelConversationHeader.js.map +1 -1
  739. package/ui/OpenchannelFileMessage.js +136 -149
  740. package/ui/OpenchannelFileMessage.js.map +1 -1
  741. package/ui/OpenchannelOGMessage.js +200 -233
  742. package/ui/OpenchannelOGMessage.js.map +1 -1
  743. package/ui/OpenchannelThumbnailMessage.js +211 -220
  744. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  745. package/ui/OpenchannelUserMessage.js +160 -173
  746. package/ui/OpenchannelUserMessage.js.map +1 -1
  747. package/ui/PlaceHolder.js +5 -6
  748. package/ui/PlaceHolder.js.map +1 -1
  749. package/ui/PlaybackTime.js +26 -0
  750. package/ui/PlaybackTime.js.map +1 -0
  751. package/ui/ProgressBar.js +30 -0
  752. package/ui/ProgressBar.js.map +1 -0
  753. package/ui/QuoteMessage.js +50 -44
  754. package/ui/QuoteMessage.js.map +1 -1
  755. package/ui/QuoteMessageInput.js +31 -29
  756. package/ui/QuoteMessageInput.js.map +1 -1
  757. package/ui/ReactionBadge.js +13 -21
  758. package/ui/ReactionBadge.js.map +1 -1
  759. package/ui/ReactionButton.js +27 -26
  760. package/ui/ReactionButton.js.map +1 -1
  761. package/ui/SortByRow.js +14 -18
  762. package/ui/SortByRow.js.map +1 -1
  763. package/ui/TextButton.js +13 -21
  764. package/ui/TextButton.js.map +1 -1
  765. package/ui/TextMessageItemBody.js +41 -48
  766. package/ui/TextMessageItemBody.js.map +1 -1
  767. package/ui/ThreadReplies.js +25 -22
  768. package/ui/ThreadReplies.js.map +1 -1
  769. package/ui/ThumbnailMessageItemBody.js +43 -45
  770. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  771. package/ui/Toggle.js +191 -0
  772. package/ui/Toggle.js.map +1 -0
  773. package/ui/Tooltip.js +8 -9
  774. package/ui/Tooltip.js.map +1 -1
  775. package/ui/TooltipWrapper.js +17 -20
  776. package/ui/TooltipWrapper.js.map +1 -1
  777. package/ui/UnknownMessageItemBody.js +21 -22
  778. package/ui/UnknownMessageItemBody.js.map +1 -1
  779. package/ui/UserListItem.js +76 -76
  780. package/ui/UserListItem.js.map +1 -1
  781. package/ui/UserProfile.js +31 -29
  782. package/ui/UserProfile.js.map +1 -1
  783. package/ui/VoiceMessageItemBody.js +99 -0
  784. package/ui/VoiceMessageItemBody.js.map +1 -0
  785. package/ui/VoiceMessgeInput.js +14 -0
  786. package/ui/VoiceMessgeInput.js.map +1 -0
  787. package/ui/Word.js +31 -39
  788. package/ui/Word.js.map +1 -1
  789. package/useDirtyGetMentions-e0c0f521.js +75 -0
  790. package/useDirtyGetMentions-e0c0f521.js.map +1 -0
  791. package/useLongPress-685c7391.js +85 -0
  792. package/useLongPress-685c7391.js.map +1 -0
  793. package/useSendbirdStateContext.js +2 -3
  794. package/useSendbirdStateContext.js.map +1 -1
  795. package/utils/message/getOutgoingMessageState.js +9 -15
  796. package/utils/message/getOutgoingMessageState.js.map +1 -1
  797. package/utils/message/isVoiceMessage.js +8 -0
  798. package/utils/message/isVoiceMessage.js.map +1 -0
  799. package/{utils-e720e03a.js → utils-256f157f.js} +1 -1
  800. package/{utils-e720e03a.js.map → utils-256f157f.js.map} +1 -1
  801. package/utils-4979f950.js +31 -0
  802. package/utils-4979f950.js.map +1 -0
  803. package/{utils-8b11ff42.js → utils-f82ad058.js} +3 -7
  804. package/{utils-8b11ff42.js.map → utils-f82ad058.js.map} +1 -1
  805. package/utils-fbc09760.js +29 -0
  806. package/utils-fbc09760.js.map +1 -0
  807. package/uuid-720c99c0.js +13 -0
  808. package/{uuid-286ed926.js.map → uuid-720c99c0.js.map} +1 -1
  809. package/withSendbird.js +5 -6
  810. package/withSendbird.js.map +1 -1
  811. package/ChannelListProvider-f461d265.js.map +0 -1
  812. package/ChannelProvider-554e7116.js.map +0 -1
  813. package/CreateChannelProvider-250cd98e.js +0 -55
  814. package/CreateChannelProvider-250cd98e.js.map +0 -1
  815. package/LocalizationContext-4df0cc32.js +0 -22
  816. package/MediaQueryContext-74183e34.js +0 -90
  817. package/MediaQueryContext-74183e34.js.map +0 -1
  818. package/MemberList-51c7afaa.js +0 -435
  819. package/MemberList-51c7afaa.js.map +0 -1
  820. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  821. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  822. package/NotificationChannel/components/NotificationList.js +0 -111
  823. package/NotificationChannel/components/NotificationList.js.map +0 -1
  824. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  825. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  826. package/NotificationChannel/context.js +0 -12
  827. package/NotificationChannel.js +0 -58
  828. package/NotificationChannel.js.map +0 -1
  829. package/NotificationChannelProvider-0d8be1ad.js +0 -535
  830. package/NotificationChannelProvider-0d8be1ad.js.map +0 -1
  831. package/OpenChannelListProvider-8c753945.js +0 -434
  832. package/OpenChannelListProvider-8c753945.js.map +0 -1
  833. package/OpenChannelProvider-2fa01820.js +0 -2000
  834. package/OpenChannelProvider-2fa01820.js.map +0 -1
  835. package/RemoveMessageModal-9762fed1.js +0 -31
  836. package/RemoveMessageModal-9762fed1.js.map +0 -1
  837. package/ThreadProvider-6974fb3e.js +0 -1644
  838. package/ThreadProvider-6974fb3e.js.map +0 -1
  839. package/_rollupPluginBabelHelpers-498add61.js.map +0 -1
  840. package/actionTypes-ad2cbd73.js +0 -6
  841. package/actionTypes-ad2cbd73.js.map +0 -1
  842. package/cjs/ChannelListProvider-c2148b43.js.map +0 -1
  843. package/cjs/ChannelProvider-cf5dc7e3.js.map +0 -1
  844. package/cjs/CreateChannelProvider-c98de398.js +0 -62
  845. package/cjs/CreateChannelProvider-c98de398.js.map +0 -1
  846. package/cjs/MediaQueryContext-71862be1.js +0 -97
  847. package/cjs/MediaQueryContext-71862be1.js.map +0 -1
  848. package/cjs/MemberList-13566703.js +0 -441
  849. package/cjs/MemberList-13566703.js.map +0 -1
  850. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  851. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  852. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  853. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  855. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  856. package/cjs/NotificationChannel/context.js +0 -21
  857. package/cjs/NotificationChannel.js +0 -64
  858. package/cjs/NotificationChannel.js.map +0 -1
  859. package/cjs/NotificationChannelProvider-8f3b7320.js +0 -543
  860. package/cjs/NotificationChannelProvider-8f3b7320.js.map +0 -1
  861. package/cjs/OpenChannelListProvider-64043b4f.js +0 -443
  862. package/cjs/OpenChannelListProvider-64043b4f.js.map +0 -1
  863. package/cjs/OpenChannelProvider-5b56e629.js +0 -2009
  864. package/cjs/OpenChannelProvider-5b56e629.js.map +0 -1
  865. package/cjs/RemoveMessageModal-c01eb93b.js.map +0 -1
  866. package/cjs/ThreadProvider-d3c0c877.js +0 -1653
  867. package/cjs/ThreadProvider-d3c0c877.js.map +0 -1
  868. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +0 -1
  869. package/cjs/actionTypes-0e8bea91.js +0 -10
  870. package/cjs/actionTypes-0e8bea91.js.map +0 -1
  871. package/cjs/color-89f33656.js.map +0 -1
  872. package/cjs/compareIds-ca869c2e.js.map +0 -1
  873. package/cjs/const-55d167ca.js +0 -20
  874. package/cjs/const-55d167ca.js.map +0 -1
  875. package/cjs/const-db71e993.js.map +0 -1
  876. package/cjs/index-0988ab25.js.map +0 -1
  877. package/cjs/index-21b2339d.js +0 -701
  878. package/cjs/index-21b2339d.js.map +0 -1
  879. package/cjs/index-5c81f847.js +0 -194
  880. package/cjs/index-5c81f847.js.map +0 -1
  881. package/cjs/index-621e74bd.js.map +0 -1
  882. package/cjs/index-8de59744.js +0 -59
  883. package/cjs/index-8de59744.js.map +0 -1
  884. package/cjs/index-a52859ed.js +0 -360
  885. package/cjs/index-a52859ed.js.map +0 -1
  886. package/cjs/index-be9c6237.js.map +0 -1
  887. package/cjs/index-c4d4ef49.js.map +0 -1
  888. package/cjs/index-d6ef2a60.js.map +0 -1
  889. package/cjs/index-e240e852.js.map +0 -1
  890. package/cjs/stringSet-91b919f6.js.map +0 -1
  891. package/cjs/topics-ac9cf7ed.js +0 -22
  892. package/cjs/topics-ac9cf7ed.js.map +0 -1
  893. package/cjs/tslib.es6-43854eb1.js +0 -110
  894. package/cjs/tslib.es6-43854eb1.js.map +0 -1
  895. package/cjs/useLongPress-c7bf12b1.js +0 -118
  896. package/cjs/useLongPress-c7bf12b1.js.map +0 -1
  897. package/cjs/utils-4b529d96.js +0 -38
  898. package/cjs/utils-4b529d96.js.map +0 -1
  899. package/cjs/utils-65a380e8.js +0 -32
  900. package/cjs/utils-65a380e8.js.map +0 -1
  901. package/cjs/uuid-11d4efe8.js +0 -19
  902. package/compareIds-9430f9d8.js.map +0 -1
  903. package/const-83764204.js.map +0 -1
  904. package/const-9d11f204.js +0 -14
  905. package/const-9d11f204.js.map +0 -1
  906. package/context-9a69e846.js +0 -12
  907. package/index-134314e2.js.map +0 -1
  908. package/index-1572c90f.js +0 -57
  909. package/index-1572c90f.js.map +0 -1
  910. package/index-1b91b116.js.map +0 -1
  911. package/index-44470dab.js.map +0 -1
  912. package/index-5f08f486.js +0 -662
  913. package/index-5f08f486.js.map +0 -1
  914. package/index-d8e3ccee.js +0 -179
  915. package/index-d8e3ccee.js.map +0 -1
  916. package/index-defabece.js.map +0 -1
  917. package/index-e5b78039.js.map +0 -1
  918. package/index-ed65ee3b.js +0 -353
  919. package/index-ed65ee3b.js.map +0 -1
  920. package/index-fc4702b7.js.map +0 -1
  921. package/stringSet-d555d877.js.map +0 -1
  922. package/topics-351ea731.js +0 -13
  923. package/topics-351ea731.js.map +0 -1
  924. package/tslib.es6-bcead7e6.js +0 -104
  925. package/tslib.es6-bcead7e6.js.map +0 -1
  926. package/useLongPress-794838b8.js +0 -116
  927. package/useLongPress-794838b8.js.map +0 -1
  928. package/utils-00ac1a7d.js +0 -34
  929. package/utils-00ac1a7d.js.map +0 -1
  930. package/utils-01e76a0c.js +0 -30
  931. package/utils-01e76a0c.js.map +0 -1
  932. package/uuid-286ed926.js +0 -17
@@ -1,191 +1,48 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-a7254c9d.js');
3
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-919a4db3.js');
4
4
  var React = require('react');
5
- var PropTypes = require('prop-types');
6
5
  var withSendbird = require('./withSendbird.js');
6
+ var cssVars = require('css-vars-ponyfill');
7
+ var index_module = require('./index.module-10ef9afc.js');
8
+ var actionTypes = require('./actionTypes-1e75e6e9.js');
7
9
  var SendbirdChat = require('@sendbird/chat');
10
+ var uuid = require('./uuid-d86ea01f.js');
8
11
  var openChannel = require('@sendbird/chat/openChannel');
9
12
  var groupChannel = require('@sendbird/chat/groupChannel');
10
- var actionTypes = require('./actionTypes-0e8bea91.js');
11
- var index = require('./index-21b2339d.js');
12
- var tslib_es6 = require('./tslib.es6-43854eb1.js');
13
- var cssVars = require('css-vars-ponyfill');
14
- var uuid = require('./uuid-11d4efe8.js');
15
- var LocalizationContext = require('./LocalizationContext-2b3f310d.js');
16
- var MediaQueryContext = require('./MediaQueryContext-71862be1.js');
17
- var stringSet = require('./stringSet-91b919f6.js');
13
+ var index = require('./index-bca3d144.js');
14
+ var VoicePlayer_context = require('./index-6a46ed00.js');
15
+ var VoiceRecorder_context = require('./VoiceRecorder/context.js');
16
+ var LocalizationContext = require('./LocalizationContext-461a0816.js');
17
+ var MediaQueryContext = require('./MediaQueryContext-de7c63bc.js');
18
+ var stringSet = require('./stringSet-d1cee26a.js');
19
+ var consts = require('./consts-6f02fcc4.js');
18
20
  require('./utils/message/getOutgoingMessageState.js');
19
- require('./index-de151767.js');
21
+ require('./useSendbirdStateContext.js');
22
+ require('./index-5e6194f8.js');
20
23
 
21
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
25
 
23
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
25
- var SendbirdChat__default = /*#__PURE__*/_interopDefaultLegacy(SendbirdChat);
26
27
  var cssVars__default = /*#__PURE__*/_interopDefaultLegacy(cssVars);
28
+ var SendbirdChat__default = /*#__PURE__*/_interopDefaultLegacy(SendbirdChat);
27
29
 
28
- const INIT_SDK = 'INIT_SDK';
29
- const SET_SDK_LOADING = 'SET_SDK_LOADING';
30
- const RESET_SDK = 'RESET_SDK';
31
- const SDK_ERROR = 'SDK_ERROR';
32
-
33
- const APP_VERSION_STRING = '3.5.0-beta.0';
34
- const disconnectSdk = _ref => {
35
- let {
36
- sdkDispatcher,
37
- userDispatcher,
38
- sdk,
39
- onDisconnect
40
- } = _ref;
41
- sdkDispatcher({
42
- type: SET_SDK_LOADING,
43
- payload: true
44
- });
45
-
46
- if (sdk && sdk.disconnect) {
47
- sdk.disconnect().then(() => {
48
- sdkDispatcher({
49
- type: RESET_SDK
50
- });
51
- userDispatcher({
52
- type: actionTypes.RESET_USER
53
- });
54
- }).finally(() => {
55
- onDisconnect();
56
- });
57
- } else {
58
- onDisconnect();
59
- }
60
- };
61
- const handleConnection = (_ref2, dispatchers) => {
62
- let {
63
- userId,
64
- appId,
65
- nickname,
66
- profileUrl,
67
- accessToken,
68
- configureSession,
69
- customApiHost,
70
- customWebSocketHost,
71
- sdk,
72
- logger
73
- } = _ref2;
74
- const {
75
- sdkDispatcher,
76
- userDispatcher
77
- } = dispatchers;
78
- disconnectSdk({
79
- sdkDispatcher,
80
- userDispatcher,
81
- sdk,
82
- logger,
83
- onDisconnect: () => {
84
- logger.info('Setup connection');
85
- let sessionHandler = null;
86
- sdkDispatcher({
87
- type: SET_SDK_LOADING,
88
- payload: true
89
- });
90
-
91
- if (userId && appId) {
92
- const params = {
93
- appId,
94
- modules: [new groupChannel.GroupChannelModule(), new openChannel.OpenChannelModule()]
95
- };
96
-
97
- if (customApiHost) {
98
- params.customApiHost = customApiHost;
99
- }
100
-
101
- if (customWebSocketHost) {
102
- params.customWebSocketHost = customWebSocketHost;
103
- }
104
-
105
- const newSdk = SendbirdChat__default["default"].init(params);
106
-
107
- if (configureSession && typeof configureSession === 'function') {
108
- sessionHandler = configureSession(newSdk);
109
- newSdk.setSessionHandler(sessionHandler);
110
- } // to check if code is released version from rollup and *not from storybook*
111
- // see rollup config file
112
-
113
-
114
- {
115
- newSdk.addExtension('sb_uikit', APP_VERSION_STRING);
116
- }
117
-
118
- const connectCbSucess = user => {
119
- sdkDispatcher({
120
- type: INIT_SDK,
121
- payload: newSdk
122
- });
123
- userDispatcher({
124
- type: actionTypes.INIT_USER,
125
- payload: user
126
- }); // use nickname/profileUrl if provided
127
- // or set userID as nickname
128
-
129
- if ((nickname !== user.nickname || profileUrl !== user.profileUrl) && !(index.isTextuallyNull(nickname) && index.isTextuallyNull(profileUrl))) {
130
- newSdk.updateCurrentUserInfo({
131
- nickname: nickname || user.nickname,
132
- profileUrl: profileUrl || user.profileUrl
133
- }).then(namedUser => {
134
- userDispatcher({
135
- type: actionTypes.UPDATE_USER_INFO,
136
- payload: namedUser
137
- });
138
- });
139
- }
140
- };
141
-
142
- const connectCbError = e => {
143
- logger.error('Connection failed', `${e}`);
144
- sdkDispatcher({
145
- type: RESET_SDK
146
- });
147
- sdkDispatcher({
148
- type: actionTypes.RESET_USER
149
- });
150
- sdkDispatcher({
151
- type: SDK_ERROR
152
- });
153
- };
154
-
155
- if (accessToken) {
156
- newSdk.connect(userId, accessToken).then(res => connectCbSucess(res)).catch(err => connectCbError(err));
157
- } else {
158
- newSdk.connect(userId).then(res => connectCbSucess(res)).catch(err => connectCbError(err));
159
- }
160
- } else {
161
- sdkDispatcher({
162
- type: SDK_ERROR
163
- });
164
- logger.warning('Connection failed', 'UserId or appId missing');
165
- }
166
- }
167
- });
168
- };
169
-
170
- var isEmpty = function (obj) {
30
+ const isEmpty = obj => {
171
31
  if (obj === null || obj === undefined) {
172
32
  return true;
173
33
  }
174
-
175
- for (var prop in obj) {
34
+ for (const prop in obj) {
176
35
  if (obj.hasOwnProperty(prop)) {
177
36
  return false;
178
37
  }
179
38
  }
180
-
181
39
  return JSON.stringify(obj) === JSON.stringify({});
182
40
  };
183
-
184
- var useTheme = function (overrides) {
185
- React.useLayoutEffect(function () {
41
+ const useTheme = overrides => {
42
+ React.useLayoutEffect(() => {
186
43
  if (!isEmpty(overrides)) {
187
44
  cssVars__default["default"]({
188
- variables: tslib_es6.__assign({
45
+ variables: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, {
189
46
  '--sendbird-dark-primary-500': '#4d2aa6',
190
47
  '--sendbird-dark-primary-400': '#6440C4',
191
48
  '--sendbird-dark-primary-300': '#7B53EF',
@@ -262,13 +119,20 @@ var useTheme = function (overrides) {
262
119
  '--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)',
263
120
  '--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)',
264
121
  '--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)'
265
- }, overrides)
122
+ }), overrides)
266
123
  });
267
124
  }
268
125
  }, [overrides]);
269
126
  };
270
127
 
271
- var sdkInitialState = {
128
+ const SDK_ACTIONS = {
129
+ INIT_SDK: 'INIT_SDK',
130
+ SET_SDK_LOADING: 'SET_SDK_LOADING',
131
+ RESET_SDK: 'RESET_SDK',
132
+ SDK_ERROR: 'SDK_ERROR'
133
+ };
134
+
135
+ const initialState$1 = {
272
136
  initialized: false,
273
137
  loading: false,
274
138
  sdk: {},
@@ -276,112 +140,124 @@ var sdkInitialState = {
276
140
  };
277
141
 
278
142
  function reducer$1(state, action) {
279
- switch (action.type) {
280
- case SET_SDK_LOADING:
281
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
282
- initialized: false,
283
- loading: action.payload
284
- });
285
-
286
- case SDK_ERROR:
287
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
288
- initialized: false,
289
- loading: false,
290
- error: true
291
- });
292
-
293
- case INIT_SDK:
294
- return {
295
- sdk: action.payload,
296
- initialized: true,
297
- loading: false,
298
- error: false
299
- };
300
-
301
- case RESET_SDK:
302
- return sdkInitialState;
303
-
304
- default:
305
- return state;
306
- }
143
+ return index_module.K(action).with({
144
+ type: SDK_ACTIONS.SET_SDK_LOADING
145
+ }, _ref => {
146
+ let {
147
+ payload
148
+ } = _ref;
149
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
150
+ initialized: false,
151
+ loading: payload
152
+ });
153
+ }).with({
154
+ type: SDK_ACTIONS.SDK_ERROR
155
+ }, () => {
156
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
157
+ initialized: false,
158
+ loading: false,
159
+ error: true
160
+ });
161
+ }).with({
162
+ type: SDK_ACTIONS.INIT_SDK
163
+ }, _ref2 => {
164
+ let {
165
+ payload
166
+ } = _ref2;
167
+ return {
168
+ sdk: payload,
169
+ initialized: true,
170
+ loading: false,
171
+ error: false
172
+ };
173
+ }).with({
174
+ type: SDK_ACTIONS.RESET_SDK
175
+ }, () => {
176
+ return initialState$1;
177
+ }).otherwise(() => {
178
+ return state;
179
+ });
307
180
  }
308
181
 
309
- var userInitialState = {
182
+ const initialState = {
310
183
  initialized: false,
311
184
  loading: false,
312
185
  user: {}
313
186
  };
314
187
 
315
188
  function reducer(state, action) {
316
- switch (action.type) {
317
- case actionTypes.INIT_USER:
318
- return {
319
- initialized: true,
320
- loading: false,
321
- user: action.payload
322
- };
323
-
324
- case actionTypes.RESET_USER:
325
- return userInitialState;
326
-
327
- case actionTypes.UPDATE_USER_INFO:
328
- return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
329
- user: action.payload
330
- });
331
-
332
- default:
333
- return state;
334
- }
189
+ return index_module.K(action).with({
190
+ type: actionTypes.USER_ACTIONS.INIT_USER
191
+ }, _ref => {
192
+ let {
193
+ payload
194
+ } = _ref;
195
+ return {
196
+ initialized: true,
197
+ loading: false,
198
+ user: payload
199
+ };
200
+ }).with({
201
+ type: actionTypes.USER_ACTIONS.RESET_USER
202
+ }, () => {
203
+ return initialState;
204
+ }).with({
205
+ type: actionTypes.USER_ACTIONS.UPDATE_USER_INFO
206
+ }, _ref2 => {
207
+ let {
208
+ payload
209
+ } = _ref2;
210
+ return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
211
+ user: payload
212
+ });
213
+ }).otherwise(() => {
214
+ return state;
215
+ });
335
216
  }
336
217
 
337
218
  function useConnectionStatus(sdk, logger) {
338
219
  const [isOnline, setIsOnline] = React.useState(true);
339
220
  React.useEffect(() => {
340
221
  const uniqueHandlerId = uuid.uuidv4();
341
-
342
222
  try {
343
223
  logger.warning('sdk changed', uniqueHandlerId);
344
224
  const handler = new SendbirdChat.ConnectionHandler();
345
-
346
225
  handler.onDisconnected = () => {
347
226
  logger.warning('onDisconnected', {
348
227
  isOnline
349
228
  });
350
229
  };
351
-
352
230
  handler.onReconnectStarted = () => {
353
231
  setIsOnline(false);
354
232
  logger.warning('onReconnectStarted', {
355
233
  isOnline
356
234
  });
357
235
  };
358
-
359
236
  handler.onReconnectSucceeded = () => {
360
237
  setIsOnline(true);
361
238
  logger.warning('onReconnectSucceeded', {
362
239
  isOnline
363
240
  });
364
241
  };
365
-
366
242
  handler.onReconnectFailed = () => {
367
243
  sdk.reconnect();
368
244
  logger.warning('onReconnectFailed');
369
245
  };
370
-
371
- logger.info('Added ConnectionHandler', uniqueHandlerId); // workaround -> addConnectionHandler invalidates session handler
246
+ logger.info('Added ConnectionHandler', uniqueHandlerId);
247
+ // workaround -> addConnectionHandler invalidates session handler
372
248
  // provided through configureSession
373
-
374
249
  if (sdk !== null && sdk !== void 0 && sdk.addConnectionHandler) {
375
250
  sdk.addConnectionHandler(uniqueHandlerId, handler);
376
251
  }
377
- } catch (_unused) {//
252
+ } catch (_unused) {
253
+ //
378
254
  }
379
-
380
255
  return () => {
381
256
  try {
382
257
  sdk.removeConnectionHandler(uniqueHandlerId);
383
258
  logger.info('Removed ConnectionHandler', uniqueHandlerId);
384
- } catch (_unused2) {//
259
+ } catch (_unused2) {
260
+ //
385
261
  }
386
262
  };
387
263
  }, [sdk]);
@@ -389,44 +265,491 @@ function useConnectionStatus(sdk, logger) {
389
265
  const tryReconnect = () => {
390
266
  try {
391
267
  logger.warning('Try reconnecting SDK');
392
-
393
268
  if (sdk.connectionState !== 'OPEN') {
394
269
  // connection is not broken yet
395
270
  sdk.reconnect();
396
271
  }
397
- } catch (_unused3) {//
272
+ } catch (_unused3) {
273
+ //
398
274
  }
399
- }; // addEventListener version
400
-
401
-
275
+ };
276
+ // addEventListener version
402
277
  window.addEventListener('online', tryReconnect);
403
278
  return () => {
404
279
  window.removeEventListener('online', tryReconnect);
405
280
  };
406
- }, [sdk]); // add offline-class to body
281
+ }, [sdk]);
407
282
 
283
+ // add offline-class to body
408
284
  React.useEffect(() => {
409
285
  const body = document.querySelector('body');
410
-
411
286
  if (!isOnline) {
412
287
  try {
413
288
  body.classList.add('sendbird__offline');
414
289
  logger.info('Added class sendbird__offline to body');
415
- } catch (e) {//
290
+ } catch (e) {
291
+ //
416
292
  }
417
293
  } else {
418
294
  try {
419
295
  body.classList.remove('sendbird__offline');
420
296
  logger.info('Removed class sendbird__offline from body');
421
- } catch (e) {//
297
+ } catch (e) {
298
+ //
422
299
  }
423
300
  }
424
301
  }, [isOnline]);
425
302
  return isOnline;
426
303
  }
427
304
 
305
+ function snakeToCamel(obj) {
306
+ if (typeof obj !== 'object' || obj === null) {
307
+ return obj;
308
+ }
309
+ if (Array.isArray(obj)) {
310
+ return obj.map(item => snakeToCamel(item));
311
+ }
312
+ const result = {};
313
+ Object.keys(obj).forEach(key => {
314
+ const camelKey = key.replace(/_\w/g, m => m[1].toUpperCase());
315
+ result[camelKey] = snakeToCamel(obj[key]);
316
+ });
317
+ return result;
318
+ }
319
+
320
+ // @link: https://docs.google.com/spreadsheets/d/1-AozBMHRYOXS74vZ-7x2ptQcBL6nnM-orJWRvUgmkd4/edit#gid=0
321
+ const initialConfig = {
322
+ common: {
323
+ enableUsingDefaultUserProfile: false
324
+ },
325
+ groupChannel: {
326
+ channel: {
327
+ enableMention: false,
328
+ enableOgtag: true,
329
+ enableReactions: true,
330
+ enableTypingIndicator: true,
331
+ enableVoiceMessage: false,
332
+ input: {
333
+ camera: {
334
+ enablePhoto: true,
335
+ enableVideo: true
336
+ },
337
+ enableDocument: true,
338
+ gallery: {
339
+ enablePhoto: true,
340
+ enableVideo: true
341
+ }
342
+ },
343
+ replyType: 'quote_reply',
344
+ threadReplySelectType: 'thread'
345
+ },
346
+ channelList: {
347
+ enableMessageReceiptStatus: false,
348
+ enableTypingIndicator: false
349
+ },
350
+ setting: {
351
+ enableMessageSearch: false
352
+ }
353
+ },
354
+ openChannel: {
355
+ channel: {
356
+ enableOgtag: true,
357
+ input: {
358
+ camera: {
359
+ enablePhoto: true,
360
+ enableVideo: true
361
+ },
362
+ enableDocument: true,
363
+ gallery: {
364
+ enablePhoto: true,
365
+ enableVideo: true
366
+ }
367
+ }
368
+ }
369
+ }
370
+ };
371
+ const UIKitConfigContext = /*#__PURE__*/React.createContext({
372
+ initDashboardConfigs: () => Promise.resolve(),
373
+ configs: initialConfig
374
+ });
375
+ const UIKitConfigProvider = _ref => {
376
+ let {
377
+ storage,
378
+ children /* appConfigurations */
379
+ } = _ref;
380
+ // TODO: Implement
381
+ // const localConfigs = mergeConfigs(initialConfig, mapToUIKItConfig(configurations));
382
+ const [remoteConfigs, setRemoteConfigs] = React.useState(initialConfig);
383
+ const initDashboardConfigs = React.useCallback(async sdk => {
384
+ try {
385
+ // TODO: Implement
386
+ // const manager = new UIKitConfigStorageManager(storage)
387
+ // const storedConfigs = await manager.init(sdk.appId);
388
+
389
+ if (storage == null) {
390
+ const payload = await sdk.getUIKitConfiguration().json;
391
+ setRemoteConfigs(snakeToCamel(payload.uikit_configurations));
392
+ }
393
+
394
+ // TODO: Implement
395
+ // Compare the sdk uikitConfig's lastUpdatedAt <-> stored one
396
+ // if(sdk.appInfo.uikitConfigInfo.lastUpdatedAt === storedConfigs.lastUpdatedAt) {
397
+ // setRemoteConfigs(storedConfigs);
398
+ // } else {
399
+ // const newConfigs = await sdk.getUIKitConfig();
400
+ // const updatedConfigs = await manager.update(newConfigs);
401
+ // setRemoteConfigs(updatedConfigs);
402
+ // }
403
+ } catch (error) {
404
+ //
405
+ }
406
+ }, []);
407
+
408
+ // TODO: Implement
409
+ // const configs = getByPriority(localConfigs, remoteConfigs);
410
+ const configs = remoteConfigs;
411
+ return /*#__PURE__*/React__default["default"].createElement(UIKitConfigContext.Provider, {
412
+ value: {
413
+ initDashboardConfigs,
414
+ configs
415
+ }
416
+ }, children);
417
+ };
418
+ const useUIKitConfig = () => React.useContext(UIKitConfigContext);
419
+
420
+ async function disconnectSdk(_ref) {
421
+ let {
422
+ sdkDispatcher,
423
+ userDispatcher,
424
+ sdk
425
+ } = _ref;
426
+ return new Promise(resolve => {
427
+ sdkDispatcher({
428
+ type: SDK_ACTIONS.SET_SDK_LOADING,
429
+ payload: true
430
+ });
431
+ if (sdk !== null && sdk !== void 0 && sdk.disconnect) {
432
+ sdk.disconnect().then(() => {
433
+ sdkDispatcher({
434
+ type: SDK_ACTIONS.RESET_SDK
435
+ });
436
+ userDispatcher({
437
+ type: actionTypes.USER_ACTIONS.RESET_USER
438
+ });
439
+ }).finally(() => {
440
+ resolve(true);
441
+ });
442
+ } else {
443
+ resolve(true);
444
+ }
445
+ });
446
+ }
447
+
448
+ const APP_VERSION_STRING = '3.5.0-mobile-web-0';
449
+ const {
450
+ INIT_SDK,
451
+ SET_SDK_LOADING,
452
+ RESET_SDK,
453
+ SDK_ERROR
454
+ } = SDK_ACTIONS;
455
+ const {
456
+ INIT_USER,
457
+ UPDATE_USER_INFO,
458
+ RESET_USER
459
+ } = actionTypes.USER_ACTIONS;
460
+ function getMissingParamError(_ref) {
461
+ let {
462
+ userId,
463
+ appId
464
+ } = _ref;
465
+ return `SendbirdProvider | useConnect/setupConnection/Connection failed UserId: ${userId} or appId: ${appId} missing`;
466
+ }
467
+ function getConnectSbError(error) {
468
+ return `SendbirdProvider | useConnect/setupConnection/Connection failed. ${(error === null || error === void 0 ? void 0 : error.code) || ''} ${(error === null || error === void 0 ? void 0 : error.message) || ''}`;
469
+ }
470
+ function setUpParams(_ref2) {
471
+ let {
472
+ appId,
473
+ customApiHost,
474
+ customWebSocketHost
475
+ } = _ref2;
476
+ const params = {
477
+ appId,
478
+ modules: [new groupChannel.GroupChannelModule(), new openChannel.OpenChannelModule()]
479
+ };
480
+ if (customApiHost) {
481
+ params['customApiHost'] = customApiHost;
482
+ }
483
+ if (customWebSocketHost) {
484
+ params['customWebSocketHost'] = customWebSocketHost;
485
+ }
486
+ const newSdk = SendbirdChat__default["default"].init(params);
487
+ return newSdk;
488
+ }
489
+
490
+ // Steps
491
+ // 1. Check if minimum userID/appID is provided
492
+ // 1.a. If not, throw error > !reject
493
+ // 1.b. If yes, continue
494
+ // 2. Set up params with custom host if provided
495
+ // 3. Set up session handler if provided
496
+ // 4. Set up version
497
+ // 5. Connect to Sendbird -> either using user ID or (user ID + access token)
498
+ // 6. If connected, connectCbSucess
499
+ // 6.a check if nickname is to be updated -> no > !resolve immediately
500
+ // 6.b check if nickname is to be updated -> yes > update nickname > !resolve
501
+ // 7. If not connected, connectCbError > !reject
502
+ async function setUpConnection(_ref3) {
503
+ let {
504
+ logger,
505
+ sdkDispatcher,
506
+ userDispatcher,
507
+ initDashboardConfigs,
508
+ userId,
509
+ appId,
510
+ customApiHost,
511
+ customWebSocketHost,
512
+ configureSession,
513
+ nickname,
514
+ profileUrl,
515
+ accessToken
516
+ } = _ref3;
517
+ return new Promise((resolve, reject) => {
518
+ var _logger$info;
519
+ logger === null || logger === void 0 ? void 0 : (_logger$info = logger.info) === null || _logger$info === void 0 ? void 0 : _logger$info.call(logger, 'SendbirdProvider | useConnect/setupConnection/init', {
520
+ userId,
521
+ appId
522
+ });
523
+ sdkDispatcher({
524
+ type: SET_SDK_LOADING,
525
+ payload: true
526
+ });
527
+ if (userId && appId) {
528
+ var _logger$info3, _logger$info8;
529
+ const newSdk = setUpParams({
530
+ appId,
531
+ customApiHost,
532
+ customWebSocketHost
533
+ });
534
+ if (configureSession && typeof configureSession === 'function') {
535
+ var _logger$info2;
536
+ const sessionHandler = configureSession(newSdk);
537
+ logger === null || logger === void 0 ? void 0 : (_logger$info2 = logger.info) === null || _logger$info2 === void 0 ? void 0 : _logger$info2.call(logger, 'SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);
538
+ newSdk.setSessionHandler(sessionHandler);
539
+ }
540
+ logger === null || logger === void 0 ? void 0 : (_logger$info3 = logger.info) === null || _logger$info3 === void 0 ? void 0 : _logger$info3.call(logger, 'SendbirdProvider | useConnect/setupConnection/setVersion', {
541
+ version: APP_VERSION_STRING
542
+ });
543
+ newSdk.addExtension('sb_uikit', APP_VERSION_STRING);
544
+ const connectCbSucess = async user => {
545
+ var _logger$info4;
546
+ logger === null || logger === void 0 ? void 0 : (_logger$info4 = logger.info) === null || _logger$info4 === void 0 ? void 0 : _logger$info4.call(logger, 'SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);
547
+ sdkDispatcher({
548
+ type: INIT_SDK,
549
+ payload: newSdk
550
+ });
551
+ userDispatcher({
552
+ type: INIT_USER,
553
+ payload: user
554
+ });
555
+ initDashboardConfigs(newSdk).then(config => {
556
+ var _logger$info5;
557
+ logger === null || logger === void 0 ? void 0 : (_logger$info5 = logger.info) === null || _logger$info5 === void 0 ? void 0 : _logger$info5.call(logger, 'SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration success', {
558
+ config
559
+ });
560
+ }).catch(error => {
561
+ var _logger$error;
562
+ logger === null || logger === void 0 ? void 0 : (_logger$error = logger.error) === null || _logger$error === void 0 ? void 0 : _logger$error.call(logger, 'SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration failed', {
563
+ error
564
+ });
565
+ });
566
+
567
+ // use nickname/profileUrl if provided
568
+ // or set userID as nickname
569
+ if ((nickname !== user.nickname || profileUrl !== user.profileUrl) && !(index.isTextuallyNull(nickname) && index.isTextuallyNull(profileUrl))) {
570
+ var _logger$info6;
571
+ logger === null || logger === void 0 ? void 0 : (_logger$info6 = logger.info) === null || _logger$info6 === void 0 ? void 0 : _logger$info6.call(logger, 'SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {
572
+ nickname,
573
+ profileUrl
574
+ });
575
+ newSdk.updateCurrentUserInfo({
576
+ nickname: nickname || user.nickname,
577
+ profileUrl: profileUrl || user.profileUrl
578
+ }).then(namedUser => {
579
+ var _logger$info7;
580
+ logger === null || logger === void 0 ? void 0 : (_logger$info7 = logger.info) === null || _logger$info7 === void 0 ? void 0 : _logger$info7.call(logger, 'SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {
581
+ nickname,
582
+ profileUrl
583
+ });
584
+ userDispatcher({
585
+ type: UPDATE_USER_INFO,
586
+ payload: namedUser
587
+ });
588
+ }).finally(() => {
589
+ resolve();
590
+ });
591
+ } else {
592
+ resolve();
593
+ }
594
+ };
595
+ const connectCbError = e => {
596
+ var _logger$error2;
597
+ const errorMessage = getConnectSbError(e);
598
+ logger === null || logger === void 0 ? void 0 : (_logger$error2 = logger.error) === null || _logger$error2 === void 0 ? void 0 : _logger$error2.call(logger, errorMessage, {
599
+ e,
600
+ appId,
601
+ userId
602
+ });
603
+ sdkDispatcher({
604
+ type: RESET_SDK
605
+ });
606
+ userDispatcher({
607
+ type: RESET_USER
608
+ });
609
+ sdkDispatcher({
610
+ type: SDK_ERROR
611
+ });
612
+ // exit promise with error
613
+ reject(errorMessage);
614
+ };
615
+ logger === null || logger === void 0 ? void 0 : (_logger$info8 = logger.info) === null || _logger$info8 === void 0 ? void 0 : _logger$info8.call(logger, `SendbirdProvider | useConnect/setupConnection/connect connecting using ${accessToken !== null && accessToken !== void 0 ? accessToken : userId}`);
616
+ newSdk.connect(userId, accessToken).then(res => connectCbSucess(res)).catch(err => connectCbError(err));
617
+ } else {
618
+ var _logger$error3;
619
+ const errorMessage = getMissingParamError({
620
+ userId,
621
+ appId
622
+ });
623
+ sdkDispatcher({
624
+ type: SDK_ERROR
625
+ });
626
+ logger === null || logger === void 0 ? void 0 : (_logger$error3 = logger.error) === null || _logger$error3 === void 0 ? void 0 : _logger$error3.call(logger, errorMessage);
627
+ // exit promise with error
628
+ reject(errorMessage);
629
+ }
630
+ });
631
+ }
632
+
633
+ async function connect(_ref) {
634
+ let {
635
+ logger,
636
+ sdkDispatcher,
637
+ userDispatcher,
638
+ initDashboardConfigs,
639
+ userId,
640
+ appId,
641
+ customApiHost,
642
+ customWebSocketHost,
643
+ configureSession,
644
+ nickname,
645
+ profileUrl,
646
+ accessToken,
647
+ sdk
648
+ } = _ref;
649
+ await disconnectSdk({
650
+ logger,
651
+ sdkDispatcher,
652
+ userDispatcher,
653
+ sdk
654
+ });
655
+ await setUpConnection({
656
+ logger,
657
+ sdkDispatcher,
658
+ userDispatcher,
659
+ initDashboardConfigs,
660
+ userId,
661
+ appId,
662
+ customApiHost,
663
+ customWebSocketHost,
664
+ configureSession,
665
+ nickname,
666
+ profileUrl,
667
+ accessToken
668
+ });
669
+ }
670
+
671
+ function useConnect(triggerTypes, staticTypes) {
672
+ var _logger$info;
673
+ const {
674
+ userId,
675
+ appId,
676
+ accessToken
677
+ } = triggerTypes;
678
+ const {
679
+ logger,
680
+ nickname,
681
+ profileUrl,
682
+ configureSession,
683
+ customApiHost,
684
+ customWebSocketHost,
685
+ sdk,
686
+ sdkDispatcher,
687
+ userDispatcher
688
+ } = staticTypes;
689
+ logger === null || logger === void 0 ? void 0 : (_logger$info = logger.info) === null || _logger$info === void 0 ? void 0 : _logger$info.call(logger, 'SendbirdProvider | useConnect', _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, triggerTypes), staticTypes));
690
+ const {
691
+ initDashboardConfigs
692
+ } = useUIKitConfig();
693
+ React.useEffect(() => {
694
+ var _logger$info2;
695
+ logger === null || logger === void 0 ? void 0 : (_logger$info2 = logger.info) === null || _logger$info2 === void 0 ? void 0 : _logger$info2.call(logger, 'SendbirdProvider | useConnect/useEffect', {
696
+ userId,
697
+ appId,
698
+ accessToken
699
+ });
700
+ try {
701
+ connect({
702
+ userId,
703
+ appId,
704
+ accessToken,
705
+ logger,
706
+ nickname,
707
+ profileUrl,
708
+ configureSession,
709
+ customApiHost,
710
+ customWebSocketHost,
711
+ sdk,
712
+ sdkDispatcher,
713
+ userDispatcher,
714
+ initDashboardConfigs
715
+ });
716
+ } catch (error) {
717
+ var _logger$error;
718
+ logger === null || logger === void 0 ? void 0 : (_logger$error = logger.error) === null || _logger$error === void 0 ? void 0 : _logger$error.call(logger, 'SendbirdProvider | useConnect/useEffect', error);
719
+ }
720
+ }, [userId, appId, accessToken]);
721
+ const reconnect = React.useCallback(() => {
722
+ var _logger$info3;
723
+ logger === null || logger === void 0 ? void 0 : (_logger$info3 = logger.info) === null || _logger$info3 === void 0 ? void 0 : _logger$info3.call(logger, 'SendbirdProvider | useConnect/reconnect/useCallback', {
724
+ sdk
725
+ });
726
+ try {
727
+ connect({
728
+ userId,
729
+ appId,
730
+ accessToken,
731
+ logger,
732
+ nickname,
733
+ profileUrl,
734
+ configureSession,
735
+ customApiHost,
736
+ customWebSocketHost,
737
+ sdk,
738
+ sdkDispatcher,
739
+ userDispatcher,
740
+ initDashboardConfigs
741
+ });
742
+ } catch (error) {
743
+ var _logger$error2;
744
+ logger === null || logger === void 0 ? void 0 : (_logger$error2 = logger.error) === null || _logger$error2 === void 0 ? void 0 : _logger$error2.call(logger, 'SendbirdProvider | useConnect/reconnect/useCallback', error);
745
+ }
746
+ }, [sdk]);
747
+ return reconnect;
748
+ }
749
+
428
750
  // Logger, pretty much explains it
429
751
  // in SendbirdProvider
752
+
430
753
  // const [logger, setLogger] = useState(LoggerFactory(logLevel));
431
754
  const LOG_LEVELS = {
432
755
  DEBUG: 'debug',
@@ -435,20 +758,16 @@ const LOG_LEVELS = {
435
758
  INFO: 'info',
436
759
  ALL: 'all'
437
760
  };
438
-
439
761
  const colorLog = level => {
440
762
  switch (level) {
441
763
  case LOG_LEVELS.WARNING:
442
764
  return 'color: Orange';
443
-
444
765
  case LOG_LEVELS.ERROR:
445
766
  return 'color: Red';
446
-
447
767
  default:
448
768
  return 'color: Gray';
449
769
  }
450
770
  };
451
-
452
771
  const printLog = _ref => {
453
772
  let {
454
773
  level,
@@ -458,21 +777,20 @@ const printLog = _ref => {
458
777
  // eslint-disable-next-line no-console
459
778
  console.log(`%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level), description);
460
779
  };
780
+ const noop = () => {/* noop */};
461
781
  const getDefaultLogger = () => ({
462
- info: () => {},
463
- error: () => {},
464
- warning: () => {}
782
+ info: noop,
783
+ error: noop,
784
+ warning: noop
465
785
  });
466
786
  const LoggerFactory = (lvl, customInterface) => {
467
787
  const logInterface = customInterface || printLog;
468
788
  const lvlArray = Array.isArray(lvl) ? lvl : [lvl];
469
-
470
789
  const applyLog = lgLvl => (title, description) => logInterface({
471
790
  level: lgLvl,
472
791
  title,
473
792
  description
474
793
  });
475
-
476
794
  const logger = lvlArray.reduce((accumulator, currentLvl) => {
477
795
  if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {
478
796
  return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, accumulator), {}, {
@@ -481,36 +799,35 @@ const LoggerFactory = (lvl, customInterface) => {
481
799
  warning: applyLog(LOG_LEVELS.WARNING)
482
800
  });
483
801
  }
484
-
485
802
  if (currentLvl === LOG_LEVELS.INFO) {
486
803
  return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, accumulator), {}, {
487
804
  info: applyLog(LOG_LEVELS.INFO)
488
805
  });
489
806
  }
490
-
491
807
  if (currentLvl === LOG_LEVELS.ERROR) {
492
808
  return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, accumulator), {}, {
493
809
  error: applyLog(LOG_LEVELS.ERROR)
494
810
  });
495
811
  }
496
-
497
812
  if (currentLvl === LOG_LEVELS.WARNING) {
498
813
  return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, accumulator), {}, {
499
814
  warning: applyLog(LOG_LEVELS.WARNING)
500
815
  });
501
816
  }
502
-
503
817
  return _rollupPluginBabelHelpers._objectSpread2({}, accumulator);
504
818
  }, getDefaultLogger());
505
819
  return logger;
506
820
  };
507
821
 
822
+ // TODO: Make this to hook, useLogger
823
+
508
824
  // https://davidwalsh.name/pubsub-javascript
509
825
  // we use pubsub to sync events between multiple components(example - ChannelList, Channel)
510
826
  // for example, if customer sends a message from their custom component
511
827
  // without pubsub,we would not be able to listen to it
512
828
  // in our ChannelList or Conversation
513
- var pubSubFactory = (() => {
829
+
830
+ const pubSubFactory = () => {
514
831
  const topics = {};
515
832
  const hOP = topics.hasOwnProperty;
516
833
  return {
@@ -519,11 +836,12 @@ var pubSubFactory = (() => {
519
836
  // Create the topic's object if not yet created
520
837
  if (!hOP.call(topics, topic)) {
521
838
  topics[topic] = [];
522
- } // Add the listener to queue
523
-
839
+ }
524
840
 
525
- const index = topics[topic].push(listener) - 1; // Provide handle back for removal of topic
841
+ // Add the listener to queue
842
+ const index = topics[topic].push(listener) - 1;
526
843
 
844
+ // Provide handle back for removal of topic
527
845
  return {
528
846
  remove: () => {
529
847
  delete topics[topic][index];
@@ -534,16 +852,17 @@ var pubSubFactory = (() => {
534
852
  // If the topic doesn't exist, or there's no listeners in queue, just leave
535
853
  if (!hOP.call(topics, topic)) {
536
854
  return;
537
- } // Cycle through topics queue, fire!
538
-
855
+ }
539
856
 
857
+ // Cycle through topics queue, fire!
540
858
  topics[topic].forEach(item => {
541
859
  item(info !== undefined ? info : {});
542
860
  });
543
861
  }
544
862
  };
545
- });
863
+ };
546
864
 
865
+ /* eslint-disable default-param-last */
547
866
  function useAppendDomNode() {
548
867
  let ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
549
868
  let rootSelector = arguments.length > 1 ? arguments[1] : undefined;
@@ -557,7 +876,6 @@ function useAppendDomNode() {
557
876
  return () => {
558
877
  ids.forEach(id => {
559
878
  const target = document.getElementById(id);
560
-
561
879
  if (target) {
562
880
  root.removeChild(target);
563
881
  }
@@ -566,36 +884,183 @@ function useAppendDomNode() {
566
884
  }, []);
567
885
  }
568
886
 
569
- function Sendbird(props) {
570
- const {
571
- userId,
572
- dateLocale,
887
+ const VoiceMessageProvider = _ref => {
888
+ let {
889
+ children,
890
+ isVoiceMessageEnabled = true
891
+ } = _ref;
892
+ if (!isVoiceMessageEnabled) {
893
+ return /*#__PURE__*/React__default["default"].createElement(VoicePlayer_context.VoicePlayerProvider, null, children);
894
+ }
895
+ return /*#__PURE__*/React__default["default"].createElement(VoiceRecorder_context.VoiceRecorderProvider, null, /*#__PURE__*/React__default["default"].createElement(VoicePlayer_context.VoicePlayerProvider, null, children));
896
+ };
897
+
898
+ const TIMEOUT = 2000;
899
+
900
+ /*
901
+ * This is a factory function that returns a scheduler.
902
+ * The scheduler is a queue that calls the callback function on intervals.
903
+ * If interval is empty, the callback function is called immediately.
904
+ * If interval is not empty, the callback function is called after the interval.
905
+ */
906
+ function schedulerFactory(_ref) {
907
+ let {
908
+ logger,
909
+ timeout,
910
+ cb
911
+ } = _ref;
912
+ let queue = [];
913
+ let interval = null;
914
+ const push = channel => {
915
+ const channelPresent = queue.find(c => c.url === channel.url);
916
+ if (!channelPresent) {
917
+ queue.push(channel);
918
+ } else {
919
+ logger.info('Channel: Mark as read already in queue', {
920
+ channel
921
+ });
922
+ }
923
+ // start the interval if it's not already running
924
+ if (interval) {
925
+ return;
926
+ }
927
+ const item = queue.shift();
928
+ if (item) {
929
+ cb(item);
930
+ }
931
+ interval = setInterval(() => {
932
+ if (queue.length === 0 && interval) {
933
+ clearInterval(interval);
934
+ interval = null;
935
+ return;
936
+ }
937
+ const item = queue.shift();
938
+ if (item) {
939
+ cb(item);
940
+ }
941
+ }, timeout || TIMEOUT);
942
+ };
943
+ const clear = () => {
944
+ queue = [];
945
+ if (interval) {
946
+ clearInterval(interval);
947
+ interval = null;
948
+ }
949
+ };
950
+ return {
951
+ push,
952
+ clear,
953
+ getQueue: () => queue
954
+ };
955
+ }
956
+
957
+ // this hook accepts a callback to run component is unmounted
958
+ function useUnmount(callback) {
959
+ React.useLayoutEffect(() => {
960
+ return () => {
961
+ callback();
962
+ };
963
+ }, []);
964
+ }
965
+
966
+ function useMarkAsReadScheduler(_ref, _ref2) {
967
+ let {
968
+ isConnected
969
+ } = _ref;
970
+ let {
971
+ logger
972
+ } = _ref2;
973
+ const markAsReadScheduler = React.useMemo(() => schedulerFactory({
974
+ logger,
975
+ cb: channel => {
976
+ try {
977
+ channel.markAsRead();
978
+ } catch (error) {
979
+ logger.warning('Channel: Mark as delivered failed', {
980
+ channel,
981
+ error
982
+ });
983
+ }
984
+ }
985
+ }), []);
986
+ React.useEffect(() => {
987
+ // for simplicity, we clear the queue when the connection is lost
988
+ if (!isConnected) {
989
+ markAsReadScheduler.clear();
990
+ }
991
+ }, [isConnected]);
992
+ useUnmount(() => {
993
+ markAsReadScheduler.clear();
994
+ });
995
+ return markAsReadScheduler;
996
+ }
997
+
998
+ function useMarkAsDeliveredScheduler(_ref, _ref2) {
999
+ let {
1000
+ isConnected
1001
+ } = _ref;
1002
+ let {
1003
+ logger
1004
+ } = _ref2;
1005
+ const markAsDeliveredScheduler = React.useMemo(() => schedulerFactory({
1006
+ logger,
1007
+ cb: channel => {
1008
+ try {
1009
+ channel.markAsDelivered();
1010
+ } catch (error) {
1011
+ logger.warning('Channel: Mark as delivered failed', {
1012
+ channel,
1013
+ error
1014
+ });
1015
+ }
1016
+ }
1017
+ }), []);
1018
+ React.useEffect(() => {
1019
+ // for simplicity, we clear the queue when the connection is lost
1020
+ if (!isConnected) {
1021
+ markAsDeliveredScheduler.clear();
1022
+ }
1023
+ }, [isConnected]);
1024
+ useUnmount(() => {
1025
+ markAsDeliveredScheduler.clear();
1026
+ });
1027
+ return markAsDeliveredScheduler;
1028
+ }
1029
+
1030
+ const Sendbird = _ref => {
1031
+ let {
573
1032
  appId,
574
- accessToken,
575
- configureSession,
576
- // mediaQueryBreakPoint,
577
- customApiHost,
578
- customWebSocketHost,
1033
+ userId,
579
1034
  children,
580
- disableUserProfile,
581
- disableMarkAsDelivered,
582
- renderUserProfile,
583
- onUserProfileMessage,
584
- allowProfileEdit,
585
- theme,
586
- nickname,
587
- profileUrl,
588
- userListQuery,
1035
+ accessToken = '',
1036
+ customApiHost = '',
1037
+ customWebSocketHost = '',
1038
+ configureSession = null,
1039
+ theme = 'light',
589
1040
  config = {},
590
- colorSet,
591
- stringSet: stringSet$1,
592
- imageCompression,
593
- isReactionEnabled,
594
- isMentionEnabled,
595
- isTypingIndicatorEnabledOnChannelList,
596
- isMessageReceiptStatusEnabledOnChannelList,
597
- replyType
598
- } = props;
1041
+ nickname = '',
1042
+ colorSet = null,
1043
+ stringSet: stringSet$1 = null,
1044
+ replyType = 'NONE',
1045
+ dateLocale = null,
1046
+ profileUrl = '',
1047
+ voiceRecord = {
1048
+ maxRecordingTime: consts.VOICE_RECORDER_DEFAULT_MAX,
1049
+ minRecordingTime: consts.VOICE_RECORDER_DEFAULT_MIN
1050
+ },
1051
+ userListQuery = null,
1052
+ imageCompression = {},
1053
+ allowProfileEdit = false,
1054
+ isMentionEnabled = false,
1055
+ isReactionEnabled = true,
1056
+ disableUserProfile = false,
1057
+ isVoiceMessageEnabled = true,
1058
+ disableMarkAsDelivered = false,
1059
+ isTypingIndicatorEnabledOnChannelList = false,
1060
+ isMessageReceiptStatusEnabledOnChannelList = false,
1061
+ renderUserProfile = null,
1062
+ onUserProfileMessage = null
1063
+ } = _ref;
599
1064
  const mediaQueryBreakPoint = false;
600
1065
  const {
601
1066
  logLevel = '',
@@ -603,39 +1068,33 @@ function Sendbird(props) {
603
1068
  isREMUnitEnabled = false
604
1069
  } = config;
605
1070
  const [logger, setLogger] = React.useState(LoggerFactory(logLevel));
606
- const [pubSub, setPubSub] = React.useState();
607
- const [sdkStore, sdkDispatcher] = React.useReducer(reducer$1, sdkInitialState);
608
- const [userStore, userDispatcher] = React.useReducer(reducer, userInitialState);
1071
+ const [pubSub] = React.useState(pubSubFactory());
1072
+ const [sdkStore, sdkDispatcher] = React.useReducer(reducer$1, initialState$1);
1073
+ const [userStore, userDispatcher] = React.useReducer(reducer, initialState);
609
1074
  useTheme(colorSet);
610
- React.useEffect(() => {
611
- setPubSub(pubSubFactory());
612
- }, []);
613
- React.useEffect(() => {
614
- logger.info('App Init'); // dispatch action
615
-
616
- handleConnection({
617
- userId,
618
- appId,
619
- accessToken,
620
- sdkStore,
621
- nickname,
622
- profileUrl,
623
- configureSession,
624
- customApiHost,
625
- customWebSocketHost,
626
- sdk: sdkStore.sdk,
627
- logger
628
- }, {
629
- sdkDispatcher,
630
- userDispatcher
631
- });
632
- }, [userId, appId, accessToken]); // to create a pubsub to communicate between parent and child
1075
+ const reconnect = useConnect({
1076
+ appId,
1077
+ userId,
1078
+ accessToken
1079
+ }, {
1080
+ logger,
1081
+ nickname,
1082
+ profileUrl,
1083
+ configureSession,
1084
+ customApiHost,
1085
+ customWebSocketHost,
1086
+ sdk: sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.sdk,
1087
+ sdkDispatcher,
1088
+ userDispatcher
1089
+ });
633
1090
 
1091
+ // to create a pubsub to communicate between parent and child
634
1092
  React.useEffect(() => {
635
1093
  setLogger(LoggerFactory(logLevel));
636
1094
  }, [logLevel]);
637
- useAppendDomNode(['sendbird-modal-root', 'sendbird-dropdown-portal', 'sendbird-emoji-list-portal'], 'body'); // should move to reducer
1095
+ useAppendDomNode(['sendbird-modal-root', 'sendbird-dropdown-portal', 'sendbird-emoji-list-portal'], 'body');
638
1096
 
1097
+ // should move to reducer
639
1098
  const [currenttheme, setCurrenttheme] = React.useState(theme);
640
1099
  React.useEffect(() => {
641
1100
  setCurrenttheme(theme);
@@ -643,41 +1102,65 @@ function Sendbird(props) {
643
1102
  React.useEffect(() => {
644
1103
  const body = document.querySelector('body');
645
1104
  body.classList.remove('sendbird-experimental__rem__units');
646
-
647
1105
  if (isREMUnitEnabled) {
648
1106
  body.classList.add('sendbird-experimental__rem__units');
649
1107
  }
650
- }, [isREMUnitEnabled]); // add-remove theme from body
651
-
1108
+ }, [isREMUnitEnabled]);
1109
+ // add-remove theme from body
652
1110
  React.useEffect(() => {
653
1111
  logger.info('Setup theme', `Theme: ${currenttheme}`);
654
-
655
1112
  try {
656
1113
  const body = document.querySelector('body');
657
1114
  body.classList.remove('sendbird-theme--light');
658
1115
  body.classList.remove('sendbird-theme--dark');
659
1116
  body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);
660
- logger.info('Finish setup theme'); // eslint-disable-next-line no-empty
1117
+ logger.info('Finish setup theme');
1118
+ // eslint-disable-next-line no-empty
661
1119
  } catch (e) {
662
1120
  logger.warning('Setup theme failed', `${e}`);
663
1121
  }
664
-
665
1122
  return () => {
666
1123
  try {
667
1124
  const body = document.querySelector('body');
668
1125
  body.classList.remove('sendbird-theme--light');
669
- body.classList.remove('sendbird-theme--dark'); // eslint-disable-next-line no-empty
1126
+ body.classList.remove('sendbird-theme--dark');
1127
+ // eslint-disable-next-line no-empty
670
1128
  } catch (_unused) {}
671
1129
  };
672
1130
  }, [currenttheme]);
673
1131
  const isOnline = useConnectionStatus(sdkStore.sdk, logger);
1132
+ const markAsReadScheduler = useMarkAsReadScheduler({
1133
+ isConnected: isOnline
1134
+ }, {
1135
+ logger
1136
+ });
1137
+ const markAsDeliveredScheduler = useMarkAsDeliveredScheduler({
1138
+ isConnected: isOnline
1139
+ }, {
1140
+ logger
1141
+ });
674
1142
  const localeStringSet = React__default["default"].useMemo(() => {
675
1143
  if (!stringSet$1) {
676
1144
  return stringSet.getStringSet('en');
677
1145
  }
678
-
679
1146
  return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, stringSet.getStringSet('en')), stringSet$1);
680
1147
  }, [stringSet$1]);
1148
+ const uikitConfigurations = {
1149
+ // common.enable_using_default_user_profile
1150
+ disableUserProfile,
1151
+ // group_channel.enable_reactions
1152
+ isReactionEnabled,
1153
+ // group_channel.enable_mention
1154
+ isMentionEnabled: isMentionEnabled || false,
1155
+ // group_channel.enable_voice_message
1156
+ isVoiceMessageEnabled,
1157
+ // group_channel.reply_type
1158
+ replyType,
1159
+ // group_channel_list.enable_typing_indicator
1160
+ isTypingIndicatorEnabledOnChannelList,
1161
+ // group_channel_list.enable_message_receipt_status
1162
+ isMessageReceiptStatusEnabledOnChannelList
1163
+ };
681
1164
  return /*#__PURE__*/React__default["default"].createElement(withSendbird.SendbirdSdkContext.Provider, {
682
1165
  value: {
683
1166
  stores: {
@@ -687,24 +1170,9 @@ function Sendbird(props) {
687
1170
  dispatchers: {
688
1171
  sdkDispatcher,
689
1172
  userDispatcher,
690
- reconnect: () => {
691
- handleConnection({
692
- userId,
693
- appId,
694
- accessToken,
695
- sdkStore,
696
- nickname,
697
- profileUrl,
698
- logger,
699
- sdk: sdkStore.sdk
700
- }, {
701
- sdkDispatcher,
702
- userDispatcher
703
- });
704
- }
1173
+ reconnect
705
1174
  },
706
- config: {
707
- disableUserProfile,
1175
+ config: _rollupPluginBabelHelpers._objectSpread2({
708
1176
  disableMarkAsDelivered,
709
1177
  renderUserProfile,
710
1178
  onUserProfileMessage,
@@ -721,15 +1189,36 @@ function Sendbird(props) {
721
1189
  imageCompression: _rollupPluginBabelHelpers._objectSpread2({
722
1190
  compressionRate: 0.7
723
1191
  }, imageCompression),
724
- isReactionEnabled,
725
- isMentionEnabled: isMentionEnabled || false,
1192
+ voiceRecord,
726
1193
  userMention: {
727
1194
  maxMentionCount: (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount) || 10,
728
1195
  maxSuggestionCount: (userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount) || 15
729
1196
  },
730
- isTypingIndicatorEnabledOnChannelList,
731
- isMessageReceiptStatusEnabledOnChannelList,
732
- replyType
1197
+ markAsReadScheduler,
1198
+ markAsDeliveredScheduler
1199
+ }, uikitConfigurations)
1200
+ }
1201
+ }, /*#__PURE__*/React__default["default"].createElement(UIKitConfigProvider, {
1202
+ appConfigurations: {
1203
+ common: {
1204
+ enableUsingDefaultUserProfile: !uikitConfigurations.disableUserProfile
1205
+ },
1206
+ groupChannel: {
1207
+ channel: {
1208
+ enableReactions: uikitConfigurations.isReactionEnabled,
1209
+ enableMention: uikitConfigurations.isMentionEnabled,
1210
+ enableVoiceMessage: uikitConfigurations.isVoiceMessageEnabled,
1211
+ /**
1212
+ * Since dashbord UIKit Configuration's replyType is consisted of all lowercase letters,
1213
+ * we convert it from here.
1214
+ * i.e. 'THREAD' -> 'thread'
1215
+ */
1216
+ replyType: uikitConfigurations.replyType.toLowerCase()
1217
+ },
1218
+ channelList: {
1219
+ enableTypingIndicator: uikitConfigurations.isTypingIndicatorEnabledOnChannelList,
1220
+ enableMessageReceiptStatus: uikitConfigurations.isMessageReceiptStatusEnabledOnChannelList
1221
+ }
733
1222
  }
734
1223
  }
735
1224
  }, /*#__PURE__*/React__default["default"].createElement(MediaQueryContext.MediaQueryProvider, {
@@ -738,78 +1227,9 @@ function Sendbird(props) {
738
1227
  }, /*#__PURE__*/React__default["default"].createElement(LocalizationContext.LocalizationProvider, {
739
1228
  stringSet: localeStringSet,
740
1229
  dateLocale: dateLocale
741
- }, children)));
742
- }
743
- Sendbird.propTypes = {
744
- userId: PropTypes__default["default"].string.isRequired,
745
- appId: PropTypes__default["default"].string.isRequired,
746
- accessToken: PropTypes__default["default"].string,
747
- customApiHost: PropTypes__default["default"].string,
748
- customWebSocketHost: PropTypes__default["default"].string,
749
- // mediaQueryBreakPoint: PropTypes.string,
750
- configureSession: PropTypes__default["default"].func,
751
- children: PropTypes__default["default"].oneOfType([PropTypes__default["default"].element, PropTypes__default["default"].arrayOf(PropTypes__default["default"].element), PropTypes__default["default"].any]).isRequired,
752
- theme: PropTypes__default["default"].string,
753
- nickname: PropTypes__default["default"].string,
754
- dateLocale: PropTypes__default["default"].shape({}),
755
- profileUrl: PropTypes__default["default"].string,
756
- disableUserProfile: PropTypes__default["default"].bool,
757
- disableMarkAsDelivered: PropTypes__default["default"].bool,
758
- renderUserProfile: PropTypes__default["default"].func,
759
- onUserProfileMessage: PropTypes__default["default"].func,
760
- allowProfileEdit: PropTypes__default["default"].bool,
761
- userListQuery: PropTypes__default["default"].func,
762
- config: PropTypes__default["default"].shape({
763
- // None Error Warning Info 'All/Debug'
764
- logLevel: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)]),
765
- pubSub: PropTypes__default["default"].shape({
766
- subscribe: PropTypes__default["default"].func,
767
- publish: PropTypes__default["default"].func
768
- }),
769
- userMention: PropTypes__default["default"].shape({
770
- maxMentionCount: PropTypes__default["default"].number,
771
- maxSuggestionCount: PropTypes__default["default"].number
772
- }),
773
- isREMUnitEnabled: PropTypes__default["default"].bool
774
- }),
775
- stringSet: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
776
- colorSet: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
777
- isReactionEnabled: PropTypes__default["default"].bool,
778
- isMentionEnabled: PropTypes__default["default"].bool,
779
- imageCompression: PropTypes__default["default"].shape({
780
- compressionRate: PropTypes__default["default"].number,
781
- resizingWidth: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
782
- resizingHeight: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string])
783
- }),
784
- isTypingIndicatorEnabledOnChannelList: PropTypes__default["default"].bool,
785
- isMessageReceiptStatusEnabledOnChannelList: PropTypes__default["default"].bool,
786
- replyType: PropTypes__default["default"].oneOf(['NONE', 'QUOTE_REPLY', 'THREAD'])
787
- };
788
- Sendbird.defaultProps = {
789
- accessToken: '',
790
- customApiHost: null,
791
- customWebSocketHost: null,
792
- configureSession: null,
793
- theme: 'light',
794
- // mediaQueryBreakPoint: null,
795
- nickname: '',
796
- dateLocale: null,
797
- profileUrl: '',
798
- disableUserProfile: false,
799
- disableMarkAsDelivered: false,
800
- renderUserProfile: null,
801
- onUserProfileMessage: null,
802
- allowProfileEdit: false,
803
- userListQuery: null,
804
- config: {},
805
- stringSet: null,
806
- colorSet: null,
807
- imageCompression: {},
808
- isReactionEnabled: true,
809
- isMentionEnabled: false,
810
- isTypingIndicatorEnabledOnChannelList: false,
811
- isMessageReceiptStatusEnabledOnChannelList: false,
812
- replyType: 'NONE'
1230
+ }, /*#__PURE__*/React__default["default"].createElement(VoiceMessageProvider, {
1231
+ isVoiceMessageEnabled: isVoiceMessageEnabled
1232
+ }, children)))));
813
1233
  };
814
1234
 
815
1235
  module.exports = Sendbird;