@sendbird/uikit-react 3.0.0-beta.2 → 3.0.0-beta.5
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 -38
- package/App.js.map +1 -1
- package/CHANGELOG.md +15 -0
- package/Channel/components/ChannelHeader.js +15 -15
- package/Channel/components/ChannelUI.js +25 -25
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +5 -5
- package/Channel/components/Message.js +31 -24
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +16 -16
- package/Channel/components/MessageList.js +24 -24
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +15 -15
- package/Channel/components/TypingIndicator.js +16 -16
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +5 -5
- package/Channel/context.js +13 -13
- package/Channel.js +24 -24
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +51 -29
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +50 -20
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +33 -25
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-7c351968.js → ChannelListProvider-a7bdd63a.js} +114 -52
- package/ChannelListProvider-a7bdd63a.js.map +1 -0
- package/{ChannelProvider-d5126903.js → ChannelProvider-923b58df.js} +9 -9
- package/{ChannelProvider-d5126903.js.map → ChannelProvider-923b58df.js.map} +1 -1
- package/ChannelSettings/components/AdminPanel.js +15 -15
- package/ChannelSettings/components/ChannelProfile.js +13 -13
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/ChannelSettings/components/LeaveChannel.js +10 -10
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteMembers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +3 -3
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-ddfd92e6.js → CreateChannelProvider-e491613f.js} +1 -1
- package/{CreateChannelProvider-ddfd92e6.js.map → CreateChannelProvider-e491613f.js.map} +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-b021af8f.js → LocalizationContext-0e05ddca.js} +3 -3
- package/{LocalizationContext-b021af8f.js.map → LocalizationContext-0e05ddca.js.map} +1 -1
- package/{MemberList-323e7517.js → MemberList-ed7da941.js} +5 -5
- package/{MemberList-323e7517.js.map → MemberList-ed7da941.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +16 -16
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +21 -21
- package/OpenChannel/components/OpenChannelMessageList.js +23 -23
- package/OpenChannel/components/OpenChannelUI.js +23 -23
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +23 -23
- package/{OpenChannelProvider-abc4ab98.js → OpenChannelProvider-45a848a3.js} +7 -7
- package/{OpenChannelProvider-abc4ab98.js.map → OpenChannelProvider-45a848a3.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- 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 +2 -2
- package/OpenChannelSettings.js +17 -17
- package/README.md +18 -0
- package/SendbirdProvider.js +21 -13
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-daa99f9b.js → UserProfileContext-90704c73.js} +1 -1
- package/{UserProfileContext-daa99f9b.js.map → UserProfileContext-90704c73.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-8e4fae98.js → _rollupPluginBabelHelpers-c7eeba03.js} +1 -1
- package/{_rollupPluginBabelHelpers-8e4fae98.js.map → _rollupPluginBabelHelpers-c7eeba03.js.map} +1 -1
- package/{actionTypes-189daf51.js → actionTypes-e0f4e19c.js} +1 -1
- package/{actionTypes-189daf51.js.map → actionTypes-e0f4e19c.js.map} +1 -1
- package/cjs/App.js +46 -38
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +15 -15
- package/cjs/Channel/components/ChannelUI.js +26 -26
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +5 -5
- package/cjs/Channel/components/Message.js +31 -24
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +16 -16
- package/cjs/Channel/components/MessageList.js +24 -24
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +15 -15
- package/cjs/Channel/components/TypingIndicator.js +18 -15
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +5 -5
- package/cjs/Channel/context.js +13 -13
- package/cjs/Channel.js +24 -24
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +51 -29
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +50 -20
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +9 -8
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +33 -25
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-44dde549.js → ChannelListProvider-01864e22.js} +114 -51
- package/cjs/ChannelListProvider-01864e22.js.map +1 -0
- package/cjs/{ChannelProvider-e0aaab26.js → ChannelProvider-3ef2a755.js} +9 -9
- package/cjs/{ChannelProvider-e0aaab26.js.map → ChannelProvider-3ef2a755.js.map} +1 -1
- package/cjs/ChannelSettings/components/AdminPanel.js +15 -15
- package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteMembers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +3 -3
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-bdf9c39b.js → CreateChannelProvider-0d01dcbf.js} +1 -1
- package/cjs/{CreateChannelProvider-bdf9c39b.js.map → CreateChannelProvider-0d01dcbf.js.map} +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-3b5ce8ae.js → LocalizationContext-4c0a4a70.js} +3 -3
- package/cjs/{LocalizationContext-3b5ce8ae.js.map → LocalizationContext-4c0a4a70.js.map} +1 -1
- package/cjs/{MemberList-ef9e43c3.js → MemberList-b917d2b8.js} +5 -5
- package/cjs/{MemberList-ef9e43c3.js.map → MemberList-b917d2b8.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -16
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +21 -21
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +23 -23
- package/cjs/OpenChannel/components/OpenChannelUI.js +23 -23
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +23 -23
- package/cjs/{OpenChannelProvider-9ce7c998.js → OpenChannelProvider-862a55ec.js} +7 -7
- package/cjs/{OpenChannelProvider-9ce7c998.js.map → OpenChannelProvider-862a55ec.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- 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 +2 -2
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/SendbirdProvider.js +21 -13
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-f0bdfbb8.js → UserProfileContext-0081d7b2.js} +1 -1
- package/cjs/{UserProfileContext-f0bdfbb8.js.map → UserProfileContext-0081d7b2.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-e54d2387.js → _rollupPluginBabelHelpers-08d1d0ec.js} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-e54d2387.js.map → _rollupPluginBabelHelpers-08d1d0ec.js.map} +1 -1
- package/cjs/{actionTypes-267d4c79.js → actionTypes-03bdd863.js} +1 -1
- package/cjs/{actionTypes-267d4c79.js.map → actionTypes-03bdd863.js.map} +1 -1
- package/cjs/{color-0f078673.js → color-37edcf95.js} +1 -1
- package/cjs/{color-0f078673.js.map → color-37edcf95.js.map} +1 -1
- package/cjs/{compareIds-176a582b.js → compareIds-1cb14940.js} +1 -1
- package/cjs/{compareIds-176a582b.js.map → compareIds-1cb14940.js.map} +1 -1
- package/cjs/{const-4bf0e8b4.js → const-21636adb.js} +1 -1
- package/cjs/{const-4bf0e8b4.js.map → const-21636adb.js.map} +1 -1
- package/cjs/{const-ccf192c5.js → const-64185108.js} +1 -1
- package/cjs/{const-ccf192c5.js.map → const-64185108.js.map} +1 -1
- package/cjs/{context-0cbe196d.js → context-8f183eb3.js} +2 -2
- package/cjs/{context-0cbe196d.js.map → context-8f183eb3.js.map} +1 -1
- package/cjs/{index-ed053e45.js → index-1a6c1893.js} +1 -1
- package/cjs/{index-ed053e45.js.map → index-1a6c1893.js.map} +1 -1
- package/cjs/{index-c0693be4.js → index-23c51d89.js} +2 -2
- package/cjs/{index-c0693be4.js.map → index-23c51d89.js.map} +1 -1
- package/cjs/{index-21f31180.js → index-30e8e785.js} +3 -3
- package/cjs/{index-21f31180.js.map → index-30e8e785.js.map} +1 -1
- package/cjs/{index-d9439e95.js → index-4e4d7494.js} +1 -1
- package/cjs/{index-d9439e95.js.map → index-4e4d7494.js.map} +1 -1
- package/cjs/{index-22f07209.js → index-630f8d1b.js} +3 -3
- package/cjs/{index-22f07209.js.map → index-630f8d1b.js.map} +1 -1
- package/cjs/{index-d4f42e73.js → index-6d82098c.js} +4 -4
- package/cjs/{index-d4f42e73.js.map → index-6d82098c.js.map} +1 -1
- package/cjs/{index-46522cf0.js → index-7532e1ca.js} +4 -4
- package/cjs/{index-46522cf0.js.map → index-7532e1ca.js.map} +1 -1
- package/cjs/{index-081c9614.js → index-8479199c.js} +6 -6
- package/cjs/{index-081c9614.js.map → index-8479199c.js.map} +1 -1
- package/cjs/{index-723733db.js → index-94e8cf13.js} +4 -4
- package/cjs/{index-723733db.js.map → index-94e8cf13.js.map} +1 -1
- package/cjs/{index-002a349d.js → index-a40d57a5.js} +2 -2
- package/cjs/{index-002a349d.js.map → index-a40d57a5.js.map} +1 -1
- package/cjs/{index-0159bc57.js → index-dcd38046.js} +2 -2
- package/cjs/{index-0159bc57.js.map → index-dcd38046.js.map} +1 -1
- package/cjs/index.css +78 -76
- package/cjs/index.css.map +1 -1
- package/cjs/index.js +36 -36
- package/cjs/{openChannelUtils-cecaf987.js → openChannelUtils-46a3a403.js} +1 -1
- package/cjs/{openChannelUtils-cecaf987.js.map → openChannelUtils-46a3a403.js.map} +1 -1
- package/cjs/sendBirdSelectors.js +1 -1
- package/cjs/{stringSet-f4da182b.js → stringSet-d9121aa6.js} +1 -1
- package/cjs/{stringSet-f4da182b.js.map → stringSet-d9121aa6.js.map} +1 -1
- package/cjs/{topics-c2c30f09.js → topics-4fc933cb.js} +1 -1
- package/cjs/{topics-c2c30f09.js.map → topics-4fc933cb.js.map} +1 -1
- package/cjs/{tslib.es6-d7d0a427.js → tslib.es6-571bbfc9.js} +1 -1
- package/cjs/{tslib.es6-d7d0a427.js.map → tslib.es6-571bbfc9.js.map} +1 -1
- package/cjs/ui/Accordion.js +4 -4
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +3 -3
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/Button.js +4 -4
- package/cjs/ui/ChannelAvatar.js +4 -4
- package/cjs/ui/ChannelPreview.js +12 -12
- package/cjs/ui/ChatHeader.js +8 -8
- package/cjs/ui/Checkbox.js +1 -1
- package/cjs/ui/ConnectionStatus.js +5 -5
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/Dropdown.js +3 -3
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +7 -7
- package/cjs/ui/Icon.js +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +3 -3
- package/cjs/ui/Label.js +3 -3
- package/cjs/ui/LinkLabel.js +3 -3
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MessageContent.js +14 -14
- package/cjs/ui/MessageInput.js +10 -10
- package/cjs/ui/MessageItemMenu.js +7 -7
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +10 -10
- package/cjs/ui/MessageStatus.js +8 -8
- package/cjs/ui/Modal.js +8 -8
- package/cjs/ui/MutedAvatarOverlay.js +1 -1
- package/cjs/ui/OGMessageItemBody.js +9 -9
- package/cjs/ui/OpenChannelAdminMessage.js +4 -4
- package/cjs/ui/OpenChannelAvatar.js +7 -7
- package/cjs/ui/OpenchannelConversationHeader.js +7 -7
- package/cjs/ui/OpenchannelFileMessage.js +14 -14
- package/cjs/ui/OpenchannelOGMessage.js +14 -14
- package/cjs/ui/OpenchannelThumbnailMessage.js +13 -13
- package/cjs/ui/OpenchannelUserMessage.js +14 -14
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessageInput.js +7 -7
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +9 -9
- package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{utils-3e73a146.js → utils-63225dc9.js} +1 -1
- package/cjs/{utils-3e73a146.js.map → utils-63225dc9.js.map} +1 -1
- package/cjs/{utils-c55d20dc.js → utils-b88eb3e0.js} +1 -1
- package/cjs/{utils-c55d20dc.js.map → utils-b88eb3e0.js.map} +1 -1
- package/cjs/{utils-b95288a8.js → utils-f734965d.js} +1 -1
- package/cjs/{utils-b95288a8.js.map → utils-f734965d.js.map} +1 -1
- package/cjs/{uuid-ba6cc3c5.js → uuid-086f0c34.js} +1 -1
- package/cjs/{uuid-ba6cc3c5.js.map → uuid-086f0c34.js.map} +1 -1
- package/cjs/withSendBird.js +1 -1
- package/{color-2863fbbe.js → color-a3d3742c.js} +1 -1
- package/{color-2863fbbe.js.map → color-a3d3742c.js.map} +1 -1
- package/{compareIds-48d87cc5.js → compareIds-2bfd667a.js} +1 -1
- package/{compareIds-48d87cc5.js.map → compareIds-2bfd667a.js.map} +1 -1
- package/{const-09c22c50.js → const-9f83647a.js} +1 -1
- package/{const-09c22c50.js.map → const-9f83647a.js.map} +1 -1
- package/{const-3f63e129.js → const-a8df15de.js} +1 -1
- package/{const-3f63e129.js.map → const-a8df15de.js.map} +1 -1
- package/{context-7877e5bb.js → context-ae164d45.js} +2 -2
- package/{context-7877e5bb.js.map → context-ae164d45.js.map} +1 -1
- package/dist/index.css +78 -76
- package/dist/index.css.map +1 -1
- package/{index-ad4c9e58.js → index-03baba6a.js} +3 -3
- package/{index-ad4c9e58.js.map → index-03baba6a.js.map} +1 -1
- package/{index-4889e530.js → index-13eb0f5e.js} +4 -4
- package/{index-4889e530.js.map → index-13eb0f5e.js.map} +1 -1
- package/{index-f119413c.js → index-29563598.js} +2 -2
- package/{index-f119413c.js.map → index-29563598.js.map} +1 -1
- package/{index-4a59a866.js → index-2c56786f.js} +2 -2
- package/{index-4a59a866.js.map → index-2c56786f.js.map} +1 -1
- package/{index-1fd114b0.js → index-80e330a9.js} +1 -1
- package/{index-1fd114b0.js.map → index-80e330a9.js.map} +1 -1
- package/{index-358226c7.js → index-89f5a4ba.js} +6 -6
- package/{index-358226c7.js.map → index-89f5a4ba.js.map} +1 -1
- package/{index-86b0a341.js → index-d7840fad.js} +4 -4
- package/{index-86b0a341.js.map → index-d7840fad.js.map} +1 -1
- package/{index-303a3b6e.js → index-df459121.js} +4 -4
- package/{index-303a3b6e.js.map → index-df459121.js.map} +1 -1
- package/{index-a611bd38.js → index-e1b93b3a.js} +3 -3
- package/{index-a611bd38.js.map → index-e1b93b3a.js.map} +1 -1
- package/{index-353f13f3.js → index-e7c0bc26.js} +1 -1
- package/{index-353f13f3.js.map → index-e7c0bc26.js.map} +1 -1
- package/{index-41a6f4f2.js → index-f78ebc31.js} +3 -3
- package/{index-41a6f4f2.js.map → index-f78ebc31.js.map} +1 -1
- package/index.css +78 -76
- package/index.css.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +36 -36
- package/{openChannelUtils-024b797a.js → openChannelUtils-ae1d6038.js} +1 -1
- package/{openChannelUtils-024b797a.js.map → openChannelUtils-ae1d6038.js.map} +1 -1
- package/package.json +2 -2
- package/sendBirdSelectors.js +1 -1
- package/{stringSet-91746bf1.js → stringSet-6c9c68ae.js} +1 -1
- package/{stringSet-91746bf1.js.map → stringSet-6c9c68ae.js.map} +1 -1
- package/{topics-17d99dd6.js → topics-d347c996.js} +1 -1
- package/{topics-17d99dd6.js.map → topics-d347c996.js.map} +1 -1
- package/{tslib.es6-83aa13f5.js → tslib.es6-61821688.js} +1 -1
- package/{tslib.es6-83aa13f5.js.map → tslib.es6-61821688.js.map} +1 -1
- package/ui/Accordion.js +4 -4
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +3 -3
- package/ui/Badge.js +5 -5
- package/ui/Button.js +4 -4
- package/ui/ChannelAvatar.js +4 -4
- package/ui/ChannelPreview.js +12 -12
- package/ui/ChatHeader.js +8 -8
- package/ui/Checkbox.js +1 -1
- package/ui/ConnectionStatus.js +5 -5
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/Dropdown.js +3 -3
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +7 -7
- package/ui/Icon.js +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +3 -3
- package/ui/Label.js +3 -3
- package/ui/LinkLabel.js +3 -3
- package/ui/Loader.js +1 -1
- package/ui/MessageContent.js +14 -14
- package/ui/MessageInput.js +10 -10
- package/ui/MessageItemMenu.js +7 -7
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +10 -10
- package/ui/MessageStatus.js +8 -8
- package/ui/Modal.js +8 -8
- package/ui/MutedAvatarOverlay.js +1 -1
- package/ui/OGMessageItemBody.js +9 -9
- package/ui/OpenChannelAdminMessage.js +4 -4
- package/ui/OpenChannelAvatar.js +7 -7
- package/ui/OpenchannelConversationHeader.js +7 -7
- package/ui/OpenchannelFileMessage.js +14 -14
- package/ui/OpenchannelOGMessage.js +14 -14
- package/ui/OpenchannelThumbnailMessage.js +13 -13
- package/ui/OpenchannelUserMessage.js +14 -14
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +7 -7
- package/ui/QuoteMessageInput.js +7 -7
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +9 -9
- package/ui/ThumbnailMessageItemBody.js +3 -3
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +9 -9
- package/useSendbirdStateContext.js +1 -1
- package/{utils-9ef11656.js → utils-4e85584a.js} +1 -1
- package/{utils-9ef11656.js.map → utils-4e85584a.js.map} +1 -1
- package/{utils-7d39b941.js → utils-5e25aca3.js} +1 -1
- package/{utils-7d39b941.js.map → utils-5e25aca3.js.map} +1 -1
- package/{utils-5395ff17.js → utils-aed86fb8.js} +1 -1
- package/{utils-5395ff17.js.map → utils-aed86fb8.js.map} +1 -1
- package/{uuid-6d14d007.js → uuid-6e6389e2.js} +1 -1
- package/{uuid-6d14d007.js.map → uuid-6e6389e2.js.map} +1 -1
- package/withSendBird.js +1 -1
- package/ChannelListProvider-7c351968.js.map +0 -1
- package/cjs/ChannelListProvider-44dde549.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-002a349d.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import SendBird, { AdminMessage, Emoji, EmojiCategory, EmojiContainer, FileMessage, GroupChannel, GroupChannelListQuery, Member, MessageListParams, OpenChannel, Reaction, SendBirdInstance, User, UserMessage } from \"sendbird\";\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}\nconst 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 OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\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 interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\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};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\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): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: UserMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: UserMessage): 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: SendBird.UserMessage | SendBird.FileMessage | SendBird.AdminMessage): string => {\n if (isAdminMessage(message as SendBird.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 return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : 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: SendBirdInstance,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n useReaction: 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?.useReaction)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.isUsingReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.useReaction;\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 if (params?.messageType && params.messageType !== message.messageType) {\n return false;\n }\n if (params?.customTypes?.length > 0) {\n const customTypes = params.customTypes.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?.senderUserIds && params?.senderUserIds?.length > 0) {\n if (message?.isUserMessage() || message.isFileMessage()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIds?.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\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage && channel.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_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 if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\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?.memberStateFilter) {\n switch (params.memberStateFilter) {\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<SendBird.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 { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users : Array<SendBird.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","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","isGroupChannel","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","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","concat","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","__spreadArray","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","customTypes","item","includes","customType","senderUserIds","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypesFilter","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","channelUrlsFilter","memberStateFilter","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","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-a40d57a5.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import SendBird, { AdminMessage, Emoji, EmojiCategory, EmojiContainer, FileMessage, GroupChannel, GroupChannelListQuery, Member, MessageListParams, OpenChannel, Reaction, SendBirdInstance, User, UserMessage } from \"sendbird\";\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}\nconst 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 OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\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 interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\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};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\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): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: UserMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: UserMessage): 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: SendBird.UserMessage | SendBird.FileMessage | SendBird.AdminMessage): string => {\n if (isAdminMessage(message as SendBird.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 return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : 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: SendBirdInstance,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n useReaction: 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?.useReaction)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.isUsingReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.useReaction;\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 if (params?.messageType && params.messageType !== message.messageType) {\n return false;\n }\n if (params?.customTypes?.length > 0) {\n const customTypes = params.customTypes.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?.senderUserIds && params?.senderUserIds?.length > 0) {\n if (message?.isUserMessage() || message.isFileMessage()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIds?.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\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage && channel.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_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 if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\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?.memberStateFilter) {\n switch (params.memberStateFilter) {\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<SendBird.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 { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users : Array<SendBird.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","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","isGroupChannel","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","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","concat","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","__spreadArray","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","customTypes","item","includes","customType","senderUserIds","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypesFilter","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","channelUrlsFilter","memberStateFilter","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","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-4e4d7494.js');
|
|
4
4
|
|
|
5
5
|
function requiredArgs(required, args) {
|
|
6
6
|
if (args.length < required) {
|
|
@@ -1877,4 +1877,4 @@ exports.requiredArgs = requiredArgs;
|
|
|
1877
1877
|
exports.subMilliseconds = subMilliseconds;
|
|
1878
1878
|
exports.toDate = toDate;
|
|
1879
1879
|
exports.toInteger = toInteger;
|
|
1880
|
-
//# sourceMappingURL=index-
|
|
1880
|
+
//# sourceMappingURL=index-dcd38046.js.map
|