@sendbird/uikit-react 3.4.9-rc.0 → 3.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +47 -47
- package/Channel/components/ChannelHeader.js +18 -18
- package/Channel/components/ChannelUI.js +40 -40
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +35 -35
- package/Channel/components/MessageInput.js +27 -27
- package/Channel/components/MessageList.js +36 -36
- 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 +4 -4
- package/Channel/context.js +11 -11
- package/Channel.js +40 -40
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +29 -29
- 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-b42f8a70.js → ChannelListProvider-21425002.js} +7 -7
- package/{ChannelListProvider-b42f8a70.js.map → ChannelListProvider-21425002.js.map} +1 -1
- package/{ChannelProvider-6c5b02f1.js → ChannelProvider-910bbc1f.js} +10 -10
- package/{ChannelProvider-6c5b02f1.js.map → ChannelProvider-910bbc1f.js.map} +1 -1
- 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 +13 -13
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-4a0190ed.js → CreateChannelProvider-11c8b9a3.js} +1 -1
- package/{CreateChannelProvider-4a0190ed.js.map → CreateChannelProvider-11c8b9a3.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-8b7b48ec.js → LocalizationContext-076d6d2e.js} +3 -3
- package/{LocalizationContext-8b7b48ec.js.map → LocalizationContext-076d6d2e.js.map} +1 -1
- package/{MediaQueryContext-744e0eb4.js → MediaQueryContext-11f0e43f.js} +1 -1
- package/{MediaQueryContext-744e0eb4.js.map → MediaQueryContext-11f0e43f.js.map} +1 -1
- package/{MemberList-6e52b1b1.js → MemberList-061d186f.js} +5 -5
- package/{MemberList-6e52b1b1.js.map → MemberList-061d186f.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- 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-d99e3cd2.js → OpenChannelListProvider-426cfb39.js} +3 -3
- package/{OpenChannelListProvider-d99e3cd2.js.map → OpenChannelListProvider-426cfb39.js.map} +1 -1
- package/{OpenChannelProvider-4857158c.js → OpenChannelProvider-d3a850e3.js} +7 -7
- package/{OpenChannelProvider-4857158c.js.map → OpenChannelProvider-d3a850e3.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-38fef9c4.js → RemoveMessageModal-78e395ad.js} +3 -3
- package/{RemoveMessageModal-38fef9c4.js.map → RemoveMessageModal-78e395ad.js.map} +1 -1
- package/SendbirdProvider.js +12 -12
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +32 -32
- package/Thread/components/ParentMessageInfoItem.js +21 -21
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +35 -35
- package/Thread/components/ThreadListItem.js +35 -35
- package/Thread/components/ThreadMessageInput.js +28 -28
- package/Thread/components/ThreadUI.js +39 -39
- package/Thread/context.js +8 -8
- package/Thread.js +39 -39
- package/{ThreadProvider-637aa7f0.js → ThreadProvider-3a4a4db0.js} +7 -7
- package/{ThreadProvider-637aa7f0.js.map → ThreadProvider-3a4a4db0.js.map} +1 -1
- package/{UserProfileContext-9040499b.js → UserProfileContext-9cfbab4d.js} +1 -1
- package/{UserProfileContext-9040499b.js.map → UserProfileContext-9cfbab4d.js.map} +1 -1
- package/{VoiceMessageInputWrapper-f593346c.js → VoiceMessageInputWrapper-dc459df1.js} +7 -7
- package/{VoiceMessageInputWrapper-f593346c.js.map → VoiceMessageInputWrapper-dc459df1.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +3 -3
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{WebAudioUtils-904afd00.js → WebAudioUtils-6df19fcc.js} +1 -1
- package/{WebAudioUtils-904afd00.js.map → WebAudioUtils-6df19fcc.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-8c286a7c.js → _rollupPluginBabelHelpers-6bb0305c.js} +1 -1
- package/_rollupPluginBabelHelpers-6bb0305c.js.map +1 -0
- package/{actionTypes-bd8af98d.js → actionTypes-ce6caec1.js} +1 -1
- package/{actionTypes-bd8af98d.js.map → actionTypes-ce6caec1.js.map} +1 -1
- package/cjs/App.js +47 -47
- package/cjs/Channel/components/ChannelHeader.js +18 -18
- package/cjs/Channel/components/ChannelUI.js +40 -40
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +35 -35
- package/cjs/Channel/components/MessageInput.js +27 -27
- package/cjs/Channel/components/MessageList.js +36 -36
- 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 +4 -4
- package/cjs/Channel/context.js +11 -11
- package/cjs/Channel.js +40 -40
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +29 -29
- 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-2ea52e8f.js → ChannelListProvider-6f1b6689.js} +7 -7
- package/cjs/{ChannelListProvider-2ea52e8f.js.map → ChannelListProvider-6f1b6689.js.map} +1 -1
- package/cjs/{ChannelProvider-4057a4e6.js → ChannelProvider-da7b08a1.js} +10 -10
- package/cjs/{ChannelProvider-4057a4e6.js.map → ChannelProvider-da7b08a1.js.map} +1 -1
- 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 +13 -13
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-83cd1b9a.js → CreateChannelProvider-2f105a5c.js} +1 -1
- package/cjs/{CreateChannelProvider-83cd1b9a.js.map → CreateChannelProvider-2f105a5c.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-a7ac3575.js → LocalizationContext-df436a16.js} +3 -3
- package/cjs/{LocalizationContext-a7ac3575.js.map → LocalizationContext-df436a16.js.map} +1 -1
- package/cjs/{MediaQueryContext-f0b22fae.js → MediaQueryContext-f1e8fdbc.js} +1 -1
- package/cjs/{MediaQueryContext-f0b22fae.js.map → MediaQueryContext-f1e8fdbc.js.map} +1 -1
- package/cjs/{MemberList-d02103a5.js → MemberList-c886fbc9.js} +5 -5
- package/cjs/{MemberList-d02103a5.js.map → MemberList-c886fbc9.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/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-8c304b22.js → OpenChannelListProvider-b7914f1a.js} +3 -3
- package/cjs/{OpenChannelListProvider-8c304b22.js.map → OpenChannelListProvider-b7914f1a.js.map} +1 -1
- package/cjs/{OpenChannelProvider-ea1d6825.js → OpenChannelProvider-b431f910.js} +7 -7
- package/cjs/{OpenChannelProvider-ea1d6825.js.map → OpenChannelProvider-b431f910.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-95aeddfe.js → RemoveMessageModal-bcf3c6fe.js} +3 -3
- package/cjs/{RemoveMessageModal-95aeddfe.js.map → RemoveMessageModal-bcf3c6fe.js.map} +1 -1
- package/cjs/SendbirdProvider.js +12 -12
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +32 -32
- package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +35 -35
- package/cjs/Thread/components/ThreadListItem.js +35 -35
- package/cjs/Thread/components/ThreadMessageInput.js +28 -28
- package/cjs/Thread/components/ThreadUI.js +39 -39
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +39 -39
- package/cjs/{ThreadProvider-6a39fc92.js → ThreadProvider-654b9db0.js} +7 -7
- package/cjs/{ThreadProvider-6a39fc92.js.map → ThreadProvider-654b9db0.js.map} +1 -1
- package/cjs/{UserProfileContext-a026a307.js → UserProfileContext-0c255fa6.js} +1 -1
- package/cjs/{UserProfileContext-a026a307.js.map → UserProfileContext-0c255fa6.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-ab392692.js → VoiceMessageInputWrapper-2aaed45b.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-ab392692.js.map → VoiceMessageInputWrapper-2aaed45b.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +3 -3
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{WebAudioUtils-2196360d.js → WebAudioUtils-58f47b3f.js} +1 -1
- package/cjs/{WebAudioUtils-2196360d.js.map → WebAudioUtils-58f47b3f.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-af66a654.js → _rollupPluginBabelHelpers-5fad415d.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-5fad415d.js.map +1 -0
- package/cjs/{actionTypes-8348f508.js → actionTypes-6cbf2054.js} +1 -1
- package/cjs/{actionTypes-8348f508.js.map → actionTypes-6cbf2054.js.map} +1 -1
- package/cjs/{color-2ebe48ee.js → color-026d07a6.js} +1 -1
- package/cjs/{color-2ebe48ee.js.map → color-026d07a6.js.map} +1 -1
- package/cjs/{compareIds-d863dd50.js → compareIds-f064c47d.js} +1 -1
- package/cjs/{compareIds-d863dd50.js.map → compareIds-f064c47d.js.map} +1 -1
- package/cjs/{const-08ab2fdd.js → const-0a12bf51.js} +1 -1
- package/cjs/{const-08ab2fdd.js.map → const-0a12bf51.js.map} +1 -1
- package/cjs/{const-6414a39e.js → const-692d0039.js} +1 -1
- package/cjs/{const-6414a39e.js.map → const-692d0039.js.map} +1 -1
- package/cjs/{consts-083ada31.js → consts-25fc4351.js} +1 -1
- package/cjs/{consts-083ada31.js.map → consts-25fc4351.js.map} +1 -1
- package/cjs/{consts-78795eea.js → consts-297fdae1.js} +1 -1
- package/cjs/{consts-78795eea.js.map → consts-297fdae1.js.map} +1 -1
- package/cjs/{consts-3cb3a988.js → consts-2f667487.js} +1 -1
- package/cjs/{consts-3cb3a988.js.map → consts-2f667487.js.map} +1 -1
- package/cjs/{consts-eadce101.js → consts-f0dc64d0.js} +1 -1
- package/cjs/{consts-eadce101.js.map → consts-f0dc64d0.js.map} +1 -1
- package/cjs/{context-717f3cfa.js → context-ec9b8da1.js} +2 -2
- package/cjs/{context-717f3cfa.js.map → context-ec9b8da1.js.map} +1 -1
- package/cjs/dist/index.css +94 -94
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-77d2b6d3.js → index-0bd8e5f3.js} +6 -6
- package/cjs/{index-77d2b6d3.js.map → index-0bd8e5f3.js.map} +1 -1
- package/cjs/{index-0dad3b72.js → index-0f42efcf.js} +1 -1
- package/cjs/{index-0dad3b72.js.map → index-0f42efcf.js.map} +1 -1
- package/cjs/{index-b8d7e1e9.js → index-12ce8274.js} +3 -3
- package/cjs/{index-b8d7e1e9.js.map → index-12ce8274.js.map} +1 -1
- package/cjs/{index-8fb98e2d.js → index-162396f5.js} +3 -3
- package/cjs/{index-8fb98e2d.js.map → index-162396f5.js.map} +1 -1
- package/cjs/{index-793e52a7.js → index-21392a2e.js} +3 -3
- package/cjs/{index-793e52a7.js.map → index-21392a2e.js.map} +1 -1
- package/cjs/{index-05291303.js → index-33b67e46.js} +2 -2
- package/cjs/{index-05291303.js.map → index-33b67e46.js.map} +1 -1
- package/cjs/{index-5d3946d1.js → index-450be53e.js} +4 -4
- package/cjs/{index-5d3946d1.js.map → index-450be53e.js.map} +1 -1
- package/cjs/{index-9b389aa4.js → index-45cee454.js} +2 -2
- package/cjs/{index-9b389aa4.js.map → index-45cee454.js.map} +1 -1
- package/cjs/{index-4bfecbd3.js → index-4881e776.js} +6 -6
- package/cjs/{index-4bfecbd3.js.map → index-4881e776.js.map} +1 -1
- package/cjs/{index-00cb06de.js → index-606495e5.js} +5 -5
- package/cjs/{index-00cb06de.js.map → index-606495e5.js.map} +1 -1
- package/cjs/{index-564380b1.js → index-6e05ddef.js} +5 -5
- package/cjs/index-6e05ddef.js.map +1 -0
- package/cjs/{index-148f38a8.js → index-80fc14fe.js} +2 -2
- package/cjs/{index-148f38a8.js.map → index-80fc14fe.js.map} +1 -1
- package/cjs/{index-33b26fc7.js → index-9b38e167.js} +4 -4
- package/cjs/{index-33b26fc7.js.map → index-9b38e167.js.map} +1 -1
- package/cjs/{index-73f2b1ce.js → index-a715eaef.js} +2 -2
- package/cjs/{index-73f2b1ce.js.map → index-a715eaef.js.map} +1 -1
- package/cjs/{index-c2afb27d.js → index-bf4e62fb.js} +2 -2
- package/cjs/{index-c2afb27d.js.map → index-bf4e62fb.js.map} +1 -1
- package/cjs/{index-b6443976.js → index-c89616c9.js} +2 -2
- package/cjs/{index-b6443976.js.map → index-c89616c9.js.map} +1 -1
- package/cjs/{index-f70fcb3a.js → index-dd9bc361.js} +1 -1
- package/cjs/{index-f70fcb3a.js.map → index-dd9bc361.js.map} +1 -1
- package/cjs/index.js +51 -51
- package/cjs/{index.module-045566c2.js → index.module-e5552393.js} +1 -1
- package/cjs/{index.module-045566c2.js.map → index.module-e5552393.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-12caaa90.js → stringSet-d7f78de0.js} +1 -1
- package/cjs/{stringSet-12caaa90.js.map → stringSet-d7f78de0.js.map} +1 -1
- package/cjs/{tokenize-6d05ba0a.js → tokenize-595877b4.js} +2 -2
- package/cjs/{tokenize-6d05ba0a.js.map → tokenize-595877b4.js.map} +1 -1
- package/cjs/{topics-d00505e4.js → topics-2431bb78.js} +1 -1
- package/cjs/{topics-d00505e4.js.map → topics-2431bb78.js.map} +1 -1
- package/cjs/{types-0d699a7d.js → types-ef51254c.js} +1 -1
- package/cjs/{types-0d699a7d.js.map → types-ef51254c.js.map} +1 -1
- 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 +5 -5
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +13 -13
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- 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 +28 -28
- package/cjs/ui/MessageInput.js +12 -12
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +8 -8
- 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 +18 -18
- 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 +4 -4
- 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 +5 -5
- 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 +10 -10
- 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-ccb235e4.js → useDirtyGetMentions-cc7de01f.js} +1 -1
- package/cjs/{useDirtyGetMentions-ccb235e4.js.map → useDirtyGetMentions-cc7de01f.js.map} +1 -1
- package/cjs/{useLongPress-5df6f108.js → useLongPress-68ad7161.js} +3 -3
- package/cjs/{useLongPress-5df6f108.js.map → useLongPress-68ad7161.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-6436fe9d.js → utils-080f7835.js} +2 -2
- package/cjs/{utils-6436fe9d.js.map → utils-080f7835.js.map} +1 -1
- package/cjs/{utils-ddd1b029.js → utils-279e7553.js} +1 -1
- package/cjs/{utils-ddd1b029.js.map → utils-279e7553.js.map} +1 -1
- package/cjs/{utils-abf8a0cd.js → utils-53aa911b.js} +1 -1
- package/cjs/{utils-abf8a0cd.js.map → utils-53aa911b.js.map} +1 -1
- package/cjs/{utils-b812f859.js → utils-58e012fb.js} +1 -1
- package/cjs/{utils-b812f859.js.map → utils-58e012fb.js.map} +1 -1
- package/cjs/{uuid-cd931d55.js → uuid-2953f4dd.js} +1 -1
- package/cjs/{uuid-cd931d55.js.map → uuid-2953f4dd.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-be032457.js → color-879cc347.js} +1 -1
- package/{color-be032457.js.map → color-879cc347.js.map} +1 -1
- package/{compareIds-fa21456c.js → compareIds-defe2bb3.js} +1 -1
- package/{compareIds-fa21456c.js.map → compareIds-defe2bb3.js.map} +1 -1
- package/{const-71be96fe.js → const-221c6a89.js} +1 -1
- package/{const-71be96fe.js.map → const-221c6a89.js.map} +1 -1
- package/{const-48b39769.js → const-b3f02313.js} +1 -1
- package/{const-48b39769.js.map → const-b3f02313.js.map} +1 -1
- package/{consts-967162b2.js → consts-81544e52.js} +1 -1
- package/{consts-967162b2.js.map → consts-81544e52.js.map} +1 -1
- package/{consts-63e52cd8.js → consts-95d8566e.js} +1 -1
- package/{consts-63e52cd8.js.map → consts-95d8566e.js.map} +1 -1
- package/{consts-c4702413.js → consts-c41580ae.js} +1 -1
- package/{consts-c4702413.js.map → consts-c41580ae.js.map} +1 -1
- package/{consts-5cbd0257.js → consts-ff014656.js} +1 -1
- package/{consts-5cbd0257.js.map → consts-ff014656.js.map} +1 -1
- package/{context-70804470.js → context-63cbe5bd.js} +2 -2
- package/{context-70804470.js.map → context-63cbe5bd.js.map} +1 -1
- package/dist/index.css +94 -94
- package/dist/index.css.map +1 -1
- package/{index-29ec12d6.js → index-2c3e11ea.js} +4 -4
- package/{index-29ec12d6.js.map → index-2c3e11ea.js.map} +1 -1
- package/{index-c281a87e.js → index-306bc4ab.js} +3 -3
- package/{index-c281a87e.js.map → index-306bc4ab.js.map} +1 -1
- package/{index-a62f231a.js → index-38e61c64.js} +1 -1
- package/{index-a62f231a.js.map → index-38e61c64.js.map} +1 -1
- package/{index-c3176145.js → index-5c1b672d.js} +6 -6
- package/{index-c3176145.js.map → index-5c1b672d.js.map} +1 -1
- package/{index-8d2735b6.js → index-5c985608.js} +3 -3
- package/{index-8d2735b6.js.map → index-5c985608.js.map} +1 -1
- package/{index-c4af409f.js → index-63949de5.js} +2 -2
- package/{index-c4af409f.js.map → index-63949de5.js.map} +1 -1
- package/{index-f22b46c2.js → index-7cdd58b8.js} +2 -2
- package/{index-f22b46c2.js.map → index-7cdd58b8.js.map} +1 -1
- package/{index-2d3d2283.js → index-7eb65acf.js} +2 -2
- package/{index-2d3d2283.js.map → index-7eb65acf.js.map} +1 -1
- package/{index-617179bd.js → index-99aabd9e.js} +1 -1
- package/{index-617179bd.js.map → index-99aabd9e.js.map} +1 -1
- package/{index-2eaeb4c8.js → index-9e49ffe3.js} +2 -2
- package/{index-2eaeb4c8.js.map → index-9e49ffe3.js.map} +1 -1
- package/{index-de27e990.js → index-aca30408.js} +5 -5
- package/index-aca30408.js.map +1 -0
- package/{index-e307d0c3.js → index-cef1cfff.js} +3 -3
- package/{index-e307d0c3.js.map → index-cef1cfff.js.map} +1 -1
- package/{index-6ba87b2d.js → index-e6e562c5.js} +4 -4
- package/{index-6ba87b2d.js.map → index-e6e562c5.js.map} +1 -1
- package/{index-efb59270.js → index-eaf0d65b.js} +6 -6
- package/{index-efb59270.js.map → index-eaf0d65b.js.map} +1 -1
- package/{index-01c17da3.js → index-f7ec60a8.js} +2 -2
- package/{index-01c17da3.js.map → index-f7ec60a8.js.map} +1 -1
- package/{index-02d5e1f7.js → index-fb8a5bc3.js} +5 -5
- package/{index-02d5e1f7.js.map → index-fb8a5bc3.js.map} +1 -1
- package/{index-0872eca4.js → index-fe932783.js} +2 -2
- package/{index-0872eca4.js.map → index-fe932783.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +51 -51
- package/{index.module-3529d572.js → index.module-54d57ec3.js} +1 -1
- package/{index.module-3529d572.js.map → index.module-54d57ec3.js.map} +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-387833a3.js → stringSet-13bbd4a2.js} +1 -1
- package/{stringSet-387833a3.js.map → stringSet-13bbd4a2.js.map} +1 -1
- package/{tokenize-c2f4569f.js → tokenize-c40f2b57.js} +2 -2
- package/{tokenize-c2f4569f.js.map → tokenize-c40f2b57.js.map} +1 -1
- package/{topics-019712e5.js → topics-b2b77fb9.js} +1 -1
- package/{topics-019712e5.js.map → topics-b2b77fb9.js.map} +1 -1
- package/{types-34b09dae.js → types-4ff4177c.js} +1 -1
- package/{types-34b09dae.js.map → types-4ff4177c.js.map} +1 -1
- 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 +5 -5
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +13 -13
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- 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 +28 -28
- package/ui/MessageInput.js +12 -12
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +8 -8
- 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 +18 -18
- 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 +4 -4
- 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 +5 -5
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -10
- 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-a032c723.js → useDirtyGetMentions-aa730e2c.js} +1 -1
- package/{useDirtyGetMentions-a032c723.js.map → useDirtyGetMentions-aa730e2c.js.map} +1 -1
- package/{useLongPress-b803e920.js → useLongPress-1303953d.js} +3 -3
- package/{useLongPress-b803e920.js.map → useLongPress-1303953d.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-1d8ffd91.js → utils-30d3ca65.js} +2 -2
- package/{utils-1d8ffd91.js.map → utils-30d3ca65.js.map} +1 -1
- package/{utils-28a3bfad.js → utils-4bbbca2c.js} +1 -1
- package/{utils-28a3bfad.js.map → utils-4bbbca2c.js.map} +1 -1
- package/{utils-43d93f46.js → utils-a2009c36.js} +1 -1
- package/{utils-43d93f46.js.map → utils-a2009c36.js.map} +1 -1
- package/{utils-cb06f177.js → utils-d86ad6ab.js} +1 -1
- package/{utils-cb06f177.js.map → utils-d86ad6ab.js.map} +1 -1
- package/{uuid-295e6b8b.js → uuid-1adedf62.js} +1 -1
- package/{uuid-295e6b8b.js.map → uuid-1adedf62.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/_rollupPluginBabelHelpers-8c286a7c.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-af66a654.js.map +0 -1
- package/cjs/index-564380b1.js.map +0 -1
- package/index-de27e990.js.map +0 -1
package/SendbirdProvider.js.map
CHANGED
|
@@ -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/UIKitConfigProvider/utils/snakeToCamel.ts","../src/lib/UIKitConfigProvider/utils/types.ts","../src/lib/UIKitConfigProvider/utils/getConfigsByPriority.ts","../src/lib/UIKitConfigProvider/const/initialConfig.ts","../src/lib/UIKitConfigProvider/UIKitConfigStorageManager/index.ts","../src/lib/UIKitConfigProvider/index.tsx","../src/lib/VoiceMessageProvider.tsx","../src/lib/hooks/schedulerFactory.ts","../src/hooks/useUnmount.ts","../src/lib/hooks/useMarkAsReadScheduler.ts","../src/lib/hooks/useMarkAsDeliveredScheduler.ts","../src/lib/Sendbird.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n};\n\nconst useTheme = (overrides: Record<string, string>): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","import SendbirdChat from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const SDK_ACTIONS = {\n INIT_SDK: 'INIT_SDK',\n SET_SDK_LOADING: 'SET_SDK_LOADING',\n RESET_SDK: 'RESET_SDK',\n SDK_ERROR: 'SDK_ERROR',\n} as const;\n\ntype SDK_PAYLOAD_TYPES = {\n [SDK_ACTIONS.SET_SDK_LOADING]: boolean,\n [SDK_ACTIONS.INIT_SDK]: SendbirdChat,\n [SDK_ACTIONS.SDK_ERROR]: null,\n [SDK_ACTIONS.RESET_SDK]: null,\n};\n\nexport type SdkActionTypes = CreateAction<SDK_PAYLOAD_TYPES>;\n","import SendbirdChat from '@sendbird/chat';\n\nexport interface SdkStoreStateType {\n initialized: boolean;\n loading: boolean;\n sdk: SendbirdChat,\n error: boolean;\n}\n\nconst initialState: SdkStoreStateType = {\n initialized: false,\n loading: false,\n sdk: {} as SendbirdChat,\n error: false,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { SdkActionTypes, SDK_ACTIONS } from './actionTypes';\nimport initialState, { SdkStoreStateType } from './initialState';\n\nexport default function reducer(state: SdkStoreStateType, action: SdkActionTypes): SdkStoreStateType {\n return match(action)\n .with({ type: SDK_ACTIONS.SET_SDK_LOADING }, ({ payload }) => {\n return {\n ...state,\n initialized: false,\n loading: payload,\n };\n })\n .with({ type: SDK_ACTIONS.SDK_ERROR }, () => {\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n })\n .with({ type: SDK_ACTIONS.INIT_SDK }, ({ payload }) => {\n return {\n sdk: payload,\n initialized: true,\n loading: false,\n error: false,\n };\n })\n .with({ type: SDK_ACTIONS.RESET_SDK }, () => {\n return initialState;\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { User } from '@sendbird/chat';\n\nexport interface UserStoreStateType {\n initialized: boolean;\n loading: boolean;\n user: User;\n}\n\nconst initialState: UserStoreStateType = {\n initialized: false,\n loading: false,\n user: {} as User,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { UserActionTypes, USER_ACTIONS } from './actionTypes';\nimport initialState, { UserStoreStateType } from './initialState';\n\nexport default function reducer(state: UserStoreStateType, action: UserActionTypes): UserStoreStateType {\n return match(action)\n .with({ type: USER_ACTIONS.INIT_USER }, ({ payload }) => {\n return {\n initialized: true,\n loading: false,\n user: payload,\n };\n })\n .with({ type: USER_ACTIONS.RESET_USER }, () => {\n return initialState;\n })\n .with({ type: USER_ACTIONS.UPDATE_USER_INFO }, ({ payload }) => {\n return {\n ...state,\n user: payload,\n };\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { ConnectionHandler } from '@sendbird/chat';\nimport { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n try {\n logger.warning('sdk changed', uniqueHandlerId);\n const handler = new ConnectionHandler();\n handler.onDisconnected = () => {\n logger.warning('onDisconnected', { isOnline });\n };\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n // workaround -> addConnectionHandler invalidates session handler\n // provided through configureSession\n if (sdk?.addConnectionHandler) {\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n } catch {\n //\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.connectionState !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","import { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { DisconnectSdkTypes } from './types';\n\nexport async function disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n}: DisconnectSdkTypes): Promise<boolean> {\n return new Promise((resolve) => {\n sdkDispatcher({ type: SDK_ACTIONS.SET_SDK_LOADING, payload: true });\n if (sdk?.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: SDK_ACTIONS.RESET_SDK });\n userDispatcher({ type: USER_ACTIONS.RESET_USER });\n })\n .finally(() => {\n resolve(true);\n });\n } else {\n resolve(true);\n }\n });\n}\n","import SendbirdChat, { SendbirdError, User } from '@sendbird/chat';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\n\nimport { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\n\nimport { isTextuallyNull } from '../../../utils';\n\nimport { SetupConnectionTypes } from './types';\n\nconst APP_VERSION_STRING = '__react_dev_mode__';\n\nconst { INIT_SDK, SET_SDK_LOADING, RESET_SDK, SDK_ERROR } = SDK_ACTIONS;\nconst { INIT_USER, UPDATE_USER_INFO, RESET_USER } = USER_ACTIONS;\n\nexport function getMissingParamError({ userId, appId }: { userId?: string, appId?: string }): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed UserId: ${userId} or appId: ${appId} missing`;\n}\nexport function getConnectSbError(error?: SendbirdError): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed. ${error?.code || ''} ${error?.message || ''}`;\n}\n\nexport function setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n}: {\n appId: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n}): SendbirdChat {\n const params = {\n appId,\n modules: [\n new GroupChannelModule(),\n new OpenChannelModule(),\n ],\n };\n if (customApiHost) {\n params['customApiHost'] = customApiHost;\n }\n if (customWebSocketHost) {\n params['customWebSocketHost'] = customWebSocketHost;\n }\n const newSdk = SendbirdChat.init(params);\n return newSdk;\n}\n\n// Steps\n// 1. Check if minimum userID/appID is provided\n// 1.a. If not, throw error > !reject\n// 1.b. If yes, continue\n// 2. Set up params with custom host if provided\n// 3. Set up session handler if provided\n// 4. Set up version\n// 5. Connect to Sendbird -> either using user ID or (user ID + access token)\n// 6. If connected, connectCbSucess\n// 6.a check if nickname is to be updated -> no > !resolve immediately\n// 6.b check if nickname is to be updated -> yes > update nickname > !resolve\n// 7. If not connected, connectCbError > !reject\nexport async function setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n}: SetupConnectionTypes): Promise<void> {\n return new Promise((resolve, reject) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/init', { userId, appId });\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n\n if (userId && appId) {\n const newSdk = setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n });\n\n if (configureSession && typeof configureSession === 'function') {\n const sessionHandler = configureSession(newSdk);\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);\n newSdk.setSessionHandler(sessionHandler);\n }\n\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/setVersion', { version: APP_VERSION_STRING });\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n\n const connectCbSucess = async (user: User) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n\n initDashboardConfigs(newSdk)\n .then(config => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration success', {\n config,\n });\n })\n .catch(error => {\n logger?.error?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration failed', {\n error,\n });\n });\n\n // use nickname/profileUrl if provided\n // or set userID as nickname\n if ((nickname !== user.nickname || profileUrl !== user.profileUrl)\n && !(isTextuallyNull(nickname) && isTextuallyNull(profileUrl))\n ) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {\n nickname,\n profileUrl,\n });\n newSdk.updateCurrentUserInfo({\n nickname: nickname || user.nickname,\n profileUrl: profileUrl || user.profileUrl,\n }).then((namedUser) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {\n nickname,\n profileUrl,\n });\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n }).finally(() => {\n resolve();\n });\n } else {\n resolve();\n }\n };\n\n const connectCbError = (e: SendbirdError) => {\n const errorMessage = getConnectSbError(e);\n logger?.error?.(errorMessage, {\n e,\n appId,\n userId,\n });\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n\n sdkDispatcher({ type: SDK_ERROR });\n // exit promise with error\n reject(errorMessage);\n };\n\n logger?.info?.(`SendbirdProvider | useConnect/setupConnection/connect connecting using ${accessToken ?? userId}`);\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n const errorMessage = getMissingParamError({ userId, appId });\n sdkDispatcher({ type: SDK_ERROR });\n logger?.error?.(errorMessage);\n // exit promise with error\n reject(errorMessage);\n }\n });\n}\n","import { disconnectSdk } from './disconnectSdk';\nimport { setUpConnection } from './setupConnection';\nimport { ConnectTypes } from './types';\n\nexport async function connect({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n}: ConnectTypes): Promise<void> {\n await disconnectSdk({\n logger,\n sdkDispatcher,\n userDispatcher,\n sdk,\n });\n await setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n });\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { ReconnectType, StaticTypes, TriggerTypes } from './types';\nimport { connect } from './connect';\n\nexport default function useConnect(triggerTypes: TriggerTypes, staticTypes: StaticTypes): ReconnectType {\n const { userId, appId, accessToken } = triggerTypes;\n const {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n } = staticTypes;\n logger?.info?.('SendbirdProvider | useConnect', { ...triggerTypes, ...staticTypes });\n\n useEffect(() => {\n logger?.info?.('SendbirdProvider | useConnect/useEffect', { userId, appId, accessToken });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/useEffect', error);\n }\n }, [userId, appId, accessToken]);\n const reconnect = useCallback(() => {\n logger?.info?.('SendbirdProvider | useConnect/reconnect/useCallback', { sdk });\n\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/reconnect/useCallback', error);\n }\n }, [sdk]);\n return reconnect;\n}\n","// Logger, pretty much explains it\n// in SendbirdProvider\n\nimport { ObjectValues } from '../../utils/typeHelpers/objectValues';\n\n// const [logger, setLogger] = useState(LoggerFactory(logLevel));\nexport const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n} as const;\nexport type LogLevel = ObjectValues<typeof LOG_LEVELS>;\n\nconst colorLog = (level: LogLevel): string => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\ninterface PrintLogProps {\n level: LogLevel;\n title: string;\n description?: string;\n}\nexport const printLog = ({\n level,\n title,\n description = '',\n}: PrintLogProps): void => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level), description,\n );\n};\n\ntype LoggerLogType = (title?: string, description?: string) => void;\ninterface LoggerInterface {\n info: LoggerLogType;\n error: LoggerLogType;\n warning: LoggerLogType;\n}\n\nconst noop = () => { /* noop */ };\nexport const getDefaultLogger = (): LoggerInterface => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\nexport const LoggerFactory = (\n lvl: LogLevel,\n customInterface?: () => void,\n): LoggerInterface => {\n const logInterface = customInterface || printLog;\n const lvlArray: Array<LogLevel> = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl: LogLevel) => (title?: string, description?: string) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n\n// TODO: Make this to hook, useLogger\n","// https://davidwalsh.name/pubsub-javascript\n// we use pubsub to sync events between multiple components(example - ChannelList, Channel)\n// for example, if customer sends a message from their custom component\n// without pubsub,we would not be able to listen to it\n// in our ChannelList or Conversation\n\ninterface PubSubTypes {\n __getTopics: () => Record<string, string>;\n subscribe: (topic: string, listener: unknown) => { remove: () => void };\n publish: (topic: string, info: unknown) => void;\n}\n\nconst pubSubFactory = (): PubSubTypes => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n\nexport default pubSubFactory;\n","import { useEffect } from 'react';\n\n/* eslint-disable default-param-last */\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","type CamelCase<T> = T extends object\n ? {\n [K in keyof T as Uncapitalize<CamelCaseKey<K & string>>]: CamelCase<T[K]>;\n }\n : T;\n\ntype CamelCaseKey<K extends string> = K extends `${infer A}_${infer B}`\n ? `${Lowercase<A>}${Capitalize<CamelCaseKey<B & string>>}`\n : K;\n\nexport function snakeToCamel<T>(obj: T): CamelCase<T> {\n if (typeof obj !== 'object' || obj === null) {\n return obj as CamelCase<T>;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => snakeToCamel(item)) as CamelCase<T>;\n }\n\n const result = {} as CamelCase<T>;\n Object.keys(obj).forEach((key) => {\n const camelKey = key.replace(/_\\w/g, (m) => m[1].toUpperCase());\n result[camelKey] = snakeToCamel(obj[key]);\n });\n\n return result;\n}\n","// @link https://gist.github.com/navix/6c25c15e0a2d3cd0e5bce999e0086fc9\n/* eslint-disable @typescript-eslint/ban-types */\nexport type DeepPartial<T> = T extends Function\n ? T\n : (T extends object ? { [P in keyof T]?: DeepPartial<T[P]>; } : T);\n\nexport function isSameType<T, U>(a: T, b: U): boolean {\n // we do this cause typeof can't differenciate object/ array/ null\n return Object.prototype.toString.call(a) === Object.prototype.toString.call(b);\n}\n","import { DeepPartial, isSameType } from './types';\nimport { UIKitConfigInfo } from '../types';\n\n/**\n * @param localConfigs Set directly in code level. It has higher priority than remote ones\n * @param remoteConfigs Set by Feature Config setting in Dashboard\n * @returns\n */\nexport default function getConfigsByPriority(localConfigs: DeepPartial<UIKitConfigInfo>, remoteConfigs: UIKitConfigInfo): UIKitConfigInfo {\n const prioritizedConfigs = { ...remoteConfigs }; // copy remoteConfigs to prevent mutation\n\n Object.keys(localConfigs).forEach(key => {\n if (prioritizedConfigs.hasOwnProperty(key) && isSameType(localConfigs[key], prioritizedConfigs[key])) {\n prioritizedConfigs[key] = typeof localConfigs[key] === 'object'\n // Recursively call getConfigsByPriority only when the value of the key is Object\n ? getConfigsByPriority(localConfigs[key], prioritizedConfigs[key])\n : localConfigs[key];\n }\n });\n\n return prioritizedConfigs;\n}\n","import { UIKitConfigInfo } from '../types';\n\n// @link: https://docs.google.com/spreadsheets/d/1-AozBMHRYOXS74vZ-7x2ptQcBL6nnM-orJWRvUgmkd4/edit#gid=0\nconst initialConfig: UIKitConfigInfo = {\n common: {\n enableUsingDefaultUserProfile: false,\n },\n groupChannel: {\n channel: {\n enableMention: false,\n enableOgtag: true,\n enableReactions: true,\n enableTypingIndicator: true,\n enableVoiceMessage: false,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n replyType: 'quote_reply',\n threadReplySelectType: 'thread',\n },\n channelList: {\n enableMessageReceiptStatus: false,\n enableTypingIndicator: false,\n },\n setting: {\n enableMessageSearch: false,\n },\n },\n openChannel: {\n channel: {\n enableOgtag: true,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n },\n },\n};\n\nexport default initialConfig;\n","import { UIKitConfigPayload } from '../types';\nimport mergeConfigs from '../utils/getConfigsByPriority';\nimport initialConfig from '../const/initialConfig';\n\nexport interface StorageInterface {\n getItem(key: string): Promise<null|string>;\n setItem(key: string, value: string): Promise<void>;\n}\n\nexport class UIKitConfigStorageManager {\n key: string;\n\n storage: StorageInterface;\n\n constructor(storage: StorageInterface) {\n this.storage = storage;\n }\n\n init(appId: string) {\n this.key = `sbu@${appId}.uikitConfiguration`;\n return this.get();\n }\n\n async update(payload: UIKitConfigPayload) {\n const storedConfig = await this.get();\n const mergedConfig = {\n lastUpdatedAt: payload.lastUpdatedAt,\n uikitConfigurations: mergeConfigs(payload?.uikitConfigurations, storedConfig?.uikitConfigurations),\n };\n await this.storage.setItem(this.key, JSON.stringify(mergedConfig));\n return mergedConfig;\n }\n\n async get(): Promise<UIKitConfigPayload> {\n const initialPayload = {\n lastUpdatedAt: 0,\n uikitConfigurations: initialConfig,\n };\n try {\n const storedConfig = await this.storage.getItem(this.key);\n if (storedConfig) {\n // TODO: Validation\n return JSON.parse(storedConfig);\n } else {\n return initialPayload;\n }\n } catch {\n return initialPayload;\n }\n }\n}\n","import SendbirdChat from '@sendbird/chat';\nimport React, { useCallback, useState, createContext, useContext } from 'react';\n\nimport { snakeToCamel } from './utils/snakeToCamel';\nimport { DeepPartial } from './utils/types';\n\nimport getConfigsByPriority from './utils/getConfigsByPriority';\n\nimport { UIKitConfigInfo } from './types';\nimport initialConfig from './const/initialConfig';\nimport { UIKitConfigStorageManager, type StorageInterface } from './UIKitConfigStorageManager';\n\ninterface UIKitConfigContextInterface {\n initDashboardConfigs: (sdk: SendbirdChat) => Promise<void>;\n configs: UIKitConfigInfo;\n}\nconst UIKitConfigContext = createContext<UIKitConfigContextInterface>({\n initDashboardConfigs: () => Promise.resolve(),\n configs: initialConfig,\n});\n\ninterface UIKitConfigProviderProps {\n // Configurations set by code level\n localConfigs: DeepPartial<UIKitConfigInfo>;\n children: React.ReactElement;\n // If the storage value is not provided,\n // it'll fetch the new configs set by dashboard everytime\n storage?: StorageInterface;\n}\n\nconst UIKitConfigProvider = ({ storage, children, localConfigs }: UIKitConfigProviderProps) => {\n // Set by Feature Config setting in Dashboard\n const [remoteConfigs, setRemoteConfigs] = useState<UIKitConfigInfo>(initialConfig);\n\n const initDashboardConfigs = useCallback(async (sdk: SendbirdChat) => {\n try {\n if (storage == null) {\n const payload = await sdk.getUIKitConfiguration();\n setRemoteConfigs(snakeToCamel(payload.json.uikit_configurations));\n return;\n }\n\n // Compare the sdk uikitConfig's lastUpdatedAt <-> stored one\n const manager = new UIKitConfigStorageManager(storage);\n const storedConfigs = await manager.init(sdk.appId);\n\n if (sdk.appInfo.uikitConfigInfo.lastUpdatedAt === storedConfigs.lastUpdatedAt) {\n setRemoteConfigs(storedConfigs.uikitConfigurations);\n } else {\n const payload = await sdk.getUIKitConfiguration();\n const updatedPayloed = await manager.update(snakeToCamel(payload.json));\n setRemoteConfigs(updatedPayloed.uikitConfigurations);\n }\n } catch (error) {\n //\n }\n }, []);\n\n const configs = getConfigsByPriority(localConfigs, remoteConfigs);\n\n return <UIKitConfigContext.Provider value={{\n initDashboardConfigs,\n configs,\n }}>{children}</UIKitConfigContext.Provider>;\n};\n\nconst useUIKitConfig = () => useContext(UIKitConfigContext);\n\nexport { UIKitConfigProvider, useUIKitConfig };\n","import React from 'react';\nimport { VoicePlayerProvider } from '../hooks/VoicePlayer';\nimport { VoiceRecorderProvider } from '../hooks/VoiceRecorder';\n\nexport interface VoiceMessageProviderProps {\n children: React.ReactElement;\n isVoiceMessageEnabled?: boolean;\n}\n\nexport const VoiceMessageProvider = ({\n children,\n isVoiceMessageEnabled = true,\n}: VoiceMessageProviderProps): React.ReactElement => {\n if (!isVoiceMessageEnabled) {\n return (\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n );\n }\n return (\n <VoiceRecorderProvider>\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n </VoiceRecorderProvider>\n );\n};\n\nexport default VoiceMessageProvider;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../SendbirdState';\n\nconst TIMEOUT = 2000;\n\n/*\n * This is a factory function that returns a scheduler.\n * The scheduler is a queue that calls the callback function on intervals.\n * If interval is empty, the callback function is called immediately.\n * If interval is not empty, the callback function is called after the interval.\n*/\nexport function schedulerFactory<T>({\n logger,\n timeout,\n cb,\n}: {\n logger: Logger;\n timeout?: number;\n cb: (item: T) => void;\n}) {\n let queue: GroupChannel[] = [];\n let interval: ReturnType<typeof setTimeout> | null = null;\n const push = (channel: GroupChannel) => {\n const channelPresent = queue.find((c) => c.url === channel.url);\n if (!channelPresent) {\n queue.push(channel);\n } else {\n logger.info('Channel: Mark as read already in queue', { channel });\n }\n // start the interval if it's not already running\n if (interval) {\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n interval = setInterval(() => {\n if (queue.length === 0 && interval) {\n clearInterval(interval);\n interval = null;\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n }, (timeout || TIMEOUT));\n };\n const clear = () => {\n queue = [];\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n };\n return {\n push,\n clear,\n getQueue: () => queue,\n };\n}\n","import { useLayoutEffect } from 'react';\n\n// this hook accepts a callback to run component is unmounted\nexport function useUnmount(callback: () => void) {\n useLayoutEffect(() => {\n return () => {\n callback();\n };\n }, []);\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsReadSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsReadScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsReadSchedulerType {\n const markAsReadScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsRead();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsReadScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsReadScheduler.clear(); });\n\n return markAsReadScheduler;\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsDeliveredSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsDeliveredScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsDeliveredSchedulerType {\n const markAsDeliveredScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsDelivered();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsDeliveredScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsDeliveredScheduler.clear(); });\n\n return markAsDeliveredScheduler;\n}\n","import './index.scss';\nimport './__experimental__typography.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport { User } from '@sendbird/chat';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\n\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\nimport useConnect from './hooks/useConnect';\nimport { LoggerFactory, LogLevel } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { UIKitConfigProvider, useUIKitConfig } from './UIKitConfigProvider';\nimport { VoiceMessageProvider } from './VoiceMessageProvider';\nimport { LocalizationProvider } from './LocalizationContext';\nimport { MediaQueryProvider } from './MediaQueryContext';\nimport getStringSet from '../ui/Label/stringSet';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../utils/consts';\nimport { useMarkAsReadScheduler } from './hooks/useMarkAsReadScheduler';\nimport { ConfigureSessionTypes } from './hooks/useConnect/types';\nimport { useMarkAsDeliveredScheduler } from './hooks/useMarkAsDeliveredScheduler';\n\nexport type UserListQueryType = {\n hasNext?: boolean;\n next: () => Promise<Array<User>>;\n};\n\ninterface VoiceRecordOptions {\n maxRecordingTime?: number;\n minRecordingTime?: number;\n}\n\nexport interface ImageCompressionOptions {\n compressionRate?: number;\n resizingWidth?: number | string;\n resizingHeight?: number | string;\n}\n\nexport interface SendbirdConfig {\n logLevel?: string | Array<string>;\n pubSub?: () => void;// TODO: Define pubSub type and apply it here\n userMention?: {\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n };\n isREMUnitEnabled?: boolean;\n}\n\ninterface CommonUIKitConfigProps {\n replyType?: 'NONE' | 'QUOTE_REPLY' | 'THREAD';\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableUserProfile?: boolean;\n isVoiceMessageEnabled?: boolean;\n isTypingIndicatorEnabledOnChannelList?: boolean;\n isMessageReceiptStatusEnabledOnChannelList?: boolean;\n}\nexport interface SendbirdProviderProps extends CommonUIKitConfigProps {\n appId: string;\n userId: string;\n children: React.ReactElement;\n accessToken?: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n configureSession?: ConfigureSessionTypes;\n theme?: 'light' | 'dark';\n config?: SendbirdConfig;\n nickname?: string;\n colorSet?: Record<string, string>;\n stringSet?: Record<string, string>;\n dateLocale?: Locale;\n profileUrl?: string;\n voiceRecord?: VoiceRecordOptions;\n userListQuery?: UserListQueryType;\n imageCompression?: ImageCompressionOptions;\n allowProfileEdit?: boolean;\n disableMarkAsDelivered?: boolean;\n renderUserProfile?: () => React.ReactElement;\n onUserProfileMessage?: () => void;\n}\n\nfunction Sendbird(props: SendbirdProviderProps) {\n const {\n replyType = 'NONE',\n isMentionEnabled = false,\n isReactionEnabled = true,\n disableUserProfile = false,\n isVoiceMessageEnabled = true,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = props;\n\n return (\n <UIKitConfigProvider\n localConfigs={{\n common: {\n enableUsingDefaultUserProfile: !disableUserProfile,\n },\n groupChannel: {\n channel: {\n enableReactions: isReactionEnabled,\n enableMention: isMentionEnabled,\n enableVoiceMessage: isVoiceMessageEnabled,\n /**\n * Since dashbord UIKit Configuration's replyType is consisted of all lowercase letters,\n * we convert it from here.\n * i.e. 'THREAD' -> 'thread'\n */\n replyType: replyType.toLowerCase(),\n },\n channelList: {\n enableTypingIndicator: isTypingIndicatorEnabledOnChannelList,\n enableMessageReceiptStatus: isMessageReceiptStatusEnabledOnChannelList,\n },\n },\n }}\n >\n <SendbirdSDK {...props} />\n </UIKitConfigProvider>\n );\n}\nconst SendbirdSDK = ({\n appId,\n userId,\n children,\n accessToken = '',\n customApiHost = '',\n customWebSocketHost = '',\n configureSession = null,\n theme = 'light',\n config = {},\n nickname = '',\n colorSet = null,\n stringSet = null,\n dateLocale = null,\n profileUrl = '',\n voiceRecord = { maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX, minRecordingTime: VOICE_RECORDER_DEFAULT_MIN },\n userListQuery = null,\n imageCompression = {},\n allowProfileEdit = false,\n disableMarkAsDelivered = false,\n renderUserProfile = null,\n onUserProfileMessage = null,\n}: SendbirdProviderProps): React.ReactElement => {\n const breakpoint = false;\n\n const {\n logLevel = '',\n userMention = {},\n isREMUnitEnabled = false,\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel as LogLevel));\n const [pubSub] = useState(pubSubFactory());\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n const { configs, initDashboardConfigs } = useUIKitConfig();\n\n useTheme(colorSet);\n\n const reconnect = useConnect({\n appId,\n userId,\n accessToken,\n }, {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk: sdkStore?.sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel as LogLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-experimental__rem__units');\n if (isREMUnitEnabled) {\n body.classList.add('sendbird-experimental__rem__units');\n }\n }, [isREMUnitEnabled]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const markAsReadScheduler = useMarkAsReadScheduler({ isConnected: isOnline }, { logger });\n const markAsDeliveredScheduler = useMarkAsDeliveredScheduler({ isConnected: isOnline }, { logger });\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n <SendbirdSdkContext.Provider\n value={{\n stores: {\n sdkStore,\n userStore,\n },\n dispatchers: {\n sdkDispatcher,\n userDispatcher,\n reconnect,\n },\n config: {\n disableMarkAsDelivered,\n renderUserProfile,\n onUserProfileMessage,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression: {\n compressionRate: 0.7,\n ...imageCompression,\n },\n voiceRecord,\n userMention: {\n maxMentionCount: userMention?.maxMentionCount || 10,\n maxSuggestionCount: userMention?.maxSuggestionCount || 15,\n },\n markAsReadScheduler,\n markAsDeliveredScheduler,\n // From UIKitConfigProvider.localConfigs\n disableUserProfile:\n !configs.common.enableUsingDefaultUserProfile,\n isReactionEnabled:\n configs.groupChannel.channel.enableReactions,\n isMentionEnabled:\n configs.groupChannel.channel.enableMention,\n isVoiceMessageEnabled:\n configs.groupChannel.channel.enableVoiceMessage,\n replyType:\n /**\n * Since UIKitConfigContext's replyType is consisted of all lowercase letters,\n * we need to convert it into all uppercase ones like\n * - 'thread' -> 'THREAD'\n * - 'quote_reply' -> 'QUOTE_REPLY'\n */\n configs.groupChannel.channel.replyType.toUpperCase(),\n isTypingIndicatorEnabledOnChannelList:\n configs.groupChannel.channelList.enableTypingIndicator,\n isMessageReceiptStatusEnabledOnChannelList:\n configs.groupChannel.channelList.enableMessageReceiptStatus,\n // TODO(Ahyoung): add more configs from UIKitConfigProvider.remoteConfigs\n },\n }}\n >\n <MediaQueryProvider logger={logger} breakpoint={breakpoint}>\n <LocalizationProvider stringSet={localeStringSet} dateLocale={dateLocale}>\n <VoiceMessageProvider isVoiceMessageEnabled={configs.groupChannel.channel.enableVoiceMessage}>\n {children}\n </VoiceMessageProvider>\n </LocalizationProvider>\n </MediaQueryProvider>\n </SendbirdSdkContext.Provider>\n );\n};\n\nexport default Sendbird;\n"],"names":["isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","_objectSpread","SDK_ACTIONS","INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","initialState","initialized","loading","sdk","error","reducer","state","action","match","with","type","_ref","payload","_ref2","otherwise","user","USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO","useConnectionStatus","logger","isOnline","setIsOnline","useState","useEffect","uniqueHandlerId","uuidv4","warning","handler","ConnectionHandler","onDisconnected","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","info","addConnectionHandler","_unused","removeConnectionHandler","_unused2","tryReconnect","connectionState","_unused3","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","e","remove","disconnectSdk","sdkDispatcher","userDispatcher","Promise","resolve","disconnect","then","finally","APP_VERSION_STRING","getMissingParamError","userId","appId","getConnectSbError","code","message","setUpParams","customApiHost","customWebSocketHost","params","modules","GroupChannelModule","OpenChannelModule","newSdk","SendbirdChat","init","setUpConnection","_ref3","initDashboardConfigs","configureSession","nickname","profileUrl","accessToken","reject","_logger$info","call","_logger$info3","_logger$info8","_logger$info2","sessionHandler","setSessionHandler","version","addExtension","connectCbSucess","_logger$info4","config","_logger$info5","catch","_logger$error","isTextuallyNull","_logger$info6","updateCurrentUserInfo","namedUser","_logger$info7","connectCbError","_logger$error2","errorMessage","connect","res","err","_logger$error3","useConnect","triggerTypes","staticTypes","useCallback","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","noop","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","pubSubFactory","topics","hOP","__getTopics","subscribe","topic","listener","index","push","publish","forEach","item","useAppendDomNode","ids","arguments","length","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","snakeToCamel","map","result","Object","keys","key","camelKey","replace","m","toUpperCase","isSameType","a","b","prototype","toString","getConfigsByPriority","localConfigs","remoteConfigs","prioritizedConfigs","initialConfig","common","enableUsingDefaultUserProfile","groupChannel","channel","enableMention","enableOgtag","enableReactions","enableTypingIndicator","enableVoiceMessage","input","camera","enablePhoto","enableVideo","enableDocument","gallery","replyType","threadReplySelectType","channelList","enableMessageReceiptStatus","setting","enableMessageSearch","openChannel","UIKitConfigStorageManager","constructor","storage","_defineProperty","get","update","storedConfig","mergedConfig","lastUpdatedAt","uikitConfigurations","mergeConfigs","setItem","initialPayload","getItem","parse","UIKitConfigContext","createContext","configs","UIKitConfigProvider","children","setRemoteConfigs","getUIKitConfiguration","json","uikit_configurations","manager","storedConfigs","appInfo","uikitConfigInfo","updatedPayloed","React","Provider","value","useUIKitConfig","useContext","VoiceMessageProvider","isVoiceMessageEnabled","VoicePlayerProvider","VoiceRecorderProvider","TIMEOUT","schedulerFactory","timeout","cb","queue","interval","channelPresent","find","c","url","shift","setInterval","clearInterval","clear","getQueue","useUnmount","callback","useMarkAsReadScheduler","isConnected","markAsReadScheduler","useMemo","markAsRead","useMarkAsDeliveredScheduler","markAsDeliveredScheduler","markAsDelivered","Sendbird","props","isMentionEnabled","isReactionEnabled","disableUserProfile","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","toLowerCase","SendbirdSDK","theme","colorSet","stringSet","dateLocale","voiceRecord","maxRecordingTime","VOICE_RECORDER_DEFAULT_MAX","minRecordingTime","VOICE_RECORDER_DEFAULT_MIN","userListQuery","imageCompression","allowProfileEdit","disableMarkAsDelivered","renderUserProfile","onUserProfileMessage","breakpoint","logLevel","userMention","isREMUnitEnabled","setLogger","pubSub","sdkStore","useReducer","sdkReducers","sdkInitialState","userStore","userReducers","userInitialState","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","getStringSet","SendbirdSdkContext","stores","dispatchers","compressionRate","maxMentionCount","maxSuggestionCount","MediaQueryProvider","LocalizationProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SendbirdProvider.js","sources":["../src/lib/hooks/useTheme.ts","../src/lib/dux/sdk/actionTypes.ts","../src/lib/dux/sdk/initialState.ts","../src/lib/dux/sdk/reducers.ts","../src/lib/dux/user/initialState.ts","../src/lib/dux/user/reducers.ts","../src/lib/hooks/useOnlineStatus.js","../src/lib/hooks/useConnect/disconnectSdk.ts","../src/lib/hooks/useConnect/setupConnection.ts","../src/lib/hooks/useConnect/connect.ts","../src/lib/hooks/useConnect/index.ts","../src/lib/Logger/index.ts","../src/lib/pubSub/index.ts","../src/hooks/useAppendDomNode.js","../src/lib/UIKitConfigProvider/utils/snakeToCamel.ts","../src/lib/UIKitConfigProvider/utils/types.ts","../src/lib/UIKitConfigProvider/utils/getConfigsByPriority.ts","../src/lib/UIKitConfigProvider/const/initialConfig.ts","../src/lib/UIKitConfigProvider/UIKitConfigStorageManager/index.ts","../src/lib/UIKitConfigProvider/index.tsx","../src/lib/VoiceMessageProvider.tsx","../src/lib/hooks/schedulerFactory.ts","../src/hooks/useUnmount.ts","../src/lib/hooks/useMarkAsReadScheduler.ts","../src/lib/hooks/useMarkAsDeliveredScheduler.ts","../src/lib/Sendbird.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n};\n\nconst useTheme = (overrides: Record<string, string>): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","import SendbirdChat from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const SDK_ACTIONS = {\n INIT_SDK: 'INIT_SDK',\n SET_SDK_LOADING: 'SET_SDK_LOADING',\n RESET_SDK: 'RESET_SDK',\n SDK_ERROR: 'SDK_ERROR',\n} as const;\n\ntype SDK_PAYLOAD_TYPES = {\n [SDK_ACTIONS.SET_SDK_LOADING]: boolean,\n [SDK_ACTIONS.INIT_SDK]: SendbirdChat,\n [SDK_ACTIONS.SDK_ERROR]: null,\n [SDK_ACTIONS.RESET_SDK]: null,\n};\n\nexport type SdkActionTypes = CreateAction<SDK_PAYLOAD_TYPES>;\n","import SendbirdChat from '@sendbird/chat';\n\nexport interface SdkStoreStateType {\n initialized: boolean;\n loading: boolean;\n sdk: SendbirdChat,\n error: boolean;\n}\n\nconst initialState: SdkStoreStateType = {\n initialized: false,\n loading: false,\n sdk: {} as SendbirdChat,\n error: false,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { SdkActionTypes, SDK_ACTIONS } from './actionTypes';\nimport initialState, { SdkStoreStateType } from './initialState';\n\nexport default function reducer(state: SdkStoreStateType, action: SdkActionTypes): SdkStoreStateType {\n return match(action)\n .with({ type: SDK_ACTIONS.SET_SDK_LOADING }, ({ payload }) => {\n return {\n ...state,\n initialized: false,\n loading: payload,\n };\n })\n .with({ type: SDK_ACTIONS.SDK_ERROR }, () => {\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n })\n .with({ type: SDK_ACTIONS.INIT_SDK }, ({ payload }) => {\n return {\n sdk: payload,\n initialized: true,\n loading: false,\n error: false,\n };\n })\n .with({ type: SDK_ACTIONS.RESET_SDK }, () => {\n return initialState;\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { User } from '@sendbird/chat';\n\nexport interface UserStoreStateType {\n initialized: boolean;\n loading: boolean;\n user: User;\n}\n\nconst initialState: UserStoreStateType = {\n initialized: false,\n loading: false,\n user: {} as User,\n};\n\nexport default initialState;\n","import { match } from 'ts-pattern';\nimport { UserActionTypes, USER_ACTIONS } from './actionTypes';\nimport initialState, { UserStoreStateType } from './initialState';\n\nexport default function reducer(state: UserStoreStateType, action: UserActionTypes): UserStoreStateType {\n return match(action)\n .with({ type: USER_ACTIONS.INIT_USER }, ({ payload }) => {\n return {\n initialized: true,\n loading: false,\n user: payload,\n };\n })\n .with({ type: USER_ACTIONS.RESET_USER }, () => {\n return initialState;\n })\n .with({ type: USER_ACTIONS.UPDATE_USER_INFO }, ({ payload }) => {\n return {\n ...state,\n user: payload,\n };\n })\n .otherwise(() => {\n return state;\n });\n}\n","import { ConnectionHandler } from '@sendbird/chat';\nimport { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n try {\n logger.warning('sdk changed', uniqueHandlerId);\n const handler = new ConnectionHandler();\n handler.onDisconnected = () => {\n logger.warning('onDisconnected', { isOnline });\n };\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n // workaround -> addConnectionHandler invalidates session handler\n // provided through configureSession\n if (sdk?.addConnectionHandler) {\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n } catch {\n //\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.connectionState !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","import { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\nimport { DisconnectSdkTypes } from './types';\n\nexport async function disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n}: DisconnectSdkTypes): Promise<boolean> {\n return new Promise((resolve) => {\n sdkDispatcher({ type: SDK_ACTIONS.SET_SDK_LOADING, payload: true });\n if (sdk?.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: SDK_ACTIONS.RESET_SDK });\n userDispatcher({ type: USER_ACTIONS.RESET_USER });\n })\n .finally(() => {\n resolve(true);\n });\n } else {\n resolve(true);\n }\n });\n}\n","import SendbirdChat, { SendbirdError, User } from '@sendbird/chat';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\n\nimport { SDK_ACTIONS } from '../../dux/sdk/actionTypes';\nimport { USER_ACTIONS } from '../../dux/user/actionTypes';\n\nimport { isTextuallyNull } from '../../../utils';\n\nimport { SetupConnectionTypes } from './types';\n\nconst APP_VERSION_STRING = '__react_dev_mode__';\n\nconst { INIT_SDK, SET_SDK_LOADING, RESET_SDK, SDK_ERROR } = SDK_ACTIONS;\nconst { INIT_USER, UPDATE_USER_INFO, RESET_USER } = USER_ACTIONS;\n\nexport function getMissingParamError({ userId, appId }: { userId?: string, appId?: string }): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed UserId: ${userId} or appId: ${appId} missing`;\n}\nexport function getConnectSbError(error?: SendbirdError): string {\n return `SendbirdProvider | useConnect/setupConnection/Connection failed. ${error?.code || ''} ${error?.message || ''}`;\n}\n\nexport function setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n}: {\n appId: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n}): SendbirdChat {\n const params = {\n appId,\n modules: [\n new GroupChannelModule(),\n new OpenChannelModule(),\n ],\n };\n if (customApiHost) {\n params['customApiHost'] = customApiHost;\n }\n if (customWebSocketHost) {\n params['customWebSocketHost'] = customWebSocketHost;\n }\n const newSdk = SendbirdChat.init(params);\n return newSdk;\n}\n\n// Steps\n// 1. Check if minimum userID/appID is provided\n// 1.a. If not, throw error > !reject\n// 1.b. If yes, continue\n// 2. Set up params with custom host if provided\n// 3. Set up session handler if provided\n// 4. Set up version\n// 5. Connect to Sendbird -> either using user ID or (user ID + access token)\n// 6. If connected, connectCbSucess\n// 6.a check if nickname is to be updated -> no > !resolve immediately\n// 6.b check if nickname is to be updated -> yes > update nickname > !resolve\n// 7. If not connected, connectCbError > !reject\nexport async function setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n}: SetupConnectionTypes): Promise<void> {\n return new Promise((resolve, reject) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/init', { userId, appId });\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n\n if (userId && appId) {\n const newSdk = setUpParams({\n appId,\n customApiHost,\n customWebSocketHost,\n });\n\n if (configureSession && typeof configureSession === 'function') {\n const sessionHandler = configureSession(newSdk);\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/configureSession', sessionHandler);\n newSdk.setSessionHandler(sessionHandler);\n }\n\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/setVersion', { version: APP_VERSION_STRING });\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n\n const connectCbSucess = async (user: User) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/connectCbSucess', user);\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n\n initDashboardConfigs(newSdk)\n .then(config => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration success', {\n config,\n });\n })\n .catch(error => {\n logger?.error?.('SendbirdProvider | useConnect/setupConnection/getUIKitConfiguration failed', {\n error,\n });\n });\n\n // use nickname/profileUrl if provided\n // or set userID as nickname\n if ((nickname !== user.nickname || profileUrl !== user.profileUrl)\n && !(isTextuallyNull(nickname) && isTextuallyNull(profileUrl))\n ) {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo', {\n nickname,\n profileUrl,\n });\n newSdk.updateCurrentUserInfo({\n nickname: nickname || user.nickname,\n profileUrl: profileUrl || user.profileUrl,\n }).then((namedUser) => {\n logger?.info?.('SendbirdProvider | useConnect/setupConnection/updateCurrentUserInfo success', {\n nickname,\n profileUrl,\n });\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n }).finally(() => {\n resolve();\n });\n } else {\n resolve();\n }\n };\n\n const connectCbError = (e: SendbirdError) => {\n const errorMessage = getConnectSbError(e);\n logger?.error?.(errorMessage, {\n e,\n appId,\n userId,\n });\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n\n sdkDispatcher({ type: SDK_ERROR });\n // exit promise with error\n reject(errorMessage);\n };\n\n logger?.info?.(`SendbirdProvider | useConnect/setupConnection/connect connecting using ${accessToken ?? userId}`);\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n const errorMessage = getMissingParamError({ userId, appId });\n sdkDispatcher({ type: SDK_ERROR });\n logger?.error?.(errorMessage);\n // exit promise with error\n reject(errorMessage);\n }\n });\n}\n","import { disconnectSdk } from './disconnectSdk';\nimport { setUpConnection } from './setupConnection';\nimport { ConnectTypes } from './types';\n\nexport async function connect({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n}: ConnectTypes): Promise<void> {\n await disconnectSdk({\n logger,\n sdkDispatcher,\n userDispatcher,\n sdk,\n });\n await setUpConnection({\n logger,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n userId,\n appId,\n customApiHost,\n customWebSocketHost,\n configureSession,\n nickname,\n profileUrl,\n accessToken,\n });\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { ReconnectType, StaticTypes, TriggerTypes } from './types';\nimport { connect } from './connect';\n\nexport default function useConnect(triggerTypes: TriggerTypes, staticTypes: StaticTypes): ReconnectType {\n const { userId, appId, accessToken } = triggerTypes;\n const {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n } = staticTypes;\n logger?.info?.('SendbirdProvider | useConnect', { ...triggerTypes, ...staticTypes });\n\n useEffect(() => {\n logger?.info?.('SendbirdProvider | useConnect/useEffect', { userId, appId, accessToken });\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/useEffect', error);\n }\n }, [userId, appId, accessToken]);\n const reconnect = useCallback(() => {\n logger?.info?.('SendbirdProvider | useConnect/reconnect/useCallback', { sdk });\n\n try {\n connect({\n userId,\n appId,\n accessToken,\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n } catch (error) {\n logger?.error?.('SendbirdProvider | useConnect/reconnect/useCallback', error);\n }\n }, [sdk]);\n return reconnect;\n}\n","// Logger, pretty much explains it\n// in SendbirdProvider\n\nimport { ObjectValues } from '../../utils/typeHelpers/objectValues';\n\n// const [logger, setLogger] = useState(LoggerFactory(logLevel));\nexport const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n} as const;\nexport type LogLevel = ObjectValues<typeof LOG_LEVELS>;\n\nconst colorLog = (level: LogLevel): string => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\ninterface PrintLogProps {\n level: LogLevel;\n title: string;\n description?: string;\n}\nexport const printLog = ({\n level,\n title,\n description = '',\n}: PrintLogProps): void => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level), description,\n );\n};\n\ntype LoggerLogType = (title?: string, description?: string) => void;\ninterface LoggerInterface {\n info: LoggerLogType;\n error: LoggerLogType;\n warning: LoggerLogType;\n}\n\nconst noop = () => { /* noop */ };\nexport const getDefaultLogger = (): LoggerInterface => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\nexport const LoggerFactory = (\n lvl: LogLevel,\n customInterface?: () => void,\n): LoggerInterface => {\n const logInterface = customInterface || printLog;\n const lvlArray: Array<LogLevel> = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl: LogLevel) => (title?: string, description?: string) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n\n// TODO: Make this to hook, useLogger\n","// https://davidwalsh.name/pubsub-javascript\n// we use pubsub to sync events between multiple components(example - ChannelList, Channel)\n// for example, if customer sends a message from their custom component\n// without pubsub,we would not be able to listen to it\n// in our ChannelList or Conversation\n\ninterface PubSubTypes {\n __getTopics: () => Record<string, string>;\n subscribe: (topic: string, listener: unknown) => { remove: () => void };\n publish: (topic: string, info: unknown) => void;\n}\n\nconst pubSubFactory = (): PubSubTypes => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n\nexport default pubSubFactory;\n","import { useEffect } from 'react';\n\n/* eslint-disable default-param-last */\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","type CamelCase<T> = T extends object\n ? {\n [K in keyof T as Uncapitalize<CamelCaseKey<K & string>>]: CamelCase<T[K]>;\n }\n : T;\n\ntype CamelCaseKey<K extends string> = K extends `${infer A}_${infer B}`\n ? `${Lowercase<A>}${Capitalize<CamelCaseKey<B & string>>}`\n : K;\n\nexport function snakeToCamel<T>(obj: T): CamelCase<T> {\n if (typeof obj !== 'object' || obj === null) {\n return obj as CamelCase<T>;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => snakeToCamel(item)) as CamelCase<T>;\n }\n\n const result = {} as CamelCase<T>;\n Object.keys(obj).forEach((key) => {\n const camelKey = key.replace(/_\\w/g, (m) => m[1].toUpperCase());\n result[camelKey] = snakeToCamel(obj[key]);\n });\n\n return result;\n}\n","// @link https://gist.github.com/navix/6c25c15e0a2d3cd0e5bce999e0086fc9\n/* eslint-disable @typescript-eslint/ban-types */\nexport type DeepPartial<T> = T extends Function\n ? T\n : (T extends object ? { [P in keyof T]?: DeepPartial<T[P]>; } : T);\n\nexport function isSameType<T, U>(a: T, b: U): boolean {\n // we do this cause typeof can't differenciate object/ array/ null\n return Object.prototype.toString.call(a) === Object.prototype.toString.call(b);\n}\n","import { DeepPartial, isSameType } from './types';\nimport { UIKitConfigInfo } from '../types';\n\n/**\n * @param localConfigs Set directly in code level. It has higher priority than remote ones\n * @param remoteConfigs Set by Feature Config setting in Dashboard\n * @returns\n */\nexport default function getConfigsByPriority(localConfigs: DeepPartial<UIKitConfigInfo>, remoteConfigs: UIKitConfigInfo): UIKitConfigInfo {\n const prioritizedConfigs = { ...remoteConfigs }; // copy remoteConfigs to prevent mutation\n\n Object.keys(localConfigs).forEach(key => {\n if (prioritizedConfigs.hasOwnProperty(key) && isSameType(localConfigs[key], prioritizedConfigs[key])) {\n prioritizedConfigs[key] = typeof localConfigs[key] === 'object'\n // Recursively call getConfigsByPriority only when the value of the key is Object\n ? getConfigsByPriority(localConfigs[key], prioritizedConfigs[key])\n : localConfigs[key];\n }\n });\n\n return prioritizedConfigs;\n}\n","import { UIKitConfigInfo } from '../types';\n\n// @link: https://docs.google.com/spreadsheets/d/1-AozBMHRYOXS74vZ-7x2ptQcBL6nnM-orJWRvUgmkd4/edit#gid=0\nconst initialConfig: UIKitConfigInfo = {\n common: {\n enableUsingDefaultUserProfile: false,\n },\n groupChannel: {\n channel: {\n enableMention: false,\n enableOgtag: true,\n enableReactions: true,\n enableTypingIndicator: true,\n enableVoiceMessage: false,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n replyType: 'quote_reply',\n threadReplySelectType: 'thread',\n },\n channelList: {\n enableMessageReceiptStatus: false,\n enableTypingIndicator: false,\n },\n setting: {\n enableMessageSearch: false,\n },\n },\n openChannel: {\n channel: {\n enableOgtag: true,\n input: {\n camera: {\n enablePhoto: true,\n enableVideo: true,\n },\n enableDocument: true,\n gallery: {\n enablePhoto: true,\n enableVideo: true,\n },\n },\n },\n },\n};\n\nexport default initialConfig;\n","import { UIKitConfigPayload } from '../types';\nimport mergeConfigs from '../utils/getConfigsByPriority';\nimport initialConfig from '../const/initialConfig';\n\nexport interface StorageInterface {\n getItem(key: string): Promise<null|string>;\n setItem(key: string, value: string): Promise<void>;\n}\n\nexport class UIKitConfigStorageManager {\n key: string;\n\n storage: StorageInterface;\n\n constructor(storage: StorageInterface) {\n this.storage = storage;\n }\n\n init(appId: string) {\n this.key = `sbu@${appId}.uikitConfiguration`;\n return this.get();\n }\n\n async update(payload: UIKitConfigPayload) {\n const storedConfig = await this.get();\n const mergedConfig = {\n lastUpdatedAt: payload.lastUpdatedAt,\n uikitConfigurations: mergeConfigs(payload?.uikitConfigurations, storedConfig?.uikitConfigurations),\n };\n await this.storage.setItem(this.key, JSON.stringify(mergedConfig));\n return mergedConfig;\n }\n\n async get(): Promise<UIKitConfigPayload> {\n const initialPayload = {\n lastUpdatedAt: 0,\n uikitConfigurations: initialConfig,\n };\n try {\n const storedConfig = await this.storage.getItem(this.key);\n if (storedConfig) {\n // TODO: Validation\n return JSON.parse(storedConfig);\n } else {\n return initialPayload;\n }\n } catch {\n return initialPayload;\n }\n }\n}\n","import SendbirdChat from '@sendbird/chat';\nimport React, { useCallback, useState, createContext, useContext } from 'react';\n\nimport { snakeToCamel } from './utils/snakeToCamel';\nimport { DeepPartial } from './utils/types';\n\nimport getConfigsByPriority from './utils/getConfigsByPriority';\n\nimport { UIKitConfigInfo } from './types';\nimport initialConfig from './const/initialConfig';\nimport { UIKitConfigStorageManager, type StorageInterface } from './UIKitConfigStorageManager';\n\ninterface UIKitConfigContextInterface {\n initDashboardConfigs: (sdk: SendbirdChat) => Promise<void>;\n configs: UIKitConfigInfo;\n}\nconst UIKitConfigContext = createContext<UIKitConfigContextInterface>({\n initDashboardConfigs: () => Promise.resolve(),\n configs: initialConfig,\n});\n\ninterface UIKitConfigProviderProps {\n // Configurations set by code level\n localConfigs: DeepPartial<UIKitConfigInfo>;\n children: React.ReactElement;\n // If the storage value is not provided,\n // it'll fetch the new configs set by dashboard everytime\n storage?: StorageInterface;\n}\n\nconst UIKitConfigProvider = ({ storage, children, localConfigs }: UIKitConfigProviderProps) => {\n // Set by Feature Config setting in Dashboard\n const [remoteConfigs, setRemoteConfigs] = useState<UIKitConfigInfo>(initialConfig);\n\n const initDashboardConfigs = useCallback(async (sdk: SendbirdChat) => {\n try {\n if (storage == null) {\n const payload = await sdk.getUIKitConfiguration();\n setRemoteConfigs(snakeToCamel(payload.json.uikit_configurations));\n return;\n }\n\n // Compare the sdk uikitConfig's lastUpdatedAt <-> stored one\n const manager = new UIKitConfigStorageManager(storage);\n const storedConfigs = await manager.init(sdk.appId);\n\n if (sdk.appInfo.uikitConfigInfo.lastUpdatedAt === storedConfigs.lastUpdatedAt) {\n setRemoteConfigs(storedConfigs.uikitConfigurations);\n } else {\n const payload = await sdk.getUIKitConfiguration();\n const updatedPayloed = await manager.update(snakeToCamel(payload.json));\n setRemoteConfigs(updatedPayloed.uikitConfigurations);\n }\n } catch (error) {\n //\n }\n }, []);\n\n const configs = getConfigsByPriority(localConfigs, remoteConfigs);\n\n return <UIKitConfigContext.Provider value={{\n initDashboardConfigs,\n configs,\n }}>{children}</UIKitConfigContext.Provider>;\n};\n\nconst useUIKitConfig = () => useContext(UIKitConfigContext);\n\nexport { UIKitConfigProvider, useUIKitConfig };\n","import React from 'react';\nimport { VoicePlayerProvider } from '../hooks/VoicePlayer';\nimport { VoiceRecorderProvider } from '../hooks/VoiceRecorder';\n\nexport interface VoiceMessageProviderProps {\n children: React.ReactElement;\n isVoiceMessageEnabled?: boolean;\n}\n\nexport const VoiceMessageProvider = ({\n children,\n isVoiceMessageEnabled = true,\n}: VoiceMessageProviderProps): React.ReactElement => {\n if (!isVoiceMessageEnabled) {\n return (\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n );\n }\n return (\n <VoiceRecorderProvider>\n <VoicePlayerProvider>\n {children}\n </VoicePlayerProvider>\n </VoiceRecorderProvider>\n );\n};\n\nexport default VoiceMessageProvider;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { Logger } from '../SendbirdState';\n\nconst TIMEOUT = 2000;\n\n/*\n * This is a factory function that returns a scheduler.\n * The scheduler is a queue that calls the callback function on intervals.\n * If interval is empty, the callback function is called immediately.\n * If interval is not empty, the callback function is called after the interval.\n*/\nexport function schedulerFactory<T>({\n logger,\n timeout,\n cb,\n}: {\n logger: Logger;\n timeout?: number;\n cb: (item: T) => void;\n}) {\n let queue: GroupChannel[] = [];\n let interval: ReturnType<typeof setTimeout> | null = null;\n const push = (channel: GroupChannel) => {\n const channelPresent = queue.find((c) => c.url === channel.url);\n if (!channelPresent) {\n queue.push(channel);\n } else {\n logger.info('Channel: Mark as read already in queue', { channel });\n }\n // start the interval if it's not already running\n if (interval) {\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n interval = setInterval(() => {\n if (queue.length === 0 && interval) {\n clearInterval(interval);\n interval = null;\n return;\n }\n const item = queue.shift();\n if (item) {\n cb(item as T);\n }\n }, (timeout || TIMEOUT));\n };\n const clear = () => {\n queue = [];\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n };\n return {\n push,\n clear,\n getQueue: () => queue,\n };\n}\n","import { useLayoutEffect } from 'react';\n\n// this hook accepts a callback to run component is unmounted\nexport function useUnmount(callback: () => void) {\n useLayoutEffect(() => {\n return () => {\n callback();\n };\n }, []);\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsReadSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsReadScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsReadSchedulerType {\n const markAsReadScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsRead();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsReadScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsReadScheduler.clear(); });\n\n return markAsReadScheduler;\n}\n","import { useEffect, useMemo } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport { schedulerFactory } from './schedulerFactory';\nimport { Logger } from '../SendbirdState';\nimport { useUnmount } from '../../hooks/useUnmount';\n\nexport type MarkAsDeliveredSchedulerType = {\n push: (channel: GroupChannel) => void;\n clear: () => void;\n getQueue: () => GroupChannel[];\n};\n\ninterface DynamicParams {\n isConnected: boolean;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\nexport function useMarkAsDeliveredScheduler({\n isConnected,\n}: DynamicParams, {\n logger,\n}: StaticParams): MarkAsDeliveredSchedulerType {\n const markAsDeliveredScheduler = useMemo(() => schedulerFactory<GroupChannel>({\n logger,\n cb: (channel) => {\n try {\n channel.markAsDelivered();\n } catch (error) {\n logger.warning('Channel: Mark as delivered failed', { channel, error });\n }\n },\n }), []);\n\n useEffect(() => {\n // for simplicity, we clear the queue when the connection is lost\n if (!isConnected) {\n markAsDeliveredScheduler.clear();\n }\n }, [isConnected]);\n\n useUnmount(() => { markAsDeliveredScheduler.clear(); });\n\n return markAsDeliveredScheduler;\n}\n","import './index.scss';\nimport './__experimental__typography.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport { User } from '@sendbird/chat';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\n\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\nimport useConnect from './hooks/useConnect';\nimport { LoggerFactory, LogLevel } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { UIKitConfigProvider, useUIKitConfig } from './UIKitConfigProvider';\nimport { VoiceMessageProvider } from './VoiceMessageProvider';\nimport { LocalizationProvider } from './LocalizationContext';\nimport { MediaQueryProvider } from './MediaQueryContext';\nimport getStringSet from '../ui/Label/stringSet';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../utils/consts';\nimport { useMarkAsReadScheduler } from './hooks/useMarkAsReadScheduler';\nimport { ConfigureSessionTypes } from './hooks/useConnect/types';\nimport { useMarkAsDeliveredScheduler } from './hooks/useMarkAsDeliveredScheduler';\n\nexport type UserListQueryType = {\n hasNext?: boolean;\n next: () => Promise<Array<User>>;\n};\n\ninterface VoiceRecordOptions {\n maxRecordingTime?: number;\n minRecordingTime?: number;\n}\n\nexport interface ImageCompressionOptions {\n compressionRate?: number;\n resizingWidth?: number | string;\n resizingHeight?: number | string;\n}\n\nexport interface SendbirdConfig {\n logLevel?: string | Array<string>;\n pubSub?: () => void;// TODO: Define pubSub type and apply it here\n userMention?: {\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n };\n isREMUnitEnabled?: boolean;\n}\n\ninterface CommonUIKitConfigProps {\n replyType?: 'NONE' | 'QUOTE_REPLY' | 'THREAD';\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableUserProfile?: boolean;\n isVoiceMessageEnabled?: boolean;\n isTypingIndicatorEnabledOnChannelList?: boolean;\n isMessageReceiptStatusEnabledOnChannelList?: boolean;\n}\nexport interface SendbirdProviderProps extends CommonUIKitConfigProps {\n appId: string;\n userId: string;\n children: React.ReactElement;\n accessToken?: string;\n customApiHost?: string;\n customWebSocketHost?: string;\n configureSession?: ConfigureSessionTypes;\n theme?: 'light' | 'dark';\n config?: SendbirdConfig;\n nickname?: string;\n colorSet?: Record<string, string>;\n stringSet?: Record<string, string>;\n dateLocale?: Locale;\n profileUrl?: string;\n voiceRecord?: VoiceRecordOptions;\n userListQuery?: UserListQueryType;\n imageCompression?: ImageCompressionOptions;\n allowProfileEdit?: boolean;\n disableMarkAsDelivered?: boolean;\n renderUserProfile?: () => React.ReactElement;\n onUserProfileMessage?: () => void;\n}\n\nfunction Sendbird(props: SendbirdProviderProps) {\n const {\n replyType = 'NONE',\n isMentionEnabled = false,\n isReactionEnabled = true,\n disableUserProfile = false,\n isVoiceMessageEnabled = true,\n isTypingIndicatorEnabledOnChannelList = false,\n isMessageReceiptStatusEnabledOnChannelList = false,\n } = props;\n\n return (\n <UIKitConfigProvider\n localConfigs={{\n common: {\n enableUsingDefaultUserProfile: !disableUserProfile,\n },\n groupChannel: {\n channel: {\n enableReactions: isReactionEnabled,\n enableMention: isMentionEnabled,\n enableVoiceMessage: isVoiceMessageEnabled,\n /**\n * Since dashbord UIKit Configuration's replyType is consisted of all lowercase letters,\n * we convert it from here.\n * i.e. 'THREAD' -> 'thread'\n */\n replyType: replyType.toLowerCase(),\n },\n channelList: {\n enableTypingIndicator: isTypingIndicatorEnabledOnChannelList,\n enableMessageReceiptStatus: isMessageReceiptStatusEnabledOnChannelList,\n },\n },\n }}\n >\n <SendbirdSDK {...props} />\n </UIKitConfigProvider>\n );\n}\nconst SendbirdSDK = ({\n appId,\n userId,\n children,\n accessToken = '',\n customApiHost = '',\n customWebSocketHost = '',\n configureSession = null,\n theme = 'light',\n config = {},\n nickname = '',\n colorSet = null,\n stringSet = null,\n dateLocale = null,\n profileUrl = '',\n voiceRecord = { maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX, minRecordingTime: VOICE_RECORDER_DEFAULT_MIN },\n userListQuery = null,\n imageCompression = {},\n allowProfileEdit = false,\n disableMarkAsDelivered = false,\n renderUserProfile = null,\n onUserProfileMessage = null,\n}: SendbirdProviderProps): React.ReactElement => {\n const breakpoint = false;\n\n const {\n logLevel = '',\n userMention = {},\n isREMUnitEnabled = false,\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel as LogLevel));\n const [pubSub] = useState(pubSubFactory());\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n const { configs, initDashboardConfigs } = useUIKitConfig();\n\n useTheme(colorSet);\n\n const reconnect = useConnect({\n appId,\n userId,\n accessToken,\n }, {\n logger,\n nickname,\n profileUrl,\n configureSession,\n customApiHost,\n customWebSocketHost,\n sdk: sdkStore?.sdk,\n sdkDispatcher,\n userDispatcher,\n initDashboardConfigs,\n });\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel as LogLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-experimental__rem__units');\n if (isREMUnitEnabled) {\n body.classList.add('sendbird-experimental__rem__units');\n }\n }, [isREMUnitEnabled]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const markAsReadScheduler = useMarkAsReadScheduler({ isConnected: isOnline }, { logger });\n const markAsDeliveredScheduler = useMarkAsDeliveredScheduler({ isConnected: isOnline }, { logger });\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n <SendbirdSdkContext.Provider\n value={{\n stores: {\n sdkStore,\n userStore,\n },\n dispatchers: {\n sdkDispatcher,\n userDispatcher,\n reconnect,\n },\n config: {\n disableMarkAsDelivered,\n renderUserProfile,\n onUserProfileMessage,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression: {\n compressionRate: 0.7,\n ...imageCompression,\n },\n voiceRecord,\n userMention: {\n maxMentionCount: userMention?.maxMentionCount || 10,\n maxSuggestionCount: userMention?.maxSuggestionCount || 15,\n },\n markAsReadScheduler,\n markAsDeliveredScheduler,\n // From UIKitConfigProvider.localConfigs\n disableUserProfile:\n !configs.common.enableUsingDefaultUserProfile,\n isReactionEnabled:\n configs.groupChannel.channel.enableReactions,\n isMentionEnabled:\n configs.groupChannel.channel.enableMention,\n isVoiceMessageEnabled:\n configs.groupChannel.channel.enableVoiceMessage,\n replyType:\n /**\n * Since UIKitConfigContext's replyType is consisted of all lowercase letters,\n * we need to convert it into all uppercase ones like\n * - 'thread' -> 'THREAD'\n * - 'quote_reply' -> 'QUOTE_REPLY'\n */\n configs.groupChannel.channel.replyType.toUpperCase(),\n isTypingIndicatorEnabledOnChannelList:\n configs.groupChannel.channelList.enableTypingIndicator,\n isMessageReceiptStatusEnabledOnChannelList:\n configs.groupChannel.channelList.enableMessageReceiptStatus,\n // TODO(Ahyoung): add more configs from UIKitConfigProvider.remoteConfigs\n },\n }}\n >\n <MediaQueryProvider logger={logger} breakpoint={breakpoint}>\n <LocalizationProvider stringSet={localeStringSet} dateLocale={dateLocale}>\n <VoiceMessageProvider isVoiceMessageEnabled={configs.groupChannel.channel.enableVoiceMessage}>\n {children}\n </VoiceMessageProvider>\n </LocalizationProvider>\n </MediaQueryProvider>\n </SendbirdSdkContext.Provider>\n );\n};\n\nexport default Sendbird;\n"],"names":["isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","_objectSpread","SDK_ACTIONS","INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","initialState","initialized","loading","sdk","error","reducer","state","action","match","with","type","_ref","payload","_ref2","otherwise","user","USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO","useConnectionStatus","logger","isOnline","setIsOnline","useState","useEffect","uniqueHandlerId","uuidv4","warning","handler","ConnectionHandler","onDisconnected","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","info","addConnectionHandler","_unused","removeConnectionHandler","_unused2","tryReconnect","connectionState","_unused3","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","e","remove","disconnectSdk","sdkDispatcher","userDispatcher","Promise","resolve","disconnect","then","finally","APP_VERSION_STRING","getMissingParamError","userId","appId","getConnectSbError","code","message","setUpParams","customApiHost","customWebSocketHost","params","modules","GroupChannelModule","OpenChannelModule","newSdk","SendbirdChat","init","setUpConnection","_ref3","initDashboardConfigs","configureSession","nickname","profileUrl","accessToken","reject","_logger$info","call","_logger$info3","_logger$info8","_logger$info2","sessionHandler","setSessionHandler","version","addExtension","connectCbSucess","_logger$info4","config","_logger$info5","catch","_logger$error","isTextuallyNull","_logger$info6","updateCurrentUserInfo","namedUser","_logger$info7","connectCbError","_logger$error2","errorMessage","connect","res","err","_logger$error3","useConnect","triggerTypes","staticTypes","useCallback","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","noop","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","pubSubFactory","topics","hOP","__getTopics","subscribe","topic","listener","index","push","publish","forEach","item","useAppendDomNode","ids","arguments","length","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","snakeToCamel","map","result","Object","keys","key","camelKey","replace","m","toUpperCase","isSameType","a","b","prototype","toString","getConfigsByPriority","localConfigs","remoteConfigs","prioritizedConfigs","initialConfig","common","enableUsingDefaultUserProfile","groupChannel","channel","enableMention","enableOgtag","enableReactions","enableTypingIndicator","enableVoiceMessage","input","camera","enablePhoto","enableVideo","enableDocument","gallery","replyType","threadReplySelectType","channelList","enableMessageReceiptStatus","setting","enableMessageSearch","openChannel","UIKitConfigStorageManager","constructor","storage","_defineProperty","get","update","storedConfig","mergedConfig","lastUpdatedAt","uikitConfigurations","mergeConfigs","setItem","initialPayload","getItem","parse","UIKitConfigContext","createContext","configs","UIKitConfigProvider","children","setRemoteConfigs","getUIKitConfiguration","json","uikit_configurations","manager","storedConfigs","appInfo","uikitConfigInfo","updatedPayloed","React","Provider","value","useUIKitConfig","useContext","VoiceMessageProvider","isVoiceMessageEnabled","VoicePlayerProvider","VoiceRecorderProvider","TIMEOUT","schedulerFactory","timeout","cb","queue","interval","channelPresent","find","c","url","shift","setInterval","clearInterval","clear","getQueue","useUnmount","callback","useMarkAsReadScheduler","isConnected","markAsReadScheduler","useMemo","markAsRead","useMarkAsDeliveredScheduler","markAsDeliveredScheduler","markAsDelivered","Sendbird","props","isMentionEnabled","isReactionEnabled","disableUserProfile","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","toLowerCase","SendbirdSDK","theme","colorSet","stringSet","dateLocale","voiceRecord","maxRecordingTime","VOICE_RECORDER_DEFAULT_MAX","minRecordingTime","VOICE_RECORDER_DEFAULT_MIN","userListQuery","imageCompression","allowProfileEdit","disableMarkAsDelivered","renderUserProfile","onUserProfileMessage","breakpoint","logLevel","userMention","isREMUnitEnabled","setLogger","pubSub","sdkStore","useReducer","sdkReducers","sdkInitialState","userStore","userReducers","userInitialState","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","getStringSet","SendbirdSdkContext","stores","dispatchers","compressionRate","maxMentionCount","maxSuggestionCount","MediaQueryProvider","LocalizationProvider"],"mappings":"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"}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { b as _extends, _ as _objectSpread2 } from '../../_rollupPluginBabelHelpers-
|
|
1
|
+
import { b as _extends, _ as _objectSpread2 } from '../../_rollupPluginBabelHelpers-6bb0305c.js';
|
|
2
2
|
import React__default, { useState, useRef, useEffect, useContext } from 'react';
|
|
3
|
-
import { f as format } from '../../index-
|
|
4
|
-
import { R as RemoveMessage } from '../../RemoveMessageModal-
|
|
3
|
+
import { f as format } from '../../index-7cdd58b8.js';
|
|
4
|
+
import { R as RemoveMessage } from '../../RemoveMessageModal-78e395ad.js';
|
|
5
5
|
import ParentMessageInfoItem from './ParentMessageInfoItem.js';
|
|
6
|
-
import { u as getSenderName } from '../../index-
|
|
7
|
-
import { g as getIsReactionEnabled } from '../../ChannelProvider-
|
|
8
|
-
import { u as useLocalization } from '../../LocalizationContext-
|
|
6
|
+
import { u as getSenderName } from '../../index-7eb65acf.js';
|
|
7
|
+
import { g as getIsReactionEnabled } from '../../ChannelProvider-910bbc1f.js';
|
|
8
|
+
import { u as useLocalization } from '../../LocalizationContext-076d6d2e.js';
|
|
9
9
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
10
|
-
import { u as useThreadContext } from '../../ThreadProvider-
|
|
11
|
-
import { a as UserProfileContext } from '../../UserProfileContext-
|
|
10
|
+
import { u as useThreadContext } from '../../ThreadProvider-3a4a4db0.js';
|
|
11
|
+
import { a as UserProfileContext } from '../../UserProfileContext-9cfbab4d.js';
|
|
12
12
|
import SuggestedMentionList from '../../Channel/components/SuggestedMentionList.js';
|
|
13
13
|
import Avatar from '../../ui/Avatar.js';
|
|
14
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
14
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-63949de5.js';
|
|
15
15
|
import FileViewer from '../../ui/FileViewer.js';
|
|
16
16
|
import MessageItemMenu from '../../ui/MessageItemMenu.js';
|
|
17
17
|
import MessageItemReactionMenu from '../../ui/MessageItemReactionMenu.js';
|
|
18
18
|
import ContextMenu, { MenuItems } from '../../ui/ContextMenu.js';
|
|
19
19
|
import UserProfile from '../../ui/UserProfile.js';
|
|
20
20
|
import MessageInput from '../../ui/MessageInput.js';
|
|
21
|
-
import { M as MessageInputKeys } from '../../const-
|
|
22
|
-
import { R as Role } from '../../types-
|
|
23
|
-
import { u as useMediaQueryContext } from '../../MediaQueryContext-
|
|
24
|
-
import { u as useLongPress } from '../../useLongPress-
|
|
25
|
-
import { M as MobileMenu } from '../../index-
|
|
26
|
-
import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-
|
|
27
|
-
import '../../index-
|
|
21
|
+
import { M as MessageInputKeys } from '../../const-221c6a89.js';
|
|
22
|
+
import { R as Role } from '../../types-4ff4177c.js';
|
|
23
|
+
import { u as useMediaQueryContext } from '../../MediaQueryContext-11f0e43f.js';
|
|
24
|
+
import { u as useLongPress } from '../../useLongPress-1303953d.js';
|
|
25
|
+
import { M as MobileMenu } from '../../index-aca30408.js';
|
|
26
|
+
import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-aa730e2c.js';
|
|
27
|
+
import '../../index-99aabd9e.js';
|
|
28
28
|
import '../../ui/Modal.js';
|
|
29
29
|
import 'react-dom';
|
|
30
|
-
import '../../index-
|
|
30
|
+
import '../../index-38e61c64.js';
|
|
31
31
|
import '../../ui/Button.js';
|
|
32
32
|
import 'prop-types';
|
|
33
|
-
import '../../stringSet-
|
|
33
|
+
import '../../stringSet-13bbd4a2.js';
|
|
34
34
|
import '../../ui/Icon.js';
|
|
35
35
|
import '../../ui/IconButton.js';
|
|
36
36
|
import '../../ui/ImageRenderer.js';
|
|
37
37
|
import '../../ui/TextButton.js';
|
|
38
|
-
import '../../color-
|
|
38
|
+
import '../../color-879cc347.js';
|
|
39
39
|
import '../../ui/EmojiReactions.js';
|
|
40
40
|
import '../../ui/ReactionBadge.js';
|
|
41
41
|
import '../../ui/ReactionButton.js';
|
|
42
|
-
import '../../utils-
|
|
42
|
+
import '../../utils-4bbbca2c.js';
|
|
43
43
|
import '../../ui/BottomSheet.js';
|
|
44
44
|
import '../../ui/UserListItem.js';
|
|
45
45
|
import '../../ui/MutedAvatarOverlay.js';
|
|
46
46
|
import '../../ui/Checkbox.js';
|
|
47
|
-
import '../../uuid-
|
|
47
|
+
import '../../uuid-1adedf62.js';
|
|
48
48
|
import '../../sendbirdSelectors.js';
|
|
49
|
-
import '../../topics-
|
|
49
|
+
import '../../topics-b2b77fb9.js';
|
|
50
50
|
import '../../withSendbird.js';
|
|
51
51
|
import '../../ui/SortByRow.js';
|
|
52
52
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
@@ -56,26 +56,26 @@ import '../../Message/context.js';
|
|
|
56
56
|
import '../../ui/VoiceMessageItemBody.js';
|
|
57
57
|
import '../../ui/ProgressBar.js';
|
|
58
58
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
59
|
-
import '../../index-
|
|
60
|
-
import '../../consts-
|
|
59
|
+
import '../../index-5c985608.js';
|
|
60
|
+
import '../../consts-95d8566e.js';
|
|
61
61
|
import '../../VoiceRecorder/context.js';
|
|
62
62
|
import '../../ui/PlaybackTime.js';
|
|
63
63
|
import '../../ui/Loader.js';
|
|
64
|
-
import '../../index-
|
|
65
|
-
import '../../index.module-
|
|
66
|
-
import '../../tokenize-
|
|
64
|
+
import '../../index-2c3e11ea.js';
|
|
65
|
+
import '../../index.module-54d57ec3.js';
|
|
66
|
+
import '../../tokenize-c40f2b57.js';
|
|
67
67
|
import '../../ui/MentionLabel.js';
|
|
68
68
|
import '../../ui/LinkLabel.js';
|
|
69
|
-
import '../../compareIds-
|
|
70
|
-
import '../../const-
|
|
69
|
+
import '../../compareIds-defe2bb3.js';
|
|
70
|
+
import '../../const-b3f02313.js';
|
|
71
71
|
import '@sendbird/chat/groupChannel';
|
|
72
72
|
import '@sendbird/chat/message';
|
|
73
73
|
import '../context/types.js';
|
|
74
74
|
import '@sendbird/chat';
|
|
75
75
|
import 'dompurify';
|
|
76
|
-
import '../../consts-
|
|
77
|
-
import '../../consts-
|
|
78
|
-
import '../../consts-
|
|
76
|
+
import '../../consts-ff014656.js';
|
|
77
|
+
import '../../consts-c41580ae.js';
|
|
78
|
+
import '../../consts-81544e52.js';
|
|
79
79
|
|
|
80
80
|
function ParentMessageInfo(_ref) {
|
|
81
81
|
var _stores$userStore$use, _stores$userStore$use2, _parentMessage$isUser, _currentChannel$membe3, _currentChannel$membe4, _parentMessage$sender4;
|