@sendbird/uikit-react 3.7.0-rc.1 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +52 -52
- package/Channel/components/ChannelHeader.js +22 -22
- package/Channel/components/ChannelUI.js +46 -46
- package/Channel/components/FileViewer.js +19 -19
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +42 -42
- package/Channel/components/MessageInput.js +33 -33
- package/Channel/components/MessageList.js +42 -42
- package/Channel/components/RemoveMessageModal.js +23 -23
- package/Channel/components/SuggestedMentionList.js +19 -19
- package/Channel/components/TypingIndicator.js +18 -18
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +15 -15
- package/Channel/utils/compareMessagesForGrouping.js +6 -6
- package/Channel/utils/getMessagePartsInfo.js +7 -7
- package/Channel.js +46 -46
- package/ChannelList/components/AddChannel.js +16 -16
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +32 -32
- package/ChannelList/components/ChannelPreview.js +30 -30
- package/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +32 -32
- package/{ChannelListProvider-63aa89ac.js → ChannelListProvider-eccd99c6.js} +8 -8
- package/{ChannelListProvider-63aa89ac.js.map → ChannelListProvider-eccd99c6.js.map} +1 -1
- package/{ChannelProvider-08534eaa.js → ChannelProvider-9ba5893a.js} +14 -14
- package/{ChannelProvider-08534eaa.js.map → ChannelProvider-9ba5893a.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +14 -14
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +14 -14
- package/ChannelSettings/components/LeaveChannel.js +13 -13
- 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 +17 -17
- 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 +3 -3
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-7aa5bcd3.js → CreateChannelProvider-a2885972.js} +1 -1
- package/{CreateChannelProvider-7aa5bcd3.js.map → CreateChannelProvider-a2885972.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +12 -12
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-3dd8dd71.js → LocalizationContext-287ee149.js} +3 -3
- package/{LocalizationContext-3dd8dd71.js.map → LocalizationContext-287ee149.js.map} +1 -1
- package/{MediaQueryContext-e7425227.js → MediaQueryContext-114ca049.js} +1 -1
- package/{MediaQueryContext-e7425227.js.map → MediaQueryContext-114ca049.js.map} +1 -1
- package/{MemberList-5f00f0af.js → MemberList-4e71a841.js} +7 -7
- package/{MemberList-5f00f0af.js.map → MemberList-4e71a841.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +12 -12
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +12 -12
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +11 -11
- package/OpenChannel/components/OpenChannelInput.js +21 -21
- package/OpenChannel/components/OpenChannelMessage.js +32 -32
- package/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/OpenChannel/components/OpenChannelUI.js +34 -34
- package/OpenChannel/context.js +7 -7
- package/OpenChannel.js +34 -34
- package/OpenChannelList/components/OpenChannelListUI.js +14 -14
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +2 -2
- package/OpenChannelList.js +14 -14
- package/{OpenChannelListProvider-d318c26b.js → OpenChannelListProvider-45d4ab54.js} +2 -2
- package/{OpenChannelListProvider-d318c26b.js.map → OpenChannelListProvider-45d4ab54.js.map} +1 -1
- package/{OpenChannelProvider-95f0d098.js → OpenChannelProvider-9818f9ed.js} +6 -6
- package/{OpenChannelProvider-95f0d098.js.map → OpenChannelProvider-9818f9ed.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
- package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-16417a53.js → RemoveMessageModal-007c2f04.js} +6 -6
- package/{RemoveMessageModal-16417a53.js.map → RemoveMessageModal-007c2f04.js.map} +1 -1
- package/SendbirdProvider.js +18 -18
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +38 -38
- package/Thread/components/ParentMessageInfoItem.js +25 -25
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +42 -42
- package/Thread/components/ThreadListItem.js +42 -42
- package/Thread/components/ThreadMessageInput.js +33 -33
- package/Thread/components/ThreadUI.js +45 -45
- package/Thread/context.js +10 -10
- package/Thread.js +45 -45
- package/{UserProfileContext-a70aa041.js → UserProfileContext-2001a468.js} +1 -1
- package/{UserProfileContext-a70aa041.js.map → UserProfileContext-2001a468.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +12 -12
- package/VoiceRecorder/context.js +12 -12
- package/VoiceRecorder/useVoiceRecorder.js +11 -11
- package/{WebAudioUtils-10cc2346.js → WebAudioUtils-31f7c8eb.js} +2 -2
- package/{WebAudioUtils-10cc2346.js.map → WebAudioUtils-31f7c8eb.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-bb4003a4.js → _rollupPluginBabelHelpers-e92eb032.js} +1 -1
- package/_rollupPluginBabelHelpers-e92eb032.js.map +1 -0
- package/{actionTypes-fd447faf.js → actionTypes-324495ed.js} +1 -1
- package/{actionTypes-fd447faf.js.map → actionTypes-324495ed.js.map} +1 -1
- package/cjs/App.js +52 -52
- package/cjs/Channel/components/ChannelHeader.js +22 -22
- package/cjs/Channel/components/ChannelUI.js +46 -46
- package/cjs/Channel/components/FileViewer.js +19 -19
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +42 -42
- package/cjs/Channel/components/MessageInput.js +33 -33
- package/cjs/Channel/components/MessageList.js +42 -42
- package/cjs/Channel/components/RemoveMessageModal.js +23 -23
- package/cjs/Channel/components/SuggestedMentionList.js +19 -19
- package/cjs/Channel/components/TypingIndicator.js +18 -18
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +15 -15
- package/cjs/Channel/utils/compareMessagesForGrouping.js +6 -6
- package/cjs/Channel/utils/getMessagePartsInfo.js +7 -7
- package/cjs/Channel.js +46 -46
- package/cjs/ChannelList/components/AddChannel.js +16 -16
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +32 -32
- package/cjs/ChannelList/components/ChannelPreview.js +30 -30
- package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +32 -32
- package/cjs/{ChannelListProvider-c35c3937.js → ChannelListProvider-d0ad5a84.js} +8 -8
- package/cjs/{ChannelListProvider-c35c3937.js.map → ChannelListProvider-d0ad5a84.js.map} +1 -1
- package/cjs/{ChannelProvider-95309057.js → ChannelProvider-fc111e5f.js} +14 -14
- package/cjs/{ChannelProvider-95309057.js.map → ChannelProvider-fc111e5f.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +14 -14
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -14
- package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
- 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 +17 -17
- 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 +3 -3
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-4d70701b.js → CreateChannelProvider-c3c843e4.js} +1 -1
- package/cjs/{CreateChannelProvider-4d70701b.js.map → CreateChannelProvider-c3c843e4.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +12 -12
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-e12e7229.js → LocalizationContext-58b6ed7c.js} +3 -3
- package/cjs/{LocalizationContext-e12e7229.js.map → LocalizationContext-58b6ed7c.js.map} +1 -1
- package/cjs/{MediaQueryContext-77316b55.js → MediaQueryContext-6141d955.js} +1 -1
- package/cjs/{MediaQueryContext-77316b55.js.map → MediaQueryContext-6141d955.js.map} +1 -1
- package/cjs/{MemberList-5442a043.js → MemberList-2bd3db33.js} +7 -7
- package/cjs/{MemberList-5442a043.js.map → MemberList-2bd3db33.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +12 -12
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +11 -11
- package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
- package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -32
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
- package/cjs/OpenChannel/context.js +7 -7
- package/cjs/OpenChannel.js +34 -34
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -14
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +2 -2
- package/cjs/OpenChannelList.js +14 -14
- package/cjs/{OpenChannelListProvider-0eb92240.js → OpenChannelListProvider-a8560978.js} +2 -2
- package/cjs/{OpenChannelListProvider-0eb92240.js.map → OpenChannelListProvider-a8560978.js.map} +1 -1
- package/cjs/{OpenChannelProvider-5e9198f9.js → OpenChannelProvider-39f13647.js} +6 -6
- package/cjs/{OpenChannelProvider-5e9198f9.js.map → OpenChannelProvider-39f13647.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- 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 +17 -17
- package/cjs/{RemoveMessageModal-300aff21.js → RemoveMessageModal-afc3e268.js} +6 -6
- package/cjs/{RemoveMessageModal-300aff21.js.map → RemoveMessageModal-afc3e268.js.map} +1 -1
- package/cjs/SendbirdProvider.js +18 -18
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +38 -38
- package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +42 -42
- package/cjs/Thread/components/ThreadListItem.js +42 -42
- package/cjs/Thread/components/ThreadMessageInput.js +33 -33
- package/cjs/Thread/components/ThreadUI.js +45 -45
- package/cjs/Thread/context.js +10 -10
- package/cjs/Thread.js +45 -45
- package/cjs/{UserProfileContext-712f02b1.js → UserProfileContext-c6d7abb7.js} +1 -1
- package/cjs/{UserProfileContext-712f02b1.js.map → UserProfileContext-c6d7abb7.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +12 -12
- package/cjs/VoiceRecorder/context.js +12 -12
- package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -11
- package/cjs/{WebAudioUtils-cc296e5f.js → WebAudioUtils-36803ab2.js} +2 -2
- package/cjs/{WebAudioUtils-cc296e5f.js.map → WebAudioUtils-36803ab2.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-b21be8d6.js → _rollupPluginBabelHelpers-f5b0dfb9.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +1 -0
- package/cjs/{actionTypes-c1bf54bc.js → actionTypes-327123b5.js} +1 -1
- package/cjs/{actionTypes-c1bf54bc.js.map → actionTypes-327123b5.js.map} +1 -1
- package/cjs/{color-45578eb6.js → color-5bf5a8f5.js} +1 -1
- package/cjs/{color-45578eb6.js.map → color-5bf5a8f5.js.map} +1 -1
- package/cjs/{compareIds-6d33d98c.js → compareIds-28c6af62.js} +1 -1
- package/cjs/{compareIds-6d33d98c.js.map → compareIds-28c6af62.js.map} +1 -1
- package/cjs/{const-9692feaf.js → const-876980e8.js} +1 -1
- package/cjs/{const-9692feaf.js.map → const-876980e8.js.map} +1 -1
- package/cjs/{const-ea1110b8.js → const-c9e7a340.js} +1 -1
- package/cjs/{const-ea1110b8.js.map → const-c9e7a340.js.map} +1 -1
- package/cjs/{consts-2425b1dc.js → consts-61d83828.js} +1 -1
- package/cjs/{consts-2425b1dc.js.map → consts-61d83828.js.map} +1 -1
- package/cjs/{consts-4ddf1e9d.js → consts-b3c4f548.js} +1 -1
- package/cjs/{consts-4ddf1e9d.js.map → consts-b3c4f548.js.map} +1 -1
- package/cjs/{consts-39b0df2d.js → consts-b711321c.js} +1 -1
- package/cjs/{consts-39b0df2d.js.map → consts-b711321c.js.map} +1 -1
- package/cjs/{consts-838d8c0a.js → consts-f54b15c2.js} +1 -1
- package/cjs/{consts-838d8c0a.js.map → consts-f54b15c2.js.map} +1 -1
- package/cjs/{context-b0c281ea.js → context-6684538e.js} +2 -2
- package/cjs/{context-b0c281ea.js.map → context-6684538e.js.map} +1 -1
- package/cjs/dist/index.css +55 -55
- package/cjs/dist/index.css.map +1 -1
- package/cjs/hooks/useModal.js +11 -11
- package/cjs/{index-2a618f4d.js → index-134e9852.js} +2 -2
- package/cjs/{index-2a618f4d.js.map → index-134e9852.js.map} +1 -1
- package/cjs/{index-ab04f4c1.js → index-3448df64.js} +2 -2
- package/cjs/{index-ab04f4c1.js.map → index-3448df64.js.map} +1 -1
- package/cjs/{index-2c02d236.js → index-45933be9.js} +2 -2
- package/cjs/{index-2c02d236.js.map → index-45933be9.js.map} +1 -1
- package/cjs/{index-be4197e2.js → index-4c378655.js} +4 -4
- package/cjs/{index-be4197e2.js.map → index-4c378655.js.map} +1 -1
- package/cjs/{index-cb8e0d3b.js → index-4e939c26.js} +9 -9
- package/cjs/{index-cb8e0d3b.js.map → index-4e939c26.js.map} +1 -1
- package/cjs/{index-c0e391a9.js → index-520e12b8.js} +7 -7
- package/cjs/{index-c0e391a9.js.map → index-520e12b8.js.map} +1 -1
- package/cjs/{index-d0d79864.js → index-54279ec2.js} +1 -1
- package/cjs/{index-d0d79864.js.map → index-54279ec2.js.map} +1 -1
- package/cjs/{index-8c79fc87.js → index-692ea6aa.js} +2 -2
- package/cjs/{index-8c79fc87.js.map → index-692ea6aa.js.map} +1 -1
- package/cjs/{index-e61f36ff.js → index-7627b546.js} +3 -3
- package/cjs/{index-e61f36ff.js.map → index-7627b546.js.map} +1 -1
- package/cjs/{index-1c49b970.js → index-a95c4ab4.js} +3 -3
- package/cjs/{index-1c49b970.js.map → index-a95c4ab4.js.map} +1 -1
- package/cjs/{index-6f4ca5cf.js → index-b5a9b4b7.js} +2 -2
- package/cjs/{index-6f4ca5cf.js.map → index-b5a9b4b7.js.map} +1 -1
- package/cjs/{index-6fdf155b.js → index-b8ba4548.js} +1 -1
- package/cjs/{index-6fdf155b.js.map → index-b8ba4548.js.map} +1 -1
- package/cjs/{index-6b215583.js → index-bc6623d7.js} +11 -11
- package/cjs/{index-6b215583.js.map → index-bc6623d7.js.map} +1 -1
- package/cjs/{index-35a2f604.js → index-cc2e05a4.js} +5 -5
- package/cjs/{index-35a2f604.js.map → index-cc2e05a4.js.map} +1 -1
- package/cjs/{index-dfe39552.js → index-ce07a2a3.js} +4 -4
- package/cjs/{index-dfe39552.js.map → index-ce07a2a3.js.map} +1 -1
- package/cjs/{index-23d284a0.js → index-dbe8dd84.js} +3 -3
- package/cjs/{index-23d284a0.js.map → index-dbe8dd84.js.map} +1 -1
- package/cjs/{index-b1e163b7.js → index-e5e6d9b0.js} +4 -4
- package/cjs/{index-b1e163b7.js.map → index-e5e6d9b0.js.map} +1 -1
- package/cjs/{index-94db47de.js → index-e8928da6.js} +1 -1
- package/cjs/{index-94db47de.js.map → index-e8928da6.js.map} +1 -1
- package/cjs/index.js +56 -56
- package/cjs/{resolvedReplyType-e4155c81.js → resolvedReplyType-c4564ebe.js} +1 -1
- package/cjs/{resolvedReplyType-e4155c81.js.map → resolvedReplyType-c4564ebe.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +1 -1
- package/cjs/{stringFormatterUtils-db5c0b13.js → stringFormatterUtils-92dbef3c.js} +3 -3
- package/cjs/{stringFormatterUtils-db5c0b13.js.map → stringFormatterUtils-92dbef3c.js.map} +1 -1
- package/cjs/{stringSet-f086c338.js → stringSet-1539ac47.js} +1 -1
- package/cjs/{stringSet-f086c338.js.map → stringSet-1539ac47.js.map} +1 -1
- package/cjs/{tokenize-db0fb550.js → tokenize-d5286fa8.js} +3 -3
- package/cjs/{tokenize-db0fb550.js.map → tokenize-d5286fa8.js.map} +1 -1
- package/cjs/{tslib.es6-b66710d0.js → tslib.es6-c74b513f.js} +1 -1
- package/cjs/{tslib.es6-b66710d0.js.map → tslib.es6-c74b513f.js.map} +1 -1
- package/cjs/{types-949e3eb4.js → types-d0d770c3.js} +1 -1
- package/cjs/{types-949e3eb4.js.map → types-d0d770c3.js.map} +1 -1
- package/cjs/{types-6edcfd89.js → types-feda9656.js} +1 -1
- package/cjs/{types-6edcfd89.js.map → types-feda9656.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 +6 -6
- package/cjs/ui/Button.js +4 -4
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +6 -6
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +15 -15
- package/cjs/ui/FileMessageItemBody.js +7 -7
- package/cjs/ui/FileViewer.js +14 -14
- 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 +37 -37
- package/cjs/ui/MessageInput/hooks/usePaste.js +5 -5
- package/cjs/ui/MessageInput.js +16 -16
- package/cjs/ui/MessageItemMenu.js +19 -19
- package/cjs/ui/MessageItemReactionMenu.js +10 -10
- package/cjs/ui/MessageSearchFileItem.js +12 -12
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +11 -11
- package/cjs/ui/Modal.js +10 -10
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +17 -17
- package/cjs/ui/OpenchannelOGMessage.js +19 -19
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelUserMessage.js +17 -17
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +8 -8
- package/cjs/ui/QuoteMessageInput.js +8 -8
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +5 -5
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +8 -8
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +12 -12
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useHandleUploadFiles-51f534ef.js → useHandleUploadFiles-39e8d107.js} +11 -11
- package/cjs/{useHandleUploadFiles-51f534ef.js.map → useHandleUploadFiles-39e8d107.js.map} +1 -1
- package/cjs/{useLongPress-d5d1f4da.js → useLongPress-18b7af79.js} +3 -3
- package/cjs/{useLongPress-d5d1f4da.js.map → useLongPress-18b7af79.js.map} +1 -1
- package/cjs/{useSendMultipleFilesMessage-a050e482.js → useSendMultipleFilesMessage-d6a3d5cf.js} +3 -3
- package/cjs/{useSendMultipleFilesMessage-a050e482.js.map → useSendMultipleFilesMessage-d6a3d5cf.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{useStatefulFileInfoList-aa28d0cd.js → useStatefulFileInfoList-c510792f.js} +4 -4
- package/cjs/{useStatefulFileInfoList-aa28d0cd.js.map → useStatefulFileInfoList-c510792f.js.map} +1 -1
- package/cjs/utils/message/isVoiceMessage.js +3 -3
- package/cjs/{utils-c0bb692b.js → utils-1d0f1e0c.js} +1 -1
- package/cjs/{utils-c0bb692b.js.map → utils-1d0f1e0c.js.map} +1 -1
- package/cjs/{utils-ef688ff7.js → utils-9193a195.js} +4 -4
- package/cjs/{utils-ef688ff7.js.map → utils-9193a195.js.map} +1 -1
- package/cjs/{utils-20fdce6e.js → utils-93ca9d57.js} +3 -3
- package/cjs/{utils-20fdce6e.js.map → utils-93ca9d57.js.map} +1 -1
- package/cjs/{utils-cd9f6cd1.js → utils-98441ba6.js} +1 -1
- package/cjs/{utils-cd9f6cd1.js.map → utils-98441ba6.js.map} +1 -1
- package/cjs/{utils-fbdee0b3.js → utils-e6c4b2b0.js} +2 -2
- package/cjs/{utils-fbdee0b3.js.map → utils-e6c4b2b0.js.map} +1 -1
- package/cjs/{utils-de8b30fe.js → utils-eb6d90e0.js} +1 -1
- package/cjs/{utils-de8b30fe.js.map → utils-eb6d90e0.js.map} +1 -1
- package/cjs/{uuid-121cea7a.js → uuid-9a117e16.js} +1 -1
- package/cjs/{uuid-121cea7a.js.map → uuid-9a117e16.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-e1c45ba1.js → color-57373b4c.js} +1 -1
- package/{color-e1c45ba1.js.map → color-57373b4c.js.map} +1 -1
- package/{compareIds-6a90b7d0.js → compareIds-7e517404.js} +1 -1
- package/{compareIds-6a90b7d0.js.map → compareIds-7e517404.js.map} +1 -1
- package/{const-818ac95b.js → const-73db0277.js} +1 -1
- package/{const-818ac95b.js.map → const-73db0277.js.map} +1 -1
- package/{const-7e1bef20.js → const-93731a4c.js} +1 -1
- package/{const-7e1bef20.js.map → const-93731a4c.js.map} +1 -1
- package/{consts-99975d63.js → consts-4ec7d640.js} +1 -1
- package/{consts-99975d63.js.map → consts-4ec7d640.js.map} +1 -1
- package/{consts-893be876.js → consts-57c888b9.js} +1 -1
- package/{consts-893be876.js.map → consts-57c888b9.js.map} +1 -1
- package/{consts-96ddd57a.js → consts-be37687e.js} +1 -1
- package/{consts-96ddd57a.js.map → consts-be37687e.js.map} +1 -1
- package/{consts-9a7169ff.js → consts-d9c5f25a.js} +1 -1
- package/{consts-9a7169ff.js.map → consts-d9c5f25a.js.map} +1 -1
- package/{context-bbbcf8c7.js → context-729493c4.js} +2 -2
- package/{context-bbbcf8c7.js.map → context-729493c4.js.map} +1 -1
- package/dist/index.css +55 -55
- package/dist/index.css.map +1 -1
- package/hooks/useModal.js +11 -11
- package/{index-7c8bbc47.js → index-04bd1a59.js} +1 -1
- package/{index-7c8bbc47.js.map → index-04bd1a59.js.map} +1 -1
- package/{index-4ff8441f.js → index-09847c0f.js} +1 -1
- package/{index-4ff8441f.js.map → index-09847c0f.js.map} +1 -1
- package/{index-6b269462.js → index-0f017704.js} +11 -11
- package/{index-6b269462.js.map → index-0f017704.js.map} +1 -1
- package/{index-26bafa8f.js → index-2d27aeef.js} +2 -2
- package/{index-26bafa8f.js.map → index-2d27aeef.js.map} +1 -1
- package/{index-f4577c1b.js → index-493689bd.js} +4 -4
- package/{index-f4577c1b.js.map → index-493689bd.js.map} +1 -1
- package/{index-bb6d2c32.js → index-494f9e79.js} +2 -2
- package/{index-bb6d2c32.js.map → index-494f9e79.js.map} +1 -1
- package/{index-446afac4.js → index-4b4e9682.js} +7 -7
- package/{index-446afac4.js.map → index-4b4e9682.js.map} +1 -1
- package/{index-aa3fb70f.js → index-62d5f020.js} +9 -9
- package/{index-aa3fb70f.js.map → index-62d5f020.js.map} +1 -1
- package/{index-e2e20fad.js → index-682a192c.js} +2 -2
- package/{index-e2e20fad.js.map → index-682a192c.js.map} +1 -1
- package/{index-8b8c7344.js → index-686a551d.js} +2 -2
- package/{index-8b8c7344.js.map → index-686a551d.js.map} +1 -1
- package/{index-d6c3b3a4.js → index-6b3b1eca.js} +5 -5
- package/{index-d6c3b3a4.js.map → index-6b3b1eca.js.map} +1 -1
- package/{index-a6cfd784.js → index-776554c0.js} +3 -3
- package/{index-a6cfd784.js.map → index-776554c0.js.map} +1 -1
- package/{index-72a8436a.js → index-92741c7e.js} +2 -2
- package/{index-72a8436a.js.map → index-92741c7e.js.map} +1 -1
- package/{index-02a91ddb.js → index-a0638563.js} +4 -4
- package/{index-02a91ddb.js.map → index-a0638563.js.map} +1 -1
- package/{index-e0e44e8a.js → index-c22e4772.js} +4 -4
- package/{index-e0e44e8a.js.map → index-c22e4772.js.map} +1 -1
- package/{index-a3b1c2f0.js → index-e04159fe.js} +3 -3
- package/{index-a3b1c2f0.js.map → index-e04159fe.js.map} +1 -1
- package/{index-de4364e8.js → index-e4277f9c.js} +1 -1
- package/{index-de4364e8.js.map → index-e4277f9c.js.map} +1 -1
- package/{index-c3d24a1e.js → index-f8a9cb51.js} +3 -3
- package/{index-c3d24a1e.js.map → index-f8a9cb51.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +56 -56
- package/package.json +1 -1
- package/{resolvedReplyType-1880de12.js → resolvedReplyType-fb987595.js} +1 -1
- package/{resolvedReplyType-1880de12.js.map → resolvedReplyType-fb987595.js.map} +1 -1
- package/sendbirdSelectors.js +1 -1
- package/{stringFormatterUtils-c5516210.js → stringFormatterUtils-abbe70ba.js} +3 -3
- package/{stringFormatterUtils-c5516210.js.map → stringFormatterUtils-abbe70ba.js.map} +1 -1
- package/{stringSet-82c00996.js → stringSet-6422c6b9.js} +1 -1
- package/{stringSet-82c00996.js.map → stringSet-6422c6b9.js.map} +1 -1
- package/{tokenize-d54187ef.js → tokenize-eae44765.js} +3 -3
- package/{tokenize-d54187ef.js.map → tokenize-eae44765.js.map} +1 -1
- package/{tslib.es6-353b1a8e.js → tslib.es6-c2fb729e.js} +1 -1
- package/{tslib.es6-353b1a8e.js.map → tslib.es6-c2fb729e.js.map} +1 -1
- package/{types-afb18a4f.js → types-781e0bab.js} +1 -1
- package/{types-afb18a4f.js.map → types-781e0bab.js.map} +1 -1
- package/{types-9a224810.js → types-9d43ac6e.js} +1 -1
- package/{types-9a224810.js.map → types-9d43ac6e.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 +6 -6
- package/ui/Button.js +5 -5
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +6 -6
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +15 -15
- package/ui/FileMessageItemBody.js +7 -7
- package/ui/FileViewer.js +14 -14
- 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 +37 -37
- package/ui/MessageInput/hooks/usePaste.js +5 -5
- package/ui/MessageInput.js +16 -16
- package/ui/MessageItemMenu.js +19 -19
- package/ui/MessageItemReactionMenu.js +10 -10
- package/ui/MessageSearchFileItem.js +12 -12
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +11 -11
- package/ui/Modal.js +10 -10
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +17 -17
- package/ui/OpenchannelOGMessage.js +19 -19
- package/ui/OpenchannelThumbnailMessage.js +16 -16
- package/ui/OpenchannelUserMessage.js +17 -17
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +8 -8
- package/ui/QuoteMessageInput.js +8 -8
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +5 -5
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +8 -8
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +12 -12
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +11 -11
- package/{useHandleUploadFiles-cdb22bbb.js → useHandleUploadFiles-5ede1bfe.js} +11 -11
- package/{useHandleUploadFiles-cdb22bbb.js.map → useHandleUploadFiles-5ede1bfe.js.map} +1 -1
- package/{useLongPress-3c3dbc28.js → useLongPress-f8655a14.js} +3 -3
- package/{useLongPress-3c3dbc28.js.map → useLongPress-f8655a14.js.map} +1 -1
- package/{useSendMultipleFilesMessage-16db4948.js → useSendMultipleFilesMessage-b8256698.js} +3 -3
- package/{useSendMultipleFilesMessage-16db4948.js.map → useSendMultipleFilesMessage-b8256698.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/{useStatefulFileInfoList-1bf95209.js → useStatefulFileInfoList-5e68b93f.js} +4 -4
- package/{useStatefulFileInfoList-1bf95209.js.map → useStatefulFileInfoList-5e68b93f.js.map} +1 -1
- package/utils/message/isVoiceMessage.js +3 -3
- package/{utils-f00fcb05.js → utils-2c1f072b.js} +1 -1
- package/{utils-f00fcb05.js.map → utils-2c1f072b.js.map} +1 -1
- package/{utils-dc677a86.js → utils-6c50a6d1.js} +1 -1
- package/{utils-dc677a86.js.map → utils-6c50a6d1.js.map} +1 -1
- package/{utils-d5f10fce.js → utils-aa4086dc.js} +4 -4
- package/{utils-d5f10fce.js.map → utils-aa4086dc.js.map} +1 -1
- package/{utils-d15efa15.js → utils-bfc0ab3b.js} +3 -3
- package/{utils-d15efa15.js.map → utils-bfc0ab3b.js.map} +1 -1
- package/{utils-e3ab3759.js → utils-fa321757.js} +1 -1
- package/{utils-e3ab3759.js.map → utils-fa321757.js.map} +1 -1
- package/{utils-a5eff3c4.js → utils-fc1f5aa0.js} +2 -2
- package/{utils-a5eff3c4.js.map → utils-fc1f5aa0.js.map} +1 -1
- package/{uuid-a9b18b52.js → uuid-c15b8b3b.js} +1 -1
- package/{uuid-a9b18b52.js.map → uuid-c15b8b3b.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/_rollupPluginBabelHelpers-bb4003a4.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-b21be8d6.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-92741c7e.js","sources":["../src/ui/Label/types.js","../src/ui/Label/utils.js","../src/ui/Label/index.jsx"],"sourcesContent":["export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONBACKGROUND_4: 'ONBACKGROUND_4',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return '';\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-label--color-onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return '';\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nexport default function Label({\n className,\n type,\n color,\n children,\n}) {\n return (\n // Donot make this into div\n // Mention uses Label. If we use div, it would break the mention detection on Paste\n // https://github.com/sendbird/sendbird-uikit-react/pull/479\n <span\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-label',\n type ? changeTypographyToClassName(type) : '',\n color ? changeColorToClassName(color) : '',\n ].join(' ')}\n >\n {children}\n </span>\n );\n}\n\nLabel.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.string,\n color: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n};\n\nLabel.defaultProps = {\n className: [],\n type: '',\n color: '',\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n"],"names":["Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","Colors","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","ONCONTENT_2","PRIMARY","ERROR","SECONDARY_3","changeTypographyToClassName","type","changeColorToClassName","color","Label","_ref","className","children","React","createElement","Array","isArray","join","propTypes","PropTypes","oneOfType","string","arrayOf","number","element","any","defaultProps","LabelTypography","LabelColors","LabelStringSet","getStringSet"],"mappings":";;;;AAAO,MAAMA,UAAU,GAAG;AACxBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;AACb,CAAC,CAAA;AAEM,MAAMC,MAAM,GAAG;AACpBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,WAAW,EAAE,aAAA;AACf,CAAC;;ACtBM,SAASC,2BAA2BA,CAACC,IAAI,EAAE;AAChD,EAAA,QAAQA,IAAI;IACV,KAAKvB,UAAU,CAACC,GAAG;AAAE,MAAA,OAAO,qBAAqB,CAAA;IACjD,KAAKD,UAAU,CAACE,GAAG;AAAE,MAAA,OAAO,qBAAqB,CAAA;IACjD,KAAKF,UAAU,CAACG,UAAU;AAAE,MAAA,OAAO,4BAA4B,CAAA;IAC/D,KAAKH,UAAU,CAACI,UAAU;AAAE,MAAA,OAAO,4BAA4B,CAAA;IAC/D,KAAKJ,UAAU,CAACK,MAAM;AAAE,MAAA,OAAO,wBAAwB,CAAA;IACvD,KAAKL,UAAU,CAACM,MAAM;AAAE,MAAA,OAAO,wBAAwB,CAAA;IACvD,KAAKN,UAAU,CAACO,QAAQ;AAAE,MAAA,OAAO,0BAA0B,CAAA;IAC3D,KAAKP,UAAU,CAACQ,QAAQ;AAAE,MAAA,OAAO,0BAA0B,CAAA;IAC3D,KAAKR,UAAU,CAACS,SAAS;AAAE,MAAA,OAAO,2BAA2B,CAAA;IAC7D,KAAKT,UAAU,CAACU,SAAS;AAAE,MAAA,OAAO,2BAA2B,CAAA;IAC7D,KAAKV,UAAU,CAACW,SAAS;AAAE,MAAA,OAAO,2BAA2B,CAAA;AAC7D,IAAA;AAAS,MAAA,OAAO,EAAE,CAAA;AACpB,GAAA;AACF,CAAA;AAEO,SAASa,sBAAsBA,CAACC,KAAK,EAAE;AAC5C,EAAA,QAAQA,KAAK;IACX,KAAKb,MAAM,CAACC,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKD,MAAM,CAACE,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKF,MAAM,CAACG,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKH,MAAM,CAACI,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKJ,MAAM,CAACK,WAAW;AAAE,MAAA,OAAO,mCAAmC,CAAA;IACnE,KAAKL,MAAM,CAACM,WAAW;AAAE,MAAA,OAAO,mCAAmC,CAAA;IACnE,KAAKN,MAAM,CAACO,OAAO;AAAE,MAAA,OAAO,+BAA+B,CAAA;AAAE;IAC7D,KAAKP,MAAM,CAACQ,KAAK;AAAE,MAAA,OAAO,6BAA6B,CAAA;IACvD,KAAKR,MAAM,CAACS,WAAW;AAAE,MAAA,OAAO,mCAAmC,CAAA;AACnE,IAAA;AAAS,MAAA,OAAO,EAAE,CAAA;AACpB,GAAA;AACF;;ACxBe,SAASK,KAAKA,CAAAC,IAAA,EAK1B;EAAA,IAL2B;IAC5BC,SAAS;IACTL,IAAI;IACJE,KAAK;AACLI,IAAAA,QAAAA;AACF,GAAC,GAAAF,IAAA,CAAA;AACC,EAAA;AAAA;AACE;AACA;AACA;AACAG,IAAAA,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEH,MAAAA,SAAS,EAAE,CACT,IAAII,KAAK,CAACC,OAAO,CAACL,SAAS,CAAC,GAAGA,SAAS,GAAG,CAACA,SAAS,CAAC,CAAC,EACvD,gBAAgB,EAChBL,IAAI,GAAGD,2BAA2B,CAACC,IAAI,CAAC,GAAG,EAAE,EAC7CE,KAAK,GAAGD,sBAAsB,CAACC,KAAK,CAAC,GAAG,EAAE,CAC3C,CAACS,IAAI,CAAC,GAAG,CAAA;AAAE,KAAA,EAEXL,QACG,CAAA;AAAC,IAAA;AAEX,CAAA;AAEAH,KAAK,CAACS,SAAS,GAAG;AAChBP,EAAAA,SAAS,EAAEQ,SAAS,CAACC,SAAS,CAAC,CAC7BD,SAAS,CAACE,MAAM,EAChBF,SAAS,CAACG,OAAO,CAACH,SAAS,CAACE,MAAM,CAAC,CACpC,CAAC;EACFf,IAAI,EAAEa,SAAS,CAACE,MAAM;EACtBb,KAAK,EAAEW,SAAS,CAACE,MAAM;EACvBT,QAAQ,EAAEO,SAAS,CAACC,SAAS,CAAC,CAC5BD,SAAS,CAACE,MAAM,EAChBF,SAAS,CAACI,MAAM,EAChBJ,SAAS,CAACK,OAAO,EACjBL,SAAS,CAACM,GAAG,CACd,CAAA;AACH,CAAC,CAAA;AAEDhB,KAAK,CAACiB,YAAY,GAAG;AACnBf,EAAAA,SAAS,EAAE,EAAE;AACbL,EAAAA,IAAI,EAAE,EAAE;AACRE,EAAAA,KAAK,EAAE,EAAE;AACTI,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEKe,MAAAA,eAAe,GAAG5C,WAAU;AAC5B6C,MAAAA,WAAW,GAAGjC,OAAM;AAC1B,MAAMkC,cAAc,GAAGC,YAAY,CAAC,IAAI;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
-
import { K } from './index-
|
|
3
|
-
import { T as TOKEN_TYPES, U as USER_MENTION_PREFIX, g as getWhiteSpacePreservedText } from './tokenize-
|
|
2
|
+
import { K } from './index-09847c0f.js';
|
|
3
|
+
import { T as TOKEN_TYPES, U as USER_MENTION_PREFIX, g as getWhiteSpacePreservedText } from './tokenize-eae44765.js';
|
|
4
4
|
import { useMessageContext } from './Message/context.js';
|
|
5
5
|
import MentionLabel from './ui/MentionLabel.js';
|
|
6
6
|
import LinkLabel from './ui/LinkLabel.js';
|
|
7
|
-
import { a as LabelTypography } from './index-
|
|
7
|
+
import { a as LabelTypography } from './index-92741c7e.js';
|
|
8
8
|
|
|
9
9
|
// this function is used to generate a unique key for token in message
|
|
10
10
|
// it changes with updated time and index
|
|
@@ -50,4 +50,4 @@ function TextFragment(_a) {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export { TextFragment as T };
|
|
53
|
-
//# sourceMappingURL=index-
|
|
53
|
+
//# sourceMappingURL=index-a0638563.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-a0638563.js","sources":["../src/modules/Message/utils/tokens/keyGenerator.ts","../src/modules/Message/components/TextFragment/index.tsx"],"sourcesContent":["// this function is used to generate a unique key for token in message\n// it changes with updated time and index\n// messageUpdatedAt is the key part of this key generator\nexport function keyGenerator(\n createdAt: number,\n messageUpdatedAt: number,\n index: number,\n): string {\n return `sb-msg_${createdAt}_${messageUpdatedAt}_${index}`;\n}\n","import React from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport { match } from 'ts-pattern';\n\nimport { TOKEN_TYPES, Token } from '../../utils/tokens/types';\nimport { useMessageContext } from '../../context/MessageProvider';\nimport { keyGenerator } from '../../utils/tokens/keyGenerator';\nimport MentionLabel from '../../../../ui/MentionLabel';\nimport { USER_MENTION_PREFIX } from '../../consts';\nimport LinkLabel from '../../../../ui/LinkLabel';\nimport { LabelTypography } from '../../../../ui/Label';\nimport { getWhiteSpacePreservedText } from '../../utils/tokens/tokenize';\n\nexport type TextFragmentProps = {\n tokens: Token[];\n};\n\nexport default function TextFragment({\n tokens,\n}: TextFragmentProps): React.ReactElement {\n const messageStore = useMessageContext();\n\n const message = messageStore?.message as UserMessage;\n const isByMe = messageStore?.isByMe;\n const { updatedAt, createdAt } = message;\n\n return (\n <>\n {tokens?.map((token, idx) => {\n const key = keyGenerator(createdAt, updatedAt, idx);\n return match(token.type)\n .with(TOKEN_TYPES.mention, () => (\n <span className=\"sendbird-word\" key={key}>\n <MentionLabel\n mentionTemplate={USER_MENTION_PREFIX}\n mentionedUserId={token.userId}\n mentionedUserNickname={token.value}\n isByMe={isByMe}\n />\n </span>\n ))\n .with(TOKEN_TYPES.url, () => (\n <span className=\"sendbird-word\" key={key}>\n <LinkLabel\n className=\"sendbird-word__url\"\n src={token.value}\n type={LabelTypography.BODY_1}\n >\n {token.value}\n </LinkLabel>\n </span>\n ))\n .otherwise(() => <React.Fragment key={key}>{getWhiteSpacePreservedText(token.value)}</React.Fragment>);\n })}\n </>\n );\n}\n"],"names":["keyGenerator","createdAt","messageUpdatedAt","index","concat","TextFragment","_a","tokens","messageStore","useMessageContext","message","isByMe","updatedAt","React","createElement","Fragment","map","token","idx","key","match","type","with","TOKEN_TYPES","mention","className","MentionLabel","mentionTemplate","USER_MENTION_PREFIX","mentionedUserId","userId","mentionedUserNickname","value","url","LinkLabel","src","LabelTypography","BODY_1","otherwise","getWhiteSpacePreservedText"],"mappings":";;;;;;;;AAAA;AACA;AACA;SACgBA,YAAYA,CAC1BC,SAAiB,EACjBC,gBAAwB,EACxBC,KAAa,EAAA;AAEb,EAAA,OAAO,iBAAUF,SAAS,EAAA,GAAA,CAAA,CAAAG,MAAA,CAAIF,gBAAgB,EAAI,GAAA,CAAA,CAAAE,MAAA,CAAAD,KAAK,CAAE,CAAA;AAC3D;;ACQwB,SAAAE,YAAYA,CAACC,EAEjB,EAAA;AADlB,EAAA,IAAAC,MAAM,GAAAD,EAAA,CAAAC,MAAA,CAAA;AAEN,EAAA,IAAMC,YAAY,GAAGC,iBAAiB,EAAE,CAAA;AAExC,EAAA,IAAMC,OAAO,GAAGF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,YAAY,CAAEE,OAAsB,CAAA;AACpD,EAAA,IAAMC,MAAM,GAAGH,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,YAAY,CAAEG,MAAM,CAAA;AAC3B,EAAA,IAAAC,SAAS,GAAgBF,OAAO,CAAAE,SAAvB;IAAEX,SAAS,GAAKS,OAAO,CAAAT,SAAZ,CAAA;AAE5B,EAAA,oBACEY,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EAAA,IAAA,EACGR,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAES,GAAG,CAAC,UAACC,KAAK,EAAEC,GAAG,EAAA;IACtB,IAAMC,GAAG,GAAGnB,YAAY,CAACC,SAAS,EAAEW,SAAS,EAAEM,GAAG,CAAC,CAAA;AACnD,IAAA,OAAOE,CAAK,CAACH,KAAK,CAACI,IAAI,CAAC,CACrBC,IAAI,CAACC,WAAW,CAACC,OAAO,EAAE,YAAM;MAAA,oBAC/BX,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMW,QAAAA,SAAS,EAAC,eAAe;AAACN,QAAAA,GAAG,EAAEA,GAAAA;AAAI,OAAA,eACvCN,cAAA,CAAAC,aAAA,CAACY,YAAY,EAAA;AACXC,QAAAA,eAAe,EAAEC,mBAAoB;QACrCC,eAAe,EAAEZ,KAAK,CAACa,MAAO;QAC9BC,qBAAqB,EAAEd,KAAK,CAACe,KAAM;AACnCrB,QAAAA,MAAM,EAAEA,MAAAA;AAAO,OAEnB,CAAM,CAAC,CAAA;KACR,CAAC,CACDW,IAAI,CAACC,WAAW,CAACU,GAAG,EAAE,YAAM;MAAA,oBAC3BpB,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMW,QAAAA,SAAS,EAAC,eAAe;AAACN,QAAAA,GAAG,EAAEA,GAAAA;AAAI,OAAA,eACvCN,cAAA,CAAAC,aAAA,CAACoB,SAAS,EAAA;AACRT,QAAAA,SAAS,EAAC,oBAAoB;QAC9BU,GAAG,EAAElB,KAAK,CAACe,KAAM;QACjBX,IAAI,EAAEe,eAAe,CAACC,MAAAA;AAAO,OAAA,EAE5BpB,KAAK,CAACe,KACE,CACP,CAAC,CAAA;AAToB,KAU5B,CAAC,CACDM,SAAS,CAAC,YAAA;AAAM,MAAA,oBAAAzB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACE,QAAQ,EAAA;AAACI,QAAAA,GAAG,EAAEA,GAAAA;AAAI,OAAA,EAAEoB,0BAA0B,CAACtB,KAAK,CAACe,KAAK,CAAkB,CAAC,CAAA;AAApF,KAAoF,CAAC,CAAA;AAC1G,GAAC,CACH,CAAG,CAAA;AAEP;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React__default, { useState } from 'react';
|
|
2
2
|
import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
|
|
3
|
-
import { y as isUserMessage, H as isSentMessage, I as isFailedMessage, J as isPendingMessage, r as isFileMessage, d as isVoiceMessage, T as isThreadMessage, K as copyToClipboard, L as getEmojiListAll } from './index-
|
|
4
|
-
import { u as useLocalization } from './LocalizationContext-
|
|
3
|
+
import { y as isUserMessage, H as isSentMessage, I as isFailedMessage, J as isPendingMessage, r as isFileMessage, d as isVoiceMessage, T as isThreadMessage, K as copyToClipboard, L as getEmojiListAll } from './index-776554c0.js';
|
|
4
|
+
import { u as useLocalization } from './LocalizationContext-287ee149.js';
|
|
5
5
|
import Icon, { IconTypes, IconColors } from './ui/Icon.js';
|
|
6
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from './index-
|
|
6
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from './index-92741c7e.js';
|
|
7
7
|
import BottomSheet from './ui/BottomSheet.js';
|
|
8
8
|
import ImageRenderer from './ui/ImageRenderer.js';
|
|
9
9
|
import ReactionButton from './ui/ReactionButton.js';
|
|
@@ -459,4 +459,4 @@ var MobileMenu = function (props) {
|
|
|
459
459
|
};
|
|
460
460
|
|
|
461
461
|
export { MobileMenu as M };
|
|
462
|
-
//# sourceMappingURL=index-
|
|
462
|
+
//# sourceMappingURL=index-c22e4772.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-e0e44e8a.js","sources":["../src/ui/MobileMenu/MobileContextMenu.tsx","../src/ui/MobileMenu/MobileBottomSheet.tsx","../src/ui/MobileMenu/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isThreadMessage,\n isVoiceMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps): React.ReactElement => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n deleteMenuState,\n deleteMessage,\n setQuoteMessage,\n parentRef,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message)\n && !(isVoiceMessage(message) && ((channel as GroupChannel)?.isSuper || (channel as GroupChannel)?.isBroadcast));\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && channel?.isGroupChannel();\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && channel?.isGroupChannel();\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_copy\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={(message?.parentMessageId ?? 0) > 0}\n dataSbId=\"ui_mobile_message_item_menu_reply\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n (message?.parentMessageId ?? 0) > 0\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={\n (message?.parentMessageId ?? 0) > 0\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n dataSbId=\"ui_mobile_message_item_menu_thread\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n dataSbId=\"ui_mobile_message_item_menu_edit\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_resend\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDeleteFinal && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n if (isFailedMessage(message)) {\n hideMenu();\n deleteMessage?.(message);\n } else if (!disableDelete) {\n hideMenu();\n showRemove?.(true);\n }\n }}\n disable={disableDelete}\n dataSbId=\"ui_mobile_message_item_menu_delete\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"ui_mobile_message_item_menu_download_file\"\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { ReactElement, useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isVoiceMessage,\n isThreadMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n deleteMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n deleteMenuState,\n setQuoteMessage,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n isOnline,\n } = globalStore.config;\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isOnline && isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = isSentMessage(message) && isFileMessage(message) && !isVoiceMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n dataSbId={`ui_mobile_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n dataSbId=\"ui_mobile_emoji_reactions_menu_emojiadd\"\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled' : ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if (!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {showMenuItemThread && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n >\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n </div>\n )}\n {\n showMenuItemDeleteFinal && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n if (isFailedMessage(message)) {\n hideMenu();\n deleteMessage?.(message);\n } else if (!disableDelete) {\n hideMenu();\n showRemove?.(true);\n }\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n deleteMenuState,\n showRemove,\n showEdit,\n resendMessage,\n deleteMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n onReplyInThread,\n isOpenedFromThread,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n deleteMenuState={deleteMenuState}\n resendMessage={resendMessage}\n deleteMessage={deleteMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n ) : (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n deleteMenuState={deleteMenuState}\n showRemove={showRemove}\n resendMessage={resendMessage}\n deleteMessage={deleteMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","deleteMenuState","deleteMessage","setQuoteMessage","parentRef","onReplyInThread","_d","isOpenedFromThread","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDeleteByState","undefined","showMenuItemDeleteFinal","disableDelete","_b","threadInfo","replyCount","_c","showMenuItemDownload","isFileMessage","isVoiceMessage","isSuper","isBroadcast","showMenuItemReply","isGroupChannel","showMenuItemThread","isThreadMessage","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","copyToClipboard","dataSbId","Label","type","LabelTypography","SUBTITLE_1","color","LabelColors","ONBACKGROUND_1","MESSAGE_MENU__COPY","Icon","IconTypes","COPY","fillColor","IconColors","PRIMARY","width","height","disable","parentMessageId","ONBACKGROUND_4","MESSAGE_MENU__REPLY","REPLY","ON_BACKGROUND_4","MESSAGE_MENU__THREAD","THREAD","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","MESSAGE_MENU__DELETE","DELETE","rel","href","url","target","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","globalStore","useSendbirdStateContext","isOnline","config","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_e","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","BottomSheet","onBackdropClick","map","emoji","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","concat","selected","ImageRenderer","placeHolder","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","role","MobileMenu","disabled","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-c22e4772.js","sources":["../src/ui/MobileMenu/MobileContextMenu.tsx","../src/ui/MobileMenu/MobileBottomSheet.tsx","../src/ui/MobileMenu/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isThreadMessage,\n isVoiceMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps): React.ReactElement => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n deleteMenuState,\n deleteMessage,\n setQuoteMessage,\n parentRef,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message)\n && !(isVoiceMessage(message) && ((channel as GroupChannel)?.isSuper || (channel as GroupChannel)?.isBroadcast));\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && channel?.isGroupChannel();\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && channel?.isGroupChannel();\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_copy\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={(message?.parentMessageId ?? 0) > 0}\n dataSbId=\"ui_mobile_message_item_menu_reply\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n (message?.parentMessageId ?? 0) > 0\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={\n (message?.parentMessageId ?? 0) > 0\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n dataSbId=\"ui_mobile_message_item_menu_thread\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n dataSbId=\"ui_mobile_message_item_menu_edit\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n dataSbId=\"ui_mobile_message_item_menu_resend\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDeleteFinal && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n if (isFailedMessage(message)) {\n hideMenu();\n deleteMessage?.(message);\n } else if (!disableDelete) {\n hideMenu();\n showRemove?.(true);\n }\n }}\n disable={disableDelete}\n dataSbId=\"ui_mobile_message_item_menu_delete\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"ui_mobile_message_item_menu_download_file\"\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { ReactElement, useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n isVoiceMessage,\n isThreadMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n deleteMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n deleteMenuState,\n setQuoteMessage,\n onReplyInThread,\n isOpenedFromThread = false,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n isOnline,\n } = globalStore.config;\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isOnline && isFailedMessage(message) && message?.isResendable && isByMe);\n\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDeleteByState = isByMe && (deleteMenuState === undefined || deleteMenuState !== 'HIDE');\n const showMenuItemDeleteFinal = showMenuItemDeleteByState && showMenuItemDelete;\n\n const disableDelete = (\n (deleteMenuState !== undefined && deleteMenuState === 'DISABLE')\n || (message?.threadInfo?.replyCount ?? 0) > 0\n );\n\n const showMenuItemDownload: boolean = isSentMessage(message) && isFileMessage(message) && !isVoiceMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const showMenuItemThread: boolean = (replyType === 'THREAD') && !isOpenedFromThread\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && !isThreadMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n dataSbId={`ui_mobile_emoji_reactions_menu_${emoji.key}`}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n dataSbId=\"ui_mobile_emoji_reactions_menu_emojiadd\"\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled' : ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if (!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {showMenuItemThread && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n onReplyInThread?.({ message });\n }}\n >\n <Icon\n type={IconTypes.THREAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.MESSAGE_MENU__THREAD}\n </Label>\n </div>\n )}\n {\n showMenuItemDeleteFinal && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n if (isFailedMessage(message)) {\n hideMenu();\n deleteMessage?.(message);\n } else if (!disableDelete) {\n hideMenu();\n showRemove?.(true);\n }\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={\n disableDelete\n ? IconColors.ON_BACKGROUND_4\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={\n disableDelete\n ? LabelColors.ONBACKGROUND_4\n : LabelColors.ONBACKGROUND_1\n }\n >\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n deleteMenuState,\n showRemove,\n showEdit,\n resendMessage,\n deleteMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n onReplyInThread,\n isOpenedFromThread,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n deleteMenuState={deleteMenuState}\n resendMessage={resendMessage}\n deleteMessage={deleteMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n ) : (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n deleteMenuState={deleteMenuState}\n showRemove={showRemove}\n resendMessage={resendMessage}\n deleteMessage={deleteMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n onReplyInThread={onReplyInThread}\n isOpenedFromThread={isOpenedFromThread}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","deleteMenuState","deleteMessage","setQuoteMessage","parentRef","onReplyInThread","_d","isOpenedFromThread","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDeleteByState","undefined","showMenuItemDeleteFinal","disableDelete","_b","threadInfo","replyCount","_c","showMenuItemDownload","isFileMessage","isVoiceMessage","isSuper","isBroadcast","showMenuItemReply","isGroupChannel","showMenuItemThread","isThreadMessage","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","copyToClipboard","dataSbId","Label","type","LabelTypography","SUBTITLE_1","color","LabelColors","ONBACKGROUND_1","MESSAGE_MENU__COPY","Icon","IconTypes","COPY","fillColor","IconColors","PRIMARY","width","height","disable","parentMessageId","ONBACKGROUND_4","MESSAGE_MENU__REPLY","REPLY","ON_BACKGROUND_4","MESSAGE_MENU__THREAD","THREAD","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","MESSAGE_MENU__DELETE","DELETE","rel","href","url","target","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","globalStore","useSendbirdStateContext","isOnline","config","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_e","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","BottomSheet","onBackdropClick","map","emoji","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","concat","selected","ImageRenderer","placeHolder","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","role","MobileMenu","disabled","Fragment"],"mappings":";;;;;;;;;;;AAqBA,IAAMA,iBAAiB,GAA2C,UAACC,KAAoB,EAAA;;AAEnF,EAAA,IAAAC,QAAQ,GAcND,KAAK,CAAAC,QAdC;IACRC,OAAO,GAaLF,KAAK,CAAAE,OAbA;IACPC,OAAO,GAYLH,KAAK,CAAAG,OAZA;IACPC,SAAS,GAWPJ,KAAK,CAAAI,SAXE;IACTC,MAAM,GAUJL,KAAK,OAVD;IACNM,aAAa,GASXN,KAAK,cATM;IACbO,QAAQ,GAQNP,KAAK,SARC;IACRQ,UAAU,GAORR,KAAK,CAPGQ,UAAA;IACVC,eAAe,GAMbT,KAAK,CANQS,eAAA;IACfC,aAAa,GAKXV,KAAK,CALMU,aAAA;IACbC,eAAe,GAIbX,KAAK,CAJQW,eAAA;IACfC,SAAS,GAGPZ,KAAK,CAHEY,SAAA;IACTC,eAAe,GAEbb,KAAK,CAFQa,eAAA;IACfC,EACE,GAAAd,KAAK,mBADmB;IAA1Be,kBAAkB,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAK,KAAA,CAAA;AAE5B,EAAA,IAAME,MAAM,GAAG,CAAA,CAAAC,EAAA,GAAAd,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEe,MAAM,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEZ,MAAM,MAAKA,MAAM,CAAA;AACzC,EAAA,IAAAc,SAAS,GAAKC,eAAe,EAAE,UAAtB,CAAA;AACjB,EAAA,IAAMC,gBAAgB,GAAYC,aAAa,CAACnB,OAAsB,CAAC,CAAA;AACvE,EAAA,IAAMoB,gBAAgB,GAAaD,aAAa,CAACnB,OAAsB,CAAC,IAAIqB,aAAa,CAACrB,OAAO,CAAC,IAAIa,MAAO,CAAA;EAC7G,IAAMS,kBAAkB,GAAaC,eAAe,CAACvB,OAAO,CAAC,KAAIA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEwB,YAAY,CAAA,IAAIX,MAAO,CAAA;EAEjG,IAAMY,kBAAkB,GAAY,CAACC,gBAAgB,CAAC1B,OAAO,CAAC,IAAIa,MAAM,CAAA;EACxE,IAAMc,yBAAyB,GAAGd,MAAM,KAAKP,eAAe,KAAKsB,SAAS,IAAItB,eAAe,KAAK,MAAM,CAAC,CAAA;AACzG,EAAA,IAAMuB,uBAAuB,GAAGF,yBAAyB,IAAIF,kBAAkB,CAAA;EAE/E,IAAMK,aAAa,GAChBxB,eAAe,KAAKsB,SAAS,IAAItB,eAAe,KAAK,SAAS,IAC5D,CAAC,MAAA,CAAAyB,EAAA,GAAA/B,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEgC,UAAU,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEE,UAAU,MAAI,IAAA,IAAAC,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAA,CAAC,IAAI,CAC7C,CAAA;EAED,IAAMC,oBAAoB,GAAY,CAACT,gBAAgB,CAAC1B,OAAO,CAAC,IAAIoC,aAAa,CAACpC,OAAO,CAAC,IACrF,EAAEqC,cAAc,CAACrC,OAAO,CAAC,KAAK,CAACD,OAAwB,KAAxB,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAmBuC,OAAO,MAAKvC,OAAwB,KAAA,IAAA,IAAxBA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAmBwC,WAAW,CAAA,CAAC,CAAC,CAAA;AACjH,EAAA,IAAMC,iBAAiB,GAAavC,SAAS,KAAK,aAAa,IAC1D,CAACsB,eAAe,CAACvB,OAAO,CAAC,IACzB,CAAC0B,gBAAgB,CAAC1B,OAAO,CAAC,KAC1BD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0C,cAAc,EAAE,CAAA,CAAA;EAC9B,IAAMC,kBAAkB,GAAazC,SAAS,KAAK,QAAQ,IAAK,CAACW,kBAAkB,IAC9E,CAACW,eAAe,CAACvB,OAAO,CAAC,IACzB,CAAC0B,gBAAgB,CAAC1B,OAAO,CAAC,IAC1B,CAAC2C,eAAe,CAAC3C,OAAO,CAAC,KACzBD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0C,cAAc,EAAE,CAAA,CAAA;EAE9B,IAAMG,WAAW,GAAG5C,OAAsB,CAAA;AAC1C,EAAA,oBACE6C,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;IACVC,MAAM,EAAA,IAAA;IACNC,SAAS,EAAE,YAAA;;AAAM,MAAA,oBACfJ,cAAA,CAAAC,aAAA,CAACI,SAAS,EAAA;AACRC,QAAAA,SAAS,EAAC,uCAAuC;AACjD1C,QAAAA,SAAS,EAAEA,SAAU;AACrB2C,QAAAA,gBAAgB,EAAE3C,SAAU;AAC5B4C,QAAAA,aAAa,EAAEvD,QAAAA;AAAS,OAAA,EAEvBoB,gBAAgB,iBACf2B,cAAA,CAAAC,aAAA,CAACQ,QAAQ,EAAA;AACPH,QAAAA,SAAS,EAAC,2DAA2D;QACrEI,OAAO,EAAE,YAAA;AACPzD,UAAAA,QAAQ,EAAE,CAAA;AACV0D,UAAAA,eAAe,CAAExD,OAAuB,KAAvB,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAkBA,OAAO,CAAC,CAAA;SAClD;AACFyD,QAAAA,QAAQ,EAAC,kCAAA;AAAkC,OAAA,eAE3CZ,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;QACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;QACjCC,KAAK,EAAEC,WAAW,CAACC,cAAAA;OAElBhD,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEiD,kBACP,CACP,eAAApB,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAACC,IAAK;QACrBC,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OAEX,CAAU,CACX,EACAjC,iBAAiB,iBAChBK,cAAA,CAAAC,aAAA,CAACQ,QAAQ,EAAA;AACPH,QAAAA,SAAS,EAAC,4DAA4D;QACtEI,OAAO,EAAE,YAAA;AACPzD,UAAAA,QAAQ,EAAE,CAAA;UACVU,eAAe,CAACR,OAAO,CAAC,CAAA;SACxB;AACF0E,QAAAA,OAAO,EAAE,CAAC,CAAA5D,EAAA,GAAAd,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE2E,eAAe,MAAA,IAAA,IAAA7D,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAI,CAAC,IAAI,CAAE;AAC7C2C,QAAAA,QAAQ,EAAC,mCAAA;AAAmC,OAAA,eAE5CZ,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;QACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;AACjCC,QAAAA,KAAK,EACH,CAAC,CAAA/B,EAAA,GAAA/B,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE2E,eAAe,MAAI,IAAA,IAAA5C,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAA,CAAC,IAAI,CAAC,GAC/BgC,WAAW,CAACa,cAAc,GAC1Bb,WAAW,CAACC,cAAAA;OAGjBhD,EAAAA,SAAS,CAAC6D,mBACN,CACP,eAAAhC,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAACW,KAAM;AACtBT,QAAAA,SAAS,EACP,CAAC,CAAAnC,EAAA,GAAAlC,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE2E,eAAe,MAAI,IAAA,IAAAzC,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAA,CAAC,IAAI,CAAC,GAC/BoC,UAAU,CAACS,eAAe,GAC1BT,UAAU,CAACC,OAChB;AACDC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OAEX,CAAU,CACX,EACA/B,kBAAkB,iBACjBG,cAAA,CAAAC,aAAA,CAACQ,QAAQ,EAAA;AACPH,QAAAA,SAAS,EAAC,4DAA4D;QACtEI,OAAO,EAAE,YAAA;AACPzD,UAAAA,QAAQ,EAAE,CAAA;AACVY,UAAAA,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAe,CAAG;AAAEV,YAAAA,OAAO,EAAAA,OAAAA;AAAE,WAAA,CAAC,CAAA;SAC9B;AACFyD,QAAAA,QAAQ,EAAC,oCAAA;AAAoC,OAAA,eAE7CZ,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;QACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;QACjCC,KAAK,EAAEC,WAAW,CAACC,cAAAA;OAElBhD,EAAAA,SAAS,CAACgE,oBACN,CACP,eAAAnC,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAACc,MAAO;QACvBZ,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OAEX,CAAU,CACX,EACArD,gBAAgB,iBACfyB,cAAA,CAAAC,aAAA,CAACQ,QAAQ,EAAA;AACPH,QAAAA,SAAS,EAAC,2DAA2D;QACrEI,OAAO,EAAE,YAAA;AACPzD,UAAAA,QAAQ,EAAE,CAAA;UACVM,QAAQ,CAAC,IAAI,CAAC,CAAA;SACd;AACFqD,QAAAA,QAAQ,EAAC,kCAAA;AAAkC,OAAA,eAE3CZ,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;QACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;QACjCC,KAAK,EAAEC,WAAW,CAACC,cAAAA;OAElBhD,EAAAA,SAAS,CAACkE,kBACN,CACP,eAAArC,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAACgB,IAAK;QACrBd,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OAEX,CAAU,CACX,EACAnD,kBAAkB,iBACjBuB,cAAA,CAAAC,aAAA,CAACQ,QAAQ,EAAA;AACPH,QAAAA,SAAS,EAAC,6DAA6D;QACvEI,OAAO,EAAE,YAAA;AACPzD,UAAAA,QAAQ,EAAE,CAAA;UACVK,aAAa,CAACH,OAAO,CAAC,CAAA;SACtB;AACFyD,QAAAA,QAAQ,EAAC,oCAAA;AAAoC,OAAA,eAE7CZ,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;QACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;QACjCC,KAAK,EAAEC,WAAW,CAACC,cAAAA;OAElBhD,EAAAA,SAAS,CAACoE,oBACN,CACP,eAAAvC,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAACkB,OAAQ;QACxBhB,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OAEX,CAAU,CACX,EACA5C,uBAAuB,iBACtBgB,cAAA,CAAAC,aAAA,CAACQ,QAAQ,EAAA;AACPH,QAAAA,SAAS,EAAC,6DAA6D;QACvEI,OAAO,EAAE,YAAA;AACP,UAAA,IAAIhC,eAAe,CAACvB,OAAO,CAAC,EAAE;AAC5BF,YAAAA,QAAQ,EAAE,CAAA;AACVS,YAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAGP,OAAO,CAAC,CAAA;AACzB,WAAA,MAAM,IAAI,CAAC8B,aAAa,EAAE;AACzBhC,YAAAA,QAAQ,EAAE,CAAA;AACVO,YAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAG,IAAI,CAAC,CAAA;AACnB,WAAA;SACD;AACFqE,QAAAA,OAAO,EAAE5C,aAAc;AACvB2B,QAAAA,QAAQ,EAAC,oCAAA;AAAoC,OAAA,eAE7CZ,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;QACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;QACjCC,KAAK,EACHhC,aAAa,GACTiC,WAAW,CAACa,cAAc,GAC1Bb,WAAW,CAACC,cAAAA;OAGjBhD,EAAAA,SAAS,CAACsE,oBACN,CACP,eAAAzC,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAACoB,MAAO;QACvBlB,SAAS,EACPvC,aAAa,GACTwC,UAAU,CAACS,eAAe,GAC1BT,UAAU,CAACC,OAChB;AACDC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OAEX,CAAU,CACX,EACAtC,oBAAoB,iBACnBU,cAAA,CAAAC,aAAA,CAACQ,QAAQ,EAAA;AACPH,QAAAA,SAAS,EAAC,2DAA2D;QACrEI,OAAO,EAAE,YAAA;AACPzD,UAAAA,QAAQ,EAAE,CAAA;SACV;AACF2D,QAAAA,QAAQ,EAAC,2CAAA;OAETZ,eAAAA,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEK,QAAAA,SAAS,EAAC,0CAA0C;AACpDqC,QAAAA,GAAG,EAAC,qBAAqB;AACzBC,QAAAA,IAAI,EAAE7C,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAE8C,GAAI;AACvBC,QAAAA,MAAM,EAAC,QAAA;AAAQ,OAAA,eAEf9C,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;QACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;QACjCC,KAAK,EAAEC,WAAW,CAACC,cAAAA;OAElBhD,EAAAA,SAAS,CAAC4E,kBACN,CACP,eAAA/C,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAAC0B,QAAS;QACzBxB,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OAEX,CAAG,CACK,CAEH,CAAC,CAAA;;AACZ,GAAA,CACF,CAAA;AAEN,CAAC;;ACpPD,IAAMqB,UAAU,GAAG,EAAE,CAAA;AAErB,IAAMC,iBAAiB,GAAoD,UAAClG,KAA6B,EAAA;;AAErG,EAAA,IAAAC,QAAQ,GAgBND,KAAK,CAhBCC,QAAA;IACRC,OAAO,GAeLF,KAAK,CAfAE,OAAA;IACPiG,cAAc,GAcZnG,KAAK,eAdO;IACdG,OAAO,GAaLH,KAAK,CAAAG,OAbA;IACPC,SAAS,GAYPJ,KAAK,CAAAI,SAZE;IACTC,MAAM,GAWJL,KAAK,CAXDK,MAAA;IACNC,aAAa,GAUXN,KAAK,CAVMM,aAAA;IACbI,aAAa,GASXV,KAAK,cATM;IACboG,cAAc,GAQZpG,KAAK,eARO;IACdqG,iBAAiB,GAOfrG,KAAK,CAAAqG,iBAPU;IACjB9F,QAAQ,GAMNP,KAAK,CAAAO,QANC;IACRC,UAAU,GAKRR,KAAK,CALGQ,UAAA;IACVC,eAAe,GAIbT,KAAK,CAJQS,eAAA;IACfE,eAAe,GAGbX,KAAK,gBAHQ;IACfa,eAAe,GAEbb,KAAK,CAAAa,eAFQ;IACfC,EAAA,GACEd,KAAK,CADmBe,kBAAA;IAA1BA,kBAAkB,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAK,KAAA,CAAA;AAE5B,EAAA,IAAME,MAAM,GAAG,CAAA,CAAAC,EAAA,GAAAd,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEe,MAAM,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEZ,MAAM,MAAKA,MAAM,CAAA;AACzC,EAAA,IAAAc,SAAS,GAAKC,eAAe,EAAE,UAAtB,CAAA;AACjB,EAAA,IAAMkF,WAAW,GAAGC,uBAAuB,EAAE,CAAA;AAE3C,EAAA,IAAAC,QAAQ,GACNF,WAAW,CAACG,MAAM,SADZ,CAAA;AAEV,EAAA,IAAMpF,gBAAgB,GAAYC,aAAa,CAACnB,OAAsB,CAAC,CAAA;AACvE,EAAA,IAAMoB,gBAAgB,GAAaD,aAAa,CAACnB,OAAsB,CAAC,IAAIqB,aAAa,CAACrB,OAAO,CAAC,IAAIa,MAAO,CAAA;EAC7G,IAAMS,kBAAkB,GAAa+E,QAAQ,IAAI9E,eAAe,CAACvB,OAAO,CAAC,KAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEwB,YAAY,CAAA,IAAIX,MAAO,CAAA;EAE7G,IAAMY,kBAAkB,GAAY,CAACC,gBAAgB,CAAC1B,OAAO,CAAC,IAAIa,MAAM,CAAA;EACxE,IAAMc,yBAAyB,GAAGd,MAAM,KAAKP,eAAe,KAAKsB,SAAS,IAAItB,eAAe,KAAK,MAAM,CAAC,CAAA;AACzG,EAAA,IAAMuB,uBAAuB,GAAGF,yBAAyB,IAAIF,kBAAkB,CAAA;EAE/E,IAAMK,aAAa,GAChBxB,eAAe,KAAKsB,SAAS,IAAItB,eAAe,KAAK,SAAS,IAC5D,CAAC,MAAA,CAAAyB,EAAA,GAAA/B,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEgC,UAAU,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEE,UAAU,MAAI,IAAA,IAAAC,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GAAA,CAAC,IAAI,CAC7C,CAAA;AAED,EAAA,IAAMC,oBAAoB,GAAYd,aAAa,CAACrB,OAAO,CAAC,IAAIoC,aAAa,CAACpC,OAAO,CAAC,IAAI,CAACqC,cAAc,CAACrC,OAAO,CAAC,CAAA;AAClH,EAAA,IAAMuG,YAAY,GAAY,CAAChF,eAAe,CAACvB,OAAO,CAAC,IAAI,CAAC0B,gBAAgB,CAAC1B,OAAO,CAAC,IAAIkG,iBAAiB,CAAA;EAC1G,IAAM1D,iBAAiB,GAAavC,SAAS,KAAK,aAAa,IAC1D,CAACsB,eAAe,CAACvB,OAAO,CAAC,IACzB,CAAC0B,gBAAgB,CAAC1B,OAAO,CAAC,KACzBD,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAE0C,cAAc,EAAE,CAAI,IAAA,EAAE1C,OAAwB,aAAxBA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAmBwC,WAAW,CAAC,CAAA;AAC3E,EAAA,IAAMG,kBAAkB,GAAazC,SAAS,KAAK,QAAQ,IAAK,CAACW,kBAAkB,IAC9E,CAACW,eAAe,CAACvB,OAAO,CAAC,IACzB,CAAC0B,gBAAgB,CAAC1B,OAAO,CAAC,IAC1B,CAAC2C,eAAe,CAAC3C,OAAO,CAAC,KACxBD,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAE0C,cAAc,EAAE,CAAI,IAAA,EAAE1C,OAAwB,aAAxBA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAmBwC,WAAW,CAAC,CAAA;AAC3E,EAAA,IAAMiE,eAAe,GAAG,CAAAxG,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE2E,eAAe,IAAG,CAAC,CAAA;EAEpD,IAAM/B,WAAW,GAAG5C,OAAsB,CAAA;AAC1C,EAAA,IAAMyG,eAAe,GAAGC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,UAAU,GAAGf,UAAU,CAAC,GAAG,CAAC,CAAA;AAChE,EAAA,IAAAgB,EAAA,GAAsCC,QAAQ,CAAU,KAAK,CAAC;AAA7DC,IAAAA,cAAc,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,EAAA,CAAA,CAAA,CAA4B,CAAA;AACpE,EAAA,IAAMI,MAAM,GAAGC,eAAe,CAACnB,cAAc,CAAC,CAAA;AAC9C;EACA,IAAMoB,aAAa,GAAGJ,cAAc,GAChCE,MAAM,GACNA,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEG,KAAK,CAAC,CAAC,EAAEZ,eAAe,CAAC,CAAA;AACrC,EAAA,IAAMa,iBAAiB,GAAGJ,MAAM,CAACK,MAAM,GAAGd,eAAe,CAAA;AACzD,EAAA,oBACE5D,cAAA,CAAAC,aAAA,CAAC0E,WAAW,EAAA;AAACC,IAAAA,eAAe,EAAE3H,QAAAA;GAC5B+C,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,SAAS,EAAC,+BAAA;AAA+B,GAAA,EAE1CoD,YAAY,iBACV1D,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,SAAS,EAAC,yCAAA;GACbN,eAAAA,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,4CAAA;GAEVN,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEK,SAAS,EAAE,qGAEP6D,cAAc,GAAG,iDAAiD,GAAG,EAAE,EAAA,sBAAA,CAAA;AACzE,GAAA,EAEDI,aAAa,CAACM,GAAG,CAAC,UAACC,KAAY,EAAA;;AAC9B,IAAA,IAAMC,SAAS,GAAY,CAAA1F,EAAA,GAAA,CAAAH,EAAA,GAAA,MAAA/B,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE6H,SAAS,MAAA,IAAA,IAAA/G,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CACzCgH,MAAM,CAAC,UAACC,QAAkB,EAAc;AAAA,MAAA,OAAAA,QAAQ,CAACC,GAAG,KAAKL,KAAK,CAACK,GAAG,CAAA;AAA1B,KAA0B,CAAA,CAAE,CAAC,CAAC,MAAA,IAAA,IAAAjG,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CACtEkG,OAAO,MACP,IAAA,IAAA/F,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAgG,IAAI,CAAC,UAACC,SAAiB;MAAc,OAAAA,SAAS,KAAKjI,MAAM,CAAA;AAApB,KAAoB,CAAC,CAAA;AAC9D,IAAA,oBACE2C,cAAA,CAAAC,aAAA,CAACsF,cAAc,EAAA;MACbJ,GAAG,EAAEL,KAAK,CAACK,GAAI;MACfxD,KAAK,EAAE,UAAGsB,UAAU,EAAA,IAAA,CAAK;MACzBrB,MAAM,EAAE,EAAG,CAAA4D,MAAA,CAAAvC,UAAU,OAAK;AAC1BwC,MAAAA,QAAQ,EAAEV,SAAU;MACpBrE,OAAO,EAAE,YAAA;AACPzD,QAAAA,QAAQ,EAAE,CAAA;QACVmG,cAAc,CAACjG,OAAO,EAAE2H,KAAK,CAACK,GAAG,EAAEJ,SAAS,CAAC,CAAA;OAC7C;AACFnE,MAAAA,QAAQ,EAAE,iCAAkC,CAAA4E,MAAA,CAAAV,KAAK,CAACK,GAAG,CAAA;AAAG,KAAA,eAExDnF,cAAA,CAAAC,aAAA,CAACyF,aAAa,EAAA;AACZ7C,MAAAA,GAAG,EAAE,CAAAiC,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEjC,GAAG,KAAI,EAAG;AACtBlB,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAM;AACb+D,MAAAA,WAAW,EAAE,UAACC,KAA8B,EAAA;QAAmB,oBAC7D5F,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK2F,UAAAA,KAAK,EAAEA,KAAAA;AAAM,SAAA,eAChB5F,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;UACHP,IAAI,EAAEQ,SAAS,CAACuE,QAAS;UACzBrE,SAAS,EAAEC,UAAU,CAACqE,eAAgB;AACtCnE,UAAAA,KAAK,EAAC,MAAM;AACZC,UAAAA,MAAM,EAAC,MAAA;AAAM,SAEjB,CAAK,CAAC,CAAA;AARuD,OAAA;AAS7D,KAEN,CAAgB,CAAC,CAAA;GAEpB,CAAC,EAEA6C,iBAAiB,IAAI,CAACN,cAAc,iBAClCnE,cAAA,CAAAC,aAAA,CAACsF,cAAc,EAAA;AACbJ,IAAAA,GAAG,EAAC,YAAY;AAChBxD,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAM;IACblB,OAAO,EAAE,YAAA;MACP0D,iBAAiB,CAAC,IAAI,CAAC,CAAA;KACvB;AACFxD,IAAAA,QAAQ,EAAC,yCAAA;AAAyC,GAAA,eAElDZ,cAAA,CAAAC,aAAA,CAACyF,aAAa,EAAA;AACZ7C,IAAAA,GAAG,EAAE,EAAG;AACRlB,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAM;AACb+D,IAAAA,WAAW,EAAE,UAACC,KAA8B,EAAA;MAAyB,oBACnE5F,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK2F,QAAAA,KAAK,EAAEA,KAAAA;AAAM,OAAA,eAChB5F,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;QACHP,IAAI,EAAEQ,SAAS,CAACyE,UAAW;QAC3BvE,SAAS,EAAEC,UAAU,CAACqE,eAAgB;AACtCnE,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;AAAM,OAEjB,CAAK,CAAC,CAAA;AAR6D,KAAA;GAWzE,CAAgB,CAGjB,CACH,CACD,CACN,EAGD,CAACuC,cAAc,iBACbnE,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,SAAS,EAAC,wCAAA;AAAwC,GAAA,EACpDjC,gBAAgB,iBACf2B,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,uCAAuC;IACjDI,OAAO,EAAE,YAAA;AACPzD,MAAAA,QAAQ,EAAE,CAAA;AACV0D,MAAAA,eAAe,CAAExD,OAAuB,KAAvB,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAkBA,OAAO,CAAC,CAAA;AACpD,KAAA;AAAE,GAAA,eAEF6C,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;IACHP,IAAI,EAAEQ,SAAS,CAACC,IAAK;IACrBC,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAEf,CAAA,eAAA5B,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,UAAW;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;GACzDhD,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEiD,kBACP,CACJ,CACN,EAEC7C,gBAAgB,iBACdyB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,uCAAuC;IACjDI,OAAO,EAAE,YAAA;AACPzD,MAAAA,QAAQ,EAAE,CAAA;MACVM,QAAQ,CAAC,IAAI,CAAC,CAAA;AAChB,KAAA;AAAE,GAAA,eAEFyC,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;IACHP,IAAI,EAAEQ,SAAS,CAACgB,IAAK;IACrBd,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAEf,CAAA,eAAA5B,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,UAAW;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;GACzDhD,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEkE,kBACP,CACJ,CACN,EAGD5D,kBAAkB,iBAChBuB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,uCAAuC;IACjDI,OAAO,EAAE,YAAA;AACPzD,MAAAA,QAAQ,EAAE,CAAA;MACVK,aAAa,CAACH,OAAO,CAAC,CAAA;AACxB,KAAA;AAAE,GAAA,eAEF6C,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;IACHP,IAAI,EAAEQ,SAAS,CAACkB,OAAQ;IACxBhB,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAEf,CAAA,eAAA5B,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,UAAW;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;GACzDhD,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEoE,oBACP,CACJ,CACN,EAGD5C,iBAAiB,iBACfK,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAE,uEACPqD,eAAe,GAAG,gDAAgD,GAAG,EAAE,EAC1E,wBAAA,CAAC;AACFqC,IAAAA,IAAI,EAAC,UAAU;AACf,IAAA,eAAA,EAAerC,eAAe,GAAG,IAAI,GAAG,KAAM;IAC9CjD,OAAO,EAAE,YAAA;MACP,IAAI,CAACiD,eAAe,EAAE;AACpB1G,QAAAA,QAAQ,EAAE,CAAA;QACVU,eAAe,CAACR,OAAO,CAAC,CAAA;AACzB,OAAA;AACH,KAAA;AAAE,GAAA,eAEF6C,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;IACHP,IAAI,EAAEQ,SAAS,CAACW,KAAM;IACtBT,SAAS,EAAEmC,eAAe,GACtBlC,UAAU,CAACqE,eAAe,GAC1BrE,UAAU,CAACC,OACd;AACDC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAEf,CAAA,eAAA5B,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;IACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;IACjCC,KAAK,EAAE0C,eAAe,GAAGzC,WAAW,CAACa,cAAc,GAAGb,WAAW,CAACC,cAAAA;GAEjEhD,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAE6D,mBACP,CACJ,CACN,EAEFnC,kBAAkB,iBACjBG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,uCAAuC;IACjDI,OAAO,EAAE,YAAA;AACPzD,MAAAA,QAAQ,EAAE,CAAA;AACVY,MAAAA,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAe,CAAG;AAAEV,QAAAA,OAAO,EAAAA,OAAAA;AAAE,OAAA,CAAC,CAAA;AAChC,KAAA;AAAE,GAAA,eAEF6C,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;IACHP,IAAI,EAAEQ,SAAS,CAACc,MAAO;IACvBZ,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAEf,CAAA,eAAA5B,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,UAAW;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;GACzDhD,EAAAA,SAAS,CAACgE,oBACN,CACJ,CACN,EAECnD,uBAAuB,iBACrBgB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,uCAAuC;IACjDI,OAAO,EAAE,YAAA;AACP,MAAA,IAAIhC,eAAe,CAACvB,OAAO,CAAC,EAAE;AAC5BF,QAAAA,QAAQ,EAAE,CAAA;AACVS,QAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAGP,OAAO,CAAC,CAAA;AACzB,OAAA,MAAM,IAAI,CAAC8B,aAAa,EAAE;AACzBhC,QAAAA,QAAQ,EAAE,CAAA;AACVO,QAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAG,IAAI,CAAC,CAAA;AACnB,OAAA;AACH,KAAA;AAAE,GAAA,eAEFwC,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;IACHP,IAAI,EAAEQ,SAAS,CAACoB,MAAO;IACvBlB,SAAS,EACPvC,aAAa,GACTwC,UAAU,CAACS,eAAe,GAC1BT,UAAU,CAACC,OAChB;AACDC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAEf,CAAA,eAAA5B,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;IACJC,IAAI,EAAEC,eAAe,CAACC,UAAW;IACjCC,KAAK,EACHhC,aAAa,GACTiC,WAAW,CAACa,cAAc,GAC1Bb,WAAW,CAACC,cAAAA;GAGjBhD,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEsE,oBACP,CACJ,CACN,EAGDnD,oBAAoB,iBAClBU,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,uCAAuC;IACjDI,OAAO,EAAE,YAAA;AACPzD,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GAEA+C,eAAAA,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEK,IAAAA,SAAS,EAAC,0CAA0C;AACpDqC,IAAAA,GAAG,EAAC,qBAAqB;AACzBC,IAAAA,IAAI,EAAE7C,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAE8C,GAAI;AACvBC,IAAAA,MAAM,EAAC,QAAA;AAAQ,GAAA,eAEf9C,cAAA,CAAAC,aAAA,CAACoB,IAAI,EAAA;IACHP,IAAI,EAAEQ,SAAS,CAAC0B,QAAS;IACzBxB,SAAS,EAAEC,UAAU,CAACC,OAAQ;AAC9BC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAEf,CAAA,eAAA5B,cAAA,CAAAC,aAAA,CAACY,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,UAAW;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;GACzDhD,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,uBAATA,SAAS,CAAE4E,kBACP,CACN,CACA,CAGN,CAGN,CACM,CAAC,CAAA;AAElB,CAAC;;AC/VD,IAAMkD,UAAU,GAAqC,UAACjJ,KAA6B,EAAA;AAE/E,EAAA,IAAAG,OAAO,GAmBLH,KAAK,CAAAG,OAnBA;IACPF,QAAQ,GAkBND,KAAK,CAlBCC,QAAA;IACRI,MAAM,GAiBJL,KAAK,OAjBD;IACNE,OAAO,GAgBLF,KAAK,CAAAE,OAhBA;IACPe,EAAA,GAeEjB,KAAK,CAAAqG,iBAfkB;IAAzBA,iBAAiB,GAAApF,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAAA,EAAA;IACzBD,MAAM,GAcJhB,KAAK,CAdDgB,MAAA;IACNZ,SAAS,GAaPJ,KAAK,CAbEI,SAAA;IACT8I,QAAQ,GAYNlJ,KAAK,SAZC;IACRS,eAAe,GAWbT,KAAK,CAXQS,eAAA;IACfD,UAAU,GAURR,KAAK,WAVG;IACVO,QAAQ,GASNP,KAAK,CAAAO,QATC;IACRD,aAAa,GAQXN,KAAK,CARMM,aAAA;IACbI,aAAa,GAOXV,KAAK,cAPM;IACbW,eAAe,GAMbX,KAAK,CANQW,eAAA;IACfwF,cAAc,GAKZnG,KAAK,eALO;IACdoG,cAAc,GAIZpG,KAAK,CAAAoG,cAJO;IACdxF,SAAS,GAGPZ,KAAK,UAHE;IACTa,eAAe,GAEbb,KAAK,CAAAa,eAFQ;IACfE,kBAAkB,GAChBf,KAAK,CAAAe,kBADW,CAAA;AAEpB,EAAA,oBACEiC,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAmG,QAAA,EAEI9C,IAAAA,EAAAA,iBAAiB,gBAEbrD,cAAA,CAAAC,aAAA,CAACiD,iBAAiB,EAAA;AAChBhG,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBF,IAAAA,QAAQ,EAAEA,QAAS;AACnBe,IAAAA,MAAM,EAAEA,MAAO;AACfX,IAAAA,MAAM,EAAEA,MAAO;AACfD,IAAAA,SAAS,EAAEA,SAAU;AACrB8I,IAAAA,QAAQ,EAAEA,QAAS;AACnB1I,IAAAA,UAAU,EAAEA,UAAW;AACvBD,IAAAA,QAAQ,EAAEA,QAAS;AACnBE,IAAAA,eAAe,EAAEA,eAAgB;AACjCH,IAAAA,aAAa,EAAEA,aAAc;AAC7BI,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCwF,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCxF,IAAAA,eAAe,EAAEA,eAAgB;AACjCE,IAAAA,kBAAkB,EAAEA,kBAAAA;AAAmB,IACvC,gBAEFiC,cAAA,CAAAC,aAAA,CAAClD,iBAAiB,EAAA;AAChBG,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,MAAM,EAAEA,MAAO;AACfF,IAAAA,OAAO,EAAEA,OAAQ;AACjBF,IAAAA,QAAQ,EAAEA,QAAS;AACnBe,IAAAA,MAAM,EAAEA,MAAO;AACfT,IAAAA,QAAQ,EAAEA,QAAS;AACnBH,IAAAA,SAAS,EAAEA,SAAU;AACrB8I,IAAAA,QAAQ,EAAEA,QAAS;AACnBzI,IAAAA,eAAe,EAAEA,eAAgB;AACjCD,IAAAA,UAAU,EAAEA,UAAW;AACvBF,IAAAA,aAAa,EAAEA,aAAc;AAC7BI,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,eAAe,EAAEA,eAAgB;AACjCE,IAAAA,kBAAkB,EAAEA,kBAAAA;AAAmB,GACvC,CAGV,CAAG,CAAA;AAEP;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React__default, { useReducer, useContext, createContext } from 'react';
|
|
2
|
-
import { _ as __assign } from './tslib.es6-
|
|
3
|
-
import { g as VOICE_PLAYER_ROOT_ID, h as VOICE_PLAYER_AUDIO_ID, c as VOICE_MESSAGE_FILE_NAME, d as VOICE_MESSAGE_MIME_TYPE } from './consts-
|
|
2
|
+
import { _ as __assign } from './tslib.es6-c2fb729e.js';
|
|
3
|
+
import { g as VOICE_PLAYER_ROOT_ID, h as VOICE_PLAYER_AUDIO_ID, c as VOICE_MESSAGE_FILE_NAME, d as VOICE_MESSAGE_MIME_TYPE } from './consts-d9c5f25a.js';
|
|
4
4
|
import { useSendbirdStateContext } from './useSendbirdStateContext.js';
|
|
5
5
|
|
|
6
6
|
var INITIALIZE_AUDIO_UNIT = 'INITIALIZE_AUDIO_UNIT';
|
|
@@ -295,4 +295,4 @@ var useVoicePlayerContext = function () {
|
|
|
295
295
|
};
|
|
296
296
|
|
|
297
297
|
export { ALL as A, VoicePlayerProvider as V, VOICE_PLAYER_STATUS as a, AudioUnitDefaultValue as b, useVoicePlayerContext as u };
|
|
298
|
-
//# sourceMappingURL=index-
|
|
298
|
+
//# sourceMappingURL=index-e04159fe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-a3b1c2f0.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":["import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\n\nexport 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\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 { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\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: VOICE_PLAYER_STATUS.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 VOICE_PLAYER_STATUS,\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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\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\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = 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 const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\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 logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\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 logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n logger.info('VoicePlayer: Succeeded getting audio file.', { audioFile });\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 logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\n voicePlayerRoot?.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n }\n });\n };\n\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","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","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","config","useSendbirdStateContext","logger","text","includes","info","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","cachedAudioFile","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","dataset","sbGroupId","childNodes","forEach","node","element","thisGroupKey","sbGroupKey","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-e04159fe.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":["import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\n\nexport 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\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 { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\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: VOICE_PLAYER_STATUS.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 VOICE_PLAYER_STATUS,\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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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 = VOICE_PLAYER_STATUS.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';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\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\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = 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 const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\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 logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\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 logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n logger.info('VoicePlayer: Succeeded getting audio file.', { audioFile });\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 logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\n voicePlayerRoot?.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n }\n });\n };\n\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","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","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","config","useSendbirdStateContext","logger","text","includes","info","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","cachedAudioFile","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","dataset","sbGroupId","childNodes","forEach","node","element","thisGroupKey","sbGroupKey","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|