@sendbird/uikit-react 3.4.8 → 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.
- package/App.js +119 -70
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +18 -18
- package/Channel/components/ChannelUI.js +46 -41
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +59 -45
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +35 -36
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +85 -46
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -16
- package/Channel/components/SuggestedMentionList.js +16 -16
- package/Channel/components/TypingIndicator.js +14 -14
- package/Channel/components/UnreadCount.js +5 -5
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +11 -11
- package/Channel.js +46 -41
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +33 -32
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +25 -25
- package/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +29 -29
- package/{ChannelListProvider-1d8f4d94.js → ChannelListProvider-42fb305a.js} +19 -37
- package/ChannelListProvider-42fb305a.js.map +1 -0
- package/{ChannelProvider-bba4a095.js → ChannelProvider-42ea1a96.js} +59 -24
- package/ChannelProvider-42ea1a96.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +15 -14
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-1ba7a571.js → CreateChannelProvider-37af96d2.js} +1 -1
- package/{CreateChannelProvider-1ba7a571.js.map → CreateChannelProvider-37af96d2.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-ae38446a.js → LocalizationContext-1839d2db.js} +3 -3
- package/{LocalizationContext-ae38446a.js.map → LocalizationContext-1839d2db.js.map} +1 -1
- package/{MediaQueryContext-8d283dc2.js → MediaQueryContext-0e0b3a1b.js} +11 -6
- package/MediaQueryContext-0e0b3a1b.js.map +1 -0
- package/{MemberList-38971d43.js → MemberList-28589b39.js} +5 -5
- package/{MemberList-38971d43.js.map → MemberList-28589b39.js.map} +1 -1
- package/Message/context.js +5 -1
- package/Message/context.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +18 -18
- package/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -31
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-e0add710.js → OpenChannelListProvider-71a32f2d.js} +3 -3
- package/{OpenChannelListProvider-e0add710.js.map → OpenChannelListProvider-71a32f2d.js.map} +1 -1
- package/{OpenChannelProvider-49db4c6c.js → OpenChannelProvider-377a0b6e.js} +7 -7
- package/{OpenChannelProvider-49db4c6c.js.map → OpenChannelProvider-377a0b6e.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-10f50eae.js → RemoveMessageModal-558db27f.js} +3 -3
- package/{RemoveMessageModal-10f50eae.js.map → RemoveMessageModal-558db27f.js.map} +1 -1
- package/SendbirdProvider.js +299 -65
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +90 -49
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +33 -25
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +7 -7
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +40 -33
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +88 -48
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +36 -36
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +56 -46
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +49 -42
- package/Thread.js.map +1 -1
- package/{ThreadProvider-128d5041.js → ThreadProvider-0b73628e.js} +11 -8
- package/ThreadProvider-0b73628e.js.map +1 -0
- package/{UserProfileContext-91e3b3f2.js → UserProfileContext-7e645551.js} +1 -1
- package/{UserProfileContext-91e3b3f2.js.map → UserProfileContext-7e645551.js.map} +1 -1
- package/{VoiceMessageInputWrapper-cbfa4f2b.js → VoiceMessageInputWrapper-0b5a78a1.js} +7 -7
- package/{VoiceMessageInputWrapper-cbfa4f2b.js.map → VoiceMessageInputWrapper-0b5a78a1.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +11 -4
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{WebAudioUtils-5f47139c.js → WebAudioUtils-fbdb41cd.js} +1 -1
- package/{WebAudioUtils-5f47139c.js.map → WebAudioUtils-fbdb41cd.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-eaf55eff.js → _rollupPluginBabelHelpers-ce69e916.js} +1 -1
- package/_rollupPluginBabelHelpers-ce69e916.js.map +1 -0
- package/{actionTypes-98eee9f4.js → actionTypes-a5283c75.js} +1 -1
- package/{actionTypes-98eee9f4.js.map → actionTypes-a5283c75.js.map} +1 -1
- package/cjs/App.js +119 -70
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +18 -18
- package/cjs/Channel/components/ChannelUI.js +46 -41
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +59 -45
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +35 -36
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +85 -46
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -16
- package/cjs/Channel/components/SuggestedMentionList.js +16 -16
- package/cjs/Channel/components/TypingIndicator.js +14 -14
- package/cjs/Channel/components/UnreadCount.js +5 -5
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +11 -11
- package/cjs/Channel.js +46 -41
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +33 -32
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +25 -25
- package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +29 -29
- package/cjs/{ChannelListProvider-634b78f3.js → ChannelListProvider-b3ffe21a.js} +19 -37
- package/cjs/ChannelListProvider-b3ffe21a.js.map +1 -0
- package/cjs/{ChannelProvider-5366f030.js → ChannelProvider-b6890429.js} +59 -24
- package/cjs/ChannelProvider-b6890429.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +15 -14
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-65dcc450.js → CreateChannelProvider-e1376032.js} +1 -1
- package/cjs/{CreateChannelProvider-65dcc450.js.map → CreateChannelProvider-e1376032.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-4fa55e6b.js → LocalizationContext-461a0816.js} +3 -3
- package/cjs/{LocalizationContext-4fa55e6b.js.map → LocalizationContext-461a0816.js.map} +1 -1
- package/cjs/{MediaQueryContext-e443379e.js → MediaQueryContext-de7c63bc.js} +11 -6
- package/cjs/MediaQueryContext-de7c63bc.js.map +1 -0
- package/cjs/{MemberList-3736f22c.js → MemberList-593809cb.js} +5 -5
- package/cjs/{MemberList-3736f22c.js.map → MemberList-593809cb.js.map} +1 -1
- package/cjs/Message/context.js +5 -1
- package/cjs/Message/context.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +18 -18
- package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -31
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-458abc0e.js → OpenChannelListProvider-39c11f87.js} +3 -3
- package/cjs/{OpenChannelListProvider-458abc0e.js.map → OpenChannelListProvider-39c11f87.js.map} +1 -1
- package/cjs/{OpenChannelProvider-84f42ba8.js → OpenChannelProvider-e794e881.js} +7 -7
- package/cjs/{OpenChannelProvider-84f42ba8.js.map → OpenChannelProvider-e794e881.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-3535563a.js → RemoveMessageModal-29fa1a05.js} +3 -3
- package/cjs/{RemoveMessageModal-3535563a.js.map → RemoveMessageModal-29fa1a05.js.map} +1 -1
- package/cjs/SendbirdProvider.js +298 -64
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +90 -49
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +33 -25
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +7 -7
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +40 -33
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +88 -48
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +36 -36
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +56 -46
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +49 -42
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-d38505b4.js → ThreadProvider-e2098298.js} +11 -8
- package/cjs/ThreadProvider-e2098298.js.map +1 -0
- package/cjs/{UserProfileContext-83eaf6e8.js → UserProfileContext-1bcc48a2.js} +1 -1
- package/cjs/{UserProfileContext-83eaf6e8.js.map → UserProfileContext-1bcc48a2.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js → VoiceMessageInputWrapper-f18d6a5e.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js.map → VoiceMessageInputWrapper-f18d6a5e.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +11 -4
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{WebAudioUtils-00b9890d.js → WebAudioUtils-aedad0b1.js} +1 -1
- package/cjs/{WebAudioUtils-00b9890d.js.map → WebAudioUtils-aedad0b1.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-2c0fc9c3.js → _rollupPluginBabelHelpers-919a4db3.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-919a4db3.js.map +1 -0
- package/cjs/{actionTypes-fb3f6a66.js → actionTypes-1e75e6e9.js} +1 -1
- package/cjs/{actionTypes-fb3f6a66.js.map → actionTypes-1e75e6e9.js.map} +1 -1
- package/cjs/{color-83cbca20.js → color-48ff06b2.js} +1 -1
- package/cjs/{color-83cbca20.js.map → color-48ff06b2.js.map} +1 -1
- package/cjs/{compareIds-c2907ec8.js → compareIds-8ed822c1.js} +1 -1
- package/cjs/{compareIds-c2907ec8.js.map → compareIds-8ed822c1.js.map} +1 -1
- package/cjs/{const-75153738.js → const-49de651c.js} +1 -1
- package/cjs/{const-75153738.js.map → const-49de651c.js.map} +1 -1
- package/cjs/{const-17970c49.js → const-852d5677.js} +1 -1
- package/cjs/{const-17970c49.js.map → const-852d5677.js.map} +1 -1
- package/cjs/{consts-aaf1208c.js → consts-2580246d.js} +1 -1
- package/cjs/{consts-aaf1208c.js.map → consts-2580246d.js.map} +1 -1
- package/cjs/{consts-5ead6f3b.js → consts-5851f376.js} +1 -1
- package/cjs/{consts-5ead6f3b.js.map → consts-5851f376.js.map} +1 -1
- package/cjs/{consts-0db2bedc.js → consts-6f02fcc4.js} +3 -3
- package/cjs/consts-6f02fcc4.js.map +1 -0
- package/cjs/{consts-d2103ed5.js → consts-e9ee4cf4.js} +1 -1
- package/cjs/{consts-d2103ed5.js.map → consts-e9ee4cf4.js.map} +1 -1
- package/cjs/{context-d9a84cb9.js → context-4d89551f.js} +2 -2
- package/cjs/{context-d9a84cb9.js.map → context-4d89551f.js.map} +1 -1
- package/cjs/dist/index.css +255 -202
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-1737cbae.js → index-0126dbb4.js} +4 -4
- package/cjs/{index-1737cbae.js.map → index-0126dbb4.js.map} +1 -1
- package/cjs/{index-6ac703ea.js → index-1a223893.js} +7 -6
- package/cjs/{index-6ac703ea.js.map → index-1a223893.js.map} +1 -1
- package/cjs/{index-fcd2f4ff.js → index-223e9372.js} +3 -2
- package/cjs/{index-fcd2f4ff.js.map → index-223e9372.js.map} +1 -1
- package/cjs/{index-552eb819.js → index-420b8e6d.js} +3 -3
- package/cjs/{index-552eb819.js.map → index-420b8e6d.js.map} +1 -1
- package/cjs/{index-22bdf04e.js → index-44186883.js} +2 -2
- package/cjs/{index-22bdf04e.js.map → index-44186883.js.map} +1 -1
- package/cjs/{index-47e4bdbc.js → index-5e6194f8.js} +1 -1
- package/cjs/{index-47e4bdbc.js.map → index-5e6194f8.js.map} +1 -1
- package/cjs/{index-be9c5a7d.js → index-60bf4d5c.js} +2 -2
- package/cjs/{index-be9c5a7d.js.map → index-60bf4d5c.js.map} +1 -1
- package/cjs/{index-c8c25288.js → index-60ea6503.js} +3 -3
- package/cjs/{index-c8c25288.js.map → index-60ea6503.js.map} +1 -1
- package/cjs/{index-09f8f2a4.js → index-6a46ed00.js} +3 -3
- package/cjs/{index-09f8f2a4.js.map → index-6a46ed00.js.map} +1 -1
- package/cjs/{index-10d8f30f.js → index-7a68d56f.js} +1 -1
- package/cjs/{index-10d8f30f.js.map → index-7a68d56f.js.map} +1 -1
- package/cjs/{index-5307f6c1.js → index-81aad270.js} +2 -2
- package/cjs/{index-5307f6c1.js.map → index-81aad270.js.map} +1 -1
- package/cjs/{index-41ce4c44.js → index-849c0736.js} +2 -2
- package/cjs/{index-41ce4c44.js.map → index-849c0736.js.map} +1 -1
- package/cjs/{index-56735815.js → index-a51f1b7d.js} +5 -5
- package/cjs/{index-56735815.js.map → index-a51f1b7d.js.map} +1 -1
- package/cjs/{index-01768a5e.js → index-a7025294.js} +6 -6
- package/cjs/{index-01768a5e.js.map → index-a7025294.js.map} +1 -1
- package/cjs/{index-265937df.js → index-bca3d144.js} +18 -2
- package/cjs/index-bca3d144.js.map +1 -0
- package/cjs/{index-61c3208b.js → index-f4682499.js} +4 -4
- package/cjs/{index-61c3208b.js.map → index-f4682499.js.map} +1 -1
- package/cjs/index-f5399132.js +419 -0
- package/cjs/index-f5399132.js.map +1 -0
- package/cjs/index.js +60 -58
- package/cjs/index.js.map +1 -1
- package/cjs/{index.module-3e7701ca.js → index.module-10ef9afc.js} +1 -1
- package/cjs/{index.module-3e7701ca.js.map → index.module-10ef9afc.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-c24927d9.js → stringSet-d1cee26a.js} +1 -1
- package/cjs/{stringSet-c24927d9.js.map → stringSet-d1cee26a.js.map} +1 -1
- package/cjs/{tokenize-1441f448.js → tokenize-d3bb1637.js} +7 -3
- package/cjs/tokenize-d3bb1637.js.map +1 -0
- package/cjs/{topics-0df2f6f9.js → topics-00c67dd6.js} +1 -1
- package/cjs/{topics-0df2f6f9.js.map → topics-00c67dd6.js.map} +1 -1
- package/cjs/{types-df20b895.js → types-2e9e46b2.js} +1 -1
- package/cjs/types-2e9e46b2.js.map +1 -0
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +35 -24
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +249 -46
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/Icon.js +190 -167
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/MentionLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +55 -400
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +12 -12
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +12 -6
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelOGMessage.js +45 -51
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionButton.js +15 -11
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThumbnailMessageItemBody.js +15 -9
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +14 -13
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +5 -5
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +10 -10
- package/cjs/useDirtyGetMentions-7b6c8a19.js +77 -0
- package/cjs/useDirtyGetMentions-7b6c8a19.js.map +1 -0
- package/cjs/{useLongPress-8aa00a28.js → useLongPress-4c2e9a3b.js} +9 -5
- package/cjs/useLongPress-4c2e9a3b.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-111f523c.js → utils-22d05a53.js} +1 -1
- package/cjs/{utils-111f523c.js.map → utils-22d05a53.js.map} +1 -1
- package/cjs/{utils-a1fead2f.js → utils-3dacb9bc.js} +1 -1
- package/cjs/{utils-a1fead2f.js.map → utils-3dacb9bc.js.map} +1 -1
- package/cjs/{utils-93abfb7c.js → utils-c5d4c36e.js} +1 -1
- package/cjs/{utils-93abfb7c.js.map → utils-c5d4c36e.js.map} +1 -1
- package/cjs/{utils-4717b83e.js → utils-f1c09ec3.js} +2 -2
- package/cjs/{utils-4717b83e.js.map → utils-f1c09ec3.js.map} +1 -1
- package/cjs/{uuid-c854e2a9.js → uuid-d86ea01f.js} +1 -1
- package/cjs/{uuid-c854e2a9.js.map → uuid-d86ea01f.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-c1b95a91.js → color-4ca8a2ea.js} +1 -1
- package/{color-c1b95a91.js.map → color-4ca8a2ea.js.map} +1 -1
- package/{compareIds-74cf4016.js → compareIds-08858dd3.js} +1 -1
- package/{compareIds-74cf4016.js.map → compareIds-08858dd3.js.map} +1 -1
- package/{const-befef81d.js → const-714046e0.js} +1 -1
- package/{const-befef81d.js.map → const-714046e0.js.map} +1 -1
- package/{const-3af04f0a.js → const-a77c08c9.js} +1 -1
- package/{const-3af04f0a.js.map → const-a77c08c9.js.map} +1 -1
- package/{consts-9ece4263.js → consts-9393e7c8.js} +3 -3
- package/consts-9393e7c8.js.map +1 -0
- package/{consts-a8bc28bd.js → consts-aecb8fab.js} +1 -1
- package/{consts-a8bc28bd.js.map → consts-aecb8fab.js.map} +1 -1
- package/{consts-354db0d9.js → consts-d46e0fc1.js} +1 -1
- package/{consts-354db0d9.js.map → consts-d46e0fc1.js.map} +1 -1
- package/{consts-bb6cbaee.js → consts-decd9c7d.js} +1 -1
- package/{consts-bb6cbaee.js.map → consts-decd9c7d.js.map} +1 -1
- package/{context-38bde7ff.js → context-9a6b8b8a.js} +2 -2
- package/{context-38bde7ff.js.map → context-9a6b8b8a.js.map} +1 -1
- package/dist/index.css +255 -202
- package/dist/index.css.map +1 -1
- package/{index-67dd0c26.js → index-06f34585.js} +2 -2
- package/{index-67dd0c26.js.map → index-06f34585.js.map} +1 -1
- package/{index-aa215b1c.js → index-20880943.js} +3 -3
- package/{index-aa215b1c.js.map → index-20880943.js.map} +1 -1
- package/{index-4554e20e.js → index-3130ac38.js} +4 -4
- package/{index-4554e20e.js.map → index-3130ac38.js.map} +1 -1
- package/{index-14bb6832.js → index-3165e396.js} +1 -1
- package/{index-14bb6832.js.map → index-3165e396.js.map} +1 -1
- package/{index-88ab67cc.js → index-400417a1.js} +4 -4
- package/{index-88ab67cc.js.map → index-400417a1.js.map} +1 -1
- package/{index-ae8e6fc3.js → index-5644a6c0.js} +3 -3
- package/{index-ae8e6fc3.js.map → index-5644a6c0.js.map} +1 -1
- package/{index-1be3f6d7.js → index-5db37327.js} +3 -3
- package/{index-1be3f6d7.js.map → index-5db37327.js.map} +1 -1
- package/{index-db801708.js → index-7c9ebc67.js} +5 -5
- package/{index-db801708.js.map → index-7c9ebc67.js.map} +1 -1
- package/{index-8a4d2b6e.js → index-9781d2b9.js} +2 -2
- package/{index-8a4d2b6e.js.map → index-9781d2b9.js.map} +1 -1
- package/{index-1556dc4a.js → index-b96440b7.js} +3 -3
- package/{index-1556dc4a.js.map → index-b96440b7.js.map} +1 -1
- package/{index-8bf82e3b.js → index-bf72ef7c.js} +7 -6
- package/{index-8bf82e3b.js.map → index-bf72ef7c.js.map} +1 -1
- package/{index-96f6e11b.js → index-c6df8184.js} +6 -6
- package/{index-96f6e11b.js.map → index-c6df8184.js.map} +1 -1
- package/{index-321e838f.js → index-d9c12cf4.js} +1 -1
- package/{index-321e838f.js.map → index-d9c12cf4.js.map} +1 -1
- package/{index-a900bd78.js → index-e1cd2fcf.js} +2 -2
- package/{index-a900bd78.js.map → index-e1cd2fcf.js.map} +1 -1
- package/index-edfb3327.js +413 -0
- package/index-edfb3327.js.map +1 -0
- package/{index-d8fdbe6f.js → index-fd51c7d1.js} +16 -3
- package/index-fd51c7d1.js.map +1 -0
- package/{index-ecf3a793.js → index-fd95258e.js} +2 -2
- package/{index-ecf3a793.js.map → index-fd95258e.js.map} +1 -1
- package/index.d.ts +3 -1
- package/index.js +60 -58
- package/index.js.map +1 -1
- package/{index.module-1c75b4f5.js → index.module-8c144786.js} +1 -1
- package/{index.module-1c75b4f5.js.map → index.module-8c144786.js.map} +1 -1
- package/package.json +2 -2
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-6d89212b.js → stringSet-d368e289.js} +1 -1
- package/{stringSet-6d89212b.js.map → stringSet-d368e289.js.map} +1 -1
- package/{tokenize-2e969273.js → tokenize-7056afb7.js} +7 -3
- package/tokenize-7056afb7.js.map +1 -0
- package/{topics-8f4016e9.js → topics-f9628f1f.js} +1 -1
- package/{topics-8f4016e9.js.map → topics-f9628f1f.js.map} +1 -1
- package/{types-ebbbec62.js → types-2b508dbc.js} +1 -1
- package/types-2b508dbc.js.map +1 -0
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +35 -24
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +250 -47
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/Icon.js +190 -167
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +56 -401
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +12 -12
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +12 -6
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelOGMessage.js +45 -51
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +14 -14
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionButton.js +15 -11
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThumbnailMessageItemBody.js +15 -9
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +14 -13
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +5 -5
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +10 -10
- package/useDirtyGetMentions-e0c0f521.js +75 -0
- package/useDirtyGetMentions-e0c0f521.js.map +1 -0
- package/{useLongPress-8d44d259.js → useLongPress-685c7391.js} +9 -5
- package/useLongPress-685c7391.js.map +1 -0
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-c8b489c4.js → utils-256f157f.js} +1 -1
- package/{utils-c8b489c4.js.map → utils-256f157f.js.map} +1 -1
- package/{utils-8e039c1b.js → utils-4979f950.js} +1 -1
- package/{utils-8e039c1b.js.map → utils-4979f950.js.map} +1 -1
- package/{utils-7d781542.js → utils-f82ad058.js} +1 -1
- package/{utils-7d781542.js.map → utils-f82ad058.js.map} +1 -1
- package/{utils-b42f4fab.js → utils-fbc09760.js} +2 -2
- package/{utils-b42f4fab.js.map → utils-fbc09760.js.map} +1 -1
- package/{uuid-c94bd88b.js → uuid-720c99c0.js} +1 -1
- package/{uuid-c94bd88b.js.map → uuid-720c99c0.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-1d8f4d94.js.map +0 -1
- package/ChannelProvider-bba4a095.js.map +0 -1
- package/MediaQueryContext-8d283dc2.js.map +0 -1
- package/ThreadProvider-128d5041.js.map +0 -1
- package/_rollupPluginBabelHelpers-eaf55eff.js.map +0 -1
- package/cjs/ChannelListProvider-634b78f3.js.map +0 -1
- package/cjs/ChannelProvider-5366f030.js.map +0 -1
- package/cjs/MediaQueryContext-e443379e.js.map +0 -1
- package/cjs/ThreadProvider-d38505b4.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-2c0fc9c3.js.map +0 -1
- package/cjs/consts-0db2bedc.js.map +0 -1
- package/cjs/index-265937df.js.map +0 -1
- package/cjs/tokenize-1441f448.js.map +0 -1
- package/cjs/types-df20b895.js.map +0 -1
- package/cjs/useLongPress-8aa00a28.js.map +0 -1
- package/consts-9ece4263.js.map +0 -1
- package/index-d8fdbe6f.js.map +0 -1
- package/tokenize-2e969273.js.map +0 -1
- package/types-ebbbec62.js.map +0 -1
- package/useLongPress-8d44d259.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendbirdProvider.js","sources":["../../src/lib/hooks/useTheme.ts","../../src/lib/dux/sdk/actionTypes.ts","../../src/lib/dux/sdk/initialState.ts","../../src/lib/dux/sdk/reducers.ts","../../src/lib/dux/user/initialState.ts","../../src/lib/dux/user/reducers.ts","../../src/lib/hooks/useOnlineStatus.js","../../src/lib/hooks/useConnect/disconnectSdk.ts","../../src/lib/hooks/useConnect/setupConnection.ts","../../src/lib/hooks/useConnect/connect.ts","../../src/lib/hooks/useConnect/index.ts","../../src/lib/Logger/index.ts","../../src/lib/pubSub/index.ts","../../src/hooks/useAppendDomNode.js","../../src/lib/VoiceMessageProvider.tsx","../../src/lib/hooks/useMarkAsReadScheduler.ts","../../src/lib/Sendbird.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n};\n\nconst useTheme = (overrides: Record<string, string>): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","import SendbirdChat from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/CreateAction';\n\nexport const SDK_ACTIONS = {\n INIT_SDK: 'INIT_SDK',\n SET_SDK_LOADING: 'SET_SDK_LOADING',\n RESET_SDK: 'RESET_SDK',\n SDK_ERROR: 'SDK_ERROR',\n} as const;\n\ntype SDK_PAYLOAD_TYPES = {\n [SDK_ACTIONS.SET_SDK_LOADING]: boolean,\n [SDK_ACTIONS.INIT_SDK]: SendbirdChat,\n [SDK_ACTIONS.SDK_ERROR]: null,\n [SDK_ACTIONS.RESET_SDK]: null,\n};\n\nexport type SdkActionTypes = CreateAction<SDK_PAYLOAD_TYPES>;\n","import SendbirdChat from '@sendbird/chat';\n\nexport interface SdkStoreStateType {\n initialized: boolean;\n loading: boolean;\n sdk: SendbirdChat,\n error: boolean;\n}\n\nconst initialState: SdkStoreStateType = {\n initialized: false,\n loading: false,\n sdk: {} as SendbirdChat,\n error: false,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { SdkActionTypes, SDK_ACTIONS } from './actionTypes';\nimport initialState, { SdkStoreStateType } from './initialState';\n\nexport default function reducer(state: SdkStoreStateType, action: SdkActionTypes): SdkStoreStateType {\n return match(action)\n .with({ type: SDK_ACTIONS.SET_SDK_LOADING }, ({ payload }) => {\n return {\n ...state,\n initialized: false,\n loading: payload,\n };\n })\n .with({ type: SDK_ACTIONS.SDK_ERROR }, () => {\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n })\n .with({ type: SDK_ACTIONS.INIT_SDK }, ({ payload }) => {\n return {\n sdk: payload,\n initialized: true,\n loading: false,\n error: false,\n };\n })\n .with({ type: SDK_ACTIONS.RESET_SDK }, () => {\n return initialState;\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { User } from '@sendbird/chat';\n\nexport interface UserStoreStateType {\n initialized: boolean;\n loading: boolean;\n user: User;\n}\n\nconst initialState: UserStoreStateType = {\n initialized: false,\n loading: false,\n user: {} as User,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { UserActionTypes, USER_ACTIONS } from './actionTypes';\nimport initialState, { UserStoreStateType } from './initialState';\n\nexport default function reducer(state: UserStoreStateType, action: UserActionTypes): UserStoreStateType {\n return match(action)\n .with({ type: USER_ACTIONS.INIT_USER }, ({ payload }) => {\n return {\n initialized: true,\n loading: false,\n user: payload,\n };\n })\n .with({ type: USER_ACTIONS.RESET_USER }, () => {\n return initialState;\n })\n .with({ type: USER_ACTIONS.UPDATE_USER_INFO }, ({ payload }) => {\n return {\n ...state,\n user: payload,\n };\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { ConnectionHandler } from '@sendbird/chat';\nimport { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n try {\n logger.warning('sdk changed', uniqueHandlerId);\n const handler = new ConnectionHandler();\n handler.onDisconnected = () => {\n logger.warning('onDisconnected', { isOnline });\n };\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n // workaround -> addConnectionHandler invalidates session handler\n // provided through configureSession\n if (sdk?.addConnectionHandler) {\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n } catch {\n //\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.connectionState !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","import { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { DisconnectSdkTypes } from './types';\n\nexport async function disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n}: DisconnectSdkTypes): Promise<boolean> {\n return new Promise((resolve) => {\n sdkDispatcher({ type: SDK_ACTIONS.SET_SDK_LOADING, payload: true });\n if (sdk?.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: SDK_ACTIONS.RESET_SDK });\n userDispatcher({ type: USER_ACTIONS.RESET_USER });\n })\n .finally(() => {\n resolve(true);\n });\n } else {\n resolve(true);\n }\n });\n}\n","import SendbirdChat, { SendbirdError, User } from '@sendbird/chat';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\n\nimport { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { isTextuallyNull } from '../../../utils';\nimport { SetupConnectionTypes } from './types';\n\nconst { INIT_SDK, SET_SDK_LOADING, RESET_SDK, SDK_ERROR } = SDK_ACTIONS;\nconst { INIT_USER, UPDATE_USER_INFO, RESET_USER } = USER_ACTIONS;\nconst APP_VERSION_STRING = '__uikit_app_version__';\nconst IS_ROLLUP = '__is_rollup__';\nconst IS_ROLLUP_REPLACE = '__is_rollup_replace__';\n\nexport function getMissingParamError({ userId, appId }: { userId?: string, appId?: string }): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed UserId: ${userId} or appId: ${appId} missing`;\n}\nexport function getConnectSbError(error?: SendbirdError): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed. ${error?.code || ''} ${error?.message || ''}`;\n}\n\nexport function setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n}: {\n appId: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n}): SendbirdChat {\n const params = {\n appId,\n modules: [\n new GroupChannelModule(),\n new OpenChannelModule(),\n ],\n };\n if (customApiHost) {\n params['customApiHost'] = customApiHost;\n }\n if (customWebSocketHost) {\n params['customWebSocketHost'] = customWebSocketHost;\n }\n const newSdk = SendbirdChat.init(params);\n return newSdk;\n}\n\n// Steps\n// 1. Check if minimum userID/appID is provided\n// 1.a. If not, throw error > !reject\n// 1.b. If yes, continue\n// 2. Set up params with custom host if provided\n// 3. Set up session handler if provided\n// 4. Set up version if not storybook\n// 5. Connect to Sendbird -> either using user ID or (user ID + access token)\n// 6. If connected, connectCbSucess\n// 6.a check if nickname is to be updated -> no > !resolve immediately\n// 6.b check if nickname is to be updated -> yes > update nickname > !resolve\n// 7. If not connected, connectCbError > !reject\nexport async function setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n}: SetupConnectionTypes): Promise<void> {\n return new Promise((resolve, reject) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/init', { userId, appId });\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (userId && appId) {\n const newSdk = setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n });\n\n if (configureSession && typeof configureSession === 'function') {\n const sessionHandler = configureSession(newSdk);\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);\n newSdk.setSessionHandler(sessionHandler);\n }\n // to check if code is released version from rollup and *not from storybook*\n // see rollup config file\n // @ts-ignore\n if (IS_ROLLUP === IS_ROLLUP_REPLACE) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/setVersion', APP_VERSION_STRING);\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n }\n const connectCbSucess = (user: User) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n // use nickname/profileUrl if provided\n // or set userID as nickname\n if ((nickname !== user.nickname || profileUrl !== user.profileUrl)\n && !(isTextuallyNull(nickname) && isTextuallyNull(profileUrl))\n ) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {\n nickname,\n profileUrl,\n });\n newSdk.updateCurrentUserInfo({\n nickname: nickname || user.nickname,\n profileUrl: profileUrl || user.profileUrl,\n }).then((namedUser) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {\n nickname,\n profileUrl,\n });\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n }).finally(() => {\n resolve();\n });\n } else {\n resolve();\n }\n };\n\n const connectCbError = (e: SendbirdError) => {\n const errorMessage = getConnectSbError(e);\n logger?.error?.(errorMessage, {\n e,\n appId,\n userId,\n });\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n sdkDispatcher({ type: SDK_ERROR });\n // exit promise with error\n reject(errorMessage);\n };\n\n if (accessToken) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connect connecting using accessToken');\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connect connecting using userId');\n newSdk.connect(userId)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n }\n } else {\n const errorMessage = getMissingParamError({ userId, appId });\n sdkDispatcher({ type: SDK_ERROR });\n logger?.error?.(errorMessage);\n // exit promise with error\n reject(errorMessage);\n }\n });\n}\n","import { disconnectSdk } from './disconnectSdk';\nimport { setUpConnection } from './setupConnection';\nimport { ConnectTypes } from './types';\n\nexport async function connect({\n logger,\n sdkDispatcher,\n userDispatcher,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n}: ConnectTypes): Promise<void> {\n await disconnectSdk({\n logger,\n sdkDispatcher,\n userDispatcher,\n sdk,\n });\n await setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n });\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { ReconnectType, StaticTypes, TriggerTypes } from './types';\nimport { connect } from './connect';\n\nexport default function useConnect(triggerTypes: TriggerTypes, staticTypes: StaticTypes): ReconnectType {\n const { userId, appId, accessToken } = triggerTypes;\n const {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n } = staticTypes;\n logger?.info?.('SendbirdProvider | useConnect', { ...triggerTypes, ...staticTypes });\n useEffect(() => {\n logger?.info?.('SendbirdProvider | useConnect/useEffect', { userId, appId, accessToken });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/useEffect', error);\n }\n }, [userId, appId, accessToken]);\n const reconnect = useCallback(() => {\n logger?.info?.('SendbirdProvider | useConnect/reconnect/useCallback', { sdk });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/reconnect/useCallback', error);\n }\n }, [sdk]);\n return reconnect;\n}\n","// Logger, pretty much explains it\n// in SendbirdProvider\n\nimport { ObjectValues } from '../../utils/typeHelpers/objectValues';\n\n// const [logger, setLogger] = useState(LoggerFactory(logLevel));\nexport const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n} as const;\nexport type LogLevel = ObjectValues<typeof LOG_LEVELS>;\n\nconst colorLog = (level: LogLevel): string => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\ninterface PrintLogProps {\n level: LogLevel;\n title: string;\n description?: string;\n}\nexport const printLog = ({\n level,\n title,\n description = '',\n}: PrintLogProps): void => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level), description,\n );\n};\n\ntype LoggerLogType = (title?: string, description?: string) => void;\ninterface LoggerInterface {\n info: LoggerLogType;\n error: LoggerLogType;\n warning: LoggerLogType;\n}\n\nconst noop = () => { /* noop */ };\nexport const getDefaultLogger = (): LoggerInterface => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\nexport const LoggerFactory = (\n lvl: LogLevel,\n customInterface?: () => void,\n): LoggerInterface => {\n const logInterface = customInterface || printLog;\n const lvlArray: Array<LogLevel> = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl: LogLevel) => (title?: string, description?: string) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n\n// TODO: Make this to hook, useLogger\n","// https://davidwalsh.name/pubsub-javascript\n// we use pubsub to sync events between multiple components(example - ChannelList, Channel)\n// for example, if customer sends a message from their custom component\n// without pubsub,we would not be able to listen to it\n// in our ChannelList or Conversation\n\ninterface PubSubTypes {\n __getTopics: () => Record<string, string>;\n subscribe: (topic: string, listener: unknown) => { remove: () => void };\n publish: (topic: string, info: unknown) => void;\n}\n\nconst pubSubFactory = (): PubSubTypes => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n\nexport default pubSubFactory;\n","import { useEffect } from 'react';\n\n/* eslint-disable default-param-last */\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","import React from 'react';\nimport { VoicePlayerProvider } from '../hooks/VoicePlayer';\nimport { VoiceRecorderProvider } from '../hooks/VoiceRecorder';\n\nexport interface VoiceMessageProviderProps {\n children: React.ReactElement;\n isVoiceMessageEnabled?: boolean;\n}\n\nexport const VoiceMessageProvider = ({\n children,\n isVoiceMessageEnabled = true,\n}: VoiceMessageProviderProps): React.ReactElement => {\n if (!isVoiceMessageEnabled) {\n return (\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n );\n }\n return (\n <VoiceRecorderProvider>\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n </VoiceRecorderProvider>\n );\n};\n\nexport default VoiceMessageProvider;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { useEffect, useMemo } from 'react';\nimport { Logger } from '../SendbirdState';\n\nexport type MarkAsReadSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\nconst TIMEOUT = 5000;\n\nexport const schedulerFactory = (logger: Logger, timeout?: number): MarkAsReadSchedulerType => {\n let queue: GroupChannel[] = [];\n let interval = null;\n const push = (channel: GroupChannel) => {\n const channelPresent = queue.find((c) => c.url === channel.url);\n if (!channelPresent) {\n queue.push(channel);\n } else {\n logger.info('Channel: Mark as read already in queue', channel);\n }\n // start the interval if it's not already running\n if (interval) {\n return;\n }\n interval = setInterval(() => {\n if (queue.length === 0) {\n clearInterval(interval);\n interval = null;\n return;\n }\n const channel = queue.shift();\n if (channel) {\n try {\n channel.markAsRead();\n } catch (error) {\n logger.error('Channel: Mark as read failed', error);\n }\n }\n }, (timeout || TIMEOUT));\n };\n const clear = () => {\n queue = [];\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n };\n return {\n push,\n clear,\n getQueue: () => queue,\n };\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsReadScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsReadSchedulerType {\n const markAsReadScheduler = useMemo(() => schedulerFactory(logger), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsReadScheduler.clear();\n }\n }, [isConnected]);\n\n return markAsReadScheduler;\n}\n","import './index.scss';\nimport './__experimental__typography.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport { User } from '@sendbird/chat';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\nimport useConnect from './hooks/useConnect';\nimport { LoggerFactory, LogLevel } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { VoiceMessageProvider } from './VoiceMessageProvider';\nimport { LocalizationProvider } from './LocalizationContext';\nimport { MediaQueryProvider } from './MediaQueryContext';\nimport getStringSet from '../ui/Label/stringSet';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../utils/consts';\nimport { useMarkAsReadScheduler } from './hooks/useMarkAsReadScheduler';\nimport { ConfigureSessionTypes } from './hooks/useConnect/types';\n\nexport type UserListQueryType = {\n hasNext?: boolean;\n next: () => Promise<Array<User>>;\n};\n\ninterface VoiceRecordOptions {\n maxRecordingTime?: number;\n minRecordingTime?: number;\n}\n\nexport interface ImageCompressionOptions {\n compressionRate?: number;\n resizingWidth?: number | string;\n resizingHeight?: number | string;\n}\n\nexport interface SendbirdConfig {\n logLevel?: string | Array<string>;\n pubSub?: () => void;// TODO: Define pubSub type and apply it here\n userMention?: {\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n };\n isREMUnitEnabled?: boolean;\n}\n\nexport interface SendbirdProviderProps {\n appId: string;\n userId: string;\n children: React.ReactElement;\n accessToken?: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n configureSession?: ConfigureSessionTypes;\n theme?: 'light' | 'dark';\n config?: SendbirdConfig;\n nickname?: string;\n colorSet?: Record<string, string>;\n stringSet?: Record<string, string>;\n replyType?: 'NONE' | 'QUOTE_REPLY' | 'THREAD';\n dateLocale?: Locale;\n profileUrl?: string;\n voiceRecord?: VoiceRecordOptions;\n userListQuery?: UserListQueryType;\n imageCompression?: ImageCompressionOptions;\n allowProfileEdit?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableUserProfile?: boolean;\n isVoiceMessageEnabled?: boolean;\n disableMarkAsDelivered?: boolean;\n isTypingIndicatorEnabledOnChannelList?: boolean;\n isMessageReceiptStatusEnabledOnChannelList?: boolean;\n renderUserProfile?: () => React.ReactElement;\n onUserProfileMessage?: () => void;\n}\n\nconst Sendbird = ({\n appId,\n userId,\n children,\n accessToken = '',\n customApiHost = '',\n customWebSocketHost = '',\n configureSession = null,\n theme = 'light',\n config = {},\n nickname = '',\n colorSet = null,\n stringSet = null,\n replyType = 'NONE',\n dateLocale = null,\n profileUrl = '',\n voiceRecord = { maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX, minRecordingTime: VOICE_RECORDER_DEFAULT_MIN },\n userListQuery = null,\n imageCompression = {},\n allowProfileEdit = false,\n isMentionEnabled = false,\n isReactionEnabled = true,\n disableUserProfile = false,\n isVoiceMessageEnabled = true,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n renderUserProfile = null,\n onUserProfileMessage = null,\n}: SendbirdProviderProps): React.ReactElement => {\n const mediaQueryBreakPoint = false;\n\n const {\n logLevel = '',\n userMention = {},\n isREMUnitEnabled = false,\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel as LogLevel));\n const [pubSub] = useState(pubSubFactory());\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n useTheme(colorSet);\n\n const reconnect = useConnect({\n appId,\n userId,\n accessToken,\n }, {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk: sdkStore?.sdk,\n sdkDispatcher,\n userDispatcher,\n });\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel as LogLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-experimental__rem__units');\n if (isREMUnitEnabled) {\n body.classList.add('sendbird-experimental__rem__units');\n }\n }, [isREMUnitEnabled]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const markAsReadScheduler = useMarkAsReadScheduler({ isConnected: isOnline }, { logger });\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n <SendbirdSdkContext.Provider\n value={{\n stores: {\n sdkStore,\n userStore,\n },\n dispatchers: {\n sdkDispatcher,\n userDispatcher,\n reconnect,\n },\n config: {\n disableUserProfile,\n disableMarkAsDelivered,\n renderUserProfile,\n onUserProfileMessage,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression: {\n compressionRate: 0.7,\n ...imageCompression,\n },\n isReactionEnabled,\n isMentionEnabled: isMentionEnabled || false,\n isVoiceMessageEnabled,\n voiceRecord,\n userMention: {\n maxMentionCount: userMention?.maxMentionCount || 10,\n maxSuggestionCount: userMention?.maxSuggestionCount || 15,\n },\n isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabledOnChannelList,\n replyType,\n markAsReadScheduler,\n },\n }}\n >\n <MediaQueryProvider logger={logger} mediaQueryBreakPoint={mediaQueryBreakPoint}>\n <LocalizationProvider stringSet={localeStringSet} dateLocale={dateLocale}>\n <VoiceMessageProvider isVoiceMessageEnabled={isVoiceMessageEnabled}>\n {children}\n </VoiceMessageProvider>\n </LocalizationProvider>\n </MediaQueryProvider>\n </SendbirdSdkContext.Provider>\n );\n};\n\nexport default Sendbird;\n"],"names":["isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","_objectSpread","SDK_ACTIONS","INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","initialState","initialized","loading","sdk","error","reducer","state","action","match","with","type","_ref","payload","_ref2","otherwise","user","USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO","useConnectionStatus","logger","isOnline","setIsOnline","useState","useEffect","uniqueHandlerId","uuidv4","warning","handler","ConnectionHandler","onDisconnected","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","info","addConnectionHandler","_unused","removeConnectionHandler","_unused2","tryReconnect","connectionState","_unused3","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","e","remove","disconnectSdk","sdkDispatcher","userDispatcher","Promise","resolve","disconnect","then","finally","APP_VERSION_STRING","getMissingParamError","userId","appId","getConnectSbError","code","message","setUpParams","customApiHost","customWebSocketHost","params","modules","GroupChannelModule","OpenChannelModule","newSdk","SendbirdChat","init","setUpConnection","_ref3","configureSession","nickname","profileUrl","accessToken","reject","_logger$info","call","_logger$info2","sessionHandler","setSessionHandler","_logger$info3","addExtension","connectCbSucess","_logger$info4","isTextuallyNull","_logger$info5","updateCurrentUserInfo","namedUser","_logger$info6","connectCbError","_logger$error","errorMessage","_logger$info7","connect","res","catch","err","_logger$info8","_logger$error2","useConnect","triggerTypes","staticTypes","useCallback","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","noop","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","pubSubFactory","topics","hOP","__getTopics","subscribe","topic","listener","index","push","publish","forEach","item","useAppendDomNode","ids","arguments","length","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","VoiceMessageProvider","children","isVoiceMessageEnabled","React","VoicePlayerProvider","VoiceRecorderProvider","TIMEOUT","schedulerFactory","timeout","queue","interval","channel","channelPresent","find","c","url","setInterval","clearInterval","shift","markAsRead","clear","getQueue","useMarkAsReadScheduler","isConnected","markAsReadScheduler","useMemo","Sendbird","theme","config","colorSet","stringSet","replyType","dateLocale","voiceRecord","maxRecordingTime","VOICE_RECORDER_DEFAULT_MAX","minRecordingTime","VOICE_RECORDER_DEFAULT_MIN","userListQuery","imageCompression","allowProfileEdit","isMentionEnabled","isReactionEnabled","disableUserProfile","disableMarkAsDelivered","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","renderUserProfile","onUserProfileMessage","mediaQueryBreakPoint","logLevel","userMention","isREMUnitEnabled","setLogger","pubSub","sdkStore","useReducer","sdkReducers","sdkInitialState","userStore","userReducers","userInitialState","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","getStringSet","SendbirdSdkContext","Provider","value","stores","dispatchers","compressionRate","maxMentionCount","maxSuggestionCount","MediaQueryProvider","LocalizationProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SendbirdProvider.js","sources":["../../src/lib/hooks/useTheme.ts","../../src/lib/dux/sdk/actionTypes.ts","../../src/lib/dux/sdk/initialState.ts","../../src/lib/dux/sdk/reducers.ts","../../src/lib/dux/user/initialState.ts","../../src/lib/dux/user/reducers.ts","../../src/lib/hooks/useOnlineStatus.js","../../src/lib/UIKitConfigProvider/utils/snakeToCamel.ts","../../src/lib/UIKitConfigProvider/index.tsx","../../src/lib/hooks/useConnect/disconnectSdk.ts","../../src/lib/hooks/useConnect/setupConnection.ts","../../src/lib/hooks/useConnect/connect.ts","../../src/lib/hooks/useConnect/index.ts","../../src/lib/Logger/index.ts","../../src/lib/pubSub/index.ts","../../src/hooks/useAppendDomNode.js","../../src/lib/VoiceMessageProvider.tsx","../../src/lib/hooks/schedulerFactory.ts","../../src/hooks/useUnmount.ts","../../src/lib/hooks/useMarkAsReadScheduler.ts","../../src/lib/hooks/useMarkAsDeliveredScheduler.ts","../../src/lib/Sendbird.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n};\n\nconst useTheme = (overrides: Record<string, string>): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","import SendbirdChat from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const SDK_ACTIONS = {\n INIT_SDK: 'INIT_SDK',\n SET_SDK_LOADING: 'SET_SDK_LOADING',\n RESET_SDK: 'RESET_SDK',\n SDK_ERROR: 'SDK_ERROR',\n} as const;\n\ntype SDK_PAYLOAD_TYPES = {\n [SDK_ACTIONS.SET_SDK_LOADING]: boolean,\n [SDK_ACTIONS.INIT_SDK]: SendbirdChat,\n [SDK_ACTIONS.SDK_ERROR]: null,\n [SDK_ACTIONS.RESET_SDK]: null,\n};\n\nexport type SdkActionTypes = CreateAction<SDK_PAYLOAD_TYPES>;\n","import SendbirdChat from '@sendbird/chat';\n\nexport interface SdkStoreStateType {\n initialized: boolean;\n loading: boolean;\n sdk: SendbirdChat,\n error: boolean;\n}\n\nconst initialState: SdkStoreStateType = {\n initialized: false,\n loading: false,\n sdk: {} as SendbirdChat,\n error: false,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { SdkActionTypes, SDK_ACTIONS } from './actionTypes';\nimport initialState, { SdkStoreStateType } from './initialState';\n\nexport default function reducer(state: SdkStoreStateType, action: SdkActionTypes): SdkStoreStateType {\n return match(action)\n .with({ type: SDK_ACTIONS.SET_SDK_LOADING }, ({ payload }) => {\n return {\n ...state,\n initialized: false,\n loading: payload,\n };\n })\n .with({ type: SDK_ACTIONS.SDK_ERROR }, () => {\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n })\n .with({ type: SDK_ACTIONS.INIT_SDK }, ({ payload }) => {\n return {\n sdk: payload,\n initialized: true,\n loading: false,\n error: false,\n };\n })\n .with({ type: SDK_ACTIONS.RESET_SDK }, () => {\n return initialState;\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { User } from '@sendbird/chat';\n\nexport interface UserStoreStateType {\n initialized: boolean;\n loading: boolean;\n user: User;\n}\n\nconst initialState: UserStoreStateType = {\n initialized: false,\n loading: false,\n user: {} as User,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { UserActionTypes, USER_ACTIONS } from './actionTypes';\nimport initialState, { UserStoreStateType } from './initialState';\n\nexport default function reducer(state: UserStoreStateType, action: UserActionTypes): UserStoreStateType {\n return match(action)\n .with({ type: USER_ACTIONS.INIT_USER }, ({ payload }) => {\n return {\n initialized: true,\n loading: false,\n user: payload,\n };\n })\n .with({ type: USER_ACTIONS.RESET_USER }, () => {\n return initialState;\n })\n .with({ type: USER_ACTIONS.UPDATE_USER_INFO }, ({ payload }) => {\n return {\n ...state,\n user: payload,\n };\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { ConnectionHandler } from '@sendbird/chat';\nimport { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n try {\n logger.warning('sdk changed', uniqueHandlerId);\n const handler = new ConnectionHandler();\n handler.onDisconnected = () => {\n logger.warning('onDisconnected', { isOnline });\n };\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n // workaround -> addConnectionHandler invalidates session handler\n // provided through configureSession\n if (sdk?.addConnectionHandler) {\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n } catch {\n //\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.connectionState !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","type CamelCase<T> = T extends object\n ? {\n [K in keyof T as Uncapitalize<CamelCaseKey<K & string>>]: CamelCase<T[K]>;\n }\n : T;\n\ntype CamelCaseKey<K extends string> = K extends `${infer A}_${infer B}`\n ? `${Lowercase<A>}${Capitalize<CamelCaseKey<B & string>>}`\n : K;\n\nexport function snakeToCamel<T>(obj: T): CamelCase<T> {\n if (typeof obj !== 'object' || obj === null) {\n return obj as CamelCase<T>;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => snakeToCamel(item)) as CamelCase<T>;\n }\n\n const result = {} as CamelCase<T>;\n Object.keys(obj).forEach((key) => {\n const camelKey = key.replace(/_\\w/g, (m) => m[1].toUpperCase());\n result[camelKey] = snakeToCamel(obj[key]);\n });\n\n return result;\n}\n","import SendbirdChat from '@sendbird/chat';\nimport React, { useCallback, useState, createContext, useContext } from 'react';\n\nimport { snakeToCamel } from './utils/snakeToCamel';\nimport { DeepPartial } from './utils/types';\n\nimport { UIKitConfigInfo } from './types';\n\n// @link: https://docs.google.com/spreadsheets/d/1-AozBMHRYOXS74vZ-7x2ptQcBL6nnM-orJWRvUgmkd4/edit#gid=0\nconst initialConfig = {\n common: {\n enableUsingDefaultUserProfile: false,\n },\n groupChannel: {\n channel: {\n enableMention: false,\n enableOgtag: true,\n enableReactions: true,\n enableTypingIndicator: true,\n enableVoiceMessage: false,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n replyType: 'quote_reply',\n threadReplySelectType: 'thread',\n },\n channelList: {\n enableMessageReceiptStatus: false,\n enableTypingIndicator: false,\n },\n setting: {\n enableMessageSearch: false,\n },\n },\n openChannel: {\n channel: {\n enableOgtag: true,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n },\n },\n};\n\ninterface UIKitConfigContextInterface {\n initDashboardConfigs: (sdk: SendbirdChat) => Promise<void>;\n configs: UIKitConfigInfo;\n}\nconst UIKitConfigContext = createContext<UIKitConfigContextInterface>({\n initDashboardConfigs: () => Promise.resolve(),\n configs: initialConfig,\n});\n\ninterface UIKitConfigProviderProps {\n appConfigurations: DeepPartial<UIKitConfigInfo>;\n children: React.ReactElement;\n // If the storage value is not provided,\n // it'll fetch the new configs set by dashboard everytime\n storage?: any;\n}\n\nconst UIKitConfigProvider = ({ storage, children /* appConfigurations */ }: UIKitConfigProviderProps) => {\n // TODO: Implement\n // const localConfigs = mergeConfigs(initialConfig, mapToUIKItConfig(configurations));\n const [remoteConfigs, setRemoteConfigs] = useState(initialConfig);\n\n const initDashboardConfigs = useCallback(async (sdk: SendbirdChat) => {\n try {\n // TODO: Implement\n // const manager = new UIKitConfigStorageManager(storage)\n // const storedConfigs = await manager.init(sdk.appId);\n\n if (storage == null) {\n const payload = await sdk.getUIKitConfiguration().json;\n setRemoteConfigs(snakeToCamel(payload.uikit_configurations));\n }\n\n // TODO: Implement\n // Compare the sdk uikitConfig's lastUpdatedAt <-> stored one\n // if(sdk.appInfo.uikitConfigInfo.lastUpdatedAt === storedConfigs.lastUpdatedAt) {\n // setRemoteConfigs(storedConfigs);\n // } else {\n // const newConfigs = await sdk.getUIKitConfig();\n // const updatedConfigs = await manager.update(newConfigs);\n // setRemoteConfigs(updatedConfigs);\n // }\n } catch (error) {\n //\n }\n }, []);\n\n // TODO: Implement\n // const configs = getByPriority(localConfigs, remoteConfigs);\n const configs = remoteConfigs;\n\n return <UIKitConfigContext.Provider value={{ initDashboardConfigs, configs }}>{children}</UIKitConfigContext.Provider>;\n};\n\nconst useUIKitConfig = () => useContext(UIKitConfigContext);\n\nexport { UIKitConfigProvider, useUIKitConfig };\n","import { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { DisconnectSdkTypes } from './types';\n\nexport async function disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n}: DisconnectSdkTypes): Promise<boolean> {\n return new Promise((resolve) => {\n sdkDispatcher({ type: SDK_ACTIONS.SET_SDK_LOADING, payload: true });\n if (sdk?.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: SDK_ACTIONS.RESET_SDK });\n userDispatcher({ type: USER_ACTIONS.RESET_USER });\n })\n .finally(() => {\n resolve(true);\n });\n } else {\n resolve(true);\n }\n });\n}\n","import SendbirdChat, { SendbirdError, User } from '@sendbird/chat';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\n\nimport { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\n\nimport { isTextuallyNull } from '../../../utils';\n\nimport { SetupConnectionTypes } from './types';\n\nconst APP_VERSION_STRING = '__react_dev_mode__';\n\nconst { INIT_SDK, SET_SDK_LOADING, RESET_SDK, SDK_ERROR } = SDK_ACTIONS;\nconst { INIT_USER, UPDATE_USER_INFO, RESET_USER } = USER_ACTIONS;\n\nexport function getMissingParamError({ userId, appId }: { userId?: string, appId?: string }): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed UserId: ${userId} or appId: ${appId} missing`;\n}\nexport function getConnectSbError(error?: SendbirdError): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed. ${error?.code || ''} ${error?.message || ''}`;\n}\n\nexport function setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n}: {\n appId: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n}): SendbirdChat {\n const params = {\n appId,\n modules: [\n new GroupChannelModule(),\n new OpenChannelModule(),\n ],\n };\n if (customApiHost) {\n params['customApiHost'] = customApiHost;\n }\n if (customWebSocketHost) {\n params['customWebSocketHost'] = customWebSocketHost;\n }\n const newSdk = SendbirdChat.init(params);\n return newSdk;\n}\n\n// Steps\n// 1. Check if minimum userID/appID is provided\n// 1.a. If not, throw error > !reject\n// 1.b. If yes, continue\n// 2. Set up params with custom host if provided\n// 3. Set up session handler if provided\n// 4. Set up version\n// 5. Connect to Sendbird -> either using user ID or (user ID + access token)\n// 6. If connected, connectCbSucess\n// 6.a check if nickname is to be updated -> no > !resolve immediately\n// 6.b check if nickname is to be updated -> yes > update nickname > !resolve\n// 7. If not connected, connectCbError > !reject\nexport async function setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n}: SetupConnectionTypes): Promise<void> {\n return new Promise((resolve, reject) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/init', { userId, appId });\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n\n if (userId && appId) {\n const newSdk = setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n });\n\n if (configureSession && typeof configureSession === 'function') {\n const sessionHandler = configureSession(newSdk);\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);\n newSdk.setSessionHandler(sessionHandler);\n }\n\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/setVersion', { version: APP_VERSION_STRING });\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n\n const connectCbSucess = async (user: User) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n\n initDashboardConfigs(newSdk)\n .then(config => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration success', {\n config,\n });\n })\n .catch(error => {\n logger?.error?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration failed', {\n error,\n });\n });\n\n // use nickname/profileUrl if provided\n // or set userID as nickname\n if ((nickname !== user.nickname || profileUrl !== user.profileUrl)\n && !(isTextuallyNull(nickname) && isTextuallyNull(profileUrl))\n ) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {\n nickname,\n profileUrl,\n });\n newSdk.updateCurrentUserInfo({\n nickname: nickname || user.nickname,\n profileUrl: profileUrl || user.profileUrl,\n }).then((namedUser) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {\n nickname,\n profileUrl,\n });\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n }).finally(() => {\n resolve();\n });\n } else {\n resolve();\n }\n };\n\n const connectCbError = (e: SendbirdError) => {\n const errorMessage = getConnectSbError(e);\n logger?.error?.(errorMessage, {\n e,\n appId,\n userId,\n });\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n\n sdkDispatcher({ type: SDK_ERROR });\n // exit promise with error\n reject(errorMessage);\n };\n\n logger?.info?.(`SendbirdProvider | useConnect/setupConnection/connect connecting using ${accessToken ?? userId}`);\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n const errorMessage = getMissingParamError({ userId, appId });\n sdkDispatcher({ type: SDK_ERROR });\n logger?.error?.(errorMessage);\n // exit promise with error\n reject(errorMessage);\n }\n });\n}\n","import { disconnectSdk } from './disconnectSdk';\nimport { setUpConnection } from './setupConnection';\nimport { ConnectTypes } from './types';\n\nexport async function connect({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n}: ConnectTypes): Promise<void> {\n await disconnectSdk({\n logger,\n sdkDispatcher,\n userDispatcher,\n sdk,\n });\n await setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n });\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { useUIKitConfig } from '../../UIKitConfigProvider';\n\nimport { ReconnectType, StaticTypes, TriggerTypes } from './types';\nimport { connect } from './connect';\n\nexport default function useConnect(triggerTypes: TriggerTypes, staticTypes: StaticTypes): ReconnectType {\n const { userId, appId, accessToken } = triggerTypes;\n const {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n } = staticTypes;\n logger?.info?.('SendbirdProvider | useConnect', { ...triggerTypes, ...staticTypes });\n\n const { initDashboardConfigs } = useUIKitConfig();\n\n useEffect(() => {\n logger?.info?.('SendbirdProvider | useConnect/useEffect', { userId, appId, accessToken });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/useEffect', error);\n }\n }, [userId, appId, accessToken]);\n const reconnect = useCallback(() => {\n logger?.info?.('SendbirdProvider | useConnect/reconnect/useCallback', { sdk });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/reconnect/useCallback', error);\n }\n }, [sdk]);\n return reconnect;\n}\n","// Logger, pretty much explains it\n// in SendbirdProvider\n\nimport { ObjectValues } from '../../utils/typeHelpers/objectValues';\n\n// const [logger, setLogger] = useState(LoggerFactory(logLevel));\nexport const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n} as const;\nexport type LogLevel = ObjectValues<typeof LOG_LEVELS>;\n\nconst colorLog = (level: LogLevel): string => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\ninterface PrintLogProps {\n level: LogLevel;\n title: string;\n description?: string;\n}\nexport const printLog = ({\n level,\n title,\n description = '',\n}: PrintLogProps): void => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level), description,\n );\n};\n\ntype LoggerLogType = (title?: string, description?: string) => void;\ninterface LoggerInterface {\n info: LoggerLogType;\n error: LoggerLogType;\n warning: LoggerLogType;\n}\n\nconst noop = () => { /* noop */ };\nexport const getDefaultLogger = (): LoggerInterface => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\nexport const LoggerFactory = (\n lvl: LogLevel,\n customInterface?: () => void,\n): LoggerInterface => {\n const logInterface = customInterface || printLog;\n const lvlArray: Array<LogLevel> = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl: LogLevel) => (title?: string, description?: string) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n\n// TODO: Make this to hook, useLogger\n","// https://davidwalsh.name/pubsub-javascript\n// we use pubsub to sync events between multiple components(example - ChannelList, Channel)\n// for example, if customer sends a message from their custom component\n// without pubsub,we would not be able to listen to it\n// in our ChannelList or Conversation\n\ninterface PubSubTypes {\n __getTopics: () => Record<string, string>;\n subscribe: (topic: string, listener: unknown) => { remove: () => void };\n publish: (topic: string, info: unknown) => void;\n}\n\nconst pubSubFactory = (): PubSubTypes => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n\nexport default pubSubFactory;\n","import { useEffect } from 'react';\n\n/* eslint-disable default-param-last */\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","import React from 'react';\nimport { VoicePlayerProvider } from '../hooks/VoicePlayer';\nimport { VoiceRecorderProvider } from '../hooks/VoiceRecorder';\n\nexport interface VoiceMessageProviderProps {\n children: React.ReactElement;\n isVoiceMessageEnabled?: boolean;\n}\n\nexport const VoiceMessageProvider = ({\n children,\n isVoiceMessageEnabled = true,\n}: VoiceMessageProviderProps): React.ReactElement => {\n if (!isVoiceMessageEnabled) {\n return (\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n );\n }\n return (\n <VoiceRecorderProvider>\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n </VoiceRecorderProvider>\n );\n};\n\nexport default VoiceMessageProvider;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../SendbirdState';\n\nconst TIMEOUT = 2000;\n\n/*\n * This is a factory function that returns a scheduler.\n * The scheduler is a queue that calls the callback function on intervals.\n * If interval is empty, the callback function is called immediately.\n * If interval is not empty, the callback function is called after the interval.\n*/\nexport function schedulerFactory<T>({\n logger,\n timeout,\n cb,\n}: {\n logger: Logger;\n timeout?: number;\n cb: (item: T) => void;\n}) {\n let queue: GroupChannel[] = [];\n let interval: ReturnType<typeof setTimeout> | null = null;\n const push = (channel: GroupChannel) => {\n const channelPresent = queue.find((c) => c.url === channel.url);\n if (!channelPresent) {\n queue.push(channel);\n } else {\n logger.info('Channel: Mark as read already in queue', { channel });\n }\n // start the interval if it's not already running\n if (interval) {\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n interval = setInterval(() => {\n if (queue.length === 0 && interval) {\n clearInterval(interval);\n interval = null;\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n }, (timeout || TIMEOUT));\n };\n const clear = () => {\n queue = [];\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n };\n return {\n push,\n clear,\n getQueue: () => queue,\n };\n}\n","import { useLayoutEffect } from 'react';\n\n// this hook accepts a callback to run component is unmounted\nexport function useUnmount(callback: () => void) {\n useLayoutEffect(() => {\n return () => {\n callback();\n };\n }, []);\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsReadSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsReadScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsReadSchedulerType {\n const markAsReadScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsRead();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsReadScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsReadScheduler.clear(); });\n\n return markAsReadScheduler;\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsDeliveredSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsDeliveredScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsDeliveredSchedulerType {\n const markAsDeliveredScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsDelivered();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsDeliveredScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsDeliveredScheduler.clear(); });\n\n return markAsDeliveredScheduler;\n}\n","import './index.scss';\nimport './__experimental__typography.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport { User } from '@sendbird/chat';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\n\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\nimport useConnect from './hooks/useConnect';\nimport { LoggerFactory, LogLevel } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { UIKitConfigProvider } from './UIKitConfigProvider';\nimport { VoiceMessageProvider } from './VoiceMessageProvider';\nimport { LocalizationProvider } from './LocalizationContext';\nimport { MediaQueryProvider } from './MediaQueryContext';\nimport getStringSet from '../ui/Label/stringSet';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../utils/consts';\nimport { useMarkAsReadScheduler } from './hooks/useMarkAsReadScheduler';\nimport { useMarkAsDeliveredScheduler } from './hooks/useMarkAsDeliveredScheduler';\nimport { ConfigureSessionTypes } from './hooks/useConnect/types';\n\nexport type UserListQueryType = {\n hasNext?: boolean;\n next: () => Promise<Array<User>>;\n};\n\ninterface VoiceRecordOptions {\n maxRecordingTime?: number;\n minRecordingTime?: number;\n}\n\nexport interface ImageCompressionOptions {\n compressionRate?: number;\n resizingWidth?: number | string;\n resizingHeight?: number | string;\n}\n\nexport interface SendbirdConfig {\n logLevel?: string | Array<string>;\n pubSub?: () => void;// TODO: Define pubSub type and apply it here\n userMention?: {\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n };\n isREMUnitEnabled?: boolean;\n}\n\nexport interface SendbirdProviderProps {\n appId: string;\n userId: string;\n children: React.ReactElement;\n accessToken?: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n configureSession?: ConfigureSessionTypes;\n theme?: 'light' | 'dark';\n config?: SendbirdConfig;\n nickname?: string;\n colorSet?: Record<string, string>;\n stringSet?: Record<string, string>;\n replyType?: 'NONE' | 'QUOTE_REPLY' | 'THREAD';\n dateLocale?: Locale;\n profileUrl?: string;\n voiceRecord?: VoiceRecordOptions;\n userListQuery?: UserListQueryType;\n imageCompression?: ImageCompressionOptions;\n allowProfileEdit?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableUserProfile?: boolean;\n isVoiceMessageEnabled?: boolean;\n disableMarkAsDelivered?: boolean;\n isTypingIndicatorEnabledOnChannelList?: boolean;\n isMessageReceiptStatusEnabledOnChannelList?: boolean;\n renderUserProfile?: () => React.ReactElement;\n onUserProfileMessage?: () => void;\n}\n\nconst Sendbird = ({\n appId,\n userId,\n children,\n accessToken = '',\n customApiHost = '',\n customWebSocketHost = '',\n configureSession = null,\n theme = 'light',\n config = {},\n nickname = '',\n colorSet = null,\n stringSet = null,\n replyType = 'NONE',\n dateLocale = null,\n profileUrl = '',\n voiceRecord = { maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX, minRecordingTime: VOICE_RECORDER_DEFAULT_MIN },\n userListQuery = null,\n imageCompression = {},\n allowProfileEdit = false,\n isMentionEnabled = false,\n isReactionEnabled = true,\n disableUserProfile = false,\n isVoiceMessageEnabled = true,\n disableMarkAsDelivered = false,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n renderUserProfile = null,\n onUserProfileMessage = null,\n}: SendbirdProviderProps): React.ReactElement => {\n const mediaQueryBreakPoint = false;\n\n const {\n logLevel = '',\n userMention = {},\n isREMUnitEnabled = false,\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel as LogLevel));\n const [pubSub] = useState(pubSubFactory());\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n useTheme(colorSet);\n\n const reconnect = useConnect({\n appId,\n userId,\n accessToken,\n }, {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk: sdkStore?.sdk,\n sdkDispatcher,\n userDispatcher,\n });\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel as LogLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-experimental__rem__units');\n if (isREMUnitEnabled) {\n body.classList.add('sendbird-experimental__rem__units');\n }\n }, [isREMUnitEnabled]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const markAsReadScheduler = useMarkAsReadScheduler({ isConnected: isOnline }, { logger });\n const markAsDeliveredScheduler = useMarkAsDeliveredScheduler({ isConnected: isOnline }, { logger });\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n const uikitConfigurations = {\n // common.enable_using_default_user_profile\n disableUserProfile,\n // group_channel.enable_reactions\n isReactionEnabled,\n // group_channel.enable_mention\n isMentionEnabled: isMentionEnabled || false,\n // group_channel.enable_voice_message\n isVoiceMessageEnabled,\n // group_channel.reply_type\n replyType,\n // group_channel_list.enable_typing_indicator\n isTypingIndicatorEnabledOnChannelList,\n // group_channel_list.enable_message_receipt_status\n isMessageReceiptStatusEnabledOnChannelList,\n };\n return (\n <SendbirdSdkContext.Provider\n value={{\n stores: {\n sdkStore,\n userStore,\n },\n dispatchers: {\n sdkDispatcher,\n userDispatcher,\n reconnect,\n },\n config: {\n disableMarkAsDelivered,\n renderUserProfile,\n onUserProfileMessage,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression: {\n compressionRate: 0.7,\n ...imageCompression,\n },\n voiceRecord,\n userMention: {\n maxMentionCount: userMention?.maxMentionCount || 10,\n maxSuggestionCount: userMention?.maxSuggestionCount || 15,\n },\n markAsReadScheduler,\n markAsDeliveredScheduler,\n ...uikitConfigurations,\n },\n }}\n >\n <UIKitConfigProvider\n appConfigurations={{\n common: {\n enableUsingDefaultUserProfile: !uikitConfigurations.disableUserProfile,\n },\n groupChannel: {\n channel: {\n enableReactions: uikitConfigurations.isReactionEnabled,\n enableMention: uikitConfigurations.isMentionEnabled,\n enableVoiceMessage: uikitConfigurations.isVoiceMessageEnabled,\n /**\n * Since dashbord UIKit Configuration's replyType is consisted of all lowercase letters,\n * we convert it from here.\n * i.e. 'THREAD' -> 'thread'\n */\n replyType: uikitConfigurations.replyType.toLowerCase(),\n },\n channelList: {\n enableTypingIndicator: uikitConfigurations.isTypingIndicatorEnabledOnChannelList,\n enableMessageReceiptStatus: uikitConfigurations.isMessageReceiptStatusEnabledOnChannelList,\n },\n },\n }}\n >\n <MediaQueryProvider logger={logger} mediaQueryBreakPoint={mediaQueryBreakPoint}>\n <LocalizationProvider stringSet={localeStringSet} dateLocale={dateLocale}>\n <VoiceMessageProvider isVoiceMessageEnabled={isVoiceMessageEnabled}>\n {children}\n </VoiceMessageProvider>\n </LocalizationProvider>\n </MediaQueryProvider>\n </UIKitConfigProvider>\n </SendbirdSdkContext.Provider>\n );\n};\n\nexport default Sendbird;\n"],"names":["isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","_objectSpread","SDK_ACTIONS","INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","initialState","initialized","loading","sdk","error","reducer","state","action","match","with","type","_ref","payload","_ref2","otherwise","user","USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO","useConnectionStatus","logger","isOnline","setIsOnline","useState","useEffect","uniqueHandlerId","uuidv4","warning","handler","ConnectionHandler","onDisconnected","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","info","addConnectionHandler","_unused","removeConnectionHandler","_unused2","tryReconnect","connectionState","_unused3","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","e","remove","snakeToCamel","Array","isArray","map","item","result","Object","keys","forEach","key","camelKey","replace","m","toUpperCase","initialConfig","common","enableUsingDefaultUserProfile","groupChannel","channel","enableMention","enableOgtag","enableReactions","enableTypingIndicator","enableVoiceMessage","input","camera","enablePhoto","enableVideo","enableDocument","gallery","replyType","threadReplySelectType","channelList","enableMessageReceiptStatus","setting","enableMessageSearch","openChannel","UIKitConfigContext","createContext","initDashboardConfigs","Promise","resolve","configs","UIKitConfigProvider","storage","children","remoteConfigs","setRemoteConfigs","useCallback","getUIKitConfiguration","json","uikit_configurations","React","createElement","Provider","value","useUIKitConfig","useContext","disconnectSdk","sdkDispatcher","userDispatcher","disconnect","then","finally","APP_VERSION_STRING","getMissingParamError","userId","appId","getConnectSbError","code","message","setUpParams","customApiHost","customWebSocketHost","params","modules","GroupChannelModule","OpenChannelModule","newSdk","SendbirdChat","init","setUpConnection","_ref3","configureSession","nickname","profileUrl","accessToken","reject","_logger$info","call","_logger$info3","_logger$info8","_logger$info2","sessionHandler","setSessionHandler","version","addExtension","connectCbSucess","_logger$info4","config","_logger$info5","catch","_logger$error","isTextuallyNull","_logger$info6","updateCurrentUserInfo","namedUser","_logger$info7","connectCbError","_logger$error2","errorMessage","connect","res","err","_logger$error3","useConnect","triggerTypes","staticTypes","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","noop","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","applyLog","lgLvl","reduce","accumulator","currentLvl","pubSubFactory","topics","hOP","__getTopics","subscribe","topic","listener","index","push","publish","useAppendDomNode","ids","arguments","length","rootSelector","root","id","elem","setAttribute","appendChild","target","getElementById","removeChild","VoiceMessageProvider","isVoiceMessageEnabled","VoicePlayerProvider","VoiceRecorderProvider","TIMEOUT","schedulerFactory","timeout","cb","queue","interval","channelPresent","find","c","url","shift","setInterval","clearInterval","clear","getQueue","useUnmount","callback","useMarkAsReadScheduler","isConnected","markAsReadScheduler","useMemo","markAsRead","useMarkAsDeliveredScheduler","markAsDeliveredScheduler","markAsDelivered","Sendbird","theme","colorSet","stringSet","dateLocale","voiceRecord","maxRecordingTime","VOICE_RECORDER_DEFAULT_MAX","minRecordingTime","VOICE_RECORDER_DEFAULT_MIN","userListQuery","imageCompression","allowProfileEdit","isMentionEnabled","isReactionEnabled","disableUserProfile","disableMarkAsDelivered","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","renderUserProfile","onUserProfileMessage","mediaQueryBreakPoint","logLevel","userMention","isREMUnitEnabled","setLogger","pubSub","sdkStore","useReducer","sdkReducers","sdkInitialState","userStore","userReducers","userInitialState","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","getStringSet","uikitConfigurations","SendbirdSdkContext","stores","dispatchers","compressionRate","maxMentionCount","maxSuggestionCount","appConfigurations","toLowerCase","MediaQueryProvider","LocalizationProvider"],"mappings":"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"}
|