@sendbird/uikit-react 3.1.1 → 3.1.2
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 +35 -35
- package/CHANGELOG.md +29 -0
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +26 -26
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +18 -18
- package/Channel/components/FrozenNotification.js +5 -5
- package/Channel/components/Message.js +23 -23
- package/Channel/components/MessageInput.js +20 -20
- package/Channel/components/MessageList.js +25 -25
- package/Channel/components/RemoveMessageModal.js +22 -23
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +19 -19
- package/Channel/components/TypingIndicator.js +18 -18
- package/Channel/components/UnreadCount.js +5 -5
- package/Channel/context.js +17 -17
- package/Channel.js +26 -26
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +30 -30
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +23 -23
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +18 -18
- package/ChannelList/context.js +12 -12
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-bdac2e90.js → ChannelListProvider-9c82d370.js} +9 -9
- package/ChannelListProvider-9c82d370.js.map +1 -0
- package/{ChannelProvider-0174d0f3.js → ChannelProvider-d891cf5f.js} +31 -30
- package/ChannelProvider-d891cf5f.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +13 -14
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +22 -22
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +14 -15
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +12 -11
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +19 -19
- package/ChannelSettings/components/UserListItem.js +12 -12
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +23 -23
- package/CreateChannel/components/CreateChannelUI.js +16 -16
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +16 -16
- package/CreateChannel/components/SelectChannelType.js +11 -10
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +16 -16
- package/{CreateChannelProvider-1cf4ef27.js → CreateChannelProvider-0af2a424.js} +1 -1
- package/CreateChannelProvider-0af2a424.js.map +1 -0
- package/EditUserProfile/components/EditUserProfileUI.js +14 -14
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +15 -15
- package/{LocalizationContext-61a4a931.js → LocalizationContext-2a073ef0.js} +3 -3
- package/LocalizationContext-2a073ef0.js.map +1 -0
- package/{MemberList-24ad6b63.js → MemberList-0acc36c3.js} +6 -6
- package/{MemberList-24ad6b63.js.map → MemberList-0acc36c3.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +12 -12
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +10 -3
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +12 -12
- package/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/OpenChannel/components/OpenChannelHeader.js +17 -17
- package/OpenChannel/components/OpenChannelInput.js +21 -21
- package/OpenChannel/components/OpenChannelMessage.js +29 -29
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +28 -28
- package/OpenChannel/components/OpenChannelUI.js +28 -28
- package/OpenChannel/context.js +14 -14
- package/OpenChannel.js +28 -28
- package/{OpenChannelProvider-9b3a6eb1.js → OpenChannelProvider-2e3fa2dd.js} +15 -14
- package/{OpenChannelProvider-9b3a6eb1.js.map → OpenChannelProvider-2e3fa2dd.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +18 -19
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +16 -17
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +20 -20
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +20 -20
- package/OpenChannelSettings/context.js +6 -6
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +21 -21
- package/SendbirdProvider.js +15 -15
- package/{UserProfileContext-3524e64c.js → UserProfileContext-143a6a42.js} +1 -1
- package/{UserProfileContext-3524e64c.js.map → UserProfileContext-143a6a42.js.map} +1 -1
- package/{__bundle-6316ce22-b659cee1.js → __bundle-6316ce22-cd546820.js} +1 -1
- package/{__bundle-6316ce22-b659cee1.js.map → __bundle-6316ce22-cd546820.js.map} +1 -1
- package/{__bundle-7dfccc8c-37d3f8ab.js → __bundle-7dfccc8c-6c6e7ab4.js} +2 -2
- package/{__bundle-7dfccc8c-37d3f8ab.js.map → __bundle-7dfccc8c-6c6e7ab4.js.map} +1 -1
- package/{__bundle-fbda47dd-ef31252f.js → __bundle-fbda47dd-9dbeee1d.js} +2 -2
- package/{__bundle-fbda47dd-ef31252f.js.map → __bundle-fbda47dd-9dbeee1d.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-30d122aa.js → _rollupPluginBabelHelpers-3043541a.js} +2 -105
- package/_rollupPluginBabelHelpers-3043541a.js.map +1 -0
- package/{actionTypes-d5d5ac7b.js → actionTypes-2873dec9.js} +1 -1
- package/{actionTypes-d5d5ac7b.js.map → actionTypes-2873dec9.js.map} +1 -1
- package/cjs/App.js +35 -35
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +26 -26
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +18 -18
- package/cjs/Channel/components/FrozenNotification.js +5 -5
- package/cjs/Channel/components/Message.js +23 -23
- package/cjs/Channel/components/MessageInput.js +20 -20
- package/cjs/Channel/components/MessageList.js +25 -25
- package/cjs/Channel/components/RemoveMessageModal.js +22 -23
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +19 -19
- package/cjs/Channel/components/TypingIndicator.js +18 -18
- package/cjs/Channel/components/UnreadCount.js +5 -5
- package/cjs/Channel/context.js +17 -17
- package/cjs/Channel.js +26 -26
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +30 -30
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +23 -23
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +18 -18
- package/cjs/ChannelList/context.js +12 -12
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-e7756677.js → ChannelListProvider-b60fe6ed.js} +9 -9
- package/cjs/ChannelListProvider-b60fe6ed.js.map +1 -0
- package/cjs/{ChannelProvider-c179835a.js → ChannelProvider-b21b3c2a.js} +31 -30
- package/cjs/ChannelProvider-b21b3c2a.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +13 -14
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +22 -22
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -15
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +19 -19
- package/cjs/ChannelSettings/components/UserListItem.js +12 -12
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +23 -23
- package/cjs/CreateChannel/components/CreateChannelUI.js +16 -16
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +16 -16
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -10
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +16 -16
- package/cjs/{CreateChannelProvider-a7ca5511.js → CreateChannelProvider-71e1e6d6.js} +1 -1
- package/cjs/CreateChannelProvider-71e1e6d6.js.map +1 -0
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +14 -14
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +15 -15
- package/cjs/{LocalizationContext-f05328b8.js → LocalizationContext-da62a103.js} +3 -3
- package/cjs/LocalizationContext-da62a103.js.map +1 -0
- package/cjs/{MemberList-bfaafb40.js → MemberList-442ade8c.js} +6 -6
- package/cjs/{MemberList-bfaafb40.js.map → MemberList-442ade8c.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +10 -3
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +12 -12
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -17
- package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
- package/cjs/OpenChannel/components/OpenChannelMessage.js +29 -29
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +28 -28
- package/cjs/OpenChannel/components/OpenChannelUI.js +28 -28
- package/cjs/OpenChannel/context.js +14 -14
- package/cjs/OpenChannel.js +28 -28
- package/cjs/{OpenChannelProvider-12e0412f.js → OpenChannelProvider-bc8d7f0d.js} +15 -14
- package/cjs/{OpenChannelProvider-12e0412f.js.map → OpenChannelProvider-bc8d7f0d.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +18 -19
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +16 -17
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +20 -20
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +20 -20
- package/cjs/OpenChannelSettings/context.js +6 -6
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +21 -21
- package/cjs/SendbirdProvider.js +15 -15
- package/cjs/{UserProfileContext-87ebb4a4.js → UserProfileContext-891590a7.js} +1 -1
- package/cjs/{UserProfileContext-87ebb4a4.js.map → UserProfileContext-891590a7.js.map} +1 -1
- package/cjs/{__bundle-6316ce22-c57c6fe0.js → __bundle-6316ce22-c06e03fc.js} +1 -1
- package/cjs/{__bundle-6316ce22-c57c6fe0.js.map → __bundle-6316ce22-c06e03fc.js.map} +1 -1
- package/cjs/{__bundle-7dfccc8c-205c0e66.js → __bundle-7dfccc8c-dcc1c854.js} +2 -2
- package/cjs/{__bundle-7dfccc8c-205c0e66.js.map → __bundle-7dfccc8c-dcc1c854.js.map} +1 -1
- package/cjs/{__bundle-fbda47dd-f6e08be2.js → __bundle-fbda47dd-1a2c2d97.js} +2 -2
- package/cjs/{__bundle-fbda47dd-f6e08be2.js.map → __bundle-fbda47dd-1a2c2d97.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-92e5e012.js → _rollupPluginBabelHelpers-4265e501.js} +1 -110
- package/cjs/_rollupPluginBabelHelpers-4265e501.js.map +1 -0
- package/cjs/{actionTypes-331e63c2.js → actionTypes-7c5a0f8b.js} +1 -1
- package/cjs/{actionTypes-331e63c2.js.map → actionTypes-7c5a0f8b.js.map} +1 -1
- package/cjs/color-42e34a43.js +45 -0
- package/cjs/color-42e34a43.js.map +1 -0
- package/cjs/{compareIds-2df40a8f.js → compareIds-26079db4.js} +1 -1
- package/cjs/{compareIds-2df40a8f.js.map → compareIds-26079db4.js.map} +1 -1
- package/cjs/{const-77f608c8.js → const-8a9ec74c.js} +1 -1
- package/cjs/{const-77f608c8.js.map → const-8a9ec74c.js.map} +1 -1
- package/cjs/{const-e0dbad82.js → const-c1a4604d.js} +1 -1
- package/cjs/{const-e0dbad82.js.map → const-c1a4604d.js.map} +1 -1
- package/cjs/{context-5e7ba41f.js → context-82ac7edc.js} +2 -2
- package/cjs/{context-5e7ba41f.js.map → context-82ac7edc.js.map} +1 -1
- package/cjs/dist/index.css +50 -72
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{groupChannel-ddd470ad.js → groupChannel-11ed3837.js} +4 -4
- package/cjs/{groupChannel-ddd470ad.js.map → groupChannel-11ed3837.js.map} +1 -1
- package/cjs/handlers/ConnectionHandler.js +3 -3
- package/cjs/handlers/GroupChannelHandler.js +4 -4
- package/cjs/handlers/OpenChannelHandler.js +3 -3
- package/cjs/handlers/UserEventHandler.js +3 -3
- package/cjs/index-05692021.js +90 -0
- package/cjs/index-05692021.js.map +1 -0
- package/cjs/{index-10b68ab4.js → index-06c3dca9.js} +2 -2
- package/cjs/{index-10b68ab4.js.map → index-06c3dca9.js.map} +1 -1
- package/cjs/{index-cce2b8c0.js → index-089e0fba.js} +3 -3
- package/cjs/{index-cce2b8c0.js.map → index-089e0fba.js.map} +1 -1
- package/cjs/{index-2dacade8.js → index-25336220.js} +1 -1
- package/cjs/{index-2dacade8.js.map → index-25336220.js.map} +1 -1
- package/cjs/{index-4bebe375.js → index-32562627.js} +1 -1
- package/cjs/{index-4bebe375.js.map → index-32562627.js.map} +1 -1
- package/cjs/{index-52631939.js → index-81e2234a.js} +11 -10
- package/cjs/{index-52631939.js.map → index-81e2234a.js.map} +1 -1
- package/cjs/{index-edd379fd.js → index-82646d4d.js} +7 -7
- package/cjs/index-82646d4d.js.map +1 -0
- package/cjs/{index-1c009ee9.js → index-b440f8c6.js} +15 -27
- package/cjs/{index-1c009ee9.js.map → index-b440f8c6.js.map} +1 -1
- package/cjs/{index-b1ed74bd.js → index-c79f62fd.js} +4 -4
- package/cjs/{index-b1ed74bd.js.map → index-c79f62fd.js.map} +1 -1
- package/cjs/{index-39372722.js → index-f5cb5c7f.js} +2 -2
- package/cjs/{index-39372722.js.map → index-f5cb5c7f.js.map} +1 -1
- package/cjs/{index-4911c708.js → index-fb127b1f.js} +2 -2
- package/cjs/{index-4911c708.js.map → index-fb127b1f.js.map} +1 -1
- package/cjs/index.js +39 -39
- package/cjs/{openChannel-865f6910.js → openChannel-76345cfa.js} +3 -3
- package/cjs/{openChannel-865f6910.js.map → openChannel-76345cfa.js.map} +1 -1
- package/cjs/{openChannelUtils-341c5ad7.js → openChannelUtils-56d57483.js} +1 -1
- package/cjs/{openChannelUtils-341c5ad7.js.map → openChannelUtils-56d57483.js.map} +1 -1
- package/cjs/{sendbird-313241e2.js → sendbird-dfd051c8.js} +3 -3
- package/cjs/{sendbird-313241e2.js.map → sendbird-dfd051c8.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-afc1ff3b.js → stringSet-857a128c.js} +3 -2
- package/cjs/stringSet-857a128c.js.map +1 -0
- package/cjs/{topics-57ad0394.js → topics-a755c9c6.js} +1 -1
- package/cjs/{topics-57ad0394.js.map → topics-a755c9c6.js.map} +1 -1
- package/cjs/{tslib.es6-12c25052.js → tslib.es6-ba69891c.js} +1 -1
- package/cjs/{tslib.es6-12c25052.js.map → tslib.es6-ba69891c.js.map} +1 -1
- package/cjs/ui/Accordion.js +4 -4
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +14 -24
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +3 -3
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +15 -25
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/Button.js +5 -4
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +4 -4
- package/cjs/ui/ChannelPreview.js +16 -12
- package/cjs/ui/ChannelPreview.js.map +1 -1
- package/cjs/ui/ChatHeader.js +42 -74
- package/cjs/ui/ChatHeader.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +6 -8
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +186 -290
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +18 -25
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +8 -7
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +7 -7
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +46 -83
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +1 -1
- package/cjs/ui/IconButton.js +45 -68
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +43 -78
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +11 -30
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +3 -3
- package/cjs/ui/LinkLabel.js +3 -3
- package/cjs/ui/Loader.js +15 -24
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +12 -12
- package/cjs/ui/MessageContent.js +15 -15
- package/cjs/ui/MessageInput.js +10 -10
- package/cjs/ui/MessageItemMenu.js +9 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +7 -6
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +11 -11
- package/cjs/ui/MessageStatus.js +8 -8
- package/cjs/ui/Modal.js +36 -68
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +1 -1
- package/cjs/ui/OGMessageItemBody.js +11 -11
- package/cjs/ui/OpenChannelAdminMessage.js +4 -4
- package/cjs/ui/OpenChannelAvatar.js +8 -8
- package/cjs/ui/OpenchannelConversationHeader.js +7 -7
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelOGMessage.js +15 -15
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/PlaceHolder.js +8 -7
- package/cjs/ui/PlaceHolder.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessageInput.js +7 -7
- package/cjs/ui/ReactionBadge.js +16 -26
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +4 -21
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +16 -26
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +22 -29
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
- package/cjs/ui/Tooltip.js +11 -17
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +10 -20
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UserListItem.js +12 -12
- package/cjs/ui/UserProfile.js +11 -11
- package/cjs/ui/Word.js +11 -11
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{utils-6f828dbd.js → utils-bf57a41a.js} +1 -1
- package/cjs/{utils-6f828dbd.js.map → utils-bf57a41a.js.map} +1 -1
- package/cjs/{utils-71bd80e8.js → utils-bfbac88e.js} +1 -1
- package/cjs/{utils-71bd80e8.js.map → utils-bfbac88e.js.map} +1 -1
- package/cjs/{utils-1a8a0b72.js → utils-c39eb349.js} +1 -1
- package/cjs/{utils-1a8a0b72.js.map → utils-c39eb349.js.map} +1 -1
- package/cjs/{uuid-920ae00d.js → uuid-49679ac2.js} +1 -1
- package/cjs/{uuid-920ae00d.js.map → uuid-49679ac2.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-f6548425.js → color-798488ed.js} +16 -12
- package/color-798488ed.js.map +1 -0
- package/{compareIds-8402fa74.js → compareIds-2e073780.js} +1 -1
- package/{compareIds-8402fa74.js.map → compareIds-2e073780.js.map} +1 -1
- package/{const-c81e2d08.js → const-51fc1a68.js} +1 -1
- package/{const-c81e2d08.js.map → const-51fc1a68.js.map} +1 -1
- package/{const-9039e539.js → const-b88f8299.js} +1 -1
- package/{const-9039e539.js.map → const-b88f8299.js.map} +1 -1
- package/{context-3629064f.js → context-406bf9f1.js} +2 -2
- package/{context-3629064f.js.map → context-406bf9f1.js.map} +1 -1
- package/dist/index.css +50 -72
- package/dist/index.css.map +1 -1
- package/{groupChannel-fc842dca.js → groupChannel-17ffbb7f.js} +4 -4
- package/{groupChannel-fc842dca.js.map → groupChannel-17ffbb7f.js.map} +1 -1
- package/handlers/ConnectionHandler.js +4 -4
- package/handlers/GroupChannelHandler.js +5 -5
- package/handlers/OpenChannelHandler.js +4 -4
- package/handlers/UserEventHandler.js +4 -4
- package/{index-65007eeb.js → index-03ccaf35.js} +2 -2
- package/{index-65007eeb.js.map → index-03ccaf35.js.map} +1 -1
- package/{index-b1f9e3f9.js → index-4e56f382.js} +4 -4
- package/{index-b1f9e3f9.js.map → index-4e56f382.js.map} +1 -1
- package/{index-191d1d43.js → index-5ec69689.js} +1 -1
- package/{index-191d1d43.js.map → index-5ec69689.js.map} +1 -1
- package/index-6a47d16f.js +82 -0
- package/index-6a47d16f.js.map +1 -0
- package/{index-fc480728.js → index-702d2072.js} +11 -10
- package/{index-fc480728.js.map → index-702d2072.js.map} +1 -1
- package/{index-aa2d32cc.js → index-7f2be3d7.js} +2 -2
- package/{index-aa2d32cc.js.map → index-7f2be3d7.js.map} +1 -1
- package/{index-5428ab4f.js → index-b4944539.js} +2 -2
- package/{index-5428ab4f.js.map → index-b4944539.js.map} +1 -1
- package/{index-42b2527f.js → index-c9cda9f6.js} +1 -1
- package/{index-42b2527f.js.map → index-c9cda9f6.js.map} +1 -1
- package/{index-2034978f.js → index-ced613ea.js} +15 -26
- package/index-ced613ea.js.map +1 -0
- package/{index-07cd4778.js → index-ed39099a.js} +3 -3
- package/{index-07cd4778.js.map → index-ed39099a.js.map} +1 -1
- package/{index-17024830.js → index-fa8ac00a.js} +7 -7
- package/index-fa8ac00a.js.map +1 -0
- package/index.d.ts +116 -109
- package/index.js +39 -39
- package/{openChannel-2b51e3d3.js → openChannel-1548376e.js} +3 -3
- package/{openChannel-2b51e3d3.js.map → openChannel-1548376e.js.map} +1 -1
- package/{openChannelUtils-6a414996.js → openChannelUtils-09e4bac8.js} +1 -1
- package/{openChannelUtils-6a414996.js.map → openChannelUtils-09e4bac8.js.map} +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/{sendbird-d625a809.js → sendbird-597583ed.js} +3 -3
- package/{sendbird-d625a809.js.map → sendbird-597583ed.js.map} +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-92f53c6e.js → stringSet-647493ce.js} +3 -2
- package/stringSet-647493ce.js.map +1 -0
- package/{topics-71b67878.js → topics-18836011.js} +1 -1
- package/{topics-71b67878.js.map → topics-18836011.js.map} +1 -1
- package/{tslib.es6-c793443a.js → tslib.es6-710c6267.js} +1 -1
- package/{tslib.es6-c793443a.js.map → tslib.es6-710c6267.js.map} +1 -1
- package/ui/Accordion.js +4 -4
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +14 -23
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +3 -3
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +15 -24
- package/ui/Badge.js.map +1 -1
- package/ui/Button.js +5 -4
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +4 -4
- package/ui/ChannelPreview.js +17 -13
- package/ui/ChannelPreview.js.map +1 -1
- package/ui/ChatHeader.js +43 -74
- package/ui/ChatHeader.js.map +1 -1
- package/ui/ConnectionStatus.js +6 -8
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +188 -291
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +18 -24
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +8 -7
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +7 -7
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +47 -83
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +1 -1
- package/ui/IconButton.js +43 -65
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +43 -77
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +11 -29
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +3 -3
- package/ui/LinkLabel.js +3 -3
- package/ui/Loader.js +15 -23
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +12 -12
- package/ui/MessageContent.js +15 -15
- package/ui/MessageInput.js +10 -10
- package/ui/MessageItemMenu.js +9 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +7 -6
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +11 -11
- package/ui/MessageStatus.js +8 -8
- package/ui/Modal.js +36 -67
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +1 -1
- package/ui/OGMessageItemBody.js +11 -11
- package/ui/OpenChannelAdminMessage.js +4 -4
- package/ui/OpenChannelAvatar.js +8 -8
- package/ui/OpenchannelConversationHeader.js +7 -7
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelOGMessage.js +15 -15
- package/ui/OpenchannelThumbnailMessage.js +14 -14
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/PlaceHolder.js +8 -7
- package/ui/PlaceHolder.js.map +1 -1
- package/ui/QuoteMessage.js +7 -7
- package/ui/QuoteMessageInput.js +7 -7
- package/ui/ReactionBadge.js +16 -25
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +4 -20
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +15 -24
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +22 -28
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThumbnailMessageItemBody.js +3 -3
- package/ui/Tooltip.js +11 -16
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +10 -19
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +12 -12
- package/ui/UserProfile.js +11 -11
- package/ui/Word.js +11 -11
- package/useSendbirdStateContext.js +1 -1
- package/{utils-972c4edb.js → utils-19e84a08.js} +1 -1
- package/{utils-972c4edb.js.map → utils-19e84a08.js.map} +1 -1
- package/{utils-b37c6db3.js → utils-2666bdfb.js} +1 -1
- package/{utils-b37c6db3.js.map → utils-2666bdfb.js.map} +1 -1
- package/{utils-b69f7583.js → utils-301322ba.js} +1 -1
- package/{utils-b69f7583.js.map → utils-301322ba.js.map} +1 -1
- package/{uuid-7c3f59a3.js → uuid-60ae25c1.js} +1 -1
- package/{uuid-7c3f59a3.js.map → uuid-60ae25c1.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-bdac2e90.js.map +0 -1
- package/ChannelProvider-0174d0f3.js.map +0 -1
- package/CreateChannelProvider-1cf4ef27.js.map +0 -1
- package/LocalizationContext-61a4a931.js.map +0 -1
- package/_rollupPluginBabelHelpers-30d122aa.js.map +0 -1
- package/cjs/ChannelListProvider-e7756677.js.map +0 -1
- package/cjs/ChannelProvider-c179835a.js.map +0 -1
- package/cjs/CreateChannelProvider-a7ca5511.js.map +0 -1
- package/cjs/LocalizationContext-f05328b8.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-92e5e012.js.map +0 -1
- package/cjs/color-2f811855.js +0 -42
- package/cjs/color-2f811855.js.map +0 -1
- package/cjs/index-188e8e7f.js +0 -97
- package/cjs/index-188e8e7f.js.map +0 -1
- package/cjs/index-edd379fd.js.map +0 -1
- package/cjs/stringSet-afc1ff3b.js.map +0 -1
- package/cjs/ui/Dropdown.js +0 -107
- package/cjs/ui/Dropdown.js.map +0 -1
- package/color-f6548425.js.map +0 -1
- package/index-17024830.js.map +0 -1
- package/index-2034978f.js.map +0 -1
- package/index-d3358aa9.js +0 -87
- package/index-d3358aa9.js.map +0 -1
- package/stringSet-92f53c6e.js.map +0 -1
- package/ui/Dropdown.js +0 -97
- package/ui/Dropdown.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var sendbird = require('../sendbird-
|
|
4
|
-
require('../__bundle-6316ce22-
|
|
5
|
-
require('../__bundle-fbda47dd-
|
|
3
|
+
var sendbird = require('../sendbird-dfd051c8.js');
|
|
4
|
+
require('../__bundle-6316ce22-c06e03fc.js');
|
|
5
|
+
require('../__bundle-fbda47dd-1a2c2d97.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var groupChannel = require('../groupChannel-
|
|
4
|
-
require('../__bundle-6316ce22-
|
|
5
|
-
require('../__bundle-fbda47dd-
|
|
6
|
-
require('../__bundle-7dfccc8c-
|
|
3
|
+
var groupChannel = require('../groupChannel-11ed3837.js');
|
|
4
|
+
require('../__bundle-6316ce22-c06e03fc.js');
|
|
5
|
+
require('../__bundle-fbda47dd-1a2c2d97.js');
|
|
6
|
+
require('../__bundle-7dfccc8c-dcc1c854.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var openChannel = require('../openChannel-
|
|
4
|
-
require('../__bundle-6316ce22-
|
|
5
|
-
require('../__bundle-7dfccc8c-
|
|
3
|
+
var openChannel = require('../openChannel-76345cfa.js');
|
|
4
|
+
require('../__bundle-6316ce22-c06e03fc.js');
|
|
5
|
+
require('../__bundle-7dfccc8c-dcc1c854.js');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Returns the instance of OpenChannelHandler
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var sendbird = require('../sendbird-
|
|
4
|
-
require('../__bundle-6316ce22-
|
|
5
|
-
require('../__bundle-fbda47dd-
|
|
3
|
+
var sendbird = require('../sendbird-dfd051c8.js');
|
|
4
|
+
require('../__bundle-6316ce22-c06e03fc.js');
|
|
5
|
+
require('../__bundle-fbda47dd-1a2c2d97.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-ba69891c.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var ui_Label = require('./index-089e0fba.js');
|
|
6
|
+
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
+
|
|
9
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
|
+
|
|
11
|
+
exports.Type = void 0;
|
|
12
|
+
|
|
13
|
+
(function (Type) {
|
|
14
|
+
Type[Type["PRIMARY"] = 0] = "PRIMARY";
|
|
15
|
+
Type[Type["SECONDARY"] = 1] = "SECONDARY";
|
|
16
|
+
Type[Type["DANGER"] = 2] = "DANGER";
|
|
17
|
+
Type[Type["DISABLED"] = 3] = "DISABLED";
|
|
18
|
+
})(exports.Type || (exports.Type = {}));
|
|
19
|
+
|
|
20
|
+
var Size;
|
|
21
|
+
|
|
22
|
+
(function (Size) {
|
|
23
|
+
Size[Size["BIG"] = 0] = "BIG";
|
|
24
|
+
Size[Size["SMALL"] = 1] = "SMALL";
|
|
25
|
+
})(Size || (Size = {}));
|
|
26
|
+
|
|
27
|
+
function changeTypeToClassName(type) {
|
|
28
|
+
switch (type) {
|
|
29
|
+
case exports.Type.PRIMARY:
|
|
30
|
+
return 'sendbird-button--primary';
|
|
31
|
+
|
|
32
|
+
case exports.Type.SECONDARY:
|
|
33
|
+
return 'sendbird-button--secondary';
|
|
34
|
+
|
|
35
|
+
case exports.Type.DANGER:
|
|
36
|
+
return 'sendbird-button--danger';
|
|
37
|
+
|
|
38
|
+
case exports.Type.DISABLED:
|
|
39
|
+
return 'sendbird-button--disabled';
|
|
40
|
+
|
|
41
|
+
default:
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function changeSizeToClassName(size) {
|
|
46
|
+
switch (size) {
|
|
47
|
+
case Size.BIG:
|
|
48
|
+
return 'sendbird-button--big';
|
|
49
|
+
|
|
50
|
+
case Size.SMALL:
|
|
51
|
+
return 'sendbird-button--small';
|
|
52
|
+
|
|
53
|
+
default:
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function Button(_a) {
|
|
59
|
+
var className = _a.className,
|
|
60
|
+
_b = _a.type,
|
|
61
|
+
type = _b === void 0 ? exports.Type.PRIMARY : _b,
|
|
62
|
+
_c = _a.size,
|
|
63
|
+
size = _c === void 0 ? Size.BIG : _c,
|
|
64
|
+
_d = _a.children,
|
|
65
|
+
children = _d === void 0 ? 'Button' : _d,
|
|
66
|
+
_e = _a.disabled,
|
|
67
|
+
disabled = _e === void 0 ? false : _e,
|
|
68
|
+
_f = _a.onClick,
|
|
69
|
+
onClick = _f === void 0 ? function () {} : _f;
|
|
70
|
+
|
|
71
|
+
var injectingClassNames = tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-button', disabled ? 'sendbird-button__disabled' : '', changeTypeToClassName(type), changeSizeToClassName(size)], false).join(' ');
|
|
72
|
+
|
|
73
|
+
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
74
|
+
className: injectingClassNames,
|
|
75
|
+
type: "button",
|
|
76
|
+
onClick: onClick,
|
|
77
|
+
disabled: disabled
|
|
78
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
79
|
+
className: "sendbird-button__text",
|
|
80
|
+
type: ui_Label.LabelTypography.BUTTON_1,
|
|
81
|
+
color: ui_Label.LabelColors.ONCONTENT_1
|
|
82
|
+
}, children));
|
|
83
|
+
}
|
|
84
|
+
var ButtonTypes = exports.Type;
|
|
85
|
+
var ButtonSizes = Size;
|
|
86
|
+
|
|
87
|
+
exports.Button = Button;
|
|
88
|
+
exports.ButtonSizes = ButtonSizes;
|
|
89
|
+
exports.ButtonTypes = ButtonTypes;
|
|
90
|
+
//# sourceMappingURL=index-05692021.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-05692021.js","sources":["../../src/ui/Button/type.ts","../../src/ui/Button/utils.ts","../../src/ui/Button/index.tsx"],"sourcesContent":["export enum Type {\n PRIMARY,\n SECONDARY,\n DANGER,\n DISABLED,\n}\n\nexport enum Size {\n BIG,\n SMALL,\n}\n","import { Type, Size } from './type';\n\nexport function changeTypeToClassName(type: Type): string {\n switch (type) {\n case Type.PRIMARY: return 'sendbird-button--primary';\n case Type.SECONDARY: return 'sendbird-button--secondary';\n case Type.DANGER: return 'sendbird-button--danger';\n case Type.DISABLED: return 'sendbird-button--disabled';\n default: return null;\n }\n}\n\nexport function changeSizeToClassName(size: Size): string {\n switch (size) {\n case Size.BIG: return 'sendbird-button--big';\n case Size.SMALL: return 'sendbird-button--small';\n default: return null;\n }\n}\n","import React, { ReactElement } from 'react';\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { Type, Size } from './type';\nimport { changeTypeToClassName, changeSizeToClassName } from './utils';\n\nexport interface ButtonProps {\n className?: string | Array<string>;\n type: Type;\n size: Size;\n children: string | ReactElement;\n disabled?: boolean;\n onClick?: () => void;\n}\n\nexport default function Button({\n className,\n type = Type.PRIMARY,\n size = Size.BIG,\n children = 'Button',\n disabled = false,\n onClick = () => {/* noop */},\n}: ButtonProps): ReactElement {\n const injectingClassNames = [\n ...((Array.isArray(className)) ? className : [className]),\n 'sendbird-button',\n (disabled ? 'sendbird-button__disabled' : ''),\n changeTypeToClassName(type),\n changeSizeToClassName(size),\n ].join(' ');\n\n return (\n <button\n className={injectingClassNames}\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n >\n <Label\n className=\"sendbird-button__text\"\n type={LabelTypography.BUTTON_1}\n color={LabelColors.ONCONTENT_1}\n >\n {children}\n </Label>\n </button>\n );\n}\n\nexport const ButtonTypes = Type;\nexport const ButtonSizes = Size;\n"],"names":["Type","Size","changeTypeToClassName","type","PRIMARY","SECONDARY","DANGER","DISABLED","changeSizeToClassName","size","BIG","SMALL","Button","_a","className","_b","_c","_d","children","_e","disabled","_f","onClick","injectingClassNames","__spreadArray","Array","isArray","join","React","Label","LabelTypography","BUTTON_1","LabelColors","ONCONTENT_1","ButtonTypes","ButtonSizes"],"mappings":";;;;;;;;;;AAAYA;;AAAZ,WAAYA;AACVA,EAAAA,yBAAA,YAAA;AACAA,EAAAA,2BAAA,cAAA;AACAA,EAAAA,wBAAA,WAAA;AACAA,EAAAA,0BAAA,aAAA;AACD,CALD,EAAYA,YAAI,KAAJA,YAAI,KAAA,CAAhB;;AAOA,IAAYC,IAAZ;;AAAA,WAAYA;AACVA,EAAAA,qBAAA,QAAA;AACAA,EAAAA,uBAAA,UAAA;AACD,CAHD,EAAYA,IAAI,KAAJA,IAAI,KAAA,CAAhB;;SCLgBC,sBAAsBC;AACpC,UAAQA,IAAR;AACE,SAAKH,YAAI,CAACI,OAAV;AAAmB,aAAO,0BAAP;;AACnB,SAAKJ,YAAI,CAACK,SAAV;AAAqB,aAAO,4BAAP;;AACrB,SAAKL,YAAI,CAACM,MAAV;AAAkB,aAAO,yBAAP;;AAClB,SAAKN,YAAI,CAACO,QAAV;AAAoB,aAAO,2BAAP;;AACpB;AAAS,aAAO,IAAP;AALX;AAOD;SAEeC,sBAAsBC;AACpC,UAAQA,IAAR;AACE,SAAKR,IAAI,CAACS,GAAV;AAAe,aAAO,sBAAP;;AACf,SAAKT,IAAI,CAACU,KAAV;AAAiB,aAAO,wBAAP;;AACjB;AAAS,aAAO,IAAP;AAHX;AAKD;;SCFuBC,OAAOC;MAC7BC,SAAS;MACTC;MAAAZ,IAAI,mBAAGH,YAAI,CAACI;MACZY;MAAAP,IAAI,mBAAGR,IAAI,CAACS;MACZO;MAAAC,QAAQ,mBAAG;MACXC;MAAAC,QAAQ,mBAAG;MACXC;MAAAC,OAAO,mBAAG;;AAEV,MAAMC,mBAAmB,GAAGC,oDACrBC,KAAK,CAACC,OAAN,CAAcZ,SAAd,CAAD,GAA6BA,SAA7B,GAAyC,CAACA,SAAD,WAC7C,mBACCM,QAAQ,GAAG,2BAAH,GAAiC,IAC1ClB,qBAAqB,CAACC,IAAD,GACrBK,qBAAqB,CAACC,IAAD,UALK,CAM1BkB,IAN0B,CAMrB,GANqB,CAA5B;;AAQA,sBACEC;AACE,IAAA,SAAS,EAAEL,mBADb;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,OAAO,EAAED,OAHX;AAIE,IAAA,QAAQ,EAAEF;AAJZ,kBAMEQ,wCAACC,cAAD;AACE,IAAA,SAAS,EAAC,uBADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,QAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGf,QALH,CANF,CADF;AAgBD;IAEYgB,WAAW,GAAGlC;IACdmC,WAAW,GAAGlC;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-ba69891c.js');
|
|
4
4
|
|
|
5
5
|
var SUPPORTED_MIMES = {
|
|
6
6
|
IMAGE: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp' // not supported in IE
|
|
@@ -726,4 +726,4 @@ exports.isUserMessage = isUserMessage;
|
|
|
726
726
|
exports.isVideo = isVideo;
|
|
727
727
|
exports.isVideoMessage = isVideoMessage;
|
|
728
728
|
exports.truncateString = truncateString;
|
|
729
|
-
//# sourceMappingURL=index-
|
|
729
|
+
//# sourceMappingURL=index-06c3dca9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-10b68ab4.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\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 | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | 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: 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 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: 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\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 === 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?.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 { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\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","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","isReadMessage","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","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","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","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","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","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-06c3dca9.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\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 | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | 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: 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 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: 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\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 === 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?.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 { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\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","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","isReadMessage","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","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","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","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","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","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4265e501.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var PropTypes = require('prop-types');
|
|
6
|
-
var stringSet = require('./stringSet-
|
|
6
|
+
var stringSet = require('./stringSet-857a128c.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -139,4 +139,4 @@ exports.LabelColors = LabelColors;
|
|
|
139
139
|
exports.LabelStringSet = LabelStringSet;
|
|
140
140
|
exports.LabelTypography = LabelTypography;
|
|
141
141
|
exports.changeColorToClassName = changeColorToClassName;
|
|
142
|
-
//# sourceMappingURL=index-
|
|
142
|
+
//# sourceMappingURL=index-089e0fba.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-089e0fba.js","sources":["../../src/ui/Label/types.js","../../src/ui/Label/utils.js","../../src/ui/Label/index.jsx"],"sourcesContent":["export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONBACKGROUND_4: 'ONBACKGROUND_4',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return null;\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-label--color-onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return null;\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nexport default function Label({\n className,\n type,\n color,\n children,\n}) {\n return (\n <span\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-label',\n type ? changeTypographyToClassName(type) : '',\n color ? changeColorToClassName(color) : '',\n ].join(' ')}\n >\n {children}\n </span>\n );\n}\n\nLabel.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.oneOf([\n 'H_1',\n 'H_2',\n 'SUBTITLE_1',\n 'SUBTITLE_2',\n 'BODY_1',\n 'BODY_2',\n 'BUTTON_1',\n 'BUTTON_2',\n 'CAPTION_1',\n 'CAPTION_2',\n 'CAPTION_3',\n ]),\n color: PropTypes.oneOf([\n 'ONBACKGROUND_1',\n 'ONBACKGROUND_2',\n 'ONBACKGROUND_3',\n 'ONBACKGROUND_4',\n 'ONCONTENT_1',\n 'ONCONTENT_2',\n 'PRIMARY',\n 'ERROR',\n 'SECONDARY_3',\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n};\n\nLabel.defaultProps = {\n className: [],\n type: '',\n color: '',\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n"],"names":["Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","Colors","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","ONCONTENT_2","PRIMARY","ERROR","SECONDARY_3","changeTypographyToClassName","type","changeColorToClassName","color","Label","className","children","React","Array","isArray","join","propTypes","PropTypes","oneOfType","string","arrayOf","oneOf","number","element","any","defaultProps","LabelTypography","LabelColors","LabelStringSet","getStringSet"],"mappings":";;;;;;;;;;;;AAAO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,GAAG,EAAE,KADmB;AAExBC,EAAAA,GAAG,EAAE,KAFmB;AAGxBC,EAAAA,UAAU,EAAE,YAHY;AAIxBC,EAAAA,UAAU,EAAE,YAJY;AAKxBC,EAAAA,MAAM,EAAE,QALgB;AAMxBC,EAAAA,MAAM,EAAE,QANgB;AAOxBC,EAAAA,QAAQ,EAAE,UAPc;AAQxBC,EAAAA,QAAQ,EAAE,UARc;AASxBC,EAAAA,SAAS,EAAE,WATa;AAUxBC,EAAAA,SAAS,EAAE,WAVa;AAWxBC,EAAAA,SAAS,EAAE;AAXa,CAAnB;AAcA,IAAMC,MAAM,GAAG;AACpBC,EAAAA,cAAc,EAAE,gBADI;AAEpBC,EAAAA,cAAc,EAAE,gBAFI;AAGpBC,EAAAA,cAAc,EAAE,gBAHI;AAIpBC,EAAAA,cAAc,EAAE,gBAJI;AAKpBC,EAAAA,WAAW,EAAE,aALO;AAMpBC,EAAAA,WAAW,EAAE,aANO;AAOpBC,EAAAA,OAAO,EAAE,SAPW;AAQpBC,EAAAA,KAAK,EAAE,OARa;AASpBC,EAAAA,WAAW,EAAE;AATO,CAAf;;ACZA,SAASC,2BAAT,CAAqCC,IAArC,EAA2C;AAChD,UAAQA,IAAR;AACE,SAAKvB,UAAU,CAACC,GAAhB;AAAqB,aAAO,qBAAP;;AACrB,SAAKD,UAAU,CAACE,GAAhB;AAAqB,aAAO,qBAAP;;AACrB,SAAKF,UAAU,CAACG,UAAhB;AAA4B,aAAO,4BAAP;;AAC5B,SAAKH,UAAU,CAACI,UAAhB;AAA4B,aAAO,4BAAP;;AAC5B,SAAKJ,UAAU,CAACK,MAAhB;AAAwB,aAAO,wBAAP;;AACxB,SAAKL,UAAU,CAACM,MAAhB;AAAwB,aAAO,wBAAP;;AACxB,SAAKN,UAAU,CAACO,QAAhB;AAA0B,aAAO,0BAAP;;AAC1B,SAAKP,UAAU,CAACQ,QAAhB;AAA0B,aAAO,0BAAP;;AAC1B,SAAKR,UAAU,CAACS,SAAhB;AAA2B,aAAO,2BAAP;;AAC3B,SAAKT,UAAU,CAACU,SAAhB;AAA2B,aAAO,2BAAP;;AAC3B,SAAKV,UAAU,CAACW,SAAhB;AAA2B,aAAO,2BAAP;;AAC3B;AAAS,aAAO,IAAP;AAZX;AAcD;AAEM,SAASa,sBAAT,CAAgCC,KAAhC,EAAuC;AAC5C,UAAQA,KAAR;AACE,SAAKb,MAAM,CAACC,cAAZ;AAA4B,aAAO,sCAAP;;AAC5B,SAAKD,MAAM,CAACE,cAAZ;AAA4B,aAAO,sCAAP;;AAC5B,SAAKF,MAAM,CAACG,cAAZ;AAA4B,aAAO,sCAAP;;AAC5B,SAAKH,MAAM,CAACI,cAAZ;AAA4B,aAAO,sCAAP;;AAC5B,SAAKJ,MAAM,CAACK,WAAZ;AAAyB,aAAO,mCAAP;;AACzB,SAAKL,MAAM,CAACM,WAAZ;AAAyB,aAAO,mCAAP;;AACzB,SAAKN,MAAM,CAACO,OAAZ;AAAqB,aAAO,+BAAP;AAAwC;;AAC7D,SAAKP,MAAM,CAACQ,KAAZ;AAAmB,aAAO,6BAAP;;AACnB,SAAKR,MAAM,CAACS,WAAZ;AAAyB,aAAO,mCAAP;;AACzB;AAAS,aAAO,IAAP;AAVX;AAYD;;ACxBc,SAASK,KAAT,OAKZ;AAAA,MAJDC,SAIC,QAJDA,SAIC;AAAA,MAHDJ,IAGC,QAHDA,IAGC;AAAA,MAFDE,KAEC,QAFDA,KAEC;AAAA,MADDG,QACC,QADDA,QACC;AACD,sBACEC;AACE,IAAA,SAAS,EAAE,uDACLC,KAAK,CAACC,OAAN,CAAcJ,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CADlC,IAET,gBAFS,EAGTJ,IAAI,GAAGD,2BAA2B,CAACC,IAAD,CAA9B,GAAuC,EAHlC,EAITE,KAAK,GAAGD,sBAAsB,CAACC,KAAD,CAAzB,GAAmC,EAJ/B,GAKTO,IALS,CAKJ,GALI;AADb,KAQGJ,QARH,CADF;AAYD;AAEDF,KAAK,CAACO,SAAN,GAAkB;AAChBN,EAAAA,SAAS,EAAEO,6BAAS,CAACC,SAAV,CAAoB,CAC7BD,6BAAS,CAACE,MADmB,EAE7BF,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACE,MAA5B,CAF6B,CAApB,CADK;AAKhBb,EAAAA,IAAI,EAAEW,6BAAS,CAACI,KAAV,CAAgB,CACpB,KADoB,EAEpB,KAFoB,EAGpB,YAHoB,EAIpB,YAJoB,EAKpB,QALoB,EAMpB,QANoB,EAOpB,UAPoB,EAQpB,UARoB,EASpB,WAToB,EAUpB,WAVoB,EAWpB,WAXoB,CAAhB,CALU;AAkBhBb,EAAAA,KAAK,EAAES,6BAAS,CAACI,KAAV,CAAgB,CACrB,gBADqB,EAErB,gBAFqB,EAGrB,gBAHqB,EAIrB,gBAJqB,EAKrB,aALqB,EAMrB,aANqB,EAOrB,SAPqB,EAQrB,OARqB,EASrB,aATqB,CAAhB,CAlBS;AA6BhBV,EAAAA,QAAQ,EAAEM,6BAAS,CAACC,SAAV,CAAoB,CAC5BD,6BAAS,CAACE,MADkB,EAE5BF,6BAAS,CAACK,MAFkB,EAG5BL,6BAAS,CAACM,OAHkB,EAI5BN,6BAAS,CAACO,GAJkB,CAApB;AA7BM,CAAlB;AAqCAf,KAAK,CAACgB,YAAN,GAAqB;AACnBf,EAAAA,SAAS,EAAE,EADQ;AAEnBJ,EAAAA,IAAI,EAAE,EAFa;AAGnBE,EAAAA,KAAK,EAAE,EAHY;AAInBG,EAAAA,QAAQ,EAAE;AAJS,CAArB;IAOMe,eAAe,GAAG3C;IAClB4C,WAAW,GAAGhC;IACdiC,cAAc,GAAGC,sBAAY,CAAC,IAAD;;;;;;;;"}
|