@sendbird/uikit-react 3.4.3-rc.0 → 3.4.3
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/.size-snapshot.json +1080 -225
- package/App.js +40 -40
- package/CHANGELOG.md +27 -1
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +33 -33
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +28 -28
- package/Channel/components/MessageInput.js +26 -25
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +29 -29
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -14
- package/Channel.js +33 -33
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +30 -30
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-9ffe6c08.js → ChannelListProvider-74d39ce5.js} +8 -8
- package/{ChannelListProvider-9ffe6c08.js.map → ChannelListProvider-74d39ce5.js.map} +1 -1
- package/{ChannelProvider-e2c86cba.js → ChannelProvider-7b83d4fd.js} +10 -10
- package/{ChannelProvider-e2c86cba.js.map → ChannelProvider-7b83d4fd.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-0881b9df.js → CreateChannelProvider-488e930d.js} +1 -1
- package/{CreateChannelProvider-0881b9df.js.map → CreateChannelProvider-488e930d.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -10
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-187f787e.js → LocalizationContext-4b25e6bc.js} +3 -3
- package/{LocalizationContext-187f787e.js.map → LocalizationContext-4b25e6bc.js.map} +1 -1
- package/{MediaQueryContext-add671c4.js → MediaQueryContext-29dcaddb.js} +1 -1
- package/{MediaQueryContext-add671c4.js.map → MediaQueryContext-29dcaddb.js.map} +1 -1
- package/{MemberList-5bee1695.js → MemberList-5cf25437.js} +5 -5
- package/{MemberList-5bee1695.js.map → MemberList-5cf25437.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +12 -12
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +12 -12
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/OpenChannel/components/OpenChannelInput.js +16 -16
- package/OpenChannel/components/OpenChannelMessage.js +23 -23
- package/OpenChannel/components/OpenChannelMessageList.js +25 -25
- package/OpenChannel/components/OpenChannelUI.js +25 -25
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +25 -25
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-a15ce046.js → OpenChannelListProvider-2685f3d5.js} +3 -3
- package/{OpenChannelListProvider-a15ce046.js.map → OpenChannelListProvider-2685f3d5.js.map} +1 -1
- package/{OpenChannelProvider-ea703f1a.js → OpenChannelProvider-9bd64275.js} +7 -7
- package/{OpenChannelProvider-ea703f1a.js.map → OpenChannelProvider-9bd64275.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/{RemoveMessageModal-5a70495b.js → RemoveMessageModal-0182446a.js} +3 -3
- package/{RemoveMessageModal-5a70495b.js.map → RemoveMessageModal-0182446a.js.map} +1 -1
- package/SendbirdProvider.js +12 -12
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +25 -25
- package/Thread/components/ParentMessageInfoItem.js +16 -16
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +28 -28
- package/Thread/components/ThreadListItem.js +28 -28
- package/Thread/components/ThreadMessageInput.js +27 -26
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +32 -32
- package/Thread/context.js +9 -9
- package/Thread.js +32 -32
- package/{ThreadProvider-8d535c1b.js → ThreadProvider-daedc3df.js} +7 -7
- package/{ThreadProvider-8d535c1b.js.map → ThreadProvider-daedc3df.js.map} +1 -1
- package/{UserProfileContext-d2264917.js → UserProfileContext-2ea97dc1.js} +1 -1
- package/{UserProfileContext-d2264917.js.map → UserProfileContext-2ea97dc1.js.map} +1 -1
- package/{VoiceMessageInputWrapper-2434abc5.js → VoiceMessageInputWrapper-f65cc3ae.js} +7 -7
- package/{VoiceMessageInputWrapper-2434abc5.js.map → VoiceMessageInputWrapper-f65cc3ae.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{_rollupPluginBabelHelpers-dfc61977.js → _rollupPluginBabelHelpers-38fb8170.js} +1 -1
- package/_rollupPluginBabelHelpers-38fb8170.js.map +1 -0
- package/{actionTypes-99206028.js → actionTypes-ce60cab6.js} +1 -1
- package/{actionTypes-99206028.js.map → actionTypes-ce60cab6.js.map} +1 -1
- package/cjs/App.js +40 -40
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +33 -33
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +28 -28
- package/cjs/Channel/components/MessageInput.js +26 -25
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +29 -29
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +33 -33
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +30 -30
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-30c51b60.js → ChannelListProvider-4cf41348.js} +8 -8
- package/cjs/{ChannelListProvider-30c51b60.js.map → ChannelListProvider-4cf41348.js.map} +1 -1
- package/cjs/{ChannelProvider-fcbde734.js → ChannelProvider-af11f0e6.js} +10 -10
- package/cjs/{ChannelProvider-fcbde734.js.map → ChannelProvider-af11f0e6.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-9f9ec6e6.js → CreateChannelProvider-1241284b.js} +1 -1
- package/cjs/{CreateChannelProvider-9f9ec6e6.js.map → CreateChannelProvider-1241284b.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -10
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-2f07a939.js → LocalizationContext-d6a49817.js} +3 -3
- package/cjs/{LocalizationContext-2f07a939.js.map → LocalizationContext-d6a49817.js.map} +1 -1
- package/cjs/{MediaQueryContext-729d402a.js → MediaQueryContext-fe920821.js} +1 -1
- package/cjs/{MediaQueryContext-729d402a.js.map → MediaQueryContext-fe920821.js.map} +1 -1
- package/cjs/{MemberList-515d3bfb.js → MemberList-b3c99792.js} +5 -5
- package/cjs/{MemberList-515d3bfb.js.map → MemberList-b3c99792.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +12 -12
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -16
- package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -23
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +25 -25
- package/cjs/OpenChannel/components/OpenChannelUI.js +25 -25
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +25 -25
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-5e77c819.js → OpenChannelListProvider-aa38b9f3.js} +3 -3
- package/cjs/{OpenChannelListProvider-5e77c819.js.map → OpenChannelListProvider-aa38b9f3.js.map} +1 -1
- package/cjs/{OpenChannelProvider-e8821f43.js → OpenChannelProvider-689e3690.js} +7 -7
- package/cjs/{OpenChannelProvider-e8821f43.js.map → OpenChannelProvider-689e3690.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/{RemoveMessageModal-0710a908.js → RemoveMessageModal-e454585a.js} +3 -3
- package/cjs/{RemoveMessageModal-0710a908.js.map → RemoveMessageModal-e454585a.js.map} +1 -1
- package/cjs/SendbirdProvider.js +12 -12
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +25 -25
- package/cjs/Thread/components/ParentMessageInfoItem.js +16 -16
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +28 -28
- package/cjs/Thread/components/ThreadListItem.js +28 -28
- package/cjs/Thread/components/ThreadMessageInput.js +27 -26
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +32 -32
- package/cjs/Thread/context.js +9 -9
- package/cjs/Thread.js +32 -32
- package/cjs/{ThreadProvider-e7537e17.js → ThreadProvider-03fb5452.js} +7 -7
- package/cjs/{ThreadProvider-e7537e17.js.map → ThreadProvider-03fb5452.js.map} +1 -1
- package/cjs/{UserProfileContext-5fbd0305.js → UserProfileContext-6b73c8c7.js} +1 -1
- package/cjs/{UserProfileContext-5fbd0305.js.map → UserProfileContext-6b73c8c7.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-8744ba42.js → VoiceMessageInputWrapper-b00f09e0.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-8744ba42.js.map → VoiceMessageInputWrapper-b00f09e0.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{_rollupPluginBabelHelpers-325fff35.js → _rollupPluginBabelHelpers-6bd3ed3b.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-6bd3ed3b.js.map +1 -0
- package/cjs/{actionTypes-9e73ad35.js → actionTypes-f0a152e4.js} +1 -1
- package/cjs/{actionTypes-9e73ad35.js.map → actionTypes-f0a152e4.js.map} +1 -1
- package/cjs/{color-6ed16caa.js → color-273e8911.js} +1 -1
- package/cjs/{color-6ed16caa.js.map → color-273e8911.js.map} +1 -1
- package/cjs/{compareIds-61f98cac.js → compareIds-cedb6c39.js} +1 -1
- package/cjs/{compareIds-61f98cac.js.map → compareIds-cedb6c39.js.map} +1 -1
- package/cjs/{const-20a4c9f8.js → const-5de4173e.js} +1 -1
- package/cjs/{const-20a4c9f8.js.map → const-5de4173e.js.map} +1 -1
- package/cjs/{const-94a43f2e.js → const-b8ef9240.js} +1 -1
- package/cjs/{const-94a43f2e.js.map → const-b8ef9240.js.map} +1 -1
- package/cjs/{consts-1f4e725d.js → consts-0e64ad01.js} +1 -1
- package/cjs/{consts-1f4e725d.js.map → consts-0e64ad01.js.map} +1 -1
- package/cjs/{consts-dae31183.js → consts-9d6ed0a6.js} +1 -1
- package/cjs/{consts-dae31183.js.map → consts-9d6ed0a6.js.map} +1 -1
- package/cjs/{context-53458dac.js → context-e0a53b29.js} +2 -2
- package/cjs/{context-53458dac.js.map → context-e0a53b29.js.map} +1 -1
- package/cjs/dist/index.css +96 -96
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-d44e0a55.js → index-197e3c5b.js} +2 -2
- package/cjs/{index-d44e0a55.js.map → index-197e3c5b.js.map} +1 -1
- package/cjs/{index-1bbb70bd.js → index-25af7767.js} +7 -7
- package/cjs/{index-1bbb70bd.js.map → index-25af7767.js.map} +1 -1
- package/cjs/{index-e6b1d2b7.js → index-31298927.js} +2 -2
- package/cjs/{index-e6b1d2b7.js.map → index-31298927.js.map} +1 -1
- package/cjs/{index-ba209fe7.js → index-36be8d44.js} +4 -4
- package/cjs/{index-ba209fe7.js.map → index-36be8d44.js.map} +1 -1
- package/cjs/{index-3a44ff71.js → index-3b0363a8.js} +1 -1
- package/cjs/{index-3a44ff71.js.map → index-3b0363a8.js.map} +1 -1
- package/cjs/{index-f2f8ceeb.js → index-684be350.js} +3 -3
- package/cjs/{index-f2f8ceeb.js.map → index-684be350.js.map} +1 -1
- package/cjs/{index-98939d51.js → index-6ed2df90.js} +4 -4
- package/cjs/{index-98939d51.js.map → index-6ed2df90.js.map} +1 -1
- package/cjs/{index-59b0ddb6.js → index-75f8f2cd.js} +2 -2
- package/cjs/{index-59b0ddb6.js.map → index-75f8f2cd.js.map} +1 -1
- package/cjs/{index-9cb4a8a1.js → index-7ba6befd.js} +2 -2
- package/cjs/{index-9cb4a8a1.js.map → index-7ba6befd.js.map} +1 -1
- package/cjs/{index-3b8eefa2.js → index-8aa6d8c9.js} +2 -2
- package/cjs/{index-3b8eefa2.js.map → index-8aa6d8c9.js.map} +1 -1
- package/cjs/{index-dc4cbd5a.js → index-aa5383c4.js} +5 -5
- package/cjs/{index-dc4cbd5a.js.map → index-aa5383c4.js.map} +1 -1
- package/cjs/{index-2129e959.js → index-c810e78c.js} +1 -1
- package/cjs/{index-2129e959.js.map → index-c810e78c.js.map} +1 -1
- package/cjs/{index-27659174.js → index-f0d6f431.js} +7 -7
- package/cjs/{index-27659174.js.map → index-f0d6f431.js.map} +1 -1
- package/cjs/{index-306e7c9a.js → index-f2e27f6a.js} +3 -3
- package/cjs/{index-306e7c9a.js.map → index-f2e27f6a.js.map} +1 -1
- package/cjs/index.js +44 -44
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-70ad7caf.js → stringSet-1e9a4bf2.js} +1 -1
- package/cjs/{stringSet-70ad7caf.js.map → stringSet-1e9a4bf2.js.map} +1 -1
- package/cjs/{topics-a17b8ec5.js → topics-33dacb94.js} +1 -1
- package/cjs/{topics-a17b8ec5.js.map → topics-33dacb94.js.map} +1 -1
- package/cjs/{tslib.es6-6bb94011.js → tslib.es6-a674f4e5.js} +1 -1
- package/cjs/{tslib.es6-6bb94011.js.map → tslib.es6-a674f4e5.js.map} +1 -1
- package/cjs/{types-44d71878.js → types-ff787253.js} +1 -1
- package/cjs/{types-44d71878.js.map → types-ff787253.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +14 -10
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +23 -23
- package/cjs/ui/MessageInput.js +10 -10
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +11 -11
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +10 -10
- package/cjs/ui/VoiceMessageItemBody.js +5 -5
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-7fcddf32.js → useLongPress-37c403d8.js} +3 -3
- package/cjs/{useLongPress-7fcddf32.js.map → useLongPress-37c403d8.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-b1231f1d.js → utils-50ff8ad6.js} +2 -2
- package/cjs/{utils-b1231f1d.js.map → utils-50ff8ad6.js.map} +1 -1
- package/cjs/{utils-c86c2884.js → utils-9df4cc6c.js} +1 -1
- package/cjs/{utils-c86c2884.js.map → utils-9df4cc6c.js.map} +1 -1
- package/cjs/{utils-2d3622fd.js → utils-9fed7de8.js} +1 -1
- package/cjs/{utils-2d3622fd.js.map → utils-9fed7de8.js.map} +1 -1
- package/cjs/{utils-76d84308.js → utils-afdab4b0.js} +1 -1
- package/cjs/{utils-76d84308.js.map → utils-afdab4b0.js.map} +1 -1
- package/cjs/{uuid-7d07ac3f.js → uuid-f5d1a1fe.js} +1 -1
- package/cjs/{uuid-7d07ac3f.js.map → uuid-f5d1a1fe.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-b379fbc5.js → color-a450612f.js} +1 -1
- package/{color-b379fbc5.js.map → color-a450612f.js.map} +1 -1
- package/{compareIds-86584ff3.js → compareIds-27ab0100.js} +1 -1
- package/{compareIds-86584ff3.js.map → compareIds-27ab0100.js.map} +1 -1
- package/{const-26fafb08.js → const-2d43b497.js} +1 -1
- package/{const-26fafb08.js.map → const-2d43b497.js.map} +1 -1
- package/{const-693a408f.js → const-de21a301.js} +1 -1
- package/{const-693a408f.js.map → const-de21a301.js.map} +1 -1
- package/{consts-b2395440.js → consts-9f2eecf3.js} +1 -1
- package/{consts-b2395440.js.map → consts-9f2eecf3.js.map} +1 -1
- package/{consts-37ea645a.js → consts-cedae35a.js} +1 -1
- package/{consts-37ea645a.js.map → consts-cedae35a.js.map} +1 -1
- package/{context-672443fa.js → context-b7ccbd17.js} +2 -2
- package/{context-672443fa.js.map → context-b7ccbd17.js.map} +1 -1
- package/dist/index.css +96 -96
- package/dist/index.css.map +1 -1
- package/{index-854faff0.js → index-4729324a.js} +5 -5
- package/{index-854faff0.js.map → index-4729324a.js.map} +1 -1
- package/{index-d311c62b.js → index-533dff7c.js} +7 -7
- package/{index-d311c62b.js.map → index-533dff7c.js.map} +1 -1
- package/{index-102fbe62.js → index-58b5008c.js} +2 -2
- package/{index-102fbe62.js.map → index-58b5008c.js.map} +1 -1
- package/{index-c29a819f.js → index-5e921f58.js} +3 -3
- package/{index-c29a819f.js.map → index-5e921f58.js.map} +1 -1
- package/{index-c55389dc.js → index-9ee89f7c.js} +2 -2
- package/{index-c55389dc.js.map → index-9ee89f7c.js.map} +1 -1
- package/{index-30721345.js → index-9f08118f.js} +4 -4
- package/{index-30721345.js.map → index-9f08118f.js.map} +1 -1
- package/{index-39657867.js → index-a245d213.js} +2 -2
- package/{index-39657867.js.map → index-a245d213.js.map} +1 -1
- package/{index-f338f866.js → index-af6e4d1e.js} +1 -1
- package/{index-f338f866.js.map → index-af6e4d1e.js.map} +1 -1
- package/{index-46d8dde5.js → index-ba549e6a.js} +2 -2
- package/{index-46d8dde5.js.map → index-ba549e6a.js.map} +1 -1
- package/{index-7afa5c8d.js → index-d69c6128.js} +3 -3
- package/{index-7afa5c8d.js.map → index-d69c6128.js.map} +1 -1
- package/{index-e3412d57.js → index-e8294858.js} +4 -4
- package/{index-e3412d57.js.map → index-e8294858.js.map} +1 -1
- package/{index-7b740ffc.js → index-eba6c13e.js} +7 -7
- package/{index-7b740ffc.js.map → index-eba6c13e.js.map} +1 -1
- package/{index-5b34a381.js → index-f3ba7696.js} +1 -1
- package/{index-5b34a381.js.map → index-f3ba7696.js.map} +1 -1
- package/{index-30236e16.js → index-fb9f4d36.js} +2 -2
- package/{index-30236e16.js.map → index-fb9f4d36.js.map} +1 -1
- package/index.d.ts +3 -1
- package/index.js +44 -44
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-fd70cba0.js → stringSet-80381462.js} +1 -1
- package/{stringSet-fd70cba0.js.map → stringSet-80381462.js.map} +1 -1
- package/{topics-c4837013.js → topics-aa4d9dac.js} +1 -1
- package/{topics-c4837013.js.map → topics-aa4d9dac.js.map} +1 -1
- package/{tslib.es6-645dedf8.js → tslib.es6-33004eb4.js} +1 -1
- package/{tslib.es6-645dedf8.js.map → tslib.es6-33004eb4.js.map} +1 -1
- package/{types-87c77099.js → types-79f3626f.js} +1 -1
- package/{types-87c77099.js.map → types-79f3626f.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +14 -10
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +23 -23
- package/ui/MessageInput.js +10 -10
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +11 -11
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +10 -10
- package/ui/VoiceMessageItemBody.js +5 -5
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +11 -11
- package/{useLongPress-81323308.js → useLongPress-562f0826.js} +3 -3
- package/{useLongPress-81323308.js.map → useLongPress-562f0826.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-1c138ae4.js → utils-3eee4302.js} +1 -1
- package/{utils-1c138ae4.js.map → utils-3eee4302.js.map} +1 -1
- package/{utils-d17bcc15.js → utils-4e5389df.js} +1 -1
- package/{utils-d17bcc15.js.map → utils-4e5389df.js.map} +1 -1
- package/{utils-88f76aba.js → utils-8fa2a634.js} +2 -2
- package/{utils-88f76aba.js.map → utils-8fa2a634.js.map} +1 -1
- package/{utils-780c1e12.js → utils-b84d9295.js} +1 -1
- package/{utils-780c1e12.js.map → utils-b84d9295.js.map} +1 -1
- package/{uuid-e15650df.js → uuid-7397f1ec.js} +1 -1
- package/{uuid-e15650df.js.map → uuid-7397f1ec.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/_rollupPluginBabelHelpers-dfc61977.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-325fff35.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-102fbe62.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport { getOutgoingMessageState, OutgoingMessageStates } from './exports/getOutgoingMessageState';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nexport const UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\n\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\n\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isAdminMessage?.() || (message?.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isUserMessage?.() || (message?.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isFileMessage?.() || (message?.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage | FileMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && (\n message.ogMetaData?.url\n || message.ogMetaData?.title\n || message.ogMetaData?.description\n || message.ogMetaData?.defaultImage\n )\n);\nexport const isTextMessage = (message: UserMessage | FileMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: UserMessage | FileMessage): boolean => (\n message && isFileMessage(message) && isSupportedFileView((message as FileMessage).type)\n);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isVideo((message as FileMessage).type)\n);\nexport const isGifMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isGif((message as FileMessage).type)\n);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\nexport const isAudioMessageMimeType = (type: string): boolean => (/^audio\\//.test(type));\nexport const isVoiceMessage = (message: FileMessage): boolean => {\n // ex) audio/m4a OR audio/m4a;sbu_type=voice\n if (!(message && isFileMessage(message))) {\n return false;\n }\n const [mimeType, typeParameter] = message.type?.split(';');\n if (!isAudioMessageMimeType(mimeType) || !typeParameter) {\n return false;\n }\n const [key, value] = typeParameter?.split('=');\n if (key === 'sbu_type' && value === 'voice') {\n return true;\n }\n // ex) message.metaArrays = [{ key: 'KEY_INTERNAL_MESSAGE_TYPE', value: ['voice/m4a'] }]\n return isVoiceMessageMimeType(message.metaArrays.find((metaArray) => metaArray.key === 'KEY_INTERNAL_MESSAGE_TYPE')?.value?.[0]);\n};\nexport const isVoiceMessageMimeType = (type: string): boolean => (/^voice\\//.test(type));\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n if (isThumbnailMessage(message as FileMessage)) {\n return UIKitMessageTypes.THUMBNAIL;\n }\n if (isVoiceMessage(message as FileMessage)) {\n return UIKitFileTypes.VOICE\n }\n return UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message?.sender && getUserName(message?.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\nexport const filterChannelListParams = (params: GroupChannelListQuery, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n const searchFilter = params?.searchFilter;\n if (searchFilter?.query && searchFilter.fields?.length > 0) {\n const searchQuery = searchFilter.query;\n const searchFields = searchFilter.fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n const userIdsFilter = params?.userIdsFilter;\n if (userIdsFilter?.userIds?.length > 0) {\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","VOICE","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","isSentMessage","message","sendingStatus","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isFailedMessage","isPendingMessage","isSentStatus","state","SENT","DELIVERED","isAdminMessage","_a","call","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","_b","title","_c","description","_d","defaultImage","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isAudioMessageMimeType","test","isVoiceMessage","split","mimeType","typeParameter","_e","key","value","isVoiceMessageMimeType","metaArrays","find","metaArray","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","searchFilter","query","fields","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_f","nicknameContainsFilter","lowerCasedSubString_1","_g","_h","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","mentionedUser","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-58b5008c.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport { getOutgoingMessageState, OutgoingMessageStates } from './exports/getOutgoingMessageState';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nexport const UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\n\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\n\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isAdminMessage?.() || (message?.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isUserMessage?.() || (message?.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isFileMessage?.() || (message?.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage | FileMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && (\n message.ogMetaData?.url\n || message.ogMetaData?.title\n || message.ogMetaData?.description\n || message.ogMetaData?.defaultImage\n )\n);\nexport const isTextMessage = (message: UserMessage | FileMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: UserMessage | FileMessage): boolean => (\n message && isFileMessage(message) && isSupportedFileView((message as FileMessage).type)\n);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isVideo((message as FileMessage).type)\n);\nexport const isGifMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isGif((message as FileMessage).type)\n);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\nexport const isAudioMessageMimeType = (type: string): boolean => (/^audio\\//.test(type));\nexport const isVoiceMessage = (message: FileMessage): boolean => {\n // ex) audio/m4a OR audio/m4a;sbu_type=voice\n if (!(message && isFileMessage(message))) {\n return false;\n }\n const [mimeType, typeParameter] = message.type?.split(';');\n if (!isAudioMessageMimeType(mimeType) || !typeParameter) {\n return false;\n }\n const [key, value] = typeParameter?.split('=');\n if (key === 'sbu_type' && value === 'voice') {\n return true;\n }\n // ex) message.metaArrays = [{ key: 'KEY_INTERNAL_MESSAGE_TYPE', value: ['voice/m4a'] }]\n return isVoiceMessageMimeType(message.metaArrays.find((metaArray) => metaArray.key === 'KEY_INTERNAL_MESSAGE_TYPE')?.value?.[0]);\n};\nexport const isVoiceMessageMimeType = (type: string): boolean => (/^voice\\//.test(type));\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n if (isThumbnailMessage(message as FileMessage)) {\n return UIKitMessageTypes.THUMBNAIL;\n }\n if (isVoiceMessage(message as FileMessage)) {\n return UIKitFileTypes.VOICE\n }\n return UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message?.sender && getUserName(message?.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\nexport const filterChannelListParams = (params: GroupChannelListQuery, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n const searchFilter = params?.searchFilter;\n if (searchFilter?.query && searchFilter.fields?.length > 0) {\n const searchQuery = searchFilter.query;\n const searchFields = searchFilter.fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n const userIdsFilter = params?.userIdsFilter;\n if (userIdsFilter?.userIds?.length > 0) {\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","VOICE","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","isSentMessage","message","sendingStatus","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isFailedMessage","isPendingMessage","isSentStatus","state","SENT","DELIVERED","isAdminMessage","_a","call","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","_b","title","_c","description","_d","defaultImage","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isAudioMessageMimeType","test","isVoiceMessage","split","mimeType","typeParameter","_e","key","value","isVoiceMessageMimeType","metaArrays","find","metaArray","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","searchFilter","query","fields","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_f","nicknameContainsFilter","lowerCasedSubString_1","_g","_h","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","mentionedUser","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React__default, { useReducer, useContext, createContext } from 'react';
|
|
2
|
-
import { _ as __assign } from './tslib.es6-
|
|
3
|
-
import { f as VOICE_PLAYER_ROOT_ID, g as VOICE_PLAYER_AUDIO_ID, d as VOICE_MESSAGE_FILE_NAME, e as VOICE_MESSAGE_MIME_TYPE } from './consts-
|
|
2
|
+
import { _ as __assign } from './tslib.es6-33004eb4.js';
|
|
3
|
+
import { f as VOICE_PLAYER_ROOT_ID, g as VOICE_PLAYER_AUDIO_ID, d as VOICE_MESSAGE_FILE_NAME, e as VOICE_MESSAGE_MIME_TYPE } from './consts-cedae35a.js';
|
|
4
4
|
|
|
5
5
|
var INITIALIZE_AUDIO_UNIT = 'INITIALIZE_AUDIO_UNIT';
|
|
6
6
|
var SET_CURRENT_PLAYER = 'SET_CURRENT_PLAYER';
|
|
@@ -268,4 +268,4 @@ var useVoicePlayerContext = function () {
|
|
|
268
268
|
};
|
|
269
269
|
|
|
270
270
|
export { AudioUnitDefaultValue as A, VoicePlayerProvider as V, VoicePlayerStatus as a, useVoicePlayerContext as u };
|
|
271
|
-
//# sourceMappingURL=index-
|
|
271
|
+
//# sourceMappingURL=index-5e921f58.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-c29a819f.js","sources":["../src/hooks/VoicePlayer/dux/actionTypes.ts","../src/hooks/VoicePlayer/dux/initialState.ts","../src/hooks/VoicePlayer/dux/reducer.ts","../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["export const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\ntype ObjectValues<T> = T[keyof T];\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: {\n groupKey,\n },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: {\n groupKey,\n audioFile,\n },\n });\n };\n audioPlayer.onpause = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: {\n groupKey,\n audioPlayer,\n },\n });\n })\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","text","includes","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-5e921f58.js","sources":["../src/hooks/VoicePlayer/dux/actionTypes.ts","../src/hooks/VoicePlayer/dux/initialState.ts","../src/hooks/VoicePlayer/dux/reducer.ts","../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["export const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\ntype ObjectValues<T> = T[keyof T];\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: {\n groupKey,\n },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: {\n groupKey,\n audioFile,\n },\n });\n };\n audioPlayer.onpause = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: {\n groupKey,\n audioPlayer,\n },\n });\n })\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","text","includes","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defaultLocale } from './index-
|
|
1
|
+
import { d as defaultLocale } from './index-f3ba7696.js';
|
|
2
2
|
|
|
3
3
|
function requiredArgs(required, args) {
|
|
4
4
|
if (args.length < required) {
|
|
@@ -1849,4 +1849,4 @@ function cleanEscapedString(input) {
|
|
|
1849
1849
|
}
|
|
1850
1850
|
|
|
1851
1851
|
export { toInteger as a, format as f, requiredArgs as r, toDate as t };
|
|
1852
|
-
//# sourceMappingURL=index-
|
|
1852
|
+
//# sourceMappingURL=index-9ee89f7c.js.map
|