@sendbird/uikit-react 3.3.7 → 3.4.0-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 +60 -34
- package/App.js.map +1 -1
- package/CHANGELOG.md +150 -0
- package/Channel/components/ChannelHeader.js +20 -18
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +48 -29
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -14
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +33 -24
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +62 -20
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +36 -27
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +21 -17
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +17 -16
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +15 -14
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -13
- package/Channel/context.js.map +1 -1
- package/Channel.js +43 -28
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +29 -28
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -25
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +29 -28
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-eb4708a3.js → ChannelListProvider-3c78429f.js} +8 -8
- package/{ChannelListProvider-eb4708a3.js.map → ChannelListProvider-3c78429f.js.map} +1 -1
- package/{ChannelProvider-1e540c0e.js → ChannelProvider-1d70b8a0.js} +88 -13
- package/ChannelProvider-1d70b8a0.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +18 -15
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-ed2e3cb4.js → CreateChannelProvider-946fb371.js} +1 -1
- package/{CreateChannelProvider-ed2e3cb4.js.map → CreateChannelProvider-946fb371.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -10
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-4c2faa9a.js → LocalizationContext-539093a9.js} +3 -3
- package/{LocalizationContext-4c2faa9a.js.map → LocalizationContext-539093a9.js.map} +1 -1
- package/{MediaQueryContext-97a21b7e.js → MediaQueryContext-79c8ad08.js} +1 -1
- package/{MediaQueryContext-97a21b7e.js.map → MediaQueryContext-79c8ad08.js.map} +1 -1
- package/{MemberList-6483a7db.js → MemberList-1350e670.js} +10 -7
- package/MemberList-1350e670.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +13 -11
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +13 -11
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/OpenChannel/components/OpenChannelInput.js +16 -15
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/OpenChannel/components/OpenChannelUI.js +24 -24
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +24 -24
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-95808e48.js → OpenChannelListProvider-64e2ca27.js} +3 -3
- package/{OpenChannelListProvider-95808e48.js.map → OpenChannelListProvider-64e2ca27.js.map} +1 -1
- package/{OpenChannelProvider-e3137432.js → OpenChannelProvider-5a54a791.js} +7 -7
- package/{OpenChannelProvider-e3137432.js.map → OpenChannelProvider-5a54a791.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/README.md +8 -0
- package/{RemoveMessageModal-0baf3553.js → RemoveMessageModal-cd536405.js} +3 -3
- package/{RemoveMessageModal-0baf3553.js.map → RemoveMessageModal-cd536405.js.map} +1 -1
- package/SendbirdProvider.js +29 -11
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +32 -22
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +33 -16
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +33 -24
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +40 -25
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +71 -21
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +49 -31
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +9 -8
- package/Thread/context.js.map +1 -1
- package/Thread.js +47 -29
- package/Thread.js.map +1 -1
- package/{ThreadProvider-a1413f01.js → ThreadProvider-9f8652df.js} +91 -11
- package/ThreadProvider-9f8652df.js.map +1 -0
- package/{UserProfileContext-e5d90f15.js → UserProfileContext-bd8525b7.js} +1 -1
- package/{UserProfileContext-e5d90f15.js.map → UserProfileContext-bd8525b7.js.map} +1 -1
- package/VoiceMessageInputWrapper-b149ff89.js +173 -0
- package/VoiceMessageInputWrapper-b149ff89.js.map +1 -0
- package/VoicePlayer/context.js +5 -0
- package/VoicePlayer/context.js.map +1 -0
- package/VoicePlayer/useVoicePlayer.js +87 -0
- package/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/VoiceRecorder/context.js +243 -0
- package/VoiceRecorder/context.js.map +1 -0
- package/VoiceRecorder/useVoiceRecorder.js +117 -0
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/{_rollupPluginBabelHelpers-b45d3824.js → _rollupPluginBabelHelpers-09618dc3.js} +1 -1
- package/_rollupPluginBabelHelpers-09618dc3.js.map +1 -0
- package/{actionTypes-c69daac1.js → actionTypes-0dd0c34b.js} +1 -1
- package/{actionTypes-c69daac1.js.map → actionTypes-0dd0c34b.js.map} +1 -1
- package/cjs/App.js +60 -34
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +20 -18
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +48 -29
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -14
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +33 -24
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +62 -20
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +36 -27
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +21 -17
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +17 -16
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +15 -14
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -13
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +43 -28
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +29 -28
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -25
- 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 +29 -28
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-94df9f01.js → ChannelListProvider-7df03e2a.js} +8 -8
- package/cjs/{ChannelListProvider-94df9f01.js.map → ChannelListProvider-7df03e2a.js.map} +1 -1
- package/cjs/{ChannelProvider-3fbf7c5e.js → ChannelProvider-56b10dd6.js} +87 -12
- package/cjs/ChannelProvider-56b10dd6.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +18 -15
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-70422add.js → CreateChannelProvider-359f35d1.js} +1 -1
- package/cjs/{CreateChannelProvider-70422add.js.map → CreateChannelProvider-359f35d1.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -10
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-a0f833e9.js → LocalizationContext-7d2c13ee.js} +3 -3
- package/cjs/{LocalizationContext-a0f833e9.js.map → LocalizationContext-7d2c13ee.js.map} +1 -1
- package/cjs/{MediaQueryContext-770ae8bc.js → MediaQueryContext-36855cf6.js} +1 -1
- package/cjs/{MediaQueryContext-770ae8bc.js.map → MediaQueryContext-36855cf6.js.map} +1 -1
- package/cjs/{MemberList-4a0910dd.js → MemberList-cf4488bc.js} +10 -7
- package/cjs/MemberList-cf4488bc.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +13 -11
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +13 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -15
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +24 -24
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-e97c8ed9.js → OpenChannelListProvider-d0e494e8.js} +3 -3
- package/cjs/{OpenChannelListProvider-e97c8ed9.js.map → OpenChannelListProvider-d0e494e8.js.map} +1 -1
- package/cjs/{OpenChannelProvider-9b453ac0.js → OpenChannelProvider-84d45a52.js} +7 -7
- package/cjs/{OpenChannelProvider-9b453ac0.js.map → OpenChannelProvider-84d45a52.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/{RemoveMessageModal-7bde69be.js → RemoveMessageModal-44018509.js} +3 -3
- package/cjs/{RemoveMessageModal-7bde69be.js.map → RemoveMessageModal-44018509.js.map} +1 -1
- package/cjs/SendbirdProvider.js +29 -11
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +34 -24
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +33 -16
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +33 -24
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +41 -26
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +73 -23
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +49 -31
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +9 -8
- package/cjs/Thread/context.js.map +1 -1
- package/cjs/Thread.js +47 -29
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-71441c16.js → ThreadProvider-e8591a61.js} +90 -10
- package/cjs/ThreadProvider-e8591a61.js.map +1 -0
- package/cjs/{UserProfileContext-74e6409b.js → UserProfileContext-89b8a98d.js} +1 -1
- package/cjs/{UserProfileContext-74e6409b.js.map → UserProfileContext-89b8a98d.js.map} +1 -1
- package/cjs/VoiceMessageInputWrapper-6d309e8c.js +179 -0
- package/cjs/VoiceMessageInputWrapper-6d309e8c.js.map +1 -0
- package/cjs/VoicePlayer/context.js +14 -0
- package/cjs/VoicePlayer/context.js.map +1 -0
- package/cjs/VoicePlayer/useVoicePlayer.js +91 -0
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/cjs/VoiceRecorder/context.js +253 -0
- package/cjs/VoiceRecorder/context.js.map +1 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js +122 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-25763ef8.js → _rollupPluginBabelHelpers-9807f0cb.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-9807f0cb.js.map +1 -0
- package/cjs/{actionTypes-85a652e4.js → actionTypes-64f969d0.js} +1 -1
- package/cjs/{actionTypes-85a652e4.js.map → actionTypes-64f969d0.js.map} +1 -1
- package/cjs/{color-51fd9a0c.js → color-ae15b40e.js} +1 -1
- package/cjs/{color-51fd9a0c.js.map → color-ae15b40e.js.map} +1 -1
- package/cjs/{compareIds-44844f10.js → compareIds-88a3abee.js} +1 -1
- package/cjs/{compareIds-44844f10.js.map → compareIds-88a3abee.js.map} +1 -1
- package/cjs/{const-4761421a.js → const-6d993a66.js} +1 -1
- package/cjs/{const-4761421a.js.map → const-6d993a66.js.map} +1 -1
- package/cjs/{const-618dd4f4.js → const-98ae036e.js} +1 -1
- package/cjs/{const-618dd4f4.js.map → const-98ae036e.js.map} +1 -1
- package/cjs/consts-7142bdfe.js +36 -0
- package/cjs/consts-7142bdfe.js.map +1 -0
- package/cjs/{context-4b1de73e.js → context-9f945182.js} +2 -2
- package/cjs/{context-4b1de73e.js.map → context-9f945182.js.map} +1 -1
- package/cjs/dist/index.css +413 -16
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-32b39be6.js → index-1f2ac00b.js} +5 -5
- package/cjs/{index-32b39be6.js.map → index-1f2ac00b.js.map} +1 -1
- package/cjs/{index-4dc29990.js → index-31135e46.js} +1 -1
- package/cjs/{index-4dc29990.js.map → index-31135e46.js.map} +1 -1
- package/cjs/{index-9f6a474c.js → index-318ca5bb.js} +2 -2
- package/cjs/{index-9f6a474c.js.map → index-318ca5bb.js.map} +1 -1
- package/cjs/{index-0e76934f.js → index-45c199d5.js} +8 -8
- package/cjs/index-45c199d5.js.map +1 -0
- package/cjs/{index-bfe8bdde.js → index-6691da2c.js} +49 -3
- package/cjs/index-6691da2c.js.map +1 -0
- package/cjs/{index-97532335.js → index-80ec94b9.js} +2 -2
- package/cjs/{index-97532335.js.map → index-80ec94b9.js.map} +1 -1
- package/cjs/{index-2c095d94.js → index-86b55059.js} +2 -2
- package/cjs/{index-2c095d94.js.map → index-86b55059.js.map} +1 -1
- package/cjs/{index-c4738d8b.js → index-9d2d5d23.js} +3 -3
- package/cjs/{index-c4738d8b.js.map → index-9d2d5d23.js.map} +1 -1
- package/cjs/{index-756baf20.js → index-9f074bb0.js} +7 -7
- package/cjs/{index-756baf20.js.map → index-9f074bb0.js.map} +1 -1
- package/cjs/{index-4d6f2a4e.js → index-a34a53d3.js} +4 -4
- package/cjs/{index-4d6f2a4e.js.map → index-a34a53d3.js.map} +1 -1
- package/cjs/{index-67134275.js → index-c34f34a2.js} +2 -2
- package/cjs/{index-67134275.js.map → index-c34f34a2.js.map} +1 -1
- package/cjs/index-e0971532.js +280 -0
- package/cjs/index-e0971532.js.map +1 -0
- package/cjs/index-fa531baa.js +175 -0
- package/cjs/index-fa531baa.js.map +1 -0
- package/cjs/{index-7d4e7ad9.js → index-fb42d34c.js} +1 -1
- package/cjs/{index-7d4e7ad9.js.map → index-fb42d34c.js.map} +1 -1
- package/cjs/index.js +51 -39
- package/cjs/index.js.map +1 -1
- package/cjs/lame.all.js +14498 -0
- package/cjs/lame.all.js.map +1 -0
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-87e51d08.js → stringSet-d4071e23.js} +5 -1
- package/cjs/stringSet-d4071e23.js.map +1 -0
- package/cjs/{topics-d9091126.js → topics-7108f68f.js} +1 -1
- package/cjs/{topics-d9091126.js.map → topics-7108f68f.js.map} +1 -1
- package/cjs/{tslib.es6-0b4c49f8.js → tslib.es6-23b4ef32.js} +1 -1
- package/cjs/{tslib.es6-0b4c49f8.js.map → tslib.es6-23b4ef32.js.map} +1 -1
- package/cjs/types-8f7bbb00.js +11 -0
- package/cjs/types-8f7bbb00.js.map +1 -0
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/Icon.js +354 -314
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MessageContent.js +35 -20
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +35 -16
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +9 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +17 -14
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +36 -26
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/PlaybackTime.js +36 -0
- package/cjs/ui/PlaybackTime.js.map +1 -0
- package/cjs/ui/ProgressBar.js +41 -0
- package/cjs/ui/ProgressBar.js.map +1 -0
- package/cjs/ui/QuoteMessage.js +14 -8
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +12 -11
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +10 -10
- package/cjs/ui/VoiceMessageItemBody.js +119 -0
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
- package/cjs/ui/VoiceMessgeInput.js +23 -0
- package/cjs/ui/VoiceMessgeInput.js.map +1 -0
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-ff6353a1.js → useLongPress-62a89444.js} +3 -3
- package/cjs/{useLongPress-ff6353a1.js.map → useLongPress-62a89444.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +10 -0
- package/cjs/utils/message/isVoiceMessage.js.map +1 -0
- package/cjs/{utils-aa1597cc.js → utils-178ccede.js} +1 -1
- package/cjs/{utils-aa1597cc.js.map → utils-178ccede.js.map} +1 -1
- package/cjs/{utils-edb40a10.js → utils-41fef560.js} +2 -2
- package/cjs/{utils-edb40a10.js.map → utils-41fef560.js.map} +1 -1
- package/cjs/{utils-c948ddfe.js → utils-7bec6eaa.js} +1 -1
- package/cjs/{utils-c948ddfe.js.map → utils-7bec6eaa.js.map} +1 -1
- package/cjs/{utils-72ab488f.js → utils-b691a058.js} +1 -1
- package/cjs/{utils-72ab488f.js.map → utils-b691a058.js.map} +1 -1
- package/cjs/{uuid-0b5f4e5e.js → uuid-42040a5c.js} +1 -1
- package/cjs/{uuid-0b5f4e5e.js.map → uuid-42040a5c.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-1b42e49d.js → color-f2370c85.js} +1 -1
- package/{color-1b42e49d.js.map → color-f2370c85.js.map} +1 -1
- package/{compareIds-df760ae2.js → compareIds-a4557492.js} +1 -1
- package/{compareIds-df760ae2.js.map → compareIds-a4557492.js.map} +1 -1
- package/{const-c269fd32.js → const-593595f5.js} +1 -1
- package/{const-c269fd32.js.map → const-593595f5.js.map} +1 -1
- package/{const-11ae0dd9.js → const-ce447fcf.js} +1 -1
- package/{const-11ae0dd9.js.map → const-ce447fcf.js.map} +1 -1
- package/consts-d2d25dac.js +23 -0
- package/consts-d2d25dac.js.map +1 -0
- package/{context-2c35a852.js → context-95839b09.js} +2 -2
- package/{context-2c35a852.js.map → context-95839b09.js.map} +1 -1
- package/dist/index.css +413 -16
- package/dist/index.css.map +1 -1
- package/{index-6a8be188.js → index-2aaa784a.js} +7 -7
- package/{index-6a8be188.js.map → index-2aaa784a.js.map} +1 -1
- package/{index-e2994193.js → index-4a977e7d.js} +2 -2
- package/{index-e2994193.js.map → index-4a977e7d.js.map} +1 -1
- package/{index-6491c190.js → index-4b51e7af.js} +5 -5
- package/{index-6491c190.js.map → index-4b51e7af.js.map} +1 -1
- package/{index-30726ee1.js → index-4c6a2064.js} +2 -2
- package/{index-30726ee1.js.map → index-4c6a2064.js.map} +1 -1
- package/index-60d3992b.js +271 -0
- package/index-60d3992b.js.map +1 -0
- package/{index-8c38f9d0.js → index-620331eb.js} +2 -2
- package/{index-8c38f9d0.js.map → index-620331eb.js.map} +1 -1
- package/index-7b5efb26.js +168 -0
- package/index-7b5efb26.js.map +1 -0
- package/{index-a53d78b6.js → index-999fdb64.js} +1 -1
- package/{index-a53d78b6.js.map → index-999fdb64.js.map} +1 -1
- package/{index-1f0b91f3.js → index-9c2d0ccd.js} +2 -2
- package/{index-1f0b91f3.js.map → index-9c2d0ccd.js.map} +1 -1
- package/{index-fd5a03a3.js → index-b8e990b4.js} +1 -1
- package/{index-fd5a03a3.js.map → index-b8e990b4.js.map} +1 -1
- package/{index-425e5f17.js → index-bbab31f0.js} +48 -4
- package/index-bbab31f0.js.map +1 -0
- package/{index-aa4edbe2.js → index-daccde5e.js} +8 -8
- package/index-daccde5e.js.map +1 -0
- package/{index-6d541758.js → index-ed1f765b.js} +3 -3
- package/{index-6d541758.js.map → index-ed1f765b.js.map} +1 -1
- package/{index-aecdd02c.js → index-eefaf935.js} +4 -4
- package/{index-aecdd02c.js.map → index-eefaf935.js.map} +1 -1
- package/index.d.ts +16 -1
- package/index.js +51 -39
- package/index.js.map +1 -1
- package/lame.all.js +14492 -0
- package/lame.all.js.map +1 -0
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-c2443946.js → stringSet-f9763488.js} +5 -1
- package/stringSet-f9763488.js.map +1 -0
- package/{topics-0ba43ee8.js → topics-1ec669f0.js} +1 -1
- package/{topics-0ba43ee8.js.map → topics-1ec669f0.js.map} +1 -1
- package/{tslib.es6-13412863.js → tslib.es6-fc4a2658.js} +1 -1
- package/{tslib.es6-13412863.js.map → tslib.es6-fc4a2658.js.map} +1 -1
- package/types-e86f9fca.js +9 -0
- package/types-e86f9fca.js.map +1 -0
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/Icon.js +341 -299
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MessageContent.js +35 -20
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +35 -16
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +9 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +17 -14
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +37 -27
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +27 -0
- package/ui/PlaybackTime.js.map +1 -0
- package/ui/ProgressBar.js +31 -0
- package/ui/ProgressBar.js.map +1 -0
- package/ui/QuoteMessage.js +14 -8
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +12 -11
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +10 -10
- package/ui/VoiceMessageItemBody.js +110 -0
- package/ui/VoiceMessageItemBody.js.map +1 -0
- package/ui/VoiceMessgeInput.js +15 -0
- package/ui/VoiceMessgeInput.js.map +1 -0
- package/ui/Word.js +11 -11
- package/{useLongPress-fbe83e54.js → useLongPress-6fc8312a.js} +3 -3
- package/{useLongPress-fbe83e54.js.map → useLongPress-6fc8312a.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +7 -0
- package/utils/message/isVoiceMessage.js.map +1 -0
- package/{utils-87d19647.js → utils-2570c397.js} +1 -1
- package/{utils-87d19647.js.map → utils-2570c397.js.map} +1 -1
- package/{utils-dd13f89e.js → utils-6c7dd397.js} +1 -1
- package/{utils-dd13f89e.js.map → utils-6c7dd397.js.map} +1 -1
- package/{utils-9c95a786.js → utils-8c242c8c.js} +2 -2
- package/{utils-9c95a786.js.map → utils-8c242c8c.js.map} +1 -1
- package/{utils-87dce5dd.js → utils-c1d219fa.js} +1 -1
- package/{utils-87dce5dd.js.map → utils-c1d219fa.js.map} +1 -1
- package/{uuid-7a5e68ed.js → uuid-6ca64623.js} +1 -1
- package/{uuid-7a5e68ed.js.map → uuid-6ca64623.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-1e540c0e.js.map +0 -1
- package/MemberList-6483a7db.js.map +0 -1
- package/ThreadProvider-a1413f01.js.map +0 -1
- package/_rollupPluginBabelHelpers-b45d3824.js.map +0 -1
- package/cjs/ChannelProvider-3fbf7c5e.js.map +0 -1
- package/cjs/MemberList-4a0910dd.js.map +0 -1
- package/cjs/ThreadProvider-71441c16.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-25763ef8.js.map +0 -1
- package/cjs/index-0e76934f.js.map +0 -1
- package/cjs/index-bfe8bdde.js.map +0 -1
- package/cjs/stringSet-87e51d08.js.map +0 -1
- package/index-425e5f17.js.map +0 -1
- package/index-aa4edbe2.js.map +0 -1
- package/stringSet-c2443946.js.map +0 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var tslib_es6 = require('./tslib.es6-23b4ef32.js');
|
|
5
|
+
var consts = require('./consts-7142bdfe.js');
|
|
6
|
+
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
+
|
|
9
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
|
+
|
|
11
|
+
var INITIALIZE_AUDIO_UNIT = 'INITIALIZE_AUDIO_UNIT';
|
|
12
|
+
var SET_CURRENT_PLAYER = 'SET_CURRENT_PLAYER';
|
|
13
|
+
var ON_VOICE_PLAYER_PLAY = 'ON_VOICE_PLAYER_PLAY';
|
|
14
|
+
var ON_VOICE_PLAYER_PAUSE = 'ON_VOICE_PLAYER_PAUSE';
|
|
15
|
+
var ON_CURRENT_TIME_UPDATE = 'ON_CURRENT_TIME_UPDATE';
|
|
16
|
+
|
|
17
|
+
var VoicePlayerStatus = {
|
|
18
|
+
IDLE: 'IDLE',
|
|
19
|
+
PREPARING: 'PREPARING',
|
|
20
|
+
PLAYING: 'PLAYING',
|
|
21
|
+
PAUSED: 'PAUSED',
|
|
22
|
+
COMPLETED: 'COMPLETED'
|
|
23
|
+
};
|
|
24
|
+
var AudioUnitDefaultValue = function () {
|
|
25
|
+
return {
|
|
26
|
+
audioFile: null,
|
|
27
|
+
playbackTime: 0,
|
|
28
|
+
duration: 1000,
|
|
29
|
+
playingStatus: VoicePlayerStatus.IDLE
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
var voicePlayerInitialState = {
|
|
33
|
+
currentPlayer: null,
|
|
34
|
+
currentGroupKey: '',
|
|
35
|
+
audioStorage: {}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
function voicePlayerReducer(state, action) {
|
|
39
|
+
var _a, _b, _c, _d;
|
|
40
|
+
|
|
41
|
+
var _e, _f, _g, _h;
|
|
42
|
+
|
|
43
|
+
switch (action.type) {
|
|
44
|
+
case INITIALIZE_AUDIO_UNIT:
|
|
45
|
+
{
|
|
46
|
+
var groupKey = action.payload.groupKey;
|
|
47
|
+
var audioUnit = ((_e = state.audioStorage) === null || _e === void 0 ? void 0 : _e[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
|
|
48
|
+
audioUnit.playingStatus = VoicePlayerStatus.PREPARING;
|
|
49
|
+
return tslib_es6.__assign(tslib_es6.__assign({}, state), {
|
|
50
|
+
audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_a = {}, _a[groupKey] = audioUnit, _a))
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
case SET_CURRENT_PLAYER:
|
|
55
|
+
{
|
|
56
|
+
var _j = action.payload,
|
|
57
|
+
audioPlayer = _j.audioPlayer,
|
|
58
|
+
groupKey = _j.groupKey;
|
|
59
|
+
return tslib_es6.__assign(tslib_es6.__assign({}, state), {
|
|
60
|
+
currentPlayer: audioPlayer,
|
|
61
|
+
currentGroupKey: groupKey
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
case ON_VOICE_PLAYER_PLAY:
|
|
66
|
+
{
|
|
67
|
+
var _k = action.payload,
|
|
68
|
+
groupKey = _k.groupKey,
|
|
69
|
+
audioFile = _k.audioFile;
|
|
70
|
+
var audioUnit = ((_f = state.audioStorage) === null || _f === void 0 ? void 0 : _f[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
|
|
71
|
+
audioUnit.audioFile = audioFile;
|
|
72
|
+
audioUnit.playingStatus = VoicePlayerStatus.PLAYING;
|
|
73
|
+
return tslib_es6.__assign(tslib_es6.__assign({}, state), {
|
|
74
|
+
audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_b = {}, _b[groupKey] = audioUnit, _b))
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
case ON_VOICE_PLAYER_PAUSE:
|
|
79
|
+
{
|
|
80
|
+
var groupKey = action.payload.groupKey;
|
|
81
|
+
var audioUnit = ((_g = state.audioStorage) === null || _g === void 0 ? void 0 : _g[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
|
|
82
|
+
audioUnit.playingStatus = VoicePlayerStatus.PAUSED;
|
|
83
|
+
var _l = state.currentPlayer,
|
|
84
|
+
currentTime = _l.currentTime,
|
|
85
|
+
duration = _l.duration;
|
|
86
|
+
|
|
87
|
+
if (audioUnit.playbackTime === audioUnit.duration) {
|
|
88
|
+
audioUnit.playbackTime = 0;
|
|
89
|
+
} else if (currentTime > 0 && duration > 0) {
|
|
90
|
+
audioUnit.playbackTime = currentTime;
|
|
91
|
+
audioUnit.duration = duration;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return tslib_es6.__assign(tslib_es6.__assign({}, state), {
|
|
95
|
+
audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_c = {}, _c[groupKey] = audioUnit, _c))
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
case ON_CURRENT_TIME_UPDATE:
|
|
100
|
+
{
|
|
101
|
+
var groupKey = action.payload.groupKey;
|
|
102
|
+
var _m = state.currentPlayer,
|
|
103
|
+
currentTime = _m.currentTime,
|
|
104
|
+
duration = _m.duration;
|
|
105
|
+
var audioUnit = ((_h = state.audioStorage) === null || _h === void 0 ? void 0 : _h[groupKey]) ? state.audioStorage[groupKey] : AudioUnitDefaultValue();
|
|
106
|
+
|
|
107
|
+
if (currentTime > 0 && duration > 0) {
|
|
108
|
+
audioUnit.playbackTime = currentTime;
|
|
109
|
+
audioUnit.duration = duration;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return tslib_es6.__assign(tslib_es6.__assign({}, state), {
|
|
113
|
+
audioStorage: tslib_es6.__assign(tslib_es6.__assign({}, state.audioStorage), (_d = {}, _d[groupKey] = audioUnit, _d))
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
default:
|
|
118
|
+
return state;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
var noop = function () {};
|
|
123
|
+
|
|
124
|
+
var VoicePlayerStoreDefaultValue = {
|
|
125
|
+
currentGroupKey: '',
|
|
126
|
+
currentPlayer: null,
|
|
127
|
+
audioStorage: {}
|
|
128
|
+
};
|
|
129
|
+
var VoicePlayerContext = /*#__PURE__*/React.createContext({
|
|
130
|
+
play: noop,
|
|
131
|
+
pause: noop,
|
|
132
|
+
stop: noop,
|
|
133
|
+
voicePlayerStore: VoicePlayerStoreDefaultValue
|
|
134
|
+
});
|
|
135
|
+
var VoicePlayerProvider = function (_a) {
|
|
136
|
+
var children = _a.children;
|
|
137
|
+
|
|
138
|
+
var _b = React.useReducer(voicePlayerReducer, voicePlayerInitialState),
|
|
139
|
+
voicePlayerStore = _b[0],
|
|
140
|
+
voicePlayerDispatcher = _b[1];
|
|
141
|
+
|
|
142
|
+
var currentGroupKey = voicePlayerStore.currentGroupKey,
|
|
143
|
+
currentPlayer = voicePlayerStore.currentPlayer,
|
|
144
|
+
audioStorage = voicePlayerStore.audioStorage;
|
|
145
|
+
|
|
146
|
+
var stop = function (text) {
|
|
147
|
+
if (text === void 0) {
|
|
148
|
+
text = '';
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (currentGroupKey.includes(text)) {
|
|
152
|
+
pause(currentGroupKey);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
var pause = function (groupKey) {
|
|
157
|
+
if (currentGroupKey === groupKey && currentPlayer !== null) {
|
|
158
|
+
currentPlayer === null || currentPlayer === void 0 ? void 0 : currentPlayer.pause();
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
var play = function (_a) {
|
|
163
|
+
var groupKey = _a.groupKey,
|
|
164
|
+
_b = _a.audioFile,
|
|
165
|
+
audioFile = _b === void 0 ? null : _b,
|
|
166
|
+
_c = _a.audioFileUrl,
|
|
167
|
+
audioFileUrl = _c === void 0 ? '' : _c;
|
|
168
|
+
|
|
169
|
+
if (groupKey !== currentGroupKey) {
|
|
170
|
+
pause(currentGroupKey);
|
|
171
|
+
} // Clear the previous AudioPlayer element
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
var voicePlayerRoot = document.getElementById(consts.VOICE_PLAYER_ROOT_ID);
|
|
175
|
+
var voicePlayerAudioElement = document.getElementById(consts.VOICE_PLAYER_AUDIO_ID);
|
|
176
|
+
|
|
177
|
+
if (voicePlayerAudioElement) {
|
|
178
|
+
voicePlayerRoot.removeChild(voicePlayerAudioElement);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
new Promise(function (resolve) {
|
|
182
|
+
var _a;
|
|
183
|
+
|
|
184
|
+
if (audioFile) {
|
|
185
|
+
resolve(audioFile);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if ((_a = audioStorage === null || audioStorage === void 0 ? void 0 : audioStorage[groupKey]) === null || _a === void 0 ? void 0 : _a.audioFile) {
|
|
189
|
+
resolve(audioStorage[groupKey].audioFile);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
voicePlayerDispatcher({
|
|
193
|
+
type: INITIALIZE_AUDIO_UNIT,
|
|
194
|
+
payload: {
|
|
195
|
+
groupKey: groupKey
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
fetch(audioFileUrl).then(function (res) {
|
|
199
|
+
return res.blob();
|
|
200
|
+
}).then(function (blob) {
|
|
201
|
+
var audioFile = new File([blob], consts.VOICE_MESSAGE_FILE_NAME, {
|
|
202
|
+
lastModified: new Date().getTime(),
|
|
203
|
+
type: consts.VOICE_MESSAGE_MIME_TYPE
|
|
204
|
+
});
|
|
205
|
+
resolve(audioFile);
|
|
206
|
+
});
|
|
207
|
+
}).then(function (audioFile) {
|
|
208
|
+
var _a;
|
|
209
|
+
|
|
210
|
+
var currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue();
|
|
211
|
+
var audioPlayer = new Audio((_a = URL === null || URL === void 0 ? void 0 : URL.createObjectURL) === null || _a === void 0 ? void 0 : _a.call(URL, audioFile));
|
|
212
|
+
audioPlayer.id = consts.VOICE_PLAYER_AUDIO_ID;
|
|
213
|
+
audioPlayer.currentTime = currentAudioUnit.playbackTime;
|
|
214
|
+
audioPlayer.volume = 1;
|
|
215
|
+
audioPlayer.loop = false;
|
|
216
|
+
|
|
217
|
+
audioPlayer.onplaying = function () {
|
|
218
|
+
voicePlayerDispatcher({
|
|
219
|
+
type: ON_VOICE_PLAYER_PLAY,
|
|
220
|
+
payload: {
|
|
221
|
+
groupKey: groupKey,
|
|
222
|
+
audioFile: audioFile
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
audioPlayer.onpause = function () {
|
|
228
|
+
voicePlayerDispatcher({
|
|
229
|
+
type: ON_VOICE_PLAYER_PAUSE,
|
|
230
|
+
payload: {
|
|
231
|
+
groupKey: groupKey
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
audioPlayer.ontimeupdate = function () {
|
|
237
|
+
voicePlayerDispatcher({
|
|
238
|
+
type: ON_CURRENT_TIME_UPDATE,
|
|
239
|
+
payload: {
|
|
240
|
+
groupKey: groupKey
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
audioPlayer === null || audioPlayer === void 0 ? void 0 : audioPlayer.play();
|
|
246
|
+
var voicePlayerRoot = document.getElementById(consts.VOICE_PLAYER_ROOT_ID);
|
|
247
|
+
voicePlayerRoot.appendChild(audioPlayer);
|
|
248
|
+
voicePlayerDispatcher({
|
|
249
|
+
type: SET_CURRENT_PLAYER,
|
|
250
|
+
payload: {
|
|
251
|
+
groupKey: groupKey,
|
|
252
|
+
audioPlayer: audioPlayer
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
return /*#__PURE__*/React__default["default"].createElement(VoicePlayerContext.Provider, {
|
|
259
|
+
value: {
|
|
260
|
+
play: play,
|
|
261
|
+
pause: pause,
|
|
262
|
+
stop: stop,
|
|
263
|
+
voicePlayerStore: voicePlayerStore
|
|
264
|
+
}
|
|
265
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
266
|
+
id: consts.VOICE_PLAYER_ROOT_ID,
|
|
267
|
+
style: {
|
|
268
|
+
display: 'none'
|
|
269
|
+
}
|
|
270
|
+
}), children);
|
|
271
|
+
};
|
|
272
|
+
var useVoicePlayerContext = function () {
|
|
273
|
+
return React.useContext(VoicePlayerContext);
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
exports.AudioUnitDefaultValue = AudioUnitDefaultValue;
|
|
277
|
+
exports.VoicePlayerProvider = VoicePlayerProvider;
|
|
278
|
+
exports.VoicePlayerStatus = VoicePlayerStatus;
|
|
279
|
+
exports.useVoicePlayerContext = useVoicePlayerContext;
|
|
280
|
+
//# sourceMappingURL=index-e0971532.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-e0971532.js","sources":["../../src/hooks/VoicePlayer/dux/actionTypes.ts","../../src/hooks/VoicePlayer/dux/initialState.ts","../../src/hooks/VoicePlayer/dux/reducer.ts","../../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["export const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\ntype ObjectValues<T> = T[keyof T];\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: {\n groupKey,\n },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: {\n groupKey,\n audioFile,\n },\n });\n };\n audioPlayer.onpause = () => {\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: {\n groupKey,\n },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: {\n groupKey,\n audioPlayer,\n },\n });\n })\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","text","includes","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var ui_PlaybackTime = require('./ui/PlaybackTime.js');
|
|
5
|
+
var ui_ProgressBar = require('./ui/ProgressBar.js');
|
|
6
|
+
var ui_TextButton = require('./ui/TextButton.js');
|
|
7
|
+
var ui_Icon = require('./ui/Icon.js');
|
|
8
|
+
var ui_Label = require('./index-86b55059.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-7d2c13ee.js');
|
|
10
|
+
var consts = require('./consts-7142bdfe.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
+
|
|
16
|
+
var VoiceMessageInputStatus = {
|
|
17
|
+
READY_TO_RECORD: 'READY_TO_RECORD',
|
|
18
|
+
RECORDING: 'RECORDING',
|
|
19
|
+
READY_TO_PLAY: 'READY_TO_PLAY',
|
|
20
|
+
PLAYING: 'PLAYING'
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var ControlerIcon = function (_a) {
|
|
24
|
+
var inputState = _a.inputState;
|
|
25
|
+
|
|
26
|
+
switch (inputState) {
|
|
27
|
+
case VoiceMessageInputStatus.READY_TO_RECORD:
|
|
28
|
+
{
|
|
29
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
30
|
+
className: "sendbird-controler-icon record-icon"
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
case VoiceMessageInputStatus.RECORDING:
|
|
35
|
+
{
|
|
36
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
37
|
+
className: "sendbird-controler-icon stop-icon"
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
case VoiceMessageInputStatus.READY_TO_PLAY:
|
|
42
|
+
{
|
|
43
|
+
return /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
44
|
+
className: "sendbird-controler-icon play-icon",
|
|
45
|
+
width: "20px",
|
|
46
|
+
height: "20px",
|
|
47
|
+
type: ui_Icon.IconTypes.PLAY,
|
|
48
|
+
fillColor: ui_Icon.IconColors.ON_BACKGROUND_1
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
case VoiceMessageInputStatus.PLAYING:
|
|
53
|
+
{
|
|
54
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
55
|
+
className: "sendbird-controler-icon pause-icon"
|
|
56
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
57
|
+
className: "sendbird-controler-icon pause-icon-inner"
|
|
58
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
59
|
+
className: "sendbird-controler-icon pause-icon-inner"
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
default:
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
var VoiceMessageInput = function (_a) {
|
|
69
|
+
var _b = _a.minRecordTime,
|
|
70
|
+
minRecordTime = _b === void 0 ? consts.VOICE_RECORDER_DEFAULT_MIN : _b,
|
|
71
|
+
maximumValue = _a.maximumValue,
|
|
72
|
+
_c = _a.currentValue,
|
|
73
|
+
currentValue = _c === void 0 ? 0 : _c,
|
|
74
|
+
currentType = _a.currentType,
|
|
75
|
+
onCancelClick = _a.onCancelClick,
|
|
76
|
+
onControlClick = _a.onControlClick,
|
|
77
|
+
onSubmitClick = _a.onSubmitClick,
|
|
78
|
+
renderCancelButton = _a.renderCancelButton,
|
|
79
|
+
renderControlButton = _a.renderControlButton,
|
|
80
|
+
renderSubmitButton = _a.renderSubmitButton;
|
|
81
|
+
|
|
82
|
+
var _d = React.useState(0),
|
|
83
|
+
lastClickTime = _d[0],
|
|
84
|
+
setLastClickTime = _d[1];
|
|
85
|
+
|
|
86
|
+
var isReadyToRecord = React.useMemo(function () {
|
|
87
|
+
return currentType === VoiceMessageInputStatus.READY_TO_RECORD;
|
|
88
|
+
}, [currentType]);
|
|
89
|
+
var isRecording = React.useMemo(function () {
|
|
90
|
+
return currentType === VoiceMessageInputStatus.RECORDING;
|
|
91
|
+
}, [currentType]);
|
|
92
|
+
var isSendButtonDisabled = React.useMemo(function () {
|
|
93
|
+
return (isRecording || isReadyToRecord) && minRecordTime > currentValue;
|
|
94
|
+
}, [isRecording, minRecordTime, currentValue]);
|
|
95
|
+
var isPlayMode = React.useMemo(function () {
|
|
96
|
+
return currentType === VoiceMessageInputStatus.READY_TO_PLAY || currentType === VoiceMessageInputStatus.PLAYING;
|
|
97
|
+
}, [currentType]);
|
|
98
|
+
var stringSet = LocalizationContext.useLocalization().stringSet;
|
|
99
|
+
|
|
100
|
+
var handleOnCancelClick = function () {
|
|
101
|
+
var currentTime = Date.now();
|
|
102
|
+
|
|
103
|
+
if (currentTime - lastClickTime > consts.VOICE_RECORDER_CLICK_BUFFER_TIME) {
|
|
104
|
+
onCancelClick();
|
|
105
|
+
setLastClickTime(currentTime);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
var handleOnControlClick = React.useCallback(function () {
|
|
110
|
+
var currentTime = Date.now();
|
|
111
|
+
console.log(currentTime - lastClickTime, consts.VOICE_RECORDER_CLICK_BUFFER_TIME);
|
|
112
|
+
|
|
113
|
+
if (currentTime - lastClickTime > consts.VOICE_RECORDER_CLICK_BUFFER_TIME) {
|
|
114
|
+
onControlClick(currentType);
|
|
115
|
+
setLastClickTime(currentTime);
|
|
116
|
+
}
|
|
117
|
+
}, [currentType]);
|
|
118
|
+
|
|
119
|
+
var handleOnSubmitClick = function () {
|
|
120
|
+
var currentTime = Date.now();
|
|
121
|
+
|
|
122
|
+
if (currentTime - lastClickTime > consts.VOICE_RECORDER_CLICK_BUFFER_TIME) {
|
|
123
|
+
if (!isSendButtonDisabled) {
|
|
124
|
+
onSubmitClick();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
setLastClickTime(currentTime);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
132
|
+
className: "sendbird-voice-message-input"
|
|
133
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
134
|
+
className: "sendbird-voice-message-input__indicator"
|
|
135
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
136
|
+
className: "sendbird-voice-message-input__indicator__progress-bar"
|
|
137
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_ProgressBar.ProgressBar, {
|
|
138
|
+
className: "sendbird-voice-message-input__indicator__progress-bar__bar",
|
|
139
|
+
disabled: isReadyToRecord,
|
|
140
|
+
maxSize: maximumValue,
|
|
141
|
+
currentSize: currentValue
|
|
142
|
+
})), isRecording ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
143
|
+
className: "sendbird-voice-message-input__indicator__on-rec"
|
|
144
|
+
}) : null, /*#__PURE__*/React__default["default"].createElement(ui_PlaybackTime.PlaybackTime, {
|
|
145
|
+
className: "sendbird-voice-message-input__indicator__playback-time",
|
|
146
|
+
time: isPlayMode ? maximumValue - currentValue : currentValue,
|
|
147
|
+
labelColor: isReadyToRecord ? ui_Label.LabelColors.ONBACKGROUND_4 : ui_Label.LabelColors.ONCONTENT_1
|
|
148
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
149
|
+
className: "sendbird-voice-message-input__controler"
|
|
150
|
+
}, (renderCancelButton === null || renderCancelButton === void 0 ? void 0 : renderCancelButton()) || /*#__PURE__*/React__default["default"].createElement(ui_TextButton, {
|
|
151
|
+
className: "sendbird-voice-message-input__controler__cancel",
|
|
152
|
+
onClick: handleOnCancelClick,
|
|
153
|
+
disableUnderline: true
|
|
154
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
155
|
+
type: ui_Label.LabelTypography.BUTTON_1,
|
|
156
|
+
color: ui_Label.LabelColors.PRIMARY
|
|
157
|
+
}, stringSet.BUTTON__CANCEL)), (renderControlButton === null || renderControlButton === void 0 ? void 0 : renderControlButton(currentType)) || /*#__PURE__*/React__default["default"].createElement("div", {
|
|
158
|
+
className: "sendbird-voice-message-input__controler__main",
|
|
159
|
+
onClick: handleOnControlClick
|
|
160
|
+
}, /*#__PURE__*/React__default["default"].createElement(ControlerIcon, {
|
|
161
|
+
inputState: currentType
|
|
162
|
+
})), (renderSubmitButton === null || renderSubmitButton === void 0 ? void 0 : renderSubmitButton()) || /*#__PURE__*/React__default["default"].createElement("div", {
|
|
163
|
+
className: "sendbird-voice-message-input__controler__submit ".concat(isSendButtonDisabled ? 'voice-message--disabled' : ''),
|
|
164
|
+
onClick: handleOnSubmitClick
|
|
165
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
166
|
+
width: "19px",
|
|
167
|
+
height: "19px",
|
|
168
|
+
type: ui_Icon.IconTypes.SEND,
|
|
169
|
+
fillColor: isSendButtonDisabled ? ui_Icon.IconColors.ON_BACKGROUND_4 : ui_Icon.IconColors.CONTENT
|
|
170
|
+
}))));
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
exports.VoiceMessageInput = VoiceMessageInput;
|
|
174
|
+
exports.VoiceMessageInputStatus = VoiceMessageInputStatus;
|
|
175
|
+
//# sourceMappingURL=index-fa531baa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-fa531baa.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["export 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 (isRecording || isReadyToRecord) && minRecordTime > currentValue\n ), [isRecording, 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 console.log(currentTime - lastClickTime, VOICE_RECORDER_CLICK_BUFFER_TIME)\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","_a","inputState","React","Icon","IconTypes","PLAY","IconColors","ON_BACKGROUND_1","VoiceMessageInput","_b","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","_c","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","_d","useState","lastClickTime","setLastClickTime","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","console","log","handleOnSubmitClick","ProgressBar","PlaybackTime","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","Label","LabelTypography","BUTTON_1","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-fb42d34c.js","sources":["../../src/hooks/useModal/ModalRoot/index.jsx"],"sourcesContent":["// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} className={MODAL_ROOT} />\n);\n"],"names":["MODAL_ROOT"],"mappings":";;;;AAAA;AAGO,MAAMA,UAAU,GAAG;;;;"}
|