@sendbird/uikit-react 3.6.7 → 3.6.8-rc.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 +57 -49
- package/App.js.map +1 -1
- package/CHANGELOG.md +63 -0
- package/Channel/components/ChannelHeader.js +20 -19
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +45 -41
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +16 -15
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +38 -36
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +34 -32
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +41 -60
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +18 -17
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +18 -17
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +16 -15
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +13 -12
- package/Channel/context.js.map +1 -1
- package/Channel/utils/compareMessagesForGrouping.js +22 -0
- package/Channel/utils/compareMessagesForGrouping.js.map +1 -0
- package/Channel/utils/getMessagePartsInfo.js +38 -0
- package/Channel/utils/getMessagePartsInfo.js.map +1 -0
- package/Channel.js +45 -41
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +31 -30
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +27 -26
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +31 -30
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-fc14f42d.js → ChannelListProvider-532ebe92.js} +11 -14
- package/ChannelListProvider-532ebe92.js.map +1 -0
- package/{ChannelProvider-78e85f32.js → ChannelProvider-903eb3bf.js} +31 -331
- package/ChannelProvider-903eb3bf.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +13 -13
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-fe23c38f.js → CreateChannelProvider-d02f3cf9.js} +1 -1
- package/{CreateChannelProvider-fe23c38f.js.map → CreateChannelProvider-d02f3cf9.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-5fe9b59d.js → LocalizationContext-3baf0e99.js} +3 -3
- package/{LocalizationContext-5fe9b59d.js.map → LocalizationContext-3baf0e99.js.map} +1 -1
- package/{MediaQueryContext-66b59195.js → MediaQueryContext-65dd6475.js} +1 -1
- package/{MediaQueryContext-66b59195.js.map → MediaQueryContext-65dd6475.js.map} +1 -1
- package/{MemberList-c03817ad.js → MemberList-fc5be7a2.js} +5 -5
- package/{MemberList-c03817ad.js.map → MemberList-fc5be7a2.js.map} +1 -1
- package/{useDirtyGetMentions-3f7692ab.js → Message/hooks/useDirtyGetMentions.js} +3 -2
- package/Message/hooks/useDirtyGetMentions.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +20 -19
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +30 -38
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +33 -32
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +33 -32
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +33 -32
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-5d21932a.js → OpenChannelListProvider-9dff6221.js} +3 -3
- package/{OpenChannelListProvider-5d21932a.js.map → OpenChannelListProvider-9dff6221.js.map} +1 -1
- package/{OpenChannelProvider-a6f4f92a.js → OpenChannelProvider-e3940c50.js} +7 -7
- package/OpenChannelProvider-e3940c50.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-0d438e31.js → RemoveMessageModal-5c8b1e53.js} +3 -3
- package/RemoveMessageModal-5c8b1e53.js.map +1 -0
- package/SendbirdProvider.js +24 -21
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +36 -34
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +21 -21
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +39 -37
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +40 -38
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +32 -30
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +43 -41
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +43 -41
- package/Thread.js.map +1 -1
- package/{ThreadProvider-2a4356a2.js → ThreadProvider-0cfe2336.js} +12 -11
- package/ThreadProvider-0cfe2336.js.map +1 -0
- package/{UserProfileContext-8b8f3e3a.js → UserProfileContext-3dd7aade.js} +1 -1
- package/{UserProfileContext-8b8f3e3a.js.map → UserProfileContext-3dd7aade.js.map} +1 -1
- package/{VoiceMessageInputWrapper-b8742ea1.js → VoiceMessageInputWrapper-a3904e40.js} +7 -7
- package/{VoiceMessageInputWrapper-b8742ea1.js.map → VoiceMessageInputWrapper-a3904e40.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +9 -9
- package/VoiceRecorder/context.js +9 -9
- package/VoiceRecorder/useVoiceRecorder.js +8 -8
- package/{WebAudioUtils-63418113.js → WebAudioUtils-44e85117.js} +2 -2
- package/{WebAudioUtils-63418113.js.map → WebAudioUtils-44e85117.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-90ff7fc4.js → _rollupPluginBabelHelpers-89176539.js} +1 -1
- package/_rollupPluginBabelHelpers-89176539.js.map +1 -0
- package/{actionTypes-66bf934b.js → actionTypes-f95f30b4.js} +1 -1
- package/{actionTypes-66bf934b.js.map → actionTypes-f95f30b4.js.map} +1 -1
- package/cjs/App.js +57 -49
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +20 -19
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +45 -41
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +16 -15
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +41 -39
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +39 -37
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +47 -66
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +18 -17
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +18 -17
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +16 -15
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +13 -12
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel/utils/compareMessagesForGrouping.js +26 -0
- package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -0
- package/cjs/Channel/utils/getMessagePartsInfo.js +42 -0
- package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -0
- package/cjs/Channel.js +45 -41
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +31 -30
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +27 -26
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +31 -30
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-c1f3cf4a.js → ChannelListProvider-80903b5c.js} +11 -14
- package/cjs/ChannelListProvider-80903b5c.js.map +1 -0
- package/cjs/{ChannelProvider-633edf61.js → ChannelProvider-c75c8c0d.js} +109 -414
- package/cjs/ChannelProvider-c75c8c0d.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +13 -13
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-32102712.js → CreateChannelProvider-0e78ab7b.js} +1 -1
- package/cjs/{CreateChannelProvider-32102712.js.map → CreateChannelProvider-0e78ab7b.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-a15ec4eb.js → LocalizationContext-fd85331f.js} +3 -3
- package/cjs/{LocalizationContext-a15ec4eb.js.map → LocalizationContext-fd85331f.js.map} +1 -1
- package/cjs/{MediaQueryContext-80d10d7b.js → MediaQueryContext-fde456fd.js} +1 -1
- package/cjs/{MediaQueryContext-80d10d7b.js.map → MediaQueryContext-fde456fd.js.map} +1 -1
- package/cjs/{MemberList-5303bbbb.js → MemberList-16ebc116.js} +5 -5
- package/cjs/{MemberList-5303bbbb.js.map → MemberList-16ebc116.js.map} +1 -1
- package/cjs/{useDirtyGetMentions-a37639f1.js → Message/hooks/useDirtyGetMentions.js} +4 -1
- package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +20 -19
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -40
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +33 -32
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +33 -32
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +33 -32
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-49874b88.js → OpenChannelListProvider-8665615a.js} +3 -3
- package/cjs/{OpenChannelListProvider-49874b88.js.map → OpenChannelListProvider-8665615a.js.map} +1 -1
- package/cjs/{OpenChannelProvider-c2b3dc2c.js → OpenChannelProvider-5e558c1a.js} +7 -7
- package/cjs/OpenChannelProvider-5e558c1a.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-271f1251.js → RemoveMessageModal-6307711c.js} +3 -3
- package/cjs/RemoveMessageModal-6307711c.js.map +1 -0
- package/cjs/SendbirdProvider.js +24 -21
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +38 -36
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +39 -37
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +42 -40
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +34 -32
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +43 -41
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +43 -41
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-8d2ce923.js → ThreadProvider-aeb062df.js} +12 -11
- package/cjs/ThreadProvider-aeb062df.js.map +1 -0
- package/cjs/{UserProfileContext-f8f1cee7.js → UserProfileContext-e658337c.js} +1 -1
- package/cjs/{UserProfileContext-f8f1cee7.js.map → UserProfileContext-e658337c.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-e8d7b9ba.js → VoiceMessageInputWrapper-ee24a942.js} +9 -9
- package/cjs/{VoiceMessageInputWrapper-e8d7b9ba.js.map → VoiceMessageInputWrapper-ee24a942.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
- package/cjs/VoiceRecorder/context.js +9 -9
- package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
- package/cjs/{WebAudioUtils-88dbfaed.js → WebAudioUtils-238bd8c4.js} +2 -2
- package/cjs/{WebAudioUtils-88dbfaed.js.map → WebAudioUtils-238bd8c4.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-0d9d52a5.js → _rollupPluginBabelHelpers-6da3edf9.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-6da3edf9.js.map +1 -0
- package/cjs/{actionTypes-974dfe33.js → actionTypes-b0cfb8a7.js} +1 -1
- package/cjs/{actionTypes-974dfe33.js.map → actionTypes-b0cfb8a7.js.map} +1 -1
- package/cjs/{color-1e9cc481.js → color-7e8f0ca5.js} +1 -1
- package/cjs/{color-1e9cc481.js.map → color-7e8f0ca5.js.map} +1 -1
- package/cjs/{compareIds-0344920c.js → compareIds-a5214ac1.js} +1 -1
- package/cjs/{compareIds-0344920c.js.map → compareIds-a5214ac1.js.map} +1 -1
- package/cjs/{const-0d4d91cd.js → const-703dd567.js} +1 -1
- package/cjs/{const-0d4d91cd.js.map → const-703dd567.js.map} +1 -1
- package/cjs/{const-182fe978.js → const-7ab4dbea.js} +1 -1
- package/cjs/{const-182fe978.js.map → const-7ab4dbea.js.map} +1 -1
- package/cjs/{consts-0c9a38ef.js → consts-0337201b.js} +5 -1
- package/cjs/{consts-0c9a38ef.js.map → consts-0337201b.js.map} +1 -1
- package/cjs/{consts-10e5b075.js → consts-39e2e498.js} +1 -1
- package/cjs/{consts-10e5b075.js.map → consts-39e2e498.js.map} +1 -1
- package/cjs/{consts-5bdc2c7f.js → consts-74f92105.js} +1 -1
- package/cjs/{consts-5bdc2c7f.js.map → consts-74f92105.js.map} +1 -1
- package/cjs/{consts-c336bb61.js → consts-acdad2b4.js} +1 -1
- package/cjs/{consts-c336bb61.js.map → consts-acdad2b4.js.map} +1 -1
- package/cjs/{context-0276d21e.js → context-90576ca6.js} +2 -2
- package/cjs/{context-0276d21e.js.map → context-90576ca6.js.map} +1 -1
- package/cjs/dist/index.css +121 -94
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-17a6519d.js → index-011a6124.js} +1 -1
- package/cjs/{index-17a6519d.js.map → index-011a6124.js.map} +1 -1
- package/cjs/index-05ea6eac.js +230 -0
- package/cjs/index-05ea6eac.js.map +1 -0
- package/cjs/{index-49fe0efb.js → index-0aec5632.js} +4 -4
- package/cjs/{index-49fe0efb.js.map → index-0aec5632.js.map} +1 -1
- package/cjs/{index-e46cc828.js → index-5699329f.js} +6 -6
- package/cjs/{index-e46cc828.js.map → index-5699329f.js.map} +1 -1
- package/cjs/{index-1325e266.js → index-66369e8b.js} +3 -3
- package/cjs/{index-1325e266.js.map → index-66369e8b.js.map} +1 -1
- package/cjs/{index-092b22dd.js → index-76acbd2d.js} +2 -2
- package/cjs/{index-092b22dd.js.map → index-76acbd2d.js.map} +1 -1
- package/cjs/{index-b428366f.js → index-7d3c8e0c.js} +2 -2
- package/cjs/index-7d3c8e0c.js.map +1 -0
- package/cjs/{index-6cb3365f.js → index-8522d0c2.js} +2 -2
- package/cjs/{index-6cb3365f.js.map → index-8522d0c2.js.map} +1 -1
- package/cjs/{index-cebd1362.js → index-9470d71b.js} +4 -4
- package/cjs/{index-cebd1362.js.map → index-9470d71b.js.map} +1 -1
- package/cjs/{index-08c5777e.js → index-9c4b8f39.js} +15 -8
- package/cjs/index-9c4b8f39.js.map +1 -0
- package/cjs/{index-dbccd7fb.js → index-ad47c0e4.js} +3 -3
- package/cjs/{index-dbccd7fb.js.map → index-ad47c0e4.js.map} +1 -1
- package/cjs/{index-87e11d7e.js → index-b04632ba.js} +5 -5
- package/cjs/{index-87e11d7e.js.map → index-b04632ba.js.map} +1 -1
- package/cjs/{index-2cb13008.js → index-bf35893c.js} +2 -2
- package/cjs/{index-2cb13008.js.map → index-bf35893c.js.map} +1 -1
- package/cjs/{index-5a651f3c.js → index-c63d7e90.js} +2 -2
- package/cjs/{index-5a651f3c.js.map → index-c63d7e90.js.map} +1 -1
- package/cjs/{index-54228aa8.js → index-dbfce4b2.js} +4 -4
- package/cjs/{index-54228aa8.js.map → index-dbfce4b2.js.map} +1 -1
- package/cjs/index-e18eb9ba.js +298 -0
- package/cjs/index-e18eb9ba.js.map +1 -0
- package/cjs/{index-9c8e297d.js → index-e99f0986.js} +3 -3
- package/cjs/{index-9c8e297d.js.map → index-e99f0986.js.map} +1 -1
- package/cjs/{index-c2454b7e.js → index-eac4199a.js} +1 -1
- package/cjs/{index-c2454b7e.js.map → index-eac4199a.js.map} +1 -1
- package/cjs/{index-ed1ee70b.js → index-f9665a27.js} +21 -14
- package/cjs/index-f9665a27.js.map +1 -0
- package/cjs/index.js +57 -53
- package/cjs/index.js.map +1 -1
- package/cjs/{index.module-8026e7d3.js → index.module-0ba29e4f.js} +1 -1
- package/cjs/{index.module-8026e7d3.js.map → index.module-0ba29e4f.js.map} +1 -1
- package/cjs/package.json +2 -2
- package/cjs/{resolvedReplyType-8137e072.js → resolvedReplyType-9f17b17a.js} +1 -1
- package/cjs/{resolvedReplyType-8137e072.js.map → resolvedReplyType-9f17b17a.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -4
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-769f181d.js → stringSet-dfe78bcf.js} +1 -1
- package/cjs/{stringSet-769f181d.js.map → stringSet-dfe78bcf.js.map} +1 -1
- package/cjs/{tokenize-586ed01a.js → tokenize-8279c435.js} +2 -2
- package/cjs/{tokenize-586ed01a.js.map → tokenize-8279c435.js.map} +1 -1
- package/cjs/{topics-99121946.js → topics-ba2551c1.js} +1 -1
- package/cjs/{topics-99121946.js.map → topics-ba2551c1.js.map} +1 -1
- package/cjs/{types-812b3bfd.js → types-c4bc01b7.js} +1 -1
- package/cjs/types-c4bc01b7.js.map +1 -0
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +13 -13
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +17 -126
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +178 -159
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.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/MentionLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +28 -28
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput/hooks/usePaste.js +16 -0
- package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -0
- package/cjs/ui/MessageInput.js +21 -233
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionButton.js +4 -4
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThumbnailMessageItemBody.js +5 -5
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +10 -10
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +9 -9
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +10 -10
- package/cjs/{useLongPress-a77054d5.js → useLongPress-092f3b5a.js} +3 -3
- package/cjs/{useLongPress-a77054d5.js.map → useLongPress-092f3b5a.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/utils-415ffe78.js +340 -0
- package/cjs/utils-415ffe78.js.map +1 -0
- package/cjs/{utils-c8ca7346.js → utils-6a3fe892.js} +1 -1
- package/cjs/{utils-c8ca7346.js.map → utils-6a3fe892.js.map} +1 -1
- package/cjs/{utils-3fda8de7.js → utils-a0fbcca3.js} +1 -1
- package/cjs/{utils-3fda8de7.js.map → utils-a0fbcca3.js.map} +1 -1
- package/cjs/{utils-d6b081f0.js → utils-b5edf0d4.js} +1 -1
- package/cjs/{utils-d6b081f0.js.map → utils-b5edf0d4.js.map} +1 -1
- package/cjs/{utils-18517a45.js → utils-f6fe7b35.js} +2 -2
- package/cjs/{utils-18517a45.js.map → utils-f6fe7b35.js.map} +1 -1
- package/cjs/{uuid-6c019e89.js → uuid-5f519bff.js} +1 -1
- package/cjs/{uuid-6c019e89.js.map → uuid-5f519bff.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-2315a258.js → color-577bf8be.js} +1 -1
- package/{color-2315a258.js.map → color-577bf8be.js.map} +1 -1
- package/{compareIds-2464aab2.js → compareIds-c0200d9c.js} +1 -1
- package/{compareIds-2464aab2.js.map → compareIds-c0200d9c.js.map} +1 -1
- package/{const-0cca8d38.js → const-83226e6e.js} +1 -1
- package/{const-0cca8d38.js.map → const-83226e6e.js.map} +1 -1
- package/{const-c6a266f4.js → const-bc3d72f7.js} +1 -1
- package/{const-c6a266f4.js.map → const-bc3d72f7.js.map} +1 -1
- package/{consts-b6f24cc7.js → consts-1be4a5f0.js} +5 -2
- package/{consts-b6f24cc7.js.map → consts-1be4a5f0.js.map} +1 -1
- package/{consts-32a2c4a7.js → consts-72edcc10.js} +1 -1
- package/{consts-32a2c4a7.js.map → consts-72edcc10.js.map} +1 -1
- package/{consts-991d3823.js → consts-b6ee09b8.js} +1 -1
- package/{consts-991d3823.js.map → consts-b6ee09b8.js.map} +1 -1
- package/{consts-3d956927.js → consts-f43406e2.js} +1 -1
- package/{consts-3d956927.js.map → consts-f43406e2.js.map} +1 -1
- package/{context-e46fff7b.js → context-79b7df74.js} +2 -2
- package/{context-e46fff7b.js.map → context-79b7df74.js.map} +1 -1
- package/dist/index.css +121 -94
- package/dist/index.css.map +1 -1
- package/{index-b9b184a4.js → index-0560155e.js} +1 -1
- package/{index-b9b184a4.js.map → index-0560155e.js.map} +1 -1
- package/{index-a39b9075.js → index-093de5d9.js} +3 -3
- package/{index-a39b9075.js.map → index-093de5d9.js.map} +1 -1
- package/{index-ebb8a7df.js → index-1d964676.js} +2 -2
- package/index-1d964676.js.map +1 -0
- package/{index-17b78bb0.js → index-1fca4ff9.js} +21 -14
- package/index-1fca4ff9.js.map +1 -0
- package/{index-07345a6e.js → index-20782e24.js} +5 -5
- package/{index-07345a6e.js.map → index-20782e24.js.map} +1 -1
- package/{index-56249831.js → index-2f85608a.js} +16 -9
- package/index-2f85608a.js.map +1 -0
- package/{index-f2e30f98.js → index-43c63728.js} +2 -2
- package/{index-f2e30f98.js.map → index-43c63728.js.map} +1 -1
- package/index-4681e8c0.js +221 -0
- package/index-4681e8c0.js.map +1 -0
- package/index-56541b27.js +289 -0
- package/index-56541b27.js.map +1 -0
- package/{index-c4273470.js → index-6685707d.js} +4 -4
- package/{index-c4273470.js.map → index-6685707d.js.map} +1 -1
- package/{index-879bcfab.js → index-801994fd.js} +3 -3
- package/{index-879bcfab.js.map → index-801994fd.js.map} +1 -1
- package/{index-63c995b8.js → index-8c47fd78.js} +3 -3
- package/{index-63c995b8.js.map → index-8c47fd78.js.map} +1 -1
- package/{index-bafedab0.js → index-a6c40339.js} +1 -1
- package/{index-bafedab0.js.map → index-a6c40339.js.map} +1 -1
- package/{index-499d9ef9.js → index-b5ac166c.js} +2 -2
- package/{index-499d9ef9.js.map → index-b5ac166c.js.map} +1 -1
- package/{index-7b3790d3.js → index-cf32585b.js} +4 -4
- package/{index-7b3790d3.js.map → index-cf32585b.js.map} +1 -1
- package/{index-13d9d766.js → index-d4eb3c4f.js} +2 -2
- package/{index-13d9d766.js.map → index-d4eb3c4f.js.map} +1 -1
- package/{index-2544bb0a.js → index-da667cf0.js} +4 -4
- package/{index-2544bb0a.js.map → index-da667cf0.js.map} +1 -1
- package/{index-fe2c7493.js → index-e7c6e440.js} +6 -6
- package/{index-fe2c7493.js.map → index-e7c6e440.js.map} +1 -1
- package/{index-335e7557.js → index-facad2c8.js} +2 -2
- package/{index-335e7557.js.map → index-facad2c8.js.map} +1 -1
- package/index.d.ts +278 -134
- package/index.js +57 -53
- package/index.js.map +1 -1
- package/{index.module-41885c5b.js → index.module-afd26a55.js} +1 -1
- package/{index.module-41885c5b.js.map → index.module-afd26a55.js.map} +1 -1
- package/package.json +3 -2
- package/{resolvedReplyType-d6e22593.js → resolvedReplyType-56c58fa0.js} +1 -1
- package/{resolvedReplyType-d6e22593.js.map → resolvedReplyType-56c58fa0.js.map} +1 -1
- package/sendbirdSelectors.js +3 -4
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-47601d79.js → stringSet-3373f05f.js} +1 -1
- package/{stringSet-47601d79.js.map → stringSet-3373f05f.js.map} +1 -1
- package/{tokenize-c0cf9574.js → tokenize-18e18d41.js} +2 -2
- package/{tokenize-c0cf9574.js.map → tokenize-18e18d41.js.map} +1 -1
- package/{topics-e985567d.js → topics-b4f2a542.js} +1 -1
- package/{topics-e985567d.js.map → topics-b4f2a542.js.map} +1 -1
- package/{types-02054e6e.js → types-956382cc.js} +1 -1
- package/types-956382cc.js.map +1 -0
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +13 -13
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +15 -124
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +178 -159
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +28 -28
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput/hooks/usePaste.js +7 -0
- package/ui/MessageInput/hooks/usePaste.js.map +1 -0
- package/ui/MessageInput.js +16 -227
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelThumbnailMessage.js +14 -14
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionButton.js +4 -4
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThumbnailMessageItemBody.js +5 -5
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -10
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +9 -9
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +10 -10
- package/{useLongPress-0a2a8916.js → useLongPress-5d7ec65f.js} +3 -3
- package/{useLongPress-0a2a8916.js.map → useLongPress-5d7ec65f.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/utils-07212ce9.js +301 -0
- package/utils-07212ce9.js.map +1 -0
- package/{utils-2f26afa0.js → utils-46e2f239.js} +1 -1
- package/{utils-2f26afa0.js.map → utils-46e2f239.js.map} +1 -1
- package/{utils-70ea4cc9.js → utils-8039d87d.js} +2 -2
- package/{utils-70ea4cc9.js.map → utils-8039d87d.js.map} +1 -1
- package/{utils-93924431.js → utils-93dbc8a2.js} +1 -1
- package/{utils-93924431.js.map → utils-93dbc8a2.js.map} +1 -1
- package/{utils-d15f13cf.js → utils-f0a55682.js} +1 -1
- package/{utils-d15f13cf.js.map → utils-f0a55682.js.map} +1 -1
- package/{uuid-ec51ac4d.js → uuid-bdadfb51.js} +1 -1
- package/{uuid-ec51ac4d.js.map → uuid-bdadfb51.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-fc14f42d.js.map +0 -1
- package/ChannelProvider-78e85f32.js.map +0 -1
- package/OpenChannelProvider-a6f4f92a.js.map +0 -1
- package/RemoveMessageModal-0d438e31.js.map +0 -1
- package/ThreadProvider-2a4356a2.js.map +0 -1
- package/_rollupPluginBabelHelpers-90ff7fc4.js.map +0 -1
- package/cjs/ChannelListProvider-c1f3cf4a.js.map +0 -1
- package/cjs/ChannelProvider-633edf61.js.map +0 -1
- package/cjs/OpenChannelProvider-c2b3dc2c.js.map +0 -1
- package/cjs/RemoveMessageModal-271f1251.js.map +0 -1
- package/cjs/ThreadProvider-8d2ce923.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-0d9d52a5.js.map +0 -1
- package/cjs/index-08c5777e.js.map +0 -1
- package/cjs/index-b428366f.js.map +0 -1
- package/cjs/index-ed1ee70b.js.map +0 -1
- package/cjs/types-812b3bfd.js.map +0 -1
- package/cjs/useDirtyGetMentions-a37639f1.js.map +0 -1
- package/index-17b78bb0.js.map +0 -1
- package/index-56249831.js.map +0 -1
- package/index-ebb8a7df.js.map +0 -1
- package/types-02054e6e.js.map +0 -1
- package/useDirtyGetMentions-3f7692ab.js.map +0 -1
|
@@ -5,9 +5,9 @@ var ui_PlaybackTime = require('./ui/PlaybackTime.js');
|
|
|
5
5
|
var ui_ProgressBar = require('./ui/ProgressBar.js');
|
|
6
6
|
var ui_TextButton = require('./ui/TextButton.js');
|
|
7
7
|
var ui_Icon = require('./ui/Icon.js');
|
|
8
|
-
var ui_Label = require('./index-
|
|
9
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
10
|
-
var consts = require('./consts-
|
|
8
|
+
var ui_Label = require('./index-bf35893c.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-fd85331f.js');
|
|
10
|
+
var consts = require('./consts-0337201b.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
13
|
|
|
@@ -158,4 +158,4 @@ const VoiceMessageInput = _ref => {
|
|
|
158
158
|
|
|
159
159
|
exports.VoiceMessageInput = VoiceMessageInput;
|
|
160
160
|
exports.VoiceMessageInputStatus = VoiceMessageInputStatus;
|
|
161
|
-
//# sourceMappingURL=index-
|
|
161
|
+
//# sourceMappingURL=index-9470d71b.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-cebd1362.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState,\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue;\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_ref","inputState","React","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","ON_BACKGROUND_1","VoiceMessageInput","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","lastClickTime","setLastClickTime","useState","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-9470d71b.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState,\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue;\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_ref","inputState","React","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","ON_BACKGROUND_1","VoiceMessageInput","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","lastClickTime","setLastClickTime","useState","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":";;;;;;;;;;;;;;;AAAA;AACO,MAAMA,uBAAuB,GAAG;AACrCC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,OAAO,EAAE,SAAA;AACX;;ACGO,MAAMC,aAAa,GAAGC,IAAA,IAEiB;EAAA,IAFhB;AAC5BC,IAAAA,UAAAA;AACkB,GAAC,GAAAD,IAAA,CAAA;AACnB,EAAA,QAAQC,UAAU;IAChB,KAAKP,uBAAuB,CAACC,eAAe;AAAE,MAAA;QAC5C,oBACEO,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,qCAAA;SAAwC,CAAA,CAAA;AAE3D,OAAA;IACA,KAAKV,uBAAuB,CAACE,SAAS;AAAE,MAAA;QACtC,oBACEM,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,mCAAA;SAAsC,CAAA,CAAA;AAEzD,OAAA;IACA,KAAKV,uBAAuB,CAACG,aAAa;AAAE,MAAA;AAC1C,QAAA,oBACEK,yBAAA,CAAAC,aAAA,CAACE,kBAAI,EAAA;AACHD,UAAAA,SAAS,EAAC,mCAAmC;AAC7CE,UAAAA,KAAK,EAAC,MAAM;AACZC,UAAAA,MAAM,EAAC,MAAM;UACbC,IAAI,EAAEC,iBAAS,CAACC,IAAK;UACrBC,SAAS,EAAEC,kBAAU,CAACC,eAAAA;SACtB,CAAA,CAAA;AAEN,OAAA;IACA,KAAKnB,uBAAuB,CAACI,OAAO;AAAE,MAAA;QACpC,oBACEI,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,oCAAA;SACbF,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,0CAAA;SAA4C,CAAA,eAC3DF,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,0CAAA;AAA0C,SAAA,CAAE,CACvD,CAAA;AAEV,OAAA;AACA,IAAA;AACE,MAAA,OAAO,IAAI,CAAA;AAAC,GAAA;AAElB,CAAC;;ACnBYU,MAAAA,iBAAiB,GAAGd,IAAA,IAWiB;EAAA,IAXhB;AAChCe,IAAAA,aAAa,GAAGC,iCAA0B;IAC1CC,YAAY;AACZC,IAAAA,YAAY,GAAG,CAAC;IAChBC,WAAW;IACXC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC,kBAAkB;IAClBC,mBAAmB;AACnBC,IAAAA,kBAAAA;AACsB,GAAC,GAAAzB,IAAA,CAAA;EACvB,MAAM,CAAC0B,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,cAAQ,CAAS,CAAC,CAAC,CAAA;AAC7D,EAAA,MAAMC,eAAe,GAAGC,aAAO,CAAC,MAAMX,WAAW,KAAKzB,uBAAuB,CAACC,eAAe,EAAE,CAACwB,WAAW,CAAC,CAAC,CAAA;AAC7G,EAAA,MAAMY,WAAW,GAAGD,aAAO,CAAC,MAAMX,WAAW,KAAKzB,uBAAuB,CAACE,SAAS,EAAE,CAACuB,WAAW,CAAC,CAAC,CAAA;AACnG,EAAA,MAAMa,oBAAoB,GAAGF,aAAO,CAAC,MAAM;IACzC,IAAIX,WAAW,KAAKzB,uBAAuB,CAACC,eAAe,IACtDwB,WAAW,KAAKzB,uBAAuB,CAACE,SAAS,EACpD;MACA,OAAOmB,aAAa,GAAGG,YAAY,CAAA;AACrC,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;GACb,EAAE,CAACC,WAAW,EAAEJ,aAAa,EAAEG,YAAY,CAAC,CAAC,CAAA;AAC9C,EAAA,MAAMe,UAAU,GAAGH,aAAO,CAAC,MAAM;IAC/B,OACEX,WAAW,KAAKzB,uBAAuB,CAACG,aAAa,IAClDsB,WAAW,KAAKzB,uBAAuB,CAACI,OAAO,CAAA;AAEtD,GAAC,EAAE,CAACqB,WAAW,CAAC,CAAC,CAAA;EACjB,MAAM;AAAEe,IAAAA,SAAAA;GAAW,GAAGC,mCAAe,EAAE,CAAA;EAEvC,MAAMC,mBAAmB,GAAGA,MAAM;AAChC,IAAA,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,EAAE,CAAA;AAC9B,IAAA,IAAIF,WAAW,GAAGX,aAAa,GAAGc,uCAAgC,EAAE;AAClEpB,MAAAA,aAAa,EAAE,CAAA;MACfO,gBAAgB,CAACU,WAAW,CAAC,CAAA;AAC/B,KAAA;GACD,CAAA;AACD,EAAA,MAAMI,oBAAoB,GAAGC,iBAAW,CAAC,MAAM;AAC7C,IAAA,MAAML,WAAW,GAAGC,IAAI,CAACC,GAAG,EAAE,CAAA;AAC9B,IAAA,IAAIF,WAAW,GAAGX,aAAa,GAAGc,uCAAgC,EAAE;MAClEnB,cAAc,CAACF,WAAW,CAAC,CAAA;MAC3BQ,gBAAgB,CAACU,WAAW,CAAC,CAAA;AAC/B,KAAA;AACF,GAAC,EAAE,CAAClB,WAAW,CAAC,CAAC,CAAA;EACjB,MAAMwB,mBAAmB,GAAGA,MAAM;AAChC,IAAA,MAAMN,WAAW,GAAGC,IAAI,CAACC,GAAG,EAAE,CAAA;AAC9B,IAAA,IAAIF,WAAW,GAAGX,aAAa,GAAGc,uCAAgC,EAAE;MAClE,IAAI,CAACR,oBAAoB,EAAE;AACzBV,QAAAA,aAAa,EAAE,CAAA;AACjB,OAAA;MACAK,gBAAgB,CAACU,WAAW,CAAC,CAAA;AAC/B,KAAA;GACD,CAAA;EAED,oBACEnC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,8BAAA;GACbF,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yCAAA;GACbF,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uDAAA;AAAuD,GAAA,eACpEF,yBAAA,CAAAC,aAAA,CAACyC,0BAAW,EAAA;AACVxC,IAAAA,SAAS,EAAC,4DAA4D;AACtEyC,IAAAA,QAAQ,EAAEhB,eAAgB;AAC1BiB,IAAAA,OAAO,EAAE7B,YAAa;AACtB8B,IAAAA,WAAW,EAAE7B,YAAAA;AAAa,GAAA,CAC1B,CACE,EACJa,WAAW,gBAAK7B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,iDAAA;AAAiD,GAAA,CAAG,GAAI,IAAI,eAC7FF,yBAAA,CAAAC,aAAA,CAAC6C,4BAAY,EAAA;AACX5C,IAAAA,SAAS,EAAC,wDAAwD;AAClE6C,IAAAA,IAAI,EAAEhB,UAAU,GAAGhB,YAAY,GAAGC,YAAY,GAAGA,YAAa;IAC9DgC,UAAU,EAAErB,eAAe,GAAGsB,oBAAW,CAACC,cAAc,GAAGD,oBAAW,CAACE,WAAAA;AAAY,GAAA,CACnF,CACE,eACNnD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yCAAA;AAAyC,GAAA,EAEpD,CAAAmB,kBAAkB,KAAlBA,IAAAA,IAAAA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,EAAI,kBACpBrB,yBAAA,CAAAC,aAAA,CAACmD,aAAU,EAAA;AACTlD,IAAAA,SAAS,EAAC,iDAAiD;AAC3DmD,IAAAA,OAAO,EAAEnB,mBAAoB;IAC7BoB,gBAAgB,EAAA,IAAA;AAAA,GAAA,eAEhBtD,yBAAA,CAAAC,aAAA,CAACsD,cAAK,EAAA;IACJjD,IAAI,EAAEkD,wBAAe,CAACC,QAAS;IAC/BC,KAAK,EAAET,oBAAW,CAACU,OAAAA;AAAQ,GAAA,EAE1B3B,SAAS,CAAC4B,cAAc,CACnB,CAEX,EAGD,CAAAtC,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAmB,CAAGL,WAAW,CAAC,kBAChCjB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,+CAA+C;AACzDmD,IAAAA,OAAO,EAAEd,oBAAAA;AAAqB,GAAA,eAE9BvC,yBAAA,CAAAC,aAAA,CAACJ,aAAa,EAAA;AAACE,IAAAA,UAAU,EAAEkB,WAAAA;AAAY,GAAA,CAAG,CAE7C,EAGD,CAAAM,kBAAkB,KAAlBA,IAAAA,IAAAA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,EAAI,kBACpBvB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAG,CAAkD4B,gDAAAA,EAAAA,oBAAoB,GAAG,yBAAyB,GAAG,EAAG,CAAE,CAAA;AACtHuB,IAAAA,OAAO,EAAEZ,mBAAAA;AAAoB,GAAA,eAE7BzC,yBAAA,CAAAC,aAAA,CAACE,kBAAI,EAAA;AACHC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAM;IACbC,IAAI,EAAEC,iBAAS,CAACsD,IAAK;IACrBpD,SAAS,EAAEqB,oBAAoB,GAAGpB,kBAAU,CAACoD,eAAe,GAAGpD,kBAAU,CAACqD,OAAAA;GAC1E,CAAA,CAEL,CAEC,CACF,CAAA;AAEV;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-6da3edf9.js');
|
|
4
4
|
var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
|
|
5
5
|
|
|
6
6
|
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
|
|
@@ -18,6 +18,7 @@ const UIKitMessageTypes = {
|
|
|
18
18
|
ADMIN: 'ADMIN',
|
|
19
19
|
TEXT: 'TEXT',
|
|
20
20
|
FILE: 'FILE',
|
|
21
|
+
MULTIPLE_FILES: 'MULTIPLE_FILES',
|
|
21
22
|
THUMBNAIL: 'THUMBNAIL',
|
|
22
23
|
OG: 'OG',
|
|
23
24
|
UNKNOWN: 'UNKNOWN'
|
|
@@ -220,15 +221,21 @@ const hasSameMembers = (a, b) => {
|
|
|
220
221
|
}
|
|
221
222
|
return true;
|
|
222
223
|
};
|
|
223
|
-
const isFriend = user =>
|
|
224
|
+
const isFriend = user => {
|
|
225
|
+
if (!user) return false;
|
|
226
|
+
return !!(user.friendDiscoveryKey || user.friendName);
|
|
227
|
+
};
|
|
224
228
|
const filterMessageListParams = (params, message) => {
|
|
225
|
-
var _params$
|
|
229
|
+
var _params$senderUserIds;
|
|
230
|
+
const {
|
|
231
|
+
customTypesFilter = []
|
|
232
|
+
} = params;
|
|
226
233
|
// @ts-ignore
|
|
227
234
|
if (params !== null && params !== void 0 && params.messageTypeFilter && params.messageTypeFilter !== message.messageType) {
|
|
228
235
|
return false;
|
|
229
236
|
}
|
|
230
|
-
if ((
|
|
231
|
-
const customTypes =
|
|
237
|
+
if ((customTypesFilter === null || customTypesFilter === void 0 ? void 0 : customTypesFilter.length) > 0) {
|
|
238
|
+
const customTypes = customTypesFilter.filter(item => item !== '*');
|
|
232
239
|
// Because Chat SDK inserts '*' when customTypes is empty
|
|
233
240
|
if (customTypes.length > 0 && !customTypes.includes(message.customType)) {
|
|
234
241
|
return false;
|
|
@@ -252,7 +259,7 @@ const filterMessageListParams = (params, message) => {
|
|
|
252
259
|
return true;
|
|
253
260
|
};
|
|
254
261
|
const filterChannelListParams = (params, channel, currentUserId) => {
|
|
255
|
-
var _searchFilter$fields$, _searchFilter$fields, _userIdsFilter$userId, _params$
|
|
262
|
+
var _searchFilter$fields$, _searchFilter$fields, _userIdsFilter$userId, _params$customTypesFi, _channel$name2, _params$channelUrlsFi;
|
|
256
263
|
if (!(params !== null && params !== void 0 && params.includeEmpty) && (channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null) {
|
|
257
264
|
return false;
|
|
258
265
|
}
|
|
@@ -332,7 +339,7 @@ const filterChannelListParams = (params, channel, currentUserId) => {
|
|
|
332
339
|
if ((params === null || params === void 0 ? void 0 : params.includeFrozen) === false && (channel === null || channel === void 0 ? void 0 : channel.isFrozen) === true) {
|
|
333
340
|
return false;
|
|
334
341
|
}
|
|
335
|
-
if ((params === null || params === void 0 ? void 0 : (_params$
|
|
342
|
+
if ((params === null || params === void 0 ? void 0 : (_params$customTypesFi = params.customTypesFilter) === null || _params$customTypesFi === void 0 ? void 0 : _params$customTypesFi.length) > 0 && !params.customTypesFilter.includes(channel === null || channel === void 0 ? void 0 : channel.customType)) {
|
|
336
343
|
return false;
|
|
337
344
|
}
|
|
338
345
|
if (params !== null && params !== void 0 && params.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel === null || channel === void 0 ? void 0 : channel.customType)) {
|
|
@@ -573,4 +580,4 @@ exports.isVideo = isVideo;
|
|
|
573
580
|
exports.isVideoMessage = isVideoMessage;
|
|
574
581
|
exports.isVoiceMessage = isVoiceMessage;
|
|
575
582
|
exports.truncateString = truncateString;
|
|
576
|
-
//# sourceMappingURL=index-
|
|
583
|
+
//# sourceMappingURL=index-9c4b8f39.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-9c4b8f39.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport {\n AdminMessage,\n FileMessage,\n MessageListParams,\n MultipleFilesMessage,\n Reaction,\n UserMessage,\n} from '@sendbird/chat/message';\nimport { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport { getOutgoingMessageState, OutgoingMessageStates } from './exports/getOutgoingMessageState';\nimport { Nullable } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\n/* eslint-disable no-redeclare */\nexport interface UIKitMessageTypes {\n ADMIN: 'ADMIN',\n TEXT: 'TEXT',\n FILE: 'FILE',\n MULTIPLE_FILES: 'MULTIPLE_FILES',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n}\nexport const UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: 'ADMIN',\n TEXT: 'TEXT',\n FILE: 'FILE',\n MULTIPLE_FILES: 'MULTIPLE_FILES',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n};\n/* eslint-disable no-redeclare */\nexport interface UIKitFileTypes {\n IMAGE: 'IMAGE',\n AUDIO: 'AUDIO',\n VIDEO: 'VIDEO',\n GIF: 'GIF',\n VOICE: 'VOICE',\n OTHERS: 'OTHERS',\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: 'IMAGE',\n AUDIO: 'AUDIO',\n VIDEO: 'VIDEO',\n GIF: 'GIF',\n VOICE: 'VOICE',\n OTHERS: 'OTHERS',\n};\n\n/* eslint-disable no-redeclare */\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport type CoreMessageType = AdminMessage | UserMessage | FileMessage | MultipleFilesMessage;\nexport type SendableMessageType = UserMessage | FileMessage | MultipleFilesMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\n\nexport const isSentMessage = (\n message: SendableMessageType,\n): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (\n channel: GroupChannel,\n message: SendableMessageType,\n): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (\n channel: GroupChannel,\n message: SendableMessageType,\n): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (\n message: SendableMessageType,\n): boolean => (message?.sendingStatus === 'failed');\nexport const isPendingMessage = (\n message: SendableMessageType,\n): boolean => (message?.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: CoreMessageType): boolean => (\n message && (\n message['isAdminMessage'] && typeof message.isAdminMessage === 'function'\n ? message.isAdminMessage()\n : message?.messageType === 'admin'\n )\n);\nexport const isUserMessage = (message: CoreMessageType): boolean => (\n message && (\n message['isUserMessage'] && typeof message.isUserMessage === 'function'\n ? message.isUserMessage()\n : message?.messageType === 'user'\n )\n);\nexport const isFileMessage = (message: CoreMessageType): boolean => (\n message && (\n message['isFileMessage'] && typeof message.isFileMessage === 'function'\n ? message.isFileMessage()\n : message?.messageType === 'file'\n )\n);\nexport const isMultipleFilesMessage = (\n message: CoreMessageType,\n): boolean => (\n message && (\n message['isMultipleFilesMessage'] && typeof message.isMultipleFilesMessage === 'function'\n ? message.isMultipleFilesMessage()\n : (\n message.messageType === 'file'\n && Object.prototype.hasOwnProperty.call(this, 'fileInfoList')\n )\n )\n);\nexport const isParentMessage = (message: CoreMessageType): boolean => (\n !message.parentMessageId && !message.parentMessage && (message.threadInfo?.replyCount ?? 0) > 0\n);\nexport const isThreadMessage = (message: CoreMessageType): boolean => (\n !!message.parentMessageId && !!message.parentMessage\n);\nexport const isOGMessage = (message: SendableMessageType): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && (\n message.ogMetaData?.url\n || message.ogMetaData?.title\n || message.ogMetaData?.description\n || message.ogMetaData?.defaultImage\n )\n);\nexport const isTextMessage = (message: SendableMessageType): boolean => (\n isUserMessage(message)\n);\nexport const isThumbnailMessage = (message: SendableMessageType): boolean => (\n message && isFileMessage(message) && isSupportedFileView((message as FileMessage).type)\n);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: SendableMessageType): boolean => (\n message && isThumbnailMessage(message) && isVideo((message as FileMessage).type)\n);\nexport const isGifMessage = (message: SendableMessageType): boolean => (\n message && isThumbnailMessage(message) && isGif((message as FileMessage).type)\n);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\nexport const isAudioMessageMimeType = (type: string): boolean => (/^audio\\//.test(type));\nexport const isVoiceMessageMimeType = (type: string): boolean => (/^voice\\//.test(type));\nexport const isVoiceMessage = (message: Nullable<FileMessage | UserMessage>): boolean => {\n // ex) audio/m4a OR audio/m4a;sbu_type=voice\n if (!(message && isFileMessage(message)) || !(message as FileMessage).type) {\n return false;\n }\n const [mimeType, typeParameter] = (message as FileMessage).type.split(';');\n\n if (!isAudioMessageMimeType(mimeType)) {\n return false;\n }\n\n if (typeParameter) {\n const [key, value] = typeParameter.split('=');\n return key === 'sbu_type' && value === 'voice';\n }\n // ex) message.metaArrays = [{ key: 'KEY_INTERNAL_MESSAGE_TYPE', value: ['voice/m4a'] }]\n return isVoiceMessageMimeType(message?.metaArrays?.find((metaArray) => metaArray.key === 'KEY_INTERNAL_MESSAGE_TYPE')?.value?.[0] ?? '');\n};\n\nexport const isEditedMessage = (\n message: CoreMessageType,\n): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (\n message: CoreMessageType,\n): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n if (isThumbnailMessage(message as FileMessage)) {\n return UIKitMessageTypes.THUMBNAIL;\n }\n if (isVoiceMessage(message as FileMessage)) {\n return UIKitFileTypes.VOICE;\n }\n return UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (\n userId: string,\n message: SendableMessageType,\n): boolean => (\n !!(userId && message?.sender?.userId && userId === message.sender.userId)\n);\n\nconst URL_REG = /^((http|https):\\/\\/)?([a-z\\d]+\\.)+[a-z]{2,6}(\\:[0-9]{1,5})?(\\/[-a-zA-Z\\d%_.~+&=]*)*(\\?[;&a-zA-Z\\d%_.~+=-]*)?(\\#[-a-zA-Z\\d_]*)?$/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\n\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\nconst findEmojiUrl = (targetKey: string) => ({ key }) => key === targetKey;\nexport const getEmojiUrl = (emojiContainer?: EmojiContainer, emojiKey?: string): string => {\n const isFindingKey = findEmojiUrl(emojiKey ?? '');\n return emojiContainer?.emojiCategories\n .find((category) => category.emojis.some(isFindingKey))?.emojis\n .find(isFindingKey)\n ?.url || '';\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: SendableMessageType): string => (\n message?.sender && getUserName(message?.sender)\n);\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n};\nexport const isFriend = (user: Nullable<User>): boolean => {\n if (!user) return false;\n return !!(user.friendDiscoveryKey || user.friendName);\n};\n\nexport const filterMessageListParams = (\n params: MessageListParams,\n message: SendableMessageType,\n): boolean => {\n const { customTypesFilter = [] } = params;\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (customTypesFilter?.length > 0) {\n const customTypes = customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as SendableMessageType).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\nexport const filterChannelListParams = (params: GroupChannelListQuery, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n const searchFilter = params?.searchFilter;\n if (searchFilter?.query && (searchFilter?.fields?.length ?? 0) > 0) {\n const searchQuery = searchFilter.query;\n const searchFields = searchFilter.fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n const userIdsFilter = params?.userIdsFilter;\n if (userIdsFilter?.userIds?.length > 0) {\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => { // [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt,\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\n/**\n * @deprecated\n * use modules/message/utils/tokenize instead\n */\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray: Array<StringObj> = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","MULTIPLE_FILES","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","VOICE","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","_objectSpread","getUIKitFileType","isSentMessage","message","sendingStatus","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isFailedMessage","isPendingMessage","isSentStatus","state","SENT","DELIVERED","isAdminMessage","messageType","isUserMessage","isFileMessage","isThreadMessage","parentMessageId","parentMessage","isOGMessage","_message$ogMetaData","_message$ogMetaData2","_message$ogMetaData3","_message$ogMetaData4","ogMetaData","url","title","description","defaultImage","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isAudioMessageMimeType","test","isVoiceMessageMimeType","isVoiceMessage","_message$metaArrays$f","_message$metaArrays","_message$metaArrays$f2","_message$metaArrays$f3","mimeType","typeParameter","split","key","value","metaArrays","find","metaArray","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","_emojiContainer$emoji","emojiCategories","emojiCategory","emojis","prevArr","currArr","concat","getEmojiMapAll","_emojiContainer$emoji2","emojiMap","Map","forEach","category","_category$emojis","emoji","set","findEmojiUrl","targetKey","_ref","getEmojiUrl","emojiKey","_emojiContainer$emoji3","_emojiContainer$emoji4","isFindingKey","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","_params$senderUserIds","customTypesFilter","messageTypeFilter","customTypes","item","includes","customType","senderUserIdsFilter","_message$isUserMessag","_message$isFileMessag","call","_params$senderUserIds2","messageSender","includeParentMessageInfo","filterChannelListParams","currentUserId","_searchFilter$fields$","_searchFilter$fields","_userIdsFilter$userId","_params$customTypesFi","_channel$name2","_params$channelUrlsFi","includeEmpty","lastMessage","searchFilter","query","fields","searchQuery","searchFields","searchField","_channel$name","name","toLowerCase","_channel$members","members","member","userIdsFilter","_channel$members2","includeMode","queryType","memberIds","_channel$members3","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","_channel$members4","lowerCasedSubString","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","_channel$lastMessage2","ch","targetIndex","_channel$lastMessage","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","exec","endIndex","startIndex","normalText","normal","mentionedUser","mention","arrayEqual","array1","array2"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
5
|
-
var consts = require('./consts-
|
|
4
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-6da3edf9.js');
|
|
5
|
+
var consts = require('./consts-0337201b.js');
|
|
6
6
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -327,4 +327,4 @@ exports.AudioUnitDefaultValue = AudioUnitDefaultValue;
|
|
|
327
327
|
exports.VOICE_PLAYER_STATUS = VOICE_PLAYER_STATUS;
|
|
328
328
|
exports.VoicePlayerProvider = VoicePlayerProvider;
|
|
329
329
|
exports.useVoicePlayerContext = useVoicePlayerContext;
|
|
330
|
-
//# sourceMappingURL=index-
|
|
330
|
+
//# sourceMappingURL=index-ad47c0e4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-dbccd7fb.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","_state$audioStorage","groupKey","payload","audioUnit","_objectSpread","audioPlayer","_state$audioStorage2","_state$audioStorage3","currentTime","_state$audioStorage4","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","_ref","children","voicePlayerDispatcher","useReducer","config","useSendbirdStateContext","logger","text","arguments","length","undefined","includes","info","_ref2","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","_audioStorage$groupKe","cachedAudioFile","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","_URL","_URL$createObjectURL","currentAudioUnit","Audio","URL","createObjectURL","call","id","volume","loop","onplaying","onpause","ontimeupdate","dataset","sbGroupId","childNodes","forEach","node","_element$dataset","element","thisGroupKey","sbGroupKey","_element$pause","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-ad47c0e4.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","_state$audioStorage","groupKey","payload","audioUnit","_objectSpread","audioPlayer","_state$audioStorage2","_state$audioStorage3","currentTime","_state$audioStorage4","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","_ref","children","voicePlayerDispatcher","useReducer","config","useSendbirdStateContext","logger","text","arguments","length","undefined","includes","info","_ref2","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","_audioStorage$groupKe","cachedAudioFile","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","_URL","_URL$createObjectURL","currentAudioUnit","Audio","URL","createObjectURL","call","id","volume","loop","onplaying","onpause","ontimeupdate","dataset","sbGroupId","childNodes","forEach","node","_element$dataset","element","thisGroupKey","sbGroupKey","_element$pause","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_Modal = require('./ui/Modal.js');
|
|
5
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
5
|
+
var LocalizationContext = require('./LocalizationContext-fd85331f.js');
|
|
6
6
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
7
7
|
var ui_Input = require('./ui/Input.js');
|
|
8
8
|
var ui_Avatar = require('./ui/Avatar.js');
|
|
9
9
|
var ui_Icon = require('./ui/Icon.js');
|
|
10
10
|
var ui_Button = require('./ui/Button.js');
|
|
11
|
-
var ui_Label = require('./index-
|
|
11
|
+
var ui_Label = require('./index-bf35893c.js');
|
|
12
12
|
var ui_TextButton = require('./ui/TextButton.js');
|
|
13
|
-
var utils = require('./utils-
|
|
14
|
-
var actionTypes = require('./actionTypes-
|
|
13
|
+
var utils = require('./utils-6a3fe892.js');
|
|
14
|
+
var actionTypes = require('./actionTypes-b0cfb8a7.js');
|
|
15
15
|
|
|
16
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
17
|
|
|
@@ -168,4 +168,4 @@ function EditUserProfile() {
|
|
|
168
168
|
|
|
169
169
|
exports.EditUserProfile = EditUserProfile;
|
|
170
170
|
exports.EditUserProfileProvider = EditUserProfileProvider;
|
|
171
|
-
//# sourceMappingURL=index-
|
|
171
|
+
//# sourceMappingURL=index-b04632ba.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-87e11d7e.js","sources":["../../src/modules/EditUserProfile/context/EditUserProfIleProvider.tsx","../../src/modules/EditUserProfile/components/EditUserProfileUI/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport React, { useMemo } from 'react';\n\nconst EditUserProfileProviderContext = React.createContext(undefined);\n\nexport interface EditUserProfileProps {\n children?: React.ReactElement;\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nexport interface EditUserProfileProviderInterface {\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nconst EditUserProfileProvider: React.FC<EditUserProfileProps> = (props: EditUserProfileProps) => {\n const {\n children,\n onEditProfile,\n onCancel,\n onThemeChange,\n } = props;\n\n const value = useMemo(() => {\n return {\n onEditProfile,\n onCancel,\n onThemeChange,\n };\n }, []);\n\n return (\n <EditUserProfileProviderContext.Provider value={value}>\n {children}\n </EditUserProfileProviderContext.Provider>\n );\n};\n\nconst useEditUserProfileContext = (): EditUserProfileProviderInterface => (\n React.useContext(EditUserProfileProviderContext)\n);\n\nexport {\n EditUserProfileProvider,\n useEditUserProfileContext,\n};\n","import './edit-user-profile.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport { useEditUserProfileContext } from '../../context/EditUserProfIleProvider';\n\nimport Modal from '../../../../ui/Modal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Input, { InputLabel } from '../../../../ui/Input';\nimport Avatar from '../../../../ui/Avatar';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport Label, { LabelColors, LabelTypography } from '../../../../ui/Label';\nimport TextButton from '../../../../ui/TextButton';\nimport { noop } from '../../../../utils/utils';\nimport { USER_ACTIONS } from '../../../../lib/dux/user/actionTypes';\n\nexport default function EditUserProfile(): ReactElement {\n const editProfileProps = useEditUserProfileContext();\n const store = useSendbirdStateContext();\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n const {\n onEditProfile,\n onCancel,\n onThemeChange,\n } = editProfileProps;\n\n const theme = store?.config?.theme || 'light';\n const changeTheme = store?.config?.setCurrenttheme || noop;\n const user = store?.stores?.userStore?.user;\n const sdk = store?.stores?.sdkStore?.sdk;\n const userDispatcher = store?.dispatchers?.userDispatcher;\n\n return (\n <Modal\n titleText={stringSet.EDIT_PROFILE__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n type={ButtonTypes.PRIMARY}\n onCancel={onCancel}\n isFullScreenOnMobile\n onSubmit={() => {\n if (user?.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n sdk?.updateCurrentUserInfo({\n nickname: inputRef?.current?.value,\n profileImage: newFile,\n }).then((updatedUser) => {\n userDispatcher({ type: USER_ACTIONS.UPDATE_USER_INFO, payload: updatedUser });\n if (onEditProfile && typeof onEditProfile === 'function') {\n onEditProfile(updatedUser);\n }\n });\n }}\n >\n <form\n className=\"sendbird-edit-user-profile\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <section className=\"sendbird-edit-user-profile__img\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__img__avatar\">\n <Avatar\n width=\"80px\"\n height=\"80px\"\n src={currentImg || user?.profileUrl}\n />\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"sendbird-edit-user-profile__img__avatar-button\"\n disableUnderline\n onClick={() => hiddenInputRef.current.click()}\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.EDIT_PROFILE__IMAGE_UPLOAD}\n </Label>\n </TextButton>\n </section>\n <section className=\"sendbird-edit-user-profile__name\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n </InputLabel>\n <Input\n required={user?.nickname !== ''}\n name=\"sendbird-edit-user-profile__name__input\"\n ref={inputRef}\n value={user?.nickname}\n placeHolder={stringSet.EDIT_PROFILE__NICKNAME_PLACEHOLDER}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__userid\">\n <InputLabel>\n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n </InputLabel>\n <Input\n disabled\n name=\"sendbird-edit-user-profile__userid__input\"\n value={user?.userId}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__theme\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__THEME_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__theme__theme-icon\">\n {\n theme === 'dark'\n ? (\n <Icon\n onClick={() => {\n changeTheme('light');\n onThemeChange?.('light');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('light');\n // }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n changeTheme('dark');\n onThemeChange?.('dark');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('dark');\n // }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </section>\n </form>\n </Modal>\n );\n}\n"],"names":["EditUserProfileProviderContext","React","createContext","undefined","EditUserProfileProvider","props","children","onEditProfile","onCancel","onThemeChange","value","useMemo","createElement","Provider","useEditUserProfileContext","useContext","EditUserProfile","_store$config","_store$config2","_store$stores","_store$stores$userSto","_store$stores2","_store$stores2$sdkSto","_store$dispatchers","editProfileProps","store","useSendbirdStateContext","hiddenInputRef","useRef","inputRef","formRef","stringSet","LocalizationContext","currentImg","setCurrentImg","useState","newFile","setNewFile","theme","config","changeTheme","setCurrenttheme","noop","user","stores","userStore","sdk","sdkStore","userDispatcher","dispatchers","Modal","titleText","EDIT_PROFILE__TITLE","submitText","BUTTON__SAVE","type","ButtonTypes","PRIMARY","isFullScreenOnMobile","onSubmit","_inputRef$current","nickname","current","reportValidity","updateCurrentUserInfo","profileImage","then","updatedUser","USER_ACTIONS","UPDATE_USER_INFO","payload","className","ref","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","Avatar","width","height","src","profileUrl","accept","style","display","onChange","URL","createObjectURL","target","files","TextButton","disableUnderline","onClick","click","Label","LabelTypography","BUTTON_1","color","LabelColors","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","required","name","placeHolder","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","disabled","userId","EDIT_PROFILE__THEME_LABEL","Icon","IconTypes","TOGGLE_ON","TOGGLE_OFF"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-b04632ba.js","sources":["../../src/modules/EditUserProfile/context/EditUserProfIleProvider.tsx","../../src/modules/EditUserProfile/components/EditUserProfileUI/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport React, { useMemo } from 'react';\n\nconst EditUserProfileProviderContext = React.createContext(undefined);\n\nexport interface EditUserProfileProps {\n children?: React.ReactElement;\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nexport interface EditUserProfileProviderInterface {\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nconst EditUserProfileProvider: React.FC<EditUserProfileProps> = (props: EditUserProfileProps) => {\n const {\n children,\n onEditProfile,\n onCancel,\n onThemeChange,\n } = props;\n\n const value = useMemo(() => {\n return {\n onEditProfile,\n onCancel,\n onThemeChange,\n };\n }, []);\n\n return (\n <EditUserProfileProviderContext.Provider value={value}>\n {children}\n </EditUserProfileProviderContext.Provider>\n );\n};\n\nconst useEditUserProfileContext = (): EditUserProfileProviderInterface => (\n React.useContext(EditUserProfileProviderContext)\n);\n\nexport {\n EditUserProfileProvider,\n useEditUserProfileContext,\n};\n","import './edit-user-profile.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport { useEditUserProfileContext } from '../../context/EditUserProfIleProvider';\n\nimport Modal from '../../../../ui/Modal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Input, { InputLabel } from '../../../../ui/Input';\nimport Avatar from '../../../../ui/Avatar';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport Label, { LabelColors, LabelTypography } from '../../../../ui/Label';\nimport TextButton from '../../../../ui/TextButton';\nimport { noop } from '../../../../utils/utils';\nimport { USER_ACTIONS } from '../../../../lib/dux/user/actionTypes';\n\nexport default function EditUserProfile(): ReactElement {\n const editProfileProps = useEditUserProfileContext();\n const store = useSendbirdStateContext();\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n const {\n onEditProfile,\n onCancel,\n onThemeChange,\n } = editProfileProps;\n\n const theme = store?.config?.theme || 'light';\n const changeTheme = store?.config?.setCurrenttheme || noop;\n const user = store?.stores?.userStore?.user;\n const sdk = store?.stores?.sdkStore?.sdk;\n const userDispatcher = store?.dispatchers?.userDispatcher;\n\n return (\n <Modal\n titleText={stringSet.EDIT_PROFILE__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n type={ButtonTypes.PRIMARY}\n onCancel={onCancel}\n isFullScreenOnMobile\n onSubmit={() => {\n if (user?.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n sdk?.updateCurrentUserInfo({\n nickname: inputRef?.current?.value,\n profileImage: newFile,\n }).then((updatedUser) => {\n userDispatcher({ type: USER_ACTIONS.UPDATE_USER_INFO, payload: updatedUser });\n if (onEditProfile && typeof onEditProfile === 'function') {\n onEditProfile(updatedUser);\n }\n });\n }}\n >\n <form\n className=\"sendbird-edit-user-profile\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <section className=\"sendbird-edit-user-profile__img\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__img__avatar\">\n <Avatar\n width=\"80px\"\n height=\"80px\"\n src={currentImg || user?.profileUrl}\n />\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"sendbird-edit-user-profile__img__avatar-button\"\n disableUnderline\n onClick={() => hiddenInputRef.current.click()}\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.EDIT_PROFILE__IMAGE_UPLOAD}\n </Label>\n </TextButton>\n </section>\n <section className=\"sendbird-edit-user-profile__name\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n </InputLabel>\n <Input\n required={user?.nickname !== ''}\n name=\"sendbird-edit-user-profile__name__input\"\n ref={inputRef}\n value={user?.nickname}\n placeHolder={stringSet.EDIT_PROFILE__NICKNAME_PLACEHOLDER}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__userid\">\n <InputLabel>\n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n </InputLabel>\n <Input\n disabled\n name=\"sendbird-edit-user-profile__userid__input\"\n value={user?.userId}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__theme\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__THEME_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__theme__theme-icon\">\n {\n theme === 'dark'\n ? (\n <Icon\n onClick={() => {\n changeTheme('light');\n onThemeChange?.('light');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('light');\n // }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n changeTheme('dark');\n onThemeChange?.('dark');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('dark');\n // }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </section>\n </form>\n </Modal>\n );\n}\n"],"names":["EditUserProfileProviderContext","React","createContext","undefined","EditUserProfileProvider","props","children","onEditProfile","onCancel","onThemeChange","value","useMemo","createElement","Provider","useEditUserProfileContext","useContext","EditUserProfile","_store$config","_store$config2","_store$stores","_store$stores$userSto","_store$stores2","_store$stores2$sdkSto","_store$dispatchers","editProfileProps","store","useSendbirdStateContext","hiddenInputRef","useRef","inputRef","formRef","stringSet","LocalizationContext","currentImg","setCurrentImg","useState","newFile","setNewFile","theme","config","changeTheme","setCurrenttheme","noop","user","stores","userStore","sdk","sdkStore","userDispatcher","dispatchers","Modal","titleText","EDIT_PROFILE__TITLE","submitText","BUTTON__SAVE","type","ButtonTypes","PRIMARY","isFullScreenOnMobile","onSubmit","_inputRef$current","nickname","current","reportValidity","updateCurrentUserInfo","profileImage","then","updatedUser","USER_ACTIONS","UPDATE_USER_INFO","payload","className","ref","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","Avatar","width","height","src","profileUrl","accept","style","display","onChange","URL","createObjectURL","target","files","TextButton","disableUnderline","onClick","click","Label","LabelTypography","BUTTON_1","color","LabelColors","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","required","name","placeHolder","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","disabled","userId","EDIT_PROFILE__THEME_LABEL","Icon","IconTypes","TOGGLE_ON","TOGGLE_OFF"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var PropTypes = require('prop-types');
|
|
5
|
-
var stringSet = require('./stringSet-
|
|
5
|
+
var stringSet = require('./stringSet-dfe78bcf.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -126,4 +126,4 @@ exports.LabelColors = LabelColors;
|
|
|
126
126
|
exports.LabelStringSet = LabelStringSet;
|
|
127
127
|
exports.LabelTypography = LabelTypography;
|
|
128
128
|
exports.changeColorToClassName = changeColorToClassName;
|
|
129
|
-
//# sourceMappingURL=index-
|
|
129
|
+
//# sourceMappingURL=index-bf35893c.js.map
|