@sendbird/uikit-react 3.4.6-rc.1 → 3.4.6
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 +46 -46
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +39 -39
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +34 -34
- package/Channel/components/MessageInput.js +27 -27
- package/Channel/components/MessageList.js +35 -35
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -14
- package/Channel.js +39 -39
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +30 -30
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-32bd4597.js → ChannelListProvider-a2f2ee4a.js} +8 -8
- package/{ChannelListProvider-32bd4597.js.map → ChannelListProvider-a2f2ee4a.js.map} +1 -1
- package/{ChannelProvider-4e33aa60.js → ChannelProvider-bb459e82.js} +10 -10
- package/{ChannelProvider-4e33aa60.js.map → ChannelProvider-bb459e82.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-96aa4ed0.js → CreateChannelProvider-a935d833.js} +1 -1
- package/{CreateChannelProvider-96aa4ed0.js.map → CreateChannelProvider-a935d833.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-62966630.js → LocalizationContext-3d8c0b24.js} +3 -3
- package/{LocalizationContext-62966630.js.map → LocalizationContext-3d8c0b24.js.map} +1 -1
- package/{MediaQueryContext-17146a37.js → MediaQueryContext-1348e37b.js} +1 -1
- package/{MediaQueryContext-17146a37.js.map → MediaQueryContext-1348e37b.js.map} +1 -1
- package/{MemberList-ef0a35ad.js → MemberList-d8124d7e.js} +5 -5
- package/{MemberList-ef0a35ad.js.map → MemberList-d8124d7e.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 +19 -19
- package/OpenChannel/components/OpenChannelMessage.js +28 -28
- package/OpenChannel/components/OpenChannelMessageList.js +32 -32
- package/OpenChannel/components/OpenChannelUI.js +32 -32
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +32 -32
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-8be6450e.js → OpenChannelListProvider-f9ec8658.js} +3 -3
- package/{OpenChannelListProvider-8be6450e.js.map → OpenChannelListProvider-f9ec8658.js.map} +1 -1
- package/{OpenChannelProvider-98df8b74.js → OpenChannelProvider-36d0dd05.js} +7 -7
- package/{OpenChannelProvider-98df8b74.js.map → OpenChannelProvider-36d0dd05.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-0efd9201.js → RemoveMessageModal-7852c71d.js} +3 -3
- package/{RemoveMessageModal-0efd9201.js.map → RemoveMessageModal-7852c71d.js.map} +1 -1
- package/SendbirdProvider.js +12 -12
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +30 -30
- package/Thread/components/ParentMessageInfoItem.js +18 -18
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +33 -33
- package/Thread/components/ThreadListItem.js +33 -33
- package/Thread/components/ThreadMessageInput.js +28 -28
- package/Thread/components/ThreadUI.js +37 -37
- package/Thread/context.js +8 -8
- package/Thread.js +37 -37
- package/{ThreadProvider-1798360b.js → ThreadProvider-43c384e9.js} +7 -7
- package/{ThreadProvider-1798360b.js.map → ThreadProvider-43c384e9.js.map} +1 -1
- package/{UserProfileContext-7083bd82.js → UserProfileContext-41938ddc.js} +1 -1
- package/{UserProfileContext-7083bd82.js.map → UserProfileContext-41938ddc.js.map} +1 -1
- package/{VoiceMessageInputWrapper-4479a1bd.js → VoiceMessageInputWrapper-0cd90994.js} +7 -7
- package/{VoiceMessageInputWrapper-4479a1bd.js.map → VoiceMessageInputWrapper-0cd90994.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-f57301b1.js → WebAudioUtils-682aa6c0.js} +1 -1
- package/{WebAudioUtils-f57301b1.js.map → WebAudioUtils-682aa6c0.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-48b56150.js → _rollupPluginBabelHelpers-79f64283.js} +1 -1
- package/_rollupPluginBabelHelpers-79f64283.js.map +1 -0
- package/{actionTypes-9badb1b4.js → actionTypes-52102db0.js} +1 -1
- package/{actionTypes-9badb1b4.js.map → actionTypes-52102db0.js.map} +1 -1
- package/cjs/App.js +46 -46
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +39 -39
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +34 -34
- package/cjs/Channel/components/MessageInput.js +27 -27
- package/cjs/Channel/components/MessageList.js +35 -35
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +39 -39
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +30 -30
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-c90e6d9b.js → ChannelListProvider-b0a363e0.js} +8 -8
- package/cjs/{ChannelListProvider-c90e6d9b.js.map → ChannelListProvider-b0a363e0.js.map} +1 -1
- package/cjs/{ChannelProvider-6da44044.js → ChannelProvider-cf5867c2.js} +10 -10
- package/cjs/{ChannelProvider-6da44044.js.map → ChannelProvider-cf5867c2.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-ff9bb9da.js → CreateChannelProvider-f82d812f.js} +1 -1
- package/cjs/{CreateChannelProvider-ff9bb9da.js.map → CreateChannelProvider-f82d812f.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-4c1a8e44.js → LocalizationContext-498cb747.js} +3 -3
- package/cjs/{LocalizationContext-4c1a8e44.js.map → LocalizationContext-498cb747.js.map} +1 -1
- package/cjs/{MediaQueryContext-9f3958fe.js → MediaQueryContext-b9c2ec1f.js} +1 -1
- package/cjs/{MediaQueryContext-9f3958fe.js.map → MediaQueryContext-b9c2ec1f.js.map} +1 -1
- package/cjs/{MemberList-1ad4eda5.js → MemberList-13ba769f.js} +5 -5
- package/cjs/{MemberList-1ad4eda5.js.map → MemberList-13ba769f.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 +19 -19
- package/cjs/OpenChannel/components/OpenChannelMessage.js +28 -28
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +32 -32
- package/cjs/OpenChannel/components/OpenChannelUI.js +32 -32
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +32 -32
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-f7387ce4.js → OpenChannelListProvider-02d6d44b.js} +3 -3
- package/cjs/{OpenChannelListProvider-f7387ce4.js.map → OpenChannelListProvider-02d6d44b.js.map} +1 -1
- package/cjs/{OpenChannelProvider-0bbac562.js → OpenChannelProvider-850b9cd0.js} +7 -7
- package/cjs/{OpenChannelProvider-0bbac562.js.map → OpenChannelProvider-850b9cd0.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-63e870f4.js → RemoveMessageModal-457b1535.js} +3 -3
- package/cjs/{RemoveMessageModal-63e870f4.js.map → RemoveMessageModal-457b1535.js.map} +1 -1
- package/cjs/SendbirdProvider.js +12 -12
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +30 -30
- package/cjs/Thread/components/ParentMessageInfoItem.js +18 -18
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +33 -33
- package/cjs/Thread/components/ThreadListItem.js +33 -33
- package/cjs/Thread/components/ThreadMessageInput.js +28 -28
- package/cjs/Thread/components/ThreadUI.js +37 -37
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +37 -37
- package/cjs/{ThreadProvider-ca9e5e4f.js → ThreadProvider-37f2f0a3.js} +7 -7
- package/cjs/{ThreadProvider-ca9e5e4f.js.map → ThreadProvider-37f2f0a3.js.map} +1 -1
- package/cjs/{UserProfileContext-34f6be33.js → UserProfileContext-617420c9.js} +1 -1
- package/cjs/{UserProfileContext-34f6be33.js.map → UserProfileContext-617420c9.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-770a185c.js → VoiceMessageInputWrapper-43c29f38.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-770a185c.js.map → VoiceMessageInputWrapper-43c29f38.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-70bcccc3.js → WebAudioUtils-2b845cd2.js} +1 -1
- package/cjs/{WebAudioUtils-70bcccc3.js.map → WebAudioUtils-2b845cd2.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-8164e35a.js → _rollupPluginBabelHelpers-c2313dcd.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-c2313dcd.js.map +1 -0
- package/cjs/{actionTypes-4a2939b3.js → actionTypes-0e0d2d59.js} +1 -1
- package/cjs/{actionTypes-4a2939b3.js.map → actionTypes-0e0d2d59.js.map} +1 -1
- package/cjs/{color-f43f059a.js → color-7f7508e6.js} +1 -1
- package/cjs/{color-f43f059a.js.map → color-7f7508e6.js.map} +1 -1
- package/cjs/{compareIds-e5f7db38.js → compareIds-27f7912f.js} +1 -1
- package/cjs/{compareIds-e5f7db38.js.map → compareIds-27f7912f.js.map} +1 -1
- package/cjs/{const-611ac2dd.js → const-61fc7be6.js} +1 -1
- package/cjs/{const-611ac2dd.js.map → const-61fc7be6.js.map} +1 -1
- package/cjs/{const-e7388711.js → const-e22c9d25.js} +1 -1
- package/cjs/{const-e7388711.js.map → const-e22c9d25.js.map} +1 -1
- package/cjs/{consts-f8bd3346.js → consts-3764bd68.js} +1 -1
- package/cjs/{consts-f8bd3346.js.map → consts-3764bd68.js.map} +1 -1
- package/cjs/{consts-e0f44b83.js → consts-46fa3a3a.js} +1 -1
- package/cjs/{consts-e0f44b83.js.map → consts-46fa3a3a.js.map} +1 -1
- package/cjs/{consts-82dce75d.js → consts-8605e767.js} +1 -1
- package/cjs/{consts-82dce75d.js.map → consts-8605e767.js.map} +1 -1
- package/cjs/{consts-d9ecf2d7.js → consts-ad849467.js} +1 -1
- package/cjs/{consts-d9ecf2d7.js.map → consts-ad849467.js.map} +1 -1
- package/cjs/{context-32080e3d.js → context-a4af6955.js} +2 -2
- package/cjs/{context-32080e3d.js.map → context-a4af6955.js.map} +1 -1
- package/cjs/dist/index.css +55 -55
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-0f5a2c3b.js → index-0b9ad941.js} +7 -7
- package/cjs/{index-0f5a2c3b.js.map → index-0b9ad941.js.map} +1 -1
- package/cjs/{index-cc5b51fb.js → index-0dff9958.js} +7 -7
- package/cjs/{index-cc5b51fb.js.map → index-0dff9958.js.map} +1 -1
- package/cjs/{index-946fe9b8.js → index-2ac1f908.js} +2 -2
- package/cjs/{index-946fe9b8.js.map → index-2ac1f908.js.map} +1 -1
- package/cjs/{index-bddcf750.js → index-3626dfeb.js} +2 -2
- package/cjs/{index-bddcf750.js.map → index-3626dfeb.js.map} +1 -1
- package/cjs/{index-584a87f3.js → index-67f813a3.js} +1 -1
- package/cjs/{index-584a87f3.js.map → index-67f813a3.js.map} +1 -1
- package/cjs/{index-450c5c4a.js → index-71173fef.js} +2 -2
- package/cjs/{index-450c5c4a.js.map → index-71173fef.js.map} +1 -1
- package/cjs/{index-1837f392.js → index-8b5a13fe.js} +5 -5
- package/cjs/{index-1837f392.js.map → index-8b5a13fe.js.map} +1 -1
- package/cjs/{index-ecac7544.js → index-8b6bb1ee.js} +1 -1
- package/cjs/{index-ecac7544.js.map → index-8b6bb1ee.js.map} +1 -1
- package/cjs/{index-58bddb18.js → index-983f9d7a.js} +4 -4
- package/cjs/{index-58bddb18.js.map → index-983f9d7a.js.map} +1 -1
- package/cjs/{index-d217a491.js → index-a415176f.js} +2 -2
- package/cjs/{index-d217a491.js.map → index-a415176f.js.map} +1 -1
- package/cjs/{index-6253d289.js → index-a4887600.js} +3 -3
- package/cjs/{index-6253d289.js.map → index-a4887600.js.map} +1 -1
- package/cjs/{index-fc3f351f.js → index-ac1b0ab9.js} +2 -2
- package/cjs/{index-fc3f351f.js.map → index-ac1b0ab9.js.map} +1 -1
- package/cjs/{index-6295003c.js → index-b8a20afd.js} +2 -2
- package/cjs/{index-6295003c.js.map → index-b8a20afd.js.map} +1 -1
- package/cjs/{index-911b358f.js → index-cd680348.js} +3 -3
- package/cjs/{index-911b358f.js.map → index-cd680348.js.map} +1 -1
- package/cjs/{index-f2afea13.js → index-ddcf90b1.js} +4 -4
- package/cjs/{index-f2afea13.js.map → index-ddcf90b1.js.map} +1 -1
- package/cjs/{index-a9a828c4.js → index-ead97d9a.js} +4 -4
- package/cjs/{index-a9a828c4.js.map → index-ead97d9a.js.map} +1 -1
- package/cjs/index.js +50 -50
- package/cjs/{index.module-d62bc038.js → index.module-cf39e3b9.js} +1 -1
- package/cjs/{index.module-d62bc038.js.map → index.module-cf39e3b9.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-9717efda.js → stringSet-061fe0c1.js} +1 -1
- package/cjs/{stringSet-9717efda.js.map → stringSet-061fe0c1.js.map} +1 -1
- package/cjs/{tokenize-b42df26a.js → tokenize-7e34a56e.js} +3 -3
- package/cjs/{tokenize-b42df26a.js.map → tokenize-7e34a56e.js.map} +1 -1
- package/cjs/{topics-11bf2ffa.js → topics-c8adbede.js} +1 -1
- package/cjs/{topics-11bf2ffa.js.map → topics-c8adbede.js.map} +1 -1
- package/cjs/{tslib.es6-b412d11d.js → tslib.es6-8f4b0cfe.js} +1 -1
- package/cjs/{tslib.es6-b412d11d.js.map → tslib.es6-8f4b0cfe.js.map} +1 -1
- package/cjs/{types-997d2578.js → types-beecfca4.js} +1 -1
- package/cjs/{types-997d2578.js.map → types-beecfca4.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.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/Loader.js +1 -1
- 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 +13 -13
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +9 -9
- 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 +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +19 -19
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- 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 +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- 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 +8 -8
- package/cjs/ui/Word.js +10 -10
- package/cjs/{useLongPress-0b0040bb.js → useLongPress-f3ee01a0.js} +3 -3
- package/cjs/{useLongPress-0b0040bb.js.map → useLongPress-f3ee01a0.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-d40c9909.js → utils-1038446c.js} +1 -1
- package/cjs/{utils-d40c9909.js.map → utils-1038446c.js.map} +1 -1
- package/cjs/{utils-301360ec.js → utils-3f3c2287.js} +2 -2
- package/cjs/{utils-301360ec.js.map → utils-3f3c2287.js.map} +1 -1
- package/cjs/{utils-43d14023.js → utils-6a97ff3a.js} +1 -1
- package/cjs/{utils-43d14023.js.map → utils-6a97ff3a.js.map} +1 -1
- package/cjs/{utils-aeadc058.js → utils-98ac09d1.js} +1 -1
- package/cjs/{utils-aeadc058.js.map → utils-98ac09d1.js.map} +1 -1
- package/cjs/{uuid-d0a9c040.js → uuid-1ffa3b79.js} +1 -1
- package/cjs/{uuid-d0a9c040.js.map → uuid-1ffa3b79.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-4ecee870.js → color-73049158.js} +1 -1
- package/{color-4ecee870.js.map → color-73049158.js.map} +1 -1
- package/{compareIds-bc4cf9bf.js → compareIds-88bffa50.js} +1 -1
- package/{compareIds-bc4cf9bf.js.map → compareIds-88bffa50.js.map} +1 -1
- package/{const-8a7444d1.js → const-2919bc87.js} +1 -1
- package/{const-8a7444d1.js.map → const-2919bc87.js.map} +1 -1
- package/{const-34b3294d.js → const-df1daff9.js} +1 -1
- package/{const-34b3294d.js.map → const-df1daff9.js.map} +1 -1
- package/{consts-7a61df9f.js → consts-0ea80430.js} +1 -1
- package/{consts-7a61df9f.js.map → consts-0ea80430.js.map} +1 -1
- package/{consts-165100af.js → consts-1861f891.js} +1 -1
- package/{consts-165100af.js.map → consts-1861f891.js.map} +1 -1
- package/{consts-96859f90.js → consts-966c9540.js} +1 -1
- package/{consts-96859f90.js.map → consts-966c9540.js.map} +1 -1
- package/{consts-81c7d9ed.js → consts-f4362414.js} +1 -1
- package/{consts-81c7d9ed.js.map → consts-f4362414.js.map} +1 -1
- package/{context-c54bc9b4.js → context-9baa8d25.js} +2 -2
- package/{context-c54bc9b4.js.map → context-9baa8d25.js.map} +1 -1
- package/dist/index.css +55 -55
- package/dist/index.css.map +1 -1
- package/{index-df6b2fc4.js → index-179bed8d.js} +2 -2
- package/{index-df6b2fc4.js.map → index-179bed8d.js.map} +1 -1
- package/{index-77a24725.js → index-61a102d7.js} +7 -7
- package/{index-77a24725.js.map → index-61a102d7.js.map} +1 -1
- package/{index-af95f2b0.js → index-91355132.js} +4 -4
- package/{index-af95f2b0.js.map → index-91355132.js.map} +1 -1
- package/{index-5cfaecc9.js → index-95b46112.js} +2 -2
- package/{index-5cfaecc9.js.map → index-95b46112.js.map} +1 -1
- package/{index-2ea26b17.js → index-9cead71b.js} +2 -2
- package/{index-2ea26b17.js.map → index-9cead71b.js.map} +1 -1
- package/{index-3ac8a689.js → index-a9183365.js} +4 -4
- package/{index-3ac8a689.js.map → index-a9183365.js.map} +1 -1
- package/{index-6574e8fd.js → index-aaa9b9f8.js} +1 -1
- package/{index-6574e8fd.js.map → index-aaa9b9f8.js.map} +1 -1
- package/{index-c4ff34e4.js → index-ac5ad4f9.js} +3 -3
- package/{index-c4ff34e4.js.map → index-ac5ad4f9.js.map} +1 -1
- package/{index-6f66895e.js → index-ad125f51.js} +1 -1
- package/{index-6f66895e.js.map → index-ad125f51.js.map} +1 -1
- package/{index-f5d419ec.js → index-c70af435.js} +4 -4
- package/{index-f5d419ec.js.map → index-c70af435.js.map} +1 -1
- package/{index-538fa479.js → index-cce0e324.js} +2 -2
- package/{index-538fa479.js.map → index-cce0e324.js.map} +1 -1
- package/{index-adfdd634.js → index-d37f34a3.js} +2 -2
- package/{index-adfdd634.js.map → index-d37f34a3.js.map} +1 -1
- package/{index-1db30515.js → index-e378ca4e.js} +2 -2
- package/{index-1db30515.js.map → index-e378ca4e.js.map} +1 -1
- package/{index-e2834120.js → index-f0f9692b.js} +7 -7
- package/{index-e2834120.js.map → index-f0f9692b.js.map} +1 -1
- package/{index-e5062739.js → index-fa96d1c0.js} +5 -5
- package/{index-e5062739.js.map → index-fa96d1c0.js.map} +1 -1
- package/{index-47ba6604.js → index-fd4fc9f0.js} +3 -3
- package/{index-47ba6604.js.map → index-fd4fc9f0.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +50 -50
- package/{index.module-a2145ffe.js → index.module-e6530c0d.js} +1 -1
- package/{index.module-a2145ffe.js.map → index.module-e6530c0d.js.map} +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-e0fd81b2.js → stringSet-9d579825.js} +1 -1
- package/{stringSet-e0fd81b2.js.map → stringSet-9d579825.js.map} +1 -1
- package/{tokenize-22d48b61.js → tokenize-bd8e35b2.js} +3 -3
- package/{tokenize-22d48b61.js.map → tokenize-bd8e35b2.js.map} +1 -1
- package/{topics-bc5fee43.js → topics-f9301447.js} +1 -1
- package/{topics-bc5fee43.js.map → topics-f9301447.js.map} +1 -1
- package/{tslib.es6-85bcd95d.js → tslib.es6-d6e50ec3.js} +1 -1
- package/{tslib.es6-85bcd95d.js.map → tslib.es6-d6e50ec3.js.map} +1 -1
- package/{types-84207ac4.js → types-d0a9adf8.js} +1 -1
- package/{types-84207ac4.js.map → types-d0a9adf8.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +28 -28
- package/ui/MessageInput.js +13 -13
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +19 -19
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- 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 +8 -8
- package/ui/Word.js +10 -10
- package/{useLongPress-08d9369b.js → useLongPress-f119ff35.js} +3 -3
- package/{useLongPress-08d9369b.js.map → useLongPress-f119ff35.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-13ac01f0.js → utils-0c8334fa.js} +2 -2
- package/{utils-13ac01f0.js.map → utils-0c8334fa.js.map} +1 -1
- package/{utils-7dc80efd.js → utils-86d65b96.js} +1 -1
- package/{utils-7dc80efd.js.map → utils-86d65b96.js.map} +1 -1
- package/{utils-3c97842b.js → utils-e53018f1.js} +1 -1
- package/{utils-3c97842b.js.map → utils-e53018f1.js.map} +1 -1
- package/{utils-4aea6ebc.js → utils-e659e765.js} +1 -1
- package/{utils-4aea6ebc.js.map → utils-e659e765.js.map} +1 -1
- package/{uuid-39d923b9.js → uuid-86cb48e0.js} +1 -1
- package/{uuid-39d923b9.js.map → uuid-86cb48e0.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/_rollupPluginBabelHelpers-48b56150.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-8164e35a.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-946fe9b8.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport { getOutgoingMessageState, OutgoingMessageStates } from './exports/getOutgoingMessageState';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: 'ADMIN',\n TEXT: 'TEXT',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n}\nexport const UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: 'ADMIN',\n TEXT: 'TEXT',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n};\nexport interface UIKitFileTypes {\n IMAGE: 'IMAGE',\n AUDIO: 'AUDIO',\n VIDEO: 'VIDEO',\n GIF: 'GIF',\n VOICE: 'VOICE',\n OTHERS: 'OTHERS',\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: 'IMAGE',\n AUDIO: 'AUDIO',\n VIDEO: 'VIDEO',\n GIF: 'GIF',\n VOICE: 'VOICE',\n OTHERS: 'OTHERS',\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\n\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isAdminMessage?.() || (message?.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isUserMessage?.() || (message?.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isFileMessage?.() || (message?.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage | FileMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && (\n message.ogMetaData?.url\n || message.ogMetaData?.title\n || message.ogMetaData?.description\n || message.ogMetaData?.defaultImage\n )\n);\nexport const isTextMessage = (message: UserMessage | FileMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: UserMessage | FileMessage): boolean => (\n message && isFileMessage(message) && isSupportedFileView((message as FileMessage).type)\n);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isVideo((message as FileMessage).type)\n);\nexport const isGifMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isGif((message as FileMessage).type)\n);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\nexport const isAudioMessageMimeType = (type: string): boolean => (/^audio\\//.test(type));\nexport const isVoiceMessage = (message: FileMessage): boolean => {\n // ex) audio/m4a OR audio/m4a;sbu_type=voice\n if (!(message && isFileMessage(message))) {\n return false;\n }\n const [mimeType, typeParameter] = message.type?.split(';');\n if (!isAudioMessageMimeType(mimeType) || !typeParameter) {\n return false;\n }\n const [key, value] = typeParameter?.split('=');\n if (key === 'sbu_type' && value === 'voice') {\n return true;\n }\n // ex) message.metaArrays = [{ key: 'KEY_INTERNAL_MESSAGE_TYPE', value: ['voice/m4a'] }]\n return isVoiceMessageMimeType(message.metaArrays.find((metaArray) => metaArray.key === 'KEY_INTERNAL_MESSAGE_TYPE')?.value?.[0]);\n};\nexport const isVoiceMessageMimeType = (type: string): boolean => (/^voice\\//.test(type));\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n if (isThumbnailMessage(message as FileMessage)) {\n return UIKitMessageTypes.THUMBNAIL;\n }\n if (isVoiceMessage(message as FileMessage)) {\n return UIKitFileTypes.VOICE\n }\n return UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message?.sender && getUserName(message?.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\nexport const filterChannelListParams = (params: GroupChannelListQuery, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n const searchFilter = params?.searchFilter;\n if (searchFilter?.query && searchFilter.fields?.length > 0) {\n const searchQuery = searchFilter.query;\n const searchFields = searchFilter.fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n const userIdsFilter = params?.userIdsFilter;\n if (userIdsFilter?.userIds?.length > 0) {\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => { // [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt,\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\n/**\n * @deprecated\n * use smart-components/message/utils/tokenize instead\n */\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","VOICE","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","isSentMessage","message","sendingStatus","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isFailedMessage","isPendingMessage","isSentStatus","state","SENT","DELIVERED","isAdminMessage","_a","call","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","_b","title","_c","description","_d","defaultImage","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isAudioMessageMimeType","test","isVoiceMessage","split","mimeType","typeParameter","_e","key","value","isVoiceMessageMimeType","metaArrays","find","metaArray","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","searchFilter","query","fields","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_f","nicknameContainsFilter","lowerCasedSubString_1","_g","_h","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","mentionedUser","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-2ac1f908.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport { getOutgoingMessageState, OutgoingMessageStates } from './exports/getOutgoingMessageState';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: 'ADMIN',\n TEXT: 'TEXT',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n}\nexport const UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: 'ADMIN',\n TEXT: 'TEXT',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n};\nexport interface UIKitFileTypes {\n IMAGE: 'IMAGE',\n AUDIO: 'AUDIO',\n VIDEO: 'VIDEO',\n GIF: 'GIF',\n VOICE: 'VOICE',\n OTHERS: 'OTHERS',\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: 'IMAGE',\n AUDIO: 'AUDIO',\n VIDEO: 'VIDEO',\n GIF: 'GIF',\n VOICE: 'VOICE',\n OTHERS: 'OTHERS',\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\n\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isAdminMessage?.() || (message?.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isUserMessage?.() || (message?.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isFileMessage?.() || (message?.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage | FileMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && (\n message.ogMetaData?.url\n || message.ogMetaData?.title\n || message.ogMetaData?.description\n || message.ogMetaData?.defaultImage\n )\n);\nexport const isTextMessage = (message: UserMessage | FileMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: UserMessage | FileMessage): boolean => (\n message && isFileMessage(message) && isSupportedFileView((message as FileMessage).type)\n);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isVideo((message as FileMessage).type)\n);\nexport const isGifMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isGif((message as FileMessage).type)\n);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\nexport const isAudioMessageMimeType = (type: string): boolean => (/^audio\\//.test(type));\nexport const isVoiceMessage = (message: FileMessage): boolean => {\n // ex) audio/m4a OR audio/m4a;sbu_type=voice\n if (!(message && isFileMessage(message))) {\n return false;\n }\n const [mimeType, typeParameter] = message.type?.split(';');\n if (!isAudioMessageMimeType(mimeType) || !typeParameter) {\n return false;\n }\n const [key, value] = typeParameter?.split('=');\n if (key === 'sbu_type' && value === 'voice') {\n return true;\n }\n // ex) message.metaArrays = [{ key: 'KEY_INTERNAL_MESSAGE_TYPE', value: ['voice/m4a'] }]\n return isVoiceMessageMimeType(message.metaArrays.find((metaArray) => metaArray.key === 'KEY_INTERNAL_MESSAGE_TYPE')?.value?.[0]);\n};\nexport const isVoiceMessageMimeType = (type: string): boolean => (/^voice\\//.test(type));\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n if (isThumbnailMessage(message as FileMessage)) {\n return UIKitMessageTypes.THUMBNAIL;\n }\n if (isVoiceMessage(message as FileMessage)) {\n return UIKitFileTypes.VOICE\n }\n return UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message?.sender && getUserName(message?.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\nexport const filterChannelListParams = (params: GroupChannelListQuery, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n const searchFilter = params?.searchFilter;\n if (searchFilter?.query && searchFilter.fields?.length > 0) {\n const searchQuery = searchFilter.query;\n const searchFields = searchFilter.fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n const userIdsFilter = params?.userIdsFilter;\n if (userIdsFilter?.userIds?.length > 0) {\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => { // [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt,\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\n/**\n * @deprecated\n * use smart-components/message/utils/tokenize instead\n */\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","VOICE","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","isSentMessage","message","sendingStatus","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isFailedMessage","isPendingMessage","isSentStatus","state","SENT","DELIVERED","isAdminMessage","_a","call","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","_b","title","_c","description","_d","defaultImage","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isAudioMessageMimeType","test","isVoiceMessage","split","mimeType","typeParameter","_e","key","value","isVoiceMessageMimeType","metaArrays","find","metaArray","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","searchFilter","query","fields","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_f","nicknameContainsFilter","lowerCasedSubString_1","_g","_h","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","mentionedUser","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var consts = require('./consts-
|
|
4
|
+
var consts = require('./consts-8605e767.js');
|
|
5
5
|
|
|
6
6
|
function calcScrollBottom(scrollHeight, scrollTop) {
|
|
7
7
|
return scrollHeight - scrollTop;
|
|
@@ -38,4 +38,4 @@ function useHandleOnScrollCallback(_a) {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
exports.useHandleOnScrollCallback = useHandleOnScrollCallback;
|
|
41
|
-
//# sourceMappingURL=index-
|
|
41
|
+
//# sourceMappingURL=index-3626dfeb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-3626dfeb.js","sources":["../../src/hooks/useHandleOnScrollCallback/index.ts"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { SCROLL_BUFFER } from '../../utils/consts';\n\nexport interface UseHandleOnScrollCallbackProps {\n hasMore: boolean;\n onScroll(fn: () => void): void;\n scrollRef: React.RefObject<HTMLDivElement>;\n setShowScrollDownButton?: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport function calcScrollBottom(scrollHeight: number, scrollTop: number): number {\n return scrollHeight - scrollTop\n}\n\nexport function useHandleOnScrollCallback({\n hasMore,\n onScroll,\n scrollRef,\n setShowScrollDownButton,\n}: UseHandleOnScrollCallbackProps): () => void {\n return useCallback(() => {\n const element = scrollRef.current;\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n // https://sendbird.atlassian.net/browse/SBISSUE-11759\n // the edge case where channel is inside a page that already has scroll\n // scrollintoView will move the whole page, which we dont want\n const scrollBottom = calcScrollBottom(scrollHeight, scrollTop);\n // even if there is more to fetch or not,\n // we still have to show the scroll to bottom button\n if (typeof setShowScrollDownButton === 'function') {\n setShowScrollDownButton(scrollHeight > scrollTop + clientHeight + 1)\n }\n if (!hasMore) {\n return;\n }\n if (scrollTop < SCROLL_BUFFER) {\n onScroll(() => {\n // sets the scroll position to the bottom of the new messages\n scrollRef.current.scrollTop = scrollRef.current.scrollHeight - scrollBottom;\n });\n }\n }, [\n setShowScrollDownButton,\n hasMore,\n onScroll,\n scrollRef,\n ]);\n}\n"],"names":["calcScrollBottom","scrollHeight","scrollTop","useHandleOnScrollCallback","_a","hasMore","onScroll","scrollRef","setShowScrollDownButton","useCallback","element","current","clientHeight","scrollBottom","SCROLL_BUFFER"],"mappings":";;;;;AAUgB,SAAAA,gBAAgBA,CAACC,YAAoB,EAAEC,SAAiB,EAAA;EACtE,OAAOD,YAAY,GAAGC,SAAS,CAAA;AACjC,CAAA;AAEM,SAAUC,yBAAyBA,CAACC,EAKT,EAAA;MAJ/BC,OAAO,GAAAD,EAAA,CAAAC,OAAA;IACPC,QAAQ,GAAAF,EAAA,CAAAE,QAAA;IACRC,SAAS,GAAAH,EAAA,CAAAG,SAAA;IACTC,uBAAuB,GAAAJ,EAAA,CAAAI,uBAAA,CAAA;EAEvB,OAAOC,iBAAW,CAAC,YAAA;AACjB,IAAA,IAAMC,OAAO,GAAGH,SAAS,CAACI,OAAO,CAAA;AAE/B,IAAA,IAAAT,SAAS,GAGPQ,OAAO,CAAAR,SAHA;MACTD,YAAY,GAEVS,OAAO,CAAAT,YAFG;MACZW,YAAY,GACVF,OAAO,aADG,CAAA;AAEd;AACA;AACA;AACA,IAAA,IAAMG,YAAY,GAAGb,gBAAgB,CAACC,YAAY,EAAEC,SAAS,CAAC,CAAA;AAC9D;AACA;AACA,IAAA,IAAI,OAAOM,uBAAuB,KAAK,UAAU,EAAE;MACjDA,uBAAuB,CAACP,YAAY,GAAGC,SAAS,GAAGU,YAAY,GAAG,CAAC,CAAC,CAAA;AACrE,KAAA;IACD,IAAI,CAACP,OAAO,EAAE;AACZ,MAAA,OAAA;AACD,KAAA;IACD,IAAIH,SAAS,GAAGY,oBAAa,EAAE;AAC7BR,MAAAA,QAAQ,CAAC,YAAA;AACP;QACAC,SAAS,CAACI,OAAO,CAACT,SAAS,GAAGK,SAAS,CAACI,OAAO,CAACV,YAAY,GAAGY,YAAY,CAAA;AAC7E,OAAC,CAAC,CAAA;AACH,KAAA;GACF,EAAE,CACDL,uBAAuB,EACvBH,OAAO,EACPC,QAAQ,EACRC,SAAS,CACV,CAAC,CAAA;AACJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-67f813a3.js","sources":["../../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} className={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;;;AAAA;AAGO,MAAMA,UAAU,GAAG;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-8b6bb1ee.js');
|
|
4
4
|
|
|
5
5
|
function requiredArgs(required, args) {
|
|
6
6
|
if (args.length < required) {
|
|
@@ -1854,4 +1854,4 @@ exports.format = format;
|
|
|
1854
1854
|
exports.requiredArgs = requiredArgs;
|
|
1855
1855
|
exports.toDate = toDate;
|
|
1856
1856
|
exports.toInteger = toInteger;
|
|
1857
|
-
//# sourceMappingURL=index-
|
|
1857
|
+
//# sourceMappingURL=index-71173fef.js.map
|