@sendbird/uikit-react 3.5.0 → 3.5.1
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 +63 -55
- package/App.js.map +1 -1
- package/CHANGELOG.md +12 -0
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +41 -41
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +36 -36
- package/Channel/components/MessageInput.js +29 -29
- package/Channel/components/MessageList.js +50 -40
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +12 -12
- package/Channel.js +41 -41
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +30 -30
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-4cf5c0f5.js → ChannelListProvider-643a2b47.js} +8 -8
- package/ChannelListProvider-643a2b47.js.map +1 -0
- package/{ChannelProvider-6e8e99df.js → ChannelProvider-33559192.js} +15 -14
- package/ChannelProvider-33559192.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 +5 -4
- package/ChannelSettings/context.js.map +1 -1
- 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-34603fa5.js → CreateChannelProvider-5b006b58.js} +1 -1
- package/{CreateChannelProvider-34603fa5.js.map → CreateChannelProvider-5b006b58.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-04c0c9dc.js → LocalizationContext-25d6694d.js} +3 -3
- package/{LocalizationContext-04c0c9dc.js.map → LocalizationContext-25d6694d.js.map} +1 -1
- package/{MediaQueryContext-ff9dca2b.js → MediaQueryContext-94c9086a.js} +1 -1
- package/{MediaQueryContext-ff9dca2b.js.map → MediaQueryContext-94c9086a.js.map} +1 -1
- package/{MemberList-9bf26111.js → MemberList-9f8950db.js} +5 -5
- package/{MemberList-9bf26111.js.map → MemberList-9f8950db.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +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 +19 -19
- package/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -31
- 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-d7372692.js → OpenChannelListProvider-7c6b2f84.js} +3 -3
- package/{OpenChannelListProvider-d7372692.js.map → OpenChannelListProvider-7c6b2f84.js.map} +1 -1
- package/{OpenChannelProvider-24cd68b9.js → OpenChannelProvider-18fa6128.js} +9 -9
- package/{OpenChannelProvider-24cd68b9.js.map → OpenChannelProvider-18fa6128.js.map} +1 -1
- 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 +5 -5
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-94e2bf9e.js → RemoveMessageModal-9c0350c0.js} +3 -3
- package/{RemoveMessageModal-94e2bf9e.js.map → RemoveMessageModal-9c0350c0.js.map} +1 -1
- package/SendbirdProvider.js +15 -15
- package/Thread/components/ParentMessageInfo.js +33 -33
- package/Thread/components/ParentMessageInfoItem.js +21 -21
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +36 -36
- package/Thread/components/ThreadListItem.js +36 -36
- package/Thread/components/ThreadMessageInput.js +30 -30
- package/Thread/components/ThreadUI.js +40 -40
- package/Thread/context.js +8 -8
- package/Thread.js +40 -40
- package/{ThreadProvider-203b94f3.js → ThreadProvider-6ae0b041.js} +8 -8
- package/{ThreadProvider-203b94f3.js.map → ThreadProvider-6ae0b041.js.map} +1 -1
- package/{UserProfileContext-c776d522.js → UserProfileContext-a56cc682.js} +1 -1
- package/{UserProfileContext-c776d522.js.map → UserProfileContext-a56cc682.js.map} +1 -1
- package/{VoiceMessageInputWrapper-77d8f487.js → VoiceMessageInputWrapper-69ac1f5a.js} +7 -7
- package/{VoiceMessageInputWrapper-77d8f487.js.map → VoiceMessageInputWrapper-69ac1f5a.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-62e6d3a7.js → WebAudioUtils-16540f03.js} +1 -1
- package/{WebAudioUtils-62e6d3a7.js.map → WebAudioUtils-16540f03.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-fb0e05a4.js → _rollupPluginBabelHelpers-1be219c2.js} +1 -1
- package/_rollupPluginBabelHelpers-1be219c2.js.map +1 -0
- package/{actionTypes-1db5749d.js → actionTypes-a8140d53.js} +1 -1
- package/{actionTypes-1db5749d.js.map → actionTypes-a8140d53.js.map} +1 -1
- package/cjs/App.js +63 -55
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +41 -41
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +36 -36
- package/cjs/Channel/components/MessageInput.js +29 -29
- package/cjs/Channel/components/MessageList.js +49 -39
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +12 -12
- package/cjs/Channel.js +41 -41
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +30 -30
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-e0ce316a.js → ChannelListProvider-1d4a8060.js} +8 -8
- package/cjs/ChannelListProvider-1d4a8060.js.map +1 -0
- package/cjs/{ChannelProvider-0df75472.js → ChannelProvider-2c7ec64b.js} +15 -14
- package/cjs/ChannelProvider-2c7ec64b.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 +5 -4
- package/cjs/ChannelSettings/context.js.map +1 -1
- 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-c0fca0a5.js → CreateChannelProvider-f7d36126.js} +1 -1
- package/cjs/{CreateChannelProvider-c0fca0a5.js.map → CreateChannelProvider-f7d36126.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-0e429c3d.js → LocalizationContext-bd54275c.js} +3 -3
- package/cjs/{LocalizationContext-0e429c3d.js.map → LocalizationContext-bd54275c.js.map} +1 -1
- package/cjs/{MediaQueryContext-33fc3b17.js → MediaQueryContext-ebcb159a.js} +1 -1
- package/cjs/{MediaQueryContext-33fc3b17.js.map → MediaQueryContext-ebcb159a.js.map} +1 -1
- package/cjs/{MemberList-a45a51c4.js → MemberList-2204c0b1.js} +5 -5
- package/cjs/{MemberList-a45a51c4.js.map → MemberList-2204c0b1.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +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 +19 -19
- package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -31
- 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-fc8b53ee.js → OpenChannelListProvider-865700d5.js} +3 -3
- package/cjs/{OpenChannelListProvider-fc8b53ee.js.map → OpenChannelListProvider-865700d5.js.map} +1 -1
- package/cjs/{OpenChannelProvider-217a8ac2.js → OpenChannelProvider-083e5628.js} +9 -9
- package/cjs/{OpenChannelProvider-217a8ac2.js.map → OpenChannelProvider-083e5628.js.map} +1 -1
- 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 +5 -5
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-5903f232.js → RemoveMessageModal-822e0fac.js} +3 -3
- package/cjs/{RemoveMessageModal-5903f232.js.map → RemoveMessageModal-822e0fac.js.map} +1 -1
- package/cjs/SendbirdProvider.js +15 -15
- package/cjs/Thread/components/ParentMessageInfo.js +33 -33
- package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +36 -36
- package/cjs/Thread/components/ThreadListItem.js +36 -36
- package/cjs/Thread/components/ThreadMessageInput.js +30 -30
- package/cjs/Thread/components/ThreadUI.js +40 -40
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +40 -40
- package/cjs/{ThreadProvider-8ee179c2.js → ThreadProvider-09392c06.js} +8 -8
- package/cjs/{ThreadProvider-8ee179c2.js.map → ThreadProvider-09392c06.js.map} +1 -1
- package/cjs/{UserProfileContext-87580795.js → UserProfileContext-10e1ac24.js} +1 -1
- package/cjs/{UserProfileContext-87580795.js.map → UserProfileContext-10e1ac24.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-4fdc8ef1.js → VoiceMessageInputWrapper-fee2ede6.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-4fdc8ef1.js.map → VoiceMessageInputWrapper-fee2ede6.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-e226789c.js → WebAudioUtils-9dfbd5a9.js} +1 -1
- package/cjs/{WebAudioUtils-e226789c.js.map → WebAudioUtils-9dfbd5a9.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-c89f311a.js → _rollupPluginBabelHelpers-53e83515.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-53e83515.js.map +1 -0
- package/cjs/{actionTypes-0fa2943d.js → actionTypes-b1275c7f.js} +1 -1
- package/cjs/{actionTypes-0fa2943d.js.map → actionTypes-b1275c7f.js.map} +1 -1
- package/cjs/{color-bada0fc7.js → color-e7fbb496.js} +1 -1
- package/cjs/{color-bada0fc7.js.map → color-e7fbb496.js.map} +1 -1
- package/cjs/{compareIds-ccccfe86.js → compareIds-03cd7437.js} +1 -1
- package/cjs/{compareIds-ccccfe86.js.map → compareIds-03cd7437.js.map} +1 -1
- package/cjs/{const-d8cece19.js → const-8728e4b6.js} +1 -1
- package/cjs/{const-d8cece19.js.map → const-8728e4b6.js.map} +1 -1
- package/cjs/{const-a85f3364.js → const-b3585ae0.js} +1 -1
- package/cjs/{const-a85f3364.js.map → const-b3585ae0.js.map} +1 -1
- package/cjs/{consts-1c3020ad.js → consts-6bd1cfe3.js} +1 -1
- package/cjs/{consts-1c3020ad.js.map → consts-6bd1cfe3.js.map} +1 -1
- package/cjs/{consts-740f60b8.js → consts-a006bc78.js} +1 -1
- package/cjs/{consts-740f60b8.js.map → consts-a006bc78.js.map} +1 -1
- package/cjs/{consts-1d94dc61.js → consts-a0e35044.js} +1 -1
- package/cjs/{consts-1d94dc61.js.map → consts-a0e35044.js.map} +1 -1
- package/cjs/{consts-5e0f96b3.js → consts-aa056322.js} +1 -1
- package/cjs/{consts-5e0f96b3.js.map → consts-aa056322.js.map} +1 -1
- package/cjs/{context-8e7e8457.js → context-ad45a982.js} +2 -2
- package/cjs/{context-8e7e8457.js.map → context-ad45a982.js.map} +1 -1
- package/cjs/dist/index.css +127 -127
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-7d125728.js → index-165d52b7.js} +2 -2
- package/cjs/{index-7d125728.js.map → index-165d52b7.js.map} +1 -1
- package/cjs/{index-c9d348b6.js → index-288afd10.js} +6 -6
- package/cjs/{index-c9d348b6.js.map → index-288afd10.js.map} +1 -1
- package/cjs/{index-1613ae03.js → index-2f206bb6.js} +3 -3
- package/cjs/{index-1613ae03.js.map → index-2f206bb6.js.map} +1 -1
- package/cjs/{index-5231fde8.js → index-32244c73.js} +8 -8
- package/cjs/index-32244c73.js.map +1 -0
- package/cjs/{index-99f16473.js → index-35d641f7.js} +2 -2
- package/cjs/{index-99f16473.js.map → index-35d641f7.js.map} +1 -1
- package/cjs/{index-71fdaa1b.js → index-3e924a85.js} +5 -5
- package/cjs/{index-71fdaa1b.js.map → index-3e924a85.js.map} +1 -1
- package/cjs/{index-89d81dad.js → index-4a2ec2ae.js} +4 -4
- package/cjs/{index-89d81dad.js.map → index-4a2ec2ae.js.map} +1 -1
- package/cjs/{index-016f7106.js → index-745c9ce1.js} +1 -1
- package/cjs/{index-016f7106.js.map → index-745c9ce1.js.map} +1 -1
- package/cjs/{index-3b30939e.js → index-7bd7f678.js} +2 -2
- package/cjs/{index-3b30939e.js.map → index-7bd7f678.js.map} +1 -1
- package/cjs/{index-648c06ed.js → index-7d2d89a2.js} +3 -3
- package/cjs/{index-648c06ed.js.map → index-7d2d89a2.js.map} +1 -1
- package/cjs/{index-f570d25c.js → index-8ada6055.js} +1 -1
- package/cjs/{index-f570d25c.js.map → index-8ada6055.js.map} +1 -1
- package/cjs/{index-7f6bbe0c.js → index-9a94e768.js} +6 -6
- package/cjs/{index-7f6bbe0c.js.map → index-9a94e768.js.map} +1 -1
- package/cjs/{index-e8c0080f.js → index-9f2a1c52.js} +4 -4
- package/cjs/{index-e8c0080f.js.map → index-9f2a1c52.js.map} +1 -1
- package/cjs/{index-8affdde5.js → index-9feae73e.js} +3 -3
- package/cjs/{index-8affdde5.js.map → index-9feae73e.js.map} +1 -1
- package/cjs/{index-869e9a94.js → index-a01673e9.js} +2 -2
- package/cjs/{index-869e9a94.js.map → index-a01673e9.js.map} +1 -1
- package/cjs/{index-2be14d85.js → index-d0b4f3c0.js} +4 -4
- package/cjs/{index-2be14d85.js.map → index-d0b4f3c0.js.map} +1 -1
- package/cjs/{index-6cb0d040.js → index-f6621210.js} +2 -2
- package/cjs/{index-6cb0d040.js.map → index-f6621210.js.map} +1 -1
- package/cjs/index.js +52 -52
- package/cjs/{index.module-0585715f.js → index.module-02ae6df9.js} +1 -1
- package/cjs/{index.module-0585715f.js.map → index.module-02ae6df9.js.map} +1 -1
- package/cjs/{resolvedReplyType-67e78c63.js → resolvedReplyType-da86056c.js} +1 -1
- package/cjs/{resolvedReplyType-67e78c63.js.map → resolvedReplyType-da86056c.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-106da549.js → stringSet-d212a015.js} +1 -1
- package/cjs/{stringSet-106da549.js.map → stringSet-d212a015.js.map} +1 -1
- package/cjs/{tokenize-2aa0f876.js → tokenize-b019fb84.js} +2 -2
- package/cjs/{tokenize-2aa0f876.js.map → tokenize-b019fb84.js.map} +1 -1
- package/cjs/{topics-b384e6b3.js → topics-77576a9c.js} +1 -1
- package/cjs/{topics-b384e6b3.js.map → topics-77576a9c.js.map} +1 -1
- package/cjs/{types-e0b77c8c.js → types-36ee2d00.js} +1 -1
- package/cjs/{types-e0b77c8c.js.map → types-36ee2d00.js.map} +1 -1
- 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/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- 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 +38 -36
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +13 -13
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +8 -8
- 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/QuoteMessageInput.js +6 -6
- 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/{useDirtyGetMentions-b8ca5675.js → useDirtyGetMentions-792a65af.js} +1 -1
- package/cjs/{useDirtyGetMentions-b8ca5675.js.map → useDirtyGetMentions-792a65af.js.map} +1 -1
- package/cjs/{useLongPress-8037894e.js → useLongPress-50d2028a.js} +3 -3
- package/cjs/{useLongPress-8037894e.js.map → useLongPress-50d2028a.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-ad7b5b82.js → utils-85ff9137.js} +1 -1
- package/cjs/{utils-ad7b5b82.js.map → utils-85ff9137.js.map} +1 -1
- package/cjs/{utils-01ff5332.js → utils-8ce3a247.js} +1 -1
- package/cjs/{utils-01ff5332.js.map → utils-8ce3a247.js.map} +1 -1
- package/cjs/{utils-5ac3db44.js → utils-c2543c4d.js} +2 -2
- package/cjs/{utils-5ac3db44.js.map → utils-c2543c4d.js.map} +1 -1
- package/cjs/{utils-2edcddc8.js → utils-d2648e7d.js} +1 -1
- package/cjs/{utils-2edcddc8.js.map → utils-d2648e7d.js.map} +1 -1
- package/cjs/{uuid-12b01f73.js → uuid-97ce2508.js} +1 -1
- package/cjs/{uuid-12b01f73.js.map → uuid-97ce2508.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-347926b6.js → color-04427a41.js} +1 -1
- package/{color-347926b6.js.map → color-04427a41.js.map} +1 -1
- package/{compareIds-3a43c11b.js → compareIds-e75af4f9.js} +1 -1
- package/{compareIds-3a43c11b.js.map → compareIds-e75af4f9.js.map} +1 -1
- package/{const-c608f749.js → const-8d418b81.js} +1 -1
- package/{const-c608f749.js.map → const-8d418b81.js.map} +1 -1
- package/{const-18dba7a4.js → const-ec18f7f8.js} +1 -1
- package/{const-18dba7a4.js.map → const-ec18f7f8.js.map} +1 -1
- package/{consts-6bca01c7.js → consts-01a1e3c0.js} +1 -1
- package/{consts-6bca01c7.js.map → consts-01a1e3c0.js.map} +1 -1
- package/{consts-fb4d475a.js → consts-4d93ce13.js} +1 -1
- package/{consts-fb4d475a.js.map → consts-4d93ce13.js.map} +1 -1
- package/{consts-7a169a0f.js → consts-a5106683.js} +1 -1
- package/{consts-7a169a0f.js.map → consts-a5106683.js.map} +1 -1
- package/{consts-c1baf70a.js → consts-e6fdc559.js} +1 -1
- package/{consts-c1baf70a.js.map → consts-e6fdc559.js.map} +1 -1
- package/{context-786ef1a2.js → context-6272efa3.js} +2 -2
- package/{context-786ef1a2.js.map → context-6272efa3.js.map} +1 -1
- package/dist/index.css +127 -127
- package/dist/index.css.map +1 -1
- package/{index-06b854f7.js → index-19daf00f.js} +5 -5
- package/{index-06b854f7.js.map → index-19daf00f.js.map} +1 -1
- package/{index-6663ce18.js → index-24f4354d.js} +4 -4
- package/{index-6663ce18.js.map → index-24f4354d.js.map} +1 -1
- package/{index-c149ea48.js → index-2d858f6d.js} +2 -2
- package/{index-c149ea48.js.map → index-2d858f6d.js.map} +1 -1
- package/{index-9cd77b08.js → index-32a56033.js} +3 -3
- package/{index-9cd77b08.js.map → index-32a56033.js.map} +1 -1
- package/{index-7d71b26c.js → index-36d49e08.js} +4 -4
- package/{index-7d71b26c.js.map → index-36d49e08.js.map} +1 -1
- package/{index-9a4e0846.js → index-5819e39d.js} +1 -1
- package/{index-9a4e0846.js.map → index-5819e39d.js.map} +1 -1
- package/{index-2673effb.js → index-7ff2c073.js} +6 -6
- package/{index-2673effb.js.map → index-7ff2c073.js.map} +1 -1
- package/{index-ebb62af1.js → index-9a62272f.js} +4 -4
- package/{index-ebb62af1.js.map → index-9a62272f.js.map} +1 -1
- package/{index-319984d0.js → index-a4552c13.js} +1 -1
- package/{index-319984d0.js.map → index-a4552c13.js.map} +1 -1
- package/{index-cf3939c6.js → index-b3c3e1aa.js} +2 -2
- package/{index-cf3939c6.js.map → index-b3c3e1aa.js.map} +1 -1
- package/{index-cf859f03.js → index-c589f349.js} +8 -8
- package/index-c589f349.js.map +1 -0
- package/{index-e33f7f55.js → index-d88e3ef9.js} +2 -2
- package/{index-e33f7f55.js.map → index-d88e3ef9.js.map} +1 -1
- package/{index-edf844f0.js → index-dcaf3cb8.js} +3 -3
- package/{index-edf844f0.js.map → index-dcaf3cb8.js.map} +1 -1
- package/{index-6c252d25.js → index-dd8e8ea1.js} +2 -2
- package/{index-6c252d25.js.map → index-dd8e8ea1.js.map} +1 -1
- package/{index-71a20863.js → index-f4374646.js} +3 -3
- package/{index-71a20863.js.map → index-f4374646.js.map} +1 -1
- package/{index-eabd1e7e.js → index-fe7ed4c0.js} +6 -6
- package/{index-eabd1e7e.js.map → index-fe7ed4c0.js.map} +1 -1
- package/{index-4455855e.js → index-fea4f7d3.js} +2 -2
- package/{index-4455855e.js.map → index-fea4f7d3.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +52 -52
- package/{index.module-6b7ed635.js → index.module-1ba8586e.js} +1 -1
- package/{index.module-6b7ed635.js.map → index.module-1ba8586e.js.map} +1 -1
- package/package.json +2 -2
- package/{resolvedReplyType-8776d777.js → resolvedReplyType-94a089b3.js} +1 -1
- package/{resolvedReplyType-8776d777.js.map → resolvedReplyType-94a089b3.js.map} +1 -1
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-e0ee1265.js → stringSet-3649b375.js} +1 -1
- package/{stringSet-e0ee1265.js.map → stringSet-3649b375.js.map} +1 -1
- package/{tokenize-1b053c86.js → tokenize-053e921e.js} +2 -2
- package/{tokenize-1b053c86.js.map → tokenize-053e921e.js.map} +1 -1
- package/{topics-70f569e9.js → topics-d0dcd2f2.js} +1 -1
- package/{topics-70f569e9.js.map → topics-d0dcd2f2.js.map} +1 -1
- package/{types-77bbdda6.js → types-54edb45d.js} +1 -1
- package/{types-77bbdda6.js.map → types-54edb45d.js.map} +1 -1
- 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/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- 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 +38 -36
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +13 -13
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +8 -8
- 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/QuoteMessageInput.js +6 -6
- 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/{useDirtyGetMentions-f00f1f94.js → useDirtyGetMentions-b9a9c21b.js} +1 -1
- package/{useDirtyGetMentions-f00f1f94.js.map → useDirtyGetMentions-b9a9c21b.js.map} +1 -1
- package/{useLongPress-1ab49410.js → useLongPress-5e28b292.js} +3 -3
- package/{useLongPress-1ab49410.js.map → useLongPress-5e28b292.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-77f7e8b2.js → utils-1f5c8b6c.js} +2 -2
- package/{utils-77f7e8b2.js.map → utils-1f5c8b6c.js.map} +1 -1
- package/{utils-7f3d0d8c.js → utils-712b81f7.js} +1 -1
- package/{utils-7f3d0d8c.js.map → utils-712b81f7.js.map} +1 -1
- package/{utils-56cb7de5.js → utils-a1f2aa01.js} +1 -1
- package/{utils-56cb7de5.js.map → utils-a1f2aa01.js.map} +1 -1
- package/{utils-af9b1c06.js → utils-cbae9afc.js} +1 -1
- package/{utils-af9b1c06.js.map → utils-cbae9afc.js.map} +1 -1
- package/{uuid-92d22300.js → uuid-8c96bee0.js} +1 -1
- package/{uuid-92d22300.js.map → uuid-8c96bee0.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-4cf5c0f5.js.map +0 -1
- package/ChannelProvider-6e8e99df.js.map +0 -1
- package/_rollupPluginBabelHelpers-fb0e05a4.js.map +0 -1
- package/cjs/ChannelListProvider-e0ce316a.js.map +0 -1
- package/cjs/ChannelProvider-0df75472.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-c89f311a.js.map +0 -1
- package/cjs/index-5231fde8.js.map +0 -1
- package/index-cf859f03.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfileContext-
|
|
1
|
+
{"version":3,"file":"UserProfileContext-a56cc682.js","sources":["../src/lib/UserProfileContext.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * user profile goes deep inside the component tree\n * use this context as a short circuit to send in values\n */\nconst UserProfileContext = React.createContext({\n disableUserProfile: true,\n isOpenChannel: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n});\n\nconst UserProfileProvider = (props) => {\n const { children } = props;\n return (\n <UserProfileContext.Provider value={props}>\n {children}\n </UserProfileContext.Provider>\n );\n};\n\nUserProfileProvider.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n // eslint-disable-next-line react/no-unused-prop-types\n isOpenChannel: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n disableUserProfile: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n renderUserProfile: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n onUserProfileMessage: PropTypes.func,\n};\n\nUserProfileProvider.defaultProps = {\n isOpenChannel: false,\n disableUserProfile: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n};\n\nexport { UserProfileContext, UserProfileProvider };\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","onUserProfileMessage","UserProfileProvider","props","children","createElement","Provider","value","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","defaultProps"],"mappings":";;;AAGA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAC;AAC7CC,EAAAA,kBAAkB,EAAE,IAAI;AACxBC,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC,EAAC;AAEIC,MAAAA,mBAAmB,GAAIC,KAAK,IAAK;EACrC,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGD,KAAK,CAAA;AAC1B,EAAA,oBACEP,cAAA,CAAAS,aAAA,CAACV,kBAAkB,CAACW,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,KAAAA;AAAM,GAAA,EACvCC,QAAQ,CACmB,CAAA;AAElC,EAAC;AAEDF,mBAAmB,CAACM,SAAS,GAAG;EAC9BJ,QAAQ,EAAEK,SAAS,CAACC,SAAS,CAAC,CAC5BD,SAAS,CAACE,OAAO,EACjBF,SAAS,CAACG,OAAO,CAACH,SAAS,CAACE,OAAO,CAAC,EACpCF,SAAS,CAACI,GAAG,CACd,CAAC,CAACC,UAAU;AACb;EACAf,aAAa,EAAEU,SAAS,CAACM,IAAI;AAC7B;EACAjB,kBAAkB,EAAEW,SAAS,CAACM,IAAI;AAClC;EACAf,iBAAiB,EAAES,SAAS,CAACO,IAAI;AACjC;EACAf,oBAAoB,EAAEQ,SAAS,CAACO,IAAAA;AAClC,CAAC,CAAA;AAEDd,mBAAmB,CAACe,YAAY,GAAG;AACjClB,EAAAA,aAAa,EAAE,KAAK;AACpBD,EAAAA,kBAAkB,EAAE,KAAK;AACzBE,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC;;;;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import React__default, { useRef, useState, useEffect } from 'react';
|
|
2
|
-
import { u as useLocalization } from './LocalizationContext-
|
|
2
|
+
import { u as useLocalization } from './LocalizationContext-25d6694d.js';
|
|
3
3
|
import { useVoicePlayer } from './VoicePlayer/useVoicePlayer.js';
|
|
4
4
|
import { useVoiceRecorder, VoiceRecorderStatus } from './VoiceRecorder/useVoiceRecorder.js';
|
|
5
|
-
import { a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from './ChannelProvider-
|
|
6
|
-
import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-
|
|
5
|
+
import { a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from './ChannelProvider-33559192.js';
|
|
6
|
+
import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-36d49e08.js';
|
|
7
7
|
import Modal from './ui/Modal.js';
|
|
8
8
|
import Button, { ButtonTypes, ButtonSizes } from './ui/Button.js';
|
|
9
9
|
import useSendbirdStateContext from './useSendbirdStateContext.js';
|
|
10
|
-
import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-
|
|
11
|
-
import { a as VOICE_PLAYER_STATUS } from './index-
|
|
12
|
-
import { u as uuidv4 } from './uuid-
|
|
10
|
+
import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-e6fdc559.js';
|
|
11
|
+
import { a as VOICE_PLAYER_STATUS } from './index-f4374646.js';
|
|
12
|
+
import { u as uuidv4 } from './uuid-8c96bee0.js';
|
|
13
13
|
|
|
14
14
|
const VoiceMessageInputWrapper = _ref => {
|
|
15
15
|
var _config$voiceRecord;
|
|
@@ -167,4 +167,4 @@ const VoiceMessageInputWrapper = _ref => {
|
|
|
167
167
|
};
|
|
168
168
|
|
|
169
169
|
export { VoiceMessageInputWrapper as V };
|
|
170
|
-
//# sourceMappingURL=VoiceMessageInputWrapper-
|
|
170
|
+
//# sourceMappingURL=VoiceMessageInputWrapper-69ac1f5a.js.map
|
package/{VoiceMessageInputWrapper-77d8f487.js.map → VoiceMessageInputWrapper-69ac1f5a.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceMessageInputWrapper-77d8f487.js","sources":["../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport './voice-message-wrapper.scss';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useVoicePlayer } from '../../../../hooks/VoicePlayer/useVoicePlayer';\nimport { useVoiceRecorder, VoiceRecorderStatus } from '../../../../hooks/VoiceRecorder/useVoiceRecorder';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\n\nimport { VoiceMessageInput } from '../../../../ui/VoiceMessageInput';\nimport { VoiceMessageInputStatus } from '../../../../ui/VoiceMessageInput/types';\nimport Modal from '../../../../ui/Modal';\nimport Button, { ButtonSizes, ButtonTypes } from '../../../../ui/Button';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { VOICE_RECORDER_DEFAULT_MIN } from '../../../../utils/consts';\nimport { VOICE_PLAYER_STATUS } from '../../../../hooks/VoicePlayer/dux/initialState';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface VoiceMessageInputWrapperProps {\n channel?: GroupChannel;\n onCancelClick?: () => void;\n onSubmitClick?: (file: File, duration: number) => void;\n}\n\nexport const VoiceMessageInputWrapper = ({\n channel,\n onCancelClick,\n onSubmitClick,\n}: VoiceMessageInputWrapperProps): React.ReactElement => {\n const uuid = useRef<string>(uuidv4()).current;\n const [audioFile, setAudioFile] = useState<File>(null);\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmitted, setSubmit] = useState(false);\n const [isDisabled, setDisabled] = useState(false);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const minRecordingTime = config?.voiceRecord?.minRecordingTime || VOICE_RECORDER_DEFAULT_MIN;\n const {\n start,\n stop,\n cancel,\n recordingTime,\n recordingStatus,\n recordingLimit,\n } = useVoiceRecorder({\n onRecordingStarted: () => {\n setVoiceInputState(VoiceMessageInputStatus.RECORDING);\n },\n onRecordingEnded: (audioFile) => {\n setAudioFile(audioFile);\n },\n });\n const voicePlayer = useVoicePlayer({\n channelUrl: channel?.url,\n key: uuid,\n audioFile: audioFile,\n });\n const {\n play,\n pause,\n playbackTime,\n playingStatus,\n } = voicePlayer;\n const stopVoicePlayer = voicePlayer.stop;\n\n // disabled state: muted & frozen\n useEffect(() => {\n if (isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel)) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n }, [channel?.myRole, channel?.isFrozen, channel?.myMutedState]);\n\n // call onSubmitClick when submit button is clicked and recorded audio file is created\n useEffect(() => {\n if (isSubmitted && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmitted, audioFile, recordingTime]);\n // operate which control button should be displayed\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VOICE_PLAYER_STATUS.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [audioFile, recordingTime, playingStatus]);\n\n return (\n <div className=\"sendbird-voice-message-input-wrapper\">\n <VoiceMessageInput\n currentValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? playbackTime : recordingTime}\n maximumValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? recordingTime : recordingLimit}\n currentType={voiceInputState}\n onCancelClick={() => {\n onCancelClick();\n cancel();\n stopVoicePlayer();\n }}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\n pause();\n setSubmit(true);\n }\n }}\n onControlClick={(type) => {\n switch (type) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n stopVoicePlayer();\n start();\n break;\n }\n case VoiceMessageInputStatus.RECORDING: {\n if (recordingTime >= minRecordingTime && !isDisabled) {\n stop();\n } else if (isDisabled) {\n cancel();\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n cancel();\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n }\n break;\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n play();\n break;\n }\n case VoiceMessageInputStatus.PLAYING: {\n pause();\n break;\n }\n }\n }}\n />\n {\n showModal && (\n <Modal\n className=\"sendbird-voice-message-input-wrapper-alert\"\n titleText={isDisabledBecauseMuted(channel)\n ? stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED\n : stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN\n }\n hideFooter\n isCloseOnClickOutside\n onCancel={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n <div className=\"sendbird-voice-message-input-wrapper-alert__body\">\n <Button\n className=\"sendbird-voice-message-input-wrapper-alert__body__ok-button\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.BIG}\n onClick={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n {stringSet.BUTTON__OK}\n </Button>\n </div>\n </Modal>\n )\n }\n </div>\n );\n};\n\nexport default VoiceMessageInputWrapper;\n"],"names":["VoiceMessageInputWrapper","_ref","_config$voiceRecord","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","audioFile","setAudioFile","useState","voiceInputState","setVoiceInputState","VoiceMessageInputStatus","READY_TO_RECORD","isSubmitted","setSubmit","isDisabled","setDisabled","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VOICE_PLAYER_STATUS","PLAYING","READY_TO_PLAY","React","createElement","className","VoiceMessageInput","currentValue","VoiceRecorderStatus","COMPLETED","maximumValue","currentType","onControlClick","type","Modal","titleText","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","hideFooter","isCloseOnClickOutside","onCancel","Button","ButtonTypes","PRIMARY","size","ButtonSizes","BIG","onClick","BUTTON__OK"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VoiceMessageInputWrapper-69ac1f5a.js","sources":["../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport './voice-message-wrapper.scss';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useVoicePlayer } from '../../../../hooks/VoicePlayer/useVoicePlayer';\nimport { useVoiceRecorder, VoiceRecorderStatus } from '../../../../hooks/VoiceRecorder/useVoiceRecorder';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\n\nimport { VoiceMessageInput } from '../../../../ui/VoiceMessageInput';\nimport { VoiceMessageInputStatus } from '../../../../ui/VoiceMessageInput/types';\nimport Modal from '../../../../ui/Modal';\nimport Button, { ButtonSizes, ButtonTypes } from '../../../../ui/Button';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { VOICE_RECORDER_DEFAULT_MIN } from '../../../../utils/consts';\nimport { VOICE_PLAYER_STATUS } from '../../../../hooks/VoicePlayer/dux/initialState';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface VoiceMessageInputWrapperProps {\n channel?: GroupChannel;\n onCancelClick?: () => void;\n onSubmitClick?: (file: File, duration: number) => void;\n}\n\nexport const VoiceMessageInputWrapper = ({\n channel,\n onCancelClick,\n onSubmitClick,\n}: VoiceMessageInputWrapperProps): React.ReactElement => {\n const uuid = useRef<string>(uuidv4()).current;\n const [audioFile, setAudioFile] = useState<File>(null);\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmitted, setSubmit] = useState(false);\n const [isDisabled, setDisabled] = useState(false);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const minRecordingTime = config?.voiceRecord?.minRecordingTime || VOICE_RECORDER_DEFAULT_MIN;\n const {\n start,\n stop,\n cancel,\n recordingTime,\n recordingStatus,\n recordingLimit,\n } = useVoiceRecorder({\n onRecordingStarted: () => {\n setVoiceInputState(VoiceMessageInputStatus.RECORDING);\n },\n onRecordingEnded: (audioFile) => {\n setAudioFile(audioFile);\n },\n });\n const voicePlayer = useVoicePlayer({\n channelUrl: channel?.url,\n key: uuid,\n audioFile: audioFile,\n });\n const {\n play,\n pause,\n playbackTime,\n playingStatus,\n } = voicePlayer;\n const stopVoicePlayer = voicePlayer.stop;\n\n // disabled state: muted & frozen\n useEffect(() => {\n if (isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel)) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n }, [channel?.myRole, channel?.isFrozen, channel?.myMutedState]);\n\n // call onSubmitClick when submit button is clicked and recorded audio file is created\n useEffect(() => {\n if (isSubmitted && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmitted, audioFile, recordingTime]);\n // operate which control button should be displayed\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VOICE_PLAYER_STATUS.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [audioFile, recordingTime, playingStatus]);\n\n return (\n <div className=\"sendbird-voice-message-input-wrapper\">\n <VoiceMessageInput\n currentValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? playbackTime : recordingTime}\n maximumValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? recordingTime : recordingLimit}\n currentType={voiceInputState}\n onCancelClick={() => {\n onCancelClick();\n cancel();\n stopVoicePlayer();\n }}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\n pause();\n setSubmit(true);\n }\n }}\n onControlClick={(type) => {\n switch (type) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n stopVoicePlayer();\n start();\n break;\n }\n case VoiceMessageInputStatus.RECORDING: {\n if (recordingTime >= minRecordingTime && !isDisabled) {\n stop();\n } else if (isDisabled) {\n cancel();\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n cancel();\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n }\n break;\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n play();\n break;\n }\n case VoiceMessageInputStatus.PLAYING: {\n pause();\n break;\n }\n }\n }}\n />\n {\n showModal && (\n <Modal\n className=\"sendbird-voice-message-input-wrapper-alert\"\n titleText={isDisabledBecauseMuted(channel)\n ? stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED\n : stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN\n }\n hideFooter\n isCloseOnClickOutside\n onCancel={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n <div className=\"sendbird-voice-message-input-wrapper-alert__body\">\n <Button\n className=\"sendbird-voice-message-input-wrapper-alert__body__ok-button\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.BIG}\n onClick={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n {stringSet.BUTTON__OK}\n </Button>\n </div>\n </Modal>\n )\n }\n </div>\n );\n};\n\nexport default VoiceMessageInputWrapper;\n"],"names":["VoiceMessageInputWrapper","_ref","_config$voiceRecord","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","audioFile","setAudioFile","useState","voiceInputState","setVoiceInputState","VoiceMessageInputStatus","READY_TO_RECORD","isSubmitted","setSubmit","isDisabled","setDisabled","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VOICE_PLAYER_STATUS","PLAYING","READY_TO_PLAY","React","createElement","className","VoiceMessageInput","currentValue","VoiceRecorderStatus","COMPLETED","maximumValue","currentType","onControlClick","type","Modal","titleText","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","hideFooter","isCloseOnClickOutside","onCancel","Button","ButtonTypes","PRIMARY","size","ButtonSizes","BIG","onClick","BUTTON__OK"],"mappings":"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"}
|
package/VoicePlayer/context.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { A as ALL, V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-
|
|
3
|
-
import '../consts-
|
|
2
|
+
export { A as ALL, V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-f4374646.js';
|
|
3
|
+
import '../consts-e6fdc559.js';
|
|
4
4
|
import '../useSendbirdStateContext.js';
|
|
5
|
-
import '../_rollupPluginBabelHelpers-
|
|
5
|
+
import '../_rollupPluginBabelHelpers-1be219c2.js';
|
|
6
6
|
import '../withSendbird.js';
|
|
7
7
|
//# sourceMappingURL=context.js.map
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
|
-
import { u as useVoicePlayerContext, b as AudioUnitDefaultValue } from '../index-
|
|
3
|
-
import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-
|
|
2
|
+
import { u as useVoicePlayerContext, b as AudioUnitDefaultValue } from '../index-f4374646.js';
|
|
3
|
+
import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-e6fdc559.js';
|
|
4
4
|
import { useVoiceRecorderContext } from '../VoiceRecorder/context.js';
|
|
5
|
-
import '../_rollupPluginBabelHelpers-
|
|
5
|
+
import '../_rollupPluginBabelHelpers-1be219c2.js';
|
|
6
6
|
import '../useSendbirdStateContext.js';
|
|
7
7
|
import '../withSendbird.js';
|
|
8
|
-
import '../LocalizationContext-
|
|
9
|
-
import '../stringSet-
|
|
10
|
-
import '../index-
|
|
8
|
+
import '../LocalizationContext-25d6694d.js';
|
|
9
|
+
import '../stringSet-3649b375.js';
|
|
10
|
+
import '../index-a4552c13.js';
|
|
11
11
|
import '../ui/Modal.js';
|
|
12
12
|
import 'react-dom';
|
|
13
|
-
import '../index-
|
|
13
|
+
import '../index-5819e39d.js';
|
|
14
14
|
import '../ui/Button.js';
|
|
15
|
-
import '../index-
|
|
15
|
+
import '../index-d88e3ef9.js';
|
|
16
16
|
import 'prop-types';
|
|
17
17
|
import '../ui/Icon.js';
|
|
18
18
|
import '../ui/IconButton.js';
|
|
19
|
-
import '../MediaQueryContext-
|
|
19
|
+
import '../MediaQueryContext-94c9086a.js';
|
|
20
20
|
|
|
21
21
|
const generateGroupKey = function () {
|
|
22
22
|
let channelUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
package/VoiceRecorder/context.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import React__default, { useState, useEffect, useCallback, useContext, createContext } from 'react';
|
|
2
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
2
|
+
import { u as useLocalization } from '../LocalizationContext-25d6694d.js';
|
|
3
3
|
import Modal from '../ui/Modal.js';
|
|
4
|
-
import { B as BROWSER_SUPPORT_MIME_TYPE_LIST, h as VOICE_RECORDER_AUDIO_BITS, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from '../consts-
|
|
4
|
+
import { B as BROWSER_SUPPORT_MIME_TYPE_LIST, h as VOICE_RECORDER_AUDIO_BITS, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from '../consts-e6fdc559.js';
|
|
5
5
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
6
|
-
import '../stringSet-
|
|
7
|
-
import '../index-
|
|
6
|
+
import '../stringSet-3649b375.js';
|
|
7
|
+
import '../index-a4552c13.js';
|
|
8
8
|
import 'react-dom';
|
|
9
|
-
import '../index-
|
|
9
|
+
import '../index-5819e39d.js';
|
|
10
10
|
import '../ui/Button.js';
|
|
11
|
-
import '../index-
|
|
11
|
+
import '../index-d88e3ef9.js';
|
|
12
12
|
import 'prop-types';
|
|
13
13
|
import '../ui/Icon.js';
|
|
14
14
|
import '../ui/IconButton.js';
|
|
15
|
-
import '../_rollupPluginBabelHelpers-
|
|
16
|
-
import '../MediaQueryContext-
|
|
15
|
+
import '../_rollupPluginBabelHelpers-1be219c2.js';
|
|
16
|
+
import '../MediaQueryContext-94c9086a.js';
|
|
17
17
|
import '../withSendbird.js';
|
|
18
18
|
|
|
19
19
|
// Input props of VoiceRecorder
|
|
@@ -71,7 +71,7 @@ const VoiceRecorderProvider = props => {
|
|
|
71
71
|
const [webAudioUtils, setWebAudioUtils] = useState(null);
|
|
72
72
|
useEffect(() => {
|
|
73
73
|
if (isVoiceMessageEnabled && !webAudioUtils) {
|
|
74
|
-
import('../WebAudioUtils-
|
|
74
|
+
import('../WebAudioUtils-16540f03.js').then(data => {
|
|
75
75
|
setWebAudioUtils(data);
|
|
76
76
|
});
|
|
77
77
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import { useVoiceRecorderContext } from './context.js';
|
|
3
3
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
4
|
-
import '../LocalizationContext-
|
|
5
|
-
import '../stringSet-
|
|
6
|
-
import '../index-
|
|
4
|
+
import '../LocalizationContext-25d6694d.js';
|
|
5
|
+
import '../stringSet-3649b375.js';
|
|
6
|
+
import '../index-a4552c13.js';
|
|
7
7
|
import '../ui/Modal.js';
|
|
8
8
|
import 'react-dom';
|
|
9
|
-
import '../index-
|
|
9
|
+
import '../index-5819e39d.js';
|
|
10
10
|
import '../ui/Button.js';
|
|
11
|
-
import '../index-
|
|
11
|
+
import '../index-d88e3ef9.js';
|
|
12
12
|
import 'prop-types';
|
|
13
13
|
import '../ui/Icon.js';
|
|
14
14
|
import '../ui/IconButton.js';
|
|
15
|
-
import '../_rollupPluginBabelHelpers-
|
|
16
|
-
import '../MediaQueryContext-
|
|
17
|
-
import '../consts-
|
|
15
|
+
import '../_rollupPluginBabelHelpers-1be219c2.js';
|
|
16
|
+
import '../MediaQueryContext-94c9086a.js';
|
|
17
|
+
import '../consts-e6fdc559.js';
|
|
18
18
|
import '../withSendbird.js';
|
|
19
19
|
|
|
20
20
|
// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebAudioUtils-62e6d3a7.js","sources":["../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext();\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":";;AAAA;AAGA,SAASA,SAASA,CAACC,WAAwB,EAAa;EACtD,MAAMC,GAAG,GAAGC,yCAAS,CAACC,UAAU,CAAC,IAAIC,QAAQ,CAACJ,WAAW,CAAC,CAAC,CAAA;AAC3D,EAAA,MAAMK,QAAQ,GAAG,IAAIC,UAAU,CAACN,WAAW,EAAEC,GAAG,CAACM,UAAU,EAAEN,GAAG,CAACO,OAAO,GAAG,CAAC,CAAC,CAAA;AAC7E,EAAA,MAAMC,UAAU,GAAG,IAAIC,yCAAU,CAACT,GAAG,CAACU,QAAQ,EAAEV,GAAG,CAACW,UAAU,EAAE,GAAG,CAAC,CAAA;EACpE,MAAMC,UAAU,GAAG,IAAI,CAAA;EAEvB,MAAMC,WAAW,GAAIb,GAAG,CAACU,QAAQ,KAAK,CAAC,GAAIN,QAAQ,GAAG,IAAIC,UAAU,CAACL,GAAG,CAACO,OAAO,IAAI,CAAC,GAAGP,GAAG,CAACU,QAAQ,CAAC,CAAC,CAAA;EACtG,MAAMI,YAAY,GAAId,GAAG,CAACU,QAAQ,KAAK,CAAC,GAAI,IAAIL,UAAU,CAACL,GAAG,CAACO,OAAO,IAAI,CAAC,GAAGP,GAAG,CAACU,QAAQ,CAAC,CAAC,GAAGK,SAAS,CAAA;AAExG,EAAA,IAAIf,GAAG,CAACU,QAAQ,GAAG,CAAC,EAAE;AACpB,IAAA,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,WAAW,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MAC3CH,WAAW,CAACG,CAAC,CAAC,GAAGZ,QAAQ,CAACY,CAAC,GAAG,CAAC,CAAC,CAAA;MAChCF,YAAY,CAACE,CAAC,CAAC,GAAGZ,QAAQ,CAACY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AACvC,KAAA;AACF,GAAA;EAEA,MAAME,UAAU,GAAG,EAAE,CAAA;AACrB,EAAA,IAAIC,SAAS,GAAGN,WAAW,CAACI,MAAM,CAAA;AAClC,EAAA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAED,SAAS,IAAIP,UAAU,EAAEQ,CAAC,IAAIR,UAAU,EAAE;IACxD,MAAMS,IAAI,GAAGR,WAAW,CAACS,QAAQ,CAACF,CAAC,EAAEA,CAAC,GAAGR,UAAU,CAAC,CAAA;AACpD,IAAA,IAAIW,KAAK,CAAA;AACT,IAAA,IAAIT,YAAY,EAAE;MAChBS,KAAK,GAAGT,YAAY,CAACQ,QAAQ,CAACF,CAAC,EAAEA,CAAC,GAAGR,UAAU,CAAC,CAAA;AAClD,KAAA;IACA,MAAMY,MAAM,GAAGhB,UAAU,CAACiB,YAAY,CAACJ,IAAI,EAAEE,KAAK,CAAC,CAAA;IACnDL,UAAU,CAACQ,IAAI,CAAC,IAAIC,SAAS,CAACH,MAAM,CAAC,CAAC,CAAA;AACtCL,IAAAA,SAAS,IAAIP,UAAU,CAAA;AACzB,GAAA;AAEA,EAAA,MAAMgB,UAAU,GAAGpB,UAAU,CAACqB,KAAK,EAAE,CAAA;EACrCX,UAAU,CAACQ,IAAI,CAAC,IAAIC,SAAS,CAACC,UAAU,CAAC,CAAC,CAAA;AAC1C,EAAA,OAAOV,UAAU,CAAA;AACnB,CAAA;;AAEA;AACA,SAASY,eAAeA,CAACC,IAAU,EAAEC,QAAuC,EAAQ;AAClF;AACA;AACA,EAAA,MAAMC,QAAQ,GAAG,IAAIC,YAAY,EAAE,CAAA;AACnC,EAAA,MAAMC,UAAU,GAAG,IAAIC,UAAU,EAAE,CAAA;AACnCD,EAAAA,UAAU,CAACE,MAAM,GAAG,UAAUC,EAAE,EAAE;AAChC;IACAL,QAAQ,CAACM,eAAe,CAACD,EAAE,CAACE,MAAM,CAACC,MAAM,EAAkBC,MAAM,IAAK;AACpE;AACA,MAAA,MAAMC,WAAW,GAAG,CAACC,MAAM,CAACC,mBAAmB,CAAA;AAC/C,MAAA,MAAMC,eAAe,GAAG,IAAID,mBAAmB,CAAC,CAAC,EAAE,KAAK,GAAGH,MAAM,CAACK,QAAQ,EAAE,KAAK,CAAC,CAAA;AAElF,MAAA,MAAMC,WAAW,GAAGF,eAAe,CAACG,kBAAkB,EAAE,CAAA;MACxDD,WAAW,CAACN,MAAM,GAAGA,MAAM,CAAA;AAC3BM,MAAAA,WAAW,CAACE,OAAO,CAACJ,eAAe,CAACK,WAAW,CAAC,CAAA;AAEhD,MAAA,MAAMC,MAAM,GAAG,IAAIhB,UAAU,EAAE,CAAA;MAC/BgB,MAAM,CAACf,MAAM,GAAG,YAAY;QAC1B,MAAMgB,qBAAqB,GAAIC,GAAG,IAAW;UAC3C,MAAMC,cAAc,GAAGZ,WAAW,GAAGW,GAAG,CAACC,cAAc,GAAGD,GAAG,CAAA;UAC7D,MAAMZ,MAAM,GAAGc,WAAW,CAACD,cAAc,EAAEA,cAAc,CAACtC,MAAM,CAAC,CAAA;AACjE,UAAA,IAAIe,QAAQ,EAAE;YACZA,QAAQ,CAACU,MAAM,CAAC,CAAA;AAClB,WAAA;SACD,CAAA;AACD,QAAA,IAAIC,WAAW,EAAE;UACfG,eAAe,CAACW,UAAU,GAAGJ,qBAAqB,CAAA;UAClDP,eAAe,CAACY,cAAc,EAAE,CAAA;AAClC,SAAC,MAAM;AACLZ,UAAAA,eAAe,CACZY,cAAc,EAAE,CAChBC,IAAI,CAACN,qBAAqB,CAAA;AAC3B;WACCO,KAAK,CAAEC,GAAG,IAAKC,OAAO,CAACC,IAAI,CAACF,GAAG,CAAC,CAAC,CAAA;AACtC,SAAA;OACD,CAAA;AACDT,MAAAA,MAAM,CAACY,iBAAiB,CAACjC,IAAI,CAAC,CAAA;AAC9BiB,MAAAA,WAAW,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAA;AACtB,KAAC,CAAC,CAAA;GACH,CAAA;AACD9B,EAAAA,UAAU,CAAC6B,iBAAiB,CAACjC,IAAI,CAAC,CAAA;AACpC,CAAA;AAEA,SAASyB,WAAWA,CAACU,OAAO,EAAEC,GAAG,EAAE;AACjC,EAAA,MAAMC,SAAS,GAAGF,OAAO,CAACG,gBAAgB,CAAA;EAC1C,MAAMpD,MAAM,GAAGkD,GAAG,GAAGC,SAAS,GAAG,CAAC,GAAG,EAAE,CAAA;AACvC,EAAA,MAAM1B,MAAM,GAAG,IAAI4B,WAAW,CAACrD,MAAM,CAAC,CAAA;AACtC,EAAA,MAAMsD,IAAI,GAAG,IAAIpE,QAAQ,CAACuC,MAAM,CAAC,CAAA;EACjC,MAAMhC,QAAQ,GAAG,EAAE,CAAA;EACnB,IAAIU,CAAC,GAAG,CAAC,CAAA;AACT,EAAA,IAAIoD,MAAM,CAAA;EACV,IAAIC,MAAM,GAAG,CAAC,CAAA;EACd,IAAIC,GAAG,GAAG,CAAC,CAAA;;AAEX;AACAC,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC1D,MAAM,GAAG,CAAC,CAAC,CAAC;AACtB0D,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC,EAAE,CAAC,CAAC;AACdC,EAAAA,SAAS,CAAC,CAAC,CAAC,CAAC;EACbA,SAAS,CAACR,SAAS,CAAC,CAAA;AACpBO,EAAAA,SAAS,CAACT,OAAO,CAACvD,UAAU,CAAC,CAAA;EAC7BgE,SAAS,CAACT,OAAO,CAACvD,UAAU,GAAG,CAAC,GAAGyD,SAAS,CAAC,CAAC;AAC9CQ,EAAAA,SAAS,CAACR,SAAS,GAAG,CAAC,CAAC,CAAC;AACzBQ,EAAAA,SAAS,CAAC,EAAE,CAAC,CAAC;AACdD,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;EACtBA,SAAS,CAAC1D,MAAM,GAAGyD,GAAG,GAAG,CAAC,CAAC,CAAC;AAC5B;EACA,KAAKtD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8C,OAAO,CAACG,gBAAgB,EAAEjD,CAAC,EAAE,EAC3CV,QAAQ,CAACgB,IAAI,CAACwC,OAAO,CAACW,cAAc,CAACzD,CAAC,CAAC,CAAC,CAAA;EAE1C,OAAOsD,GAAG,GAAGzD,MAAM,EAAE;IACnB,KAAKG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgD,SAAS,EAAEhD,CAAC,EAAE,EAAE;AAC9B;MACAoD,MAAM,GAAGM,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEtE,QAAQ,CAACU,CAAC,CAAC,CAACqD,MAAM,CAAC,CAAC,CAAC,CAAC;AACxDD,MAAAA,MAAM,GAAG,CAAC,GAAG,GAAGA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,KAAK,GAAGA,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC;MAClED,IAAI,CAACU,QAAQ,CAACP,GAAG,EAAEF,MAAM,EAAE,IAAI,CAAC,CAAC;AACjCE,MAAAA,GAAG,IAAI,CAAC,CAAA;AACV,KAAA;IACAD,MAAM,EAAE,CAAC;AACX,GAAA;;AAEA,EAAA,OAAO/B,MAAM,CAAA;EAEb,SAASkC,SAASA,CAACM,IAAI,EAAE;IACvBX,IAAI,CAACK,SAAS,CAACF,GAAG,EAAEQ,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/BR,IAAAA,GAAG,IAAI,CAAC,CAAA;AACV,GAAA;EAEA,SAASC,SAASA,CAACO,IAAI,EAAE;IACvBX,IAAI,CAACI,SAAS,CAACD,GAAG,EAAEQ,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/BR,IAAAA,GAAG,IAAI,CAAC,CAAA;AACV,GAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"WebAudioUtils-16540f03.js","sources":["../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext();\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers-1be219c2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypes-
|
|
1
|
+
{"version":3,"file":"actionTypes-a8140d53.js","sources":["../src/lib/dux/user/actionTypes.ts"],"sourcesContent":["import { User } from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const USER_ACTIONS = {\n INIT_USER: 'INIT_USER',\n RESET_USER: 'RESET_USER',\n UPDATE_USER_INFO: 'UPDATE_USER_INFO',\n} as const;\n\ntype USER_PAYLOAD_TYPES = {\n [USER_ACTIONS.INIT_USER]: User,\n [USER_ACTIONS.RESET_USER]: null,\n [USER_ACTIONS.UPDATE_USER_INFO]: User,\n};\n\nexport type UserActionTypes = CreateAction<USER_PAYLOAD_TYPES>;\n"],"names":["USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":"AAGO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;AACpB;;;;"}
|
package/cjs/App.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var PropTypes = require('prop-types');
|
|
5
5
|
var SendbirdProvider = require('./SendbirdProvider.js');
|
|
6
|
-
var MediaQueryContext = require('./MediaQueryContext-
|
|
6
|
+
var MediaQueryContext = require('./MediaQueryContext-ebcb159a.js');
|
|
7
7
|
var ChannelList = require('./ChannelList.js');
|
|
8
8
|
var Channel = require('./Channel.js');
|
|
9
9
|
var ChannelSettings = require('./ChannelSettings.js');
|
|
@@ -11,35 +11,35 @@ var MessageSearch = require('./MessageSearch.js');
|
|
|
11
11
|
var Thread = require('./Thread.js');
|
|
12
12
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
13
13
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
14
|
-
var uuid = require('./uuid-
|
|
15
|
-
var VoicePlayer_context = require('./index-
|
|
16
|
-
var consts = require('./consts-
|
|
17
|
-
require('./_rollupPluginBabelHelpers-
|
|
14
|
+
var uuid = require('./uuid-97ce2508.js');
|
|
15
|
+
var VoicePlayer_context = require('./index-7d2d89a2.js');
|
|
16
|
+
var consts = require('./consts-aa056322.js');
|
|
17
|
+
require('./_rollupPluginBabelHelpers-53e83515.js');
|
|
18
18
|
require('./withSendbird.js');
|
|
19
19
|
require('css-vars-ponyfill');
|
|
20
|
-
require('./index.module-
|
|
21
|
-
require('./actionTypes-
|
|
20
|
+
require('./index.module-02ae6df9.js');
|
|
21
|
+
require('./actionTypes-b1275c7f.js');
|
|
22
22
|
require('@sendbird/chat');
|
|
23
23
|
require('@sendbird/chat/openChannel');
|
|
24
|
-
require('./index-
|
|
24
|
+
require('./index-32244c73.js');
|
|
25
25
|
require('./utils/message/getOutgoingMessageState.js');
|
|
26
26
|
require('@sendbird/uikit-tools');
|
|
27
27
|
require('./VoiceRecorder/context.js');
|
|
28
|
-
require('./LocalizationContext-
|
|
29
|
-
require('./stringSet-
|
|
30
|
-
require('./index-
|
|
28
|
+
require('./LocalizationContext-bd54275c.js');
|
|
29
|
+
require('./stringSet-d212a015.js');
|
|
30
|
+
require('./index-745c9ce1.js');
|
|
31
31
|
require('./ui/Modal.js');
|
|
32
32
|
require('react-dom');
|
|
33
|
-
require('./index-
|
|
33
|
+
require('./index-8ada6055.js');
|
|
34
34
|
require('./ui/Button.js');
|
|
35
|
-
require('./index-
|
|
35
|
+
require('./index-f6621210.js');
|
|
36
36
|
require('./ui/Icon.js');
|
|
37
37
|
require('./ui/IconButton.js');
|
|
38
|
-
require('./resolvedReplyType-
|
|
39
|
-
require('./ChannelListProvider-
|
|
40
|
-
require('./topics-
|
|
41
|
-
require('./utils-
|
|
42
|
-
require('./UserProfileContext-
|
|
38
|
+
require('./resolvedReplyType-da86056c.js');
|
|
39
|
+
require('./ChannelListProvider-1d4a8060.js');
|
|
40
|
+
require('./topics-77576a9c.js');
|
|
41
|
+
require('./utils-85ff9137.js');
|
|
42
|
+
require('./UserProfileContext-10e1ac24.js');
|
|
43
43
|
require('./ChannelList/components/ChannelListUI.js');
|
|
44
44
|
require('./ChannelList/components/ChannelListHeader.js');
|
|
45
45
|
require('./ui/Avatar.js');
|
|
@@ -47,7 +47,7 @@ require('./ui/ImageRenderer.js');
|
|
|
47
47
|
require('./ChannelList/components/AddChannel.js');
|
|
48
48
|
require('./CreateChannel.js');
|
|
49
49
|
require('./CreateChannel/components/CreateChannelUI.js');
|
|
50
|
-
require('./CreateChannelProvider-
|
|
50
|
+
require('./CreateChannelProvider-f7d36126.js');
|
|
51
51
|
require('./sendbirdSelectors.js');
|
|
52
52
|
require('./CreateChannel/components/InviteUsers.js');
|
|
53
53
|
require('./ui/UserListItem.js');
|
|
@@ -59,47 +59,47 @@ require('./ui/SortByRow.js');
|
|
|
59
59
|
require('./CreateChannel/components/SelectChannelType.js');
|
|
60
60
|
require('./ChannelList/components/ChannelPreview.js');
|
|
61
61
|
require('./ui/ChannelAvatar.js');
|
|
62
|
-
require('./utils-
|
|
62
|
+
require('./utils-d2648e7d.js');
|
|
63
63
|
require('./ui/Badge.js');
|
|
64
|
-
require('./index-
|
|
65
|
-
require('./index-
|
|
64
|
+
require('./index-9a94e768.js');
|
|
65
|
+
require('./index-a01673e9.js');
|
|
66
66
|
require('./ui/Loader.js');
|
|
67
|
-
require('./index-
|
|
68
|
-
require('./index-
|
|
67
|
+
require('./index-9feae73e.js');
|
|
68
|
+
require('./index-165d52b7.js');
|
|
69
69
|
require('./ui/MentionUserLabel.js');
|
|
70
|
-
require('./consts-
|
|
70
|
+
require('./consts-6bd1cfe3.js');
|
|
71
71
|
require('./ui/TextButton.js');
|
|
72
|
-
require('./color-
|
|
72
|
+
require('./color-e7fbb496.js');
|
|
73
73
|
require('./Channel/components/TypingIndicator.js');
|
|
74
|
-
require('./ChannelProvider-
|
|
75
|
-
require('./const-
|
|
76
|
-
require('./compareIds-
|
|
74
|
+
require('./ChannelProvider-2c7ec64b.js');
|
|
75
|
+
require('./const-b3585ae0.js');
|
|
76
|
+
require('./compareIds-03cd7437.js');
|
|
77
77
|
require('@sendbird/chat/message');
|
|
78
|
-
require('./useLongPress-
|
|
78
|
+
require('./useLongPress-50d2028a.js');
|
|
79
79
|
require('./ChannelList/components/ChannelPreviewAction.js');
|
|
80
80
|
require('./EditUserProfile.js');
|
|
81
|
-
require('./index-
|
|
81
|
+
require('./index-3e924a85.js');
|
|
82
82
|
require('./ui/Input.js');
|
|
83
|
-
require('./index-
|
|
83
|
+
require('./index-2f206bb6.js');
|
|
84
84
|
require('./Channel/components/ChannelUI.js');
|
|
85
85
|
require('./ui/ConnectionStatus.js');
|
|
86
86
|
require('./Channel/components/ChannelHeader.js');
|
|
87
|
-
require('./utils-
|
|
87
|
+
require('./utils-c2543c4d.js');
|
|
88
88
|
require('./Channel/components/MessageList.js');
|
|
89
89
|
require('./Channel/components/Message.js');
|
|
90
90
|
require('./Channel/components/SuggestedMentionList.js');
|
|
91
|
-
require('./const-
|
|
92
|
-
require('./ThreadProvider-
|
|
91
|
+
require('./const-8728e4b6.js');
|
|
92
|
+
require('./ThreadProvider-09392c06.js');
|
|
93
93
|
require('./Thread/context/types.js');
|
|
94
94
|
require('./ui/DateSeparator.js');
|
|
95
95
|
require('./ui/MessageInput.js');
|
|
96
96
|
require('dompurify');
|
|
97
|
-
require('./consts-
|
|
98
|
-
require('./consts-
|
|
99
|
-
require('./tokenize-
|
|
97
|
+
require('./consts-a0e35044.js');
|
|
98
|
+
require('./consts-a006bc78.js');
|
|
99
|
+
require('./tokenize-b019fb84.js');
|
|
100
100
|
require('./ui/MessageContent.js');
|
|
101
101
|
require('./ui/MessageItemMenu.js');
|
|
102
|
-
require('./types-
|
|
102
|
+
require('./types-36ee2d00.js');
|
|
103
103
|
require('./ui/MessageItemReactionMenu.js');
|
|
104
104
|
require('./ui/ReactionButton.js');
|
|
105
105
|
require('./ui/EmojiReactions.js');
|
|
@@ -110,7 +110,7 @@ require('./ui/TooltipWrapper.js');
|
|
|
110
110
|
require('./Message/context.js');
|
|
111
111
|
require('./ui/AdminMessage.js');
|
|
112
112
|
require('./ui/TextMessageItemBody.js');
|
|
113
|
-
require('./index-
|
|
113
|
+
require('./index-d0b4f3c0.js');
|
|
114
114
|
require('./ui/MentionLabel.js');
|
|
115
115
|
require('./ui/LinkLabel.js');
|
|
116
116
|
require('./ui/FileMessageItemBody.js');
|
|
@@ -118,7 +118,7 @@ require('./ui/ThumbnailMessageItemBody.js');
|
|
|
118
118
|
require('./ui/OGMessageItemBody.js');
|
|
119
119
|
require('./ui/UnknownMessageItemBody.js');
|
|
120
120
|
require('./ui/QuoteMessage.js');
|
|
121
|
-
require('./index-
|
|
121
|
+
require('./index-4a2ec2ae.js');
|
|
122
122
|
require('./ui/ThreadReplies.js');
|
|
123
123
|
require('./ui/VoiceMessageItemBody.js');
|
|
124
124
|
require('./ui/ProgressBar.js');
|
|
@@ -126,15 +126,15 @@ require('./VoicePlayer/useVoicePlayer.js');
|
|
|
126
126
|
require('./ui/PlaybackTime.js');
|
|
127
127
|
require('./Channel/components/FileViewer.js');
|
|
128
128
|
require('./Channel/components/RemoveMessageModal.js');
|
|
129
|
-
require('./index-
|
|
130
|
-
require('./useDirtyGetMentions-
|
|
129
|
+
require('./index-7bd7f678.js');
|
|
130
|
+
require('./useDirtyGetMentions-792a65af.js');
|
|
131
131
|
require('./Channel/components/UnreadCount.js');
|
|
132
132
|
require('./Channel/components/FrozenNotification.js');
|
|
133
133
|
require('./Channel/components/MessageInput.js');
|
|
134
134
|
require('./ui/QuoteMessageInput.js');
|
|
135
|
-
require('./VoiceMessageInputWrapper-
|
|
135
|
+
require('./VoiceMessageInputWrapper-fee2ede6.js');
|
|
136
136
|
require('./VoiceRecorder/useVoiceRecorder.js');
|
|
137
|
-
require('./index-
|
|
137
|
+
require('./index-9f2a1c52.js');
|
|
138
138
|
require('./ChannelSettings/components/ChannelSettingsUI.js');
|
|
139
139
|
require('./ChannelSettings/context.js');
|
|
140
140
|
require('./ChannelSettings/components/ChannelProfile.js');
|
|
@@ -142,10 +142,10 @@ require('./ChannelSettings/components/EditDetailsModal.js');
|
|
|
142
142
|
require('./ChannelSettings/components/ModerationPanel.js');
|
|
143
143
|
require('./ui/Accordion.js');
|
|
144
144
|
require('./ui/AccordionGroup.js');
|
|
145
|
-
require('./context-
|
|
145
|
+
require('./context-ad45a982.js');
|
|
146
146
|
require('./ui/Toggle.js');
|
|
147
147
|
require('./ChannelSettings/components/UserListItem.js');
|
|
148
|
-
require('./MemberList-
|
|
148
|
+
require('./MemberList-2204c0b1.js');
|
|
149
149
|
require('./ChannelSettings/components/LeaveChannel.js');
|
|
150
150
|
require('./ChannelSettings/components/UserPanel.js');
|
|
151
151
|
require('./MessageSearch/components/MessageSearchUI.js');
|
|
@@ -154,7 +154,7 @@ require('./ui/MessageSearchItem.js');
|
|
|
154
154
|
require('./ui/MessageSearchFileItem.js');
|
|
155
155
|
require('./Thread/components/ThreadUI.js');
|
|
156
156
|
require('./Thread/components/ParentMessageInfo.js');
|
|
157
|
-
require('./RemoveMessageModal-
|
|
157
|
+
require('./RemoveMessageModal-822e0fac.js');
|
|
158
158
|
require('./Thread/components/ParentMessageInfoItem.js');
|
|
159
159
|
require('./ui/FileViewer.js');
|
|
160
160
|
require('./Thread/components/ThreadHeader.js');
|
|
@@ -498,17 +498,17 @@ const MobileLayout = props => {
|
|
|
498
498
|
};
|
|
499
499
|
|
|
500
500
|
const AppLayout = props => {
|
|
501
|
+
var _props$replyType, _props$isReactionEnab, _props$showSearchIcon;
|
|
501
502
|
const {
|
|
502
|
-
isReactionEnabled,
|
|
503
|
-
replyType,
|
|
504
503
|
isMessageGroupingEnabled,
|
|
505
504
|
allowProfileEdit,
|
|
506
|
-
showSearchIcon,
|
|
507
505
|
onProfileEditSuccess,
|
|
508
506
|
disableAutoSelect,
|
|
509
507
|
currentChannel,
|
|
510
508
|
setCurrentChannel
|
|
511
509
|
} = props;
|
|
510
|
+
const globalStore = useSendbirdStateContext();
|
|
511
|
+
const globalConfigs = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
|
|
512
512
|
const [showThread, setShowThread] = React.useState(false);
|
|
513
513
|
const [threadTargetMessage, setThreadTargetMessage] = React.useState(null);
|
|
514
514
|
const [showSettings, setShowSettings] = React.useState(false);
|
|
@@ -518,12 +518,20 @@ const AppLayout = props => {
|
|
|
518
518
|
const {
|
|
519
519
|
isMobile
|
|
520
520
|
} = MediaQueryContext.useMediaQueryContext();
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* Below configs can be set via Dashboard UIKit config setting but as a lower priority than App props.
|
|
524
|
+
* So need to be have fallback value \w global configs even though each prop values are undefined
|
|
525
|
+
*/
|
|
526
|
+
const replyType = (_props$replyType = props.replyType) !== null && _props$replyType !== void 0 ? _props$replyType : globalConfigs === null || globalConfigs === void 0 ? void 0 : globalConfigs.replyType;
|
|
527
|
+
const isReactionEnabled = (_props$isReactionEnab = props.isReactionEnabled) !== null && _props$isReactionEnab !== void 0 ? _props$isReactionEnab : globalConfigs === null || globalConfigs === void 0 ? void 0 : globalConfigs.isReactionEnabled;
|
|
528
|
+
const showSearchIcon = (_props$showSearchIcon = props.showSearchIcon) !== null && _props$showSearchIcon !== void 0 ? _props$showSearchIcon : globalConfigs === null || globalConfigs === void 0 ? void 0 : globalConfigs.showSearchIcon;
|
|
521
529
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isMobile ? /*#__PURE__*/React__default["default"].createElement(MobileLayout, {
|
|
522
530
|
replyType: replyType,
|
|
531
|
+
showSearchIcon: showSearchIcon,
|
|
532
|
+
isReactionEnabled: isReactionEnabled,
|
|
523
533
|
isMessageGroupingEnabled: isMessageGroupingEnabled,
|
|
524
534
|
allowProfileEdit: allowProfileEdit,
|
|
525
|
-
isReactionEnabled: isReactionEnabled,
|
|
526
|
-
showSearchIcon: showSearchIcon,
|
|
527
535
|
onProfileEditSuccess: onProfileEditSuccess,
|
|
528
536
|
currentChannel: currentChannel,
|
|
529
537
|
setCurrentChannel: setCurrentChannel,
|
|
@@ -534,11 +542,11 @@ const AppLayout = props => {
|
|
|
534
542
|
threadTargetMessage: threadTargetMessage,
|
|
535
543
|
setThreadTargetMessage: setThreadTargetMessage
|
|
536
544
|
}) : /*#__PURE__*/React__default["default"].createElement(DesktopLayout, {
|
|
537
|
-
isReactionEnabled: isReactionEnabled,
|
|
538
545
|
replyType: replyType,
|
|
546
|
+
isReactionEnabled: isReactionEnabled,
|
|
547
|
+
showSearchIcon: showSearchIcon,
|
|
539
548
|
isMessageGroupingEnabled: isMessageGroupingEnabled,
|
|
540
549
|
allowProfileEdit: allowProfileEdit,
|
|
541
|
-
showSearchIcon: showSearchIcon,
|
|
542
550
|
onProfileEditSuccess: onProfileEditSuccess,
|
|
543
551
|
disableAutoSelect: disableAutoSelect,
|
|
544
552
|
currentChannel: currentChannel,
|